楊天陽,金立左,潘 虹
(東南大學自動化學院,南京 210096)
目標定位與跟蹤是計算機視覺研究的重要課題之一,包括基于合作目標和非合作目標[1]的兩大類方案.在沒有顯著視覺目標可參考的情況下,目標定位與跟蹤系統(tǒng)常借助合作目標進行定位.基于合作目標的定位、測量和姿態(tài)解算方法,包括目標的設(shè)計、特征提取、識別及位姿求解等步驟[2],因其系統(tǒng)結(jié)構(gòu)簡單、精度高、性能穩(wěn)定、成本低廉、設(shè)計性強等優(yōu)點而備受關(guān)注[2-3],在航天器交會對接[4]、空間機器人視覺伺服控制[5]、太空機械臂操控[6-7]、無人機自動著陸[8-9]等方面極具研究與應用前景.目前,運用該方法針對近距離合作靶標識別的研究較為成熟,可以進行實時視覺測量,實現(xiàn)機械臂在復雜背景下的快速識別抓取[10-11].為了提高該算法抗形變和抗干擾的魯棒性,孫國鵬等[12]提出一種基于合作目標的多特征遞進識別算法.Wen等[10]提出結(jié)合圓和線特征的空間機械臂位姿測量算法,克服了傳統(tǒng)的基于Hough變換的圓檢測算法及其改進算法[13-14]速度慢的缺點,可實時識別0.3~1.5 m范圍內(nèi)復雜背景下的合作目標.而在移動機器人導航等應用中,合作靶標識別還要適應遠距離場景,遠距離場景的背景干擾多、靶標像素所占比例小,檢測識別難度大.因此,關(guān)于遠距離場景的靶標設(shè)計與精準定位算法的研究,具有挑戰(zhàn)性和應用價值.本文在深入研究合作目標設(shè)計的基礎(chǔ)上,提出一種簡單高效的二維合作目標設(shè)計方案及針對此合作目標的檢測跟蹤算法,可適用于距離較長的靶標識別.
為提高目標識別性,以適應較遠距離的場景,設(shè)計的合作目標表面應具有區(qū)分性、不變性、可重復性的顯著特征,同時為減少計算量,目標設(shè)計宜簡易.圖1為本文的合作目標模型設(shè)計圖及其在干擾背景下的實拍照片.該合作目標模型有以下特點: 1) 8個圓形斑塊(即靶元)等距分布在一個大圓(目標圓)的圓周上,該目標具有平移和旋轉(zhuǎn)不變性,滿足合作目標設(shè)計的要求[4];2) 黑白色具有對比度最大化特點,結(jié)合自適應的二值化方法,可以適應不同的光照條件,又能降低對硬件的要求,擴寬應用場合;3) 多斑塊組合具有多個相同的局部子結(jié)構(gòu),在圖像被局部遮擋的情況下仍然可以被識別;4) 斑塊和目標圓的半徑比例、黑色斑塊和白色背景的上下文關(guān)系以及斑塊之間的共圓性,共同構(gòu)成強的結(jié)構(gòu)約束條件,可以抵抗相似物的干擾,便于模型的精確計算與驗證.
圖1 合作目標設(shè)計圖(插圖)及其在干擾背景下的實拍照片F(xiàn)ig.1 The design of cooperative target (illustration) and its actual photo in the clutter environment
由于本合作目標的背景色和靶元屬于不同灰度范圍,且對比度高,實際運用中可采集灰度圖并進行二值化處理,以降低計算量.本文采用最大類間方差法(OTSU)[15]得到合適的分割閾值,完成灰度圖像的二值化,再采用4鄰域連通標記將候選靶元分割并標記出來.當成像設(shè)備和合作目標距離較遠時,背景干擾不可避免,所以先要根據(jù)靶元特征對候選靶元進行篩選.靶元特征包括:靶元面積、靶元外接框的長寬比等基本參數(shù),以及靶元和背景的上下文信息,即靶元與其局部背景的亮度對比.靶元篩選既提取了潛在斑塊,又抑制了大部分背景干擾,為后續(xù)合作目標的定位提供良好基礎(chǔ).
對合作目標圓的圓心和半徑進行計算,分為2個階段:利用候選靶元求解目標圓圓心;由圓心及其支持靶元推導出半徑.首先,通過3個靶元中任意2個靶元中心連線的垂直平分線交點可以確定合作目標的中心.為保證準確率,圓心計算之前要求檢測出的潛在靶元數(shù)量不少于4個.由于潛在靶元提取過程中存在雜波,因此需要一種穩(wěn)健的計算方法,由潛在靶元位置計算出準確的目標中心.本文采用的是投票法:分組計算多個潛在靶元的中心連線的垂直平分線交點,得出潛在目標中心,對應的潛在靶元記為該潛在目標中心的支持靶元,支持靶元的數(shù)量即該中心的投票數(shù).由于計算誤差的存在,相同物理位置上的圓心,其圖像坐標可能并不完全重疊,因此采用圖像網(wǎng)格量化的方法對網(wǎng)格內(nèi)的投票進行計數(shù),將計數(shù)達到一定閾值的網(wǎng)格作為合作目標中心的候選.其次,計算候選網(wǎng)格中所有支持靶元到對應圓心的距離,并求取其中值,作為該網(wǎng)格對應的參考半徑.最后,根據(jù)靶元和目標圓的半徑比值的約束條件,去除噪聲斑塊的干擾.圖2是本文的合作目標識別的整體算法流程,具體算法如下:
1) 對輸入圖像采用最大類間方差法計算合適的分割閾值,完成圖像的二值化,再采用4鄰域連通標記提取靶元,分割并標記為候選靶元,計算靶元的最小外接矩形框,作為靶元外接框.
2) 根據(jù)靶元特征結(jié)合上下文對候選靶元進行篩選.驗證條件包括: ① 候選靶元的像素個數(shù)是否在雙閾值Smin和Smax之間,Smin和Smax分別是應用場景中最遠和最近識別距離下靶元在圖像中所占像素的個數(shù),可根據(jù)成像原理及相機參數(shù)計算,也可直接測量標定;② 候選靶元外接框的長寬比是否滿足1±ε1(誤差限ε1=0.02);③ 每個靶元外接框中和靶元二值化結(jié)果相同的像素個數(shù)占靶元外接框總像素的比值是否滿足(πr2/(2r)2)±ε2(r為靶元半徑,誤差限ε2=0.03);每個與靶元外接框中心重合,但其長寬加長0.5倍的矩形中,和靶元二值化結(jié)果相同的像素個數(shù)占矩形總像素的比值是否滿足(πr2/(3r)2)±ε3(誤差限ε3=0.05).判斷滿足所有驗證條件的候選靶元個數(shù)是否不小于4,若否,則結(jié)束計算.
圖2 本文整體算法流程圖Fig.2 Flow chart of the proposed algorithm
3) 依次取候選靶元集合P中的2個元素pi和pj驗證:①pi和pj之間的歐式距離是否小于當前可能的最大合作目標直徑dmax(dmax為最近識別距離下目標圓的直徑的像素大小,取dmax為300像素);②pi和pj面積之比是否滿足1±ε4(誤差限ε4=0.05).若滿足所有驗證條件,則計算2個候選靶元的垂直平分線lij,得垂直平分線集合L.
5) 對所有潛在圓心進行網(wǎng)格量化搜索,并對每個網(wǎng)格中所有潛在圓心的支持半徑進行中值濾波計算,剔除野值后,將支持半徑個數(shù)記為該網(wǎng)格的投票數(shù),對應圓心記為該網(wǎng)格的支持圓心,1次搜索記為1次迭代.
6) 完成所有搜索或達到最大迭代次數(shù)時,搜索結(jié)束.將搜索結(jié)果按照網(wǎng)格的投票數(shù)降序排列,判斷投票數(shù)最多的網(wǎng)格票數(shù)是否大于最小門限:若否,則結(jié)束計算;若是,則對網(wǎng)格中圓心取平均值,得到該圖像的合作目標圓心,并將合作目標與圖像中心點的像素偏差Δω轉(zhuǎn)化為視場角度偏差Δθ=(Δω/l0)θ0,其中l(wèi)0為圖像的像素寬度,θ0為相機的視場角大?。?/p>
實驗采用實景拍攝的像素為720×576的灰度圖像,在配置為Intel Core i7 3.6 GHz,RAM 4 GB的計算機上,利用VS2013下Opencv2.4.11版本進行算法仿真,并將算法移植到嵌入式開發(fā)平臺上進行測試.圖3為本文采用的海思Hi3520D開發(fā)板的硬件模塊組成,包括視頻輸入、輸出端口,視頻采集芯片(NVP6114),處理器和用于掛載文件系統(tǒng)的網(wǎng)口等.
圖3 海思Hi3520D開發(fā)平臺硬件模塊Fig.3 Hardware module of the Hi3520D development platform
圖4是目標分別距成像設(shè)備7,3,0.25 m時目標識別干擾實驗的結(jié)果.如圖4所示,只要靶元清晰可見,本文算法對距離在0.25~7 m范圍內(nèi)的合作目標均有較好的識別效果.圖4(a)中目標周圍環(huán)境的光照充足,甚至存在反光,而圖4(b)中目標周圍光照相對較弱,在光照強度不同的情況下,本設(shè)計的二值化效果仍具有魯棒性.這是由于合作目標的靶元和背景具有最大的灰度對比度,所以采用簡單的自適應閾值分割就可以快速獲得準確結(jié)果.另外,圖4(b)所示的場景中除了合作目標外,還設(shè)置了大面積的黑白格棋盤作為背景干擾.在采用連通域標記提取候選靶元時,背景棋盤格的白色方塊也被一同標記了(如圖4(b)中紅色方框),但經(jīng)濾波處理后,綠色方框所包含的背景干擾大幅度降低.如果直接驗證全部候選靶元子集之間的結(jié)構(gòu)是否滿足約束條件,會大大增加計算量,所以本文利用黑色靶元與白色背景之間的對比度,在計算目標中心之前先進行上下文濾波處理.
紅色方框表示候選靶元,綠色方框表示篩選后的候選靶元,黃色圓圈表示目標中心識別結(jié)果.圖4 不同距離下的目標識別干擾實驗Fig.4 Interference experiments of target recognition in different distances
將合作目標分別朝順時針和逆時針方向旋轉(zhuǎn)一定角度,并對目標進行局部遮擋后進行目標識別測試,結(jié)果如圖4所示.由圖4可見,目標旋轉(zhuǎn)后依然有很好的識別效果.因為本合作目標的靶元和整體都采用圓形設(shè)計,所以對旋轉(zhuǎn)變化不敏感.圖4(b)還說明,合作目標的部分遮擋沒有對識別結(jié)果產(chǎn)生影響.本設(shè)計只需4個靶元即可計算目標圓心,理論上可以接受合作目標表面的50%被遮擋,所以本設(shè)計在局部遮擋的情況下也具有較強魯棒性.
將本文算法在Windows7系統(tǒng)、VS2013和Opencv2.4.11開發(fā)平臺的PC端進行仿真測試,平均運行時間是45 ms·幀-1,在運行環(huán)境為Linux內(nèi)核的嵌入式平臺上進行實際測試,平均運行時間是100 ms·幀-1,結(jié)果均達到實時性應用的要求.
紅色方框表示候選靶元,綠色方框表示篩選后的候選靶元,黃色圓圈表示目標中心識別結(jié)果.圖5 旋轉(zhuǎn)與局部遮擋識別目標的實驗Fig.5 Experiments of rotation and partial occlusion of the recognition target