秦晓燕,王晓芳,陈萍,储德军,王海涛
(陆军军官学院 指挥自动化与仿真系,安徽 合肥230031)
炮弹炸点检测可用于射击校射、毁伤效果评估和反火力打击中敌方火力位置估计等方面。目前炮弹炸点定位方法是操作手利用激光仪进行观测测量,该方法存在人为目视误差,且实时性较差。现代化战争的特点对炸点检测的准确性和实时性提出了较高要求,因此利用图像信息快速、精确地检测炮弹炸点具有重要意义。
基于图像的目标检测有单帧图像的目标检测和运动目标检测。其中对单帧图像的目标检测方法主要是统计识别方法,而匹配技术是统计识别方法中非常重要的一种,常用的匹配算法有基于模板匹配和基于特征内容的匹配算法。模板匹配算法的思想就是使用已知的模板去检测未知的目标,因此利用模板匹配算法检测目标,必须有先验知识[1]。运动目标检测算法主要有相邻帧差法、背景减法、光流法和块匹配法等。相邻帧差法[2]通过相邻的两帧做减法来得到运动目标的区域,算法简单快速,实时性好,对动态环境有较强自适应性,但总体来说该方法不能完全提取所有相关的特征像素点,分割出的目标不完整,在运动目标内部易产生空洞现象,不利于进一步的目标分析与识别。背景减法[3]利用当前帧图像与背景图像比较得出运动目标,在背景稳定的情况下,这种方法能够提供最完全的特征数据并能完整地检测出前景运动目标,但是背景减法对由于光照引起的动态场景变化非常敏感。以上两种方法主要用于摄像头静止情况下,在非稳平台连续帧图像背景跳动大的限制下无法应用。光流法[4]适合做精确分析,可获得目标的运动参数,适合做多目标的运动分析,可解决传统的基于特征的运动目标检测难以解决的遮挡、重叠等问题,缺点是运算量大,难以满足实时性要求,同时由于采用假设的局限性使得光流法对噪声、多光源特别敏感,再加上阴影、透明性等原因,易产生错误结果。块匹配法[5]计算简单、耗时少且硬件复杂度较低,对于实时运动处理来说是一种最为有效的方法,缺点是依赖于运动模型和匹配算法的选取,精度不高。光流法和块匹配法虽然可以使用在非稳平台条件下,但由于分别在计算量和检测精度方面的欠缺,因此也无法满足炸点类目标检测实时性、精确性的要求。
Adaboost 算法[6]是一种分类器算法,实用价值高,是目前研究的热点[7-8]。该算法已经成功运用在多种目标的检测中,如机动车辆、军事目标等,这类目标的特征值相对稳定,受外界环境的影响较小。而本文研究对象(炮弹炸点)的特征具有多样性和不确定性,炸点的特征会受战场环境的变化而变化,如爆炸区域土质、战场的天气、风力等都会对炸点的形状产生很大的影响,这也是基于Adaboost 算法进行炸点类目标检测的一个难题。
利用基于Adaboost 的实时人脸检测算法,并提取边缘、线性和对角三类基本的Haar 特征[9],对炸点类目标进行了训练和检测,结果发现检测效果不佳,尤其是误检率较高。针对以上问题,本文在以下2 个方面进行了改进:
1)在选取样本时,只选取炮弹爆炸一瞬间的几帧作为正样本,因为此时的炸点图像受战场环境的干扰较小,炸点图像基本呈现扇形发散状,其特征较为一致,另外爆炸瞬间的炸点图像能正确反映炸点位置。而在炮弹爆炸一段时间后,炸点图像会发生很大变化,如扩散或随风向漂移等,此时的炸点图像和炸点位置会有一定的偏差。图1为相同炮弹炸点爆炸瞬间的图像和爆炸一段时间后的图像,对两幅图的比较不难看出图1(b)图中的炸点图像已经相对炸点位置发生了偏移,不适合用作正样本。
图1 炸点图像和炸点位置Fig.1 Blast point image and location
2)针对炸点特征,增加了旋转类Haar 特征,特别是倾角为45°圆心环绕类Haar 特征,并给出该特征的计算方法。
经实验验证,该算法对背景较为简单的炸点类目标的检测率较高,达到了92.8%,同时减小了误检率。虽然由于增加了圆心环绕类特征,检测时间有所增加,但仍能满足炸点实时检测的要求。
本文采用的Adaboost 算法是经过文献[9-10]变形之后的算法,该算法由训练和检测两个模块组成,检测流程如图2所示。
图2 炸点检测算法流程图Fig.2 Flowchart of blast point detection algorithm
训练过程是对给定的一组正负样本,利用积分图的方法快速计算大量简单的Haar 特征,训练出这些特征各自的分类器,从中选择一些分类能力较强的特征,通过Cascade 级联算法将这些单独特征的分类器组合成一个更加复杂,分类能力更强的强分类器。算法的关键是当分类器正确分类时,减少样本的权值,当错误分类时,增加样本的权值,让学习算法能够在后面的学习中对比较困难的样本进行训练,得到一个检测率较高的强分类器。
检测过程是从待检测图像中提取被检测子窗口,利用训练得到的级联分类器对每个检测子窗口进行检测,画出图像中的目标位置和范围。目标检测一般采用2 种方法:1)金字塔法,将图像按比例逐层缩小而检测窗口大小保持不变,用检测窗口扫描整个图像,从而检测出目标子窗口,这种检测方法简单,但比较耗时;2)对特征进行放大的方法,即采用放大检测窗口的方法获得图像的待检测子窗口,没有对图像进行缩放,在检测时等比例放大检测窗口,用放大后的检测窗口扫描整个图像,将这些检测窗口输入分类器,检测出目标。
在Adaboos 算法[9-10]中,弱分类器与特征是一一对应的关系,选弱分类器的过程,其实就是选一个特征的过程。由于各种目标特征的差异性,因此在选取特征时,要充分考虑和分析研究对象的特征,为提高分类器的检测效率,针对炮弹炸点类目标的图像特征,除了选取了基本的类Haar 特征外还扩充了旋转Haar 特征。
Haar 特征是基于灰度图像的,有边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。利用Haar 特征检测像人脸这种有明显的、稳定结构的Haar 特征的物体最适用,因为只要结构相对固定,即使发生扭曲等非线性形变依然可检测。对大量炮弹炸点样本图像分析发现,炮弹炸点区域灰度均匀,且与背景之间有着明显的灰度差异,边缘较为清晰。可以利用平行、垂直和对角方向上不同区域灰度差异作为特征。本文选取了4 类基本的类Haar特征(图3(a))和4 类旋转类Haar 特征(图3(b))。
另外由于炮弹炸点在爆炸瞬间基本呈现扇形发散形状,因此本文扩充了旋转的中心环绕类Haar特征,如图4所示。为了方便计算该Haar 特征,选择旋转角度为45°,即黑色矩形的下方2 条直角边与x 方向的夹角分别成45°和135°.
图3 类Haar 特征Fig.3 Haar-like features
图4 炸点图像和扩展的特征Fig.4 Blast point image and expanded feature
每张待检测图像以及所有训练样本图像都可以计算对应的积分图,积分图主要思想是将图像从起点开始到各个点所形成区域像素之和作为一个数组的元素保存在内存中,当要计算某个区域的像素和时可以直接索引数组的元素,不用重新计算这个区域的像素和,从而加快了计算。针对炸点检测所选取的特征,需要计算两类积分图像:倾角为0°的积分图[9]和倾角为45°的积分图[11]。
对于给定的一个矩形窗口r(x1,y1,x2,y2),其矩形区域的像素之和为
倾角为45°的积分图Tsum(x,y)的定义,如图5所示,点(x,y)处的积分图是指该点正上方所有像素之和,即从点(x,y)开始,统计与x 方向成45°和135°的两条射线内的区域与原图像区域的交集中的所有像素之和。图5中点1、2、3、4 的坐标分别为:(x-1,y-1),(x,y-1),(x+1,y-1)和(x,y-2).在实际计算倾角为45°的积分图时可以使用增量方式完成。
式中:f(x,y)和f(x,y-1)分别表示点(x,y)和点(x,y-1)的像素值。
计算一个旋转角度为45°的矩形区域D(如图6所示)的像素和利用(4)式即可。
图5 倾角45°的积分图Fig.5 45°integral image
图6 区域D 像素和Fig.6 Pixel sum of area D
图7给出的扩展特征RF 的计算,RF 为图中白色区域Pw的像素和与黑色区域Pb的像素和之差,记矩形(x1,y1,x2,y2)的像素之和为P.因为Pw= PPb,所以有:
由于该类Haar 特征中包含两类矩形,即倾角为0°和倾角为45°的矩形,因此在计算该特征值时需要利用上面介绍的两类积分图。根据(2)式和(4)式可分别计算出P 和Pb:
将P 和Pb带入(5)式即可得到
在Windows XP 操作系统下,以Visual C + +6.0和OpenCV1.0 为开发工具实现了基于Adaboost 算法的炸点检测,在主频为2.8 GHz Pentium Dual-Core CPU,内存为1.87 GB 的台式机上调试通过,训练过程耗时约3 h.另在相同的实验环境下,提取实时人脸检测中的3 类Haar 特征对炸点样本进行训练,并分别利用训练得到2 个强分类器对真实的炮弹炸点图像进行检测。
炸点检测分为样本训练模块和检测模块2 部分[7-8]。在训练之前需要准备正负样本集,正样本是从采集到的炸点图像中获取,该系统中所用的正样本是24 ×24 的位图,如图8所示,负样本是指不包含炸点的图像,要求正负样本图像大小一致。为了提高检测系统的通用性,正样本来源于不同地域的实战演习中炮弹爆炸的视频序列。实验使用的训练集包括690 个正样本和500 个负样本进行训练,训练模块是在OpenCV 自带的训练器的基础上实现,分别训练了两个强分类器:一个是提取三类基本Haar 特征对样本进行训练得到的分类器;另一个是提取包含本文提出的旋转45°类Haar 特征在内的9类特征进行训练得到的分类器。设置训练阶段数为13,并在训练时给出检测率和误检率的要求,设置每个阶段分类器需要的最小的命中率为0.99,总的错误警告率0.4.按照这个设置得到的强分类器个数为13 个。本文使用的检测方法是对特征进行放大的方法,检测窗口基本大小为24 ×24,比例系数为1.2,步长设置为4.
图8 样本库中部分正样本Fig.8 Part of positive samples used for training
分别利用训练得到的两个炸点目标分类器对220 张分辨率为352 ×288 单发炮弹爆炸的图像进行了检测,并在检测的准确率、误检率及单帧检测时间方面进行了比较,如表1所示,其中单帧检测时间取220 副图像的平均检测时间。通过实验结果分析发现利用两个分类器正确检测到的目标个数相差不大,但文献[9]算法的误检率约为本文算法的4 倍,单帧检测时间上,本文算法比文献[9]的算法要稍长。
针对炸点目标在爆炸瞬间图像呈现扇形发散形状的特征,本文算法在三类基本的Haar 的基础上又扩充了旋转类Haar 特征,特别是倾角为45°圆心环绕类Haar 特征,经过训练得到的强分类器提高了炸点目标的检测效率。特征模板的扩充会增加检测时间,原因在于扫描每个子窗口时,需要计算的特征值增多,这也是本文算法比文献[9]算法检测时间要长的原因。不过每单帧40 ms 的检测时间足以满足炸点检测的实时性要求。实验表明:扩充旋转类Haar 特征后,基于Adaboost 炸点检测算法有更优越的检测性能。
本文给出的炮弹炸点类目标检测算法的检测率有明显提高,特别是检测背景较简单的炮弹炸点图像,如图9所示,效果较好。但实际采集的战场图片很多是比较复杂的,如有大量烟尘干扰,有些背景区域和炸点区域的特征比较接近等问题。对于这一类图像的检测误检率较高,检测效果很不理想。因此下一步研究的重点在于如何提高复杂背景下炸点目标的检测效率。
表1 两种算法的检测结果Tab.1 Detection results of two algorithms
图9 检测结果Fig.9 Detection results
References)
[1] 王海霞.基于不变矩的目标识别算法研究[D].长春:中国科学院长春光学精密机械与物理研究所,2004:11-15.WANG Hai-xia.Object recognition algorithm research based on invariant moments[D].Changchun:Changchun Institute of Optics and Fine Mechanics and Physics,Chinese Academy of Sciences,2004:11-15.(in Chinese)
[2] Lipton A J,Fujiyoshi H,Patil R S.Moving target classification and tracking from real-time video[C]∥Proc IEEE Workshop Applications of Computer Vision.Princeton,NJ:IEEE,1998:8-14.
[3] 成喜春,全燕鸣.基于HSI 模型的彩色图像背景减法[J].计算机应用,2009,29(增刊1):231-232.CHENG Xi-chun,QUAN Yan-ming.Color image background difference based on HSI model[J].Journal of Computer Applications,2009,29(S1):231-232.(in Chinese)
[4] Ohta N.Uncertainty models of the gradient constraint for optical flow computation[J].IEICE Transactions on Information and Systems(D),1996,E79-D(7):958-964.
[5] Zhu C,Qi W S,Ser W.Predictive fine granularity successive elimination for fast optimal block-matching motion estimation[J].IEEE Trans on Image Processing,2005,2(14):213-221.
[6] Freund Y,Schapire R E.A decision-theoretic generalization of on-line learning and an application to boosting[J].Journal of Computer and System Sciences,1997,55(1):119-139.
[7] Grabner H,Nguyen T T.On-line boosting-based car detection from aerial images[J].ISPRS Journal of Photogrammetry & Remote Sensing,2008,63(3):382-396.
[8] 李文波,王立研.一种基于Adaboost 算法的车辆检测方法[J].长春理工大学学报:自然科学版,2009,32(2):292-295.LI Wen-bo,WANG Li-yan.An approach of vehicle detection based on Adaboost algorithm[J].Journal of Changchun University of Science and Technology:Natural Science Edition,2009,32(2):292-295.(in Chinese)
[9] Viola P,Michael Jones.Robust real-time face detection[J].International Journal of Computer Vision,2004,57(2):37-154.[10] Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[C]∥IEEE Conference on Computer Vision and Pattern Recognition.Kauai,Hawaii:IEEE,2001:511-518 .
[11] Lienhart R,Maydt J.An extended set of haar-like features for rapid object detection[C]∥Proceedings of International Conference on Image Processing.New York:IEEE,2002:900-903.