APP下载

基于Shi-Tomasi的太赫兹人体图像边缘物体识别

2021-07-09袁明辉张全盛

光学仪器 2021年3期
关键词:角点灰度边缘

韩 臣,袁明辉,张全盛

(上海理工大学 光电信息与计算机工程学院,上海 200093)

引 言

太赫兹成像是一种利用太赫兹波作为信号源成像的技术[1-2]。太赫兹波的频率介于红外和微波之间,通常为0.1~10 THz,这种特殊波与物质发生相互作用时会同时具有微波和红外光的传输特性,因具有较低的能量,不会引起有害的电离反应,对大部分非极性物质有较强的穿透能力[3-4]。传统的安检探测系统为了获取样品的透射光信息,通常需要高辐射当量照射,这种强辐射普遍对人体组织和细胞具有一定的破坏性。利用太赫兹成像不仅适用于人体服装内隐藏物品的检测,而且不会对生物组织、易燃易爆物等产生影响,是一种典型的无伤探测手段[5-8],太赫兹成像也因此成为安全检查领域的一个重要研究方向。

在识别物体时,太赫兹成像因受到探测器灵敏度、光子噪声和外界环境的影响和干扰,会使图像出现分辨率低、对比度不明显等问题,甚至无法在视觉上辨别图像上目标物的特征信息,尤其是对人体边缘目标物体的识别更为困难。Li等通过图像区块统计中的均匀属性来自动检测太赫兹人体图像中的隐藏目标,建立了基于拟合能量函数的最小化特征区域分解的理论模型,克服了传统方法因梯度边缘算子无法成功应用而存在的缺陷,并利用不同特征区域中收敛的曲面函数开发了一种三步自动检测算法,以自动提取被识别物体的数量、位置和形状[9]。姚家雄等利用卷积神经网络得到各子图块存在违禁物体的概率,并将概率值累积,得到了人体图像中违禁物体的位置[10]。辛乐等提出一种自适应的二次模板匹配滤波的方法,通过将背景滤除的结果作为先验结果对原始图像进行改进的双边滤波,保留了人体轮廓的图像细节,改善了毫米波安检系统对人体图像中隐匿物体的识别与定位[11]。王林华等针对人体边缘物体采用了圆形模板识别凹凸点的方法进行识别,将边缘物体的识别问题转化为凸点的检测问题。但在实际安防检测过程中,由于被测物体的形状是未知的,且物体边缘可能会出现随机的凹凸特性,因此圆形模板识别凹凸点的方法在针对多变的人体边缘物体识别时,其准确性还不高。当边缘物体辐射或反射信号与太赫兹安检系统的信号强度或背景值接近时,可导致边缘物体的像素灰度值与图像背景的数值大致相当,此时需要通过人体真实信息与提取边缘轮廓的算法相结合来判断[12]。本文提出了一种基于Shi-Tomasi算子的角点特征识别算法,该算法可以大大地提高自动识别人体图像边缘物体的准确率。

1 图像预处理

对于太赫兹安检系统采集的原始图像,由于其采集的目标纹理、颜色等特征信息相对较弱,而且主要信息包含在图像轮廓中,所以原始图像的预处理对成像系统后续的目标检测与识别具有重要的作用。提取图像轮廓的方法通常有基于边缘检测的Prewitt、Rober算子等,此类方法是通过搜索一阶微分算子对灰度图像进行边缘提取,即利用交叉梯度的方式对图像轮廓精确定位[13],该算法的重点在于提取后保留的边缘点与消除噪声点之间的平衡。本文基于阈值分割的方法来提取图像轮廓,其核心是对一张灰度直方图为f(x,y) 的图像选取一个合适的灰度阈值T,经过阈值分割处理后的图像g(x,y) 可以表示为

式中:T是图像的灰度阈值; (x,y) 是太赫兹图像像素点的坐标。当f(x,y)<T时,所有像素区域认为是图像背景;当f(x,y)≥T时,所有像素区域认为是目标点。太赫兹安检系统的探测目标主要分为人体、衣物和藏匿物,人体和衣物对探测能量是透射的,而藏匿物的亮温主要来自反射环境的亮温,所以藏匿物与环境背景在太赫兹图像上的像素灰度值近似,可以采用Otsu算法进行图像分割。假设检测图像由目标和背景两部分组成,通过统计学方法计算出阈值T,使得这个阈值可以将目标和背景最大程度地区分[14-15]。如一幅M×N(高度×宽度)的图像灰度级为L,设其灰 度 值 为i(i=0,1,···,L-1) 的 像 素 点 个 数 为ni,任意选取一个阈值T,将图像像素按照阈值T分为背景Z0={0,1,···,T} 与目标Z1={T+1,T+2,···,L-1} 两类,则背景类像素概率P(Z0) 与目标类像素概率P(Z1) 满足以下关系:

Z0、Z1类像素的平均灰度值分别为:

图像整体平均灰度值为

所以两类类间方差 σb2为

