[論文筆記] Monocular Pose Estimation of 3D Objects using Temporally Consistent Local Color Histograms
Real-Time Monocular Pose Estimation of 3D Objects using Temporally Consistent Local Color Histograms
這是小弟第一篇論文筆記,將來應該會每週更新一篇論文筆記,自己還很菜,文中有些基礎部分知識還沒理解的部分會略過,有機會的話會再補足,若內文有錯誤還請各位多多包涵不吝指正。
背景介紹:
實踐中通常會希望單台相機而不是設置多台相機使其硬體要求以及校準拼接的成本達到最低,針對以往的影像姿態及目標辨識中幾個較難克服的議題:occlusion(目標受到部分阻擋物)、cluttered backgrounds(複雜場景使目標混淆)、large scale change(畫面變化快速)等問題,本文中介紹了一個抓取輪廓後採取顏色分布作為前景以及背景機率的判斷方法來達到pose的tracking以及detection並在上述問題中達到了較為robust的效果並且在計算上耗費的時間較短。
步驟大致上可以分為四個步驟:Projection、Segmentation、Pose Tracking、Pose Detection
Projection:
首先會在畫面中尋找各個feature point 然後再將各點連線形成數個triangular mesh(三角近似平面網)來描述目標在現實中的形狀。
投影在相機座標下二維成像畫面座標為:
- 為三維世界座標下的代表第n個三角近似平面的位置點
- 為三角近似平面的數量
- 為與座標基準點的距離
, 為 座標的齊性表示法,多一個元素來表示的目的為令矩陣能達到相乘向量後能夠加上另一常數向量,其物理意義為空間中兩點平移量。
在三維空間中需要以不同的位置上看到的位置是相對的,在將三維座標投影至二維成像平面之前需要使座標統一,撇除distortion的問題,三維空間中不同基準點產生的座標若互相轉換時,需要考量的物理效應為Rotation(旋轉)、Translation(平移),此轉換過程為雖然是非線性的轉換,但仍透過齊性的矩陣來表示其過程,即notation中的 ,過程如下圖示:
代表Rotation, 代表Translation的block, T矩陣的element稱為extrinsic parameters。
此外, 真實世界在投影至相機的過程中會有distortion的狀況, 矩陣 的作用為一將其位置做Calibration(修正), 的element稱為intrinsic parameters,其係數通常取決於distortion的種類,而distortion通常取決於相機本身的特性,而 內部組成因其過程較為複雜在此先省略。
經過 與 之後的結果為相機座標下且已經過修正的四維位置向量, 為表示將三維空間投影至二維空間並藉由平面與座標基準點的比例來做scaling修正。
以上內容為參考Robust Real-Time Visual Tracking using Pixel-Wise Posteriors
Segmentation:
在pose tracking之前需要建立contour(目標投影在二維影像的輪廓)來作為區分foreground(前景)以及background(背景)的依據,其核心思想為透過局部區域偵測不同的local color histogram(圖像中不同偵測地區的顏色分布),透過Robust Real-Time Visual Tracking using Pixel-Wise Posteriors提及的方法來抓住高度重疊的部分偵測能量的方法來抓取輪廓,其參考論文中,region-based相較於參考整個區域,對於初始化曲線位置的判斷較為robust,且具有抗噪特性,對於噪聲較不敏感,每個輪廓點在自己的局部區域內能夠最小化局部能量,進而忽略其他较遠的地方可能出现的灰度不均匀狀況。
Pose Tracking:
方法為參考PWP3D- Real-time Segmentation and Tracking of 3D Objects及作者過去的發表Robust Real-Time Visual Tracking using Pixel-Wise Posteriors。
在平面上目標的contour建立起來後,目標在整個相機座標二維成像下的樣貌已大抵確立,而整個pose tracking的過程是利用「每個位置上顏色分布的條件下是否為前景的機率」做為目標物的依據來進行追蹤,其3D形狀的依據為被判斷為contour內外與輪廓的遠近,即點至輪廓切線的垂直距離,來作為距離成像遠近的估計量值。
其計算距離的定義為Level-Set Pose Embedding:
如上述,落在背景距離為正,落在前景距離為負。
除了輪廓與形狀之外,亦須判斷其估計的合理性:
,
其中, 代表的是在現在偵測的影像條件下該位置對應在距離輪廓為 的機率,而每個位置點的機率為獨立,則其所有位置點為前後景事件的交集,即為現在影像是否如預測的機率。
Heaviside step function, 一般可看作為一普通step function或是sigmoid,而參考論文中定義為:, 為前景時為1,反之則為0。
為在該像素中對應到顏色條件下是否為前景亦或是後景的機率,可記作其中 為前景及後景的事件, , 代表的是color pixel,成像上的一個顏色點。
而上述的機率可以作為一測量依據來判斷現在的contour是否為真正目標的輪廓,文中Cross Entropy作為一指標:
以取預測機率的對數,以量級作為其判斷依據:
設置一,若, 表示其各點 以及 所形成的交集機率過小,則判定該pose tracking已經lost,此時前一刻的frame已不可信賴,需要使用不依賴記憶性的pose detection。
另外, 等條件機率的求得方法,內文使用的是Bayes Theorem,貝氏定理通常用於求解難以求得的條件機率,但若欲求條件與事件交換時可求解的已知機率與沒有條件考量的機率可得的狀況作為依據,可以現有經驗去推估其結果。
其中 所代表的物理意義為前景像素的數量,原因為在contour內與之的距離,而作為階函數的輸入則為1,反之則為0。
文中介紹的tracking所需要上一刻frame,則在於求取 ,使用的是一假設Temporal Consistency條件下的近似疊代式:
, , 為一自訂參數(learning rate)
藉著疊代上一刻結果的方法來預測下一刻,自己嘗試對其物理意義作一些直觀的猜測,應可看作是linear interpolation近似的結果,從時間一致性字面上來看,在時間間隔很短的狀況下下一刻與上一刻之間的 與實際上下一刻的 非常相近。
以上為自己近期該篇論文的心得記錄,剩下的部分, optimization algorithm以及pose detection自己的基礎尚且不夠沒能看懂看完,之後有機會會再補上。