李祥攀 張 彪 孫鳳池 劉 杰
1(南開大學計算機學院 天津 300750)2(南開大學軟件學院 天津 300750)3(南開大學人工智能學院 天津 300750)
近年來,場景理解成為機器視覺以及智能機器人領域備受關注的一個重要問題.對于工作在人居環境的服務機器人來說,通過檢測、識別場景中的各種物體并提取物體之間的關系,有助于更好地理解其所在環境,從而實現任務規劃、物體搜索、人-機器人交互等自主行為.
可想而知,機器人必須全面地掌握環境中的信息,才能正確地理解環境.但是機器人搭載的視覺傳感器,例如RGB-D(RGB depth)傳感器,通常視野有限,無法直接采集到覆蓋整個場景的圖像數據幀.因此,機器人需要游走到不同視角位置采集多幀數據,并將多幀數據中的信息進行綜合,才能獲得其所在場景的全面信息.
為實現多幀圖像數據間的信息融合,常見的做法是通過圖像拼接方法將多幀圖像數據整合成為一幅全景圖像[1],進而進行物體檢測等信息提取工作.但是圖像拼接算法[2]對視角變化較為敏感,效果不穩定.另外一些做法是通過3維重建算法[3-4]進行多幀數據的信息融合,這需要進行大量復雜計算,而服務機器人工作在動態變化多發的室內環境中,維護3維模型的計算及存儲代價較高.
基于以上背景,本文提出了一種基于多視角RGB-D圖像幀信息融合的場景理解算法.該算法的目標在于通過物體實例檢測將不同圖像幀的物體檢測結果、關系提取結果進行融合,最終得到表征整個場景理解結果的物體關系拓撲圖.該算法流程如圖1所示,首先對多幀圖像逐幀進行物體檢測與關系提取,隨后將每幀圖像物體檢測結果與場景中已知的同類物體進行實例檢測,將重復的物體實例去除,將新發現的物體實例與原有的物體關系圖進行融合,根據融合結果對物體關系圖進行更新,以此迭代完成整個場景的物體檢測和關系提取.
本文主要貢獻有2個方面:1)對RGB-D圖像幀進行劃分并提取圖像單元的顏色直方圖特征,基于此提出了基于最長公共子序列的跨幀物體實例檢測算法,以支持多視角圖像幀的融合;2)完成了面向室內整體場景、融合多視角RGB-D圖像幀的場景理解,并生成物體關系圖作為場景理解的結果模型.
物體檢測是計算機視覺領域的研究熱點,也是機器人領域場景理解任務的關鍵問題.近年來,深度卷積神經網絡(convolutional neural network,CNN)已經成為物體檢測任務的基礎工具[5].深度神經網絡在提取圖像高層抽象特征方面性能優越,早期的工作如R-CNN[6](region-based convolutional neural network)以及其加速版本Fast R-CNN[7]使用深度卷積神經網絡提取特征,結合候選框提取算法實現物體檢測.后續工作Faster R-CNN[8-9]提出候選框提取網絡(region proposal network, RPN)將候選框提取過程囊括至端到端的網絡模型中.Mask R-CNN[10]在Faster R-CNN的基礎上添加了用于分割物體實例的網絡分支,實現了集物體檢測和語義分割于一體的網絡模型.
物體實例檢測算法的目標是檢測出現在不同圖像幀中的同一物體的實例.一些使用紋理特征(例如灰度共生矩陣[11])的算法通過描述物體表面紋理分布來進行物體實例判別.Bao等人[12]使用基于部件的表示方式對物體實例進行建模,并通過物體的部件外觀和幾何特征進行比較來判斷物體對象的外觀一致性.通過特征點匹配進行物體實例檢測[13-14]是另一種算法思路,這種算法對于平面的形變具有一定的魯棒性,但同時受視角變化影響較大.
圖像檢索問題[15]與物體實例檢測具有關聯性,同時也存在明顯差異.圖像檢索算法通常對圖像整體進行相似度評估,而物體實例在不同視角下往往會在整體上產生較大的差異.
地圖構建是智能機器人領域的一個經典問題,近年以來,集成了空間幾何信息和物體屬性信息的語義地圖成為主流的地圖格式.Silberman等人[16]將室內RGB-D數據解析為地板、墻壁、支撐面和物體等區域,然后恢復不同區域之間的支撐關系.Koppula等人[17]利用各種特征和上下文關系,包括局部視覺外觀、形狀、物體共現和幾何關系等,對點云數據進行語義標注,同時抽取不同語義點云之間的鄰近或者上下關系.
語義地圖可用于導航和各種操作任務,但其存在存儲消耗大、構建及維護計算量大的問題,且在環境發生動態變化時魯棒性較差.因此Ikehate等人[18]定義了一系列的圖結構生成室內環境的結構化模型,如以圖節點表示房間、墻和物體等元素,以實線表示2個節點具有公共邊界,以虛線表示沒有邊界約束的附著關系等,與語義地圖相比,這種地圖具有結構簡單、易于構建和維護的優點.類似地,本文提出結構簡單、易于構建和維護的物體-關系拓撲圖作為場景理解的表達.
本文算法在融合多圖像幀中的物體檢測結果時,需要識別出現在不同圖像幀中的相同物體實例,物體實例是指在不同視角圖像幀中出現的同一個物體的樣本.在識別物體實例時,物體的顏色特征比結構特征更加具有區分性,但在不同圖像幀中,物體的完整性與視角均可能發生變化,因此,同一個物體實例在不同圖像幀中的整體顏色特征可能產生較大差異,在此背景下本文采用基于圖像單元的顏色特征提出了物體實例檢測算法.
在不同視角下,物體實例的完整性與位姿均會發生變化,因此,同一物體實例的顏色直方圖在不同圖像中也會有較大差異.但同時,不同圖像幀中的相同物體實例會具有一定的共同部分,為了更好地表達這種跨幀、跨視角的部分對應關系,劃分為若干個細胞單元,則其細胞單元之間具有相應的對應關系,如圖2所示:
本文引入最長公共子序列算法(longest common subsequence, LCS)描述2個圖像的細胞單元序列的相似程度[19-20].LCS算法在文本分析中常用來計算2個字符串的相似度.對于2個字符序列(S1,S2),記S1i,S2j分別為序列S1,S2的子序列(S10,S11,…,S1i),(S20,S21,…,S2j),則VLCS(S1i,S2j)計算方式為

