Java教程

IT周见智(知乎专栏同步更新)

本文主要是介绍IT周见智(知乎专栏同步更新),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

coding make me calm 点击>知乎专栏
分享原创计算机视觉和深度学习相关文章
领域:算法工程落地/视频分析/目标检测/目标跟踪/行为分析/深度学习/计算机视觉/DeepStream/gstreamer/tensorRT/tensorflow/pytorch/C++/Python/GPU加速/CUDA/编解码流媒体/Java/.NET/Tesla 计算卡/Jetson 嵌入式/华为Atlas加速卡/华为Ascend 310 AI芯片/雷达PCD点云数据目标检测和跟踪/ROS框架开发/雷视融合

随笔 - 132  文章 - 0  评论 - 1356  阅读 - 78万

VP视频结构化框架

 

完成多路视频并行接入、解码、多级推理、结构化数据分析、上报、编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gstreamer框架(少部分地方需要),框架主干部分主要使用原生C++ STL实现,目标是平台高可移植性。框架可用于:视频结构化、以图搜图、目标行为分析等应用领域。

主要功能

  • 视频接入,支持file/rtsp/udp/rtmp等主流视频流协议;
  • 多级推理,自带检测/分类/特征提取等推理插件。默认使用opencv.dnn实现,可基于其他类似tensorrt、甚至原生的pytorch/tensorflow扩展新的推理插件;
  • 目标跟踪,自带基于iou的跟踪插件,可基于其他算法扩展新的跟踪插件;
  • 行为分析,自带若干行为分析插件,比如目标跨线、拥堵/目标聚集判断;
  • 图像叠加,结构化数据和视频融合显示;
  • 消息推送,自带基于kafka的消息推送插件,可基于其他消息中间件扩展新的插件;
  • 录像/截图,自带截图/录像插件;
  • 编码输出,支持file/screen/rtmp/rtsp等主流方式输出编码结果;

主要特点

  • 可视化调试,自带pipe可视化功能,可在界面实时显示pipe的运行状态,如pipe中各个环节的fps/缓存队列大小,以及计算pipe起/止插件之间的时间延时,帮助程序员快速定位性能瓶颈位置;
  • 插件与插件之间默认采用“smart pointer”传递数据,数据从头到尾,只需创建一次,不存在拷贝操作。当然,可根据需要设置“深拷贝”方式在插件之间传递数据;
  • pipe中各通道视频的fps、分辨率、编码方式、来源均可不同,并且可单独暂停某一通道;
  • pipe中可传递的数据只有两种,一种frame_meta数据、一种control_meta数据,结构清晰明了;
  • 插件组合方式自由,在满足客观逻辑的前提下,可合并、可拆分,根据需要设计不同的pipe结构。同时自带pipe结构检查功能,识别出不合规的pipe结构;
  • pipe支持各种hook,外部通过hook可以实时获取pipe的运行情况(第1点就是基于该特性实现);
  • 基于指定基类,所有自带插件全部可自定义重新实现;
  • 框架主干代码完全基于原生C++ STL实现,跨平台编译部署简单。

目前进度

  • 2022/7/22:已完成主干框架开发,预估占总体进度的1/3。等基本完成后开源,有兴趣的朋友可以关注。

 

下面第一张图显示pipe构建过程,第二张图自动显示pipe结构、并实时刷新pipe运行状态:

 

作者:周见智
出处:http://www.cnblogs.com/xiaozhi_5638/
首发公众号,扫描二维码关注公众号,分享原创计算机视觉/深度学习/算法落地相关文章

这篇关于IT周见智(知乎专栏同步更新)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!