• 沒有找到結果。

利用粒子濾波機制與動態檢查表來達到多視角的人臉追蹤

N/A
N/A
Protected

Academic year: 2021

Share "利用粒子濾波機制與動態檢查表來達到多視角的人臉追蹤"

Copied!
61
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學資訊工程研究所 碩士論文. 指導教授:李忠謀 博士. 利用粒子濾波機制與動態檢查表來達到 多視角的人臉追蹤 Multi-Pose Face Tracking Using Particle Filter and Checklist. 研究生:王凱民 撰. 中華民國 98 年 7 月.

(2) 摘 要 利用粒子濾波機制與動態檢查表來達到 多視角的人臉追蹤 王凱民 在視訊監控的應用中,人通常是最主要的觀察目標,因此人臉的偵測與追蹤 是一個重要且具有實用價值的研究方向。本論文提出了一個多視角的人臉追蹤方 法,主要的追蹤機制是採用粒子濾波為基礎,並且修改了其中的轉移性函式與相 似性函式來符合我們的應用需求。除此之外,我們提出動態檢查表針對不同的人 臉姿勢記錄相對應的歷史資訊做為比對目標的依據,藉此來達到多視角的人臉追 蹤並且同時利用動態更新的比對基準使追蹤更能應付追蹤環境的變化。最後,我 們設計了校正機制使得在追蹤發生失敗時,能擴大搜尋的範圍來找尋目標,並在 找到目標的時候,再一次回復追蹤的狀態。實驗的結果顯示我們所提出的方法對 於人臉在不同側臉的角度變化、人臉大小的縮放與光線的改變化都有不錯的追蹤 效果,同時對於人臉遭到遮蔽時能切換到校正狀態來捜尋人臉,並且當人臉再度 出現在畫面時回到追蹤狀態來達到持繼追蹤人臉的目的。. 關鍵字:多視角的人臉追蹤、粒子濾波.

(3) ABSTRACT Multi-Pose Face Tracking Using Particle Filter and Checklist By Wang, Kai-Ming Automatic and robust detection and tracking of faces is essential in the surveillance application, especially when the main targets are about people. In this research, we propose a novel multi-pose face tracking method. Our method is based on the Condensation algorithm with modified transition and likelihood function.. A. dynamic update structure, called Checklist, is designed to help identify the current face post from the target history and for storing the latest face. Furthermore, template-matching-based algorithm is used to recover lost face during tracking. Experimental results show that the proposed algorithm can deal with the change of poses and illumination. It is also able to extract target face information even when the tracking is lost for whatever reason.. Keywords: multi-pose face tracking, particle filter.

(4) 誌 謝 首先我要感謝的是政杰學長,他無私的指導與分享,讓我在碩士的二年中學 習到許多做研究的方法;在小組討論時與我們一同思考交流,激盪出許多新奇的 想法與點子;當畢業時面臨人生的道路選擇,提供了許多的經驗與建議。如果沒 有學長的幫忙,就不會有這篇論文的誕生,也不會造就現在的我。 我要感謝我的指導教授李忠謀老師,在我選擇指導教授的時候,沒有因為不 理想的入學成績對我產生偏見並且給與我一起做研究的機會;在個別討論時對於 研究的內容提出了不同的觀點與實務的經驗,讓我收獲很多;在討論未來人生的 規劃時,對於我的表現賦予肯定,給與我莫大的鼓勵與信心。 我要感謝批閱本論文的兩位口試委員陳世旺教授與陳朝欽教授,在百忙中抽 空觀看論文的內容,並且在口試時給與許多的指導與意見,讓我受益良多。此外 我也要感謝師大資工所給與我教導的老師們,方瓊瑤老師亦師亦友的教學方式、 陳世旺老師在上課時所展現的研究熱忱、貝利勃老師在訊號處理上的豐富經驗、 鄭永斌老師帶領我們一探物件導向的奧秘,這些都成了我最珍貴的知識寶藏。 我要感謝實驗室的伙伴們,見解獨到的研究強者兼 3D 設計繪圖達人家維、 跳躍式思考的籃球女超人依佳、會聽我碎碎唸的草食性型男百璋、游泳教練兼音 樂指揮家的雅痞定翔、戀愛顧問又像多拉 B 夢的陽光男孩建斌、上台會緊張但開 車超帥氣的靖雅,還有實驗室其它的學長姊與學弟妹,有你們陪伴的碩士生活,.

(5) 在我的人生留下不可抹滅的美好回憶。 最後我要感謝我的父母,感謝他們的養育之恩,從小時候就一路伴隨我成 長,給與我一個幸福美滿的家庭環境,讓我無後顧之憂而能不斷的在人生的道路 上向前邁進;在教師實習結束時,不再堅持一定要我當數學老師,讓我可以選擇 自己想走的路,給了我探索資訊世界的機會;在我陷入低潮時,永遠張開溫暖的 雙臂成為我心靈的避風港,給與我克服任何困難的力量。. 在此獻上最誠摯的感謝~謝謝大家. 凱民 2009/7/18.

(6) 目錄 目錄.................................................................................................................................. i 附表目錄.........................................................................................................................ii 附圖目錄........................................................................................................................iii 第一章 簡介................................................................................................................... 1 1.1 問題描述.......................................................................................................... 1 1.2 研究的範圍與限制.......................................................................................... 2 1.3 論文內容的安排.............................................................................................. 3 第二章 文獻探討........................................................................................................... 4 2.1 名詞解釋.......................................................................................................... 4 2.2 人臉追蹤相關的研究探討.............................................................................. 6 第三章 整體架構與運作流程..................................................................................... 13 3.1 整體架構........................................................................................................ 13 3.2 運作流程........................................................................................................ 17 第四章 粒子濾波追蹤機制的設計............................................................................. 20 4.1 Condensation................................................................................................... 20 4.2 粒子濾波追蹤機制的實作............................................................................ 22 第五章 多視角追蹤機制的設計................................................................................. 28 5.1 多視角相關研究的探討................................................................................ 28 5.2 動態檢查表機制的設計................................................................................ 29 5.3 校正機制的設計............................................................................................ 34 第六章 實驗結果與分析............................................................................................. 38 6.1 實驗方法與評估方式.................................................................................... 38 6.2 實驗結果........................................................................................................ 40 第七章 結論................................................................................................................. 48 7.1 結論................................................................................................................ 48 7.2 未來的研究工作............................................................................................ 49 參考文獻....................................................................................................................... 51. i.

(7) 附表目錄 表 1. Condensation演算法。........................................................................................ 22 表 2. 粒子初始化演算法。......................................................................................... 23 表 3. 粒子濾波追蹤機制演算法。............................................................................. 25 表 4. 動態檢查表機制演算法。................................................................................. 33 表 5. 校正機制演算法。............................................................................................. 35 表 6. 測試影片的實驗結果。..................................................................................... 46. ii.

(8) 附圖目錄 圖 1. 人臉旋轉的分類。(a)平面旋轉 (b)非平面旋轉 ............................................... 5 圖 2. 搜尋範圍示意圖。............................................................................................... 8 圖 3. 平均數移動示意圖。........................................................................................... 9 圖 4. 粒子濾波示意圖。............................................................................................. 11 圖 5. 整體流程圖。..................................................................................................... 14 圖 6. 目標區域示意圖。............................................................................................. 15 圖 7. 姿勢示意圖。..................................................................................................... 16 圖 8. 樹狀結構的多視角人臉判斷示意圖。............................................................. 29 圖 9. 人臉判斷用的部分訓練資料。......................................................................... 31 圖 10. 其中一個人臉判斷的訓練資料經LDA投影到 2 維平面的分佈情形。 ...... 31 圖 11. 偏移分數的分佈情況。................................................................................... 32 圖 12. 經過初始化的動態檢查表示意圖。............................................................... 32 圖 13. S1 移動測試。 .................................................................................................. 41 圖 14. S2 多視角測試。 .............................................................................................. 41 圖 15. S3 人臉大小伸縮測試。 .................................................................................. 42 圖 16. S4 光線變化測試。 .......................................................................................... 42 圖 17. S5 校正測試。 .................................................................................................. 43 圖 18. S6 多人臉測試。 .............................................................................................. 44 圖 19. S7 Honda/UCSD測試影片。............................................................................ 44 圖 20. S8 Honda/UCSD測試影片。............................................................................ 45 圖 21. S9 Honda/UCSD測試影片。............................................................................ 45 圖 22. S10 光線強烈變化的測試影片。 .................................................................... 46 圖 23. 人臉流形曲面示意圖。................................................................................... 49 圖 24. 修改後的目標區域表示法。........................................................................... 49. iii.

(9) 第一章 簡介 1.1 問題描述 在攝影或是監視的應用之中通常是以人為主要觀察的目標,而人臉又是一個 最容易代表一個人的特徵,因此在連續影片中找尋人臉的位置就是一個很重要的 研究主題,尤其是現在的照像機或是攝影機都具有自動人臉對焦的功能,這更突 顯這類技術的實用價值。另外在人臉辨識(face recognition)、互動式電子寵物或是 機器人的設計等,都必須持續捕捉在攝影機的畫面中人臉的位置才能進一步做其 它的應用,而人臉追蹤(face tracking)在這裡就份演了一個很重要的前處理角色。 人臉追蹤是指在一連串連續的影片中持續尋找人臉並標示出人臉狀態的技 術,其中人臉的狀態包含了人臉的位置、大小與旋轉的角度等。最主要會遇到的 問題在於如何設計一個機制可以有效地找尋在影片中會隨時間而有不同大小、旋 轉角度與光線條件下的人臉,這也是一般物體追蹤(object tracking)會遇到的問 題。除此之外,還有幾項議題是人臉追蹤才會有的特殊情況,例如臉部的表情(笑 臉與哭臉)、人臉的姿勢(正臉與側臉)與其它的外部特徵(眼鏡與鬍子)等的影響, 這些因素會增加人臉追蹤的困難。 多視角(multi-pose)的人臉追蹤指的是除了包含一般人臉追蹤的技術外,還要 有判斷人臉非平面旋轉(rotation off-plane)角度的機制,其中非平面旋轉指的是人 臉在追蹤的過程中會有左右側臉旋轉(yaw)或是上下點頭旋轉(pitch)等角度的變 1.

