時間:2018-07-06 14:23:53來源:中山大學成慧 蘇竟成 蔡俊浩 林倞 商湯集團有限公
在實際生活中機器人需要與環境進行交互以執行多種任務,而每個任務都需要進行合理的定位。一種簡單的定位檢測方法是標注一個圖像功能區域數據集,利用這個數據集訓練一個深度分類模型,通過模型檢測圖像中所有可能的潛在功能區域。然而,標注一個這樣的大規模數據集是相當耗時的。
我們發現,功能區域通常與周圍物體存在聯系,因此本文提出了利用物體的上下文信息作為有效先驗的方法,使用已有的目標檢測數據集,在不需要額外增加標注數據的同時,提高功能區域檢測模型的性能。在具體實現中本文定義了一個雙流網絡,該網絡結合了與物體相關的特征和與功能區域相關的特征來進行知識遷移融合,從而進行功能區域檢測。整個網絡結構是端到端的系統,并且可以簡單的利用現有的目標檢測框架實現。本文通過實驗證明該網絡與現有的方法相比,在精度和召回率上都有接近20%的提升。
課題背景
對于一個認知機器人而言,在實際執行操作之前首先需要找到其所期望操作的區域。例如,當機器人想要去打開一個抽屜時,它需要根據抽屜手柄的形狀和位置來判斷它究竟是否需要轉動手柄抓取以及應該在哪里執行這一動作。給定輸入為場景圖像,這種操作區域的定位和識別問題可以被定義為功能區檢測問題[24]。有了功能區域的認知后,在各類任務中,機器人可以用許多不同的行為與人類和物體進行交互。由于真實世界中的環境外觀變化的多樣性,這類任務是非常具有挑戰性的。例如,機器人要實現“球形物體抓握”的功能,那么目標區域可以是門、抽屜的把手,也可以是其他有著球體形狀的物體。
因為深度學習在目標分類和檢測領域已經取得了突破性進展[9][10][19],因此解決功能區域檢測問題的一個簡單方法是從圖像中提取一些潛在可能的區域,通過深層卷積網絡對這些區域的功能性進行分類[24]。不過這樣做有兩大缺陷:首先,這種方法只利用了圖像中某區域的特征而忽視了這一區域的上下文信息,而上下文信息對于由物體遮擋和視角變化引起的外觀變化是十分重要的(如圖1)。例如,水龍頭的閥門通常位于水龍頭的底部附近,而檢測更大面積的水龍頭可以幫助定位到水龍頭的閥門,否則我們很難檢測到閥門。第二點則是因為深度學習需要大量的訓練數據,而去標注得到一個龐大的功能區域檢測的數據集顯然是非常費力并且代價高昂的。
通常,更合理地利用上下文或者先驗知識將會有助于解決功能區域檢測問題。在實際情況中,功能區域檢測問題并不是一個獨立的問題,它與目標檢測問題不同卻又高度相關。例如,如果一個機器人檢測到一扇門,那么很有可能在門中的某個區域能夠讓機器人進行推/拉的動作。因此,圖像中某一區域或周圍區域的物體信息可以用來作為功能區域推斷的先驗知識。另外,物體分類和功能性推斷也共享一些相似的圖像特征,例如圖像邊緣和形狀。因此在給定大量的現有物體數據集的條件下,我們可以將從這些數據集學習到的知識遷移到新的系統,這可以減少新系統對于功能區域訓練數據的需求。
為了達到這個目的,本文提出了一種雙流網絡結構給來解決該功能性域檢測問題。我們首先使用一個目標檢測的數據集[12]訓練其中一個分支網絡,該網絡學習與物體相關的表示方式,而另一個網絡分支則用來學習功能性相關的特征表示。在此之后,我們將這兩個分支網絡學習到的特征融合在一起進行功能性的推斷。
本文工作有以下幾個貢獻:1)在解決功能區域檢測問題時利用物體信息作為先驗知識,提高檢測效果;2)提出了一種新的雙流網絡,通過將物體相關與功能性相關的特征融合在
圖1:利用物體的上下文信息促進功能區域檢測
一起,更加有效地解決這類問題。實驗結果表明,在功能區域檢測任務中使用物體特征是一種有效的方法,同時與現有的方法相比,本文的方法也取得了更優的效果。
相關工作
A.物體屬性分類
判斷一個區域功能性的問題與物體屬性分類的問題類似,后者已經在計算機視覺和機器人學中得到了廣泛的研究。例如在面部分析[11]和人類特征分析[14]中,算法對“性別”,“種族”和“發型”等屬性進行研究分析。其他的例如為研究時尚衣著搭配進行布料顏色和風格的分析[25]等屬性分析任務也是比較熱門的研究方向。而在機器人領域中,利用RGB-D圖像來進行物體顏色,形狀和材質屬性的識別也十分的廣泛[25]。
而物體的“可供性(affordance)”也是一種關鍵的屬性,這種屬性是本文研究的重點。物體的“可供性”是指一個物理對象與人或其他智能體之間通過交互而產生的一種聯系[8]。Pieropan等人[17]根據這種聯系來研究物體分類,并借助人的示范來學習對象的可供性,例如“可讀”和“可飲用”就是一種“可供性”最近,Myers等人[15]使用手工制作的幾何特征檢測RGB-D圖像中工具部件的可供性[20]。本文研究的問題與這些問題有些關聯但不完全相同,因為本文研究的問題的首要核心在于區域而非是物體。本文研究的算法需要檢測出可能的功能區域,這個區域既有可能是一個物體,也有可能是物體的一小部分。這個問題更具挑戰性,因為物體的局部的特征可能不像整個物體那樣具有區分性。
B.目標檢測
目標檢測在圖像語義檢測領域中受到了廣泛的研究。早期的算法通常嘗試使用一個滑窗在一整幅圖像上進行滑動并對每個區域進行分類。為了處理物體的尺度變化,圖像金字塔(imagepyramid)模型常被用來處理原始的輸入圖像。基于部分區域可變的模型(DPM)[6]也是一種經典的目標檢測方法,其中每個物體對象被表示為以圖畫結構排列而成的成分的集合。每個成分都通過手工制作的特征進行描述,經典的方法有HOG[4]等。目前,深度學習技術通過學習高級的抽象特征,在圖像識別問題方面已經取得了實質性進展。有許多基于深度學習的目標檢測算法取得了不錯的效果,比如fasterR-CNN[19],YOLO[18]和SSD算法[13]。這些方法的主要思想是使用深度卷積神經網絡(CNN)從給定的原始圖像和相應的標簽中學習物體對象的表示,而不是去學習手工設計的特征表示。本文以基于深度學習的目標檢測框架為基本結構,預測出場景圖像中的功能區域。
圖2:功能本體論[24]
C.功能區域檢測
文獻[24]提出了功能區域檢測這一問題,其給出了一個專業的定義,并提供了一批數據集。這批數據集包括室內場景的靜態圖像以及圖像上所有的功能區域。為了檢測出圖像中的功能區域,作者提出了一個兩階段的方法[24]。在第一階段,系統使用選擇性搜索的視覺注意力方法[21]來找出一組可能成為功能區域的邊界框。其中,選擇性搜索方法主要在顏色,強度和邊緣信息等各種視覺特征上實現邊界框的生成。在第二階段中,第一階段尋找出的邊界框所對應的圖像區域則成為了一個深度網絡的輸入,網絡的輸出是該區域屬于某類特定功能區域的概率。這個深度網絡將首先在一個大規模通用圖像數據集上進行訓練,訓練完之后再利用功能區域數據集進行微調。而本文制定了一個新的更容易實現和訓練的端到端的雙流網絡結構,該網絡能夠分別提取物體相關的特征和功能相關的特征并對特征進行融合,融合后的特征傳入預測網絡中得到功能區域的邊界框以及對應的功能類別。實驗表明本文提出的方法在各個性能指標上都有顯著的提升。
方法
A.問題定義
對于功能區域檢測問題,我們遵循文獻[24]的設定:假設機器人采集靜態的室內圖像作為輸入,輸出一系列矩形框,每一個矩形框都包括了一個目標區域并對應著一個功能標簽。在定義功能本體論(functionalityontolog)上,前人已經有了一些工作:Worgotter等人[22]根據手跟物體的關系將操作的動作劃分為一些基本類型。文獻[24]的作者進一步研究了一個可以在室內環境中操作的常用動作集合,并且提出了機器人功能本體集合,如圖2所示。
其中,機器人的功能本體論一般可以分為3個類型,分別為:“家具、設備、墻壁的一
圖3:fasterR-CNN的組成結構。利用不用尺度和方向比率的anchorbox,模型可以在一次前向傳播中檢測出不同尺度大小的功能區域
小部分”,“物體”和“家具”三種。對于“家具、設備、墻壁的一小部分”這種類型,有兩種主要的功能,分別是與設備把手相關的開關的功能(open),以及與墻壁按鈕相關的開關功能(turnon/off)。這兩個主要功能還可以進行更加細致的劃分,比如依據把手的類型可以將開關功能分為球形把手的“旋轉開關”和條形把手的“推拉開關”。依此類推,我們最終可以歸納出11種功能。因此,問題的定義可以描述為:給定一張靜態場景圖像,識別出圖像中可能出現的11種功能區域。為了方便可視化,圖2對于每種功能都給出了一個特定的符號。
B.端到端的多尺度功能區域檢測
根據III-A節的定義,一個功能區域既可能是一個物體也有可能是物體的一部分。這意味著功能區域在圖中大小不一。這種區域尺度的不確定性對算法更具有挑戰性。早期的方法是在圖像金字塔中使用滑窗進行遍歷。然而,這在某些應用的場景中效果并不明顯。FasterR-CNN目標檢測框架[19]對于解決這種問題則更加有效。
圖3解釋了fasterR-CNN在目標檢測中的處理流程。通常,fasterR-CNN分為兩個模塊。第一個模塊將圖像作為輸入,生成感興趣區域(regionofinterest)。第二個模塊從感興趣區域(regionofinterest)中提取更深層次的特征,進一步推斷目標類別和位置。由于一些小區域可能會在第一階段丟失,因此需要在不同尺度下對功能區域進行檢測。
第一個模塊被稱為區域提議網絡(RPN,RegionProposalNetwork),它可以通過全卷積網絡來實現。RPN首先通過特征提取網絡生成特征圖,特征圖的每一個網格點上的特征向量再傳入一個小的網絡中,得到預測的矩形框和對應的分數。整個流程如圖3所示,RPN的目標輸出為矩形框的坐標和對應矩形框的分數(更高的分數意味著這個矩形框包含功能區域的可能性越大)。這里的坐標用不同尺度和方向比率的anchorbox來表示。這意味著特征圖中的一個網格點的特征向量(特征的大小是固定的)表示著不同大小的區域。輸出的候選框可以從自身的特征生成或者根據額外的周圍的信息生成。通過設置不同尺度和方向比率的anchorboxes,在不同尺度下網絡可以充分利用不同區域的上下文信息來定位區域,最終得到對應的感興趣區域。
第二個模塊由另外一個深度網絡組成,這個深度網絡由若干卷積層組成,這些卷積層可以進行更深層次的特征提取。這個深度網絡首先根據感興趣的區域,從特征提取網絡提取到的特征中抽選出該區域的特征作為網絡的輸入,然后使用卷積神經網絡進行特征提取獲得新的特征,最后進行候選框位置的進一步回歸微調與該候選框對應區域的功能分類。
這兩個模塊可以結合起來進行端到端的訓練。通過這兩個步驟之后,每一類(即功能區域)都可能獲得一個或者多個矩形框。每一類中的矩形框相互之間很可能存在高度重合的情形。為了減少這種冗余,本文采用非極大值抑制(NMS)[16]的方法進行后處理。
總之,本文使用RPN來生成不用尺度的候選框并使用fasterR-CNN進行功能區域檢測。然而,因為沒有對物體進行標注,這種方法不能利用周圍物體的信息,特別是在第二個模塊中這種情況更加明顯。為了發揮物體信息的優勢,本文使用已有的目標檢測數據集訓練一個深度神經網絡并使用功能區域數據集進行微調。實驗證明這種方法可以作為一個有效的基準實驗。但是由于功能區域數據集的數量有限,這種方法很容易造成過擬合的情形,同時網絡中的物體信息會在微調的過程中消失。為了解決這個問題,本文提出了一種雙流網絡,這個網絡即使用了與物體相關的特征,也利用了功能區域相關的特征,這一部分將在第III-C節中介紹。
C.融合物體信息的雙流網絡結構
圖4展示了本文提出的雙流網絡。將輸入圖像I傳入兩個網絡,這兩個網絡分別稱之為“功能CNN(CNNfunc)”和“物體CNN”(CNNobj),CNNfunc和CNNobj具有相同的結構(但是兩個網絡的參數是不同的)。這兩個網絡將分別提取功能相關的特征圖和物體相關的特征圖。對于功能區域的特征,我們利用第III-B節介紹的RPN生成邊界框的集合,接著可以用這些邊界框從特征圖中選出對應的特征,再將這些特征通過ROI池化操作[19]得到固定大小的特征。在選擇物體相關的特征時,首先利用一個固定的縮放系數來擴大邊界框的大小,該擴大的邊界框從物體相關的特征圖中選出與物體相關的特征,再通過ROI池化操作得到同樣固定大小的特征。最后,利用下面的公式將功能相關的特征ffunc和fobj物體相關的特征融合在一起:
ffuesd=入ffunc+(1-入)fobj
其中表示兩個特征的重要性。在實驗中設為0.5。融合的特征ffuesd傳入另一個深度網絡CNNpred(ffuesd)中。CNNpred(ffuesd)最終回歸預測出功能區域的位置以及對應的功能。
D物體知識遷移的訓練
為了利用已有的目標檢測數據集和遷移物體知識,我們將雙流網絡的訓練分為兩個階段。在第一階段,我們需要對網絡參數進行初始化工作。我們使用已有的目標檢測數據集,按照fasterR-CNN的訓練方式[19]訓練一個目標檢測網絡,如圖3所示。如文獻[19]所述,整個訓練過程通過反向傳導算法和隨機梯度下降法[2]進行端到端的訓練。訓練好的初始化網絡的參數即可作為雙流網絡的初始化參數,參數的具體設置如下:RPN特征提取網絡中參數作為雙流網絡中CNNfunc和CNNobj的參數,而圖3中預測網絡的參數作為雙流網絡中CNNpred的參數。其中物體的候選框是對由上半部分的網絡預測得到的候選框進行放大得到的。提取到的物體特征和功能特征進行融合,并傳入預測網絡進行功能區域的推斷。
在第二階段,為了保護第一階段學習到的物體知識,我們固定的CNNobj參數,在用功能區域數據集訓練時只微調雙流網絡中其余的參數。與訓練fasterR-CNN相同,雙流網絡中有兩個損失函數。
第一個損失函數為RPN網絡的損失函數,這個損失函數是二分類損失函數(判斷候選區域是否為功能區域)和回歸損失函數(預測區域和真實區域邊界框的歐氏距離)的結合。
圖4:雙流網絡結構。網絡的上半部分提取功能相關的特征,下半部分提取物體相關的特征。
第二個損失函數是最終結果的損失函數,除了分類情形為多分類而非二分類外,整個損失函數與RPN網絡的損失函數一樣。這兩個損失函數都是可微的,自然式(1)也是可微的。同時,對于候選坐標的ROI池化操作也是可微的[3]。因此,我們可以使用隨機梯度下降法來訓練整個模型。
結果
A.實現細節
本次實驗使用深度學習框架TensorFlow來實現本文提出的網絡結構[1]。基于ResNet-101[7]在圖像識別中的高效表現,我們采用了ResNet-101[7]架構作為網絡中的基本模塊。CNNfunc和CNNobj都包括了[7]中的前四個殘差模塊,(即conv1,conv2_x,conv3_x和conv4_x,總共91個卷積層),CNNpred包括了ResNet-101中的最后一個殘差模塊(即conv5_x層)。最后的結果通過兩個全連接層得出。實驗首先使用COCO數據集訓練一個fasterR-CNN模型[19],其次將模型的參數作為CNNfunc、CNNobj和CNNpred的初始化參數。然后我們固定CNNobj的參數,再利用功能區域數據集微調雙流網絡。實驗中訓練的學習率設為0.0003,批的大小設為1,anchorbox的大小設為0.125,0.2,0.5,1,2,方向比率(aspectratio)為0.5,1,2。非極大值抑制(NMS)的重疊度(IoU,IntersectionoverUnion)設置為0.7。
圖5:coco數據集的樣本示例
B.數據集和評價指標
本次實驗利用[24]提供的功能區域數據集對模型進行訓練和測試。該數據集包括了約600張從SUN數據集[23]中得到的廚房場景圖像,圖7展示了數據集中的一些樣本。整個數據集有近10000個標注的區域樣本。這些樣本的統計分布如圖6所示。為了對我們的模型進行評估,本次實驗采用了與[19]相同的評價指標,將訓練集90%的數據作為訓練數據,剩下的作為測試數據。
圖6:數據集中不同功能區域數量的統計直方圖
對于物體網絡,我們使用COCO數據集[12]學習與物體相關的特征。COCO數據集中包含了91種常見的物體類別,例如人,車,桌子,瓶子,碗等等。這些圖像均來源于網絡,有著多種多樣的場景,如廚房,街道,公園等。每一張圖像包括了各種類別物體的矩形框。COCO數據集的圖例樣式如圖5所示。整個訓練數據集共包含80000張圖像。
本次實驗與[24]一樣使用精度,召回率和F1值作為算法的評價指標。一個正確的預測結果應符合以下兩點要求:(1)正確預測出功能類型;(2)預測的矩形框和真實標簽的矩形框的IoU值要大于0.5。精度,召回率和F1值的計算如下所示:
在這里tp、fn分別表示正確的正樣本和錯誤的負樣本的數量。
C.基準方法(BaselineMethods)
為了證明本文提出方法的有效性,本實驗采用下面的方法作為評價基準:
1.選擇搜索(selectivesearch)+CNN分類[24]。該方法首先利用選擇搜索[21]生成候選框。生成候選框之后,將每個候選框選中的圖像塊作為輸入傳入CNN并預測出該候選框的功能類別。該CNN首先使用ImageNet圖像分類數據集[5]進行預訓練,然后用功能區域數據集進行微調。本實驗使用原文章[24]的實驗結果作為本文的基準實驗結果。因為[24]采用了“困難樣本挖掘”(“hardsamplemining”)的方法來調整CNN模型,所以其精度和召回率在每輪調整訓練的時候都不同,我們將[24]中的3輪調整訓練的結果都作為本次實驗的基準結果。
2.FasterR-CNN[19]。在訓練fasterR-CNN過程中,首先用COCO數據集進行預訓練,然后用功能區域檢測數據集進行微調。為了保證實驗的公平性,這個基準方法也使用ResNet-101[7]作為特征提取模塊,預測網絡跟本文提出方法的網絡結構一致,訓練的超參數跟[7]的設置一致。本文提出的方法跟fasterR-CNN的主要不同點在于:(1)在功能區域預測時保留了物體相關的特征;(2)anchorbox的尺度和方向比率更多。
D.與基準方法的量化比較
表格1展示了本文提出的方法和其他基準方法的精度、召回率和F1值。通過對比可知fasterR-CNN在性能上比[24]使用的選擇搜索+CNN分類的方法要更好。這是因為fasterR-CNN是一種結合特征學習和區域檢測的端到端的方法,多尺度的anchorboxes能夠處理多種尺度的區域。表格中的結果說明本文提出的方法要比已有的方法有更好的性能。本文的方法是在fasterR-CNN的基礎上建立的,因此結果表明了融合物體信息并且增加更多類型的anchorbox是行之有效的。
E.控制變量分析(AblativeAnalysis)
為了進一步分析本文提出的方法的各個模塊的效果,本部分實驗將對模型進行不同的設置并進行比較。表格2展示了該實驗的測試結果。在表格2中,模型A移除了雙流網絡中的其中一支網絡,并且將anchorbox的種類設置與[19]一致,所以模型A與原始的fasterR-CNN一致。模型B保持與[19]一致的anchorbox的設置,但增加了能夠提取物體相關特征的網絡。從表格中可以看出精度從模型A的38.04%提升到模型B的52.29%。這一結果表明了物體知識對預測功能區域的有效性。模型C和模型D增加了anchorbox在尺度和方向比率上的多樣性,這個改進同樣提高了模型的性能,可以看出模型D在增加了物體知識之后的性能要比沒有增加的模型C好。
F.量化分析
為了可視化算法的性能,圖7展示了在一些新的場景中算法對功能區域的預測結果。從圖中可以看出,算法能夠預測出不同大小的功能區域,甚至能夠預測出比較小的抽屜把柄區域并正確的標識為“旋轉抓取并打開”。然而從圖中也能發現許多缺失的區域,比如圖7(b)的煤氣爐開關。經分析,這種現象出現的可能原因有以下兩點:(1)在使用CNN做特征提取的時候圖像中的細節可能會因為下采樣層導致特征丟失。(2)后期使用的非極大值抑制處理可能會把重疊率較高的矩形框融合在一起。
圖7:本文方法在[24]提供的數據集上的實驗結果
為了進一步了解本文方法的性能提升的程度,實驗還利用預測區域對應的預測功能類別與該區域的真實功能類別求出混淆矩陣,并對該矩陣進行可視化,如圖8所示。因為本問題不是一個分類問題,我們只要看要預測的區域與哪一個標注的區域重疊度最高。所以為了獲得預測區域的真實標簽,我們將預測的區域與真實標注區域重疊度大于0.5的區域對應的標簽作為該預測區域的真實標簽,如果該區域跟每個標簽的重疊都小于0.5,那么就將預測區域標為“背景”這一類。通過對混淆矩陣的觀察,可以發現很多屬于背景的區域被預測成為功能區域。對實驗結果進行分析后發現,錯誤的結果中存在著錯誤的正樣本的情形,但也找到了一些區域預測是正確的但是卻缺失了真實的標簽的情況。部分樣例如圖9所示。從中可以看到有些功能區域分布在不同的視角上,有些分布在一個密集的場景中,這對標注員來說也是一個很大的挑戰,因此可能存在漏標的情況。
圖8:測試結果的混淆矩陣,垂直軸表示真實標簽,水平軸表示預測結果
圖9:一些錯誤的正樣本的示例,在這些示例中模型正確預測出功能區域和對應的功能,但是數據中沒有標注
因為訓練跟測試數據都是在廚房環境中,所以為了真正說明算法的泛化能力,還需要在不同場景下進行算法測試。我們下載了一批非廚房的室內場景圖像,然后利用這些圖像測試本文提出的算法。結果如圖10所示。雖然預測結果存在一些錯誤,但是仍可以發現模型能夠找到一些新的有意義的區域。比如,枕頭沒有出現在廚房場景的訓練集中,但是算法依然能夠正確的將它框出并標注為“夾取并移除”。類似的,算法將床標注為“坐”。這些都證明了模型能夠擴展到新的未見過的區域中。
圖10:非廚房場景的功能區域檢測測試。可以發現算法能夠檢測到廚房場景中沒有見過的功能區域
結論
本文研究了如何結合物體知識來提升功能區域的檢測問題,我們定義了一個雙流網絡結構,該網絡結構能夠提取和融合物體相關特征和功能相關特征。同時本文中也討論了處理多尺度區域的問題。實驗中將本文提出的方法與基于深度學習的目標檢測算法[19]和前人做的功能區域檢測算法[24]進行對比,證明了本文算法優越的性能,同時也證明了融合物體相關特征的有效性。實驗也進一步證明,本文提出的算法能夠處理沒有在訓練集中見過的場景和物體所包含的功能區域。由于目前fasterR-CNN[18]在通用物體檢測上有很好的性能表現,因此本文的算法也采用了fasterR-CNN架構,其他的目標檢測架構也可以很方便地應用到本文提出的算法上。本文的非常重要的貢獻在于將物體相關的知識應用到功能區域檢測問題上。
標簽:
下一篇:智能語音增強助聽設備:基于...
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
相關資訊
產品新聞
更多>2025-04-11
2025-04-08
2025-03-31
2025-03-26
2025-03-20
2025-03-13