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

?

激光與視覺融合的透視平面檢測與深度預(yù)測研究

2021-12-01 07:41趙宇琦連曉峰王宇龍田梓薇徐晨星
計(jì)算機(jī)測量與控制 2021年11期
關(guān)鍵詞:像素點(diǎn)平面深度

趙宇琦,連曉峰,王宇龍,田梓薇,徐晨星

(1.北京工商大學(xué) 人工智能學(xué)院,北京 100048;2.中國兵器工業(yè)信息中心,北京 100089)

0 引言

透視平面通常具有廣泛的實(shí)用和裝飾用途,由于其透光無色的特性,通常是一種非晶態(tài)的無定形的固體,其透光無色的特性會對現(xiàn)有的計(jì)算機(jī)視覺系統(tǒng)與激光傳感器系統(tǒng)造成嚴(yán)重的干擾(如深度預(yù)測[1]和激光測距[2]):視覺傳感器及其算法無法分辨透視平面,且由于視覺傳感器提供的圖像只有二維的信息,所以通常會誤判透視平面后的信息;又由于透視平面通常為無色透光平面,會對激光傳感器測量的距離信息造成嚴(yán)重影響,使其接收錯誤的深度信息。通過以上影響進(jìn)一步干擾機(jī)器人導(dǎo)航和無人機(jī)跟蹤等系統(tǒng)的運(yùn)行。為了解決這一問題,系統(tǒng)必須能夠從輸入的數(shù)據(jù)中檢測透視平面。

現(xiàn)有的方法通常采取語義分割應(yīng)對這一問題,語義分割旨在將給定圖像分割并解析為不同語義類別的不同區(qū)域。近來,受益于深度神經(jīng)網(wǎng)絡(luò)的進(jìn)步,在語義分割這一方面已經(jīng)取得了較大的進(jìn)展;一些小型透視制品如杯子等,由于擁有相對固定的形狀可以用現(xiàn)有的方法很好的檢測出來,如RCNN[3](Regions with CNN features)、YOLO[4](You only look once)、RetinaNet[5]等算法。RCNN通過生成類別獨(dú)立的建議區(qū)域,為感知器提供候選區(qū)域從而提高性能;YOLO算法采用回歸的方法,對整張圖進(jìn)行預(yù)測,學(xué)習(xí)更為通用的圖像特征;RetinaNet通過提出其改造后的損失函數(shù),提高了算法的速度與精度。然而由于透視平面不具有固定的形狀,任何場景都有可能出現(xiàn)在透視平面的區(qū)域內(nèi),并且這些場景通常與透視平面周圍的場景具有一定的相似性,這使得對透視平面的檢測與深度預(yù)測從根本上不同于其他常見物體?,F(xiàn)有的物體檢測方法不適用于透視平面檢測,因?yàn)椴皇撬型敢晠^(qū)域都具有明確可識別的邊界這使得如HED[6](Holistically-nested edge detection)、RCF[7](Richer convolutional features)、Basnet[8](Boundary-aware salient network)等算法不能很好的得到應(yīng)用。此外,有些鏡像分割方法通過檢測鏡像邊界處的內(nèi)容不連續(xù)性來分割鏡像,如Mask RCNN[9],R3Net[10](Recurrent residual refinement network)、Picanet[11](Pixel-wise contextual attention network)等。然而這并不適用于透視檢測,因?yàn)橥敢暫竺娴膱鼍笆钦鎸?shí)場景的一部分,這使得透視邊界處的不連續(xù)性非常微弱,同時也加大了透視平面檢測的難度。深度預(yù)測算法旨在從二維的圖像中得到深度信息,而基于單目視覺傳感器的深度預(yù)測算法難以得到準(zhǔn)確的深度信息(如Monodepth[12]等算法),基于多個傳感器的深度預(yù)測算法也會忽視透視平面的存在(如SFM[13](Structure from motion)、Depth-VO-Feat[14]等算法),這說明預(yù)測透視平面本身的深度是一個被忽視的問題,同時也證明了問題的難度。