(10) 化。如何克服在追蹤時正臉與側臉之間極大的變化差異,就是多視角人臉追蹤要 解決的問題。 我 們 提 出 了 一 個 多 視 角 的 人 臉 追 蹤 系 統 , 它 引 進 了 人 臉 判 斷 (face classification)的機制做為篩選追蹤目標與判斷人臉姿勢的方法,同時利用動態檢 查表(Checklist)在追蹤過程中針對不同角度的人臉,有條件地選擇最具有人臉特徵 的歷史訊息儲存起來並做為比對的依據,使得這個系統可以快速適應並記錄追蹤 過程中目標的變化情形而有更精確的追蹤效果。除此之外,我們加入了校正機 制,當人臉被遮蔽或是離開追蹤範圍而造成追蹤失敗時,過了一段時間後人臉再 度出現在畫面之中可以再一次取得人臉的資訊而持繼進行追蹤的動作。. 1.2 研究的範圍與限制 我們主要的研究範圍是針對類似教室內上課情況的監控,影片主要的拍攝地 點是在一個光源穩定的室內環境而且是在攝影機固定不動的情況下進行拍攝,主 要追蹤的目標可以是老師或學生。因此針對這樣的環境與條件,我們希望可以設 計出符合下列需求的人臉追蹤技術。 (1) 在一般的上課過程中,學生通常會坐在固定的位子上,而老師移動的範 圍會限制在講台的區域,因此人臉會突然移動到很遠的距離的情況不會 很常見,但人臉角度的變換必須要納入追蹤的考量。 (2) 我們假設學生與老師將頭轉向後方或是將人臉做過多傾斜的情況並不 常見,在長時間的監控下,出現正面人臉的機率會很高,因此追蹤系統 2.

(11) 只需要處理介於 75D 至 −75D 之間左右側臉的旋轉、10D 至 −10D 之間上下點 頭的旋轉、 15D 至 −15D 之間平面旋轉的人臉。 (3) 對於學生的追蹤,可能會因為座位的安排導致追蹤的過程中發生人臉被 遮蔽的情況,追蹤系統必須有校正機制來處理追蹤失敗時的情形。 (4) 教室內的光源是固定的或是變化不大,因此不需要處理光線劇烈變化的 情況,但仍必須對於些微幅度的光線變化能做適當的處理。 (5) 教室監控是屬於長時間的追蹤,因此對於影像的處理速度上沒有很嚴格 的要求,但我們必須能確保在追蹤的過程中,能持續並準確地追蹤目標。. 1.3 論文內容的安排 在接下來的章節,第二章會對於相關的技術名詞做解釋並簡介目前人臉追蹤 的技術;第三章會對於我們提出的人臉追蹤技術,運作的流程與整體的架構做完 整的說明;第四章會針對追蹤所使用的粒子濾波機制做深入的探討,並對於我們 改良的部分做一個描述;第五章會針對我們提出的追蹤方法,對於解決多視角的 議題做更詳細的說明,內容包含了多視角的人臉判斷、動態檢查表機制與校正機 制;第六章是實驗結果與分析;第七章則是結論與未來研究的發展。. 3.

(12) 第二章 文獻探討 2.1 名詞解釋 本節會針對人臉相關的技術與名詞做一個定義與解釋,以方便清楚地表達之 後的文章內容。 (1) 人臉偵測 (face detection):在一張影像中尋找人臉並標示出人臉的狀 態,其中人臉的狀態包含了人臉的位置、大小與旋轉的角度等。一般來 說人臉偵測必須要處理多個人臉出現在同一張影像的情況,也就是要找 出影像內所有的人臉。人臉追蹤與人臉偵測不同的地方在於人臉追蹤是 在一連串連續的影片中持續尋找人臉,它可以利用影片裡影格(frame)之 間前後的關聯性來做為尋找人臉的根據。 (2) 人臉定位(face localization):在只包含單一人臉的影像上進行人臉偵測, 因為只處理單一人臉,在設計上會比人臉偵測的技術簡單許多,是人臉 偵測的特例。 (3) 人臉判斷(face classification):判斷在一張影像中的某一個特定區域所包 含的範圍是否為人臉的影像,這個特定區域我們稱做子視窗(subwindow, patch)。一個常見的人臉偵測方式就是將不同大小的子視窗對單張影像 做暴力搜尋式的( brute-force search strategy)掃描,也就是整張影像用不 同大小的子視窗各別掃過一遍,當子視窗移動到不同的位置時就判斷範 4.

(13) 圍內的影像是否為人臉來達到找尋人臉的目的。 (4) 平面旋轉(rotation in plane)與非平面旋轉(rotation off-plane):人臉的旋轉 可分為平面旋轉(rotation in plane,簡寫為 RIP)與非平面旋轉(rotation off-plane,簡寫為 ROP),圖 1 表示了兩個旋轉的差異,其中非平面旋轉 包含了左右側臉旋轉(yaw)與上下點頭旋轉(pitch)這兩種變化所組成。. 平面旋轉(roll). 左右側臉旋轉(yaw). 上下點頭旋轉(pitch). (a) (b) 圖 1. 人臉旋轉的分類。(a)平面旋轉 (b)非平面旋轉 (5) 多視角(multi-pose)的人臉追蹤:多視角的人臉追蹤指的是在人臉追蹤的 過程中可以同時處理人臉非平面旋轉的變化。因為人臉在不同的非平面 旋轉角度,如正臉(frontal face)與側臉(profile)所呈現的影像差異很大, 多視角的人臉追蹤會比一般的人臉追蹤還困難。 (6) 多人臉(multi-face)的人臉追蹤:多人臉的人臉追蹤指的是在同一段影片 中可以同時追蹤多個人臉,但多人臉追蹤的技術必須要解決當影片中的 兩個人臉交錯而過時,兩個不同的人臉所產生的混淆與目標被遮蔽時所 造成的追蹤失敗。 5.

(14) 2.2 人臉追蹤相關的研究探討 近期人臉追蹤的研究著重在如何設計有效表示人臉的特徵,並針對光線等環 境因素在追蹤過程中的改變,提出更新比對特徵的適應式追蹤方法,最常被使用 的特徵有下列幾種: (1) 人臉膚色:顏色是在追蹤技術中最常被使用的特徵,相較於其它複雜特 徵,顏色的資訊比較容易獲得與處理,而且對於不同角度的人臉,都仍 會有類似的顏色資訊被保留,因此被廣範地使用在追蹤技術中。但顏色 資訊容易受到光線等環境因素的影響,因此在追蹤的系統,通常會設計 更新比對特徵的機制,如 Jacquot 等人[9]或是 Yang 等人[25]利用影像的 顏色長條圖(histogram)的分佈,配合自動選取顏色的特徵參數來達到追 蹤的效果。其它使用膚色訊息做為人臉特徵的追蹤方法還有[19], [16]等。 (2) 固有臉(Eigenface)特徵:固有臉特徵最早由 Turk 與 Pentland [20]提出用 來做為人臉辨識所使用的特徵,主要是將人臉影像組成的像素(pixel)值 用向量的方式來表示並利用 PCA(Principal Component Analysis)將其投影 到低維度的空間,此時 PCA 投影矩陣對應的固有向量(eigenvector)會保 留可以代表人臉影像的特徵資訊,即稱之為固有臉特徵。固有臉特徵因 為保留了人臉的主要特徵同時降低人臉影像處理的維度,因此可以達到 快速追蹤的目的,但固有臉特徵必須要事前經由訓練資料計算來獲得, 若只單純地使用事先計算的固有臉來進行追蹤便無法處理人臉姿勢與 6.

(15) 光線環境突然改變的情況,Ross 等人[18]提出了漸進式更新固有臉特徵 的方法,改良了傳統固有臉特徵無法反應目標變化的缺點,藉由新獲得 的目標影像來動態更新比對用的固有臉特徵。 (3) 人臉各部位的細節特徵:在傳統物件追蹤使用的比對方式是將整個目標 視為一個獨立的影像進行比較,這樣的做法在多視角的人臉追蹤裡並不 適用,因為人臉在不同的旋轉角度下差異很大,若只單純比較影格之間 目標的相似性,在不同角度的人臉轉換就會造成追蹤的失敗。另外人臉 在旋轉變化的時候,人臉各部位的細節特徵如眼睛、嘴巴等仍然會出現 在影像之中,只是它們的相對位置有改變,基於這樣的觀察,一些人臉 追蹤的方式是利用影格中人臉各部位特徵的移動比對來進行追蹤,如 Yao 與 Li [27]將人臉各部位的細節特徵截取出來後,再利用動態程式 (dynamic programming)的方式來搜尋下一張影格內對應的特徵位置,或 是 Frank 等人[4]先找出影像中人臉眼睛的位置,再由眼睛的相對位置來 決定人臉的旋轉角度,其它的類似使用各部位的細節特徵的追蹤還有 [10], [5]等。 (4) 人臉 3D 模型:人臉是一個立體的物件,若只利用平面影像的資訊對於 不同角度的人臉進行比對無法正真反應人臉的各個角度的變化情形,因 此有人提出來在追蹤的同時動態建立對應人臉的 3D 模型來進行比對, 3D 模型具有精確描述人臉旋轉角度的特性,但建立 3D 模型需要花更多 7.

