时间:2024-07-28
高春艳,吕盛璠,吕晓玲,孙凌宇
(河北工业大学机械工程学院,天津300130)
近年来,各国利用车辆藏匿危险品、违禁品等高危物品的犯罪行为呈上升趋势,对人民的生命财产安全造成了严重威胁,因此对车辆的安全检查需引起进一步重视[1],而车辆检测中又以危险品藏匿于车辆底盘时最难检测,故车底检测已成为安保领域研究的重点与难点。
目前车底检测技术手段主要采用手持探镜及视觉检测等方式,检测的关键是对目标进行特征提取,常见的特征有轮廓、边缘、特征点等。为提取和描述图像中的局部特征,文献[2]提出一种尺度不变特征转换(Scale-Invariant Feature Transform)视觉算法,具有较强的鲁棒性,但计算量大,效率低。而文献[3]提出PCASIFT算法对特征向量描述子降维,但效果不理想,且计算量仍较大。为此,文献[4]提出一种SURF(Speeded up Robust Features)加速稳健特征算法,相比SIFT算法大幅提高了计算速度,但复杂环境下仍存在特征提取效率低、错误率高等不足,制约了车底高危目标检测精度的提升。
为此,提出了一种安保机器人车底高危目标检测方法,能够实现目标的快速检测。本方法首先对原始输入图像进行双边滤波,然后将图像在小波域中作一次变换并取出其中的低频分量图像作为新的输入,再利用SURF提取特征点,并采用基于尺度和方向限制的单向匹配策略寻找匹配点对。在此基础上,利用改进的RANSAC算法提纯,然后对目标图像进行校正,最后采用基于卷积的NCC分块匹配策略寻找高危目标。针对改进方法的检测效果,搭建实验平台开展了系列测试验证实验。
SURF 算法计算速度较快,并且在抗尺度变化、光照、旋转等方面有较好的表现。在SURF 算法的基础上,在特征点匹配阶段采用改进的单向匹配策略进一步提高了匹配精度和速度。如下所示。
用盒式滤波器[5]对图像作卷积操作,通过改变盒式滤波器的尺寸和模糊系数,在图像上作x、y、z方向的卷积,构建尺度空间金字塔。
Hessian矩阵的原始判别式用detH来表示:
式中:L xx—水平方向二阶导数;Lyy—垂直方向二阶导数;Lxy—水平与垂直方向二阶导数;L—高斯滤波处理后的图像。
因使用盒式滤波器会带来一定误差,故对Dxy乘上加权系数0.9,detH变为如式(2)所示:
式中:Dxx—待检测特征点水平二阶偏导;
Dyy—待检测特征点垂直二阶偏导;
Dxy—待检测特征点水平与垂直方向二阶偏导。
待Hessian 矩阵计算出极值点后,再滤掉错误点及能量较弱点,然后筛选特征点。
为寻找特征点的方向特征,使其具有鲁棒性,采用滑动扇形窗口的方式进行移动。首先以特征点为圆心,计算其圆形邻域内的harr小波特征,统计60°扇形内全部特征点的垂直、水平harr小波特征(响应)之和,根据距离特征点的远近程度分别给这些响应值赋以不同的高斯权重系数。其次将该扇形区域中响应值相加得到新的矢量,然后再将扇形以单次0.2弧度进行旋转,使之遍历整个圆形区域,并再次统计该区域响应之和,将统计出的最长矢量方向作为特征点的主方向。滑动扇形窗口,如图1所示。
图1 滑动扇形窗口Fig.1 Sliding Fan Window
建立特征描述向量。计算邻域内haar小波响应构造特征点描述子,以特征点为中心,选取(4×4)的矩形区域块,总共具有16个子区域,该区域的方向为特征点的主方向。统计每个子区域中25个像素的垂直方向和水平方向的haar小波特征,方向是相对主方向而言。令dx为haar小波在x方向上响应,dy为该haar小波在y方向上的响应,对响应dx和dy采用高斯加权求和,得到Σdx和Σdy,再求取响应绝对值之和得到Σ|dx|和Σ|dy|。最终形成一个4维的描述向量:D=(Σdx,Σdy,Σ|dx|,Σ|dy|),将所有子区域的描述向量串联起来形成64维特征描述向量,如图2所示。
图2 特征描述子Fig.2 Feature Descriptor
应用SURF算法提取特征点之后,需要对特征点进行配准。单向匹配相对于最近邻匹配和双向匹配速度快,但是匹配精度不如后者,故为提高匹配精度,通过单向匹配和方向及尺度约束一致性约束的方法来寻找特征点之间的对应匹配关系。首先对目标图像进行单向匹配,再分别计算出对应特征描述向量之间方向的差值以及尺度的差值,当方向差值和尺度差值分别在设定的阈值范围之内则认为匹配成功,否则需要剔除错误的匹配点,不仅准确率高而且速度快。
具体实现流程如下:
(1)计算出每一个匹配点对特征描述向量主方向之间的差值:
式中:S1—标准图像特征描述向量主方向的角度;S2—目标图像特征描述向量主方向的角度;i—特征点匹配对数。
(2)统计Si值并生成直方图,以β°为一柱,共柱。
(3)计算出每个特征点匹配对尺度因子之间的差值:
式中:σ1—标准图像特征点尺度因子的大小;σ2—为标目标图像中特征点尺度因子的大小;i—特征点匹配对数。
(4)计算出尺度因子的差值以及直方图中峰值角度,峰值Si所在β°范围内以及尺度因子σi的差值在阈值α之内的作为正确的匹配点对予以保留。
在目标检测之前,对图像做一定的预处理对后续图像处理部分有着至关重要的影响。小波变换则是一种处理方法,对图像进行小波变换[6],每次变换可以得到四幅图像,其中就包含有低频分量图像。将原输入图像之间的匹配转化为经小波变换后低频分量之间的匹配,可以缩小搜索范围,减少变换矩阵的计算量。将小波的优势应用到这里方法中可提高计算效率。
如果图像进行多次小波变换再进行匹配会导致特征点减少,而且增加时间,因此这里只进行一次哈尔小波分解[7],哈尔小波的定义式为:
其尺度函数为:
取出其中的低频分量图像作为输入图像。低频分量图像不仅保留了图像的大体信息,而且相比于原图像信息量减少,可以加快特征点的提取速度。
这里将小波变换与SURF算法结合,提出一种安保机器人车底高危目标检测方法。检测方法的流程如下:
(1)将图像进行一定比例缩小,然后采用双边滤波器[8]对输入图像进行处理,以针对车底图像特点达到保边去噪的目的。
(2)将输入图像进行一次小波分解,取出其中的低频分量图像作为改进SURF算法的输入图像。
(3)使用改进的SURF 算法提取图像中的特征点,并用基于尺度和方向限制的单向匹配策略求取特征点对。
(4)采用改进的RANSAC 算法剔除误匹配点对,求取变换模型。
(5)根据求取出的变换模型中特征点的比例关系计算出图像缩放比例,对图像进行校正。
(6)运用基于卷积的NCC 分块匹配策略标定车底高危目标位置。
传统的RANSAC[9]算法是一种随机参数估计算法,其具体步骤为:
(1)在匹配点对中随机选取8个匹配点对作为初始模型,并确定模型参数。
(2)用步骤(1)中得到的初始模型对所有匹配点对进行测试,如果某匹配点符合该模型,则认为该点为内点。
(3)计算得到的内点数量,若足够多即合理。
(4)重复步骤(1)~步骤(3),进行迭代,直到得到的内点数量最多、误差最小时停止。
(5)计算出正确的匹配点对集。
虽然RANSAC 算法较好的解决了误匹配点较多的问题,但由于算法本身的复杂性导致耗时增加,故这里在传统RANSAC算法的基础上做了以下改进以提高计算效率。具体步骤如下:将匹配点对中特征点的角度差值大小Si作为评价匹配点好坏的标准,匹配点质量的好坏和角度差Si成反比。将匹配点根据质量好坏排序,将质量最好的8个匹配点对进行模型参数拟合,最后用该模型估计一定距离阈值内的匹配点,将其作为最终的匹配点对。本方法减少了RANSAC算法自身因样本选择带来的耗时问题,并且提高了特征点匹配准确度。
改进的RANSAC 算法主要是从减少迭代次数方面来优化。筛选匹配点主要步骤是:首先,将特征匹配点对集合按特征点方向的差值大小Si由小到大排序,选择其中差值最小的8个匹配点对作为模型参数,并进行拟合,得到模型J。然后用模型J测试匹配点对中的所有点的距离是否小于某个阈值,如果是的话,则此点属于内点,否则为外点。最后,得到筛选后的匹配点对集合。
这里应用场景为道口,使用线阵相机采集图像,垂直于车行进方向摆放。由于对车速要求很高,但实际中难以达到完全匀速行驶,以致相机拍摄到的图像在车行进方向会产生一定变形,因此解决车速控制带来的图像变形问题是整个实验的关键。为此首先采集标准图像,为提高危险品的检测准确度,需将目标图像变换至和标准图像近似大小。从经过改进的RANSAC提纯的正确匹配点对中随机选取两对,可以通过求解线段的比例关系得到缩放比例。标准图中线段两个端点分别为A1(x1,y1),B1(x2,y2)。假设待匹配图中两个端点分别为A2(x3,y3),B2(x4,y4)。如图3所示。
图3 坐标系Fig.3 Coordinate System
x方向的缩放为:
y方向的缩放为:
求得缩放比例系数K1和K2,可将目标图像缩放至标准图像近似大小。
图像匹配技术[10]是指在已知基准图像和模板图像中,在基准图像中寻找与模板图像最相似的区域,达到目标识别和定位的目的。归一化互相关[11](Nomalized Cross Correlation Method)技术则是一种匹配准确、抗噪声能力强的匹配算法,其具体定义为:
式中:R(m,n)—点(m,n)的归一化互相关系数;N1×N2—模板图像大小;xi+m,j+n、yi,j—待匹配图像中(i+m,j+n)、(i,j)处的灰度值。
R(m,n)的值域范围为[-1,1],越接近于1,说明两幅图像的时互相关程度越高。但由于传统的NCC算法计算量过大,实时性较差,将卷积应用到NCC算法中,可以大幅提高计算速度。卷积积分常用于时域信号处理,二维连续信号卷积定义如下:
二维离散信号的卷积为:
结合式(9)可分析出NCC算法的分子部分为图像在(m,n)位置两幅模板图像的卷积,即离散信号f1(m,n)与f2(m,n)的卷积,也就是信号1各点f1(s,t)顺序与信号2从位置(m,n)处开始逆序对应点f2(m-s,n-t)的乘积之和。
将标准图像划分为S*S 的网格结构,空缺部分用黑像素填充,如图4所示。采用分块匹配策略[12],将每个网格作为模板图像,依次在目标图像中进行搜索,通过计算每个网格和目标图像的NCC值,并设置阈值k,将结果和k相比较,低于k值的区域在目标图像中进行标记,来寻找危险品的大致区域。
图4 标准图像网格划分Fig.4 Standard Image Meshing
安保机器人目标检测方法流程,如图5所示。
图5 算法流程图Fig.5 Algorithm Flowchart
为验证本方法的可行性,搭建的安保机器人实验平台,如图6、图7所示。利用HIKVISION移动式车底扫描仪分别拍取目标图像(带有危险品的图像)和标准图像,采用塑料袋等效待检测高危目标。实验过程中控制车辆匀速行驶经过检测设备正上方。本实验平台基于:CPU Intel i5-8400U 处理器、Intel HD630显卡、8G DDR3 内存、Windows 7 软件开发系统、Opencv 和Visual studio2015。根据SURF算法中采用卷积的特性,因此便于实现并行计算[13]。实验采用两个线程并行提取图像中的SURF特征点,在输入图像时将图像缩小为原图像的八分之一,因图像特征主要由自身属性决定,故细节丢失较少。本方法提取到的特征点数目虽然会一定程度减少,但准确率基本不变,且大幅提高了计算效率。
图6 实验场景1Fig.6 Experimental Scene 1
图7 实验场景2Fig.7 Experimental Scene 2
为验证这里算法的优越性,实验以7500*2048,7800*2048范围内近似大小的多组图像为例进行特征点匹配,并进行高危目标位置标定。将β设置为10°,a设置为4,k设置为0.65。对不同算法进行性能对比实验,并以某组图像为例进行危险品位置检测,实验结果,如图8~图11所示。匹配结果对比,如表1所示。可知这里改进的匹配算法匹配点对数较原来的配准算法少52.8%,但匹配正确率提高了1.3%,时间缩短了24.2%,故证明本方法具有一定实用价值。
表1 匹配结果对比Tab.1 Comparison of Matching Results
图8 标准图像和目标图像Fig.8 Standard and Target Images
图9 直接匹配Fig.9 Direct Match
图10 SURF+RANSAC匹配Fig.10 SURF+RANSAC Match
图11 这里方法Fig.11 Shows the Method
将待匹配图像校正,通过基于分块匹配策略的NCC算法分别计算出每个子区域块与待匹配图像NCC的最大值,按照从左到右,从上到下的顺序依次标号,计算出的值,如图12所示。从标号1开始至标号16,计算出的结果分别为0.961、0.912、0.887、0.896、0.901、0.908、0.756、0.591、0.955、0.901、0.865、0.879、0.890、0.899、0.732、0.575。
图12 分块匹配NCC结果Fig.12 Block Matching NCC Results
将以上数值与设置的阈值k比较,对高危目标位置用红色线框进行标记,检测结果,如图13所示。实验表明,本方法在目标检测阶段能够标定出危险目标位置,满足车底危险目标的检测要求。
图13 高危目标位置标记Fig.13 High-Risk Target Calibration
针对标准图像和待配准图像的匹配精度、检测效率、高危目标检测方法展开研究,提出了一种安保机器人车底高危目标检测方法。首先对SURF算法进行改进,通过计算特征描述向量方向的差值和特征点尺度因子的差值,以剔除误匹配点对,然后利用改进的RANSAC 算法计算出两张图像的变换模型,再对图像进行缩放校正,最后利用基于卷积的NCC分块匹配算法对危险品位置进行标记。实验结果表明,相较于基于SURF+RANSAC 算法的检测方法,本方法将匹配正确率提高了1.3%,时间缩短了24.2%,在后续目标检测阶段成功检测出了高危目标位置,从而满足车底安检的需求。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!