APP下载

基于图像处理算法的目标识别、定位与跟踪系统设计与实现

2020-10-09杨荣王明伟刘思铭

物联网技术 2020年9期
关键词:目标识别智能控制

杨荣 王明伟 刘思铭

摘 要:在智能控制的诸多应用领域中,如何对某一目标对象进行识别,提取其空间位置并实现目标跟踪,是智能设备、智能机器人等实现的关键技术之一。这里着眼于特定场景下图像采集、目标特征提取与识别、目标定位与跟踪等关键问题,基于嵌入式技术和机械装置,设计并实现了基于图像处理算法的目标识别、定位与跟踪系统。该系统实现了特定场景下对于多目标物体的识别与跟踪。同时,提出了一个能降低同色或同外形物体对识别精度干扰的RGB与log算子边缘提取协同滤波的图像处理算法,可以有效提高场景中存在其他与目标物同色不同形或同形不同色的干扰物的情况下的目标识别和定位精确度。

关键词:目标识别;目标定位与跟踪;图像处理算法;嵌入式技术;智能控制;定位精确度

中图分类号:TP391文献标识码:A文章编号:2095-1302(2020)09-00-05

0 引 言

随着新一轮科技革命与产业变革,当前各行各业均朝着高度智能化的方向不断发展。在智能控制的诸多应用领域中,如何对某一目标对象进行识别,提取其空间位置并实现目标跟踪,是智能设备、智能机器人等实现的关键技术之一。本文着眼于解决特定场景下图像采集、目标特征提取与识别、目标定位与跟踪等关键问题,提出了基于图像处理算法的目标识别、定位与跟踪系统设计与实现方法[1-2]。该系统来源于竞赛场景,并应用于竞赛培训课程及综合性实验项目教学。目的是提炼竞赛中需进行机器视觉识别的场景,利用基于图像处理算法的综合系统实现对学生的训练和能力提升。为了实现更好的实践训练效果,这里对教学应用场景进行了简化,以一个特定场景进行设计与实现。目标识别的特定场景设计为:放置在一定距离外的白板上有待识别的目标,白板上摆放红色、黄色、蓝色和绿色的4个磁扣作为待识别的目标,利用识别定位系统中的激光笔对单个磁扣/多个磁扣进行识别、定位与跟踪。

1 系统总体设计

系统基于如下思路进行设计:在一块白板上放置红色、黄色、蓝色和绿色的4个磁扣,用STM32开发板控制摄像头对其进行拍照并处理图像数据,提取不同颜色磁扣的RGB像素特征,并根据某一磁扣的特征对其进行识别与定位,最后根据定位信息控制载有激光笔的二维机械运动装置跟踪目标。系统中图像采集、处理及通过机械装置进行目标跟踪,均通过嵌入式技术实现[3]。

系统包括机械运动装置和图像采集处理与控制装置两个部分。机械结构为二维机械运动装置,水平方向的运动装置采用皮带式丝杠滑台作为横轴,用步进电机驱动皮带的主动轮使滑块跟随皮带运动;垂直方向以两根立杆作为纵轴,仍用步进电机拉动绕线,通过定滑轮使搭载激光笔的滑块运动。图像采集处理与控制装置包括基于ARM Cortex M3的STM32F103开板、图像传感器OV7670等。通过控制OV7670进行照片采集,而后对采集到的照片进行处理,计算出目标物位置和机械运动装置位置,进而实现运动控制与目标跟踪。系统的总体框架如圖1所示。

2 系统实现

2.1 机械结构实现

这里设计了二维机械运动装置作为机械结构,采用丝杠滑台、滑轮等搭建,并搭载激光笔用于标记出定位目标。

二维机械运动装置的具体结构如图2所示。

二维运动装置的主要3D模型如图3所示。图4所示为实际完成的二维运动装置实物。

2.2 图像采集处理与控制装置

图像采集处理与控制装置包括基于ARM Cortex M3的STM32F103开发板、图像传感器OV7670等。STM32F103基于内核ARM Cortex M3,最高72 MHz工作频率。开发板的FLASH容量512 KB,SRAM 64 KB,具有112个通用I/O口,8个定时器、2个DMA控制器、3个SPI、2个I2C、5个串口等丰富的资源。

图像传感器采用OV7670,体积小、工作电压低,可提供单片VGA摄像头和影像处理器的所有功能,并且自带FIFO芯片,相当于一个384 KB的存储器,可以用来暂时存储图像数据。它主要包括以下功能模块:640×480个有效像素的感光阵列、时序发生器、含自动增益和自动白平衡的模拟信号处理模块、A/D转换模块、测图案发生器、DSP、缩放模块、数字视频接口、SCCB接口以及LED与闪光灯输出控制模块等。OV7670采集到的图像无需解码就能显示,符合系统实时性要求。

本项目采用摄像头输出320×240的输出格式。OV7670的图像数据输出是在像素时钟信号PLCK,帧同步信号VSYNC和HREF/HSYNC行同步信号的控制下完成。

