基于多级特征的红外图像行人检测算法

2020-04-20 05:03谭南林李国正苏树强
计算机工程 2020年4期
关键词:行人红外显著性

张 驰,谭南林,李国正,苏树强

(北京交通大学 机械与电子控制工程学院,北京 100044)

0 概述

自然界中的物体都会向外辐射红外线,利用探测仪可以得到不同物体的红外图像。由于红外热成像技术不受照明条件影响且穿透能力强,其被广泛应用于安防监控[1]、自动驾驶[2]等领域,并且对红外图像行人检测算法的有效性和实时性提出了更高的要求。

近年来,红外图像行人检测成为研究的热点,但相较于可见光图像处理技术还有很大的提升空间。红外图像包含的特征与可见光图像不同,需要从红外特征层面来解决行人检测问题。国内外学者对红外图像行人检测算法进行了大量研究。文献[3]提出基于圆形最短路径的红外图像行人分割算法,通过显著性映射和灰度阈值法对包含行人的前景进行估计。文献[4]提出利用多维模板形式的中层属性,将局部转向核作为底层描述符来检测远红外线图像中的行人。文献[5]基于图像灰度值生成显著图,对得到的感兴趣区域(Region of Interest,ROI)提取局部强度差异直方图(Histogram of Local Intensity Differences,HLID)特征,并使用支持向量机(Support Vector Machine,SVM)分类器得到行人区域。文献[6]使用改良的脉冲耦合神经网络对红外图像中的行人进行分割,以有效抑制噪声。文献[7]提出一种基于框选分割的监督学习框架,结合可见光和红外2个通道对多光谱的行人进行检测。文献[8]基于HOG对红外图像进行检测,通过减去热激活区域实现算法加速。文献[9]对红外图像进行预处理,使噪声大幅降低,细节得到增强,并实现智能分析与自动报警的协同。文献[10]提出多特征级联的红外行人检测算法,在方向梯度直方图(Histogram of Oriented Gradient,HOG)之前加入了长宽比和头部Haar特征的初级分类器。文献[11]使用自动抠图算法对红外图像中的行人进行检测,其将自动选取的区域作为深度神经网络的输入。文献[12]使用卷积神经网络对红外图像中的行人进行分类。

现有显著性检测算法主要应用于普通的可见光图像,计算复杂度较高且没有充分利用红外图像的特点。针对上述问题,本文提出一种红外图像行人检测算法,基于改进的显著性算法和多级缩小ROI区域策略对红外图像中的行人进行检测。

1 红外图像行人特征

红外图像没有颜色通道特征和纹理特征,加上噪声的干扰,其信息量会有较大损失。在红外图像中,非行人的干扰源主要为图像中的噪声和其他热源。红外图像中温度较高的物体对应的像素灰度值高,相较于周围背景环境更加突出,由于行人图像亮度较大会产生明显的轮廓线,避免了色彩信息的干扰,因此显著性检测算法也更加适用。

红外图像中的信息主要包括目标行人、背景和噪声。对感兴趣区域(如行人位置)进行选择性增强同时淡化非感兴趣区域,即为显著性增强操作。显著性可以体现图像感兴趣区域的独特性和奇异性,使用显著性区域能够减少行人检测的计算复杂度。相较于利用传统滑动窗口法寻找ROI,显著性增强法不需要对图像中每个区域都进行复杂的计算,因此,其效率更高。

在红外图像中,亮度值高的像素点成为显著性区域的概率较高,并且行人区域的边缘较为复杂,需要使用不同尺度的滑窗检测不同尺度的行人。对于远距离的行人,可以使用深度学习算法进行判定,而对于近距离且尺寸较大的行人,则使用HOG结合SVM的算法进行检测。但是,在许多场景下采集到的红外图像的背景与可见光图像一样,是动态变化的,背景差算法并不适用。

2 红外图像行人检测算法

2.1 红外显著性检测算法

经典的显著性检测算法有谱残余(Spectral Residual,SR)算法、Itti算法、GBVS(Graph-Based Visual Saliency)算法和LC算法。SR算法将图像转换频域得到幅度谱,再利用对数谱进行滤波,两者相减得到残余谱,反变换后得到显著图[13]。Itti算法基于视觉模型提取颜色和亮度特征,通过中心周围算子和高斯金字塔进行差运算获得显著图[14]。GBVS算法是一种自底向上提取人眼感兴趣区域的算法,与Itti算法不同,GBVS算法采用马尔科夫链,利用其平稳分布来提取显著图[15]。LC算法将像素与图像中其他所有像素的距离之和进行归一化,从而得到显著值,并通过直方图来简化计算[16]。

