王 梓,畢道明,周頡鑫,孫曉亮,于起峰
(1. 國防科技大學 空天科學學院, 湖南 長沙 410073;2. 國防科技大學 圖像測量與視覺導航湖南省重點實驗室, 湖南 長沙 410073; 3. 沈陽飛機設(shè)計研究所, 遼寧 沈陽 110035)
目標檢測是計算機視覺中的基礎(chǔ)問題,在機器人抓取[1]、遙感圖像處理[2]等領(lǐng)域具有廣泛應用?;诰矸e神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN) 的目標檢測算法得益于大規(guī)模高質(zhì)量標注的訓練數(shù)據(jù)集,取得了當前最優(yōu)的檢測性能。本文關(guān)注變紋理目標的可靠檢測。受工藝加工、應用需求、復雜光照等因素的影響,同一目標在紋理上可能存在巨大差異(如圖1所示),已有基于 CNN 的目標檢測算法傾向于提取目標紋理特征,而非目標的結(jié)構(gòu)特征。因此,相關(guān)方法不能有效地實現(xiàn)圖1所示變紋理目標的可靠檢測。
圖1 變紋理目標圖像示例Fig.1 Sample images of a texture-varied object
目標結(jié)構(gòu)特征是目標檢測中的重要依據(jù),表征目標結(jié)構(gòu)特征的梯度方向直方圖(Histogram of Gradient, HoG)特征[3]已被廣泛應用于目標檢測中[4-6]。Aubry等[4]采用HoG特征提取目標結(jié)構(gòu)特征,并結(jié)合線性分析(Linear Discriminant Analysis, LDA)方法,在仿真圖像數(shù)據(jù)集上完成目標檢測器的訓練,實現(xiàn)了僅基于目標結(jié)構(gòu)特征的可靠目標檢測,對光照變化、紋理差異等干擾表現(xiàn)出來較強的魯棒性。在文獻[5]的基礎(chǔ)上,Lim等[6]引入目標局部結(jié)構(gòu)區(qū)分度評價及可變形部件思想,進一步提升目標檢測性能。Hariharan等[7]對HoG特征進行改進,提出白化方向直方圖(Whitened Histograms of Orientations,WHO)特征,并應用于目標檢測中。
深度特征表征方法在特征表示能力上優(yōu)于傳統(tǒng)特征表征方法。因此,基于CNN的目標檢測算法[8-9]取得了明顯優(yōu)于傳統(tǒng)方法的目標檢測性能。但Geirhos等[10]指出,已有基于CNN的目標檢測方法傾向于提取目標的紋理特征,而非目標的結(jié)構(gòu)特征,限制了已有目標檢測模型的泛化性能,尤其是針對本文關(guān)注的變紋理目標情況。Zaech等[11]通過生成式對抗網(wǎng)絡(Generative Adversarial Network, GAN)[12]豐富訓練數(shù)據(jù)中的紋理類型,有效降低了語義分割模型對紋理的擬合并成功應用于無人駕駛?cè)蝿罩小?/p>
相比于紋理特征,目標結(jié)構(gòu)特征對干擾更具有魯棒性,有益于實現(xiàn)可靠的目標檢測。受文獻[4, 10-11]的啟發(fā),本文針對變紋理目標的檢測,提出一種新的基于紋理隨機化的結(jié)構(gòu)主導目標檢測方法,依據(jù)目標三維模型,借助Blender渲染引擎,通過修改目標模型紋理貼圖,構(gòu)建紋理隨機化仿真訓練數(shù)據(jù)集,并訓練目標檢測器,降低模型對紋理特征的擬合程度,實現(xiàn)目標結(jié)構(gòu)特征主導的目標檢測。
本文借助Blender渲染引擎構(gòu)建紋理隨機化仿真訓練數(shù)據(jù)集,實現(xiàn)結(jié)構(gòu)主導的變紋理目標檢測。接下來,對與本文密切相關(guān)的已有工作進行簡要梳理。
目標結(jié)構(gòu)特征被廣泛應用于目標檢測,如被大家所熟知的HoG特征。Aubry等[4]以椅子為研究對象,采用HoG特征及LDA,在仿真圖像數(shù)據(jù)集完成檢測器訓練,依據(jù)目標結(jié)構(gòu)特征實現(xiàn)圖像中椅子目標的可靠檢測,并給出了粗略的位姿估計結(jié)果,方法對紋理差異、光照變化等干擾表現(xiàn)出了較強的魯棒性。Lim等[5]同樣采用HoG特征提取目標結(jié)構(gòu)特征,引入?yún)^(qū)分度度量,篩選出目標模型上區(qū)分度高的結(jié)構(gòu)特征用于分類器的訓練,并依據(jù)目標不同部位結(jié)構(gòu)特征的幾何約束,剔除誤匹配,提升算法的目標檢測性能。在文獻[6]中,作者進一步引入可變形部件處理思想,提升了算法目標檢測的準確率及效率。為適應光照變化等干擾,Hariharan等[7]基于梯度方向信息提出WHO 特征,Choy等[13]進一步引入閾值處理,提出NZ(non-zero)-WHO特征,以消除仿真訓練圖像中背景區(qū)域帶來的干擾,并采用共軛梯度算法高效求解線性分類器權(quán)值。
形狀描述子抽取形狀的特征參數(shù)以描述形狀,以實現(xiàn)形狀檢測、配準以及目標識別、檢測、跟蹤等。基于形狀邊界或形狀二值圖像的形狀描述子,將形狀視為基函數(shù)的線性組合,例如Fourier描述子[14]、Chebyshev描述子[15]、Zernike矩[16]等?;诰€性組合的形狀描述子表達了目標的整體形狀屬性,缺少對目標空間關(guān)聯(lián)屬性的描述。基于空間關(guān)聯(lián)關(guān)系的形狀描述子充分利用了形狀的局部細節(jié)信息,但是計算量較大,且難以重構(gòu)出原始形狀。
紋理是物體表面的內(nèi)在屬性,紋理特征也常被用于目標表示中。結(jié)構(gòu)法、統(tǒng)計法和頻譜分析法是紋理特征提取的主要方法。結(jié)構(gòu)法將紋理視為一系列紋理基元的規(guī)律性排列,主要適用于周期性紋理的提取和分析;統(tǒng)計法以紋理圖像灰度值空間分布的統(tǒng)計信息作為紋理特征,例如灰度共生矩陣[17]等;頻譜分析法通過Gabor變換、小波變換等方法,分析紋理圖像的頻譜信息。
基于形狀和紋理的特征描述方法具有一定的特征提取和表達能力,在手工視覺特征領(lǐng)域具有重要地位。近年來隨著對深度卷積神經(jīng)網(wǎng)絡的研究的不斷深入,研究人員發(fā)現(xiàn)卷積網(wǎng)絡中較低層的卷積類似于邊緣、紋理提取算子,隨著網(wǎng)絡層數(shù)的不斷增加,捕捉到的語義特征更加抽象、復雜。因此,使用深度卷積網(wǎng)絡可以獲得比手工描述子更加豐富的目標特征。
Wohlhart等[18]針對基于目標三維模型的目標檢測問題,對比分析了CNN模型提取的深度特征及HoG特征等傳統(tǒng)特征。實驗結(jié)果表明:深度特征的表征能力優(yōu)于HoG特征,取得了更優(yōu)的目標性能?;贑NN的目標檢測算法取得了當前最優(yōu)的目標檢測性能,相關(guān)算法一般采用端到端的處理流程,內(nèi)部特征提取部分無法獲知,對于基于CNN的目標檢測模型中特征提取的解釋主要有外觀和紋理兩個假設(shè)[10]。Geirhos等[10]在ImageNet數(shù)據(jù)集[19]上針對目標檢測任務進行測試。實驗結(jié)果顯示:CNN模型偏重于提取目標紋理特征,存在紋理偏移,甚至僅利用紋理特征即可完成目標識別任務。
紋理偏移嚴重限制了基于CNN的目標檢測方法的泛化能力,研究人員嘗試通過增加紋理的隨機性降低模型對紋理特征的依賴。Tobin等[20]針對工業(yè)機器人抓取應用中的目標檢測需求,利用目標三維模型,借助仿真引擎生成仿真圖像訓練數(shù)據(jù)集,在生成數(shù)據(jù)集的過程中,選用1 000種紋理,增加了紋理的隨機性,顯著提高了模型的泛化能力。Ren等[21]采用相似的處理策略,提升了模型的檢測率及位姿估計的精度。Zaech等[11]將紋理隨機化策略應用到無人駕駛場景語義分割中,并在真實圖像數(shù)據(jù)上取得了滿意的分割結(jié)果。文獻[20-21]針對機器人抓取任務,在仿真圖像生成過程中,采用的紋理貼圖較為簡單,尚不能滿足復雜環(huán)境下變紋理目標檢測的需求。本文在文獻[20-21]的基礎(chǔ)上,著眼于僅利用主要結(jié)構(gòu)特征實現(xiàn)目標檢測,以適應目標紋理變化的情況,提出更具針對性的紋理隨機化方法。
提出基于紋理隨機化的結(jié)構(gòu)主導目標檢測方法,消除紋理偏移,使目標檢測器基于目標結(jié)構(gòu)特征實現(xiàn)變紋理目標的可靠檢測。
采用 Faster RCNN 檢測器[8-9]作為目標檢測基本框架,如圖2所示。Faster RCNN是第一個端到端的檢測器,具有接近實時檢測的性能。其主要組件包括用于提取特征的主干網(wǎng)絡、用于生成錨框的錨框生成器、用于似物性檢測的區(qū)域網(wǎng)絡(Region Proposal Network, RPN)、用于提取特征圖的ROI Align以及對proposal進行分類和回歸的預測頭。
在訓練時將每個視角下的目標作為一個類別,并將視角標簽編號作為分類分支監(jiān)督信號,在測試時,完成輸入圖像中目標實例的檢測,并輸出對應的視角標簽。
為構(gòu)建紋理隨機化仿真圖像訓練數(shù)據(jù)集,利用目標的三維模型,借助Blender渲染引擎,通過改變目標模型紋理圖像,生成變紋理仿真圖像數(shù)據(jù)集,如圖3所示。圖3(a)中,紋理圖像隨機選取MS COCO數(shù)據(jù)集[22]中的自然圖像。圖3(b)中,虛擬相機指向目標中心,通過離散采樣方位角α和高度角β得到不同視角下目標投影圖像。
將每一視角下的目標作為一個類別,在構(gòu)建仿真圖像數(shù)據(jù)集時,采用如圖3所示的視角采樣方式,通過離散采樣虛擬相機的方位角α和高度角β得到不同視角下的目標投影圖像。為了仿真目標在圖像平面內(nèi)的運動,隨機化目標模型在相機坐標系下的位置T=[Tx,Ty,Tz]T。除了保存采樣視角作為仿真圖像的類別標簽,在仿真圖像渲染過程中,同樣保存每張仿真圖片對應的深度圖,用以生成精確的目標包絡框與目標掩膜。
圖2 Faster RCNN 檢測器結(jié)構(gòu)圖Fig.2 Structure of Faster RCNN detecter
(a) 變紋理渲染(a) Texture-varied rendering (b) 紋理圖像隨機選自 COCO數(shù)據(jù)集(b) Viewpoint sampling圖3 基于Blender的變紋理模型渲染及視角采樣Fig.3 Blender based texture-varied 3D model rendering and viewpoint sampling
在仿真圖像生成過程中,固定虛擬相機參數(shù)設(shè)置,每幅仿真圖像中含一個目標。不同于文獻[2, 4]仿真圖像訓練數(shù)據(jù)集生成中采用純凈背景的方式,本文對背景貼圖和光照位置、能量進行了隨機化處理。
實驗中目標模型為 RBOT 數(shù)據(jù)集[23]中的“squirrel”模型,如圖3所示進行視角采樣,方位角α和高度角β的采樣范圍分別為 [0°, 360°) 和[11.25°,78.75°],采樣步長分別為22.5°及11.25°,共得到96個視角采樣,對應96個目標類別。從 MS COCO數(shù)據(jù)集中隨機選擇K張不同的圖片作為目標三維模型紋理,每個視角下得到K張包含不同紋理目標的仿真圖像。背景圖像從SUN 數(shù)據(jù)集[24]中隨機選擇,仿真圖像尺寸為640像素×512像素?;谏鲜鲈O(shè)置完成紋理隨機化仿真圖像數(shù)據(jù)集生成,記為SK。
為測試本文方法性能,在仿真及真實圖像數(shù)據(jù)上進行測試,并給出定量衡量指標。在配備4塊 1080Ti GPU 的電腦上完成模型訓練,批量大小設(shè)置為12,優(yōu)化器為隨機梯度下降(Stochastic Gradient Descent, SGD)算法,基礎(chǔ)學習率設(shè)為 0.01,迭代次數(shù)設(shè)置為50 000,在20 000和40 000時以比例因子0.1降低學習率,采用線性預熱策略,其中預熱長度為400步,優(yōu)化器的權(quán)重衰減和沖量分別設(shè)為5×10-4和0.9。此外,在訓練過程中采用以下數(shù)據(jù)增強方法:①幾何變換包括尺度變換、旋轉(zhuǎn)變換和透視變換;②圖像變換包括高斯模糊、運動模糊、限制對比度自適應直方圖均衡(Contrast Limited Adaptive Histogram Equalization, CLAHE)、對比度調(diào)整、RGB值偏移與通道調(diào)換、隨機遮擋。
采用平均準確率(Average Precision, AP)定量衡量檢測器性能。AP被定義為不同召回率下的平均檢測精度,通過計算P-R(precision-recall)曲線下的面積得到AP值越高代表檢測性能越高。具體方法是,將檢測器在測試數(shù)據(jù)集上的所有檢測框按得分從高到低排序,根據(jù)設(shè)定的交并比(Intersection over Union, IoU)閾值判斷每個檢測結(jié)果是否正確,得到P-R曲線,然后計算P-R曲線下的面積。有多種P-R曲線下面積計算方法,VOC09[25]將召回率平均分為11等份,每個召回率下的準確率為該召回率下的最大值。IoU閾值越高,對檢測框的定位要求越高,相應的AP值越低。
(1)
(2)
圖4 D1 000模型在上的部分檢測結(jié)果Fig.4 Partial detection results of D1 000 model on
表1 D1,D1 000在仿真數(shù)據(jù)集上的目標檢測平均準確率
采用真實圖像數(shù)據(jù)對本文方法性能進行測試,目標檢測模型完全基于紋理隨機化仿真圖像數(shù)據(jù)集訓練得到,目標實物依據(jù)目標三維模型打印得到,并人工涂繪紋理,與訓練數(shù)據(jù)集中紋理存在明顯差異。在紋理隨機化仿真圖像數(shù)據(jù)集S1 000上完成目標檢測模型的訓練,在真實圖像上進行目標檢測。圖6給出了部分目標檢測結(jié)果示例,圖中包含多目標、不同紋理、復雜光照等情況。本文方法實現(xiàn)了可靠檢測,有效驗證了方法性能。
圖5 D1 000模型在數(shù)據(jù)集上的部分檢測結(jié)果Fig.5 Partial detection results of D1 000model on
圖6 真實圖像數(shù)據(jù)目標檢測部分結(jié)果Fig.6 Partial target detection results on real images data
為定量分析紋理隨機化程度對目標檢測模型性能的影響,同前述S1及S1 000仿真數(shù)據(jù)集的生成設(shè)置,分別設(shè)置K=1,10,100,1 000,得到對應的仿真圖像數(shù)據(jù)集,每個仿真圖像數(shù)據(jù)集包含9.6×104張圖像,并以此訓練目標檢測模型,對搜集的417張真實圖像中的目標進行檢測。選擇了3種具有代表性的目標檢測模型,F(xiàn)aster RCNN,SSD[26]和FoveaBox[27],分別代表兩步檢測器、一步檢測器和無錨點檢測器。在IoU>0.5的設(shè)置下,圖7展示了3種目標檢測模型在不同紋理數(shù)量下的AP得分。首先,隨著紋理數(shù)量的增加,3種檢測器的得分都得到了提高,說明本文方法可以作為一種有效的數(shù)據(jù)增強方法,提高不同類型的目標檢測器對紋理隨機目標的檢測性能;然后,當紋理數(shù)量從100增加到1 000時,可以觀察到3種目標檢測器的AP得分幾乎沒有增長;最后,對比3種目標檢測器的得分增幅,可知本文方法對基于錨點的兩步檢測器Faster RCNN的提升最大。
圖7 紋理隨機化程度對3種目標檢測模型性能的影響Fig.7 Detectors performance increase with the number of unique texture.
仿真圖像及真實圖像上的測試結(jié)果驗證了本文方法有效實現(xiàn)了變紋理目標的可靠檢測。但在實驗中也發(fā)現(xiàn)當輸入圖像中存在多個目標時可能會出現(xiàn)漏檢。另外,在仿真圖像上的檢測結(jié)果優(yōu)于真實圖像,如表1及圖7中所示,這是由于仿真圖像與真實圖像之間存在特性差異,僅使用仿真圖像訓練得到的目標檢測模型推廣到真實圖像上依然存在不足。
本文針對變紋理目標檢測問題,提出一種新的基于紋理隨機化的結(jié)構(gòu)主導目標檢測方法,利用目標三維模型,借助Blender渲染引擎,得到不同紋理的目標渲染,并隨機化相機視角、光照等參數(shù)生成紋理隨機化仿真數(shù)據(jù)集,并以此訓練目標檢測器,降低模型對紋理特征的偏移,實現(xiàn)結(jié)構(gòu)主導的可靠變紋理目標檢測。仿真及真實圖像數(shù)據(jù)實驗測試結(jié)果顯示:本文方法可以有效地減弱網(wǎng)絡模型對紋理的偏移,增強模型對目標結(jié)構(gòu)特征的利用,實現(xiàn)變紋理目標的可靠檢測。
本文方法僅使用紋理隨機化的仿真圖像數(shù)據(jù)完成目標檢測模型的訓練,依然受到仿真圖像與真實圖像之間差異的影響,在下一步工作中,可考慮引入域適應策略,提升該方法在真實圖像上的性能。此外,可考慮將紋理隨機化處理思路推廣至基于單幀圖像的目標6D位姿估計中,探索目標結(jié)構(gòu)主導的單目6D位姿估計。