(16) 額外的計算時間,如何設計一個適當的 3D 模型來表示人臉又不會太過 複雜而導致花費太多的計算時間是必須考量的地方。Dornaika 與 Davoine [2]所使用的 Candide 或是 Wen 與 Huang [23]使用的 3D face mesh model 等都是使用 3D 模型做為人臉的特徵來進行追蹤。 用適當的特徵表示人臉後,必須配合特徵來設計追蹤的方法。在已知前一張 影格中目標的位置、大小等狀態下,要如何估計出這次讀入的影格中目標的狀 態,就是追蹤的相關研究所要解決的問題。在人臉追蹤的研究中,最常被使用的 追蹤方法可以分成下面三種:. 子視窗掃描 前一張影格. 目前影格. 搜尋範圍 前一張影格的目標位置. 目前影格估計的目標位置. 圖 2. 搜尋範圍示意圖。. (1) 搜尋範圍(search range):如圖 2 所示,以前一張影格的目標為中心,設 定在某個範圍中進行目標的搜尋,搜尋的方式通常是用不同大小的子視 窗在設定的範圍內進行掃描,每次子視窗移動到不同的位置,就將子視 窗內的影像進行特徵的比對,如果子視窗內的影像與之前目標特徵有一 8.

(17) 定的相似性或是具有高度的人臉特徵,則就是目標估計的位置。這個方 式必須要考慮搜尋範圍的大小,太大會造成計算上花費太多的時間,變 成針對每一張影格做人臉偵測,太小則有可能無法找到目標而造成追蹤 失敗。除此之外,進行掃描的子視窗要如何適當的表示才能反應追蹤過 程中人臉的變化是另一個要解決的問題。Stern 與 Efros [19]就是搜尋目 標周圍具有相似膚色的區域配合動態改變比對的顏色空間來達到人臉 的追蹤。其它使用搜尋範圍的方法還有[22], [17]等。. 目標機率分佈圖 前一張影格. 目前影格. (機率). (x). (y) 前一張影格的目標位置. 平均數移動演算法 的計算範圍. 平均數移動演算法 第一次移動到的位置 (機率). (x). (y) 直到滿足收斂條件. 目前影格估計的目標位置. 圖 3. 平均數移動示意圖。 9.

(18) (2) 平均值移動(mean shift):如圖 3 所示,以前一張影格的目標為中心,設 定在某個範圍中計算出範圍內每個像素點是目標人臉的機率,接著跟據 這些點的機率分佈將所要估計的目標區域住機率高的地方移動,直到滿 足收斂條件為止,收斂點即是目前影格估計的目標位置。這個方法必須 定義如何計算每個像素點的機率值,通常會與顏色特徵做結合,如果這 個像素點的顏色與目標的顏色相近或是接近膚色的顏色分佈,則對應這 個點的機率值就會比較高。除此之外,平均值移動演算法的範圍與計算 次數決定了整體的計算時間,收斂條件的設定也是一個要考慮的問題。 Grabner 等人[6]結合多種特徵值的選取並配合平均數演算法來達到物體 追蹤;Yang 等人[26]則是利用漸近式顏色特徵配合平均數演算法達到多 視角的人臉追蹤。 (3) 粒子濾波(particle filter):粒子濾波是利用一群樣本與每一個樣本對應的 權重來表示目標的機率分佈。如圖 4 所示,已知前一張影格的樣本分佈 情況,設定在某個範圍中根據特定的方式重新進行取樣。這些樣本通常 又被稱做粒子,樣本的形式取決於所使用的特徵,例如 Ross 等人[18]使 用固有臉特徵來表示人臉並利用粒子濾波來進行追蹤,他們所使用的樣 本就是子視窗;Dornaika 與 Davoine [?11]用 Candide 當做人臉特徵,則 樣本就是不同大小與形狀的 Candide;Perez 等人[16]則是使用子視窗內 的顏色分佈當作特徵再利用粒子濾波來進行追蹤。取樣完後接著對於每 10.

(19) 樣本進行特徵的比對,如果樣本與之前目標特徵有一定的相似性或是具 有高度的人臉特徵,則這個樣本會獲得相對應較高的權重。最後會利用 所有的樣本與每個樣本所對應的權重來估計出目前影格中目標的位 置。其中轉移性函式(transition function)用來定義如何取樣,相似性函式 (likelihood function)用來定義如何計算權重,這兩個函式就是粒子濾波的 設計重點。. 前一張影格. 目前影格. 進行取樣. 前一張影格的 目標位置. 計算權重. 前一張影格樣本的分佈. 利用樣本與權重估計 目前影格的目標位置. 圖 4. 粒子濾波示意圖。. 由上面的研究整理發現,大部分的人臉追蹤技術都會建立一個適應式的特徵 來表示人臉,用來解決追蹤時目標受到環境光線的影響而造成比對特徵的改變, 同時我們也希望可以簡化多視角追蹤時所使用的 3D 模型,因此我們設計了動態 11.

(20) 檢查表並引入人臉判斷來輔助我們建立多視角的人臉資訊。另外我們希望能設計 一個具有高度準確性又兼具效率的追蹤方法,因此採用了粒子濾波做為追蹤的主 要方式,並且修改了其中的轉移性函式與相似性函式來符合我們的研究需求。. 12.

(21) 第三章 整體架構與運作流程 3.1 整體架構 圖 5 是我們提出的人臉追蹤方法流程圖,追蹤方法可以分為四個組成,分別 為初始化機制、粒子濾波追蹤機制、動態檢查表機制與校正機制。各個組成的說 明如下:. 初始化機制 在進行人臉追蹤之前,會先進入初始化機制,負責一開始目標區域(target range)的定位並建置動態檢查表(Checklist)與粒子濾波追蹤機制所需的樣本群 (samples)。目標區域指的是在影格中的某一個長方形的區域,用來表示目前影格 所追蹤的目標。我們用 TRt = ( xtTR , ytTR , wtTR , htTR ) 代表在第 t 個影格 ft 中的目標區 域, ( xtTR , ytTR ) 表示長方形區域的中心位置,其中 wtTR / 2 ≤ xtTR ≤ w frame − wtTR / 2 ,. htTR / 2 ≤ ytTR ≤ h frame − htTR / 2 , w frame 與 h frame 分別代表影格的寬與長; ( wtTR , htTR ) 代表 長方形區域的寬與長,其中 wmin ≤ wtTR ≤ wmax , hmin ≤ htTR ≤ hmax , wmin , hmin 指的是系 統可運作的最小範圍,取決於系統本身的設計, wmax , hmax 則通常要小於或等於影 格的寬與長。目標區域內的影像 ITRt 就可以用目前的影格 ft 套上目標區域 TRt 的範 圍來獲得,我們用 ITRt = TRt ( ft ) 來表示,如圖 6 所示。在追蹤的過程中,目標區 域會隨著人臉狀態的改變而改變。如果目標區域內的影像 ITRt 不是人臉,則表示 追蹤失敗。樣本指的是在粒子濾波追蹤與校正機制中使用的樣本。一個樣本與目 13.

(22) 輸入影格 (input frames). initiating. <2> 判斷系統狀態 (state). 初始化 (Initialization) 目標定位 (target localization). <1>. correcting. tracking. <3>. <4> 動態檢查表初始化 (Checklist initialization) <5> 粒子初始化 (particle initialization). 粒子濾波追踨 (Condensation). 校正 (Correction) <11> 重新取樣程序 (resampling process). 動態程序 <6> (dynamic process). 觀察程序 <7> (observation process). 估計目標 (target estimation). <12>. Checklist. 測試程序 (testing process). <8> <13> 粒子初始化 (particle initialization). 動態檢查表(Checklist) <9>. <10> 更新動態檢查表 (Checklist update). 人臉判斷 (face classification). 圖 5. 整體流程圖。 14.

(23) wtTR. wtTR htTR. ytTR. htTR ytTR. xtTR. xtTR. (b) ITRt = TRt ( ft ). (a) TRt. 圖 6. 目標區域示意圖。(a)目標區域 TRt (b)目標區域內的影像 ITRt = TRt ( ft ). 標區域同樣是表示一個長方形區域,我們用 Sti = ( xtSi , ytSi , wtSi , htSi ) 來代表第 t 個影 格 ft 中,第 i 個樣本,樣本內的影像 I S i 同樣用 I S i = Sti ( ft ) 來表示。在粒子濾波追 t. t. 蹤機制中會使用 N ST 個樣本進行追蹤,我們用 {Sti }iN=ST1 = {St1 , St2 ,..., StNST } 代表追蹤時 使用的樣本群。動態檢查表 {CLi }iN=P1 是記錄追蹤過程中,用來比對用的目標區域, 共分成 N P 個儲存區域 CLi ,每一個儲存區域 CLi 都對應一個姿勢 pi 。一個儲存區 域儲存兩個內容 CLi = (TPi , lsi ) ,樣版(template) TPi 是某個影格 k 時,所對應標目區 域 TRk 內的影像 ITRk ,存活分數(life score) lsi 則是一個實數,在更新動態檢查表時 用來判斷是否要進行 TPi 的更新。. 粒子濾波追蹤機制 初始化結束之後,就會進入追蹤的狀態,而粒子濾波追蹤機制就是負責進行 追蹤。追蹤的方法是藉由上一次影格的樣本分佈來計算這次影格的樣本分佈並估 計對應的目標區域,它包含了動態程序(dynamic process)、觀察程序(observation process)與估計程序(estimate process)。動態程序利用前一個影格的樣本與其對應 15.

