國
立
交
通
大
學
電機學院 電子與光電學程
碩
士
論
文
以無軀幹方式分析人像活動
Human Activity Analysis Based on a Torso-less Representation
研 究 生:李俊緯
指導教授:莊仁輝 教授
王聖智 教授
以無軀幹方式分析人像活動
Human Activity Analysis Base on a Torso-less Representation
研 究 生:李俊緯 Student:Chun-Wei Lee
指導教授:莊仁輝 Advisor:Jen-Hui Chuang
王聖智 Sheng-Jyh Wang
國 立 交 通 大 學
電機學院 電子與光電學程
碩 士 論 文
A ThesisSubmitted to College of Electrical and Computer Engineering National Chiao Tung University
in partial Fulfillment of the Requirements for the Degree of
Master of Science in
Electronics and Electro-Optical Engineering
June 2008
Hsinchu, Taiwan, Republic of China
以無軀幹方式分析人像活動
學生:李俊緯 指導教授:莊 仁 輝 博士
王 聖 智 博士
國立交通大學
電機學院 電子與光電學程碩士班
中文摘要
對於電腦視覺的這個領域來說,人像活動的辨識一直都是被熱中研究的議 題。在以往大多數的研究方法中,通常是將人體整體的資訊全部考慮進來。然而 我們可以觀察到,其實只要得知頭部與四肢等較關鍵部位的變化,就能夠大略的 了解人像的動作,而足以應付許多的實際運用。本論文即是提出一個新的方法, 用來在一連串的影像中,持續的追蹤頭部與四肢末端的變化,然後在無軀幹資料 的情況下,建立簡易的圖形來呈現人像活動的情況,亦可驗證實驗的結果。以這 種方式來進行監控時,由於不需要直接檢視受監控者,故可以保護受監控者的隱 私,同時因為僅具有頭部與四肢末端等的資料,故極少的資料更可以減輕需要進 行即時遠端傳輸監控系統的頻寬負荷。Human Activity Analysis Base on a
Torso-less Representation
Student:Chun-Wei Lee Advisor:Dr. Jen-Hui Chuang
Dr.
Sheng-Jyh Wang
Degree Program of Electrical and Computer Engineering
National Chiao Tung University
Abstract
Human activity recognition is a popular topic in the field of computer vision. While most analysis algorithms take the whole human body into consideration, the movements of merely the head and limbs are often informative enough in many practical applications. In this paper, a novel approach is proposed to track these extruding parts of a human body in consecutive images. Accordingly, a simplified torso-less pattern of gesture is proposed to represent human activities and the effectiveness of the proposed approach can be observed from some experimental results. Such a representation can not only ensure the privacy of the person being monitored, but is also suitable for real-time surveillance based on bandwidth-limited communication since only a very small amount of data are used if compared to conventional approaches.
致謝
能夠順利的完成碩士論文,首先必須感謝的就是我的指導教授莊仁輝老師, 在交通大學學習的這段時間,由於老師熱心的指導,學生才能夠順利的完成研 究,不管是定期的團體研討或是在學術領域上的指導,都使得學生獲益良多,更 使得已經在業界服務的我,學習到許多更高深的學術知識,這些都不是學生能夠 在業界可以學習到的事物。也要感謝一起指導的王聖智老師,對於學生在研究和 論文上的諄諄教誨與殷殷提點,學生得以更全貌的改進,在研究領域更能百尺竿 頭,向前一步。另外,還要感謝口試委員韓欽銓老師的意見及指教,讓本篇論文 的內容得以更加充實且完善,在此衷心感謝他們。 還要感謝的,就是智慧型系統實驗室的所有學長與同學們,感謝林泓宏學長 在紅外線影像上的指點與羅國華學長在許多研究上的協助;還有其他同學與學弟 們,有著你們這段一起成長,相互學習的研究所生涯,相當令人感到高興。謝謝 你們!最後,感謝一直以來支持我、為我操心的家人,以及所有幫助過我的朋友 們,僅以此篇表達我誠摯的謝意。目錄
中文摘要...ii 英文摘要... iii 致謝...iv 目錄...v 圖目錄...vi 一、 緒論...1 二、 先前描述長條狀物體的相關研究與系統流程...4 2.1 紅外線影像的人像前景切割前處理...4 2.2 以骨架描述人像的肢體位置...6 2.3 由物體橫截面來計算出近似中心軸線...8 2.4 系統流程...9 三、 找出肢體各部的近似中心軸線...11 3.1 產生四個方向的橫截面...11 3.2 連結中心點形成近似中心小段...13 3.3 選擇合適的近似中心軸小段...15 3.4 連結近似中心軸小段成近似中心軸線...18 四、 頭部與四肢末端位置的連續追蹤...21 4.1 尋找頭部和四肢的末端位置...21 4.2 頭部和四肢在連續影像中的追蹤...24 4.3 建造人形圖樣...28 五、 實驗結果與討論...35 5.1 頭部圖樣的調整...43 5.2 掃描間隔的選擇...47 5.3 不同的肢體末端搜尋方式...49 六、 結論...51 參 考 文 獻...52圖目錄
圖1.(a)紅外線影像拍攝後轉換成八位元的影像, (b)經溫度等高線圖演算法所切
割後的前景人像。...6
圖2.worm 模型和 circle 模型: (a)worm 模型, (b)circle 模型, (c)worm 模型變 形, (d)circle 模型變形 (參考研究[1]重繪)。 ...7 圖3.人形骨架模型(參考研究[1]重繪)。...7 圖4.掃描染色體所獲得的橫截面: (a)所有的橫截面, (b)橫截面長度的直方圖, (c)特定長度的橫截面。 ...8 圖5.連結中心點成近似中心軸小段: (a)所有的近似中心軸線小段合併的結果, (b)四個角度掃描的各近似中心軸線小段。...9 圖6.系統流程圖。...10 圖7.以四個不同角度掃描人體前景影像所得之橫截面: (a) 0∘掃描, (b) 45∘ 掃描, (c)90∘掃描, (d)135∘掃描。 ...12 圖8.以 0∘掃描人像後並截取中心點(δ = 3): (a) 0∘掃描的橫截面, (b)橫截面 截取出的中心點, (c)手部的局部放大。 ...13 圖9.以 0∘掃描人像後並截取中心點(δ = 10): (a) 0∘掃描的橫截面, (b)橫截 面截取出的中心點, (c)手部的局部放大。 ...13 圖10.連結人體分歧處的中心點。...14 圖11.中心點間的夾角。...15 圖12.位於人像頸部的中心點。...15 圖13.經過步驟(A)(B)所獲得的近似中軸小段: (a)0∘掃描後得到的近似中心軸 小段, (b) 45∘掃描後得到的近似中心軸小段, (b)90∘掃描後得到的近似 中心軸小段,(d)135∘掃描後得到的近似中心軸小段。...17 圖14.產生交集的近似中心軸小段: (a) 0∘掃描所獲得的近似中心軸小段(綠色) 與45∘掃描所獲得的近似中心軸小段(藍色)有交集, (b) 0∘掃描所獲得的 近似中心軸小段(紅色)與 45∘掃描所獲得的近似中心軸小段(藍色)和 135∘ 掃描所獲得的近似中心軸小段(綠色)有交集。...18 圖15.經重疊選擇後的近似中心軸小段。...18 圖16.連結近似中心軸小段流程圖。...19 圖17.在手臂部位的兩近似中心軸小段: (a)需連結的兩近似中心軸小段, (b) 連結後的中心軸小段。...19 圖18.連結近似中心軸小段: (a)連結前人像的中心軸小段, (b)連結後人像的中 心軸線。...20 圖19.近似中心軸線與人像骨架對應。...21 圖20.延伸近似中心軸線的兩端來尋找肢體末端。...22 圖21.四肢的近似中心軸線經延伸後的末端點: (a)延伸 90∘掃描所獲得的手部 近似中心軸線, (b)-(d)延伸 0∘掃描所獲得的手部與兩個腿部的近似中心軸
線。...23 圖22.人像輪廓與各肢體的末端。...23 圖23.一些前後兩張影像的近似中心軸線有相交的例子。...24 圖24.一些前後兩張影像中的近似中心軸線有未相交的情況。...25 圖25.頭部與四肢產生的近似中心軸線與平均橫截面長度所構成的代表區塊。26 圖26.前後影像之腿部的代表區塊的重疊: (a)前後兩張影像, (b)產生重疊代表 區塊的放大圖。...26 圖27.以代表區塊進行重疊面積判斷。...27 圖28.以簡易線條和矩形建立人形圖樣:左側為人體影像、右側為人形圖樣。28 圖29.以線條建立的人形圖樣模擬人像活動:左側為人體影像、右側為人形圖樣。 ...29 圖30.以線條模擬頭部與四肢不夠恰當的情況:左側為人體影像、右側為人形圖 樣。...30 圖31.修改後的人形圖樣:左側為人體影像、右側為人形圖樣。...31 圖32.以橢圓和平行四邊形所建立出的人形圖樣:左側為人體影像、右側為人形 圖樣。...32 圖33.人像走動的連續影像與對應的人形圖樣。...35 圖34.人像坐下的連續影像與對應的人形圖樣。...38 圖35.由側面分析人像坐下的連續影像經切割後的結果與對應的人形圖樣。....41 圖36.經切割後的人體前景與依近似中心軸線和平均橫截面長度所建立的人形圖 樣。...44 圖37.使用 δ=10 所找出的四個方向合於需求的橫截面中心點:(a) 0∘,(b)45∘, (c)90∘,(d)135∘。 ...47 圖38.由圖 37 所找出的中心軸小段:(a) 0∘,(b)45∘,(c)90∘,(d)135∘。 ..47 圖39.使用不同 δ 的中心軸線找出的末端點: (a) δ=10,(b) δ=3。 ...48 圖40.使用 δ=10 所找出的橫截面取樣中心點 ...48 圖41.使用 δ=10 所找出的中心軸小段 ...49 圖42.定位不佳的手部末端點: (a)近似中心軸線及其延伸線, (b) 所獲得的人 像圖樣。...50 圖43.考慮端點橫截面長度所找出的近似中心軸線及其延長線末端: (a)延伸線 與橫截面長度標示, (b) 所獲得人像圖樣。...50
一、
緒論
在影像處理和電腦視覺的領域上,人像活動分析一直是被相當注意的研究,相關的 研究如,人像偵測、運動追蹤、姿勢辨識,甚至是在一連串影像中,辨識出人像的行為。 不管研究的方向偏向哪一個種類,因為人像運動和姿勢的變化都非常繁複,使得人像的 辨識有著一定的難度,也因此,有關於如何完成人體活動分析的研究非常豐富。 一個常見的做法是建立完整的人體模型來進行分析[1-5],在研究[1]中,作者利用了 位於人像輪廓內部的內切圓,將內切圓的圓心連結後,獲得近似於人體骨架的模型。由 於本篇論文參照了研究[1]中的中心軸線(medial axis)觀念,我們將在下一章節更詳細討 論以中心軸線模擬骨架方面的研究。研究[2]則是利用了 2-D ribbon 來建立出人像的模 型,整體的人像由數個ribbon 所組成,ribbon 指得是長條帶狀的 2D 物件,類似於平行 四邊形,最遠平行兩端的寬度不均,人像的每個肢體部位皆可用ribbon 來呈現,並同時 以ribbon 內的中心線作為肢體的骨架。ribbon 在初始定義時為平行四邊形,但是在切出 適合於肢體的形狀時,ribbon 的兩端也會因為肢體是否為末端或連結於其他部位而有所 變化,使得ribbon 最遠的兩端不再是平行的兩邊且會有凹凸的形狀產生。此外,作者將 人像區分為頭、雙手、軀幹和雙腳等六大肢體部位,各肢體部位再依實際情況有以不同 變化的ribbon 來呈現,並以代表各肢體部位的 ribbon 來組成完整的人像模型,以此模型 來進一步得知人像目前的動作。 在研究[3]中,作者同樣也利用了骨架的觀念來建構人像模型,首先,作者先在人像 輪廓內找出合適的三角形,然後藉著連結三角形內的重心,可以獲得位於人像內的分叉 線段。接著作者提出兩種方式來截取出人像的肢體部位,一個是以前述的線條來描述肢 體的骨架;另一個則是將前述的線段改以圓圈的形狀去描述各肢體部位,如頭、手和腳 等。最後,為了避免發生遮蔽現象而無法獲得被遮蔽肢體的位置,作者利用骨架的平面 膨脹與輪廓的大小形狀來建立出人像模型,用來描述完整的人像。 而研究[4]則採取了非骨架的方式來建立人像模型,作者先定義出用來建立人像模型 的矩形,矩形的參數為頂點位置、寬、高和偏移角,然後將人像的每個肢體部位都以一個合適的矩形來描述,這些矩形都具有階層式的架構,以軀幹為最高;第二層是與軀幹 有連結的頭部、兩個手部的上臂和兩個大腿部位;最下層是手部小臂和小腿共十個部 位,作者引用了α-β-γ filter來找出初始的合適矩形,並利用基因演算法(genetic algorithm),在連續的影像中持續的追中各肢體部位的變化。 研究[5]則提出了一個3D型態的人像模型,作者先假設人像的模型可以由軀幹上 部、軀幹中部、軀幹下部、頸部、兩手上臂、兩手下臂、兩手掌、兩大腿、兩小腿和族 部以及頭部等十七個部位所組合而成。和前篇研究不同的是,這篇作者是以圓柱體來描 述肢體部位,作者還同時定義出圓柱體的偏轉角度,以符合人體在關節處的實際活動方 式,在建立出人像模型後,作者是以particle filter來追蹤人像的變化。 從上述的研究[1-5]中我們可以知道,為了要完整的建立人像模型,這些方法常常免 除不了複雜且大量的資料運算,這使得以建立人像模型為主的分析方式需要相當大的資 源。因此,以局部的特徵來針對某些特定的動作或姿勢來進行分析的方法也陸續的被採 用,如[6]的研究中,是以人像的輪廓來進行走路的動作分析,作者以人像內的質心到人 像輪廓邊緣的距離分布作紀錄,發現這些距離分布在人像走動時,會依人像走動的頻率 而發生變化,進而作者可以藉此變化來分析人像的走動行為。而[7]的研究中,同樣也是 利用了人像的輪廓與質心,避免複雜的人像細部分析,作者將離質心較遠的邊緣處視為 肢體的末端,然後連結質心到肢體末端點來形成一個星形圖樣,作者觀察到,星形圖樣 中近似於人像雙腳的部位會因人像走動而有開合的變化,因此作者可以藉著雙腳開合的 變化來辨識出人像的走動行為。 另外,在研究[8]中,則是先利用 3× 3 矩陣來確認出區域骨架,並以 eigenspace 來確 認房間內人像活動的行為。在研究[9]中則是利用 projection histogram 的方式,將實際人 像的活動與資料庫內預先建立的人像姿勢作比對,藉以分析人像的姿勢。在研究[10]中, 作者則利用Erosion 的觀念配合 3× 3 矩陣,以細化(thinning)的方式,截取出人像的近似 骨架,再分析每個肢體部位的骨架來辨識出人像的姿勢,而不需要先建立完整的人像模 型。只是不論上述的方法屬於哪一種類別,都無法不考慮到軀幹的資料。然而,我們可 以很直觀的發現,在一般的日常生活中,頭部和四肢往往扮演著較決定性的角色,使得
僅僅是以頭部和四肢的移動,就能夠大致的辨識出人像的活動方式。 因此,本篇論文便是以減輕運算和資料量為前提,將軀幹資料予以捨棄,而將焦點 關注在頭部和四肢等重要的肢體部位所發生的變化,期能藉著頭部與四肢末端的位置來 呈現人像的活動。據此,本篇論文所提出的方法,首先是將頭部與四肢的所在位置先確 認出來,接著再找出末端的位置,並藉由簡易的圖樣呈現人像的活動情況,為了能夠以 較佳的圖樣來呈現人像的姿態,我們也嘗試以不同的圖形來呈現頭部與四肢。同時,因 為複雜的人像形狀是改以較簡易的圖形來呈現,使得在人像辨識上更加方便,希望日後 能夠推廣至自動分析出人像的行為。由於這種方式可以避免被監控者的原本相貌被直接 檢視,而保護被監控者的隱私。因為所需紀錄的資料量較少,對於需要及時遠端傳輸的 監控系統而言,更減輕了頻寬的負荷。
二、
先前描述長條狀物體的相關研究與系統流程
為了要獲得頭部與四肢的末端,我們必須先確認頭部與四肢的所在位置,在研究[1] 中,作者利用了中心軸線的概念來近似人體骨架,進而確認出頭部與四肢的所在位置。 本篇論文即是參照研究[1]的概念,為了先獲得人像的輪廓以進行後續的分析,我們採用 易於處理的紅外線影像,在經過研究[11]所提出的等高線演算法計算後,擷取出影像中 的前景人像,以獲得完整的人像輪廓。在研究[1]中,作者是先找出人像輪廓內有相交的 內切圓,連結這些圓的圓心來獲得中心軸線,以確認出人像各肢體部位的位置,但是這 個方法需指定起始圓的位置,於是我們參照了本實驗室先前所提出的染色體分類研究 [12],由四個不同角度進行掃描,在擷取每個橫截面的中心點連結後,獲得頭部與四肢 的近似中心軸線,以計算出人像頭部與四肢的所在位置。 2.1 紅外線影像的人像前景切割前處理 為了順利的確認影像中人像的頭部和四肢所在位置,首先要擷取出影像中的前景人 像,本篇論文採用的輸入影像,是經由[11] 中所提出的前景分割方法所切割後的紅外線 影像。在[11] 的研究中提到,作者由實驗中發現,隸屬於同一物體相鄰的區域,其溫度 數值會非常接近。故一個簡單擷取人像前景的方法,便是先以下式直接對紅外線影像作 二值化( )
( )
( )
⎩ ⎨ ⎧ ≤ > = Thr Thr T y x f if T y x f if y x g , , 0 , , 1 , , (2.3) 其中f(x,y)是原始影像中座標(x,y)的溫度值,TThr是臨界值,式(2.3)的目的是將紅外線 影像中屬於較高溫部分的人體給偵測出來。 作者以低於TThr的溫度視為背景溫度,而較高的溫度所在的像素即視為人像前景, 然而針對單一環境所最佳化後的TThr,並無法適用於其他的環境。作者透過紅外線相機 的角度調整,讓畫面上方的1/N (N=10)處,不會有人體或者其他高溫或者低溫的干 擾物出現。如此便就可以用畫面上方1/N 處的平均溫度,來近似整張影像的環境溫度。如此一來,就算環境溫度有所改變,也能自動將臨界值TThr做最佳化。
只是僅利用二值化的方法來截取人像,仍然會因為衣物的遮蔽而使得人像產生破 損,於是作者再利用溫度等高線圖(temperature contouring)的演算法,取得更完整的 人像資訊。以下的溫度等高線圖演算法是以類似等高線圖的概念,由高溫區域漸漸地向 低溫區域擴展。此演算法是利用前一個生長出來的區域,其溫度平均值Ave,尋找溫度 介於Ave 和 Ave - Tsim2之間的點,形成新的區域。
等高線圖演算法: A. 檢查紅外線影像中每個的點,找出其 M × M (M=5)區塊具有最大平均值的點 P, 將初始的區域平均值 Ave 設定為點 P 的 M × M 區塊平均值。 B. 將畫面中尚未被切割出來,且溫度和區域平均值 Ave 差異小於臨界值 Tsim2的點找出 來。 C. 將 Ave 更新成所有在步驟 B 中,新切割出的點之平均值。 D. 重複步驟 B 和 C,直到步驟 B 中,沒有找到任何點。或者,步驟 C 中,區域平均 值Ave 小於臨界值 TThr。 在步驟A 中,取 M × M 區塊的原因是不希望取到一個由雜訊干擾所造成的錯誤初 始溫度,且 M × M 區塊平均值較高的點,通常是屬於人體的部分。而使用前一個生長 出來的區域之溫度平均值Ave,尋找溫度介於 Ave 和 Ave - Tsim2之間的點,形成新區域的
原因在於,希望每一次新的切割區域之溫度,能夠和前一個切割出來的區域,兩者之間 的溫度較接近。如此一來,當人體部分全部找完之後,在最後切割出來的區域溫度平均 值Ave 和 Ave - Tsim2範圍之內,應該不會有任何點的存在,也就是表示背景和人體有一
段溫差,就符合了終止條件。
圖1 (a)裡所呈現的是紅外線影像拍攝後,將原本十六位元影像經由灰階轉成八位元 影像來呈現的結果,圖1 (b)是經過上述的溫度等高線圖演算法運算後,所切割出的前景
人像。 (a) (b) 圖1.(a)紅外線影像拍攝後轉換成八位元的影像, (b)經溫度等高線圖演算法所切割後的前景人像。 2.2 以骨架描述人像的肢體位置 為了有效的找出頭部與四肢的末端,首先要能夠確認出其所在位置,於是本篇論文 先參照了研究[1]的以中心軸線(central axis)來描述骨架的概念。在這篇研究裡,作者將 人像大致區分成兩個類別:一個是長形部位,如手臂和大腿;另一個則是關節部位,如 肩膀和髖關節。並且建立兩個模型,worm 模型和 circle 模型,分別用來描述人像的長 形部位與關節部位。 如圖1(a)-(d)所示,worm 模型是在好幾個彼此有交集的物體內切圓中,將彼此的圓 心連結起來,如圖2(a),這些圓心將形成一條長形的中心軸線,如圖 2(a)的紅色虛線所 示。而後連結此中心軸線最外端兩圓的外公切線之切點,形成代表此模型的矩形區域。 circle 模型則是利用一個圓形來構成,如圖 2(c)所示。此 worm 模型亦具有彎曲可變的狀 態,也就是矩形的兩對邊皆為可彎曲的曲線,故此worm 模型在變形後,可由固定的矩 形狀態變為可彎曲的寬帶形狀態如圖2(b)所示;而 circle 模型亦有可變形的狀態,即圓 內的每個半徑皆可有長短不同的變化,如圖2(d)所示。
(a) (c)
(b) (d)
圖2.worm 模型和 circle 模型: (a)worm 模型, (b)circle 模型, (c)worm 模型變形, (d)circle 模型變形 (參 考研究[1]重繪)。 作者建立人像模型的方法,便是連結人像長形部位內的內切圓後,形成worm 模型; 而在人像關節處的內切圓,則可以構成circle 模型。此外,worm 模型是由許多的圓組成, 藉著連結worm 模型內每個圓的圓心,可以獲得中心軸線,而作者假設這些中心軸線將 非常近似於人像長形部位的骨架,藉著worm 模型和 circle 模型的相互搭配,可組合成 一個近似於實際人體骨架的虛擬骨架模型,如圖3 所示。 圖3.人形骨架模型(參考研究[1]重繪)。 在[1]中依上述步驟所獲得的虛擬骨架模型是被用來進行人像活動的分析,從實驗結 果可以觀察到,利用中心軸線來描述長形部位的骨架,並依此建立的虛擬骨架所找出的 肢體位置,的確符合實際活動的狀況。只是研究[1]中所提出的尋找中心軸線的方法,必 須先指出第一個起始圓的位置,才可以順利的找出中心軸線。因此,我們參考[1]的觀念, 並藉由研究[12]所提出的方法來找出頭部與四肢的中心軸線,然後再進一步的找出頭部
與四肢的末端位置。 2.3 由物體橫截面來計算出近似中心軸線 在[12]的研究中,作者們藉著連結橫截面(cross-section)的中心點所形成的近似中心 軸線,用來描述形狀相當彎曲多變的染色體,然後循此軸線可提供的密度剖面資料來進 行染色體分類。為了要得到近似中心軸線(medial axis),作者先以四個不同的角度,分別 是0∘、45∘、90∘和 135∘,來掃描染色體,如此可獲得許多位於染色體面積內的橫 截面。我們可以從研究[12]中的圖 4 (a)觀察到,這些橫截面的長度和染色體的寬度有關, 與染色體走向越垂直的掃描方向所獲得的橫截面長度將會越接近染色體的寬度,同時因 為染色體本身的長條形狀,使得大多數的橫截面長度非常接近染色體的寬度,故作者利 用橫截面長度的分布直方圖來挑選出適當的橫截面,如圖4 (a)-(c)所示。圖 4 (a)是以四 個方向掃描染色體後所獲得的橫截面,圖4 (b)是橫截面的直方圖,圖 4 (c)則是選出特定 長度的橫截面。此方法接著匯集這些特定長度橫截面的中心點,串連成近似中心軸小 段,最後再將各小段連結成近似中心軸線來描述染色體的形狀。圖5(a)為將所有的中心 軸小段合併後的結果,而圖5(b)則分別是前述依各個角度掃描,並取得適當橫截面的中 心點後,將這些中心點連結成的近似中心軸小段;從圖中可以發現,以四個角度掃描後 所獲得的近似中心軸小段,相當適用於描述長條狀物體。較詳細的取得長形狀物體的近 似中心軸線方法,請參照研究[12]。 (a) (b) (c) 圖4.掃描染色體所獲得的橫截面: (a)所有的橫截面, (b)橫截面長度的直方圖, (c)特定長度的橫截面。
(a) (b) 圖5.連結中心點成近似中心軸小段: (a)所有的近似中心軸線小段合併的結果, (b)四個角度掃描的各近 似中心軸線小段。 2.4 系統流程 為了找出頭部與四肢的末端,本篇論文參考了研究[1]中骨架的概念,並配合研究[12] 所提出的以四個不同角度掃描人像前景來獲得近似中心軸線,再以類似於骨架的近似中 心軸線來找出人像頭部與四肢的部位,進一步找出這些肢體的末端。本論文研究的主要 工作項目可大致區分為兩大部分,第一部份是計算出人體的近似中心軸線,而第二部分 則是偵測與追蹤頭部和四肢的末端。圖6 為上述方法的系統流程圖,上述兩部分的細部 計算步驟將分別在第三章與第四章中詳述。
三、
找出肢體各部的近似中心軸線
本章將詳述找出肢體各部的近似中心軸線的方法。如圖6 所示,在取得紅外線相機 拍攝並經過等高線溫度演算法切割出人像後,此處首先進行的第一個步驟是利用四個不 同的角度對人像進行掃描,當掃描線通過人像前景時,擷取每條掃描線與人像輪廓相交 且落於人像輪廓內的距離為橫截面。然後在第二個步驟中針對每條橫截面的中心點來進 行連結的動作,將中心點連結後,可以獲得許多近似中心軸小段。 由於人像的形狀不同於研究[12]中的染色體,故在處理人像肢體部位上,不採用與 染色體相似的橫截面長度直方圖來挑選合適的中心點,而是由距離和角度來進行判斷中 心點之間是否應該連結,經過條件判斷後,中心點將連結成近似中心軸小段。有些較短 或短寬的近似中心軸小段將會被移除,因為它們可能是雜訊所造成或是不適合用來描述 長形物體。 然而,並不是每條近似中心軸小段都適合用於描述頭部和四肢,因此,接下來的步 驟便是刪除不合適於描述長條形物體的近似中心軸小段,同時,因為一個肢體部位可能 會對應一條以上的近似中心軸小段,我們還需要挑選出最合適的近似中心軸小段。另 外,同一個肢體部位在未彎曲時,可能只會產生一條合適的中心軸小段,但是當肢體發 生彎曲時,將會產生出兩條以上的近似中心軸小段,故第四個步驟是判斷每條近似中心 軸小段是否可能屬於同一肢體部位,然後串聯兩條近似中心軸小段來形成近似中心軸 線。在這裡所獲得的近似中心軸線,將在下一章節用來描述肢體部位。 3.1 產生四個方向的橫截面 在找出肢體各部的近似中心軸線計算中,首先參考[12]的做法,以四種不同的角度 來分別掃描人體影像,分別是0∘、45∘、90∘和 135∘。被掃描的影像是經過研究[11] 中所得到的,亦即利用溫度等高線圖演算法對於320×240 紅外線影像處理後所得到的人 體前景,如圖1(b)所示。圖 7 所顯示的是影像由各個角度被分別掃描後,掃描線落於人像內部的結果。圖中每條掃描線通過人像時,截取位於人像範圍內的掃描線為橫截面, 如此我們可以獲得如圖7(a)-(d)所示的許多橫截面。在這篇論文中,我們假設人像的肢 體形狀有著一定的寬度,故將太窄的橫截面視為雜訊,而不考慮這些太窄的橫截面。 (a) (b) (c) (d) 圖7.以四個不同角度掃描人體前景影像所得之橫截面: (a) 0∘掃描, (b) 45∘掃描, (c)90∘掃描, (d)135∘掃描。 在進行掃描後我們發現,若完整的將圖像中的每一個像素點都進行掃描,將會花費 相當多的時間;因此,為了節省運算的時間,我們改採用每隔δ 個像素掃描一次的方式。 當δ=2 時,花去的掃描時間會是 δ=1 時的一半,而選取適當的 δ 值即足以用來描述長條 狀的物體,圖7 即為利用 δ=3 所得到的結果。 另外,選用適當的δ 值需要注意,當 δ 太小時,會使得掃描時間加長,而當 δ 太大 時,會使得由中心點得到的近似中心軸線無法妥善的呈現長條狀物體。圖8 為以 δ=3 在 水平方向掃描所得之相關結果。其中圖8(a)則再一次將圖 7(a)之橫截面標示出來,圖 8(b) 是將橫截面的中心點取出,圖8(c)則是將手臂部位局部放大。圖 9 則為以 δ=10 所得到 的類似結果。若將圖8(c)和圖 9(c)作比對,我們可以發現,在手臂的區域以 δ=3 掃描所
獲得的結果在形狀上要表現的比使用δ=10 更好。 (a) (b) (c) 圖8.以 0∘掃描人像後並截取中心點(δ = 3): (a) 0∘掃描的橫截面, (b)橫截面截取出的中心點, (c)手 部的局部放大。 (a) (b) (c) 圖9.以 0∘掃描人像後並截取中心點(δ = 10): (a) 0∘掃描的橫截面, (b)橫截面截取出的中心點, (c) 手部的局部放大。 經過數次的實驗後,為了兼顧節省運算時間和避免雜訊所產生的誤差,在本篇論文 實驗中採用的320×240 紅外線影像下,是以 δ 設定為 3 以及最小橫截面長度(Lcs,min) 設 定為5 較合適。在四個不同角度的掃描後,接著需要取出每個橫截面的中心點,然後再 進一步確認彼此間的相關性,以連結成近似中心軸小段。 3.2 連結中心點形成近似中心小段 在[12]的論文研究中,兩中心點相連與否,是先挑選過橫截面的長度,然後再將連 續的中心點連結成近似中心軸線。由於染色體本身不具有分叉處,所以可以利用橫截面
長度分佈的直方圖來確認出合適的橫截面,然後截取出中心點,再連結成近似中心軸小 段,如圖5(a)-(c)所示。不過本篇實驗所要分析的人像相較於染色體有兩個不同的特徵, (i)人像具有分叉處,(ii)由人像擷取出的近似中心軸線僅有一端為末端。因為染色體和人 像在(i)的不同,使得人像和染色體在中心點連結上會有不同的結果,也使得肢體各部位 將分別產生各自的近似中心軸小段。而因為(ii)的不同,在下一章中我們將針對肢體各部 的末端來做定位,並進行連續的追蹤。 將研究[12]所提出的獲得近似中心軸線方法,應用在確認出人像頭部與四肢的近似 中心軸線時,決定兩個由連續掃描所獲得的中心點是否相連,所考慮的條件為:(a)兩中 心連線的角度與距離;(b)兩個相鄰橫截面的長度差值。如圖 10 所示,假設兩中心點間 的距離以d 表示,而掃描垂直方向與上述連線間的夾角以 θ 表示。圖 11 為 d 與 θ 的示 意圖,紅色的點代表中心點;綠色線代表橫截面;棕色的直線代表邊緣處;θ 角範圍如 藍色虛線所示。在理想的情形下,也就是寬度完全均勻的長條狀物體在連續掃描時,最 佳掃描方向將滿足0≤θ ≤22.50(或δ ≤ d ≤δ /cos22.50)。 圖10.連結人體分歧處的中心點。 然而,由於頭部和四肢皆非完全均勻的長條狀物體,故我們設定兩相鄰的中心點距 離不應超過間距δ 過大,以 d 是否小於 2δ 和 θ 小於 23∘,來決定兩相鄰中心點是否相 連。以如圖10 所呈現的人體分叉處為例,經由上述距離和角度的條件限制,M1、M2和 M3將會被區分在三條不同的近似中心線段中。 M3 M1 M2 1 − i cs L i cs L 1 + i cs L
另外,在頭部與軀幹交接處,由頭部所產生的橫截面長度與軀幹所產生的橫截面長 度將會產生極大的差值,如圖 12 所示,利用橫截面長度的差值,可以用來判斷兩中心 點是否隸屬於同一肢體部位。而在我們的實驗中,因為最小橫截面長度被設為5,故我 們將連續兩個橫截面長度差的臨界值(Tdcs)條件也設為 5,亦若LiCS −LCSj >5兩中心點將 不做連結。圖 12 中,由於 − j =8 CS i CS L L ,所以頭部與軀幹將會分別連結出不同的近似 中心軸小段。 圖11.中心點間的夾角。 圖12.位於人像頸部的中心點。 3.3 選擇合適的近似中心軸小段 經由前述的中心點連線,即可獲得許多的近似中心軸小段,然而對於這些由四個不 同角度掃描所獲得的近似中心軸小段,我們需要再挑選出較合適的近似中心軸小段來描 述頭部與四肢。因為頭部和四肢都是屬於長條形狀的物體,所以長度過短的近似中心軸 i cs L j cs L
小段,並不適用於描述頭部和四肢,因此,我們將中心點數少於3 的近似中心軸線將被 視為雜訊而刪除。 此外,對於其橫截面長度相對於其長度過長的近似中心軸小段而言,顯然也並不合 適於描述長條狀物體,而且經由實驗發現,由軀幹部位所獲得的近似中心軸小段,通常 屬於此類,而我們並不需要軀幹部位的中心軸線,因此亦不予選用。除了前述的兩種情 況外,因為之前在3.2 節中,兩中心點連結條件較寬鬆,同一個肢體部位在四個不同角 度掃描下,可能會產生一個以上的近似中心軸小段,所以我們在同一個肢體部位產生的 近似中心軸小段裡是挑選出最長的小段來描述肢體部位。這是因為越長的近似中心軸線 在概念上顯示其掃描的角度越垂直於長條狀物體的走向,而能夠取得較多的中心點來呈 現長形的特徵,也越適合描述長形的物體。歸納以上的考量因素,本論文用以挑選合適 中心軸小段的步驟為: (A) 刪除中心點數少於 3 的近似中心軸小段。 (B) 對於其橫截面長度相對於其長度過長的近似中心軸小段而言,將不太可能為頭部或 四肢所產生的近似中心軸小段,故不選用。而其橫截面長度相對於其長度過長的近 似中心軸小段的定義為 δ ) 1 ( − > n LCS , (3.1) (3.1)式中的LCS是平均橫截面的平均長度,n 是近似中心軸小段內的中心點數。 (C) 考慮連結四個角度掃描之橫截面中心點所得之近似中心軸小段,對於產生交集的中 心軸小段群,僅保留中心點數較多的。 圖13(a)-(d)呈現的是中心點在連線後,經過上述步驟(A)(B)所得到的近似中心軸小 段,各圖中的不同顏色是用來顯示隸屬於不同中心軸小段的中心點,相同的顏色表示中 心點是有連結在一起的。
(a) (b) (c) (d) 圖13.經過步驟(A)(B)所獲得的近似中軸小段: (a)0∘掃描後得到的近似中心軸小段, (b) 45∘掃描後得 到的近似中心軸小段, (b)90∘掃描後得到的近似中心軸小段,(d)135∘掃描後得到的近似中心軸小段。 圖14(a)顯示的是在腿部的位置,0∘和 45∘兩個不同角度掃描後,所獲得的近似中 心軸小段重疊後的情況。其中,由於45∘的近似中心軸小段較 0∘短,故 45∘的近似中 心軸小段會被刪除,而此腿部將由0∘掃描所獲得的近似中心軸小段來呈現。而在圖 14(b) 中所顯示的是手部的位置所產生的三個近似中心軸小段互相交集的情形,從圖中可以看 到,由 0∘掃描所獲得的近似中心軸小段最長,故我們將刪除由 45∘和 135∘掃描後得 到的近似中心軸小段而保留由0∘掃描所獲得的近似中心軸小段。如圖 13 的各中心軸小 段,在經過上述的挑選過程後,會得到如圖15 的近似中心軸小段。
(a) (b) 圖14.產生交集的近似中心軸小段: (a) 0∘掃描所獲得的近似中心軸小段(綠色)與 45∘掃描所獲得的近似 中心軸小段(藍色)有交集, (b) 0∘掃描所獲得的近似中心軸小段(紅色)與 45∘掃描所獲得的近似中心軸 小段(藍色)和 135∘掃描所獲得的近似中心軸小段(綠色)有交集。 圖15.經重疊選擇後的近似中心軸小段。 3.4 連結近似中心軸小段成近似中心軸線 因為同一肢體部位可能會被擷取出兩條以上的近似中心軸小段,所以我們需要連 結兩條或更多的近似中心軸小段成為一條新的近似中心軸線。連結的原則是根據中心軸 小段是否隸屬於同一肢體部位,也就是當兩近似中心軸小段的彼此端點間的中心位置落 於人像範圍內,且兩中心軸小段的彼此端點距離d 小於 δ 時,則合併兩近似中心軸小段; 若端點距離d 在 δ 和 2δ 之間,則需再考慮兩近似中心軸小段之平均橫截面長度(Lcs): 若∆Lcs≤2δ 則連結兩近似中心軸小段,∆Lcs指得是兩近似中心軸小段的平均橫截面差 值。圖16 是連結近似中心軸小段成近似中心軸線的流程圖。
圖16.連結近似中心軸小段流程圖。 (a) (b) 圖17.在手臂部位的兩近似中心軸小段: (a)需連結的兩近似中心軸小段, (b)連結後的中心軸小段。 如圖17 (a)(b)所示,手臂的部位有兩條近似中心軸小段產生,而我們需要連結這兩 條近似中心軸小段,棕色的近似中心軸小段(MAi)是由 0∘掃描所產生;藍色的近似中心 軸小段(MAj)是由 90∘掃描所產生,紅色的點標示出兩近似中心軸小段的中心位置落在 人像範圍內。圖17 (b)所顯示的是圖 17 (a)內的兩個近似中心軸小段,經連結後產生的近 似中心軸線。圖18 (a)(b)則是顯示完整人像的近似中軸小段連結情形,圖 18 (a)是連結 前,圖18 (b)是連結後。 MAj MAi
(
(a) (b)
四、
頭部與四肢末端位置的連續追蹤
在獲得肢體部位的近似中心軸線後,我們可以參照 [1]中的人像骨架模型,如圖 3 所示,來偵測與追蹤出人像的頭部與四肢位置。從圖19 中我們可以很直觀的看出,位 置最高的近似中心軸線為頭部,而最低的兩個則是腿部,剩下的近似中心軸線中,若滿 足平均橫截面長度小於頭部的平均橫截面長度與垂直中心點高於腿部近似中心軸線的 最高點,則可判斷為手部的近似中心軸線。 在確認出各肢體部位的近似中心軸線後,我們接著會利用在第三章所提到,人像與 染色體不同的特性(ii),將近似中心軸線的兩個端點向外延伸,然後以最快碰觸到人像邊 緣的延伸方向來找出肢體的末端。同時為了能夠在連續的影像中,持續的追蹤末端位置 的變化,我們以近似中心軸線和平均橫截面長度所構成的區域來包出一個代表區塊,再 依時間與空間(spatial-temporal )的重疊特性來追蹤肢體位置的移動。最後,當我們獲得 頭部與四肢的末端後,為了實現以末端來呈現人像的活動方式,我們將利用一些簡單的 圖形來建立出人形圖樣(human pattern),將人像的活動方式呈現出來。 圖19.近似中心軸線與人像骨架對應。 4.1 尋找頭部和四肢的末端位置 經由第三章長形物體分析的步驟後,我們獲得許多類似於骨架的近似中心軸線。在 本節中,我們將進一步藉著延伸近似中心軸線的兩個端點來尋找肢體的末端位置,因為 頭部與四肢的一端將連結於軀幹上,使得這些肢體部位取得的近似中心軸線在延伸後,Ea Ba1 Eb 必有一延伸端點與邊緣處的距離較遠,這也是人像掃描後的結果與染特體不同之處(ii)。 延伸近似中心軸線的步驟為,每次由近似中心軸線的兩個端點各自向外延伸一個像素 點,以此方式持續延伸,將會有一個延伸方向先與人像邊緣發生重疊,重疊處即為末端 點。 如圖20 所呈現的,紅色的像素為構成近似中心軸線內的橫截面中心點,綠色的虛 線則是用來標示上述的延伸方向。由於頭部的近似中心軸線是以0∘的掃描方向所獲 得,故我們以垂直於掃描角度的方向,由近似中心軸線的兩個端點Ea和Eb,分別往外 側延伸。由Ea向外側延伸後,將會碰觸到邊緣點Ba;而Eb向外側延伸後,同樣也會碰 觸到邊緣處Bb(未顯示),而最先碰觸到的邊緣處 Ba,即視為末端。 圖20.延伸近似中心軸線的兩端來尋找肢體末端。 圖21(a)-(d)顯示的是四肢延伸後的末端點。圖 21(a)顯示的是右手的部位,因為此近 似中心軸線是以90∘掃描獲得,故延伸方向為水平方向;而圖 21(b)-(d)中的左手和兩 腿,其近似中心軸線都是以0∘掃描所獲得,故延伸方向與頭部相同,皆為往垂直方向 延伸,末端點則以紫色標示。 我們可以從圖20 和圖 21 觀察到,以上述方式所取得的末端點雖然與一般所認知的 末端點有些許不同,但相對而言,兩者位置可算是非常接近,故我們仍可以以此方式來 找出頭部與四肢的末端點。圖22 標示出由圖 20-21 所獲得的肢體末端,紅色點即為各 近似中心軸線延伸後,碰觸到的邊緣點。
(a) (b) (c) (d) 圖21.四肢的近似中心軸線經延伸後的末端點: (a)延伸 90∘掃描所獲得的手部近似中心軸線, (b)-(d) 延伸0∘掃描所獲得的手部與兩個腿部的近似中心軸線。 圖22.人像輪廓與各肢體的末端。
4.2 頭部和四肢在連續影像中的追蹤 在得到人像的肢體末端後,接下來的步驟,便是如何在連續的影像中,持續的追蹤 各末端位置的變化。在這裡,我們假設在連續影像中,物體運動因為空間和時間的相對 關係,而使得前後兩張影像的物體在位置上必然有些許的重疊,並藉此特性來持續的追 蹤末端位置的變化。然而,在上一節所提到的末端,是以單一個像素點來呈現,因此, 我們改採用近似中心軸線是否相交作比對,如圖23 所示。 (a) (b) (c) (d) (e) (f) 圖23.一些前後兩張影像的近似中心軸線有相交的例子。
我們以不同顏色標示出個別肢體部位的近似中心軸線來作比對,從圖23 中可以發 現,在極短暫的前後兩張影像間,近似中心軸線將會發生相交的現象,故可以藉此來判 斷肢體位置的變化,並同時進行延伸近似中心軸線的端點來確認出肢體的末端位置。然 而再進行多次實驗後,我們卻發現,由於線段所佔的面積過小,僅以近似中心軸線是否 發生交集,來判斷肢體部位的重疊性很容易發生誤差。 如圖24 (a)-(d)所示,我們可以發現許多屬於同一肢體部位的近似中心軸線並不會相 交,而使得僅利用中心軸線交集來追蹤肢體變化的方式不夠理想。如圖24 (a),前後兩 張影像在頭部位置的近似中心軸線並沒有發生相交的現象;而在圖24 (b)中,雖然腿部 上方的端點非常接近,但兩近似中心軸線仍然沒有相交,圖24 (c)和圖 24 (d)中也呈現了 類似的現象。 (a) (b) (c) (d) 圖24.一些前後兩張影像中的近似中心軸線有未相交的情況。 由上述的例子我們可以發現,由於線段所佔的面積過小,以至於前後兩張影像對應 的近似中心軸線有時候並沒有發生相交的現象,這使得我們無法順利判斷兩張影像中, 人像各肢體部位移動後的位置。因此,我們考慮以較大的區塊面積來進行時間與空間的
重疊面積比對,以尋找出肢體末端移動的變化。而為了獲得合適的追蹤區塊,除了近似 中心軸線外,我們也將平均橫截面長度考慮進來,以近似中心軸線的兩端點和平均橫截 面的長度來構成一個平行四邊形的代表區塊,並依各肢體所所產生的代表區塊區域來進 行重疊面積比對。 如圖25 所示,紅色的區塊是以每個近似中心軸線的兩端點和平均橫截面長度所構 成的代表區塊,較前述的近似中心軸小段比較起來,由於代表區塊所佔的區域面積較 大,使得兩張連續影像中,同一肢體部位所產生的代表區塊容易發生重疊的現象,而較 為適合用來作面積重疊的比對。 圖25.頭部與四肢產生的近似中心軸線與平均橫截面長度所構成的代表區塊。 圖26.前後影像之腿部的代表區塊的重疊: (a)前後兩張影像, (b)產生重疊代表區塊的放大圖。 以代表區塊方式來進行比對的方式為,我們先假設在連續影像中,物體運動因為空 間和時間的相對關係,而使得前後兩張影像的物體在位置上必有些許的重疊性,如圖26 (a)所示,藍色框線表示前一張影像的腿部代表區塊,而紅色框線則是目前影像中對應的 代表區塊。圖26 (b)顯示兩者產生交集的放大圖,經由計算兩個區塊的交集,可以得知 腿部區塊移動後的位置,而得知人像腿部的活動。而其他肢體部位的位置變化也可以依 Bt-1 Bt Bt-1∩Bt (b) (a)
此方法追蹤。式(4.1)為計算重疊區塊的運算式,
S
TH
B
B
min
B
B
t t t t_
)
,
(
1 1∩
>
− − , (4.1) 其中的Bt-1表示第t-1 張影像中,由某一肢體部位的近似中心軸線和平均橫截面長度所 構成的代表區塊,而Bt則是第t 張影像中可能有對應關係的代表區塊,式(4.1)中 min(Bt-1, Bt)是指取 Bt-1和Bt中較小的代表區塊。這是因為當人像活動時,在影像中的頭部和四肢 可能會因為遮蔽的緣故,而使得由被遮蔽肢體部位的近似中心軸線長短發生變化,進而 使得兩張影像間,同一肢體部位所產生的代表區塊面積有著大小的差異。若以一般常用 的聯集來取代之,將會使得TH_S 的值經常需要重新設定,故我們採取最小的代表區塊 來進行重疊面積的比對。TH_S 是一個固定的臨界值,在本篇論文中,是採用 0.2~0.5 之 間的數值。 (a) (b) (a) (d) 圖27.以代表區塊進行重疊面積判斷。 例如我們將圖24 中的近似中心軸線和平均橫截面長度(Lcs)找出,並且藉著肢體各 部位之代表區塊在前後兩張影像的重疊面積來確認肢體移動的情形,如圖27 所示。由於圖中前後兩張影像各近似中心軸線的代表區塊都有著一定面積的重疊,使得我們可以 藉由式(4.1)的計算來追蹤頭部與四肢的移動。 4.3 建造人形圖樣 為了有效的僅以頭部和四肢的末端來呈現人像的活動,我們嘗試利用一些簡單的圖 形來建立人形圖樣,並透過這些人形圖樣來描述這些肢體部位,以達到模擬實際的人像 活動情形。首先,我們利用一些線條來表示頭部與四肢,雖然我們並沒有軀幹的資料, 但是在便於顯示的前提下,我們可以假設一個虛擬的矩形,其高為頭部長度的三倍,寬 則為頭部長度的兩倍。 圖28.以簡易線條和矩形建立人形圖樣:左側為人體影像、右側為人形圖樣。 其次,如圖28 所示,我們以先前的章節裡所獲得的末端位置來決定每個圖形的位 置。頭部的長度是以多次實驗中,所觀察出頭部近似中心軸線的平均值來設定,大約是 20 個像素點最合適;因此,我們將末端往垂直下方至 20 個像素點的位置繪製一條線段(紅 色),表示頭部的所在位置。手部的線條則是將虛擬軀幹的上方兩頂點(棕色與粉紅色), 延伸到手部末端的位置。腿部的方法與手部類似,是以虛擬軀幹的正下方為起始點,然 後延伸到腿部末端的位置(藍色和綠色)。由圖 28 中的所顯示的人形圖樣,可以大略看出 頭部與四肢的位置。圖29 (a)-(d)是以上述線條呈現頭部與四肢的一些實例,從圖中大略 的可以看出人像活動的狀況,如站立、舉手和抬腿等。
(a)
(b)
(c)
(d)
而在圖29(b)中,由於兩條手臂因為屈縮在身體的正面,使得紅外線影像在無法偵測 出手臂的位置,在這篇論文裡面,我們假設手臂的遮蔽都是由身體的軀幹部位所造成 的,在被遮蔽的情況下,由於無法正確的得知手臂的位置,故我們將手臂的位置,假設 為與軀幹平行並緊貼於側方,末端點的位置即為軀幹的側邊下方,如圖29 (b)所示。雖 然利用簡單的線條可以大致標示出頭部與四肢的變化,不過我們對於如此過度簡化的圖 樣並不滿意,對於某些四肢的活動較為複雜,尤其是雙手未伸直時,僅以線條的方式表 現顯然不夠恰當,如圖30(a)-(d)所示。 (a) (b) (c) 圖30.以線條模擬頭部與四肢不夠恰當的情況:左側為人體影像、右側為人形圖樣。
(d) 圖30.以線條模擬頭部與四肢不夠恰當的情況:左側為人體影像、右側為人形圖樣(續)。 因此,我們改用其他的圖形來建立人形圖樣,在頭部的部分,因為人像的頭部較接 近於橢圓狀,故以一個橢圓形來呈現;兩個腿部則是利用兩個平行四邊形來呈現,將腿 部的寬度表示出來;而人的手臂部份因為常常需要彎曲,雖然僅以末端點的資料較難以 將手臂的全貌給呈現出來,但是經過數次的實驗和觀察,我們發現由於雙手常常出現彎 曲的狀態,便考慮以較能夠覆蓋雙手的所在位置的橢圓形的方式來呈現。因此,將上述 所修改的圖形套入如圖28 的人像姿勢後,我們可以得到如圖 31 所示的人形圖樣。 圖31.修改後的人形圖樣:左側為人體影像、右側為人形圖樣。 在圖31 的人形圖樣中,頭部橢圓的大小是以實驗過後的經驗值為參考依據(長軸長 度=20、短軸長度=10),腿部的長度是以軀幹到腿部末端來決定,腿部與軀幹的連結點, 則是在軀幹下方的邊緣,代表腿部的兩平行四邊形將在上述邊緣的中點相接,兩平行四 邊形的寬度也是參考實驗的經驗值(寬度=5 )。另外,手部橢圓的大小則是從虛擬軀幹的 一邊到手部末端的距離來計算,軀幹到手臂末端的垂直距離作為橢圓長軸(Lh),水平距 離則作為橢圓短軸(Lv),接著再以
) ( tan 1 h v L L − = θ , (4-2) 對於水平與垂直方向的距離比取反正切函數後,決定出手部橢圓的偏移角。至於軀幹的 部分,我們仍採用上述的方法,以頭部長軸的三倍作為軀幹的高,頭部短軸的兩倍作為 軀幹的寬,繪製出一個虛擬的軀幹矩形以方便閱讀。圖32 (a)-(h)是採用上述的人形圖 樣,所獲得的人像活動顯示圖示。 (a) (b) (c) 圖32.以橢圓和平行四邊形所建立出的人形圖樣:左側為人體影像、右側為人形圖樣。
( (d) (e) (f) (g) 圖32.以橢圓和平行四邊形所建立出的人形圖樣:左側為人體影像、右側為人形圖樣(續)。
(h) 圖32.以橢圓和平行四邊形所建立出的人形圖樣:左側為人體影像、右側為人形圖樣(續)。 從圖32 (a)-(g)中我們可以觀察到,以橢圓形來呈現頭部顯然比線條要更具親和感, 使得頭部的顯示要較為明確,頭部橢圓的定位方式是將末端位置的垂直方向減掉長軸的 一半,水平方向則是減掉短軸的一半,如此我們可以確認出頭部橢圓的中心位置。而腿 部的部分,在給定了寬度之後,使得腿部的呈現方式變得較為明顯,在圖32 (c)中,代 表腿部的藍色和綠色平行四邊形在末端的位置發生重疊的現象,這是因為在人像的兩腿 間彼此產生遮蔽的緣故,這會使得我們只獲得一條腿部的末端位置。 我們假設被遮蔽腿部的遮蔽物皆為另一條以獲的末端資訊腿部,亦即兩條腿部是彼 此相互遮蔽,故我們只能取得一條腿部的末端位置。在遮蔽的情況下,我們將兩條腿部 的末端皆設為相同,也就是在人形圖樣中的兩條腿部將會共用同一個末端位置,也就是 如圖32 (c)(d)所呈現的方式。腿部平行四邊形的兩邊是由軀幹矩形的下方中間位置和末 端位置構成,由軀幹中央向外擴展至腿部的寬度,末端點則是向左右擴展各一半的寬度。 手部的遮蔽則與線條所呈現的方式類似,將手部橢圓的位置繪製於軀幹的內側,如圖32 (b)所式,以橢圓方式來呈現手部時,即使在遮蔽的情況下,似乎也較線條更為符合實際 的情況,另外從圖32 (e)-(g)中,雖然與實際情況仍有所不同,但是利用橢圓來呈現手部 的方式仍然有很不錯的表現。
五、
實驗結果與討論
在前面幾章有關人像分析的說明中,我們是先獲得近似中心軸線,再分別找出各肢 體的末端點,同時為了有效的讓監控者順利觀察人像的活動,我們在無軀幹資料的情況 下,使用了一些簡易的圖形來顯示人像的活動。本章的內容是將前面章節的內容,利用 Visual C++進行開發實驗,試著在連續的影像中,不斷地確認出頭部與四肢的末端,最 後利用人形圖樣顯示人體的姿態變化。實驗所使用的平台為Windows XP 作業系統,1GB RAM,1.5G Intel Centrino CPU,在這個平台上,經由前述步驟獲得末端點所能達到的效 能為每秒20 張圖框以上。為了測試本篇論文所提出的方法,我們先測試了一個走動的 人像,圖33(a)-(j)是對於連續的人像走動影像的姿態分析結果,在本節的實驗圖示中, 我們也在分析結果的上方附上八位元灰階化後的紅外線影像以便與人形圖樣作為比 對。在圖33(a)-(j)中,可以很明顯的看到,本篇論文研究所獲得的人形圖樣變化與紅外 (a) (b) 圖33.人像走動的連續影像與對應的人形圖樣。(c) (d)
(e) (f)
(g) (h)
(i) (j)
線影像中的人體影像,在姿態上非常接近,我們可以很容易的從人形圖樣中得知目前人 像的活動方式。只是人體的朝向(正面、背面和側面)較不能被明確的作區分。 接著我們再測試另外一種人像活動的方式,這次是一個由站立姿態然後坐下的動 作,如圖34(a)-(j)所示。在圖 34(a)-(j)中我們可以觀察到,當人坐下時,實際的人像的膝 蓋逐漸彎曲,以至於在大腿的縱向發生了遮蔽的現象,這使得人像腿部在垂直方向的長 度較站立時短,而人像圖樣描述腿部的平行四邊形也隨之變短,如圖34 (c)所示。由於 腿部的平行四邊形高度變短,若直接檢視圖34 (c),將使人誤以為此人像的腿部過短。 然而在實際的連續影像中,此人像的活動方式可約略由前後的影像得知,而逐漸變短的 腿部,則可被推論是坐下過程中膝蓋彎曲的結果。本篇論文所探討的人像分析方式,並 不限定於紅外線攝影機所拍攝後的影像,而是僅以人像的輪廓就足以使用,我們將在此 後的圖示中,改以人像輪廓和人形圖樣進行比對,如圖 35 所示。 (a) (b) 圖34.人像坐下的連續影像與對應的人形圖樣。
(c) (d)
(e) (f)
(g) (h)
(i) (j)
(a) (b)
(c) (d)
(e) (f)
(g) (h)
(i) (j) 圖35.由側面分析人像坐下的連續影像經切割後的結果與對應的人形圖樣(續)。 5.1 頭部圖樣的調整 在圖34 (a)-(j)中,雖然人像圖樣相當簡單,仍是可以看出大略的活動情形。然而, 在某些情況下,僅以此圖樣呈現人像活動仍然有些難以識別。如圖35(a)-(j)所示,我們 由側面拍攝了人像坐下的活動情況,如前所述,如果僅以人像輪廓所獲得的末端點資 料,提供給人形圖樣後所能呈現的方式,並無法得知此人像目前的朝向為何。另外,由 於描述頭部的橢圓是以90∘垂直方向直立,這使得軀幹顯現的相當不自然,因此,我們 嘗試將頭部的近似中心軸線及平均橫截面長度考慮進來,以頭部近似中心軸線長度作為 頭部橢圓長軸的,頭部橢圓短軸則是取平均橫截面長度,同時利用頭部近似中心軸線的 兩端點來決定橢圓的偏移角,圖36(a)-(j)為頭部修改後的人形圖樣。
(a) (b)
(c) (d)
(e) (f) (e) (f)
(g) (h)
(i) (j) 圖36.經切割後的人體前景與依近似中心軸線和平均橫截面長度所建立的人形圖樣(續)。 我們可以從圖36(a)-(j)中發現,在顯示人像活動方面,搭配頭部近似中心軸線兩端 點的傾斜角度和平均橫截面長度所建立的人形圖樣,相較於圖35,虛擬軀幹的位置顯然 較為合適,而頭部的呈現也因為偏移的角度而使得我們更清楚人像頭部的運動方式。雖 然在圖36(f)(g)(h)的部分,因為頭部和頸部傾斜而造成頭部近似中心軸線過長的關係, 使得由頭部比例所繪製的虛擬軀幹過大,而使得腿部的平行四邊形因此過度短小,但是 在呈現人像坐下的活動方面,仍有著不錯的表現。 另外,在圖35(h)-(j)和圖 36(h)-(j)中,人像腿部向右方突出的尖形物體是由於熱殘 留效應被紅外線攝影機所捕捉的情況,一般而言,若發生人像輪廓部份有缺陷或有過大 雜訊時,有可能產生不必要的近似中心軸線,將使得程式在運算上消耗不少時間,程式 也可能因此產生錯誤的判斷。
5.2 掃描間隔的選擇 在3.1 節中,我們曾經提到過掃描間距需適當的選取,以避免所形成的近似中心軸 線無法妥善的呈現肢體的樣貌,在此,我們將探討選擇不同的δ 值(尤其是較大的 δ 值) 可能造成的影響。 (a) (b) (c) (d) 圖37.使用 δ=10 所找出的四個方向合於需求的橫截面中心點:(a) 0∘,(b)45∘,(c)90∘,(d)135∘。 (a) (b) (c) (d) 圖38.由圖 37 所找出的中心軸小段:(a) 0∘,(b)45∘,(c)90∘,(d)135∘。 如果我們將δ 值更動為 10,再重新執行論文內所敘述的分析步驟,將獲得如圖 37(a)-(d)顯示的是橫截面取樣的中心點,以及如圖 38 (a)-(d)所顯示的近似中心軸小段。 在圖 37(a)-(d)中,我們可以發現,接近腳底的位置所能夠獲得的中心點數不多。圖 37(a) 的兩腳中各僅有兩個中心點,圖 37(b)的右腳雖然有三個中心點,但是最底下的中心點 因為彼此橫截面長度差異太大(Tdcs>5),使得右腳無法擷取出近似中心軸小段,也使得在 圖 38(a)-(d)中,四個角度皆無法順利形成中心軸小段。如此將會使得在後續步驟,無法 準確的找出正確的肢體末端位置。如圖 39(a)所示,以 δ=10 找出的近似中心軸線在向外 延伸尋找末端時,將會以兩腿間的交叉處為腿部的末端點,而圖 39(b)則是以 δ=3 所得
到較為正確的結果。 此外,在圖 38(a)中我們可以發現,由於頸部未取得橫截面,屬於頭部的中心軸小 段長度超過了頸部的位置,使得原本不該相連的頭部與身軀部位卻連結起來,這也將使 得我們在選取頭部中心軸線長度時,會因為長度過長而發生誤差。圖 40 (a)-(d)顯示的是 另一種情況,在圖 40(a)(b)(d)中,雖然在頭部的附近可以截取出三個中心點,但是其所 對應的三個橫截面長度彼此相差過大,在3.2 節所提到的條件(B)不做調整的情況下,將 無法連結成近似中心軸小段,如圖 41 (a)-(d)所示。 圖39.使用不同 δ 的中心軸線找出的末端點: (a) δ=10,(b) δ=3。 (a) (b) (c) (d) 圖40.使用 δ=10 所找出的橫截面取樣中心點
圖41.使用 δ=10 所找出的中心軸小段 5.3 不同的肢體末端搜尋方式 在4-1 節中,我們利用延伸近似中心軸線兩端點的方式來尋找末端點,然而在某些 情況下所找出的末端點,可能未必符合我們的期望。如圖42(a)所示,我們可以看到在 類似於圖35 的坐下過程中,由於手部的上下兩個端點皆與人像輪廓內部直接連結,使 得由0∘掃描的近似中心軸線兩端需要延伸較長的距離才可接觸到人像邊緣處,而其所 找出的邊緣交界處也遠非我們所期望的位置,使得人像圖樣所呈現的手部末端並不恰 當,如圖42(c)所示。 一般而言,我們觀察到(i)由肢體末端附近所擷取出的橫截面長度,應較肢體與身軀 連結位置附近的橫截面長度短,並且(ii)近似中心軸線的端點與末端的距離應該不大。因 此,我們將近似中心軸線兩端點的橫截面長度也考慮進來,而在由端點延伸至邊緣的延 伸長度大於端點的橫截面長度時,考慮此兩端點的橫截面長度,並以橫截面長度較短的 端點所延伸而碰觸到的邊緣視為末端點。如圖 43 (a)所示,雖然( b e a e L L < ),但是因為 ( a cs a e L L > ),所以需要再考慮中心軸線兩端點橫截面長度。由於( a cs b cs L L < ),故選用近似 中心軸線下方端點所延伸的接觸邊緣作為末端點,圖 43(b)是人像圖樣展現的結果。相 較於圖42(b),此處之末端位置應較為合於需求。
(a) (b) 圖42.定位不佳的手部末端點: (a)近似中心軸線及其延伸線, (b) 所獲得的人像圖樣。 (a) (b) 圖43.考慮端點橫截面長度所找出的近似中心軸線及其延長線末端: (a)延伸線與橫截面長度標示, (b) 所 獲得人像圖樣。 Lea Leb Lcsa Lcsb
六、
結論
在這篇論文研究裡,我們提出了一個簡單、快速的方式來找出頭部和四肢的末端, 同時利用一些簡單的圖形來顯示人像的活動方式。雖然我們捨棄了軀幹的資料同時將焦 點盡量關注在肢體部位的末端,在不包含許多動作的細節下,仍然可以從實驗結果中發 現,由肢體末端的移動所獲得的資料,大致可以顯示出人體活動的情形。同時,因為我 們利用了簡單的人形圖樣來呈現人像活動的方式,這使得人像各肢體位置的變化將很容 易被辨識出來,也在未來的發展上,對於實現自動化的人性行為分析上,提供了新的方 向。 另外,在本篇論文所探討的內容中,除了捨棄龐大的資料運算可以加快分析的過程 外,對於監控方面的運用也有著相當的助益。一般而言,直接以攝影機來監控的傳統方 式,常使得被監控者完全暴露於畫面下,而以簡單的圖形來顯示人像的方式,對於保護 被監控者的隱私方面,提供了一個相當有效的作法。此外,這些演算法非常簡單,處理 也非常快速,而極少量的資料對於有頻寬限制的遠端傳輸及時監控系統來說,也可以減 輕負荷。 本篇論文裡所採用的人像活動呈現方式,僅採用了肢體末端與頭部的近似中心軸線 和平均橫截面長度,故在提供某些人像姿勢的辨別上仍有所不足。例如坐下的動作,並 不易從人像圖樣的呈現結果得知人像是坐下或是蹲下身軀。因此,在未來的工作上,若 能再加入其他肢體部位的探討,如四肢的近似中心軸線與軀幹連接點的位置,相信在人 像活動的呈現上,將會更加的精細完整。同時,本篇論文研究僅限於在2D 影像方面的 探討,以致於許多遮蔽現象發生時,無法更完整的呈現人像的全貌,這些都是我們在將 來可以持續研究的課題。參 考 文 獻
[1] B. Fan and Z.-F. Wang, “Pose Estimation of Human Body Based on Silhouette Images,” in Proceedings of the IEEE International Conference on Information Acquisition, pp. 296-300, 2004.
[2] M. K. H. Leung and Y.-H. Yang, “First Sight: A Human Body Outline Labeling System,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 17, No.4, pp. 359– 377, 1995.
[3] C.-C. Chen, J.-W. Hsieh, and Y.-Y. Huang, “Segmentation of Human Body Parts Using Deformable Triangulation,” in Proceedings of the IEEE 18th International Conference on Pattern Recognition, Vol. 1, pp. 355-358, 2006.
[4] C. Hu, Q. Yu, Y. Li, and S. Ma, “Extraction of Parametric Human Model for Posture Recognition Using Genetic Algorithm,” in Proceedings of the IEEE International Conference on Automatic Face and Gesture Recognition, pp. 518 – 523, 2000.
[5] S. Kim, C.-B. Park, and S.-W. Lee, “Tracking 3D Human Body Using Particle Filter in Moving Monocular Camera,” in Proceedings of the IEEE 18th International Conference on Pattern Recognition, Vol. 4, pp. 805-808, 2006.
[6] L. Wang, T. Tan, H. Ning, and W. Hu, “Silhouette Analysis-based Gait Recognition for Human Identification,” IEEE Transaction on Pattern Analysis and Machine Intelligence, Vol. 25, No. 12, pp. 1505-1518, 2003.
[7] H. Fujiyoshi and A. J. Lipton, "Real-Time Human Motion Analysis by Image
Skeletonization," in Proceedings of the 4th IEEE Workshop on Applications of Computer Vision, pp. 15-21, 1998.
[8] Y. Yuan, Z. Miao, and S. Hu, “Real-Time Human Behavior Recognition in Intelligent Environment,” in Proceeding of the IEEE 8th International Conference on Signal Processing, Vol. 3, pp. 16-20, 2006.
[9] P. Guo and Z. Miao, “Projection Histogram Based Human Posture Recognition,” in Proceedings of the IEEE the 8th International Conference on Signal Processing, Vol. 2, pp. 16-20, 2006.
Model-Free Approach for Posture Classification,” in Proceedings of IEEE International Conference on Advanced Video and Signal-Based Surveillance, Vol.1, pp. 276-281, 2005. [11] 陳宇欣,“利用紅外線影像之視覺監控”,國立交通大學,碩士論文,June 2004.
[12] J.-H. Kao, J.-H. Chuang, and T. Wang, “Chromosome Classification Based on The Band Profile Similarity along Approximate Medial Axis,” Pattern Recognition, Vol. 41, No. 1, pp. 77-89, 2008.