(1)
LCS算法可以通過動態規劃進行優化,即引入狀態數組對中間狀態進行記錄以避免多層遞歸.假設字符序列(S1,S2),其長度分別為(l1,l2),其狀態數組記為c[l1,l2].在計算過程中,首先將數組的第1行和第1列初始化為0,表示2個序列其中之一長度為0的情況.隨后從c[1,1]開始,按照從左向右、從上到下的順序,計算數組中每個位置的值:

(2)
最后,數組右下角的數值c[l1,l2]即為序列(S1,S2)的最長公共子序列長度.在本文中,2幅圖像分別被均等劃分為n個細胞單元,則在獲取2個圖像單元序列的最長公共子序列長度后,即可計算2個圖像單元序列的相似度:
similarity(S1,S2)=VLCS(S1,S2)/n.
(3)
當2個圖像子單元序列之間的相似度大于某閾值時,則認為2個圖像序列代表的是同一個物體,實驗中閾值選擇為0.55.
圖像單元并不像字符一樣可以直接比較是否相等,因此本文提取圖像細胞單元的顏色特征以描述2個圖像單元的相似性.顏色直方圖是反映顏色分布的重要特征.本文使用RGB顏色空間統計顏色直方圖,以R(紅色)、G(綠色)、B(藍色)這3種基本色為基礎,進行不同程度的疊加來表示不同的顏色模型,其中每種基本色按亮度的不同分為256個等級.
由于在不同視角處光照條件也存在差異,因此同一物體實例在不同圖像中成像亮度可能發生變化.為減少亮度變化帶來的影響,在統計顏色直方圖時將256個亮度等級平均劃分為8個區間,每個區間大小為32,即每個通道將產生一個8維直方圖向量.隨后,每個通道的直方圖向量被歸一化至區間[0,1],記為r,g,b.為了更加精細地表達顏色分布,將3個直方圖向量r,g,b兩兩對比,計算其差的絕對值,形成通道之間的顏色對比向量,計算方法為
cmp(α,β)=abs(α-β).
(4)
將3個顏色通道RGB各自像素值的總和記為SR,SG,SB,記SA=SR+SG+SB,則圖像的顏色直方圖特征為
feature=(r,g,b,cmp(r,g),cmp(r,b),
cmp(g,b),SR/SA,SG/SA,SB/SA),
(5)
其中包含6個8維向量和3個實數.當2個圖像單元進行比較時,對于顏色直方圖特征中的6個8維向量,分別計算對應向量之間的歐氏距離,對于特征中的3個實數,分別計算對應實數之間差的絕對值,最終將計算結果串聯為9維向量,該向量即用來描述2個圖像單元間的相似性.通過訓練支持向量機(support vector machine, SVM)來判斷2個圖像單元是否能夠視為同一個“字符”.
本文基于第2節給出的物體實例檢測算法,實現基于多視角圖像幀的場景理解,即通過物體實例檢測算法將多幀圖像中的物體檢測結果進行融合,構建場景中的物體關系拓撲圖.下面對物體檢測和物體關系圖構建2個方面的內容進行詳細介紹.
隨著深度學習在物體檢測領域的應用,各種深度網絡模型被相繼提出,物體檢測的精度也逐漸提高.Mask R-CNN是用于物體檢測與語義分割的深度網絡模型,該模型在Faster R-CNN的基礎上添加了物體實例分割分值,因此能夠同時進行物體檢測與語義分割.本文使用在數據集上預訓練好的Mask R-CNN模型,在NYUv2(NYU depth dataset v2)數據集[15]上微調,進行物體檢測.
NYUv2數據集包含1 449張標注的RGB-D圖像,來自3個城市中484個不同的商業和住宅區域.本文將該數據集手工劃分為610個場景片段,表1展示了含有不同數量圖像幀的場景片段分布情況.其中,包含圖像幀數量為1的場景片段即為獨立的單幀圖像,包含圖像幀數量超過4的場景片段多采集于商場等大型場景.考慮到本文的研究背景,將包含圖像幀數量為2,3,4的圖像劃分為測試集,其他圖像劃分為訓練集.本文在劃分后的數據集上使用經過微調的Mask R-CNN模型進行物體檢測.