(24) 的權重(weight)藉由轉移性函式(transition function)決定目前影格的樣本群如何散 佈,觀察程序利用相似性函式(likelihood function)評量每一個樣本是目標區域的機 率並給與對應的權重,估計程序則是由樣本與其對應的權重估計出這次影格的目 標區域。我們將在第四章針對粒子濾波追蹤機制做更詳細的討論。. −75D. −45D. p1. −15D. p2. 15D. p3. 45D. p4. 75D. p5. 圖 7. 姿勢示意圖。. 動態檢查表機制 將粒子濾波追蹤機制或是校正機制估計的目標區域內的影像進行人臉判 斷,人臉判斷會計算出兩個資訊,分別是影像人臉對應的姿勢(pose)與偏移分數 (shift score)。姿勢指的是我們將人臉的非平面旋轉中左右方向的側臉角度,從 −75D 到 75D 等分為 N P 個區域,每一個區域即代表了一種姿勢,因此會有 p1 , p2 ,..., pN P 等. N P 個不同的姿勢,圖 7 所表示的是 N P = 5 的例子。偏移分數(shift score)指的是目 標區域內的影像 I 經過多視角人臉判斷所獲得的分數,每個姿勢 pi 對應一個實 數,我們用 ssi ( I ) 來表示,偏移分數越低表示越像人臉,越高表示越不像人臉。 我們將人臉判斷的門檻值用 ΘFC 來表示,也就是若所有姿勢的偏移分數都大於. ΘFC ,則判斷 I 為非人臉。動態檢查表機制經過人臉判斷之後會得到對應所有姿 勢中最低的偏移分數,如果這個分數大於門檻值 ΘFC ,則所估計的目標區域不是 人臉,表示追蹤失敗而必須進入校正的狀態。如果判斷為人臉,則根據所獲得的 16.

(25) 偏移分數去比對現有動態檢查表裡保留的資料來判斷是否要進行動態檢查表的 更新。我們將在第五章針對動態檢查表做更詳細的說明。. 校正機制 當追蹤的目標區域經人臉判斷之後,發現不是人臉,則進入校正機制進行校 正。校正機制分成重新取樣程序(resampling process)、測試程序(testing process)與 粒子初始化。重新取樣指的是藉由轉移性函式取出一個樣本的過程,這裡使用的 轉移性函式與追蹤使用的轉移性函式類似,但校正的取樣範圍會比較大,主要是 為了涵蓋追蹤以外的範圍。測試程序則是將重新取樣獲得的樣本與動態檢查表內 的資訊進行相似度的比對,如果有找到類似的人臉資訊,則表示找到目標,進行 粒子初始化的動作後重新進入追蹤的狀態。如果沒有找到人臉,則回到重新取樣 程序再一次進行取樣並做測試。如果重新取樣與測試的循環超過了某個次數,我 們用 N SC 來表示,則認定這張影格並沒有目標出現,會將下一張影格讀入繼續做 校正。我們將在第五章針對校正機制的運作方式做更詳細的說明。. 3.2 運作流程 我們提出的人臉追蹤方法會有三種運作流程,分別為初始化流程、追蹤流程 與校正流程,各運作流程說明如下:(< >內的號碼是對應於圖 5 流程圖內的各個 組成元件). 初始化流程 一開始先從影片或是視訊串流檔讀入第一張影格 f1 <1>。在第一次進行人臉 17.

(26) 追蹤時,預設的狀態為 state = initiating <2>,因此會進入初始化機制初始化追蹤 時 會 使 用 的 資 料 。 在 初 始 化 機 制 中 , 在 目 標 定 位 <3> 會 獲 得 目 標 區 域. TR0 = ( x0TR , y0TR , w0TR , h0TR ) ,在動態檢查表初始化<4>會獲得動態檢查表 {CLi }iN=P1 與目 前人臉的姿勢 pnow = pi ,其中 pi 是 TR0 ( f1 ) 對應最小偏移分數的姿勢,接著進行粒 子初始化<5>獲得粒子濾波所使用的樣本群 {( S0i , w0i )}iN=ST1 。初始化機制結束後接著 進入追蹤機制,因為已經有初始化的樣本群,因此直接進行觀察程序<7>獲得對 應每個樣本的新權重 {w1i }iN=ST1 ,再利用樣本群與新權重 {( S1i , w1i )}iN=ST1 = {( S0i , w1i )}iN=ST1 估 計出對應 f1 的目標區域 TR1 <8>。獲得目標區域 TR1 後,接著進入動態查檢表機制, 先進行人臉判斷<9>計算出對應每個姿勢的偏移分數 ssi ( ITR1 ) ,藉由這些分數決定 要進行動態檢查表的更新還是發生追蹤失敗要進行校正。如果人臉判斷的結果是 人臉,則會進行動態檢查表的更新<10>,由偏移分數與動態檢查表內的生存分數 來決定是否要更新動態檢查表,接著將狀態設成 tracking,在讀入下一張影格時 進行追蹤。如果人臉判斷的結果不是人臉,則將狀態設成 correcting,在讀入下一 張影格時進行校正。. 追蹤流程 從影片或是視訊串流檔讀入第 t 張影格 ft <1>後,若狀態是 tracking<2>,則 會進入追蹤機制進行追蹤。首先會在動態程序<6>中獲得對應目前影格 ft 的樣本 群 {Sti }iN=ST1 。接著進行觀察程序<7>獲得對應每個樣本的新權重 {wti }iN=ST1 ,再利用樣 本群與新權重 {( Sti , wti )}iN=ST1 估計出對應 ft 的目標區域 TRt <8>。接下來進入動態檢查 18.

(27) 表機制的動作與初始化流程一樣,這裡不再重述。. 校正流程 從影片或是視訊串流檔讀入第 t 張影格 ft <1>後,若狀態是 correcting<2>,則 會進入校正機制進行校正。在校正機制中,會先進入重新取樣程序<11>,用上一 張影格 ft −1 的目標區域 TRt −1 ,經轉移性函式取出一個新的樣本 Sresampled 。接著在測 試程序<12>,比較 Sresampled 內的影像 I Sresampled 與動態檢查表的相似性,若有找到人 臉,則將狀態設成 tracking,進入粒子初始化<13>重新初始化粒子濾波所使用的 樣本群,接著讀入下一張影格進行追蹤。若沒有找到人臉,則重新進行重新取樣 程序取出新的樣本再做測試。如果重新取樣次數過多,則表示目前影格 ft 沒有人 臉的存在,讀入下一張影格繼續進行校正。 除了在一開始進行追蹤時會進入初始化流程外,在之後的運作期間都會在追 蹤與校正流程之間做切換,在追蹤失敗時利用校正機制進行搜尋並重新找回目標 來達到持續追蹤人臉的目的。. 19.

(28) 第四章 粒子濾波追蹤機制的設計 我們所提出的人臉追蹤主要是架構在粒子濾波的追蹤方法之上,並且採用了 Isard 與 Blake [8]提出的 Condensation 做為實作的理論基礎。在本章將會針對 Condensation 相關的研究進行探討並對於我們提出的粒子濾波追蹤機制做更進一 步的說明。. 4.1 Condensation Condensation 是 conditional density propagation 的縮寫,由 Isard 與 Blake 提出 的一種粒子濾波(particle filter)的方法,用來解決狀態空間模型(state space model) 的問題。狀態空間模型是用來描述一個會隨時間改變自身狀態的系統,它的狀態 隨時間改變的情況。追蹤就是一個狀態空間模型的例子,追蹤目標的狀態就是這 個系統的狀態(state),但實際的狀態通常不容易獲得,我們看到的是對應於這個 狀態的觀察(observation),觀察對應於追蹤的例子代表的就是攝影畫面中的影像, 因此有許多狀態空間模型理論就在探討狀態與觀察的關係,例如粒子濾波演算法 與隱藏式馬可夫列模型(Hidden Markov Model,簡寫為 HMM)等。粒子濾波演算 法根據其取樣與估計方式的不同也分為許多的種類,詳細的討論可以參考 Arulampalam 等人[1]所寫的簡介。Condensation 是粒子濾波演算法其中的一個理 論,因為要配合動態查檢表的設計,Condensation 較能符合我們的需求而且也容 易實作,因此選擇 Condensation 做為我們所使用的追蹤演算法,其最主要的數學 20.

(29) 模型可以用下面的式子來表示: p ( xt | Z t ) ∝ p ( zt | xt ) ⋅. ∫. p ( xt | xt −1 ) ⋅ p ( xt −1 | Z t −1 ) ,. (1). xt −1. 其中 p( xt | Zt ) 代表的就是在已知前面所有的觀察的情況下,目前系統狀態的機率 分佈為何,以人臉追蹤的例子而言,就是現在人臉的位置、大小等狀態。在實際 的運用上,粒子濾波會使用抽樣 (sampling)的方式來表示人臉機率的分佈,抽樣 的方式就是利用一組樣本群與每一個樣本對應的權重來代表目前影格中人臉目 標位置的機率分佈,其目的在於簡化機率分佈的表示,不同的粒子濾波演算法都 有各自取樣的方式,但有些演算法如 Condensation 會遵循重要性重新取樣 (sampling importance resampling,簡寫為 SIR)的原則來進行,也就是對應權重較 高的樣本在下一次重新取樣時,會被選取到做為產生新樣本的基準點的機率相對 會較高。 p( zt | xt ) 代表的就是在已知是某個狀態的情況下,觀察表現的情況為何, 這就是所謂的相似性函式,以人臉追蹤的例子來說,就是目前畫面中的影像像不 像目標人臉的程度。 p( xt | xt −1 ) 就是前一個狀態與現在這個狀態的轉移關係,這也 就是轉移性函式,以人臉追蹤的例子而言,就是上一個人臉的位置與這次人臉位 置移動的方式。 p( xt −1 | Zt −1 ) 則代表前一次的狀態的機率分佈。式子(1)所代表的, 就是 Condensation 利用前一次的狀態,經過轉移性函式做一個移動後,再利用相 似性函式來判斷人臉的分佈情況,最後合並這些結果來獲得最終的估計值。 Condensation 演算法如表 1 所示。. 21.

(30) 表 1. Condensation 演算法。 ■ Input: {( Sti−1 , wti−1 )}iN=ST1. ■ Condensation Algorithm: For i = 1, 2,..., N ST //Select: Select a sample S selected from {Sti−1}iN=ST1 by the distribution of {wti−1}iN=ST1 //Predict: Choose Sti by sampling from p( xt | xt −1 = S selected ) //Measure: wti = p( zt | xt = Sti ) End For Normalize{wti }iN=ST1 ■ Output:{( Sti , wti )}iN=ST1. 4.2 粒子濾波追蹤機制的實作 粒子濾波追蹤機制就是基於 Condensation 的理論實作而成,其中的動態程序 就是對應於 Condensation 中的選取(select)與預測(predict),觀察程序是對應 Condensation 中的量測(measure),估計程序則是利用樣本群與對應的權重來估計 目標區域。下面會針對粒子初始化、動態程序、觀察程序與目標估計這四個主要 程序做說明。. 22.