為了解決透視平面的檢測與深度預(yù)測這一問題,首先采用透視平面檢測網(wǎng)絡(luò)[15]獨(dú)有的廣域上下文特征融合模塊,同時提取高級特征與低級特征,從而達(dá)到模仿人類對透視平面的辨別方式,進(jìn)而檢測圖像輸入中的透視平面,其次采用MegaDepth[16]方法進(jìn)行相對深度預(yù)測,MegaDepth算法通過疊加多個沙漏模塊,不斷地對圖像進(jìn)行卷積提取高階特征,然后結(jié)合單一圖像反射去除[17](single image reflection removal——SIRR)算法,分離透視平面的背景,屏蔽背景信息對深度預(yù)測的干擾,進(jìn)而對圖像進(jìn)行相對深度預(yù)測,最后結(jié)合激光傳感器提供的深度信息,記錄多個像素點(diǎn)在相對深度預(yù)測圖中的灰度及深度信息,并以灰度值為橫軸深度值為縱軸,應(yīng)用隨機(jī)抽樣一致性算法[18](random sample consensus——RANSAC)對所得點(diǎn)集進(jìn)行直線擬合,得到“灰度-深度”的標(biāo)尺,并通過標(biāo)尺完成對透視平面深度信息的預(yù)測。

1 透視平面檢測網(wǎng)絡(luò)

透視平面檢測網(wǎng)絡(luò)是一種專門針對檢測透視平面的人物設(shè)計(jì)的深度神經(jīng)網(wǎng)絡(luò),這種網(wǎng)絡(luò)通過模仿人類對高級語義特征(例如,不同對象之間的關(guān)系)與顏色紋理等低級特征(例如,透視平面內(nèi)部和外部之間的色差,反射導(dǎo)致的模糊、斑點(diǎn)、重影等)的辨識設(shè)計(jì)了廣域上下文特征融合模塊,以檢測不同尺寸的透視平面,這種模塊可以從較大的范圍內(nèi),提取豐富的上下文特征以進(jìn)行上下文推理和透視平面的定位。廣域上下文特征融合模塊基礎(chǔ)結(jié)構(gòu)圖如圖1所示。

圖1 廣域上下文特征融合模塊基礎(chǔ)結(jié)構(gòu)圖

其中:BN(batch normalization)代表歸一化,ReLU(rectified linear unit)為線性整流函數(shù),conv為卷積運(yùn)算。廣域上下文特征融合模塊旨在提取大量廣域特征信息,以進(jìn)行上下文推斷和定位透視平面。該模塊使用空間可分離卷積來實(shí)現(xiàn)此目標(biāo):

(1)

(2)

其中:FG表示集成的廣域上下文特征,conv2表示大小為3×3的卷積核,F(xiàn)l為:

(3)

Fin代表廣域上下文特征融合模塊的輸入特征。將4個該基礎(chǔ)模塊并聯(lián),并將4個基礎(chǔ)模塊輸出的特征進(jìn)行串聯(lián)融合,即可構(gòu)成完整的廣域上下文特征融合模塊。透視平面檢測網(wǎng)絡(luò)的流程如圖2所示。

圖2 透視平面檢測網(wǎng)絡(luò)算法框圖

對于單個RGB圖像,首先用經(jīng)過預(yù)訓(xùn)練的ResNeXt101[19]網(wǎng)絡(luò)對圖像提取特征,以得到不同級別的特征,然后將這些特征的最后3個特征層分別輸入到一個廣域上下文特征融合模塊,并將輸出融合生成高級廣域上下文特征,剩下的特征層導(dǎo)入另一個廣域上下文特征融合模塊中提取出低級特征,這些低級特征將引導(dǎo)算法把注意力[20]放在更多的集中在圖像中的透視平面上,從而進(jìn)行圖像分割。

2 相對深度預(yù)測

現(xiàn)有的深度預(yù)測算法大多數(shù)基于雙目視覺得到的視差圖計(jì)算深度,或由同一個視覺傳感器前后幀的時間關(guān)系以及像素點(diǎn)的匹配關(guān)系進(jìn)行估算,而深度學(xué)習(xí)算法使用的訓(xùn)練集也都沒有特意針對透視平面進(jìn)行標(biāo)注,這使得深度預(yù)測的算法在直接對含有透視平面的圖像進(jìn)行深度預(yù)測時,算法會將透視平面后的背景當(dāng)做實(shí)景進(jìn)行預(yù)測,導(dǎo)致預(yù)測結(jié)果錯誤。這種錯誤對于機(jī)器人、無人機(jī)等移動平臺來說是致命的。

圖3 錯誤的深度預(yù)測

為了解決這一問題,采用MegaDepth算法對圖像進(jìn)行深度估計(jì)。首先加入單一圖像反射去除算法,用于該算法采用全卷積神經(jīng)網(wǎng)絡(luò),經(jīng)過訓(xùn)練后能可將透視平面后的實(shí)景與透視平面中的鏡像分離,并屏蔽鏡像,防止其對深度預(yù)測造成影響。但該算法直接應(yīng)用在包含透視平面的圖像中時,透視平面以外區(qū)域的特征信息可能會遭到抹除或模糊。

