- 1 -
中国科技论文在线
基于 DSP 图像处理的自动报靶系统设计
姚文超,杨军**
作者简介:姚文超(1987-),男,在读硕士研究生,主要研究方向为嵌入式系统与工业控制
通信联系人:杨军(1962-),男,博士,副教授,主要研究方向为测控系统与控制网络、数控系统与机器
人技术
(北京邮电大学 自动化学院,北京 100876)
5 摘要:本文提出了一种基于 DSP 的自动报靶系统的设计方法,主要阐述了系统的软硬件设
计方法。系统中使用图像颜色信息与灰度信息共同进行图像的二值化处理,通过数学形态学
运算进行细节处理,使用 canny 边缘提取算法得到靶环线等,来提高系统对不同质量图像的
处理能力,提高系统精度,使系统更加实用。
关键词:胸环靶;二值化; 形态学运算;边缘提取。 10
中图分类号:
DSP-Based Image Processing System Design Automatic
Target
Yao Wenchao, Yan Jun 15
(School of Automation, Beijing university of Post and Telecommunication, Beijing
100876,China)
Abstract: This article presents a design of the automatic target-reporting system which is based on
mainly expatiates on the system’s hardware and software design methods. This system use
color and gray information together to binary image, carried out mathematical morphology operation 20
for the details, and get the target circles by canny edge detection algorithm, etc. These methods can
improve the performance for different quality images, improve accuracy of the system and make the
system more practical.
Key words: chest target ; binarization; morphological operations; edge extraction
25
0 引言
在近 20 年来,虽然自动报靶系统[1]使用越来越多,但因为其成本并不低廉,所以并没
有得到普及。而基于图像处理技术的报靶系统,由于其具有成本优势而且简洁方便,近些年
越来越受到人们的重视。很多人对此进行了研究[2]- [4],但目前也还只处于研究阶段,尚有一
些问题未得到解决,比如室外多变的环境对系统造成的影响。一些基于该技术的自动报靶系30
统,普遍存在环境适应能力差的问题。多数设计方法主要应用于圆形靶,不适合使用胸环靶
进行射击训练的部队使用。而本系统旨在对现有的一些算法流程加以改进,以提出高精度,
高可靠性,高效率的算法,以使该系统可以广泛应用于部队训练。
1 系统硬件设计与实现 35
本系统是基于 TI 公司的 TMS320DM6437 为核心的系统[5]。系统主要包括:
256MB 外扩 DDR2 RAM;
16M FLASH;
一个 TVP5146 视频解码芯片;
一个视频 DAC 解码芯片; 40
- 2 -
中国科技论文在线
CAN 驱动芯片;
视频监控摄像头;
AV 接口显示器。 45
系统硬件结构图如图 1所示。
电路板结构图
TMS320DM6437 FLASHRAM
TVP5146视频
编码输入
监控摄像头
显
示
器
DAC
编码
输出
AV复合视频输入
AV复合视频输出
CAN
驱动
模块
CAN
总
线
图 1 系统硬件结构图
TMS320DM6437 处理器是达芬奇技术中首批仅基于 DSP 的产品,以低于以往的价位
提供了更高的处理性能。结合增强型 DSP 内核与最新视频处理子系统 (VPSS),DM6437 处50
理器能够提高视频性能,以 D1 解析度实现高达 的视频编码,而且与前代 DSP 数
字媒体处理器相比,成本降低了 50%。内部配有 CAN 模块,可以方便的将数据共享给其他
节点。
2 系统软件设计与实现
摄像头采集到的图像分辨率为 720*580,原始图像如图 2所示。 55
图 2 原始图像
系统开始时,DSP 控制解码器将从摄像头采集到的模拟图像转换为数字图像,并把图
像数据缓存在 RAM 内部,供后续 DSP 进行处理,计算出结果后,通过 CAN 总线发送给
其他节点。 60
- 3 -
中国科技论文在线
图像处理过程主要包括三大部分:构造模板图,获取弹点位置,计算环值。其中构造模
板图部分步骤最多,算法最为复杂,所消耗时间最多。
图像处理流程图如图 3所示。
图 3 系统流程图 65
构造模板图
在从摄像头采集到的胸环靶图像中,只有人形区域是射击有效区域,其他部分都是无效
区域。本系统设计中,只需要将有效区域与靶纸中其他部分区分开,在靶纸之外的区域则不
作考虑,不影响最后的计算结果。
在区分有效区域与无效区域的过程中,主要使用二值化,形态学运算等基本的图像处理70
方法,此过程会充分利用图像的颜色信息提高结果的准确度。
图像二值化
首先,根据图像灰度进行二值化。将图像转换到灰度空间后,采用全局阈值法。
通过对不同光线下的图像进行二值化,可以看出有些二值化图像效果并不理想,在一些
图像中白色会变成黑色,而有些图像中黑色变成白色,这些都可以通过调整阈值改善图像质75
量,但是还有一种情况如图 4所示,在同一张图像中有些期望变白的点变成黑色,而有些期
望变白的点却变成白色,在这种情况下不管如何调整阈值都不能满足要求。
图 4 灰度二值化图
上述情况主要是由于光照不均匀造成的,例如胸环靶纸不平整,外界光线不均匀,照射80
方向不理想等。
下面就通过颜色信息改善这种状况。胸环靶有效区域中绿色为主要颜色,所占面积最多,
- 4 -
中国科技论文在线
环线则为浅色,占面积较小,而且线条比较细。通过提取绿色的部分可以得到胸环靶的大致
形状。由摄像头采集到的图像数据色彩空间是 YcbCr,Y 为颜色的亮度(luma)成分、cb 和 cr
则为蓝色和红色的亮度度偏移量成份。YcrCb 到 RGB 空间的转换如下式所示。 85
*R Y cb (1)
* *G Y cb cr (2)
*B Y cr (3)
其中 R,G,B 分别表示转换后的 RGB 空间中红绿蓝的分量大小。根据上式就可以确定每
个像素的颜色。 90
通过实验观察可以看出,胸环靶纸中绿色反光的区域,虽然在灰度二值化时,可能会产
生错误,变为白色,但其色彩信息却非常明显,通过色彩信息很容易判断其为胸环靶绿色背
景部分。
实际计算中是直接根据 Ycbcr 空间数据进行颜色判断,并不需要转换到 RGB 空间,通
过测试将条件确定为 cb>120 且 cr<126 处灰度为 0,其他情况灰度都设为 255,效果比较好,95
由此可以得到如图 5所示的图像。
图 5 根据颜色提取后的图像
将图 4中黑色的部分及图 5中黑色的部分叠加,即可得到胸环靶的大致有效范围,如图
6所示。 100
图 6 叠加后的图像
以上步骤得到的是胸环靶有效区域的大致区域,其中部分靶环线并没有包括在内,下面
通过形态学运算可以将余下的靶环线区域添加进来。
因为靶环线为白色,通过形态学腐蚀操作可以将白色的细线去掉,使其变为黑色,然后105
通过膨胀操作恢复原来黑色区域的大小,主要是恢复胸环靶中的人形大小。此处使用的结构
元素大小为 5*5。
上面得到的图像靶纸有效区域设为黑色,无效区域为白色。但此时,数字部分及中间
10 环部分并未在有效区域内,需要通过下面的步骤将这两部分添加进来。
- 5 -
中国科技论文在线
得到靶心坐标 110
当摄像头捕获图像时,要求胸环靶能完整的出现在镜头中,并且图像占据的面积要尽量
大一些,这样做可以使图像所占的像素数尽可能的多,以提高报靶的精度,同时降低获取靶
心的难度。在满足这些条件的情况下,靶心出现的位置就会局限在有限范围内,如图 7中白
框所示范围。
115
图 7 靶心可能位置标示图
寻找白框内的白色像素,因其重心坐标位置与靶心的位置很接近,可以以此来获取靶心
的大概位置,然后再进行二次精确定位。具体步骤如下:
白框的大小设为 162*162 像素(此处大小可以根据图像大小自动调整),中心坐标点为
(360,330); 120
计算框内所有白色像素的 x,y 坐标值的和;
计算 x,y 平均值,此时坐标位置与靶心位置非常接近,由此确定靶心的大致位置;
然后将白框中心移动到此位置,计算框内白色像素的 x,y 轴坐标的和;
计算 x,y 平均值,此时得到坐标位置就是比较精确的靶心位置。
在得到靶心位置之后,根据图像的大小比例就可以将 10 环所在的区域及数字部分的灰125
度设为 0,最终效果图如图 8所示。由此,就可将有效区域与其他区域区分开。
图 8 分割后的图像
边缘提取
由于在光线较差的条件下,通过二值化得到的靶环线质量较差如图 4所示,不能正确的130
确定环数,所以本系统改用其他方法提取靶环线,通过试验发现采用边缘提取的方法对光线
的适应能力更强,其中 Canny 算法效果最好。此处为本系统与其他系统的不同之处。
其算法步骤为:
用高斯滤波器平滑图像;
用一阶偏导的有限差分来计算梯度的幅值和方向; 135
对梯度幅值应用非极大值抑制;
用双阈值算法检测和连接边缘。
- 6 -
中国科技论文在线
其中前三步,对不同的图像,其计算方法,参数都不需要进行调整,而第四步,则需要
动态确定两个阈值,这两个阈值直接关系到边缘提取的效果,其中高阈值确定图像的主要边
缘信息,低阈值则确定图像的边缘细节。若阈值太低,则会使边缘信息过多,若阈值太高,140
则边缘信息太少。所以每次提取边缘时需要动态调整阈值[6]。
当图像整体灰度比较大时,阈值应随之变大,当图像灰度小时,阈值也应变小。
经过边缘提取后的图像如图 9所示。
图 9 经过边缘提取后的图像 145
去除数字
胸环靶中的数字会影响后面环数的计算,所以需要去除数字,使有效区域内只有靶环线。
去除数字的算法与 canny 算法的第四步原理是一样的。具体步骤如下:
首先拷贝边缘提取后的图像数据,然后将原图中数字所在的长方形区域内数据都清 0,
如图 10所示; 150
然后在原边缘图像中长方形区域下面的一行数据开始寻找灰度值为 255 的点;
找到点后,在对应的拷贝边缘图像中向上方,左方,右方寻找灰度值为 255 的点;
将寻找到的所有的点,依次添加到原边缘图像中;
重复 2-4 步,每次将第 2 步中开始寻找的点的纵坐标上移一个像素点,直至上移至抹掉
的长方形上端。最终将环线补充到原边缘图像中,而数字部分则被忽略掉,如图 11所示。 155
图 10 去掉数字条形区域后的图像
图 11 去掉数字后的图像
- 7 -
中国科技论文在线
合成模板图 160
将二值化图像(图 8)中白色部分置为灰色,然后将边缘提取得到的图像(图 11)进
行膨胀操作以合并同一环上的两条线,并连接部分未能连接的环线,保证环线完整,再将其
中白色部分映射到图 8中,即得到了计算弹孔环数所需要的模板图,为了便于观察,将靶心
位置用灰色十字标注在图中,如图 12所示。
165
图 12 最终的模板图
提取弹孔
本系统摄像头捕获的图像像素分辨率为 720*580,子弹直径通常会等于或大于 5mm,胸
环靶纸大小为 500mm*500mm。如果弹孔与子弹大小相同时,则靶纸上留下的弹孔像素至少
为 5*5 个。 170
本系统采用差影法计算子弹位置。具体方法为:对射击前后的图像作减法,得到灰度差,
子弹所在的位置灰度差比较大,而且面积至少为 5mm*5mm 大小,依此来确定弹孔位置。
但是由于噪声的存在及图像的振动等多种影响,会在差影图上得到很多干扰点,影响对
真实弹点位置的判断。
通过对图像进行高斯滤波,及对多张射击前后的图像分别求平均值,再相减,可明显降175
低外界的干扰,得到比较好的差影图。
此时仍有很多干扰点,但其灰度值比较小,而弹孔所在位置由于前后亮度相差较大,所
以可以设置阈值将灰度值较小的点去掉,此时得到的图像如图 13所示。
这时干扰点已经非常少了,真实弹点所在的位置其白点面积最大,可依此进行判断,在
差影图中,采用模板匹配法寻找弹孔位置,采用 5*5 的正方形结构元素,依次寻找匹配程序180
最高的位置,此位置即为弹孔坐标位置。
图 13 处理后的差影图
计算环数
计算环数[7]需要四部分数据:靶心位置,弹孔位置,环线位置,有效区域。 185
其中环线位置与有效区域并不能仅仅根据模板图中的灰度值进行判断,还需要根据靶心
- 8 -
中国科技论文在线
与弹孔位置之间的连线所经过的像素灰度值进行判断。例如,若连线经过的点灰度既不是 0,
也不是 255,则说明脱靶;
本系统计算的环值,达到小数点后一位,即最小单位为 环。其整数部分是根据从弹
孔位置到靶心位置以直线相连中间所经过的靶环线的数量来计算的,比如若中间经过一条靶190
环线,则为 9 环,若没有靶环线,则为 10 环,小数部分则是根据,弹孔与朝靶心方向的像
素数与其所在位置的前后两条环线之间的像素数的比计算出来的。
3 实验结果
以上算法在 DSP 系统板上实际运行时,分两个时间段运行:一是构造模板图,用来得
到靶环线及有效区域,二是得到弹点的位置,并计算环值。第一部分耗时大约 400ms,此部195
分只在刚更换完靶纸后运行,第二部分耗时大约 200ms,此部分每次射击完都需要运行。其
具体运行时间依图像而定,从测试情况来看,不会超过上述时间。所以从实时性来说,是符
合要求的,从效果上来说,虽然有些模板图上会有些错误点,但对最后的结果影响甚小,正
确率可以达到 95%以上。
4 结论 200
系统中所采用的硬件是基于 TI 公司的 TMS320DM6437 芯片的系统板,该芯片是专门
面向图像处理领域设计的硬件,性价比非常高,而且占用体积小。系统中所使用的图像算法
对不同光线条件下的图像都有很好的适应性能,能大大提高光线不均匀时的识别率,增加系
统的实用性,为基于图像处理的自动报靶系统提供一种新的处理方法。该系统不仅成本低廉,
针对性强,且支持 CAN 通信,易于扩展。 205
[参考文献] (References)
[1] 张军, 颜树华, 徐琰. 自动报靶系统的研究进展[J]. 激光与红外, 2006, 36(12):1152-1154.
[2] 张晓锟, 林嘉宇. 一种基于图像处理技术的自动报靶系统设计[J]. 微处理机, 2010, 31(3):101-104.
210
[3] Ye C, Mi H. The Technology of Image Processing Used in Automatic Target-Scoring System[C]. //2011
Fourth International Joint Conference on Computational Sciences and Optimization. Kunming, Lijiang, Yunnan,
Computer Society, 2011:349-352.
[4] Ali, F. Computer Vision based Automatic Scoring of shooting targets[C]. // 12th IEEE International Multitopic 215
Conference, IEEE INMIC 2008. IEEE International, 2008:515 - 519.
[5] 梁瑞宇,张学武. 基于 FPGA 和 DSP 的自动报靶系统[J]. 计算机工程与应用, 2008, 44(34):75-76.
[6] 李牧 , 闫继红 , 李戈 , 等 . 自适应 Canny 算子边缘检测技术 [J]. 哈尔滨工程大学学报 , 2007,
28(9):1002-1007.
[7] 张伟 , 高航 . 基于图像处理技术的自动报靶系统设计和实现 [J]. 南京航空航天大学学报 , 2000, 220
32(6):691-694.