国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Shi-Tomasi的太赫茲人體圖像邊緣物體識別

2021-07-09 08:43袁明輝張全盛
光學儀器 2021年3期
關鍵詞:角點灰度邊緣

韓 臣,袁明輝,張全盛

(上海理工大學 光電信息與計算機工程學院,上海 200093)

引 言

太赫茲成像是一種利用太赫茲波作為信號源成像的技術[1-2]。太赫茲波的頻率介于紅外和微波之間,通常為0.1~10 THz,這種特殊波與物質發(fā)生相互作用時會同時具有微波和紅外光的傳輸特性,因具有較低的能量,不會引起有害的電離反應,對大部分非極性物質有較強的穿透能力[3-4]。傳統(tǒng)的安檢探測系統(tǒng)為了獲取樣品的透射光信息,通常需要高輻射當量照射,這種強輻射普遍對人體組織和細胞具有一定的破壞性。利用太赫茲成像不僅適用于人體服裝內隱藏物品的檢測,而且不會對生物組織、易燃易爆物等產生影響,是一種典型的無傷探測手段[5-8],太赫茲成像也因此成為安全檢查領域的一個重要研究方向。

在識別物體時,太赫茲成像因受到探測器靈敏度、光子噪聲和外界環(huán)境的影響和干擾,會使圖像出現分辨率低、對比度不明顯等問題,甚至無法在視覺上辨別圖像上目標物的特征信息,尤其是對人體邊緣目標物體的識別更為困難。Li等通過圖像區(qū)塊統(tǒng)計中的均勻屬性來自動檢測太赫茲人體圖像中的隱藏目標,建立了基于擬合能量函數的最小化特征區(qū)域分解的理論模型,克服了傳統(tǒng)方法因梯度邊緣算子無法成功應用而存在的缺陷,并利用不同特征區(qū)域中收斂的曲面函數開發(fā)了一種三步自動檢測算法,以自動提取被識別物體的數量、位置和形狀[9]。姚家雄等利用卷積神經網絡得到各子圖塊存在違禁物體的概率,并將概率值累積,得到了人體圖像中違禁物體的位置[10]。辛樂等提出一種自適應的二次模板匹配濾波的方法,通過將背景濾除的結果作為先驗結果對原始圖像進行改進的雙邊濾波,保留了人體輪廓的圖像細節(jié),改善了毫米波安檢系統(tǒng)對人體圖像中隱匿物體的識別與定位[11]。王林華等針對人體邊緣物體采用了圓形模板識別凹凸點的方法進行識別,將邊緣物體的識別問題轉化為凸點的檢測問題。但在實際安防檢測過程中,由于被測物體的形狀是未知的,且物體邊緣可能會出現隨機的凹凸特性,因此圓形模板識別凹凸點的方法在針對多變的人體邊緣物體識別時,其準確性還不高。當邊緣物體輻射或反射信號與太赫茲安檢系統(tǒng)的信號強度或背景值接近時,可導致邊緣物體的像素灰度值與圖像背景的數值大致相當,此時需要通過人體真實信息與提取邊緣輪廓的算法相結合來判斷[12]。本文提出了一種基于Shi-Tomasi算子的角點特征識別算法,該算法可以大大地提高自動識別人體圖像邊緣物體的準確率。

1 圖像預處理

對于太赫茲安檢系統(tǒng)采集的原始圖像,由于其采集的目標紋理、顏色等特征信息相對較弱,而且主要信息包含在圖像輪廓中,所以原始圖像的預處理對成像系統(tǒng)后續(xù)的目標檢測與識別具有重要的作用。提取圖像輪廓的方法通常有基于邊緣檢測的Prewitt、Rober算子等,此類方法是通過搜索一階微分算子對灰度圖像進行邊緣提取,即利用交叉梯度的方式對圖像輪廓精確定位[13],該算法的重點在于提取后保留的邊緣點與消除噪聲點之間的平衡。本文基于閾值分割的方法來提取圖像輪廓,其核心是對一張灰度直方圖為f(x,y) 的圖像選取一個合適的灰度閾值T,經過閾值分割處理后的圖像g(x,y) 可以表示為