(31) 表 2. 粒子初始化演算法。. ■ Input: TR from initialization or correction ■ Particle Initialization Procedure: For i = 1, 2,..., N ST. Sti−1 = TFT (TR) wti−1 = 1/ N ST End For ■ Output:{( Sti−1 , wti−1 )}iN=ST1. 粒子初始化 當系統一開始執行或是從校正狀態回到追蹤狀態時,Condensation 中所使用 的樣本必須重新建立,因此在圖 5 流程圖中的<5>、<13>就是利用初始化機制或 是校正機制時獲得的目標區域初始化 Condensation 中的樣本群與對應的權重,模 擬 出 在 追 蹤 流 程 裡 會 用 到 的 前 一 張 影 格 f t −1 的 樣 本 群 與 對 應 的 權 重. {( Sti−1 , wti−1 )}iN=1ST ,步驟如表 2 所示。其中轉移性函式 TFT 定義如下: B = TFT ( A) { 2 xB = a random number from N ( x A + xshift , σ PT ) 2 yB = a random number from N ( y A + yshift , σ PT ). 2 scale _ val = a random number from N (1, σ ST ). wB = wA × scale _ val hB = hA × scale _ val }. (2). 其中 A = ( x A , y A , wA , hA ), B = ( xB , yB , wB , hB ) ∈ R 4 , N ( μ , σ 2 ) 是以 μ 為平均值,σ 2 為 變異數(variance)的常態分佈,使用常態分佈來做為估計的主要方式是因為我們認. 23.

(32) 為在追蹤的過程中,前一張影格與目前影格的目標區域差異並不會很大,因此在 建立新樣本 B 的時候,其狀態與原本樣本 A 的值越近,被取到的機率就越高,以. x, y 這兩個狀態為例,我們認為前一張影格與目前影格的目標區域並不會離很 遠,因此新樣本有比較高的機率會建立離原本樣本較近的地方,離越遠機率就越 K 低。移動向量 v shift = ( xshift , yshift ) = ( xtTR−1 − xtTR− 2 , ytTR−1 − ytTR− 2 ) ,主要是利用前兩張影格中 目標區域的位置差異來預測目前影格中的目標區域位置。σ PT 與 σ ST 分別為樣本位 置與樣本伸縮大小所使用的標準差。 σ PT 會決定樣本散佈位置的範圍大小,計算. K 2 2 的方式為 σ PT = σ PT _ STD + a ⋅ v shift ,其中 σ PT _ STD 為預設的標準差, a 則是一個常 數,這表示轉移性函式會根據目標移動的情況適時地調整樣本散佈的範圍以降低 追蹤失敗的可能性; σ ST 會決定樣本本身的長寬縮放的變化程度,這裡為了簡化 運算,我們在目標定位決定了目標區域後,目標區域的長寬比就固定不變,也就 是目標區域是長寬等比例的縮放。在初始化的階段,我們會讓 TRt −1 = TRt − 2 ,也就. K 2 2 = σ PT 是 v shift = (0, 0) 、 σ PT _ STD 。. 24.

(33) 表 3. 粒子濾波追蹤機制演算法。粒子追蹤機制包含了動態程序、觀察程序與目 標 估 計 三 個 主 要 的 程 序 , 分 別 對 應 於 圖 中 的 Dynamic Process Procedure 、 Observation Process Procedure與Target Estimation Procedure。. ■ Input:{( Sti−1 , wti−1 )}iN=ST1 , TPnow ■ Particle Filter Tracking Procedure: //Dynamic Process Procedure: For i = 1, 2,..., N ST Select a sample S selected from{Sti−1}iN=ST1 by the distribution of{wti−1}iN=ST1 Sti = TFT ( S selected ). End For //Observation Process Procedure: For i = 1, 2,..., N ST. wti = LF ( I S i , TPnow ) t. End For Normalize{wti }iN=ST1 //Target Estimation Procedure: N ST. TRt = ∑ wti × Sti i =1. ■ Output:{( Sti , wti )}iN=ST1 ,TRt. 動態程序 動態程序是藉由前一張影格 ft −1 的樣本群與對應的權重 {( Sti−1 , wti−1 )}iN=ST1 ,建立 目前影格 ft 的樣本群。其中我們會根據前一張影格 ft −1 樣本群 {Sti−1}iN=ST1 對應的權 重,從 {Sti−1}iN=ST1 中挑出其中一個樣本 S selected 當作轉移性函式 TFT 的基準點,對應權 重越高的樣本,被重複選取的機率就越大,Condensation 巧妙地利用這樣的機制 使加權樣本(weighted sample)能反應出事後機率(posterior)的分佈情形,步驟對應 25.

(34) 於表 3 中的 Dynamic Process Procedure。. 觀察程序 觀察程序會對於每一個樣本 Sti 內的影像 I S i 與動態檢查表中對應目前姿勢 1. pnow 的儲存區域 CLnow 內的樣版 TPnow ,用相似性函式 LF 比較它們的相似性並決定 樣本 Sti 對應的權重 wti ,步驟對應於表 3 中的 Observation Process Procedure。其中 相似性函式 LF 定義如下:. y = LF ( X 1 , X 2 ) { dis = sum(abs ( IPP( X 1 ) − IPP( X 2 ))) y = a × exp(−(. dis 2 ) ) b. }. (3). 其中 X 1 , X 2 是兩張影像, y 是一個實數。 IPP( X ) 指的是對影像 X 做影像前處理. (image pre-processing) , X − Y 指 的 是 兩 個 相 同 大 小 的 矩 陣 X , Y 做 對 應 元 素 (element-by-element) 的相減, abs( X ) 指的是將矩陣 X 內每個元素取絕對值, sum( X ) 指的是將矩陣 X 內每個元素做相加, dis 算出來的值就是代表兩張影像的 差異程度, y 是 dis 經過指數函數(exponential)的計算轉換成對應的權重,其中的. a, b 是調整用的參數,調整的方式主要是盡量把差異程度大的與小的對應權重能 分開。在相似性函式中的影像前處理定義如下:. Y = IPP( X ) { I gray = color _ to _ gray ( X ) I resized = resized ( I gray , wstd , hstd ) I smoothed = smooth( I resized , s ) Y = histogram _ equalize( I smoothed ) 26.

(35) }. (4). 其中 X 是 wX × hX 的影像,Y 是 wstd × hstd 的實數矩陣。 I gray 是指將影像 X 轉成灰階 的影像, I resized 是指用雙線性(bilinear)的方式將影像 I gray 縮放成 wstd × hstd 大小的影 像,最主要是將不同大小的影像縮成同樣 wstd × hstd 的大小以方便做比對。I smoothed 是 指用 s × s 的平均濾波器(averaging filter)將 I resized 做模糊化的影像,主要是除去雜訊 與細節讓比對有較好的結果。 Y 是 I smoothed 經過直方圖等化(histogram equalization) 的結果。的目是將突顯圖的灰階值對比,可以消除一些光線所造成的明暗影響。 所有的樣本 {Sti }iN=ST1 經過相似性函式 LF 計算, I S i 與 TPnow 差異的程度越小,則樣本 t. Sti 對應的 wti 會越大。最後再將 {wti }iN=ST1 做正規化(normalized),使它們的值都介於 0 到 1 之間。. 目標估計 目標估計利用樣本群與對應的權重 {( Sti , wti )}iN=ST1 重新估計這個影格 ft 的目標 N ST. 區域 TRt ,估計的方式為 TRt = ∑ wti × Sti ,也就是樣本的加權總和(weighted sum) , i =1. 步驟對應於表 3 中的 Target Estimation Procedure。 經過動態程序、觀察程序與目標估計的過程,粒子濾波追蹤機制利用前一張 影格 f t −1 的樣本群與對應的權重 {( Sti−1 , wti−1 )}iN=ST1 ,來計算目前影格 ft 的樣本群與對 應的權重 {( Sti , wti )}iN=ST1 ,同時估計目前影格 ft 的目標區域 TRt 。在本論文中,我們 修改了粒子濾波中轉移性函式 TFT 與相似性函式 LF 的定義,讓粒子濾波的追蹤方 法更符合人臉追蹤的應用需求,也讓人臉追蹤更能應付多樣的人臉變化情形。. 27.

(36) 第五章 多視角追蹤機制的設計 我們提出了動態檢查表機制來解決多視角的人臉追蹤問題,在這之中包含了 多視角人臉判斷與動態檢查表的儲存更新。除此之外,校正機制也使用了動態檢 查表來進行比對,讓校正過程也具有多視角的特性。本章將會針對多視角的相關 研究做深入的探討並對於我們所提出的動態檢查表機制與校正機制做更詳細的 說明。. 5.1 多視角相關研究的探討 在人臉追蹤技術中,多視角是不容易解決的問題,因為人臉在不同姿勢下會 有不同的影像資訊,這樣的差異會造成判斷目標時的困難。要克服姿勢的轉變, 必須要尋找具有姿勢不變量(pose invariant)的特徵,其中在 2.2 節所討論的特徵大 部分都具有這樣的性質,如顏色特徵就是利用人臉在不同的角度下仍會有相似的 顏色來進行人臉比對,而 3D 模型則是藉由建立人臉上姿勢不變量的特徵點並判 斷它們相對的位置變化來進行人臉比對。 另一方面,人臉多視角的議題在人臉偵測上也被研究了一段很長的時間,在 近期的多視角的人臉偵測方法中,大部分的偵測系統都是利用多個人臉判斷建立 一個樹狀的結構,如圖 8 所示。其中樹的每一個節點代表的都是一個人臉判斷, 位在上層的節點是屬於較簡單、判斷角度範圍大、粗略但怏速的人臉判斷,目的 在於將圖片中大部分不是人臉的子視窗移除,做一個初步怏速的篩選,接著再將 28.