上述算法都以可见光图像作为显著性处理的目标,而红外图像无颜色信息,可省去图像灰度化过程,且行人区域本身灰度值较高。本文使用改进的LC算法进行检测,求解图像显著性的过程如下:

(1)

其中,fn是图像像素的频数,D(p,n)是距离矩阵。

本文对LC算法进行改进,首先得到红外图像的灰度直方图,再使用分水岭算法将图像中较暗的区域置零,减少计算量和干扰因素,以降低其他特征计算的复杂度。在对显著性进行计算时,只针对高亮像素点,并加入修正值和HLID特征,使得显著性计算结果更适用于红外图像行人检测。当某一像素点周围的8个值都为图像中的暗区域时,认为该点为噪声点并予以剔除,当周围的8个值差值较大,呈现边缘梯度特征时,在该像素点的灰度值上加入HLID方差修正。相比其他显著性算法需要在不同图像域间进行转换计算,该显著性检测算法只需进行统计直方图计算、距离相乘和归一化操作,并增加零点的数量,算法的计算复杂度低,能在较短时间内得到红外图像中的关键区域,缩小了后续检测的计算范围。其中,HLID特征主要是中心像素与周围像素点的差异。

本文改进算法得到的显著性图像行人区域像素值高,通过分水岭算法已获得大量的零像素值点,可减少后续处理的计算量。此外,本文通过改进的基于质心重定位的滑窗搜索算法对红外显著图像进行过滤。根据红外图像中行人的特征,引入限定条件,即当中心区域比周围区域亮时,显著性区域像素平均值要达到一定阈值。在中心亮度高的滑窗区域定位图像质心,使用质心位置重新调整选取框,使得选取结果更加符合真实的行人区域,以避免滑窗算法步长太小而造成计算复杂度升高。在此基础上,使用滑窗算法对显著性红外图像进行选取,得到最终结果,如图1所示。

图1 改进滑窗算法的选取结果Fig.1 Selection results of improved sliding window algorithm

在图1中,虚线框是直接使用滑窗算法检测得到的结果,实线框是依据质心位置再次调整后的优化位置。可以看出,经再次调整后的结果更为准确。此外,该方法可加快滑窗检测速度,同时提高Zernike矩对称性和相似性计算效率。

2.2 Zernike矩在红外图像行人检测中的应用

图像检测的核心问题是特征提取,图像的矩是图像的重要特征之一。矩是图像在多项式上的一个投影,经典的矩有不变矩、几何矩、旋转拒等。不变矩具有平移、尺度变化、旋转(相似变换)等不变性,经典的不变矩有Hu矩、Fourier-Mellin矩、Zernike矩等。Zernike矩是基于Zernike多项式的正交化函数[17],Zernike矩在识别效果上比Hu矩好,但其计算复杂度高,对纹理丰富的图像区分效果差。正交矩较为复杂,其计算复杂度高,但信息冗余较小。

对于二维离散数字图像转换到极坐标下的图像g(r,θ),其n阶m重Zernike矩的定义如下:

(2)

Vn,m(r,θ)=Rn,m(r)ejqθ

(3)

低阶Zernike矩描述整体形状信息,高阶Zernike矩描述图像的细节信息,相对于高阶矩,低阶矩对噪声不敏感。在红外图像中,行人的特征主要由形状信息构成,由于本文检测的远距离行人红外图像中细节信息损失较多,因此主要使用低阶矩进行计算。

在通过显著性算法得到待检测区域后,将选取框左右一分为二,对一侧图像进行转置运算,使得对称图像变换为旋转图像,再使用Zernike矩对图像进行对称度计算,其中相似度高的选取框被认定为行人。由于行人兼具刚性物体和柔性物体的特征,具有对称性,但是对称度不高,因此需要提高对称性的阈值限制,而部分误检的非行人区域由下一级进行滤除。因为行人的姿势体态特征较多,所以使用部分行人的Zernike矩的结果值,通过SVM分类算法进行学习训练,利用标准行人形状得到SVM训练结果,在此基础上,对待检测区域的Zernike矩进行分类。

2.3 多级特征行人检测算法

行人目标检测和显著性检测的目的并不相同,本文在获得显著性检测结果之后,屏蔽图像中的许多背景,再使用多级检测可以缩小红外图像ROI,提升系统的实时性,不同层级的算法复杂度逐次递增,与行人红外图像的相似特征进行匹配。由于缺少红外训练库且不同参数的红外相机对不同距离行人的拍摄结果差异较大,因此不同红外图像行人的边缘信息和亮度也存在较大差异。同时,在OTCBVS红外数据集中,行人目标的高度基本不超过30像素,宽度不超过20像素,尺寸较小,不适合使用HOG和SVM算法进行判定。

