張世輝 何琦 董利健 杜雪哲
遮擋規(guī)避是目標跟蹤、三維重建、物體識別、場景繪制、運動估計等視覺領域一個重要且困難的問題,受到了學者們的廣泛關注[1?3].遮擋規(guī)避是指當視覺目標在某一時刻發(fā)生遮擋時,基于檢測出的遮擋信息及攝像機當前觀測方位信息,通過改變攝像機的觀測位置和方向等參數(shù)對遮擋區(qū)域進行觀測以獲取遮擋區(qū)域信息的過程.
根據(jù)視覺目標的狀態(tài)是靜止的還是運動的,可將遮擋規(guī)避分為靜態(tài)視覺目標遮擋規(guī)避和動態(tài)視覺目標遮擋規(guī)避兩大類.目前,國內外學者在靜態(tài)遮擋規(guī)避問題的研究方面已經(jīng)取得了一定的成果.Maver等[4]通過對遮擋區(qū)域外接表面進行多邊形建模,獲取攝像機的下一最佳觀測方位.Li等[5]提出了一種通過B樣條構建物體模型計算最大信息熵的方法,將攝像機能夠獲取模型最大信息熵的方位作為下一最佳觀測方位.Banta等[6]提出一種組合方法來確定下一最佳觀測方位.Wu等[7]利用基于密度的分層輪廓擬合算法來確定下一最佳觀測方位.Pito[8]利用PS(Positional space)算法從大量的觀測方位中確定下一最佳觀測方位.Potthast等[9]提出了一種基于遮擋環(huán)境下信息熵的不同確定下一最佳觀測方位的方法.張世輝等[10]利用投影降維思想通過對遮擋區(qū)域外接表面構建小平面集合從而確定下一最佳觀測方位.Doumanoglou等[11]利用稀疏自編碼器對深度不變RGB-D塊提取特征訓練霍夫森林,并基于訓練好的霍夫森林通過計算最小化期望熵來規(guī)劃下一最佳觀測方位.Bissmarck等[12]提出面向邊界和體積的分層射線追蹤算法,利用邊界信息和空間信息去除冗余射線確定下一最佳觀測方位.同靜態(tài)遮擋規(guī)避相比,動態(tài)遮擋規(guī)避問題的研究相對較少,主要是因為遮擋區(qū)域會隨著視覺目標運動而發(fā)生改變,如何合理規(guī)劃攝像機觀測方位對視覺目標遮擋區(qū)域進行觀測是動態(tài)遮擋規(guī)避過程中的難點.為了解決動態(tài)遮擋規(guī)避問題,需要對視覺目標進行運動估計以確定運動后遮擋區(qū)域變化情況,進而移動攝像機到遮擋區(qū)域最佳觀測方位下對遮擋區(qū)域進行觀測.因此,動態(tài)遮擋規(guī)避的最終目標是獲得攝像機一系列的下一最佳觀測方位.目前可查到的動態(tài)遮擋規(guī)避方法是Zhang等[13]通過對遮擋區(qū)域建模以及計算視覺目標運動方程,從而規(guī)劃攝像機的運動方式,對遮擋區(qū)域進行動態(tài)規(guī)避,但該方法存在建模速度較慢、運動估計誤差較大等不足.
鑒于目前動態(tài)遮擋規(guī)避研究較少且已有方法存在的問題,本文提出一種基于遮擋區(qū)域建模和目標運動估計的動態(tài)遮擋規(guī)避方法.該方法主要目的是觀測運動視覺目標的遮擋區(qū)域,因為在諸多研究和應用如運動目標三維重建、主動跟蹤、動態(tài)目標識別、機器人自主作業(yè)等領域,視覺目標發(fā)生遮擋現(xiàn)象是一種普遍存在的情況,此時遮擋區(qū)域可能包含更多的有用信息.如果視覺系統(tǒng)能最大限度地觀測到遮擋區(qū)域,將會有助于視覺任務的順利完成.選取深度圖像是考慮到深度圖像更利于獲取場景的三維信息,以便更加方便地確定攝像機的觀測方位.由于動態(tài)遮擋規(guī)避過程需要兼顧實時性和準確性,因此在方法設計過程中,主要解決了兩個問題:1)如何快速構建動態(tài)視覺目標遮擋區(qū)域的模型并確定遮擋區(qū)域最佳觀測方位;2)如何準確地對深度圖像中的視覺目標進行運動估計.針對第一個問題,提出了關鍵點概念,通過提取深度圖像遮擋邊界中的關鍵點,構建關鍵線段實現(xiàn)對遮擋區(qū)域快速而準確的建模,在此基礎上,利用建模結果和關鍵線段構建遮擋區(qū)域最佳觀測方位模型,以確定遮擋區(qū)域最佳觀測方位.針對第二個問題,為了提高視覺目標運動估計的準確性,提出了混合曲率的概念,通過計算視覺目標深度圖像對應的混合曲率矩陣,增加了圖像匹配過程中提取特征點的數(shù)量,并依據(jù)篩選后的匹配點對視覺目標進行運動估計.實驗結果驗證了本文所提方法的可行性和有效性.
本文第1節(jié)概述所提方法的基本思想;第2節(jié)論述如何依據(jù)視覺目標深度圖像遮擋信息實現(xiàn)動態(tài)遮擋規(guī)避過程;第3節(jié)給出實驗結果及分析;第4節(jié)總結全文.
動態(tài)遮擋規(guī)避是指運動視覺目標在某一時刻發(fā)生遮擋時,以該時刻視覺目標遮擋區(qū)域為規(guī)避對象,同時對視覺目標進行運動估計,通過合理規(guī)劃攝像機的運動方式,多次移動攝像機以觀測到更多的遮擋區(qū)域.圖1展示了動態(tài)遮擋規(guī)避過程.圖1(a)為動態(tài)視覺目標在某一時刻觀測方位下發(fā)生遮擋現(xiàn)象,陰影區(qū)域即為發(fā)生遮擋區(qū)域,為了獲取到遮擋區(qū)域信息,需要規(guī)劃攝像機的運動方式,使其能夠跟隨視覺目標并向著遮擋區(qū)域最佳觀測方位運動.圖1(b)為規(guī)劃攝像機跟隨視覺目標運動并觀測遮擋區(qū)域的中間過程,隨著攝像機的運動,更多的遮擋區(qū)域被觀測到,遮擋區(qū)域面積也隨之減少.圖1(c)為攝像機到達遮擋區(qū)域最佳觀測方位時的觀測效果,此時遮擋區(qū)域被全部觀測到,攝像機完成了動態(tài)遮擋規(guī)避的全過程.
圖1 動態(tài)遮擋規(guī)避過程示意圖Fig.1 Sketch map of dynamic occlusion avoidance
基于上述對動態(tài)遮擋規(guī)避問題的分析,本文提出一種解決動態(tài)遮擋規(guī)避問題的方法.1)在攝像機當前觀測方位下采集視覺目標運動前后兩幅深度圖像,將第一幅深度圖像中的遮擋區(qū)域作為要規(guī)避的區(qū)域,同時提取遮擋邊界關鍵點以及與其相對應的下鄰接點構建關鍵線段,并利用關鍵線段對遮擋區(qū)域建模,在此基礎上,利用遮擋區(qū)域建模結果和關鍵線段構建遮擋區(qū)域最佳觀測方位模型.2)對兩幅深度圖像分別利用反投影變換計算圖像中各像素點對應的三維坐標,并利用三維坐標計算兩幅深度圖像的混合曲率矩陣.3)對兩幅深度圖像對應的混合曲率矩陣提取特征點進行匹配,并對匹配特征點進行篩選,根據(jù)篩選后匹配點的三維信息對視覺目標進行運動估計.4)利用遮擋區(qū)域最佳觀測方位模型和視覺目標運動估計方程,合理規(guī)劃攝像機的下一最佳觀測方位.同時,判斷攝像機在相鄰兩次觀測方位下獲取視覺目標遮擋區(qū)域面積的差值是否小于給定閾值.若不小于給定閾值則移動攝像機到下一最佳觀測方位下繼續(xù)采集視覺目標深度圖像,并利用遮擋區(qū)域最佳觀測方位模型和新的運動估計方程重新規(guī)劃攝像機下一最佳觀測方位,否則動態(tài)遮擋規(guī)避過程結束.圖2展示了動態(tài)遮擋規(guī)避過程的總體流程.
2.1.1 提取遮擋邊界關鍵點構建關鍵線段對遮擋區(qū)域建模
采集視覺目標發(fā)生遮擋時的第1幅深度圖像,利用文獻[14?15]中的方法檢測深度圖像中的遮擋邊界以及遮擋邊界的端點.為了對遮擋區(qū)域進行快速建模,通過分析深度圖像中遮擋邊界點之間的位置關系,本文提出了關鍵點概念.其定義主要包括兩部分:1)定義遮擋邊界上的端點為關鍵點;2)如果任一遮擋邊界點不為端點并且其八鄰域內不存在其他關鍵點,則將該遮擋邊界點與八鄰域內全部遮擋邊界點組成線段,若任意相鄰線段所對應的斜率不同,那么定義該遮擋邊界點為關鍵點.
圖3展示了視覺目標Bunny在當前觀測方位下的遮擋邊界和遮擋邊界的關鍵點.其中灰色點代表遮擋邊界點,黑色點代表遮擋邊界的關鍵點.
獲取完遮擋邊界關鍵點之后,即可對遮擋區(qū)域進行建模.圖4展示了構建關鍵線段并利用關鍵線段對遮擋區(qū)域建模的過程.本文采用如下方式對遮擋區(qū)域進行建模:依次選取遮擋邊界上的關鍵點mi,通過計算其八鄰域內深度差值最大的點作為其下鄰接點并記為,如圖4(a)所示,其中黑色點代表遮擋邊界上的關鍵點,白色點代表與關鍵點相對應的下鄰接點.然后在三維空間中依次將遮擋邊界關鍵點mi和與其相對應的下鄰接點相連構成關鍵線段li,并將相鄰關鍵線段之間所圍成的空間四邊形記為patchi,如圖4(b),其中i為1到N?1的整數(shù),N為關鍵線段個數(shù).所有N?1個patch即為對遮擋區(qū)域的建模結果.
2.1.2 計算patch的面積、法向量和關鍵線段觀測方向、中點
為了構建遮擋區(qū)域最佳觀測方位模型,需要計算patchi的面積和法向量以確定關鍵線段的觀測方向.利用四邊形面積公式計算patchi面積,計算公式為
其中,α為patchi中對角線構成的夾角(圖4(b)),Si為patchi的面積.
圖2 動態(tài)遮擋規(guī)避過程的總體流程Fig.2 The overall flow of the proposed dynamic occlusion avoidance
圖3 Bunny的遮擋邊界及其關鍵點Fig.3 The occlusion boundaries and key points of Bunny
由于pa tchi的法向量可能指向視覺目標內部或外部,為了保證計算出的patchi實際可觀測面積的有效性,選取指向視覺目標外部的法向量作為patchi的法向量.在不考慮法向量方向的前提下,patchi法向量的VVVpatchi計算公式為
其中,μi為三維空間中從mi指向的向量,γi為三維空間中從指向mi+1的向量.為了保證patchi的法向量方向指向視覺目標外部,通過對關鍵點和下鄰接點分析可知,當關鍵點位于下鄰接點左(上)側,則patchi的法向量計算公式應為μi×γi;當關鍵點位于下鄰接點右(下)側,則patchi的法向量計算公式應為γi×μi.
確定出patchi的法向量之后,即可在此基礎上進一步計算關鍵線段觀測方向.考慮到組成關鍵線段的點存在端點的情況,本文分兩種情況對關鍵線段觀測方向進行定義:1)若與關鍵線段li對應的點mi為端點,則定義li與其相鄰關鍵線段圍成patch的法向量為該關鍵線段的觀測方向;2)若與關鍵線段li對應的點mi不為端點,則定義關鍵線段觀測方向為
其中,VVVli為關鍵線段li的觀測方向,wi為patchi的面積值,VVpatchi為 patchi的法向量,wi+1為patchi+1的面積值,VVpatchi+1為patchi+1的法向量,w為wi與wi+1的和,E為端點個數(shù).同時,為了盡可能多地觀測到關鍵線段,定義關鍵線段的中點ci作為觀測點,計算公式為
2.1.3 構建遮擋區(qū)域最佳觀測方位模型
依據(jù)上述方法完成對遮擋區(qū)域建模和獲取關鍵線段觀測方向后,下一步需要構造遮擋區(qū)域最佳觀測方位模型.由于攝像機對遮擋區(qū)域內未知表面的觀測可近似等價于對相鄰關鍵線段之間圍成四邊形區(qū)域的觀測,因此能夠最大量觀測到相鄰關鍵線段之間圍成的四邊形面積信息的觀測方位即為遮擋區(qū)域最佳觀測方位.基于此思想,本文定義遮擋區(qū)域最佳觀測方位模型為
其中,(xp,yp,zp)為攝像機的觀測位置.β為常數(shù),β值越大函數(shù)越精確.?i為將關鍵線段li的端點平移到當前攝像機觀測中心點時,關鍵線段li的觀測方向Vli與其中點ci到攝像機當前觀測位置(xp,yp,zp)構成向量的夾角,θi為將關鍵線段li的端點平移到當前攝像機觀測中心點時,攝像機觀測方向與關鍵線段li所成的夾角,如圖5所示.1/(1+exp(?βcos(?i)))是一個激活函數(shù),當?i夾角在 0?~90?時,1/(1+exp(?βcos(?i))) 約等于1,即關鍵線段能被攝像機觀測到才參與計算;當?i在 90?~180?時,1/(1+exp(?βcos(?i))) 約等于0,表示關鍵線段不能被攝像機觀測到,此時關鍵線段不參與計算.sin(θi)為第i條關鍵線段的投影長度與關鍵線段長度的比值.Si為關鍵線段li與其相鄰關鍵線段圍成patch的面積,當關鍵線段li對應的點mi為端點時,Si為li與其相鄰的關鍵線段圍成一個patch的面積;當關鍵線段li對應的點mi不為端點時,Si為li與其相鄰的關鍵線段圍成兩個patch的面積之和.
圖4 遮擋區(qū)域建模示意圖Fig.4 The sketch map of modeling occlusion region
圖5 當前攝像機觀測中心點與關鍵線段的位置關系Fig.5 The position relation between the observation center point of current camera and the key line segments
2.2.1 獲取深度圖像混合曲率矩陣
鑒于視覺目標在運動過程中其物體表面的曲率信息并不會發(fā)生改變.因此,對兩幅深度圖像分別利用反投影變換計算圖像中各像素點對應的三維坐標,并利用三維坐標計算兩幅深度圖像的混合曲率矩陣.在此基礎上,通過對視覺目標運動前后兩幅深度圖像對應的混合曲率矩陣提取特征點進行匹配,依據(jù)匹配信息計算視覺目標運動方程.混合曲率計算公式為
其中,pixeli表示深度圖像中第i個像素點的混合曲率,本文采用Besl等[16]提出的方法計算第i個像素點的平均曲率MCi和高斯曲率GCi,k為常數(shù),k值越大,圖像表面信息越豐富.圖6展示了視覺目標Bunny的深度圖像和與其深度圖像對應的混合曲率矩陣圖像.
2.2.2 采用SURF算法匹配圖像計算運動方程
依次獲取視覺目標運動前后兩幅深度圖像對應的混合曲率矩陣之后,下一步工作是對提取的混合曲率矩陣進行匹配,考慮到動態(tài)遮擋規(guī)避過程的實時性與準確性要求,本文采用SURF算法[17]對兩幅深度圖像對應的混合曲率矩陣進行匹配.SURF算法優(yōu)點是采用Hessian矩陣以及積分圖像的概念,加快了算法的運行時間與效率,并且對旋轉、仿射變換、噪聲都有一定的魯棒性.具體匹配過程如下:1)對視覺目標運動前后兩幅深度圖像對應的混合曲率矩陣提取特征點.2)計算與特征點對應的特征描述符.3)對兩幅深度圖像對應混合曲率矩陣提取出的特征點進行匹配.由于視覺目標運動過程中產(chǎn)生的誤差可能導致算法得到的匹配點不準確并且部分特征點在視覺目標外部,因此采用三角形法則[18]對匹配結果進行篩選并去除視覺目標外部的特征點.圖7展示了視覺目標Bunny運動前后深度圖像所對應混合曲率矩陣提取出的特征點.圖8展示了篩選之后的匹配效果.
圖6 Bunny的深度圖像及其對應的混合曲率矩陣圖像Fig.6 The depth image of Bunny and its corresponding mixed curvature matrix image
圖7 視覺目標Bunny運動前后的特征點Fig.7 The feature points of Bunny before and after motion
依據(jù)篩選后的匹配點,可以對視覺目標進行運動估計.假設視覺目標運動前后匹配點的對應關系為
從式(7)可以看出,運動估計的結果就是求得一組R、T,使之滿足全部運動前后匹配點的三維坐標.考慮到動態(tài)遮擋規(guī)避過程的實時性,本文采用奇異值分解法[19]計算式(7)中的R和T.定義一個矩陣A
其中,
n為篩選后的匹配點個數(shù).
對矩陣A進行奇異值分解可以得到A=UΣVT,其中R=V UT,將其代入式(7)可得到T.至此完成了視覺目標的運動估計.
獲取遮擋區(qū)域最佳觀測方位模型與運動估計方程之后,即可在此基礎上規(guī)劃攝像機的下一最佳觀測方位.通過分析動態(tài)遮擋規(guī)避過程可知,若把攝像機觀測位置代入運動估計方程,便可實現(xiàn)攝像機隨動于視覺目標,但為了獲取遮擋區(qū)域信息,需要在攝像機隨動于視覺目標的同時引入攝像機為規(guī)避遮擋區(qū)域所需運動的偏移量.式(5)并非一個凸模型,故很難直接求得最優(yōu)解去計算攝像機所需運動的偏移量.考慮到動態(tài)遮擋規(guī)避的最終結果是獲取攝像機一系列觀測方位,而最優(yōu)化方法在求解非凸模型過程中計算出的搜索方向可以為攝像機運動偏移量的確定提供依據(jù).目前可行的最優(yōu)化方法有最速下降法、牛頓下降法、共軛梯度法、信賴域法等.由于該模型較易計算導數(shù),且牛頓下降法相比于其他方法具有迭代次數(shù)少、收斂快的特點,從而有利于減少攝像機為規(guī)避遮擋區(qū)域所需運動的次數(shù).故綜合考慮方法的可行性和時間消耗,本文采用牛頓下降法求解模型的搜索方向來計算攝像機的運動偏移量,將攝像機下一最佳觀測方向VVnext與觀測中心點Pnext的計算公式分別定義為
其中,Vposition代表攝像機當前觀測位置,λ為步長因子,λ值越大攝像機移動距離越遠,但匹配點數(shù)量會相應減少從而影響運動估計的準確性.Pcurrent代表攝像機當前觀測中心點.
依據(jù)計算出的下一最佳觀測方向VVnext和觀測中心點Pnext便可計算攝像機的下一最佳觀測位置Pnc,計算公式定義為
其中,d為當前攝像機位置到觀測目標中心點的固定距離.此時,將已經(jīng)得到的下一最佳觀測方位(Pnext,Pnc)作為當前觀測方位(Pcurrent,Vposition),在新的觀測方位(Pcurrent,Vposition)下繼續(xù)采集視覺目標的深度圖像,并計算所觀測到的遮擋區(qū)域面積S,計算公式定義為
其中,θi為第i個patch的法向量與patch的中心點(patch四個點坐標的算術平均值)到當前攝像觀測方位構成向量的夾角,Si為第i個patch的面積.基于式(12)的求解,判斷相鄰兩次觀測方位下觀測到的視覺目標遮擋區(qū)域面積差值是否小于給定閾值,計算公式定義為
其中,Snext為下一觀測方位下觀測到的視覺目標遮擋區(qū)域面積,Scurrent為當前觀測方位下觀測到的視覺目標遮擋區(qū)域面積.
重復式(6)~(13)的過程直到式(13)成立為止,此時獲得了一系列攝像機下一最佳觀測方位(Pnext,Pnc),動態(tài)遮擋規(guī)避過程結束.
輸入.運動視覺目標深度圖像,攝像機內外參數(shù).
輸出.動態(tài)遮擋規(guī)避過程中攝像機的下一最佳觀測方位集合.
步驟1.提取視覺目標深度圖像遮擋邊界的關鍵點以及與其相對應的下鄰接點構建關鍵線段,并利用關鍵線段對遮擋區(qū)域建模.
步驟2.依據(jù)式(1)~(5)構建遮擋區(qū)域最佳觀測方位模型.
步驟3.根據(jù)式(6)計算相鄰兩幅深度圖像的混合曲率矩陣;采用SURF算法進行匹配,并依據(jù)三角形法則對匹配點進行篩選;根據(jù)式(7)和式(8)對視覺目標進行運動估計.
步驟4.根據(jù)式(9)~(11)規(guī)劃攝像機下一最佳觀測方位;依據(jù)式(12)計算攝像機能觀測到的遮擋區(qū)域面積;若相鄰兩次面積差值大于閾值ε,跳轉至步驟3繼續(xù)進行遮擋規(guī)避;直到動態(tài)遮擋規(guī)避過程結束.
步驟5.輸出攝像機的下一最佳觀測方位集合.
為了全面合理地驗證所提方法的可行性和有效性,本文做了4組實驗.1)構建遮擋區(qū)域最佳觀測方位模型過程中各個階段可視化實驗;2)針對不同曲率矩陣提取特征點的對比實驗;3)動態(tài)遮擋規(guī)避實驗;4)與已有動態(tài)遮擋規(guī)避方法的實驗比較.實驗硬件環(huán)境為Intel(R)Core(TM)i7-3770 CPU@3.40GHz,內存8.00GB.實驗中的3維模型來自深度圖像領域著名的Stuttgart Range Image Database[20]和Kinect采集的真實視覺目標.實驗采用C++編程實現(xiàn).實驗過程中采用OpenGL實現(xiàn)視覺目標運動,設置OpenGL投影矩陣的參數(shù)為(60,1,200,600),視窗大小為400像素×400像素,深度圖像的分辨率為640像素×480像素.攝像機到觀測目標中心點的固定距離d=300mm,常數(shù)β=200,常數(shù)k=3,步長因子λ=2.5(常數(shù)β、k和步長因子λ均為經(jīng)驗值),考慮到動態(tài)遮擋規(guī)避對準確性和實時性的要求,以及為了與文獻[13]進行對比實驗等因素,本文選取閾值ε=30mm2(后文中,世界坐標系的單位均為mm).
3.2.1 構建遮擋區(qū)域最佳觀測方位模型過程中各個階段可視化實驗結果和分析
為了更加形象地說明本文方法構建的遮擋區(qū)域最佳觀測方位模型.圖9給出了構建遮擋區(qū)域最佳觀測方位模型過程中各個階段的可視化結果.圖中最左側的文字表示視覺目標,圖9(a)是初始觀測方位下深度圖像,圖9(b)是遮擋邊界、關鍵點及下鄰接點,圖9(c)是關鍵線段的觀測方向,圖9(d)是遮擋區(qū)域最佳觀測方位下的可見關鍵線段,圖9(e)是遮擋區(qū)域最佳觀測方位下的深度圖像.
圖9 各個階段的可視化結果Fig.9 The visualization results of each phase
從圖9可以看出,對于視覺目標Duck,由于在當前觀測方位下遮擋情況不太顯著并且各個關鍵線段之間圍成的patch面積差值較小,故在遮擋區(qū)域最佳觀測方位下觀測到的遮擋區(qū)域面積較小;對于視覺目標Bunny,Mole,Rocker和Knot,由于在當前觀測方位下遮擋情況相對顯著并且各個關鍵線段之間圍成的patch面積差值較大,故在遮擋區(qū)域最佳觀測方位下觀測到的遮擋信息較多.由此可見,當視覺目標遮擋現(xiàn)象越顯著并且各個關鍵線段之間圍成的patch面積差值越大,本文方法構建的遮擋區(qū)域最佳觀測方位模型越好,進一步驗證了所提關鍵點方案的可行性.
3.2.2 針對不同曲率矩陣提取特征點的對比實驗
視覺目標深度圖像所對應曲率矩陣將對最終提取的特征點產(chǎn)生較大的影響,進而影響到視覺目標運動估計的準確性.為了驗證本文所提混合曲率特征的有效性,分別對基于高斯曲率、平均曲率和混合曲率三種不同曲率計算出的曲率矩陣的實驗結果進行了比較.圖10展示了針對不同視覺目標運用不同曲率獲取與深度圖像相對應的曲率矩陣的可視化結果.圖中最左側的文字表示視覺目標,圖10(a)是視覺目標深度圖像,圖10(b)是高斯曲率矩陣,圖10(c)是平均曲率矩陣,圖10(d)是混合曲率矩陣.
分析圖10結果可知,高斯曲率能較好地表達視覺目標內部表面的紋理信息,平均曲率能較好地表達視覺目標邊緣的輪廓信息,本文所提的混合曲率則能夠更好地表達視覺目標邊緣輪廓與內部表面紋理信息.
為了更好地說明本文所提混合曲率特征的效果.表1給出了與視覺目標深度圖像對應不同曲率矩陣提取特征點的量化結果,實驗結果為30幅深度圖像對應的曲率矩陣提取特征點的平均數(shù)(取整).其中NC表示采用平均曲率矩陣提取特征點的個數(shù),NG表示采用高斯曲率矩陣提取特征點的個數(shù),NGC表示采用混合曲率矩陣提取特征點的個數(shù).從表1可以看出,采用本文方法獲取視覺目標特征點的結果明顯優(yōu)于其他兩種方法獲取視覺目標特征點的結果,進而驗證了本文所提混合曲率特征的有效性.
3.2.3 動態(tài)遮擋規(guī)避實驗的結果和分析
為了驗證本文所提動態(tài)遮擋規(guī)避方法的可行性和有效性,分別進行了仿真實驗和真實實驗.
圖10 不同曲率矩陣的可視化結果Fig.10 The result of visualization for different curvature matrices
表1 不同曲率矩陣提取特征點結果的量化評估Table 1 Quantitative evaluation of the result of feature points extracted by different curvature matrices
在仿真實驗中,選取Stuttgart Range Image Database中的3維視覺目標Dragon和Bunny作為實驗對象,使其在不同的運動方式下進行動態(tài)遮擋規(guī)避.表2是視覺目標Dragon在初始觀測方位[190,?200,118]T下以2mm/s的速度沿向量[?2,0,0]T做平移運動的動態(tài)遮擋規(guī)避過程.表3是視覺目標Bunny在初始觀測方位[?196,170,150]T下以5?/s速度繞向量[?1,1,2]T做旋轉運動的動態(tài)遮擋規(guī)避過程.表4是視覺目標Bunny在初始觀測方位[190,?200,118]T下以3mm/s的速度沿向量[1,0,0]T平移的同時以2?/s速度繞向量[2,1,0]T做旋轉運動的動態(tài)遮擋規(guī)避過程.由于攝像機在動態(tài)遮擋規(guī)避過程中移動次數(shù)較多,僅展示了攝像機在部分觀測方位下的觀測結果.
在真實實驗中,基于視覺目標Printer(打印機),Kettle(水壺)和Plant(海蔥)的不同運動方式進行動態(tài)遮擋規(guī)避實驗,并利用Kinect采集它們的深度圖像.圖11是視覺目標Printer,Kettle和Plant的RGB圖像、深度圖像、深度圖像中的遮擋邊界及其關鍵點.分析圖11(c)中不同視覺目標的深度圖像可知,在圖像采集過程中,由于Kinect自身誤差、遮擋及柔性物體例如Plant易發(fā)生形變、尺度變化等現(xiàn)象,從而導致獲取的深度圖像存在一定的邊界不連續(xù)、信息缺失或噪聲.但通過分析圖像11(d)的結果可知,對于存在上述情形的遮擋邊界,所提方法依然能夠較準確地提取到遮擋邊界上的關鍵點,從而驗證了本文所提關鍵點篩選方法具有一定的魯棒性.
表2 視覺目標Dragon做平移運動時的動態(tài)遮擋規(guī)避過程Table 2 The dynamic occlusion avoidance process of visual object Dragon with translation motion
表3 視覺目標Bunny做旋轉運動時的動態(tài)遮擋規(guī)避過程Table 3 The dynamic occlusion avoidance process of visual object Bunny with rotation motion
圖11 真實實驗結果Fig.11 The result of real experiment
在真實實驗中,由于目前實驗硬件條件的限制,無法使攝像機隨動于視覺目標的同時對視覺目標進行拍攝.考慮到實驗的完整性,通過對Kinect采集到的不同視覺目標的深度圖像進行三維重建,進而利用OpenGL模擬了不同視覺目標在不同運動方式下的動態(tài)遮擋規(guī)避過程.表5是視覺目標Printer在初始觀測方位[0,1,1200]T下以2mm/s的速度沿著向量[0,1,0]T做平移運動的動態(tài)遮擋規(guī)避過程.表6是視覺目標Kettle在初始觀測方位[0,?1,600]T下以2o/s的速度沿著向量[?2,1,0]T做旋轉運動的動態(tài)遮擋規(guī)避過程.表7是視覺目標Plant在初始觀測方位[0,?1,650]T下以2o/s的速度沿著向量[?2,1,0]T做旋轉的同時以2mm/s的速度沿著向量[0,1,0]T做平移運動的動態(tài)遮擋規(guī)避過程.
表4 視覺目標Bunny做平移和旋轉運動時的動態(tài)遮擋規(guī)避過程Table 4 The dynamic occlusion avoidance process of visual object Bunny with both translation and rotation motion
表5 視覺目標Printer做平移運動時的動態(tài)遮擋規(guī)避過程Table 5 The dynamic occlusion avoidance process of visual object Printer with translation motion
表6 視覺目標Kettle做旋轉運動時的動態(tài)遮擋規(guī)避過程Table 6 The dynamic occlusion avoidance process of visual object Kettle with rotation motion
表2~7中,第1列是攝像機在動態(tài)遮擋規(guī)避過程中所拍攝的視覺目標深度圖像編號,當遮擋規(guī)避過程結束時,由不同表的第1列圖像編號不同可知,當視覺目標以不同的方式進行運動時,攝像機的運動次數(shù)也是不同的.第2列是攝像機在一系列下一最佳觀測方位下拍攝到的視覺目標深度圖像,分析相關圖像可知,本文方法在動態(tài)遮擋規(guī)避過程中求得的一系列下一最佳觀測方位都與人類視覺的觀測習慣相符.第3、4列分別是篩選匹配點之后的匹配圖像和匹配點數(shù),可以看出篩選后的匹配點都更加準確,從而有利于后續(xù)估計視覺目標運動以及規(guī)劃攝像機的下一最佳觀測方位,以便攝像機獲取更多的視覺目標遮擋信息.第5~7列分別是計算出的攝像機下一最佳觀測方向、觀測位置和在相應觀測方位下求得的遮擋區(qū)域面積.從這些數(shù)據(jù)及其變化趨勢可以看出,隨著動態(tài)遮擋規(guī)避過程的進行,越來越多的遮擋區(qū)域被觀測到.
3.2.4 與已有動態(tài)遮擋規(guī)避方法的實驗比較及分析
雖然目前動態(tài)遮擋規(guī)避方面的文獻較少,但為了更全面合理地評估本文方法的效果,將本文方法與同樣基于深度圖像且考慮遮擋信息的代表動態(tài)遮擋領域最新進展的文獻[13]中的方法進行了三組對比實驗.1)不同建模方法以及下一最佳觀測方位的對比實驗;2)運動估計的對比實驗;3)動態(tài)遮擋規(guī)避最終結果的對比實驗.考慮到本文真實實驗過程并不完整,即動態(tài)遮擋規(guī)避部分仍然采用重建后的3維模型進行實驗,這與基于Stuttgart Range Image Database中的3維模型進行實驗并無本質區(qū)別,并且為了保持與文獻[13]實驗對比部分的一致性,故此部分并未增加真實實驗的對比數(shù)據(jù).下面分別給出三組對比實驗的結果及分析.
表8是本文方法和文獻[13]方法在相同初始觀測方位下對遮擋區(qū)域建模的時間消耗對比結果.從表8可以看出,對于不同視覺目標遮擋區(qū)域,本文建模方法在時間消耗上均低于文獻[13]中的方法,進一步驗證本文方法在建模速度上更滿足動態(tài)遮擋規(guī)避對實時性的要求.
為了更好地衡量本文所提建模方法,將兩種建模方法計算出的下一最佳觀測方位進行實驗對比.圖12是兩種方法在所求下一最佳觀測方位下獲得的視覺目標深度圖像.其中,第1行為當前觀測方位下的視覺目標深度圖像,第2行為文獻[13]方法計算出的下一最佳觀測方位下的視覺目標深度圖像,第3行為本文方法計算出的下一最佳觀測方位下的視覺目標深度圖像.表9是兩種不同建模方法求解出的下一最佳觀測方位下獲取的視覺目標表面點的量化結果.其中Nnbv代表攝像機在下一最佳觀測方位下獲取到的視覺目標表面點的個數(shù),No代表被重復觀測到的視覺目標表面點的個數(shù),Nnew=Nnbv?No代表實際新增點的個數(shù),Ro代表重合率,Rnew代表新增率.
表7 視覺目標Plant同時做旋轉和平移運動時的動態(tài)遮擋規(guī)避過程Table 7 The dynamic occlusion avoidance process of visual object Plant with both translation and rotation motion
表8 兩種建模方法的時間消耗(ms)Table 8 Time consumption of two modeling methods(ms)
結合圖12和表9的分析可知,由于本文方法與文獻[13]均是通過對遮擋區(qū)域建模,進而計算下一最佳觀測方位,因此,對于遮擋情況不太顯著的視覺目標Duck和Mole,由于在初始觀測方位下遮擋區(qū)域相對較少,影響下一最佳觀測方位計算的準確性,從而導致在下一最佳觀測方位下計算出的新增率相對偏低;對于遮擋情況相對顯著的視覺目標Bunny,Rocker和Dragon而言,由于下一最佳觀測方位計算相對準確,所以新增率相對較高.與本文方法相比,由于文獻[13]方法在遮擋區(qū)域建模過程中,對遮擋面積不同的區(qū)域并沒有做任何區(qū)分,而本文方法在遮擋區(qū)域建模過程中,更注重對遮擋面積較大的區(qū)域進行觀測,根據(jù)實驗結果來看,在新增點和新增率上,本文方法都比較好.綜合來看,與文獻[13]相比,本文方法的適用性更好,更符合人類的觀測習慣.
為了衡量本文運動估計的準確性,針對做不同運動的視覺目標Bunny,分別采用文獻[13]和本文中的方法進行運動估計,并將運動估計得到的結果對初始觀測方位[0,?1,300]T進行變換,最后分析變換結果和時間消耗.表10是兩種運動估計方法的對比結果.
表9 兩種方法的下一最佳觀測方位實驗結果量化評估Table 9 The quantitative evaluation of experimental results in next best view for two methods
表10 兩種運動估計方法的對比結果Table 10 The comparison results of two motion estimation methods
圖12 兩種方法在下一最佳觀測方位下獲取的視覺目標深度圖像Fig.12 The depth images of visual object in next best view for two methods
從表10可以看出,本文方法的運動估計結果與Ground truth最為相近,并且在時間消耗上明顯低于文獻[13]中的方法.這是由于文獻[13]采用SIFT算法匹配圖像,該算法需要計算每個關鍵點的128維特征向量,從而導致運動估計的時間較長,并且該方法沒有對錯誤匹配點進行篩選,致使最終運動估計結果與Ground truth相差相對較大.而本文方法采用SURF算法匹配圖像,在相同條件下SURF算法的匹配速度是SIFT算法的3倍,并且本文通過計算深度圖像混合曲率矩陣,增加了匹配點的數(shù)量,同時,對錯誤匹配點進行篩選,以確保本文方法在耗時較少的情況下也能具有相對較高的準確性.由此可見,本文方法在運動估計及其誤差方面具有一定的優(yōu)勢和改進.
此外,在動態(tài)遮擋規(guī)避最終結果方面進行了對比實驗.表11是部分具有代表性的視覺目標在不同觀測方位和運動方式下對應的實驗結果.其中,代表視覺目標要規(guī)避的遮擋區(qū)域總面積,Spurpose代表目標觀測方位下觀測到的遮擋區(qū)域面積,Sview為動態(tài)遮擋規(guī)避過程結束時的觀測方位下觀測到的遮擋區(qū)域面積,η表示有效規(guī)避率即Sview與Spurpose的比值,ˉT代表動態(tài)遮擋規(guī)避過程中計算下一最佳觀測方位所需時間(平均值).
表11 兩種動態(tài)遮擋規(guī)避方法的量化評估Table 11 The quantitative evaluation of dynamic occlusion avoidance for two methods
分析表11可知,與文獻[13]相比,本文方法通過計算與視覺目標深度圖像相對應的混合曲率矩陣,增加提取特征點的數(shù)量并且對匹配點進行篩選,為準確估計視覺目標運動奠定了基礎.因此,無論視覺目標做簡單運動(第1、3、5組實驗)還是復雜運動(第2、4、6、7、9、10組實驗),在最能反映實際動態(tài)遮擋規(guī)避效果的有效規(guī)避率η指標上,實驗結果都明顯高于文獻[13]方法的結果.對于第8組實驗,由于在當前觀測方位下相鄰關鍵線段之間構成的patch面積差值不明顯,故本文方法的有效規(guī)避率低于文獻[13]方法的結果.對于第6、7、9、10組實驗,由于視覺目標在初始觀測方位下遮擋情況不太顯著,進而影響下一最佳觀測方位計算的準確性,最終導致有效規(guī)避率相對偏低.由此可見,當遮擋情況越顯著,通過遮擋區(qū)域最佳觀測方位模型計算的下一最佳觀測方位越準確,本文所提方法的有效規(guī)避率就相對越高.對于每次獲取下一最佳觀測方位所需的時間ˉT,主要受運動估計以及計算攝像機下一最佳觀測方位等因素的影響,而本文方法在運動估計方面的時間消耗低于文獻[13]中的方法,并且采用牛頓下降法減少下一最佳觀測方位計算過程中的迭代次數(shù),故本文方法獲取下一次最佳觀測方位所需的時間明顯少于文獻[13]方法的結果.綜合來看,與文獻[13]相比,本文方法在對遮擋區(qū)域建模、視覺目標運動估計以及規(guī)劃攝像機下一最佳觀測方位等方面,更好地達到了動態(tài)遮擋規(guī)避問題的求解要求.
本文提出了一種利用深度圖像遮擋信息對運動視覺目標遮擋區(qū)域進行規(guī)避的方法.所提方法的貢獻主要體現(xiàn)在三個方面:1)提出了深度圖像遮擋邊界關鍵點的概念,并利用關鍵點與其對應的下鄰接點構建關鍵線段實現(xiàn)對視覺目標遮擋區(qū)域的快速建模;2)依據(jù)遮擋區(qū)域建模結果和關鍵線段構造遮擋區(qū)域最佳觀測方位模型,并結合最優(yōu)化方法求解模型,為攝像機下一最佳觀測方位的確定提供了依據(jù);3)提出了一種混合曲率特征,通過計算深度圖像對應的混合曲率矩陣,使得SURF算法能夠提取到更多的特征點,增加了匹配點的數(shù)量,為準確估計視覺目標運動奠定了基礎.實驗結果表明,所提方法能夠實現(xiàn)對運動視覺目標遮擋區(qū)域的動態(tài)規(guī)避過程,且與人類的視覺觀測習慣相符.需要指出的是,所提方法構建的遮擋區(qū)域最佳觀測方位模型是一個非凸模型,未來將在嘗試構建更優(yōu)的最佳觀測方位模型等方面展開研究.