如圖4所示,左圖為未經(jīng)SIRR算法處理的原圖,可以看到,表示區(qū)域中的紋理信息是完好的,右圖是經(jīng)過SIRR算法整圖運(yùn)算后的算法,可以看到標(biāo)識區(qū)域內(nèi)的紋理信息在應(yīng)用SIRR算法后,地板及墻面的紋理信息被模糊甚至抹除。所以首先對圖像進(jìn)行透視平面檢測,得出透視平面所在區(qū)域,然后只對透視平面檢測網(wǎng)絡(luò)分割出的透視平面區(qū)域應(yīng)用SIRR算法并屏蔽鏡像。這樣做可以避免紋理信息錯誤導(dǎo)致的特征提取信息的錯誤影響預(yù)測結(jié)果的問題。然后應(yīng)用MegaDepth算法對處理后的圖像進(jìn)行深度預(yù)測。相對深度預(yù)測算法網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。

圖4 應(yīng)用算法后部分紋理信息被模糊

圖5 相對深度預(yù)測網(wǎng)絡(luò)示意圖

如圖6所示,Conv代表卷積層,Res代表殘差塊,Max pool是降采樣模塊。由于較低的分辨率更能提取出圖像的高階特征,便于網(wǎng)絡(luò)進(jìn)行預(yù)測,所以將輸入圖像經(jīng)由7×7的卷積層運(yùn)算后,再經(jīng)過一個殘差塊與降采樣層使圖像分辨率下降,使網(wǎng)絡(luò)能更好的提取圖像的特征,然后經(jīng)過7個沙漏模塊運(yùn)算輸出預(yù)測的相對深度結(jié)果。沙漏模塊的結(jié)構(gòu)如圖6所示。

圖6 沙漏模塊

Max pool代表下采樣,Res代表殘差塊,Up sample代表上采樣模塊。沙漏模塊的上中兩路都包含殘差模塊,能逐步提取更深層的圖像特征。整個相對深度預(yù)測網(wǎng)絡(luò)中堆疊了很多沙漏模塊,這使得網(wǎng)絡(luò)可以不斷地重復(fù)的進(jìn)行高階特征的提取與預(yù)測,從而得到更精確的預(yù)測圖。在得到相對深度預(yù)測圖后,加入透視平面檢測網(wǎng)絡(luò)所得的分割結(jié)果,對透視平面區(qū)域進(jìn)行處理,由透視平面的邊界值對整個透視平面進(jìn)行平面擬合得到透視平面的相對深度值。

3 透視平面深度預(yù)測

目前由深度學(xué)習(xí)算法對單目圖像進(jìn)行深度預(yù)測的算法中,均需要帶有深度圖的標(biāo)定后的數(shù)據(jù)集作為訓(xùn)練樣本,才能獲得測試圖像的深度圖,且在包含透視平面的圖像中,對深度的預(yù)測結(jié)果均不準(zhǔn)確。MegaDepth算法的不同之處在于,其大部分圖像來自互聯(lián)網(wǎng),泛用性很強(qiáng),且對于這部分?jǐn)?shù)據(jù)集的構(gòu)建只需要標(biāo)出圖像中最近和最遠(yuǎn)的兩點(diǎn)即可進(jìn)行訓(xùn)練和預(yù)測,獲得相對深度圖。再結(jié)合深度標(biāo)尺就可以完成對于透視平面的深度獲取任務(wù)。

MegaDepth算法對于物體邊緣的深度值估計(jì)準(zhǔn)確程度不高,所以盡可能選取位于物體平面上的點(diǎn)進(jìn)行深度賦值獲取深度信息。在相對深度圖中,隨機(jī)抽選n個像素點(diǎn),記錄其灰度值,并結(jié)合激光傳感器所提供的深度信息獲取像素點(diǎn)對應(yīng)的深度值。像素點(diǎn)深度值的獲取方法為,以像素點(diǎn)為中心,l像素為邊長框選鄰域,計(jì)算所框選鄰域中所有深度信息的平均值,所得值即為當(dāng)前像素點(diǎn)的深度值,對于深度值丟失的像素點(diǎn)不計(jì)入平均值總數(shù)中,同時默認(rèn)透視平面中的所有像素點(diǎn)深度值均有誤差,不計(jì)入平均值樣本中。其計(jì)算方法如式(4)所示。

(4)

其中:D代表深度值,p為隨機(jī)選取的像素點(diǎn),p*代表p點(diǎn)鄰域內(nèi)的像素點(diǎn),x,y為p點(diǎn)坐標(biāo),α為鄰域內(nèi)擁有深度信息的像素點(diǎn)數(shù)量。