系统中运动控制采用步进电机+驱动器控制的方式进行,步进电机选用42步进电机。电机驱动器连接STM32F103开发板I/O口,开发板的定时器输出PWM信号,即可实现步进电机的转速和转角的精确控制。

2.3 软件系统

软件系统由图像采集、图像存储、图像处理算法(自适应测距算法和色彩识别算法)、运动控制算法等部分组成。软件系统的总体结构如图5所示。

软件系统的工作流程包括:通过开发板使能摄像头实现拍照,将采集到的图像数进行BMP编码写入SD卡,再由开发板从SD读出并解码为RGB格式。通过对RGB数值特征的分析可区别出不同颜色的磁扣,进而进行识别和定位。

3 图像处理算法

系统及软件实现中关键是图像处理算法的程序实现[4-5]。本系统的算法预先利用MATLAB进行仿真,并最终在基于Keil5的开发平台下,采用C语言编程实现系统的主要算法和功能,进而实现自动目标定位、识别与跟踪。

为了实现自动目标识别与跟踪,必须先对目标进行识别,并获取目标的位置,再驱动二维运动装置进行目标定位与跟踪。关键部分包括根据不同目标的特征获取目标,并得到目标的位置。这里首先应用了自适应平面测距算法。

3.1 自适应平面测距算法

该测距算法是由传统单目测距算法[6]改进的,用于测算照片中一切垂直于相机拍摄方向的平面上的物体移动距离和实际移动距离的比例系数。具体算法如下:

(1)打开激光笔,驱动电机驱动二维运动装置,使得激光照射在一个比较好的位置(实验时大致使得激光能照在拍摄画面中央附近),照相机拍摄一张照片,计算出该激光点在画面中的位置(x0,y0)(单位:像素);测距功能示意图如图6所示。

(2)控制二维运动装置,使激光笔沿水平方向移动一定距离L(单位:cm),而后相机再次拍摄一张照片,计算出该激光点在画面中的位置(x1,y1);两次拍摄的照片比对如图7所示。

(3)计算激光点在相片上的移动距离:

Δl=|x0-x1|

(4)计算实际距离和相片中距离之间的比例系数:

σ=L/Δl

通过该算法获取了实际距离和相片中距离之间的比例系数,进而可以实现图像位置与实际物理位置的映射。

3.2 定位算法

该定位算法用于定位目标物体在照片中的位置,这里认为目标物一般含有某区别于外界环境的颜色成分。具体算法如下:

定义变量xsum,ysum,假定要定位的物体含有颜色C,假设颜色C的RGB范围为:

RL

GL

BL

Step1:令xsum=0,ysum=0,count=0;

Step2:从(0,0)开始,该时刻下,摄像头采集进入的相片中的一个像素,设该像素位置为(xi,yi);

Step3:通过RGB三色的掩码将该像素的16 bit值,计算出该像素的R,G和B值,判断是否属于颜色C,若是则令xsum+=xi,ysum+=yi,count++;

Step4:重复执行Step2,Step3,直到遍历完所有像素点;

Step5:若count==0,则返回-1,-1表示未找到;否则xsum/=count,ysum/=count,得到的(xsum,ysum)即为目标物在相机视角中的位置。

3.3 RGB测量

定位算法使用前,为了能够对不同颜色的磁扣进行识别,在采集图像并获取到图像RGB值后,需要预先对待识别的不同磁扣RGB值的特征进行测量与分析。计算各个磁扣的RGB值在所拍摄画面中的数值分布图,可以发现不同颜色磁扣的RGB各分量均有一定范围,且R,G,B的范围综合后互不交叠,能够区分出不同颜色的磁扣,故据此建立了不同颜色磁扣的RGB范围表,见表1所列。

根据上述RGB范围测量结果和定位算法,可在图像中识别出各个颜色磁扣,并确定其位置,利用Matlab进行仿真的结果如图8所示。系统实测进行目标识别、定位与跟踪的效果如图9所示。

改变自定义库中的目标RGB范围,即可追踪其他颜色属性的目标物,但是在采集图像时,RGB值的大小受环境光影响会有变化,因此系统实现时选择RGB阀值时需留有余量。

这里实现了对场景中的目标磁扣进行识别的基本功能。但在实际测试中发现利用该定位算法进行目标识别和定位时,存在抗干扰较差的问题。即当背景中存在与待识别目标物相近颜色的干扰物时,定位会不准确。在如图10所示的测试场景中,由于左侧干扰物的存在,要定位蓝色磁扣时,实测结果向左侧偏离目标。这是由于采用原始的定位算法时,仅通过RGB值来确定待测目标物体所在位置。

3.4 改进算法

为了解决上述问题,提高目标定位的精准度,系统实现时对上述算法进行了改进。改进后的图像处理算法可以概括为:先对采集到的图像进行RGB滤波处理,接着使用边缘检测算法,对图像内容进行边缘检测,生成轮廓图,再通过特征提取矩阵进行卷积,找到对应特征最明显的点,即为目标物。

改进算法简述:

(1)对采集到的图像首先进行RGB滤波处理。

(2)边缘检测算法。