式中类间方差 σb2是关于阈值T的一阶统计量,Otsu算法使得 σb2最大时所对应的T为最佳阈值。由类间方差可以判断阈值选取的优劣,类间方差越大则两类差别就越大,就越容易区分背景区域与目标区域。

图1是对人体拍摄的原始图像及经预处理后的效果图。人体左边腰部放置了汽油罐,被识别物体的成像结果均在人体的边缘且与背景混合,如图1(a)所示。首先用Otsu阈值法计算图像的阈值T,在对图像进行分割时,人体的一些边缘信息会被丢失,为了尽可能地保全人体以及被识别物体的有效信息,使人体不出现“断腿”、“无足”现象,本文使用T/3作为太赫兹图像二值化的理想阈值,图像经二值化处理后的结果如图1(b)所示。在二值化后的人体轮廓边缘中,除了有边缘有效信息之外还包含了孤立噪声、边缘刺峰等干扰信息,因此,需要对二值化后的结果进行腐蚀、膨胀、填充像素黑点以及平滑滤波处理,以去除图像噪声、锐化图像边缘,避免这些干扰点对边缘物体的定位造成影响,效果如图1(c)所示,最终完成图像预处理。

图1 图像预处理效果图Fig.1 Image preprocessing renderings

2 人体边缘物体的识别

2.1 角点检测原理

图像预处理后,会出现人体边缘物体和图像背景融为一体的情况。同时,在实际安防检测场景中,由于被测边缘物体的形状是未知的,且有随机的凹凸特性,传统的物体识别算法在针对形状多变的物体识别时,其识别的准确性还有待提高。因此本文采用了一种基于Shi-Tomasi算子的角点特征识别算法,该算法是通过对角点的检测筛选出边缘物体的特征点,达到对人体边缘物体识别的目的。

角点检测是机器视觉系统中获取图像特征的一种方法,广泛应用于运动目标跟踪、图像配准、全景图像拼接、三维重建和物体识别等,也可称为特征点检测。算法的基本原理:设定一个固定窗口,使之在图像上进行任意方向的滑动,比较滑动前后窗口中像素灰度变化的程度,如果窗口向任意方向的移动都导致图像灰度的明显变化,我们就可以认为在该窗口中存在角点。当窗口滑动时,滑动前与滑动后对应的窗口的像素点灰度变化可分别描述如下:

式中: (x,y) 是窗口所对应的像素坐标位置;u、v分别是窗口在x、y方向上的偏移量;w(x,y) 是窗口函数;I(x+u,y+v) 是平移后的图像灰度;I(x,y) 是原始图像灰度;Ix、Iy分别为窗口内像素点在x、y方向上的梯度坐标;O(u2,v2) 是泰勒级数展开中关于u、v的无穷小。遍历图像移动前与移动后的所有像素位置,如果窗口中心是角点,则该点的灰度变化最为强烈。设置w(x,y) 窗口函数的权重系数可以表征该点在灰度变化的贡献大小。式(7)表明:当窗口在平坦区域滑动时,灰度不会发生变化,此时E(u,v)=0 ;如果窗口在纹理比较丰富的区域上滑动,灰度变化会很大。

对于局部窗口微小的移动量 (u,v) ,联立式(7)、式(8)对E(u,v) 进行一阶展开,得

由于角点检测需要求解局部窗口内矩阵特征值,并且判断特征值的大小,可将式(9)简化成矩阵形式,即

式中M是 2 ×2 的矩阵,由图像的导数求得,即

角点检测是对窗口内的每个像素沿x、y方向上的梯度进行统计分析,把每个像素的梯度坐标表示成Ix、Iy。在几何模型中,将矩阵M对角化后,特征值 λ1、λ2既是主分量上的方差,也是沿x、y方向的灰度变化率。图2是不同区域像素的梯度分布:如果是平坦区域,窗口区域内像素点x、y方向上的梯度幅值非常小,此时矩阵对角化后的两个特征值就较小;如果是边缘区域,其边缘上的像素点某个方向的梯度幅值较明显,另一个方向梯度幅值变化较小,此时矩阵对角化后的两个特征值应是一个较大,一个较小;如果存在矩阵两个主分量的特征值都较大,说明像素点的梯度分布比较散,但梯度变化程度比较明显,因此符合角点在窗口区域的特征。我们虽然利用E(u,v)来表述角点,但最终还是通过图像像素梯度矩阵中两个特征值的大小来判断像素的属性。

图2 不同区域像素的梯度分布Fig.2 Gradient distribution of pixels in different areas

通常用表达式来度量角点响应,Shi-Tomasi角点检测的响应函数为

式中:R为角点响应函数; λ1、λ2为像素点梯度的特征值。在对人体边缘物体识别时,我们选用了Shi-Tomasi角点检测响应函数,相比于Harris角点检测,两者的原理几乎完全一致,唯一不同的是在使用矩阵特征值时对响应方式进行了改进。由于被识别物体形状的较大不确定度取决于较小的特征值,因此对像素梯度的自相关矩阵M进行特征值分析时,如果两个特征值中较小的一个大于最小阈值,我们便认为它是一个强角点,这样可以更好地表征被测物体的几何特征。