位于物體邊界處的像素點(diǎn),計(jì)算后會得到錯誤的深度信息,因?yàn)橐赃吔缣幭袼攸c(diǎn)為中心框選的鄰域內(nèi),通常會包含非該像素點(diǎn)所在平面的其他深度信息,在求取平均值后會得出錯誤的深度信息。所以為了避免在這種情況,引入ORB(Oriented FAST and rotated BRIEF)特征提取[21]算法中的FAST角點(diǎn)檢測算法[22], FAST算法可以通過像素點(diǎn)周圍距離為3的16個像素快速判斷待測點(diǎn)是否為角點(diǎn)或邊界點(diǎn),通過對比待測點(diǎn)與周圍點(diǎn)的灰度差值來進(jìn)行分類,若連續(xù)有9個點(diǎn)為同一類型,則確定次像素點(diǎn)位于物體邊界處,并將此點(diǎn)刪除。

利用FAST算法排除上述選取的n個像素點(diǎn)中的邊界像素點(diǎn),從而提高預(yù)測精度。判斷方法如式(5)所示。

(5)

In為p點(diǎn)周圍點(diǎn)的灰度值,Ip為p點(diǎn)的灰度值,t為判斷閾值。當(dāng)Fpn為F時,排除該像素點(diǎn)。

然后再從激光傳感器提供的深度信息中,隨機(jī)選取m個像素點(diǎn)(像素點(diǎn)同樣不位于透視平面上),記錄像素點(diǎn)本身提供的深度信息與對應(yīng)的相對深度圖中像素塊的灰度值。將所記錄的m+n個像素點(diǎn)的數(shù)據(jù)平鋪于以灰度值為x軸,深度值為y軸平面坐標(biāo)系中。并應(yīng)用RANSAC算法對所得坐標(biāo)點(diǎn)集進(jìn)行直線擬合,RANSAC算法通過對離散的點(diǎn)集進(jìn)行迭代估計(jì)其數(shù)學(xué)模型,并且能排除誤差點(diǎn)的干擾,適合對上述記錄的可能存在誤差點(diǎn)的點(diǎn)集進(jìn)行直線擬合得到合理的預(yù)測線。將其預(yù)測的直線作為灰度值與深度值對應(yīng)的“灰度-深度”標(biāo)尺,以此深度標(biāo)尺對透視平面進(jìn)行深度賦值,來完成對透視平面的深度預(yù)測。

4 實(shí)驗(yàn)結(jié)果與分析

實(shí)驗(yàn)平臺CPU為i7-6700HQ,內(nèi)存為8 GB,實(shí)驗(yàn)數(shù)據(jù)集為TUM數(shù)據(jù)集[23]。首先在數(shù)據(jù)集中挑選包含透視平面的圖像,并確認(rèn)圖像分辨率并進(jìn)行透視平面的標(biāo)定,然后將所得數(shù)據(jù)的70%進(jìn)行訓(xùn)練30%進(jìn)行測試。先進(jìn)行透視平面的分割實(shí)驗(yàn),并與對比算法進(jìn)行比較。其次分別進(jìn)行改進(jìn)MegaDepth與原算法的實(shí)驗(yàn),并進(jìn)行對比。最后計(jì)算深度標(biāo)尺,完成透視平面深度預(yù)測實(shí)驗(yàn)。

4.1 透視平面分割實(shí)驗(yàn)

實(shí)驗(yàn)采用可對鏡子進(jìn)行分割的MirrorNet[24]與經(jīng)典的Mask RCNN算法進(jìn)行對比,將輸入圖像分別使用3種算法進(jìn)行圖像分割。

由圖7可看出,由Mask RCNN算法對透視平面進(jìn)行預(yù)測時,不能完成對透視平面的圖像分割,其基本沒有識別到透視平面。由于MirrorNet算法是用于對鏡子平面進(jìn)行目標(biāo)平面檢測的算法,與對透視平面進(jìn)行分割具有一定的相似度,因此MirrorNet在對透視平面的平面檢測上仍能有一定的精確度基本覆蓋了透視平面所在區(qū)域,但仍然有未被識別的區(qū)域,效果遠(yuǎn)不如透視平面檢測網(wǎng)絡(luò)。透視平面檢測網(wǎng)絡(luò)通過大范圍的學(xué)習(xí)上下文高級特征與低級紋理特征成功的檢測到了整個透視平面,遠(yuǎn)優(yōu)于其他兩個算法。

圖7 不同算法對透視平面檢測的結(jié)果

4.2 相對深度預(yù)測實(shí)驗(yàn)