式中:T是圖像的灰度閾值; (x,y) 是太赫茲圖像像素點的坐標。當f(x,y)<T時,所有像素區(qū)域認為是圖像背景;當f(x,y)≥T時,所有像素區(qū)域認為是目標點。太赫茲安檢系統(tǒng)的探測目標主要分為人體、衣物和藏匿物,人體和衣物對探測能量是透射的,而藏匿物的亮溫主要來自反射環(huán)境的亮溫,所以藏匿物與環(huán)境背景在太赫茲圖像上的像素灰度值近似,可以采用Otsu算法進行圖像分割。假設檢測圖像由目標和背景兩部分組成,通過統(tǒng)計學方法計算出閾值T,使得這個閾值可以將目標和背景最大程度地區(qū)分[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的一階統(tǒng)計量,Otsu算法使得 σb2最大時所對應的T為最佳閾值。由類間方差可以判斷閾值選取的優(yōu)劣,類間方差越大則兩類差別就越大,就越容易區(qū)分背景區(qū)域與目標區(qū)域。

圖1是對人體拍攝的原始圖像及經預處理后的效果圖。人體左邊腰部放置了汽油罐,被識別物體的成像結果均在人體的邊緣且與背景混合,如圖1(a)所示。首先用Otsu閾值法計算圖像的閾值T,在對圖像進行分割時,人體的一些邊緣信息會被丟失,為了盡可能地保全人體以及被識別物體的有效信息,使人體不出現“斷腿”、“無足”現象,本文使用T/3作為太赫茲圖像二值化的理想閾值,圖像經二值化處理后的結果如圖1(b)所示。在二值化后的人體輪廓邊緣中,除了有邊緣有效信息之外還包含了孤立噪聲、邊緣刺峰等干擾信息,因此,需要對二值化后的結果進行腐蝕、膨脹、填充像素黑點以及平滑濾波處理,以去除圖像噪聲、銳化圖像邊緣,避免這些干擾點對邊緣物體的定位造成影響,效果如圖1(c)所示,最終完成圖像預處理。

圖1 圖像預處理效果圖Fig.1 Image preprocessing renderings

2 人體邊緣物體的識別

2.1 角點檢測原理

圖像預處理后,會出現人體邊緣物體和圖像背景融為一體的情況。同時,在實際安防檢測場景中,由于被測邊緣物體的形狀是未知的,且有隨機的凹凸特性,傳統(tǒng)的物體識別算法在針對形狀多變的物體識別時,其識別的準確性還有待提高。因此本文采用了一種基于Shi-Tomasi算子的角點特征識別算法,該算法是通過對角點的檢測篩選出邊緣物體的特征點,達到對人體邊緣物體識別的目的。

角點檢測是機器視覺系統(tǒng)中獲取圖像特征的一種方法,廣泛應用于運動目標跟蹤、圖像配準、全景圖像拼接、三維重建和物體識別等,也可稱為特征點檢測。算法的基本原理:設定一個固定窗口,使之在圖像上進行任意方向的滑動,比較滑動前后窗口中像素灰度變化的程度,如果窗口向任意方向的移動都導致圖像灰度的明顯變化,我們就可以認為在該窗口中存在角點。當窗口滑動時,滑動前與滑動后對應的窗口的像素點灰度變化可分別描述如下:

式中: (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)表明:當窗口在平坦區(qū)域滑動時,灰度不會發(fā)生變化,此時E(u,v)=0 ;如果窗口在紋理比較豐富的區(qū)域上滑動,灰度變化會很大。

對于局部窗口微小的移動量 (u,v) ,聯立式(7)、式(8)對E(u,v) 進行一階展開,得

由于角點檢測需要求解局部窗口內矩陣特征值,并且判斷特征值的大小,可將式(9)簡化成矩陣形式,即

式中M是 2 ×2 的矩陣,由圖像的導數求得,即

角點檢測是對窗口內的每個像素沿x、y方向上的梯度進行統(tǒng)計分析,把每個像素的梯度坐標表示成Ix、Iy。在幾何模型中,將矩陣M對角化后,特征值 λ1、λ2既是主分量上的方差,也是沿x、y方向的灰度變化率。圖2是不同區(qū)域像素的梯度分布:如果是平坦區(qū)域,窗口區(qū)域內像素點x、y方向上的梯度幅值非常小,此時矩陣對角化后的兩個特征值就較??;如果是邊緣區(qū)域,其邊緣上的像素點某個方向的梯度幅值較明顯,另一個方向梯度幅值變化較小,此時矩陣對角化后的兩個特征值應是一個較大,一個較??;如果存在矩陣兩個主分量的特征值都較大,說明像素點的梯度分布比較散,但梯度變化程度比較明顯,因此符合角點在窗口區(qū)域的特征。我們雖然利用E(u,v)來表述角點,但最終還是通過圖像像素梯度矩陣中兩個特征值的大小來判斷像素的屬性。

圖2 不同區(qū)域像素的梯度分布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角點算子進行人體邊緣物體識別時,首先是把遍歷人體邊緣角點的閾值設置為軀干邊緣的橫向間距與兩腿之間、張開手臂之間的橫向間距中間值,防止頭和手臂、胯部和人體襠部之間被誤認為是被檢測物體。相比傳統(tǒng)全像素點比對的方式,本文算法不僅減小了計算量,而且避免了邊緣物體誤識別的情況。同時, 通過minDistance函數對相鄰角點最小間距的劃分后,可對物體邊緣的每一個角點特征進行精確提取,并對檢測劃分后的被識別物體角點進行一對一比對,保留了邊緣物體最顯著的強特征點,所以該算法在識別精度和準確性方面都得到了提高。本文算法識別結果如圖5所示,其中(a)為左邊腰部邊緣物體識別結果,(b)、(c)為其余位置的人體邊緣物體識別結果。

圖5 人體邊緣物體識別結果圖Fig.5 Result of human body edge object recognition

3 結 論

本文針對傳統(tǒng)多變邊緣物體識別過程中準確率低的問題,提出了一種基于Shi-Tomasi算子的特征提取算法,即將人體邊緣強角點及垂直方向閾值范圍內的相鄰角點組合連線,沿中點橫向遍歷像素變化點,并通過比對背景側數值最終實現人體邊緣物體的識別。測試選取了200幅圖像,被識別的物體有汽油罐、陶瓷刀、塑膠炸彈等,識別的位置分別在人體輪廓的肩部、腰部和腿部等部位。研究表明,該算法對邊緣物體識別的準確率可達98%,識別時間在1 s內,識別結果穩(wěn)定可靠,具有很強的實用性。

猜你喜歡
角點灰度邊緣
采用改進導重法的拓撲結構灰度單元過濾技術
基于灰度拉伸的圖像水位識別方法研究
基于FAST角點檢測算法上對Y型與X型角點的檢測
基于最大加權投影求解的彩色圖像灰度化對比度保留算法
一張圖看懂邊緣計算
基于邊緣的角點分類和描述算法
基于灰度線性建模的亞像素圖像抖動量計算
基于圓環(huán)模板的改進Harris角點檢測算法
基于Harris角點和質量評價的圖像篡改檢測
在邊緣尋找自我
富锦市| 刚察县| 沈阳市| 鄱阳县| 玛纳斯县| 库尔勒市| 靖西县| 芜湖县| 三原县| 浑源县| 衡东县| 亳州市| 瑞金市| 沁阳市| 赤壁市| 潢川县| 电白县| 蓝山县| 蓬溪县| 通山县| 井研县| 永福县| 抚松县| 建平县| 舒城县| 沭阳县| 阿鲁科尔沁旗| 巫溪县| 海宁市| 合作市| 营山县| 嫩江县| 清苑县| 江永县| 岢岚县| 德安县| 和田市| 巴彦淖尔市| 三门峡市| 临武县| 汝阳县|