本文红外图像检测算法的思路如下:

1)由改进LC算法得到显著性区域,使用滑窗算法进行过滤,在红外图像显著性结果像素值之和大于一定范围时,认定该区域可能出现行人。如果行人可能出现的区域中心像素点灰度值相较于周边背景的像素点灰度值要高,则排除非行人的干扰区域。

2)在得到高亮区域后,通过质心重定位提高滑窗算法效率,使用图像Zernike矩得到弱对称性特征,并与行人的Zernike矩进行比较,在此基础上,使用SVM进行分类。

3)基于迁移学习思想,使用结合边缘梯度特征的深度学习对区域进行判断,再通过训练得到的卷积神经网络模型加以区分。

本文基于多级特征红外图像行人检测算法的流程如图2所示。多级特征可以过滤大部分的背景干扰区域,逐级剔除非行人区域,计算所得结果可以衡量行人存在的可能性。

图2 基于多级特征的红外图像行人检测流程Fig.2 Procedure of pedestrian detection in infrared imagebased on multi-level feature

3 红外图像卷积神经网络算法

3.1 深度学习算法

随着神经网络的深入研究和计算机运行速度的提高,机器学习进入崭新的发展阶段。算法的优化、数据量的扩大以及GPU的发展,使得深度学习可将图像中各像素点的像素值转变成更高层次、更抽象的表达。相比浅层模型,深度学习算法能够更合理地表示非线性函数,同时也促进了迁移学习的发展。深度学习能够利用输入数据自动学习行人特征,不仅有无监督学习和监督学习的双重优点,还具有强大的特征表达能力。卷积神经网络是深度学习的主要手段之一,擅长处理图像相关的机器学习问题。

边缘梯度信息是图像特征的基本表达。使用边缘梯度信息等浅层特征作为深度神经网络的输入,可减少网络层数。由于红外行人图像包含信息量少、颜色信息缺失,因此本文深度学习网络的输入为红外灰度图像与边缘梯度图像的结合,从而包含更多的深层次信息和有效特征,加快浅层特征学习速度。

3.2 迁移学习理论

迁移学习的一个根本性计算问题是挖掘相似领域间的共享知识结构,并将其作为标注信息,建立从已知领域迁移到目标待求解领域的联系。随着深度学习算法的发展,迁移学习也逐渐得到广泛应用,两者能够互相促进,通过使用训练好的网络模型简化大量的学习过程。本文使用监督迁移学习,对含有标记小数据量的行人训练集进行训练。红外图像行人与可见光行人特征的区别主要在于行人背景不同,红外图像行人的背景较为单一。在训练时,将可见光图像转换为灰度图和边缘梯度图,并将其作为输入,得到相似的输入模型。在红外图像行人检测应用中,可以直接使用从普通的行人检测中学习到的超参数,以精简训练流程,并通过迁移学习验证网络泛化能力。本文的迁移学习是基于样本的同构迁移学习,红外图像行人检测的迁移学习过程如图3所示。

图3 红外图像行人迁移学习示意图Fig.3 Schematic diagram of pedestrian transfer learningin infrared image

4 实验结果与分析

本文使用俄亥俄州立大学建立的OTCBVS红外数据集进行实验。所用CPU主频为3.40 GHz的PC机,并在OpenCV环境下对算法进行验证。OTCBVS红外数据集共有284幅热红外图像,有晴天、雨天和阴天不同环境下采集到的行人图像,共包含984个行人区域。

4.1 显著性检测结果

将本文改进的LC算法与SR、Itti、GBVS和LC 4种经典显著性算法进行对比,结果如图4所示。

图4 红外图像显著性算法检测结果对比Fig.4 Comparison of detection results of saliency algorithm forinfrared image

由图4可以看出,SR算法的检测结果受复杂边缘的影响较大,且需要将图像转换到频域进行计算,复杂度较高。Itti和GBVS算法的精度较高,但也存在计算复杂度高的问题,并且结果易受背景的影响,有时无法突出行人所在区域。LC算法速度快,但是结果中仍存在较多背景。多数算法在图像中热源背景干扰信息较多的情况下,行人的显著性会降低,图4的实验结果表明,本文改进算法更适用于红外图像行人高亮度区域的检测,可将图像中不同尺度距离行人的关键信息保留下来,突出红外目标,且时间复杂度低,能在几毫秒的时间内处理尺寸为240像素×360像素的图像。不同显著性算法的耗时情况如表1所示。

表1 5种显著性算法的耗时对比Table 1 Comparison of consumed time of five saliency algorithms

