完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gstreamer框架(少部分地方需要),框架主干部分主要使用原生C++ STL实现,目标是平台高可移植性.框架可用于:视频结构化.以图搜图.目标行为分析等应用领域. 源码地址:https://github.com/sherlockchou86/video_pipe_c 主要功能 视频接入,支持file/…
VideoPipe从国庆节上线源代码到现在经历过了一个月时间,期间吸引了若干小伙伴的参与,现将本阶段新增内容总结如下,有兴趣的朋友可以加微信拉群交流. 项目地址:https://github.com/sherlockchou86/video_pipe_c 以往文章:https://www.cnblogs.com/xiaozhi_5638/p/16767917.html 跟踪插件 新增了跟踪插件,同时实现了默认的SORT目标跟踪算法,后期扩展Deep SORT算法非常方便.下面是车辆跟踪的效果(底…
完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gstreamer框架(少部分地方需要),框架主干部分主要使用原生C++ STL实现,目标是平台高可移植性.框架可用于:视频结构化.以图搜图.目标行为分析等应用领域. 主要功能 视频接入,支持file/rtsp/udp/rtmp等主流视频流协议: 多级推理,自带检测/分类/特征提取等推理插件.默认使用op…
「视频结构化」是一种 AI 落地的工程化实现,目的是把 AI 模型推理流程能够一般化.它输入视频,输出结构化数据,将结果给到业务系统去形成某些行业的解决方案. 换个角度,如果你想用摄像头来实现某些智能化监控.预警等,那么「视频结构化」可能就是你要用到的技术方案. 不过,也不一定需要自己去实现,因为各个芯片厂商可能都提供了类似的流程框架: 寒武纪 CNStream NVIDIA DeepStream 以上个人没用过,简单看了下,都受限于只能用厂商自家的芯片.个人经验来说,一般硬件还是需要多家可选的…
视频结构化的定义 利用深度学习技术实时分析视频中有价值的内容,并输出结构化数据.相比数据库中每条结构化数据记录,视频.图片.音频等属于非结构化数据,计算机程序不能直接识别非结构化数据,因此需要先将这些数据转换成有结构格式,用于后续计算机程序分析.视频结构化最常见的流程为:目标检测.目标分类(属性识别).目标跟踪.目标行为分析.最后的目标行为分析严格来讲不属于视频结构化的范畴,可以算作前面每个环节结果的应用.由于现实生产过程中,一个完整的应用系统总会存在“目标行为分析”这个过程(否则光得到基础数据…
算法不是通用的,基于深度学习的应用系统不但做不到通用,即使对于同一类业务场景,还需要为每个场景做定制.特殊处理,这样才能有可能到达实用标准.这种局限性在计算机视觉领域的应用中表现得尤其突出,本文介绍基于深度学习的交通行业视频结构化类应用在实际使用场景中遇到的一些问题.计算机视觉处理的目标是图片,因此图片直接影响最终算法的效果,实际场景中碰到的问题基本都是由于各种原因导致视频图片发生变化最后影响系统的使用效果. 露天天气环境影响 由于天气变化.光照季节性变化等各种原因,视频画面经常出现干扰性噪声,…
视频结构化类应用涉及到的技术栈比较多,而且每种技术入门门槛都较高,比如视频接入存储.编解码.深度学习推理.rtmp流媒体等等.每个环节的水都非常深,单独拿出来可以写好几篇文章,如果没有个几年经验基本很难搞定.本篇文章简单介绍视频结构化类应用涉及到的技术栈,以及这类应用常见结构,因为是实时视频分析,因此这类应用基本都是管道(pipeline)设计模式.本篇文章算是科普入门介绍文章,不涉及详细技术细节,适合这方面的新手. 所谓视频结构化,就是利用深度学习技术对视频进行逐帧分析,解析出视频帧中感兴趣的…
你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面的那条线路称为线路1,下面的称为线路2. 思路1 先判断线路1的第一个节点的下级节点是否是线路2的第一个节点,如果不是,再判断是不是线路2的第二个,如果也不是,判断是不是第三个节点,一直到最后一个.如果第一轮没找到,再按以上思路处理线路一的第二个节点,第三个,第四个... 找到为止.时间复杂度n2,…
本文介绍我开发的一个JavaScript编写的插件化框架——MinimaJS,完全开源,源码下载地址:https://github.com/lorry2018/minimajs.该框架参考OSGi规范,将该规范定义的三大插件化功能在Node上实现了.MinimaJS三个功能:动态插件化,服务和扩展.该框架基于VSCode开发.使用ES6编码,基于Node 8开发,代码量几千行,非常的简单.优雅.轻量.框架的代码结构划分清晰,命名优雅. 我们先简单看一下,如何来使用这个框架. import { M…
AutoML 即通过自动化的机器学习实现人工智能模型的快速构建,它可以简化机器学习流程,方便更多人利用人工智能技术.近日,软件行业巨头 Salesforce 开源了其 AutoML 库 TransmogrifAI.Salesforce Einstein 数据科学高级总监 Shubha Nabar 在 Medium 上撰文介绍了该 AutoML 库,包括工作流程和设计原则等. GitHub 链接:https://github.com/salesforce/TransmogrifAI Transmo…