Table 1 Statistics of Scene Fragments表1 分布情況
對于同一場景采集的多幀圖像,首先使用3.1節給出的算法對單幀圖像進行物體檢測,然后使用前述物體實例檢測算法將單幀圖像中的每個物體與當前場景中已有的物體進行比對以進行去重復處理,從而獲取對場景中所有物體的檢測與識別結果.
在基于多視角圖像幀完成對整個場景中的物體進行檢測識別之后,提取物體之間的關系,構成物體-關系拓撲圖,作為場景理解結果的呈現形式.簡單起見,本文僅考慮物體之間的相對位置關系.
隨著深度傳感器的普及使用,能夠方便地獲取場景的深度數據.深度圖像包含了顯式的空間信息,為提取物體之間的相對位置關系提供了方便.與文獻[21]類似,本文定義了物體之間最常見的2類空間關系,分別是“鄰近”與“上下”關系.在獲取深度圖像后,首先使用中值濾波對圖像進行降噪以去除邊界處的毛邊,隨后計算每個物體框之間的豪斯多夫距離.對于點集A和B,豪斯多夫距離計算過程是:首先計算點集A中的任一點ai到點集B中任一點bi的最短距離di,然后選取其中的最大值,即為點集A和B之間的豪斯多夫距離,表示為
H(A,B)=max(a∈A){min(b∈B)d(a,b)}.
(6)
對于某個物體O而言,周圍物體與其關系存在如圖3所示的2種情況.

Fig.3 The relationship between objects圖3 物體關系示意圖
對于“鄰近”關系,2個相互鄰近的物體在圖像中可能表現為左右相鄰和前后相鄰,由于存在視角變化,左右相鄰和前后相鄰能夠在不同視角下互相轉化,因此統一表現為“鄰近”關系.而“上下”關系不受視角的影響,只存在一種情況.然而,對于 “鄰近”關系和“上下”關系,其整體豪斯多夫距離可能是十分相近的,因此對于2個物體框只計算水平方向和深度方向的距離,最后以2個物體框垂直方向上的中點距離以及垂直投影重疊度來判斷其上下關系.同時,由于存在透視現象,距離傳感器越遠的物體在圖像上成像越小,因此在計算水平方向的距離時設置了一個與深度大小相關的系數,即:

(7)
當2個物體框之間的豪斯多夫距離小于某個閾值T1時,則認為其存在關系,否則認為其距離很遠,相互之間影響力較小,不產生關系.當2個物體框靠近且2個物體框之間的垂直中點距離大于某閾值T2,并且二者水平向下的投影重疊度超過某閾值T3時,判斷其為“上下”關系,否則為“鄰近”關系.
本文使用有向圖結構構建物體關系圖.對于物體關系,本文設置了語法規則構建物體關系圖:
1) 有向圖中每個節點表示一個物體;
2) 節點具有顏色屬性,該屬性表示了物體的類別信息;
3) 具有“鄰近”關系的物體之間使用虛線無向邊進行連接;
4) 具有“上下”關系的物體之間使用實線有向邊進行連接,有向邊由上方的物體指向下方的物體;
5) 不存在任何關系的物體之間不存在邊.
可見,與經典的機器人地圖相比,物體關系圖不保留原始圖像數據、不進行3維環境模型重建,因此所需計算量、存儲量大大減少,且圖的表達形式更為直觀,可以較好地支持語義導航、物品搜索等機器人典型任務.例如物品關系圖中的鄰近關系,可以幫助機器人根據已經發現的物品定位未知相關物體的搜索區域.
本文使用在NYUv2數據集上微調的Mask R-CNN模型檢測其中的物體.該實驗中,物體類別共有21類,訓練圖像832張、測試圖像617張.表2展示了物體檢測實驗效果:

