图像识别机器学习模式识别达芬奇 dsp视频分析开发板 摄像机
在PC端通常使用Hog,haar-like,lbp等常用特征结合贝叶斯,决策树,adaboost或者svm等分类算法来做图像识别,视频分析.但算法需要移植到嵌入式DSP设备却非常困难.一方面是嵌入式设备的内存,CPU等各方面的资源都没有PC端的性能高,另一方面是嵌入式没有opencv,MATLAB等支持,移植起来困难,要达到实时就更困难了。
因此PC端的算法程序必须要经过汇编语言并行优化后才能达到理想的效果.这个移植过程需要开发人员对算法的每一行代码都十分清楚,而且必须熟悉DSP架构,经过反反复复的尝试才能够达到满意的效果,这个过程耗时长,并且容易出错.
本套件就是为了方便用户进行基于DSP架构的嵌入式图像识别,机器学习,模式识别而设计的.主要的软件模块如下图所示, 用户首先使用PC端的程序来验证算法.然后再在备端做验证及测试即可.设备端有两种测试模式,一种是读取视频,另外一种是sensor采集实时视频或图像.
设备端及PC端的程序除了涉及算法部分,绝大部分都是开放源代码,以方便用户进行修改及进一步的开发.
图中的RcDetecor是专门针对DSP的架构,设计出了一个识别检测的算子,这个算子适用于基于haar或者hog算法的移植.这个算法用线性汇编语言编写,并行度高,速度快,识别率高.不依赖TI的imglib,vlib等图像或者视频处理库.可以方便移植到DM6437,DM6446,DM6467,DM3730,DM8127,DM8168等平台.同时套件还包含了常用的背景差分,帧间差分,颜色检测等快速处理算法.
不同的应用需求后期的处理流程大为不同,为了方便不熟悉TI达芬奇的codec sever,dsp sever的用户提供了一个后期处理模块,用户只需用C语言填充后期的处理即可,例如跟踪,统计等.在该模块中用户可以直接调用TI的imglib,Iqmath,vlib等库来做边缘检测,角点检测,联通区域,运动估计,运动跟踪等后期算法处理.
硬件部分:包含了DM6467处理器,NAND flash,DDR2,网络,USB,RTC,SD卡,调试接口板,红外led灯板,IR-CUT,100万高清图像传感器等。
(二)PC端配套程序简介
(1) 实时模式
设备支持RTSP协议,可以实时观测设备端识别算法的检测的效果。
(2) 训练模式及测试模式
针对不同的应用,需要使用不同的样本来训练识别算法(分类器),以下用车辆检测的例子来说明训练模式的大概内容:
例如您需要对公路上的车辆进行检测,那么首先需要有某一时间段的监控视频,然后从视频里截取少量正样本,例如48幅车辆的图像作为正样本,如上图所示,操作完成后,程序会自动统计出样本的车辆平均的宽度,高度。
然后使用一些没有车辆的图像作为负样本,困难样本暂时没有(将检测错误的图像放入困难样本中训练,就可以排除错误的分类)。如上图所示。正样本,负样本,困难样本配置完成后即可进行训练。训练完成后会产生一个car-few的文件,然后用该文件进行测试,由于正样本太少,所以识别率会比较低,但是没有关系。因为测试模式下可以把检测出来的样本保存下来,以便做进一步的训练,勾选“采集样本”的选项,以自动采集更多的车辆的样本。如下图所示:
下图是测试模式下自动采集的样本,从图中可以看出程序已经自动采集了8410个汽车图像的样本。
接下来把采集到的样本作为正样本再训练一次,把产生的训练的结果文件用来测试其他时间段的视频,由于样本大幅度增加,所以检测率马上提高。由于车辆的大小,远近,角度,不相同,所以示意框有大有小,如下图所示:
以上程序是基于C#开发的,会给用户提供源代码,同时也会提供VC++训练及测试的demo程序,以便用于做验证及开发。其中VC端的DEMO程序配置好了OPENCV的环境,也是开源的代码,例如背景差分,阵间差分,视频录制,视频叠加等。以便用户做进一步的开发。因为我们的核心算法只是识别检测而已,例如用户可以使用上面的车辆检测的算法来做进一步的开发,以实现实现车流量统计,违章边线,逆行,违章停车等不同的应用。
由于PC端的算法与设备端的算法完全一致的,用户可以先在PC端调试好后期处理的算法,然后再移植到DSP中去,这样可以加快开发的速度,PC端的检测及训练算法只提供DLL库,不提供源代码。
更多演示视频:
http://pan.baidu.com/s/1eQvqbbO
我们可以根据用户的需求,接受软件、硬件及算法的定制开发及算法的移植
如有问题亦可联系QQ:3301157656
套件可以用来开发其他的应用,例如客流统计,行人检测,区域行人入侵等,如下所示:
(三)设备端简介
(1)硬件组成
硬件由核心板(5.3cmX5.5cm),sensor板,调试板,红外灯板等组成。具体包括以下的模块:
CPU:ARM+DSP双核处理器:DM6467
DDR2:256MB
NAND FLASH:128MB
SENSOR:100万720P
RTC,232串口,USB,100M以太网控制器,SD卡,红外LED灯板,IR-CUT座,电源等。
(2)设备端配套的软件资源
内核源代码,驱动全部开放源代码
DVSDK,基于live555的RTSP,IQmath,imglib,dsplib,vlib,tftp,nfs,精简的文件系统等。
(3)测试程序包含了实时测试程序,视频测试程序。主要包括sensor驱动(分辨率,帧率,isp配置等),图像采集,图像缩放,色彩空间转换,GPIO控制,视频编解码,视频录制,RTSP视频服务,图像预处理,图像识别检测等非常实用的模块。