4.2 行人检测结果

在得到显著性图像后,使用多级检测算法可以得到行人的检测结果。首先使用红外图像的多级特征对行人目标进行分类,通过改进的滑窗搜索算法选取行人可能存在的区域,其中包含大量的非行人区域。不同编号的环境不同,因此,检测结果有所差距。其中,编号为00003的图像由于拍摄环境温度高,行人与周边背景区分度较低,难以通过亮度差的算法进行区分,检测成功率低。在此温度环境下,可将可见光图像作为行人检测通道,本文不对该情况做特殊处理。滑窗搜索算法的选取结果如表2所示。其中,未识别的目标主要为距离相近的行人和图像边缘较小的行人。

表2 滑窗搜索算法的选取结果Table 2 Selection results of sliding window search algorithm

在完成行人目标分类以后,使用Zernike矩对选取区域进行行人相似度检测和图像对称度检测,滤除部分非行人区域。本文选用Z20、Z22、Z31、Z33、Z40、Z42和Z44这7个低阶特征。OTCBVS红外数据集中部分行人和非行人区域的Zernike矩幅值曲线如图5所示。在图5中,Zernike矩的特征值均为滑窗选取框左右划分后的计算结果,每个行人目标对应的2条曲线表示从中心线分割后的2组特征。可以看出,行人和非行人的特征曲线有一定的差距,且行人的对称性一般较高。从表2和图5可以看出,行人的Zernike矩在Z20和Z44两处特征值较高,其他位置的特征值偏低,而非行人图像没有该规律。

图5 部分Zernike矩的幅值曲线Fig.5 Amplitude curve of some Zernike moments

依据上述特征,可以在OTCBVS红外数据集中过滤部分非行人特征,缩小行人可能存在的区域。由于Zernike矩的计算复杂度较高,其计算时间较长,且与红外图像的复杂度,即通过显著性检测后得到的待检测行人区域数量相关,每张图像的平均处理时间约为20 ms。在此基础上,使用SVM对图像显著性区域中提取到的待检测图像进行判定,得到的结果如表3所示。

表3 Zernike矩滤除后的判定结果Table 3 Determine results after filtering using Zernike moments

Zernike矩能够进一步缩小行人范围,但是,将Zernike矩的结果作为最终行人检测结果的错误率较高,行人的特征变化较多,主要用于去除部分非行人区域。

因为红外图像的行人特征和远距离行人特征相同,缺乏色彩信息,在识别判断时,通过边缘和梯度信息对行人和背景进行区分。在多级特征判定的最后,使用迁移可见光图像训练的深度学习模型进行判断。本文的红外图像行人检测结果在误检率为10%的情况下,检测准确率可达91.5%。通过改进显著性算法等低阶计算,能够有效缩小行人待检测区域,相比直接使用深度神经网络,可减少大量输入,避免了深度学习的复杂计算,可应用于嵌入式设备中,同时保证了深度学习的高准确率。

表4是本文算法在OTCBVS红外数据集上的最终检测结果。由文献[18-19]可知,稀疏表示算法的准确率为90%,相较而言本文算法的检测准确率较高。图6和图7给出本文算法在OTCBVS红外数据集上的检测结果。其中,图7中打伞的行人由于灰度值在红外图像中衰减严重,不容易被检测出来。

表4 本文算法在OTCBVS红外数据集的检测结果Table 4 Detection results of the proposed algorithm on the OTCBVS dataset of infrared images

图6 OTCBVS红外数据集上的行人检测结果1Fig.6 Pedestrian detection results 1 on the OTCBVSdataset of infrared images

图7 OTCBVS红外数据集上的行人检测结果2Fig.7 Pedestrian detection results 2 on the OTCBVSdataset of infrared images

5 结束语

本文提出一种基于多级特征的红外图像行人检测算法。使用改进的显著性检测算法得到图像中的高亮区域,结合质心重定位的滑窗算法得到待检测区域,由Zernike矩特征对图像的对称性和行人的相似性进行判断,滤除错误结果。在此基础上,使用基于可见光图像迁移学习训练的卷积神经网络进行判定分类。实验结果表明,与基于稀疏表示的行人检测算法相比,该算法的检测准确率较高。下一步将对不同层级的特征检测时间加以限制,提升算法的实时性。

猜你喜欢
行人红外显著性
网红外卖
闪亮的中国红外『芯』
毒舌出没,行人避让
本刊对论文中有关统计学表达的要求
8路红外遥控电路
TS系列红外传感器在嵌入式控制系统中的应用
路不为寻找者而设
基于显著性权重融合的图像拼接算法
基于视觉显著性的视频差错掩盖算法
我是行人