高春艷,呂盛璠,呂曉玲,孫凌宇
(河北工業(yè)大學(xué)機械工程學(xué)院,天津300130)
近年來,各國利用車輛藏匿危險品、違禁品等高危物品的犯罪行為呈上升趨勢,對人民的生命財產(chǎn)安全造成了嚴(yán)重威脅,因此對車輛的安全檢查需引起進一步重視[1],而車輛檢測中又以危險品藏匿于車輛底盤時最難檢測,故車底檢測已成為安保領(lǐng)域研究的重點與難點。
目前車底檢測技術(shù)手段主要采用手持探鏡及視覺檢測等方式,檢測的關(guān)鍵是對目標(biāo)進行特征提取,常見的特征有輪廓、邊緣、特征點等。為提取和描述圖像中的局部特征,文獻[2]提出一種尺度不變特征轉(zhuǎn)換(Scale-Invariant Feature Transform)視覺算法,具有較強的魯棒性,但計算量大,效率低。而文獻[3]提出PCASIFT算法對特征向量描述子降維,但效果不理想,且計算量仍較大。為此,文獻[4]提出一種SURF(Speeded up Robust Features)加速穩(wěn)健特征算法,相比SIFT算法大幅提高了計算速度,但復(fù)雜環(huán)境下仍存在特征提取效率低、錯誤率高等不足,制約了車底高危目標(biāo)檢測精度的提升。
為此,提出了一種安保機器人車底高危目標(biāo)檢測方法,能夠?qū)崿F(xiàn)目標(biāo)的快速檢測。本方法首先對原始輸入圖像進行雙邊濾波,然后將圖像在小波域中作一次變換并取出其中的低頻分量圖像作為新的輸入,再利用SURF提取特征點,并采用基于尺度和方向限制的單向匹配策略尋找匹配點對。在此基礎(chǔ)上,利用改進的RANSAC算法提純,然后對目標(biāo)圖像進行校正,最后采用基于卷積的NCC分塊匹配策略尋找高危目標(biāo)。針對改進方法的檢測效果,搭建實驗平臺開展了系列測試驗證實驗。
SURF 算法計算速度較快,并且在抗尺度變化、光照、旋轉(zhuǎn)等方面有較好的表現(xiàn)。在SURF 算法的基礎(chǔ)上,在特征點匹配階段采用改進的單向匹配策略進一步提高了匹配精度和速度。如下所示。
用盒式濾波器[5]對圖像作卷積操作,通過改變盒式濾波器的尺寸和模糊系數(shù),在圖像上作x、y、z方向的卷積,構(gòu)建尺度空間金字塔。
Hessian矩陣的原始判別式用detH來表示:
式中:L xx—水平方向二階導(dǎo)數(shù);Lyy—垂直方向二階導(dǎo)數(shù);Lxy—水平與垂直方向二階導(dǎo)數(shù);L—高斯濾波處理后的圖像。
因使用盒式濾波器會帶來一定誤差,故對Dxy乘上加權(quán)系數(shù)0.9,detH變?yōu)槿缡剑?)所示:
式中:Dxx—待檢測特征點水平二階偏導(dǎo);
Dyy—待檢測特征點垂直二階偏導(dǎo);
Dxy—待檢測特征點水平與垂直方向二階偏導(dǎo)。
待Hessian 矩陣計算出極值點后,再濾掉錯誤點及能量較弱點,然后篩選特征點。
為尋找特征點的方向特征,使其具有魯棒性,采用滑動扇形窗口的方式進行移動。首先以特征點為圓心,計算其圓形鄰域內(nèi)的harr小波特征,統(tǒng)計60°扇形內(nèi)全部特征點的垂直、水平harr小波特征(響應(yīng))之和,根據(jù)距離特征點的遠近程度分別給這些響應(yīng)值賦以不同的高斯權(quán)重系數(shù)。其次將該扇形區(qū)域中響應(yīng)值相加得到新的矢量,然后再將扇形以單次0.2弧度進行旋轉(zhuǎn),使之遍歷整個圓形區(qū)域,并再次統(tǒng)計該區(qū)域響應(yīng)之和,將統(tǒng)計出的最長矢量方向作為特征點的主方向。滑動扇形窗口,如圖1所示。
圖1 滑動扇形窗口Fig.1 Sliding Fan Window
建立特征描述向量。計算鄰域內(nèi)haar小波響應(yīng)構(gòu)造特征點描述子,以特征點為中心,選?。?×4)的矩形區(qū)域塊,總共具有16個子區(qū)域,該區(qū)域的方向為特征點的主方向。統(tǒng)計每個子區(qū)域中25個像素的垂直方向和水平方向的haar小波特征,方向是相對主方向而言。令dx為haar小波在x方向上響應(yīng),dy為該haar小波在y方向上的響應(yīng),對響應(yīng)dx和dy采用高斯加權(quán)求和,得到Σdx和Σdy,再求取響應(yīng)絕對值之和得到Σ|dx|和Σ|dy|。最終形成一個4維的描述向量:D=(Σdx,Σdy,Σ|dx|,Σ|dy|),將所有子區(qū)域的描述向量串聯(lián)起來形成64維特征描述向量,如圖2所示。
圖2 特征描述子Fig.2 Feature Descriptor
應(yīng)用SURF算法提取特征點之后,需要對特征點進行配準(zhǔn)。單向匹配相對于最近鄰匹配和雙向匹配速度快,但是匹配精度不如后者,故為提高匹配精度,通過單向匹配和方向及尺度約束一致性約束的方法來尋找特征點之間的對應(yīng)匹配關(guān)系。首先對目標(biāo)圖像進行單向匹配,再分別計算出對應(yīng)特征描述向量之間方向的差值以及尺度的差值,當(dāng)方向差值和尺度差值分別在設(shè)定的閾值范圍之內(nèi)則認為匹配成功,否則需要剔除錯誤的匹配點,不僅準(zhǔn)確率高而且速度快。
具體實現(xiàn)流程如下:
(1)計算出每一個匹配點對特征描述向量主方向之間的差值:
式中:S1—標(biāo)準(zhǔn)圖像特征描述向量主方向的角度;S2—目標(biāo)圖像特征描述向量主方向的角度;i—特征點匹配對數(shù)。
(2)統(tǒng)計Si值并生成直方圖,以β°為一柱,共柱。
(3)計算出每個特征點匹配對尺度因子之間的差值:
式中:σ1—標(biāo)準(zhǔn)圖像特征點尺度因子的大??;σ2—為標(biāo)目標(biāo)圖像中特征點尺度因子的大??;i—特征點匹配對數(shù)。
(4)計算出尺度因子的差值以及直方圖中峰值角度,峰值Si所在β°范圍內(nèi)以及尺度因子σi的差值在閾值α之內(nèi)的作為正確的匹配點對予以保留。
在目標(biāo)檢測之前,對圖像做一定的預(yù)處理對后續(xù)圖像處理部分有著至關(guān)重要的影響。小波變換則是一種處理方法,對圖像進行小波變換[6],每次變換可以得到四幅圖像,其中就包含有低頻分量圖像。將原輸入圖像之間的匹配轉(zhuǎn)化為經(jīng)小波變換后低頻分量之間的匹配,可以縮小搜索范圍,減少變換矩陣的計算量。將小波的優(yōu)勢應(yīng)用到這里方法中可提高計算效率。
如果圖像進行多次小波變換再進行匹配會導(dǎo)致特征點減少,而且增加時間,因此這里只進行一次哈爾小波分解[7],哈爾小波的定義式為:
其尺度函數(shù)為:
取出其中的低頻分量圖像作為輸入圖像。低頻分量圖像不僅保留了圖像的大體信息,而且相比于原圖像信息量減少,可以加快特征點的提取速度。
這里將小波變換與SURF算法結(jié)合,提出一種安保機器人車底高危目標(biāo)檢測方法。檢測方法的流程如下:
(1)將圖像進行一定比例縮小,然后采用雙邊濾波器[8]對輸入圖像進行處理,以針對車底圖像特點達到保邊去噪的目的。
(2)將輸入圖像進行一次小波分解,取出其中的低頻分量圖像作為改進SURF算法的輸入圖像。
(3)使用改進的SURF 算法提取圖像中的特征點,并用基于尺度和方向限制的單向匹配策略求取特征點對。
(4)采用改進的RANSAC 算法剔除誤匹配點對,求取變換模型。
(5)根據(jù)求取出的變換模型中特征點的比例關(guān)系計算出圖像縮放比例,對圖像進行校正。
(6)運用基于卷積的NCC 分塊匹配策略標(biāo)定車底高危目標(biāo)位置。
傳統(tǒng)的RANSAC[9]算法是一種隨機參數(shù)估計算法,其具體步驟為:
(1)在匹配點對中隨機選取8個匹配點對作為初始模型,并確定模型參數(shù)。
(2)用步驟(1)中得到的初始模型對所有匹配點對進行測試,如果某匹配點符合該模型,則認為該點為內(nèi)點。
(3)計算得到的內(nèi)點數(shù)量,若足夠多即合理。
(4)重復(fù)步驟(1)~步驟(3),進行迭代,直到得到的內(nèi)點數(shù)量最多、誤差最小時停止。
(5)計算出正確的匹配點對集。
雖然RANSAC 算法較好的解決了誤匹配點較多的問題,但由于算法本身的復(fù)雜性導(dǎo)致耗時增加,故這里在傳統(tǒng)RANSAC算法的基礎(chǔ)上做了以下改進以提高計算效率。具體步驟如下:將匹配點對中特征點的角度差值大小Si作為評價匹配點好壞的標(biāo)準(zhǔn),匹配點質(zhì)量的好壞和角度差Si成反比。將匹配點根據(jù)質(zhì)量好壞排序,將質(zhì)量最好的8個匹配點對進行模型參數(shù)擬合,最后用該模型估計一定距離閾值內(nèi)的匹配點,將其作為最終的匹配點對。本方法減少了RANSAC算法自身因樣本選擇帶來的耗時問題,并且提高了特征點匹配準(zhǔn)確度。
改進的RANSAC 算法主要是從減少迭代次數(shù)方面來優(yōu)化。篩選匹配點主要步驟是:首先,將特征匹配點對集合按特征點方向的差值大小Si由小到大排序,選擇其中差值最小的8個匹配點對作為模型參數(shù),并進行擬合,得到模型J。然后用模型J測試匹配點對中的所有點的距離是否小于某個閾值,如果是的話,則此點屬于內(nèi)點,否則為外點。最后,得到篩選后的匹配點對集合。
這里應(yīng)用場景為道口,使用線陣相機采集圖像,垂直于車行進方向擺放。由于對車速要求很高,但實際中難以達到完全勻速行駛,以致相機拍攝到的圖像在車行進方向會產(chǎn)生一定變形,因此解決車速控制帶來的圖像變形問題是整個實驗的關(guān)鍵。為此首先采集標(biāo)準(zhǔn)圖像,為提高危險品的檢測準(zhǔn)確度,需將目標(biāo)圖像變換至和標(biāo)準(zhǔn)圖像近似大小。從經(jīng)過改進的RANSAC提純的正確匹配點對中隨機選取兩對,可以通過求解線段的比例關(guān)系得到縮放比例。標(biāo)準(zhǔn)圖中線段兩個端點分別為A1(x1,y1),B1(x2,y2)。假設(shè)待匹配圖中兩個端點分別為A2(x3,y3),B2(x4,y4)。如圖3所示。
圖3 坐標(biāo)系Fig.3 Coordinate System
x方向的縮放為:
y方向的縮放為:
求得縮放比例系數(shù)K1和K2,可將目標(biāo)圖像縮放至標(biāo)準(zhǔn)圖像近似大小。
圖像匹配技術(shù)[10]是指在已知基準(zhǔn)圖像和模板圖像中,在基準(zhǔn)圖像中尋找與模板圖像最相似的區(qū)域,達到目標(biāo)識別和定位的目的。歸一化互相關(guān)[11](Nomalized Cross Correlation Method)技術(shù)則是一種匹配準(zhǔn)確、抗噪聲能力強的匹配算法,其具體定義為:
式中:R(m,n)—點(m,n)的歸一化互相關(guān)系數(shù);N1×N2—模板圖像大??;xi+m,j+n、yi,j—待匹配圖像中(i+m,j+n)、(i,j)處的灰度值。
R(m,n)的值域范圍為[-1,1],越接近于1,說明兩幅圖像的時互相關(guān)程度越高。但由于傳統(tǒng)的NCC算法計算量過大,實時性較差,將卷積應(yīng)用到NCC算法中,可以大幅提高計算速度。卷積積分常用于時域信號處理,二維連續(xù)信號卷積定義如下:
二維離散信號的卷積為:
結(jié)合式(9)可分析出NCC算法的分子部分為圖像在(m,n)位置兩幅模板圖像的卷積,即離散信號f1(m,n)與f2(m,n)的卷積,也就是信號1各點f1(s,t)順序與信號2從位置(m,n)處開始逆序?qū)?yīng)點f2(m-s,n-t)的乘積之和。
將標(biāo)準(zhǔn)圖像劃分為S*S 的網(wǎng)格結(jié)構(gòu),空缺部分用黑像素填充,如圖4所示。采用分塊匹配策略[12],將每個網(wǎng)格作為模板圖像,依次在目標(biāo)圖像中進行搜索,通過計算每個網(wǎng)格和目標(biāo)圖像的NCC值,并設(shè)置閾值k,將結(jié)果和k相比較,低于k值的區(qū)域在目標(biāo)圖像中進行標(biāo)記,來尋找危險品的大致區(qū)域。
圖4 標(biāo)準(zhǔn)圖像網(wǎng)格劃分Fig.4 Standard Image Meshing
安保機器人目標(biāo)檢測方法流程,如圖5所示。
圖5 算法流程圖Fig.5 Algorithm Flowchart
為驗證本方法的可行性,搭建的安保機器人實驗平臺,如圖6、圖7所示。利用HIKVISION移動式車底掃描儀分別拍取目標(biāo)圖像(帶有危險品的圖像)和標(biāo)準(zhǔn)圖像,采用塑料袋等效待檢測高危目標(biāo)。實驗過程中控制車輛勻速行駛經(jīng)過檢測設(shè)備正上方。本實驗平臺基于:CPU Intel i5-8400U 處理器、Intel HD630顯卡、8G DDR3 內(nèi)存、Windows 7 軟件開發(fā)系統(tǒng)、Opencv 和Visual studio2015。根據(jù)SURF算法中采用卷積的特性,因此便于實現(xiàn)并行計算[13]。實驗采用兩個線程并行提取圖像中的SURF特征點,在輸入圖像時將圖像縮小為原圖像的八分之一,因圖像特征主要由自身屬性決定,故細節(jié)丟失較少。本方法提取到的特征點數(shù)目雖然會一定程度減少,但準(zhǔn)確率基本不變,且大幅提高了計算效率。
圖6 實驗場景1Fig.6 Experimental Scene 1
圖7 實驗場景2Fig.7 Experimental Scene 2
為驗證這里算法的優(yōu)越性,實驗以7500*2048,7800*2048范圍內(nèi)近似大小的多組圖像為例進行特征點匹配,并進行高危目標(biāo)位置標(biāo)定。將β設(shè)置為10°,a設(shè)置為4,k設(shè)置為0.65。對不同算法進行性能對比實驗,并以某組圖像為例進行危險品位置檢測,實驗結(jié)果,如圖8~圖11所示。匹配結(jié)果對比,如表1所示??芍@里改進的匹配算法匹配點對數(shù)較原來的配準(zhǔn)算法少52.8%,但匹配正確率提高了1.3%,時間縮短了24.2%,故證明本方法具有一定實用價值。
表1 匹配結(jié)果對比Tab.1 Comparison of Matching Results
圖8 標(biāo)準(zhǔn)圖像和目標(biāo)圖像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算法分別計算出每個子區(qū)域塊與待匹配圖像NCC的最大值,按照從左到右,從上到下的順序依次標(biāo)號,計算出的值,如圖12所示。從標(biāo)號1開始至標(biāo)號16,計算出的結(jié)果分別為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結(jié)果Fig.12 Block Matching NCC Results
將以上數(shù)值與設(shè)置的閾值k比較,對高危目標(biāo)位置用紅色線框進行標(biāo)記,檢測結(jié)果,如圖13所示。實驗表明,本方法在目標(biāo)檢測階段能夠標(biāo)定出危險目標(biāo)位置,滿足車底危險目標(biāo)的檢測要求。
圖13 高危目標(biāo)位置標(biāo)記Fig.13 High-Risk Target Calibration
針對標(biāo)準(zhǔn)圖像和待配準(zhǔn)圖像的匹配精度、檢測效率、高危目標(biāo)檢測方法展開研究,提出了一種安保機器人車底高危目標(biāo)檢測方法。首先對SURF算法進行改進,通過計算特征描述向量方向的差值和特征點尺度因子的差值,以剔除誤匹配點對,然后利用改進的RANSAC 算法計算出兩張圖像的變換模型,再對圖像進行縮放校正,最后利用基于卷積的NCC分塊匹配算法對危險品位置進行標(biāo)記。實驗結(jié)果表明,相較于基于SURF+RANSAC 算法的檢測方法,本方法將匹配正確率提高了1.3%,時間縮短了24.2%,在后續(xù)目標(biāo)檢測階段成功檢測出了高危目標(biāo)位置,從而滿足車底安檢的需求。