在相對深度預(yù)測的實(shí)驗(yàn)中,將改進(jìn)算法與原MegaDepth算法進(jìn)行對比,以證明改進(jìn)的有效性。原算法直接對輸入圖像進(jìn)行預(yù)測,改進(jìn)算法在對透視平面區(qū)域進(jìn)行背景分割并屏蔽后,再進(jìn)行深度預(yù)測。結(jié)果如圖8所示。

圖8 相對深度預(yù)測結(jié)果

從圖8(b)可以明顯的看出,原算法忽略了透視平面,對透視平面的背景進(jìn)行了深度預(yù)測,而加入了SIRR算法及透視平面檢測網(wǎng)絡(luò)后的改進(jìn)MegaDepth算法修正了這個錯誤,對透視平面本身進(jìn)行相對深度預(yù)測,得到了圖像相對深度圖。

相對深度圖中只個像素的相對深度值,不能得到各像素點(diǎn)的絕對深度值,所以還需要使用深度標(biāo)尺對相對深度圖進(jìn)行賦值。

4.3 透視平面深度預(yù)測實(shí)驗(yàn)

在該組實(shí)驗(yàn)中,首先統(tǒng)計(jì)對改進(jìn)MegaDepth算法所得預(yù)測圖進(jìn)行深度賦值并與激光傳感器提供的深度圖進(jìn)行比較,隨機(jī)抽選像素點(diǎn)個數(shù)n和m均為300,鄰域邊長l為20個像素,F(xiàn)AST算法判斷閾值t為7。首先隨機(jī)選取像素點(diǎn),并記錄深度值與相對深度圖上的灰度值,然后將像素點(diǎn)平鋪于橫軸為灰度值,縱軸為深度值的在坐標(biāo)系內(nèi),使用RANSAC算法進(jìn)行直線擬合,得到深度標(biāo)尺,并使用深度標(biāo)尺復(fù)原透視平面的深度值。實(shí)驗(yàn)結(jié)果如圖9所示。

圖9 透視平面深度預(yù)測結(jié)果

(其中(a)為輸入圖像(b)為激光傳感器提供的深度圖(c)為對改進(jìn)MegaDepth賦值結(jié)果)

可以明顯的看出,在輸入圖像(圖9(a))顯示的透視平面所在區(qū)域,激光傳感器獲得了錯誤的深度信息,這是由于透視平面的折射使得傳感器不能正確接收信息,其所獲得的部分深度信息為透視平面背景的深度信息。使用深度標(biāo)尺對相對深度圖賦值后,成功的修正了這一點(diǎn)(圖9(c)所示),成功獲得了整個透視平面的深度信息。

5 結(jié)束語

為了檢測透視平面并獲取透視平面本身的絕對深度信息,提出了一種融合激光傳感器與視覺傳感器信息的算法,算法能成功對圖像中的透視平面進(jìn)行平面檢測,并在MegaDepth算法的基礎(chǔ)上加入SIRR算法,結(jié)合透視平面檢測網(wǎng)絡(luò)成功的預(yù)測了透視平面本身的相對深度信息,最后應(yīng)用ORB特征提取算法與RANSAC算法建立了深度標(biāo)尺,成功獲取了透視平面本身的絕對深度信息。并在大量含有透視平面場景的TUM數(shù)據(jù)集進(jìn)行試驗(yàn)驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,激光與視覺融合的平面檢測與深度預(yù)測算法,能成功檢測到透視平面并能獲取其絕對深度信息,對解決實(shí)際問題具有一定的應(yīng)用價(jià)值。

猜你喜歡
像素點(diǎn)平面深度
四增四減 深度推進(jìn)
深度思考之不等式
立體幾何基礎(chǔ)訓(xùn)練A卷參考答案
立體幾何強(qiáng)化訓(xùn)練B卷參考答案
簡約教學(xué) 深度學(xué)習(xí)
一種X射線圖像白點(diǎn)噪聲去除算法
基于canvas的前端數(shù)據(jù)加密
圖像采集過程中基于膚色理論的采集框自動定位
參考答案
平面和立體等
鄂州市| 都昌县| 达州市| 丹寨县| 郸城县| 错那县| 内乡县| 乌拉特前旗| 芮城县| 哈巴河县| 山阳县| 鸡西市| 德惠市| 南丰县| 芒康县| 平山县| 华安县| 三明市| 谷城县| 博兴县| 垫江县| 绥德县| 旬邑县| 乐都县| 周至县| 石阡县| 南平市| 论坛| 洪江市| 沛县| 聂荣县| 永定县| 贡觉县| 林甸县| 遵义市| 永安市| 湖南省| 儋州市| 出国| 长白| 闽清县|