(37) 有可能為人臉的子視窗交給下層比較複雜、角度範圍小、精準但速度慢的人臉判 斷進行更準確的判斷,這樣的設計會使偵測的速度加快又可以獲得不錯的效果, 因此被廣泛地被使用在人臉偵測的研究上,如 Fleuret 與 Geman 所使用的 scalar tree. [3] 、 Jones 與 Viola 所 使 用 的 decision tree [11] 、 或 是 Huang 等 人 提 出 的 Width-First-Search tree [7]等。. 輸入子視窗 較簡單、判斷角度範圍廣、 粗略但較快速的人臉判斷 較複雜、判斷角度範圍小、 精確但較慢的人臉判斷. 被 判 斷 為 非 人 臉. 判斷為人臉. 圖 8. 樹狀結構的多視角人臉判斷示意圖。. 5.2 動態檢查表機制的設計 動態檢查表機制就是結合多視角的人臉判斷與動態檢查表的儲存更新來達 到多視角的人臉追蹤。下面會針對多視角人臉判斷、動態檢查表的初始化與動態 檢查表的更新做說明。. 多視角人臉判斷 人臉偵測中的人臉判斷都是利用在特定範圍角度下的人臉當作訓練資料來 29.

(38) 進行訓練,這時所訓練獲得的人臉判斷器就會對於特定範圍角度下人臉具有辨別 的能力,基於這樣的觀察,我們針對不同姿勢的人臉分別建立了對應的. LDA(Linear Discrimination Analysis)人臉判斷,其中影像 I 對於姿勢 pi 的人臉判 斷,我們用 ssi ( I ) 來表示,其定義如下:. y = ssi ( I ) { vI = reshape( IPP( I )) vPCA = M PCA ⋅ vI x = M LDA,i ⋅ vPCA y = a × (exp(b × ( x − m) 2 ) − c) }. (5). 其中 I 為一個 h × w 的影像, y 為人臉判斷計算出來的偏移分數。 IPP ( I ) 指的是將 影像 I 做影像前處理。 vI = reshape( IPP( I )) 指的是將 h × w 的 IPP( I ) 矩陣轉換成一 個 k 維的向量 vI ,其中 k = h × w ,方式是將 IPP ( I ) 的列向量依序連接成一個向量。. vPCA 是一個經過 h × k PCA(Principal Component Analysis)投影矩陣 M PCA 從 k 維的 向量 vI 降到 h 維的向量,PCA 主要是將高維度的資料投影到低維度但仍保留資料 在高維度的分佈特性,目的是降低資料的處理量方便後續的操作。 x 是一個經過 1× h LDA 投影矩陣 M LDA,i 從 h 維的向量 vI 降到 1 維的實數,LDA 具有在做降維的. 同時,將同類的資料集中,不同類的資料彼此分開的特性,因此可以用來做為分 類的方法,這裡我們將其實作成一個二元的分類器,其中一類是姿勢 pi 的人臉圖 像,另一類是非人臉的圖像,圖 9 表示的是一部分我們所使用的訓綀資料,圖 10 表示的是其中一個姿勢的訓練資料在經過 LDA 投影到 2 維平面的分佈情況, 30.

(39) p1. p2. p3. 0.15 00-face non-face. positive. 0.1. 0.05. 0. -0.05. negative. -0.1. -0.15. -0.2 -0.2. -0.1. 0. 0.1. x. m. 0.2. 0.3. 圖 9. 人臉判斷用的部分訓練資料。圖中表 圖 10. 其中一個人臉判斷的訓練資料 示了三個不同姿勢所使用的訓練資料。上 經LDA投影到 2 維平面的分佈情形。 半部的圖是 positive 資料,下半部的圖是 圖的 x 坐標即代表投影到 1 維的結 negative的資料。 果,m為positive訓練資料的平均值。. 這裡的 x 就是對應圖中的 x 坐標的值。最後的偏移分數 y ,是利用投影出來的值 x 與 positive 的訓練資料經投影後的平均值 m 去比較它們之間的距離,越近表示越 像人臉,反之表示越不像,再使用指數函式將人臉與非人臉的分數拉開,同時也 用來調整不同姿勢之間的偏移數分,讓它們之間的比較有一個統一的標準,圖 11 表示的是其中一個姿勢的 LDA 人臉判斷所使用的指數函式後對應的偏移分數。 因為在 −90D 到 0D 與 0D 到 90D 這兩個區間的人臉是左右對稱的,因此我們最多只需. ⎢ N + 1⎥ 要訓綀出 ⎢ P ⎥ 個人臉判斷器,另一半的人臉判斷只需要將輸入的影像做水平 ⎣ 2 ⎦ 的翻轉,再利用對稱的人臉判斷來算偏移分數即可。另外為了解決上下點頭的非 平面旋轉與人臉的平面旋轉,我們會將同一個姿勢但不同的程度上下點頭的人臉 與經過不同平面旋轉角度的人臉也加入對應姿勢的訓練資料中進行訓綀,利用這 樣的方式來達到上下點頭與平面旋轉變化的判斷。另外考慮伸縮時因為放大而造 31.

(40) 成的模糊化效果,我們也將訊練資料經過不同程度的模糊化再進行訊練,以達到 目標區域縮放時能保持判斷人臉的能力。. 20 18 16 14 12 10 8 6. p1. p2. p3. p4. p5. 4. TPi. 2 0. 0. 200. 400. 600. 800. 1000. 1200. 1400. 1600. 1800. lsi. 2.5. 1.79785. 0.66423. 1.95621. 2.5. 圖 11. 偏移分數的分佈情況。x軸指的是 圖 12. 經過初始化的動態檢查表示意圖。 其中一個人臉判斷的訓練資料,從 1 側 900 是 positive 的資料, 901 到 1800 是 negative的資料。y軸指的是偏移分數。. 動態檢查表的初始化 在初始化機制中的動態檢查表初始化,一開始會對目標定位所找到的目標區 域 TR0 進行多視角的人臉判斷,找出目標區域內影像 ITR0 的最小偏移分數 ssi ( ITR0 ) 與對應的姿勢 pi 與,接著將目前的姿勢記錄 pnow 設成 pi ,也就是 pnow = pi 。偏移 分數 ssi ( ITR0 ) 與目標區域內的影像 ITR0 存入動態檢查表裡對應姿勢的儲存區域. CLi , 也 就 是 CLi = ( ITR0 , ssi ( ITR0 )) , 同 時 也 對 鄰 近 的 儲 存 區 域 做 初 始 化 。 若 1 < i < N P , 則 CLi −1 = ( ITR0 , ssi −1 ( ITR0 )), CLi +1 = ( ITR0 , ssi +1 ( ITR0 )) , 若 i = 1 , 則 CL2 = ( ITR0 , ss2 ( ITR0 )) ,若 i = N P ,則 CLN P −1 = ( ITR0 , ssN P −1 ( ITR0 )) 。其它沒有設值的生 存分數則都設成人臉判斷的門檻值 Θ FC,圖 12 是一個經過初始化的動態檢查表示 32.

(41) 意圖。. 表 4. 動態檢查表機制演算法。動態檢查表機制包含了人臉判斷與更新動態檢查表兩 個主要的程序,分別對應於圖中的 Face Classification Procedure 與 Checklist Update Procedure。. Else. ■ Input: ITRt. state = tracking. ■ Checklist Procedure: //Face Classification Procedure:. //Checklist Update Procedure:. Do multi-pose face classification. For i = 1, 2,..., N P lsi = lsi + Δls. with ITRt and get the shift score. End For. ssi ( ITRt ) of each pose pi. pnow = pmin. ssmin = min( ssi ( ITRt )) i. If lsimin ≥ ssmin. imin = arg min( ssi ( ITRt )) i. TPimin = ITRt. pmin = pimin. lsimin = ssmin. If ssmin > Θ FC. End If. state = correcting. End If. Load the next frame and. ■ Output: None. do Correction Procedure. 動態檢查表的更新 當我們獲得目前影格 ft 估計的目標區域 TRt ,其包含的影像 ITRt 會進行人臉判 斷,計算出對應每個姿勢的偏移分數 ssi ( ITRt ) ,從這些分數找出最小的偏移分數. ssmin = min( ssi ( ITRt )) 與其對應的姿勢 pmin 。若 ssmin > Θ FC ,則表示估計出來的目標 i. 區域不是人臉,追踨發生失敗系統進入校正狀態。若 ssmin < Θ FC ,則進入動態檢 查表更新程序。動態檢查表的更新一開始先對所有的生存分數 lsi 都加上一個 Δls 的值,目的是對於動態檢查表內的樣版進行老化(aging)的機制,避免因為舊的樣 33.

(42) 版太像人臉而導致新的影像無法存入動態檢查表的情況。接著更新目前的姿勢. pnow 並將 ssmin 去和動態檢查表內對應相同姿勢 pmin 的生存分數 lsimin 來做比較。因 為生存分數儲存的是偏移分數,比較低的分數表示比較具有人臉的特徵,因此當. lsimin ≥ ssmin ,表示目前 ITRt 比樣版 TPimin 更具人臉特徵或是代表比較新的資訊,因此 ITRt 取代原本的樣版 TPimin 。若 lsimin < ssmin ,則不進行更新。最後其演算法如表 4 所示。. 5.3 校正機制的設計 在追踨的過程中,人臉會因為移出影片範圍或是被物體摭蔽而從追踨畫面消 失的情況。因此要讓人臉追踨可以正確無誤的運作,校正機制是不可獲缺的。校 正機制最主要的功能在於當人臉消失時,能判斷目前的目標區域內的影像不是人 臉並暫停追踨的程序,改變取樣的方式讓程式可以擴大取樣的範圍,以方便搜尋 遺失的人臉目標,另外當人臉再一次出現時,可以找到人臉的位置並重新進入追 踨的程序。校正機制是由重新取樣程序、測試程序與粒子初始化三個部分所組 成,各組成說明如下:. 重新取樣程序 利用前一張影格 f t −1 的目標區域 TRt −1 ,也就是人臉在消失前最後出現的區 域,經過經轉移性函式 TFC 取出一個新的樣本 S resampled ,步驟對應於表 5 中的. Resampling Process Procedure。其中轉移性函式 TFC 定義如下:. 34.