使用边缘检测算法对采集到的图像进行处理,这里首先需考虑选择一个合适的检测算子。取了5种常用的边缘检测算子,即canny算子[7]、prewitt算子[8]、sobel算子[9]、log算子[10]和roberts算子[11]进行测试并比对处理效果。图11(f)所示为采集到的图像,图像中存在4个待测目标,以下黑白色图11(a)~图11(e)为利用5种算子进行边缘检测的结果对比,黑色部分pixel为0,白色为1。

根据对比结果,这里选择log算子作为边缘检测算子。而后对原先存在干扰的场景即图10所示情形进行边缘检测,检测后的结果如图12所示,这样可以很好地利用干扰物在外形上和目标物的区别对目标进行有效识别[12-13]。

(3)卷积特征矩阵

而后使用特征提取矩阵对图片做卷积,实现对目标物轮廓特征的提取[14]。这里根据识别场景,选取如下18×18的矩阵作为卷积乘子效果最佳,图13为该卷积乘子对应的灰度图。不同识别场景下,选用的卷积矩阵会有所不同。

(4)实测效果

仍然是图10所示的采集到的图像,将改进后的图像处理方法在系统进行应用与实现,即先进行RGB滤波,再利用log算子进行边缘检测,通过卷积特征矩阵,得到定位结果。将结果以地形图呈现[15],得到的结果如图14所示。可以看到,藍色磁扣已经明显区别于环境,可以认为干扰已经不再起作用。实际定位结果如图15所示。与原始的算法结果进行对比可以发现,改进后的算法在存在干扰的情况下显著提高了目标识别与定位的精确度。

4 结 语

本文利用ARM Cortex M3开发板和二维机械运动装置,基于图像处理算法设计并实现了目标识别、定位与跟踪系统。机械运动装置移动速度约为10 cm/s,误差为0.003 m/10 m。图像采集处理与控制装置通过控制OV7670进行照片采集,而后对采集到的照片利用图像处理算法进行了处理,并提出了改进的基于RGB筛选和log算子边缘提取协同滤波的抗干扰图像处理算法,以获得更高的目标识别与定位精度。系统实测目标定位速度可以达到3.17 s/m2可通过激光笔实现精确的目标定位与跟踪,可应用于竞赛等需要机器视觉实现目标跟踪的诸多场景。

此外,本文还提出了一个自适应平面测距算法,该算法能自适应地调整垂直于摄像机镜头但没有参照物的平面上的拍摄长度和实际长度的转换系数,误差E=2%。

参考文献

[1]刘韬,葛大伟.机器视觉及其应用技术[M]. 北京:机械工业出版社,2019.

[2] SONKA Milan,HLAVAC Vaclav,BOYLE Roger.图像处理、分析与机器视觉[M].北京:清华大学出版社,2016.

[3]钟建冬,苏建波.基于视觉预测的运动目标实时跟踪系统[J]. 机器人,2010,32(4):516-521.

[4]王恒欢.基于深度学习的图像识别算法研究[D].北京:北京邮电大学,2015.

[5]张华伟,孙劲光.基于颜色与形状图像检索的研究[J].计算机仿真,2009,26(11):207-210.

[6]庄严,王伟,王珂,等.移动机器人基于激光测距和单目视觉的室内同时定位和地图构建[J].自动化学报,2005,31(6):925-933.

[7] DING L,GOSHTASBY A. On the canny edge detector [J]. Pattern recognition,2001,34(3):721-725.

[8] DONG W,ZHOU S S. Color image recognition method based on the Prewitt operator [C]// International Conference on Computer Science & Software Engineering. Wuhan:IEEE,2008:170-173.

[9] KANOPOULOS N,VASANTHAVADA N,BAKER R L. Design of an image edge detection filter using the Sobel operator [J]. IEEE journal of solid-state circuits,2002,23(2):358-367.

[10] ULUPINAR F,MEDIONI G G. Refining edges detected by a LoG operator [J]. Computer vision graphics & image processing,1990,51(3):275-298.

[11] ALAM M S,IFTEKHARUDDIN K M,KARIM M A. Polarization‐encoded optical shadow casting:Edge detection using roberts operator [J]. Microwave & optical technology letters,2010,6(3):190-193.

[12]孙琰.基于小波变换的图像边缘检测技术[D].西安:西北工业大学,2004.

[13]张晴.基于视觉注意的显著物体检测实验设计[J]. 实验室研究与探索,2016,35(2):155-158.

[14]王吉豪,陈奎,王順,等. 基于机器视觉的位置感知与轨迹跟踪的研究[J].工业控制计算机,2018,31(12):56-57.

[15] WU J X,REHG J M. centrist:a visual descriptor for scene categorization [J]. IEEE transactions on pattern analysis and machine intelligence,2011,33(8):1489-1501.

猜你喜欢

目标识别智能控制
渡口水域安全监管技术研究
基于物联网的智能控制项目实践教学设计
应用型人才培养导向下智能控制教学改革探讨
移动机器人图像目标识别
浅谈开关式电梯IC卡系统及展望