高 峰,陈 雄,陈婉秋
(南京理工大学 机械工程学院,江苏 南京 210094)
基于树莓派B+微处理器的视频检测跟踪系统
高 峰,陈 雄,陈婉秋
(南京理工大学 机械工程学院,江苏 南京 210094)
针对目前视频检测跟踪系统大多是在PC机上实现的现状,设计了一种基于树莓派B+微处理器的嵌入式检测跟踪系统,实现了视频检测跟踪系统的便携式小型化。在图像处理算法上采用帧间差分方法进行目标检测,通过形心标记进行目标跟踪。本系统采用基于Linux操作系统的树莓派B+微处理器进行算法移植,通过远程桌面连接工具和小型液晶显示器进行视频显示。实验结果表明,该系统可以很好地实现视频检测跟踪的基本功能。
目标检测跟踪;树莓派B+微处理器;帧差法;形心标记;图像处理
视频检测跟踪技术是一门融合了图像处理、计算机视觉、模式识别、人工智能等学科的技术[1]。所谓视频跟踪,是指对视频图像序列中的特定目标进行检测、提取、识别和跟踪,获得目标的位置参数,或者目标整体所占的图像区域,亦或是目标的运动轨迹等[2-3],从而进行后续深入的处理与分析,以实现对特定目标的行为理解。目标检测跟踪技术在诸如安全与监控系统、交通控制系统、定位导航系统、虚拟现实等诸多方面均有广阔的应用,具有重要的军事、商业价值。
由于上位机可利用资源丰富,同时图像处理的大运算量需要较高配置的支持,现在大多数的视频检测跟踪系统是在PC机或工控机上实现。然而,PC机和工控机集成了更多与检测跟踪系统无关的功能,这样就使得系统成本增加[4],可移动性较差,同时造成资源浪费,针对于一些特定的场合,急需一些精简的嵌入式系统来实现小型化的需要。鉴于此,本系统使用基于Linux操作系统的树莓派B+微处理器作为控制核心,移植帧间差分和形心标记的目标检测跟踪的图像处理算法,通过远程桌面连接工具或小型液晶显示器进行视频显示,最后实现了低成本、便携式、小型化的视频检测跟踪系统。
本设计是基于树莓派B+微处理器的简易式视频检测跟踪系统,系统总体组成包括视频采集模块、图像处理算法实现模块、显示输出模块。其中图像处理算法实现模块包括图像预处理、目标检测、目标跟踪3个方面,显示输出模块包括远程视频显示和显示器输出。系统总体设计框图如图1所示。
图1 系统总体设计框图
1.1 系统硬件设计
本系统的硬件部分主要由视频采集模块、显示输出模块和树莓派B+微处理器及其周边外设配置组成。系统在基于树莓派B+微处理器和嵌入式Linux系统平台上,首先通过USB摄像头捕获视频图像,将图像信息传入到树莓派开发板内,通过图像处理算法程序来实现目标检测跟踪的功能,然后通过液晶显示器将处理结果进行视频输出或远程连接软件进行远程视频显示。系统硬件结构方框图如图2所示。
图2 系统硬件结构框图
本系统移植的是基于OpenCV视觉库的图像处理算法程序,在图像采集方面,直接可以调用视觉库中读取摄像头的函数,因此避免了编写比较繁琐的视频采集程序,同时在视频采集模块直接采用免驱的USB摄像头即可。树莓派B+(Raspberry Pi Model B+)微处理器作为嵌入式开发平台,是基于ARM11核的信用卡大小的微处理器,通过运行定制的Linux操作系统,实现了系统的精简化,在硬件配置方面,512 Mbyte RAM,700 MHz运行频率,支持OpenGL ES 2.0,OpenVG硬件加速,1 080p H.264高清解码,10/100以太网接口(RJ-45接口)可以实现网络连接,支持HDMI和AV输出,同时树莓派B+还具有40 Pin GPIO口可以实现对外接设备的自动控制。
1.2 系统算法设计及实现
1.2.1 运动目标检测
常用的运动目标检测方法有光流法、背景减除法、帧间差分法。帧间差分法是基于视频中连续帧间的相关性,对相邻两帧间的对应像素值做差分,背景像素被减掉,目标像素被保留[5],然后对结果做二值化处理,进而实现运动目标的检测,帧间差分法的基本框图如图3所示。这种方法原理简单,计算量较小,易于实现。该算法也有不足之处,缺点是两帧作差容易出现“双影”和“空洞”现象。在此问题的基础上,改进的帧间差分算法有很多,其中一个就是用相邻三帧差分来代替两帧差分。三帧差分就是利用两次相邻帧的差,进行与操作,得到更加真实的运动目标[6]。但是,三帧差分相比于两帧差分加入了与运算,其算法运行时间和复杂度要比两帧差分高。
图3 帧间差分法基本框图
由于本系统采用嵌入式微处理器,其性能要低于PC机或工控机,在满足系统基本功能实现的基础上,选择更加简单的两帧差分算法,可以使嵌入式系统实现对目标的快速检测,使系统的灵敏性更高。
其公式如下
(1)
(2)
式中:I(t)和I(t-1)分别为t和t-1帧对应像素点的像素值。Dt为两帧差分后的图像,T为设定的阈值,Rt为差分图像阈值化后的二值图像,即相邻帧中对应点的像素值作差大于设定阈值,则判定该像素点为目标像素点,否则判定为背景像素点。
1.2.2 运动目标跟踪
在运动过程中,目标的空间位置按照自身的运动规律不断变化,目标跟踪就是为了确定目标在视频序列图像中的位置轨迹[7]。本系统采取简单的形心标记方法来实现目标跟踪的功能。上一节中,帧差法将视频序列图像中的目标和背景分离,提取出只存在目标的二值图像,形心标记就是利用目标的外接矩形框将视场中的目标标记出来,利用矩形的中心近似作为目标形心来跟踪。
1.2.3 图像处理算法实现
在进行运动目标检测跟踪之前,需要对视频图像进行一些预处理操作,包括滤波处理、灰度转换以及帧差后的形态学处理等。本系统采用的图像处理算法具体步骤如图4所示。
图4 图像处理算法流程图
图像实质是光电信息,在图像信号的采集、传输和变换过程中不可避免地会产生噪声影响,噪声恶化了图像质量,因此在进行图像分析识别之前有必要对噪声图像进行滤波处理[8]。
由于彩色图像包含红(R)、绿(G)、蓝(B)3个通道,每个像素值需要3个字节数据来表示,这就增加了图像处理的复杂度,因此在图像处理过程中有必要将三通道的彩色图像转换成单通道的灰度图像来进行处理。通过以下公式可以实现彩色图像转换为灰度图像
Gray=0.30R+0.59G+0.11B
(3)
式中:R,G,B分别为彩色图像每个像素值的3个颜色分量,Gray为转换后的像素灰度值。
帧差法处理后,由于噪声的影响得到的二值图像通常会有一些孤立的点、小区域、孔洞和小间隙,这些都会对后续的目标检测跟踪产生影响。本文通过图像形态学的膨胀腐蚀处理,去除这些孤立的点、小区域,连接间隙、填充孔洞。通过形态学处理后,目标的轮廓更加清晰完整。
以上图像处理算法在上位机中基于VS2010+OpenCV实现。
图5中显示了一段视频序列的处理效果。图5a为视频序列中某一帧的原始图像,图5b为滤波后转灰度图像,图5c为该帧图像与相邻的前一帧图像作差后的效果图,图5d为形态学处理后的图像,图5e为通过形心标记后的目标跟踪图像,图像中实时显示目标在视窗中的形心坐标。
图5 图像处理算法实现
2.1 微处理器实现
微处理器实现的具体过程包括制作树莓派Linux系统、微处理器及其周边外设配置、在处理器中安装Linux平台下的OpenCV、程序移植、显示输出几个部分。树莓派系统制作及Linux平台下OpenCV视觉库的配置可以参考文献[9]和OpenCV官方教程,本文不再赘述。在程序移植部分,OpenCV程序具有良好的跨平台移植特性,因此可以将Windows平台下的算法程序移植到基于Linux系统的树莓派B+微处理器中。处理器及其周边外围设备配置如图6所示。
图6 处理器及其周边外设配置
免驱USB摄像头用来采集视频图像;5 V电源模块对处理器供电;外设鼠标、键盘对处理器进行直接控制;网络连接用来实现对处理器的远程控制及远程视频输出;AV接口连接显示器实现视频的实时输出。
为了使操作更加方便以及Linux平台和Windows平台交互性更强,本设计引入了终端仿真软件SecureCRT和远程桌面连接工具(mstsc.exe)实现了树莓派和上位机的无线互通。上位机通过SecureCRT实现对处理器的远程控制界面如图7所示。
图7 SecureCRT终端界面(截图)
2.2 系统性能测试
系统性能的测试是对一个简单环境下运动小球的实时检测跟踪。程序设置视频采集分辨率为640×480,显示器输出及远程输出效果如图8、图9所示。在远程视频连接之前需要在树莓派系统Raspbian下安装一个支持Linux系统远程桌面连接的服务xdrp: sudo apt-get install xrdp。
图8 液晶显示器输出
图9 远程视频显示(截图)
实验结果表明,显示器输出中视频比较流畅,目标跟踪效果比较好,完全满足了设计要求。在远程输出中,较之显示器输出视频有少许卡顿现象,但也基本达到了设计的要求,在后续的研究工作中,有待进一步优化视频的无线传输模块。
本文设计了一种基于树莓B+微处理器的嵌入式视频检测跟踪系统。在图像处理算法上采用帧间差分方法进行目标检测,形心标记进行目标跟踪,同时在上位机中利用 VS2010+OpenCV验证了算法的可行性。在微处理器系统实现方面,将图像处理算法移植到树莓派B+中,通过液晶显示器和远程桌面连接工具进行视频显示。实验结果表明本系统具有良好的稳定性,满足了低成本、便携式、小型化的实际要求,实现了视频检测跟踪的基本功能。
[1] NAEEM H,AHMAD J,TAYYAB M. Real-time object detection and
tracking[C]//Proc. IEEE International Multi Topic Conference (INMIC 2013), Lahore, Pakistan:IEEE Presss,2013:148-153.
[2] HU Hongyu,QU Zhaowei,LI Zhihui. Robust detection and tracking algorithm of multiple objects in complex scenes[J].Applied Mathematics & Information Sciences,2014,8(5):2485-2490.
[3] 李文书,赵悦. 数字图像处理算法及应用[M].北京:北京大学出版社,2012.
[4] 刘海涛,谭克俊,孙白. 基于ARM9 S3C2410微处理器的视频跟踪与云台控制系统的实现[J].自动化信息,2007,75(7):36-37.
[5] TREPTOW A,ZELL A. Real-time object tracking for soccer-robots without color information[J].Robotics and Autonomous Systems,2004,48(1):41-48.
[6] 孙涛,陈瑞平. 视频监控系统中一种运动目标的检测方法[J].电视技术,2012,36(7):127-129.
[7] 翁木云,谢宇昕. 一种改进的自适应质心跟踪算法[J].空军工程大学学报,2009,10(2):81-85.
[8] 杨振永,王延杰,王明佳. V4L2在TMS320DM8168高清视频监控系统中的实现[J].电视技术,2014,38(13):215-219.
[9] HORAN B. Raspberry Pi树莓派实作应用[M].北京:人民邮电出版社,2014.
责任编辑:任健男
Implementation of Video Detection and Tracking SystemBased on Raspberry Pi B+ Microprocessor
GAO Feng, CHEN Xiong, CHEN Wanqiu
(SchoolofMechanicalEngineering,NanjingUniversityofScienceandTechnology,Nanjing210094,China)
In view of the current status that video detection and tracking system is mostly realized in PC, in this paper, an embedded design of detection and tracking system based on Raspberry Pi B+ microprocessor is introduced, and the portable miniaturization of the system is realized. In the image processing algorithm, inter frame difference method is used for target detection and centroid labeling for target tracking. Algorithm transplantation is executed in the Raspberry Pi B+ microprocessor based on Linux operating system. Finally, a video output is conducted through the remote desktop connection tools and small liquid crystal displays. The experiment results prove that this system can well realize the basic functions of video detection and tracking.
target detection and tracking; raspberry Pi B+ microprocessor; frame difference; centroid labeling; image processing
南京理工大学自主科研专项计划资助项目(ZDJH02)
TN919.8;TP391.4
A
10.16280/j.videoe.2015.19.026
2015-01-28
【本文献信息】高峰,陈雄,陈婉秋.基于树莓派B+微处理器的视频检测跟踪系统[J].电视技术,2015,39(19).