張逸舟,許 睿,曾慶化,2,3,李一能,羅怡雪
(1.南京航空航天大學(xué)導(dǎo)航研究中心,南京 211106;2.南京航空航天大學(xué)先進(jìn)飛行器導(dǎo)航、控制與健康管理工業(yè)和信息化部重點(diǎn)實(shí)驗(yàn)室,南京 211106;3.南京航空航天大學(xué)江蘇省物聯(lián)網(wǎng)與控制技術(shù)重點(diǎn)實(shí)驗(yàn)室,南京 211106)
計(jì)算機(jī)視覺(jué)方案以其智能化、自主性、多場(chǎng)景的應(yīng)用優(yōu)勢(shì)成為了輔助自動(dòng)化設(shè)備工作的重要手段。單目視覺(jué)系統(tǒng)則以其結(jié)構(gòu)簡(jiǎn)單、獲取信息豐富、空間占用小等特點(diǎn)成為了研究領(lǐng)域的熱門(mén),如使用地面合作標(biāo)記獲取相對(duì)位姿信息輔助飛行器完成近地著陸引導(dǎo)[1],在飛行器空投作業(yè)過(guò)程中結(jié)合靶標(biāo)實(shí)現(xiàn)重物的精準(zhǔn)投放,或者在集裝箱搬運(yùn)過(guò)程中結(jié)合箱體表面紋理獲取位姿信息以完成自動(dòng)抓取操作等。合作目標(biāo)能否準(zhǔn)確識(shí)別將直接影響到求解位姿信息的精準(zhǔn)度以及作業(yè)效率,而非充分光照條件是增加識(shí)別難度的首要因素。
目前,已有許多結(jié)合單目合作目標(biāo)的視覺(jué)提取算法設(shè)計(jì)。西北工業(yè)大學(xué)的聶烜等[2]構(gòu)造了一種三層嵌套式 “回”字合作目標(biāo),避免了單層黑框結(jié)構(gòu)識(shí)別失敗導(dǎo)致解算不可用的情況,但該算法中缺少對(duì)使用時(shí)光照條件的討論。廣東電網(wǎng)有限責(zé)任公司的譚家祺等[3]設(shè)計(jì)了一種雙層式紅藍(lán)相間的箭頭形合作目標(biāo),該方案易受環(huán)境色溫的影響且需在光線(xiàn)充足的條件下使用。南京航空航天大學(xué)的王小洪[4]設(shè)計(jì)了二次Otsu算法,實(shí)現(xiàn)了合作目標(biāo)與背景的分離,但該算法近距離時(shí)會(huì)因同色上的光照差異反而容易丟失識(shí)別目標(biāo)。
以上學(xué)者的研究對(duì)光照條件均有一定要求,在諸如光照不足(陰天、昏暗室內(nèi)場(chǎng)景)及光照不均(陽(yáng)光陰影、光線(xiàn)遮擋)等非充分光照條件下使用,其魯棒性亟待提高。因此,本文針對(duì)此類(lèi)算法進(jìn)行研究和改進(jìn),提出了一種自適應(yīng)光照變化的單目視覺(jué)合作目標(biāo)提取方案。方案結(jié)合自適應(yīng)局部閾值二值化、形態(tài)學(xué)約束與Douglas-Peucker算法擬合邊緣,能實(shí)現(xiàn)在非充分光照條件下的合作目標(biāo)精準(zhǔn)跟蹤,具有一定工程應(yīng)用價(jià)值。
合作目標(biāo)為已知尺寸、形狀與結(jié)構(gòu)的圖案標(biāo)記。單目視覺(jué)在非合作目標(biāo)條件中使用時(shí)需要進(jìn)行初始化操作[5],若存在合作目標(biāo)且已知圖案的結(jié)構(gòu)關(guān)系,則可使用較為成熟的多點(diǎn)透視(Perspective-n-Point,PnP)算法直接完成相機(jī)與目標(biāo)間的位姿解算。提取合作目標(biāo)特征點(diǎn)坐標(biāo)是該算法求解位姿的關(guān)鍵所在,視覺(jué)圖像中點(diǎn)的坐標(biāo)通??梢杂孟袼?圖像坐標(biāo)、相機(jī)坐標(biāo)和世界坐標(biāo)進(jìn)行表示,由于相機(jī)存在畸變,故首先需要對(duì)捕獲圖像中點(diǎn)的坐標(biāo)進(jìn)行換算。小孔成像模型的表達(dá)式為
畸變矯正過(guò)程的表達(dá)式為
式(1)、 式(2)中, (u0,v0)為光心像素坐標(biāo)偏置, (u,v)為像素坐標(biāo), (xc,yc,1)、 (xd,yd,1)為對(duì)應(yīng)點(diǎn)畸變矯正前后的相機(jī)坐標(biāo),dx、dy、f為兩軸分辨率與鏡頭焦距,M為相機(jī)內(nèi)參數(shù)矩陣,k1、k2、k3、p1、p2為徑向和切向畸變參數(shù),r為中心距常量。分辨率、鏡頭焦距、畸變參數(shù)以及光心偏置均為待標(biāo)定相機(jī)參數(shù),本文參考張正友標(biāo)定法使用棋盤(pán)格進(jìn)行快速標(biāo)定[6],標(biāo)定棋盤(pán)格如圖1所示。
圖1 標(biāo)定用棋盤(pán)格Fig.1 Diagram of checkerboard for calibration
本文研究的單目合作目標(biāo)定位算法流程框圖如圖2所示。本章節(jié)首先介紹雙層四邊形結(jié)構(gòu)合作目標(biāo)的設(shè)計(jì)思路,并對(duì)自適應(yīng)局部閾值化、形態(tài)學(xué)約束、邊界擬合算法進(jìn)行具體說(shuō)明。
圖2 單目合作目標(biāo)算法流程框圖Fig.2 Flowchart of monocular cooperative target algorithm
合作目標(biāo)的形狀特征容易影響角點(diǎn)的提取精度和解算結(jié)果,因此需要根據(jù)實(shí)際測(cè)量對(duì)象選擇適合的合作目標(biāo)圖形[7]。在PnP問(wèn)題中,三個(gè)特征點(diǎn)的P3P問(wèn)題將產(chǎn)生四組可能解,而特征點(diǎn)大于等于四的P4P問(wèn)題可以獲得唯一解[8]。綜合以上考慮,本文設(shè)計(jì)合作目標(biāo)為雙層四邊形結(jié)構(gòu),并且定義外輪廓的四個(gè)直角頂點(diǎn)作為特征角點(diǎn)。
合作目標(biāo)設(shè)計(jì)原則如下:目標(biāo)圖案由具有高對(duì)比度的深淺兩色構(gòu)成(以黑白色為主)且具備內(nèi)外輪廓,內(nèi)外輪廓為邊長(zhǎng)比例相同的同心四邊形,內(nèi)外輪廓對(duì)應(yīng)邊長(zhǎng)比例為R,并預(yù)留寬度為L(zhǎng)的淺色外框區(qū)域,R、L、四邊形形狀以及圖案實(shí)際尺寸的選擇應(yīng)遵循合作目標(biāo)易于辨識(shí)的設(shè)計(jì)初衷。本文實(shí)驗(yàn)用箱體如圖3(a)所示,則可設(shè)計(jì)如圖3(b)所示的合作目標(biāo)圖案。圖案形狀采用較為通用的正方形,內(nèi)外輪廓邊長(zhǎng)比例R為0.65,合作目標(biāo)外輪廓邊長(zhǎng)為40cm,內(nèi)輪廓邊長(zhǎng)為26cm,預(yù)留白色外框區(qū)域?qū)挾萀為5cm。
圖3 實(shí)驗(yàn)箱體與合作目標(biāo)設(shè)計(jì)圖Fig.3 Experiment box and the design of cooperative target
HSV色彩空間依據(jù)色調(diào)(Hue)、飽和度(Saturation)、明度(Value)對(duì)圖片色彩信息進(jìn)行劃分,考慮到視圖明暗特征最容易被感知,本文算法依據(jù)明度通道進(jìn)行圖像灰度化。當(dāng)使用場(chǎng)景中出現(xiàn)光照不足、光照不均等非充分光照情形時(shí),合作目標(biāo)的黑色區(qū)域?qū)?huì)因漫反射而呈現(xiàn)出不同明度,使用諸如大津法等全局閾值進(jìn)行二值化,目標(biāo)將難以被識(shí)別。針對(duì)上述問(wèn)題,本文提出一種改進(jìn)的自適應(yīng)局部閾值二值化方案,常規(guī)局部閾值二值化首先計(jì)算像素點(diǎn)(i0,j0)的獨(dú)立閾值thre(i0,j0),計(jì)算方法如下
式(3)中,S為采樣窗口邊長(zhǎng),C為門(mén)限值常數(shù),N為處于圖像范圍內(nèi)的采樣窗口中的像素點(diǎn)集,V(i,j)為采樣窗口中像素點(diǎn)的灰度。對(duì)于每個(gè)像素點(diǎn),使用獨(dú)立閾值進(jìn)行二值化代替全局單一閾值方案,可有效解決光照不均時(shí)的二值化問(wèn)題,但此方案仍有不足:當(dāng)采樣窗口選取過(guò)小時(shí),局部閾值二值化效果類(lèi)似于Canny邊緣檢測(cè)而不能獲得可用連通域;當(dāng)采樣窗口選取過(guò)大,光照不足條件下局部閾值的優(yōu)勢(shì)將被削弱,黑色標(biāo)記易與背景混淆而出現(xiàn)連通域斷裂,如圖4所示。在變化光照條件下使用,或在光照條件較弱、光線(xiàn)存在遮擋的情況下使用時(shí),常規(guī)局部閾值法所設(shè)置的單一采樣窗口、門(mén)限值常數(shù)無(wú)法適應(yīng)環(huán)境變更,亟待對(duì)算法作出相應(yīng)的改進(jìn),尋找一種恰當(dāng)?shù)淖赃m應(yīng)調(diào)節(jié)方式。
圖4 局部閾值二值化局限性Fig.4 Limitations of conventional local threshold binarization
本文充分考慮結(jié)合環(huán)境的整體明度值,自適應(yīng)控制局部閾值采樣窗口大小,且在非充分光照條件下降低門(mén)限值常數(shù)避免低對(duì)比度條件下有效像素點(diǎn)過(guò)少的情況。修改采樣窗口和門(mén)限值參數(shù)如式(4)所示,Vm為環(huán)境明度均值,表示向下取整數(shù)。該算法可保證常規(guī)光照條件下連通域的完整性,在非充分光照條件下也能使得連通域保持完整且避免和背景混淆。
自適應(yīng)局部閾值二值化獲得的二值圖像中存在大量的冗余輪廓,為保證算法效率并降低合作目標(biāo)的誤判率,結(jié)合合作目標(biāo)形態(tài)結(jié)構(gòu),本文算法制定如下三條約束規(guī)則:
1)為了保證合作目標(biāo)角點(diǎn)提取具有較高的精度,需要控制目標(biāo)輪廓的面積達(dá)到圖像總像素?cái)?shù)目的一定比例閾值m1,從而篩選掉圖中的小點(diǎn)狀噪聲輪廓,并排除合作目標(biāo)距離過(guò)遠(yuǎn)時(shí)的失效判斷。本文中,比例閾值m1選取為0.02%。
2)根據(jù)所設(shè)計(jì)的合作目標(biāo)可知,內(nèi)外輪廓面積比例有一定限制,正確的目標(biāo)輪廓一定具有子輪廓且子輪廓與目標(biāo)輪廓的面積之比不可低于比例閾值m2,從而篩選掉單層閉合輪廓以及錯(cuò)誤的雙層嵌套輪廓組。此面積之比在正視情況下的理論最小值為R2,因此比例閾值m2需要設(shè)置略微小于該值。本文中,比例閾值m2選取為0.35。
3)為包容非充分光照條件下自適應(yīng)局部閾值二值化可能產(chǎn)生的次子輪廓,需要對(duì)三層嵌套輪廓組進(jìn)行判別。由算法原理產(chǎn)生的次子輪廓面積通常偏小,因此可控制次子輪廓面積不超過(guò)目標(biāo)輪廓面積的一定比例閾值m3,當(dāng)比值達(dá)到本閾值時(shí)則認(rèn)為次子輪廓的出現(xiàn)并非由算法原理產(chǎn)生,進(jìn)而排除該組嵌套輪廓,如圖5所示。本文中,比例閾值m3選取為0.25。
圖5 包容非充分光照條件下的額外連通域Fig.5 Toleration of the extra connected regions under inadequate illuminated conditions
經(jīng)過(guò)上述步驟后,將篩選出合作目標(biāo)粗輪廓。由于粗輪廓邊緣存在大量毛刺,對(duì)于角點(diǎn)的提取精度會(huì)有較大影響,因此需要對(duì)合作目標(biāo)輪廓進(jìn)行精細(xì)化提取。本文算法中使用具有較好魯棒性和精度的Douglas-Peucker算法[9]進(jìn)行直線(xiàn)擬合,該算法原理如圖6(a)所示:對(duì)于任意一條不規(guī)則曲線(xiàn),連接該曲線(xiàn)的端點(diǎn)并遍歷曲線(xiàn)上所有點(diǎn)至該弦的距離,若距離全部小于算法預(yù)設(shè)閾值,則判定該弦為曲線(xiàn)的擬合線(xiàn)段,否則取距離該弦的曲線(xiàn)上最遠(yuǎn)點(diǎn)將曲線(xiàn)段分割,重復(fù)前述步驟直至擬合完畢。若該閾值設(shè)置過(guò)大,會(huì)導(dǎo)致非合作目標(biāo)輪廓被擬合成四邊形而產(chǎn)生誤計(jì)算;若該閾值設(shè)置過(guò)小,算法將無(wú)法處理常規(guī)的噪聲干擾。當(dāng)采集圖像分辨率為640×480時(shí),設(shè)置該閾值為10像素左右效果良好。算法的實(shí)測(cè)效果如圖6(b)所示。
圖6 輪廓精細(xì)化提取方法示意圖Fig.6 Schematic diagram of contour refinement extraction method
本章節(jié)通過(guò)Jetson TX2開(kāi)發(fā)板搭建視覺(jué)平臺(tái)進(jìn)行合作目標(biāo)召回率(指正確提取合作目標(biāo)圖片數(shù)目與測(cè)試圖片總數(shù)目之比)測(cè)試,評(píng)估算法對(duì)目標(biāo)提取的魯棒性與實(shí)時(shí)性。
實(shí)驗(yàn)用圖像采集設(shè)備為小覓雙目相機(jī)深度版(MYNT EYE-D)右側(cè)攝像頭,算法代碼運(yùn)行于配置了OpenCV 3.3.1環(huán)境的Ubuntu 16.04系統(tǒng),運(yùn)行設(shè)備為使用NVIDIA Pascal GPU架構(gòu)的Jetson TX2圖形處理器,如圖7所示。
圖7 Jetson TX2搭建的實(shí)驗(yàn)平臺(tái)Fig.7 Experiment platform built by Jetson TX2
實(shí)驗(yàn)以大津法二值化、常規(guī)局部閾值二值化算法作為對(duì)照參考,在非充分光照條件下測(cè)試本文算法的效果。以合作目標(biāo)表面的部分圖像為對(duì)象建立圖像直方圖,如圖8所示。
圖8 正常光照、光照不足、光照不均直方圖說(shuō)明Fig.8 Histogram descriptions of normal illumination,insufficient illumination and uneven illumination
本文實(shí)驗(yàn)中,對(duì)于光照條件的定義如下:設(shè)光照不足明度范圍為α1~α2,在直方圖中確定像素?cái)?shù)目最多和次多的雙峰灰度值坐標(biāo),以該坐標(biāo)為中心建立寬度為β的區(qū)域并設(shè)該區(qū)域?yàn)楣逃须p峰區(qū)域(圖中標(biāo)紅)。
1)正常光照:全體像素點(diǎn)灰度均值大于α2,除固有雙峰區(qū)域外不存在最大寬度同為β的連續(xù)區(qū)域像素點(diǎn)數(shù)目達(dá)到或超過(guò)像素總數(shù)的15%(對(duì)應(yīng)直方圖面積不超過(guò)總面積的15%)。
2)光照不足:全體像素點(diǎn)灰度均值處于α1~α2范圍,除此之外的條件與正常光照情況相同。
3)光照不均:全體像素點(diǎn)灰度均值大于α2,除固有雙峰區(qū)域外仍存在最大寬度為β的連續(xù)區(qū)域像素點(diǎn)數(shù)目達(dá)到或超過(guò)像素總數(shù)的15%(圖8(c)中標(biāo)藍(lán)部分)。本文中,定義α1為30灰度刻度、α2為60灰度刻度、區(qū)域?qū)挾圈聻?0灰度。
以上述非充分光照條件為前提,采集兩類(lèi)場(chǎng)景下的各65張獨(dú)立照片進(jìn)行測(cè)試,測(cè)試用部分原始圖像如圖9所示。該實(shí)驗(yàn)過(guò)程中,通過(guò)調(diào)節(jié)燈光強(qiáng)度、使用物體遮擋等方式模擬在實(shí)際使用場(chǎng)景中可能遭遇的光照變化狀況。
圖9 測(cè)試用部分原始圖像Fig.9 Schematic diagram of some original images used for testing
獲得的光照不足、光照不均條件下合作目標(biāo)召回率統(tǒng)計(jì)數(shù)據(jù)如表1、表2所示。
表1 光照不足條件下的召回統(tǒng)計(jì)信息Table 1 Recall statistics under insufficient illumination
表2 光照不均條件下的召回統(tǒng)計(jì)信息Table 2 Recall statistics under uneven illumination
由表1、表2可知,本文算法在這兩類(lèi)情況下均有高于90%的標(biāo)記召回率,偏差與誤檢測(cè)率低,且單幀的解算耗時(shí)為10-4ms數(shù)量級(jí),可以滿(mǎn)足在采集圖像的同時(shí)進(jìn)行位姿估計(jì)。
圖10為本文算法與其他二值化算法的效果對(duì)比示例,此處僅給出了圖9中第一張圖片(左一)的處理效果。由圖10可知,使用大津法二值化、常規(guī)局部閾值二值化均無(wú)法檢測(cè)出目標(biāo)(屬于無(wú)響應(yīng)檢測(cè)),而使用本文提出的結(jié)合形態(tài)學(xué)約束、Douglas-Peucker算法的自適應(yīng)局部閾值目標(biāo)提取算法則能夠準(zhǔn)確提取目標(biāo)輪廓,實(shí)用性良好。
圖10 二值化效果對(duì)比示例Fig.10 Comparison examples of binarization effect
本文結(jié)合單目合作目標(biāo)位姿解算需求,設(shè)計(jì)了具有四個(gè)特征角點(diǎn)的雙層四邊形(文中以雙層黑白方形為例)合作目標(biāo),提出了具有形態(tài)學(xué)約束的自適應(yīng)局部閾值目標(biāo)提取算法,有效解決了在非充分光照條件下單目視覺(jué)合作目標(biāo)的提取困難問(wèn)題,可以很好地應(yīng)用于需要使用合作目標(biāo)的視覺(jué)定位場(chǎng)合。本文算法在光照不足、光照不均條件下的使用效果明顯優(yōu)于大津法二值化和常規(guī)局部閾值二值化,具有高達(dá)92.3%的標(biāo)記召回率,單幀解算耗時(shí)不超過(guò)2×10-4ms,兼顧了魯棒性與實(shí)時(shí)性的使用需求,具有良好的工程應(yīng)用前景。