(43) 表 5. 校正機制演算法。校正機制包含了重新取樣程序、測試程序與粒子初始化 三 個 主 要 的 程 序 , 取 樣 程 序 與 測 試 程 序 對 應 於 圖 中 的 Resampling Process Procedure與Testing Process Procedure,粒子初始化則參見表 2。. ■ Input: TRt −1 ■ Initialize: counter = 1 ■ Correction Procedure: While counter ≤ N SC //Resampling Process Procedure: S resampled = TFC (TRt −1 ). //Testing Procedure: For i = 1, 2,..., N P IF LF ( I Sreampled , TPi ) > Θ LF TRt = Sresampled pnow = pi. Go to Particle Initialization Procedure state = tracking. Load the next frame and do Tracking Procedure End IF End For counter = counter + 1. End While Load the next frame and continue to do Correction Procedure ■ Output: None. B = TFC ( A) { 2 xB = a random number from N ( x A , σ PC ) 2 yB = a random number from N ( y A , σ PC ) 2 scale _ val = a random number from N (1, σ SC ). wB = wA × scale _ val 35.

(44) hB = hA × scale _ val. }. (6). 其中 A = ( x A , y A , wA , hA ), B = ( xB , yB , wB , hB ) ∈ R 4 , N ( μ , σ 2 ) 是以 μ 為平均值,σ 2 為 變異數的常態分佈。σ PC 與 σ SC 分別為重新取樣的樣本位置與樣本伸縮大小所使用 的標準差,σ PC 會決定樣本散佈位置的範圍大小,σ SC 會決定樣本本身的範圍縮放 的變化程度。校正時使用的轉移性函式 TFC 與追踨裡所使用的轉移性函式 TFT 不 一樣的地方在於常態分佈設定的標準差並不相同,這樣的設計是考量消失的人臉 再一次出現時,出現的位置、大小與旋轉角度可能會與之前人臉的狀態差異很 大,不像追踨時影格之間的目標區域會有很高的相似性,因此必須使用不同的標 準差來調整重新取樣的方式。. 測試程序 測試程序將重新取樣程序中選取的樣本 S resempled 內的影像 I Sresampled 與動態檢查 表所有的儲存區域 CLi 的樣版 TPi 用相似性函式 LF 比較它們的相似性。當其中一 個 LF ( I Sresampled , TPi ) 大於門檻值 Θ LF ,表示找到人臉,將目前的目標區域 TRt 設成. S resampled 並 進 行 粒 子 初 始 化 的 動 作 。 當 比 較 過 所 有 的 TPi 後 , 沒 有 任 何 一 個 LF ( I Sresampled , TPi ) 大於門檻值 Θ LF,則回到重新取樣程序重新取樣一個新的樣本再繼. 續進行測試程序。如果經過了 N SC 次的重新取樣,仍沒有找到相似於動態檢查表 裡樣版的樣本,表示這次影格 ft 沒有存在人臉,讀取下一張影格 f t −1 繼續進行校 正,步驟對應於表 5 中的 Testing Process Procedure。. 36.

(45) 粒子初始化 校正機制中如果進入粒子初始化的動作,表示找到相似動態檢查表裡樣版的 樣本,此時的目標區域 TRt 會被設成 S resampled ,接著利用 TRt 重新建立粒子濾波機 制中的樣本群與對應的權重 {( Sti , wti )}iN=ST1 ,過程與 4.2 節的粒子初始化方式一樣, 這裡就不再重述。. 37.

(46) 第六章 實驗結果與分析 我們的人臉追蹤實作上採用 N P = 5 個姿勢建立動態檢查表,目標區域與樣本 在影像前處理時會統一縮放至 50×50 的大小進行處理,至於轉移性函式與相似性 函式內所使用的參數是根據實驗的測試結果與經驗自行定義。人臉追蹤程式是使 用 OpenCV 函式庫[28]與 gcc 編譯器利用 C++進行撰寫,執行環境架構在 Intel. Pentium 4 3.2G Hz 上的 Window XP SP2 作業系統。我們將實驗資料分成視訊攝影 機與影片兩種來源,分別針對不同的實驗規劃進行測試並討論最後實驗的結果。. 6.1 實驗方法與評估方式 我們的實驗方法規劃如下:. (1) 移動測試:讓畫面中的人臉進行不同速度與方向的移動,觀察程式是否 可以隨著人臉位移的改變而改變目標區域。. (2) 多視角測試:讓畫面中人臉做不同角度的平面與非平面旋轉,讓攝影機 拍攝到人臉在旋轉時所造成的角度變化,觀察程式是否可以隨著人臉旋 轉的改變而改變目標區域與動態檢查表中的比較基準來解決人臉在不 同角度的旋轉問題。. (3) 人臉大小伸縮測試:讓畫面中的人臉進行前後方向的移動使人臉產生不 同大小的伸縮變化,觀察程式是否可以隨著人臉伸縮的改變而改變目標 區域。 38.

(47) (4) 光線變化測試:讓畫面中環境有不同光線的變化,觀察程式是否可以動 態的改變動態檢查表以適應不同光線的影響。. (5) 校正測試:在追踨的過程中突然遮蔽畫面中的目標人臉,觀察程式是否 可以進入校正狀態並進行找尋人臉的程序。另外也讓被遮蔽的人臉突然 出現在畫面中,觀察程式是否可以再一次追踨到人臉的位置。. (6) 多人臉測試:讓畫面同時出現多個人臉,並讓他們彼此靠近並交錯移 動,觀察追踨程式是否會受到多個人臉的影響。 實驗結果的評估方式採用 Karlsson 等人[12]提出的評估方法加以修改,分為 重疊量測與中心距離量測,另外我們也針對了效率的部分進行時間的測量。各評 估量測定義如下所示,其中 GTi = ( xiGT , yiGT , wiGT , hiGT ) 指的是每一張影格 fi 中實際 的目標區域(ground truth),主要是用人工手動取得, ETi = ( xiET , yiET , wiET , hiET ) 指的 是每一張影格 fi 中程式所估計的目標區域(estimated target),其中的 fi 是程式屬於 追踨狀態的影格,也就是當程式進入校正時不列入重疊量測與中心距離量測的計 算。 NT 指的是程式在追踨狀態下的影格總數。. (1) 重疊量測(overlap measure): NT. OM =. ∑ 2 × (GT ∩ ET ) /(GT + ET ) i =1. i. i. i. i. NT. 其中 GTi ∩ ETi 指的是 GTi 與 ETi 交集的面積, GTi + ETi 指的是 GTi 與 ETi 的面積總和。 OM 值的範圍為 0 ≤ OM ≤ 1 ,如果估計目標與實際目標完 全吻合,則 OM = 1 ,所以 OM 值越大越好。 39.

(48) (2) 中心距離量測(central distance measure): NT. CDM =. ∑ i =1. ( xiET − xiGT ) 2 + ( yiET − yiGT ) 2 NT. CDM 值的範圍為 CDM ≥ 0 ,如果估計目標與實際目標完全吻合,則 OM = 0 ,所以 CDM 值越小越好。. (3) 平均每秒處理的影格數(frames per second,簡寫為 FPS):計算的方式是 記錄每一張影格的處理時間平均之後在取倒數來獲得,其中每一張影格 的處理時間只包含追蹤演算法所花的時間,不包括影格讀入與顯示結果 所花的時間。. 6.2 實驗結果 下面會列出我們部分的實驗結果與數據,其中影片編號從 S1 到 S6 分別對應. 6.1 節的實驗方法,影像來源是使用 Logitech 快看享樂版網路攝影機進行拍攝, 取得 480x320 大小的視訊串流檔,每段影片為 1-2 分鐘的長度。S7 與 S9 是採用 公開的 Honda/UCSD [13]人臉追蹤資料庫實驗的部分結果。S10 是測試光線遭到 劇烈變化時的追蹤情況。每一段影片會列出其中一段的追蹤情況,對應的每個表 格會標示出影格編號、粒子分佈與追蹤結果。在粒子分佈圖中,藍色代表粒子濾 波追蹤使用的樣本分佈情況,紅色代表校正時重新取樣的範圍。. (1) S1 移動測試:實驗的結果顯示我們在移動人臉或是前後移動改變人臉大 小時,仍可以持續追蹤人臉目標。除此之外,我們發現有時候會因為人 40.

(49) 臉移動太快而超出追蹤的樣本範圍,這時校正機制會馬上進行運作而再 一次追到人臉。 影格 編號. 1081. 1087. 1096. 1099. 粒子 分佈. 追蹤 結果. 圖 13. S1 移動測試。. (2) S2 多視角測試:實驗的結果顯示我們在移動人臉的過程中,同時改變人 臉的非平面旋轉角度仍可以順利追蹤到人臉,但只要超出人臉判斷訓練 的角度範圍,就會進入校正狀態直到人臉回到我們預設的角度範圍內, 才會繼續進行追踨。 影格 編號. 114. 129. 141. 粒子 分佈. 追蹤 結果. 圖 14. S2 多視角測試。 41. 158.