2.2 边缘物体识别

为了方便表达,在二值化图像中白色(人体)像素值设定为1,黑色(背景及物体)像素值设定为0,人体边缘特征0和1相连。在识别边缘物体前,首先使用OpenCV软件中的good-FeaturesToTrack函数,通过Shi-Tomasi算子获取图像中的最好角点。函数主体中主要参数如表1所示。

首先剔除图像中低于表1中质量水平参数的所有角点;然后对合格的角点按照角点质量高低进行降序排列。在进行排序时,先选取质量最高的角点,将最小距离内的其余角点都删除,然后选取质量第二高的角点,经不断重复选取后返回N个最佳角点,结果如图3所示。

表1 goodFeaturesToTrack参数说明Tab.1 goodFeaturesToTrack parameter description

图3 Shi-Tomasi提取人体边缘角点Fig.3 Shi-Tomasi extraction of human body edge corners

在角点检测完成后,我们开始对人体边缘物体进行识别,以图3中人体左腰部的边缘物体为例,其识别原理如图4所示。

图4 人体左腰部边缘物体识别原理图Fig.4 Schematic diagram of object recognition of left waist edge of human body

具体识别步骤如下。

1)沿图像顶边垂直向下依次遍历人体边缘角点。一旦检测到像素值从0变化为1,则停止寻找,记录下该点像素坐标为第一个人体边缘角点X1。

2)以角点X1为起始角点,沿纵轴(Y轴)方向检测像素值变化,此时像素值为0,当检测到像素值变化为1时,记录下该点像素坐标为第二个人体边缘角点Xi。

3)在minDistance函数设定的阈值范围内,遍历符合类似Xi边缘特征的其余角点Xi+1,并用直线将阈值范围内所有满足条件的角点进行相连。分别取直线中点沿平行横轴(X轴)两侧检测人体边缘信息。

4)对两个横向间距不超过阈值的所有角点沿中点两侧寻找其对应的边缘角点。由图4可见:在横轴左侧的图像背景方向无边缘角点;在横轴右侧若检测到有像素值从0变化为1时,设定该点为人体边缘角点Mi。比对每个对应边缘角点的横向坐标值,保留横向坐标最大值所在的角点,依次对人体边缘内所有两两相邻的角点进行判断。

5)重复上述步骤,当遍历完所有符合边界特征的人体边缘角点后,会生成N条类似X1和Xi、Xi+1的自动连线,以及N个沿中点两侧与边缘角点Mi相似的背景横向坐标。遍历所有背景横向坐标值,检索出横向坐标最大值对应的中点位置,该中点所在的人体边缘上下两个角点的连线就是被识别物体的最终边缘信息。

在采用Shi-Tomasi角点算子进行人体边缘物体识别时,首先是把遍历人体边缘角点的阈值设置为躯干边缘的横向间距与两腿之间、张开手臂之间的横向间距中间值,防止头和手臂、胯部和人体裆部之间被误认为是被检测物体。相比传统全像素点比对的方式,本文算法不仅减小了计算量,而且避免了边缘物体误识别的情况。同时, 通过minDistance函数对相邻角点最小间距的划分后,可对物体边缘的每一个角点特征进行精确提取,并对检测划分后的被识别物体角点进行一对一比对,保留了边缘物体最显著的强特征点,所以该算法在识别精度和准确性方面都得到了提高。本文算法识别结果如图5所示,其中(a)为左边腰部边缘物体识别结果,(b)、(c)为其余位置的人体边缘物体识别结果。

图5 人体边缘物体识别结果图Fig.5 Result of human body edge object recognition

3 结 论

本文针对传统多变边缘物体识别过程中准确率低的问题,提出了一种基于Shi-Tomasi算子的特征提取算法,即将人体边缘强角点及垂直方向阈值范围内的相邻角点组合连线,沿中点横向遍历像素变化点,并通过比对背景侧数值最终实现人体边缘物体的识别。测试选取了200幅图像,被识别的物体有汽油罐、陶瓷刀、塑胶炸弹等,识别的位置分别在人体轮廓的肩部、腰部和腿部等部位。研究表明,该算法对边缘物体识别的准确率可达98%,识别时间在1 s内,识别结果稳定可靠,具有很强的实用性。

猜你喜欢

角点灰度边缘
采用改进导重法的拓扑结构灰度单元过滤技术
基于灰度拉伸的图像水位识别方法研究
基于FAST角点检测算法上对Y型与X型角点的检测
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一张图看懂边缘计算
基于边缘的角点分类和描述算法
基于灰度线性建模的亚像素图像抖动量计算
基于圆环模板的改进Harris角点检测算法
基于Harris角点和质量评价的图像篡改检测
在边缘寻找自我