视频结构化类应用涉及到的技术栈比较多,而且每种技术入门门槛都较高,比如视频接入存储.编解码.深度学习推理.rtmp流媒体等等.每个环节的水都非常深,单独拿出来可以写好几篇文章,如果没有个几年经验基本很难搞定.本篇文章简单介绍视频结构化类应用涉及到的技术栈,以及这类应用常见结构,因为是实时视频分析,因此这类应用基本都是管道(pipeline)设计模式.本篇文章算是科普入门介绍文章,不涉及详细技术细节,适合这方面的新手. 所谓视频结构化,就是利用深度学习技术对视频进行逐帧分析,解析出视频帧中感兴趣的…
视频结构化的定义 利用深度学习技术实时分析视频中有价值的内容,并输出结构化数据.相比数据库中每条结构化数据记录,视频.图片.音频等属于非结构化数据,计算机程序不能直接识别非结构化数据,因此需要先将这些数据转换成有结构格式,用于后续计算机程序分析.视频结构化最常见的流程为:目标检测.目标分类(属性识别).目标跟踪.目标行为分析.最后的目标行为分析严格来讲不属于视频结构化的范畴,可以算作前面每个环节结果的应用.由于现实生产过程中,一个完整的应用系统总会存在“目标行为分析”这个过程(否则光得到基础数据…
算法不是通用的,基于深度学习的应用系统不但做不到通用,即使对于同一类业务场景,还需要为每个场景做定制.特殊处理,这样才能有可能到达实用标准.这种局限性在计算机视觉领域的应用中表现得尤其突出,本文介绍基于深度学习的交通行业视频结构化类应用在实际使用场景中遇到的一些问题.计算机视觉处理的目标是图片,因此图片直接影响最终算法的效果,实际场景中碰到的问题基本都是由于各种原因导致视频图片发生变化最后影响系统的使用效果. 露天天气环境影响 由于天气变化.光照季节性变化等各种原因,视频画面经常出现干扰性噪声,…
这篇文章的标题比较奇怪,网上可能很少类似专门介绍神经网络的输入输出相关文章.在我实际工作和学习过程中,发现很有必要对神经网络的输入和输出做一个比较全面地介绍.跟之前博客一样,本篇文章不会出现相关代码或者公式之类的,还是希望用更直观的图文来说明问题,读者不太可能通过阅读文章来获取代码或者解决方案从而直接应用到实际项目中.由于我主要做CV相关,对卷积神经网络了解比较多,本篇文章的神经网络指的是卷积神经网络CNN. 对于监督学习来讲(本篇文章只针对监督学习),解决的主要问题就是X->Y的映射问题,也就…
「视频结构化」是一种 AI 落地的工程化实现,目的是把 AI 模型推理流程能够一般化.它输入视频,输出结构化数据,将结果给到业务系统去形成某些行业的解决方案. 换个角度,如果你想用摄像头来实现某些智能化监控.预警等,那么「视频结构化」可能就是你要用到的技术方案. 不过,也不一定需要自己去实现,因为各个芯片厂商可能都提供了类似的流程框架: 寒武纪 CNStream NVIDIA DeepStream 以上个人没用过,简单看了下,都受限于只能用厂商自家的芯片.个人经验来说,一般硬件还是需要多家可选的…
一.进行误差分析 很多时候我们发现训练出来的模型有误差后,就会一股脑的想着法子去减少误差.想法固然好,但是有点headlong~ 这节视频中吴大大介绍了一个比较科学的方法,具体的看下面的例子 还是以猫分类器为例,假设我们的模型表现的还不错,但是依旧存在误差,预测后错误标记的数据中有一部分狗图片被错误的标记成了猫.这个时候按照一般的思路可能是想通过训练出狗分类器模型来提高猫分类器,或者其他的办法,反正就是要让分类器更好地区分狗和猫. 但是现在的问题是,假如错误分类的100个样本中,只有5个狗样本被…
完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gstreamer框架(少部分地方需要),框架主干部分主要使用原生C++ STL实现,目标是平台高可移植性.框架可用于:视频结构化.以图搜图.目标行为分析等应用领域. 主要功能 视频接入,支持file/rtsp/udp/rtmp等主流视频流协议: 多级推理,自带检测/分类/特征提取等推理插件.默认使用op…
完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gstreamer框架(少部分地方需要),框架主干部分主要使用原生C++ STL实现,目标是平台高可移植性.框架可用于:视频结构化.以图搜图.目标行为分析等应用领域. 源码地址:https://github.com/sherlockchou86/video_pipe_c 主要功能 视频接入,支持file/…
大部分介绍神经网络的文章中概念性的东西太多,而且夹杂着很多数学公式,读起来让人头疼,尤其没什么基础的人完全get不到作者想要表达的思想.本篇文章尝试零公式(但有少量数学知识)说清楚什么是神经网络,并且举例来说明神经网络能干什么.另外一些文章喜欢举“根据历史交易数据预测房子价值”或者“根据历史数据来预测未来几天是否下雨”的例子来引入“机器学习/深度学习/神经网络/监督学习”的主题,并介绍他们的作用,这种例子的样本(输入X输出Y)都是数值,数字到数字的映射,简单易懂,但是现实应用中还有很多场景并非如…
一.为什么是ML策略 如上图示,假如我们在构建一个喵咪分类器,数据集就是上面几个图,训练之后准确率达到90%.虽然看起来挺高的,但是这显然并不具一般性,因为数据集太少了.那么此时可以想到的ML策略有哪些呢?总结如下: 收集更多的数据 收集更多不同的训练集 结合梯度下降训练算法更长时间 尝试Adam算法 尝试更大的网路 尝试小一点的网络 试着用一下dropout算法 加上\(L_2\)正则项 改善网络结构,如 激活函数 隐藏层节点数量 and so on 二.正交化 正交这个词很好理解,即各个变量…