(50) (3) S3 人臉大小伸縮測試:實驗的結果顯示在追踨的過程中藉由粒子濾波的 轉移性函式產生不同大小的樣本可以處理人臉縮放的改變。. 影格 編號. 128. 151. 171. 187. 粒子 分佈. 追蹤 結果 圖 15. S3 人臉大小伸縮測試。. (4) S4 光線變化測試:實驗的結果顯示動態檢查表可以儲存目標受到光線影 響而產生的明暗變化而達到持繼追蹤人臉。. 影格 編號. 289. 323. 362. 粒子 分佈. 追蹤 結果 圖 16. S4 光線變化測試。. 42. 376.

(51) (5) S5 校正測試:實驗的結果顯示當人臉被遮蔽時,會進入校正機制對於目 標的消失點周圍進行大範圍的搜尋。當人臉再度出現時,校正機制會再 度取得人臉資訊而進入追蹤狀態。. 影格 編號. 622. 630. 639. 653. 粒子 分佈. 追蹤 結果 圖 17. S5 校正測試。. (6) S6 多人臉測試:在尚未進行實驗時,我們期望可以利用動態檢查表達到 多人臉的追蹤,因為動態檢查表儲存的是目標的歷史資訊,對於不同的 人應該會有辨識的能力。但實際實驗的結果發現當兩個人交錯而過時, 程式會造成誤判而追蹤到錯誤的目標,這表示動態檢查表無法有效辨識 不同人臉之間的差異,推測的原因在於我們所使用的目標區域範圍是在 眼睛下方到嘴巴上緣的正方形區域,不同的人臉在這個區域內的差異不 大,再加上存儲在動態檢查表內的影像是經過影像影前處理,其中的模 糊化與直方圖等化的步驟也會降低不同人臉的差異性。. 43.

(52) 影格 編號. 395. 408. 415. 487. 粒子 分佈. 追蹤 結果 圖 18. S6 多人臉測試。. (7) S7-S9 Honda/UCSD 測試影片:因為實作上我們只針對五個非平面旋轉 的角度分割並進行處理,對於 Honda/UCSD 內影片中極大角度的變化並 無法做到完全的追蹤,但只要畫面中的人臉回到預設的範圍角度內的, 都可以透過追蹤與校正機制的切換持續追蹤畫面的人臉。. 影格 編號. 130. 142. 179. 粒子 分佈. 追蹤 結果. 圖 19. S7 Honda/UCSD 測試影片。. 44. 190.

(53) 影格 編號. 414. 421. 508. 515. 803. 904. 911. 粒子 分佈. 追蹤 結果. 圖 20. S8 Honda/UCSD測試影片。 影格 編號. 793. 粒子 分佈. 追蹤 結果. 圖 21. S9 Honda/UCSD測試影片。. (8) S10 光線強烈變化的測試影片:為了測試實際教室內因為開關燈所造成 的光線變化,我們關閉室內光源後再開啟來觀察追蹤的情況。實驗結果 發現在燈光不足而無法顯示人臉時,會進入校正機制,當燈光回復正 常,則會再一次進入追踨狀態。. 45.

(54) 影格 編號. 45. 62. 84. 171. 粒子 分佈. 追蹤 結果. 圖 22. S10 光線強烈變化的測試影片。. 表 6. 測試影片的實驗結果。. NT 程式追. N C 程式校. (註 1). 蹤影格數 (註 2). 正影格數 (註 3). S1. 394 (393,0,0). 371 (371). 23 (23). 0.8819 (0.0395). 2.8418 (1.0933). 12.48. S2. 424 (380,0,44). 335 (334). 89 (46). 0.8551 (0.0685). 4.3245 (2.5626). 11.56. S3. 409 (409,0,0). 409 (409). 0 (0). 0.8935 (0.0528). 2.6897 (1.4002). 12.84. S4. 379 (379,0,0). 379 (379). 0 (0). 0.9077 (0.0244). 2.6661 (0.9264). 12.78. S5. 469 (295,174,0). 266 (263). 203 (32). 0.8544 (0.0465). 4.7903 (1.7915). 10.15. S6. 271 (155,119,0). 162 (105). 112 (50). 0.8013 (0.2923). 12.1379 (28.8865). 10.09. S7. 364 (296,0,68). 296 (269). 68 (27). 0.6574 (0.2968). 13.8912 (10.2969). 11.48. S8. 384 (224,0,160). 203 (192). 181 (32). 0.7805 (0.085). 6.3683 (3.2533). 9.96. 影片 編號. N f 總影格數. 46. OM. CDM FPS. (註 4).

(55) S9. 280 (156,0,124). 133 (125). 147 (31). 0.8345 (0.0810). 7.8115 (5.1284). 9.67. S10. 208 (120,82,0). 113 (113). 95 (7). 0.8339 (0.1004). 5.6697 (4.1239). 9.81. 1.. N f 總影格數= N f _ T 正常預定角度內的人臉影格數+ N f _ C 人臉在畫面中 消失的影格數+ N f _ O 超出預定角度範圍的人臉影格數。 括號表示 ( N f _ T , N f _ C , N f _ O ) 。. 備註. 2.. 括號內的值表示程式是追蹤狀態,實際上是追蹤狀態的影格數( N f _ T ∩T )。. 3.. 括號內的值表示程式是校正狀態,實際上是追蹤狀態的影格數( N f _ T ∩C )。. 4.. 括號內的值表示標準差。. 47.

(56) 第七章 結論 7.1 結論 我們提出了一個多視角的人臉追蹤方法,利用粒子濾波做為主要的追蹤方 式。其中我們修改了轉移性函式,在追蹤的過程中能根據人臉移動的情況動態的 改變粒子散佈的範圍,讓追蹤能更具強韌性(robust);相似性函式則是利用動態檢 查表做為目標比對的依據,可以根據目前的勢姿找出動態檢查表裡對應的人臉資 訊來比對進而達到多視角的人臉追蹤。 為了能在不同人臉角度的變化下持續進行追蹤,我們使用了多視角的人臉判 斷機制來取得目前影格中目標區域的人臉姿勢,針對不同姿勢的歷史記錄儲存到 動態檢查表之中,同時提供了更新機制可以隨著追蹤的過程動態反應目前人臉的 變化,讓動態檢查表能保存較新、較接近目前人臉狀態的歷史資訊來達到更準確 的追蹤。 針對我們的追蹤方法我們也提出了校正機制,對於追踨時人臉突然消失的狀 況做即時的處理,藉由改變取樣的方式加上動態檢查表的比對而能有效地搜尋影 像裡的目標,並在找到目標的同時重新設定追踨所需的參數,這樣的設計可以使 發生追踨錯誤的情況能大幅度的降低,讓整體系統更具可靠性(reliability)與容錯 性(tolerable)。. 48.

(57) 7.2 未來的研究工作 對於我們提出的追蹤方法,我們認為下面幾點是在未來可以繼續延伸的內 容:. (1) 目前我們只針對左右側臉的旋轉進行角度的切割,對於上下點頭的角度 變化是利用人臉判斷時加入上下點頭的人臉訓練資料當作判斷的容忍 度。如果將人臉非平面旋轉角度進行適當的分割並建立了對應的動態檢 查表,如圖 22 所示,就像是建立了一個在不同角度下簡化的人臉流形 曲面(manifold),對於更多樣的角度變化可以有更精準的判斷。不過動態 檢查表要在不同的姿勢間切換或移動也會相對變得複雜,如何有效率地 進行不同姿勢的比對又不失其精確性,是一個值得研究的議題。. θtTR htTR. ytTR. wtTR xtTR. 圖 23. 人臉流形曲面示意圖。其中的灰色部 分是我們目前動態檢查表處理的範圍。. 圖 24. 修改後的目標區域表示法。. (2) 我們的追蹤方法無法處理太大的平面旋轉角度,主要的原因在於粒子濾 波追蹤機制所使用的樣本並沒有考慮平面旋轉的情況。其改進的方法可 49.

(58) 以將目標區域與樣本表示法多加一個表示平面旋轉的角度,以目標區域 為例,可以表示成 TRt = ( xtTR , ytTR , wtTR , htTR , θtTR ) ,如圖 23 所示,便可以更 精確的表示真實人臉的狀態,不過相對而言,轉移性函式就必須多考慮 一個維度的參數變化,所使用的樣本數必須增加才能表示出目前影格的 目標區域所有可能的變化情形,這樣便會增加處理一張影格所需的時 間。這又是一個精確度與速度之間的考量。. (3) 我們所提出的人臉追蹤技術必須使用人臉判斷機制做為找尋人臉姿勢 的方式,目前我們所使用的人臉判斷是針對不同姿勢的人臉各別訓練一 組 LDA 人臉判斷器,主要是希望為動態檢查表提供一個快速簡單的判 斷功能。不過目前多視角的人臉偵測技術已經相當成熟,我們希望未來 可 以 結 合 人 臉 偵 測 所 使 用 的 技 術 , 例 如 Haar-like features [15] 與. Adaboost-like 的判斷機制[21], [14], [24]等來達到更精確的人臉判斷。. 50.

參考文獻

相關文件

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks,” The 16th IEEE International Conference on Computer Communications

C., “Robust and Efficient Algorithm for Optical Flow Computation,” Proceeding of IEEE International Conference on Computer Vision, pp. “Determining Optical Flow.” Artificial

[16] Goto, M., Muraoka, Y., “A real-time beat tracking system for audio signals,” In Proceedings of the International Computer Music Conference, Computer Music.. and Muraoka, Y.,

Jones, &#34;Rapid Object Detection Using a Boosted Cascade of Simple Features,&#34; IEEE Computer Society Conference on Computer Vision and Pattern Recognition,

Dragan , “Provably good global buffering using an available buffer block plan”, IEEE International Conference on Computer-Aided Design, pp.. Cong, “Interconnect performance

Kalker, “Speed-Change Resistant Audio Fingerprinting Using Auto-Correlation,” in IEEE International Conference on Acoustics, Speech, and Signal Processing, vol. Kalker,

programming, logic/reasoning, signal processing, computer vision, pattern recognition, mechanical structure, psychology, and cognitive science, to well control or to represent

Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks”, the 16th IEEE International Conference on Computer Communications