人臉影像追蹤系統的研究

指導教授:賴尚宏
姓名:張楷岳
學校:清華大學
系級:資工03級

1. Abstract

人臉追蹤是在電腦視覺上一個很重要的研究領域,如何有效且正確的追蹤人臉是許多人研究的目標,在這篇報告中採用了 optical flow 與 corner detection 混合的方式來特別針對 feature points(特徵點)作追蹤,這是以前所沒有用過的方法。此方法已在 VC++ 上實作出來,且已獲致不錯的效果。

由一段人臉講話的影片中每隔一段時間擷取一張 frame,在第一張 frame 選取 feature points 後,希望能將這一串 frame 相對應的特徵點經由傳遞的方式,上一張找下一張,將所有的特徵點通通找出來。利用 optical flow [2] 和 corner detection [4] 的方法,feature points 選在嘴角和眼角,去找下一張 frame 的 feature points。在 [1] 中,其提到將某人所有發音的嘴形(viseme)作 optical flow 後,可以輸入一段句字,然後電腦能夠將其嘴形模擬出來。我在實作的過程中,發現如果將整張圖作 optical flow,將會花上許多時間,且在準確性上也有待加強,所以特別只對 feature points 作研究,希望能利用精確的 feature points 的追縱,然後藉著 interpolation 的方式將其他點的移動都給模擬出來。

2. Introduction

Optical flow 技術由來已久,其主要是用在兩張有相關的圖片上,將第一張圖的某一個點找出它在第二張所在的位置,這裡用的 optical flow 的方法主要是用 hierarchical optical flow(Lucas-Kanade)[3],我們採用三層的架構 (如圖一所示)。


圖一

其公式為

  (1)

(1) 式中,x, y 分別為 Image1到Image2的位移,u 為其光影的變化,dI1xdI1y 分別為 Image2 x 方向和 y 方向後一點與前一點 pixel value 相減的值,I0I1 為 Image1和 Image2 的 pixel value。

而 corner detection,這裡用的是 [5] 的方法,偵測一塊 block 中其 corner 的強度,強度越大其越有可能為 corner。而在這個研究中,其主要是用在對 feature points 的校正,讓所點選與 optical flow 所找到的位置,能夠移到 feature points 上。

(2)式中 , ,x 方向和 y 方向後一點與前一點 pixel value 相減的值,然後去計算 , 在 0.04 和 0.06 之間, det(A) 可視為兩 eigenvalue相乘, trace(A) 為兩 eigenvalue 相加,所以只有在兩 eigenvalue夠大且相近時,其值越大,且此區域越有可能是 corner。

3. Flow diagram

流程如圖二所示,其中在 (I) 的部分由於一般所見到的 optical flow 都是用灰階影像來計算,所以先將輸入的影像通通轉成灰階。

在 (II) 的部分對輸入的和 optical flow 所找到的 feature points 的修正方法,是將原 feature points 周圍的八個再加上自己共九個點,去作 corner detection,選擇 corner 強度最強的那個點當作下一次 optical flow 的起始點。

在 (III) 中,除了用 Lucas-Kanade 的方法外,在每一層中,周圍的八個點也會去作 optical flow ,將這九個點所指到的位置和原始的位置用 energy function 去做比較,去找出 energy 最小的位置去做下一層的 optical flow。Optical flow 算出來的值會有小數,在小數的處理上是將最接近這小數的兩個整數,直接去算它們與原始位置的 energy 誰小就取誰。

 

4. Experimental Results

 

5. Difficulties

在做 corner detection 時,尋找 corner 的範圍會影響結果,太大的話,可能會找到別處的 corner,像是在眼角的地方,可能會找到眼球上黑與白的交界處;而找的範圍太小,則會發生當 user 或 optical flow 找到的 feature points 有錯時,無法修正的問題。
而在 optical flow 的部分,有時會很誇張找錯點,推測其原因,有可能是在圖形彩色轉灰階時,其 color value 變的很相近。

 

6. Future work

  1. 將 optical flow 改成能夠對彩色圖片作處理,看看是否能夠修正上面的缺點。
  2. 試著利用 feature points 所找到的 optical flow,將其之間的點作 interpolation,看看整張 image 的效果如何。如果還不錯的話,試著將整段影片用這些 optical flow 模擬出。

 

7. References

[1] Tony Ezzat and Tomaso Poggio. Visual Speech Synthesis by Morphing Visemes. A.I. Memo No.1658, C.B.C.L Paper No.173, MIT AI Lab, May 1999

[2] B. K. P. Horn and B. G.. Schunck. Determining optical flow. Artificial Intelligence, 17:185-203, 1981.

[3] B. D. Lucas and T. Kanade. An investigation of smoothness constraints for the estimation of displacement vector fields from image sequences. Proc. DARPA Image Understanding Workshop, pp.121-130, 1981.

[4] L. Kitchen and A. Rosenfeld. Gray-level corner detection. Pattern Recognition Letters, 1:95-102, 1982.

[5] C. Harris and M. Stephens. A combined corner and edge detector. In Alvey Vision Conference, pp. 147-151, 1988.