Table 2 Results of Object Detection表2 物體檢測結果展示
本節描述了2個實驗.第1個實驗在NYUv2數據集中選取了207對正樣本、142對負樣本,對比本文提出的基于圖像細胞單元的顏色直方圖特征算法與整體顏色直方圖特征算法(記為SimColor)和基于ORB(oriented FAST and rotated BRIEF)特征匹配的算法(記為ORB-Match)的實例檢測效果,展示本文算法的有效性.正樣本為出現在不同圖像幀中同一物體實例對,負樣本則為隨機選取的不同物體實例.
整體顏色直方圖算法統計樣本對的整體直方圖,并計算對比向量,然后訓練SVM分類器來判斷其是否為同一物體實例.基于ORB特征匹配[14]的算法通過統計樣本對中高質量ORB特征匹配點的數量,判斷是否同一物體實例,本文設定匹配點數量大于等于4即表示同一物體.
表3展示了不同算法的檢測結果,由表3可見本文提出的算法在該樣本集上表現出了更好的效果.此外,實驗表明該算法對視角、光照條件等因素的變化所帶來的影響具有更好的魯棒性.

Table 3 Results on Positive-Negative Samples表3 正負樣本集實驗
第2個實驗對NYUv2數據集中的58個場景片段進行了標注與實驗,每個場景片段包含幾幀不同視角的圖像,包含379對物體實例對.表4展示不同算法檢測結果的精確率與召回率,并使用F-Score對精確率與召回率進行綜合評估.F-Score是精確率(precision,P)和召回率(recall,R)的加權調和平均,常用來評估分類模型的好壞,計算為

(8)
其中δ=1.

Table 4 Results on NYUv2表4 綜合實驗
實驗結果如表4所示,可以得出,本文基于圖像細胞單元的顏色直方圖物體實例檢測算法精確率和召回率均優于整體顏色直方圖算法及基于ORB特征的匹配算法.
本實驗展示了實例檢測結果和建立物體關系圖的過程.表5,6展示了融合計算過程,其中Monitor1_added代表已經加入到場景中的顯示器實例1,使用Monitor1_f2代表第2幀圖像中的顯示器實例1.表5,6中僅列出對比的物體實例.表7給出了某個具有3幀圖像的室內場景的理解與建圖過程.
在表7中,第1幀圖像有4個物體被檢測出來.由于物體關系拓撲圖初始狀態為空,因此4個節點均被添加至關系圖中,使用3.3節中描述的方法判斷顯示器2和打印機1是相鄰的關系,顯示器2和打印機1之間用無向虛線連接.
在第2幀圖像中4個物體被檢測到,其中顯示器和打印機已經出現,因此使用第2節描述的物體實例檢測算法比較同類別物體的相似性.從表5中可看到,第2幀中的顯示器與場景中已有的顯示器實例1匹配度更高,且大于閾值0.55,所以認為第2幀圖像中的顯示器為已有顯示器實例1,打印機實例的判別過程類似.使用3.3節中描述的方法判斷打印機1位于桌子1上,所以打印機1和桌子1之間使用有向實線連接,箭頭由打印機指向桌子,其余判定相鄰的物體使用虛線連接.第3幀圖像的融合過程類似,融合計算參考表6.

Table 5 Multi-Frame Fusion Process Step 1表5 多幀融合過程-第1步

Table 6 Multi-Frame Fusion Process Step 2表6 多幀融合過程-第2步

Table 7 Result of Scene Understanding and Map Building表7 場景理解與建圖結果

本文提出了一種直觀有效的跨幀物體實例檢測算法,并在此基礎上實現了基于多視角RGB-D圖像幀信息融合的室內場景理解,融合多幀圖像中的物體檢測結果,并提取物體間的拓撲關系,構建場景內的物體關系圖.該算法能夠有效集成多幀圖像中的場景信息,實現整體場景理解.如何進一步提高算法的實時性,并應用于移動機器人的在線運行及具體任務,是下一步的研究方向.