• 沒有找到結果。

基於影像掃描之人體姿態識別系統

N/A
N/A
Protected

Academic year: 2021

Share "基於影像掃描之人體姿態識別系統"

Copied!
76
0
0

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

全文

(1)

多媒體工程研究所

基 於 影 像 掃 描 之 人 體 姿 態 識 別 系 統

Human Posture Recognition System Based on Image

Scanning

研 究 生:黃聖中

指導教授:莊仁輝 教授

(2)

基 於 影 像 掃 描 之 人 體 姿 態 識 別 系 統

Human Posture Recognition System Based on Image Scanning

研 究 生:黃聖中 Student:Sheng-Chung Hunag

指導教授:莊仁輝 Advisor:Jen-Hui Chuang

國 立 交 通 大 學

多 媒 體 工 程 研 究 所

碩 士 論 文

A Thesis

Submitted to Institute of MultimediaEngineering College of Computer Science

National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Master

in

Computer Science

June 2009

Hsinchu, Taiwan, Republic of China

(3)

基於影像掃描之人體姿態識別系統

學生:黃聖中 指導教授:莊 仁 輝 博士

國立交通大學

多媒體工程研究所碩士班

摘 要

近年來,電腦輔助之人類行為認知應用越來越廣泛,例如行為分析可對於異 常事件(如跌倒)進行偵測與預警;姿勢分類和姿態識別則常見於人機互動,利用 不同的姿勢或姿態來表示不同的命令或是指示;活動表示則用來代表人體之活 動,同時也可以人體以卡通化之方式做一呈現。但是多數之研究常需使用昂貴之 設備,或是要求被觀測者使用較不方便的穿戴式感應器,使得成本偏高或是方便 性不足。為了改善上述情形且加上即時性及隱私性之考量,本論文利用電腦視覺 的方法,透過監視攝影機來建立一個注重隱私且具有較少資料量及運算量的簡化 人體模型(僅識別人體影像之突出部分)。本研究成果期望提供給姿勢分類或是 行為分析之研究者做更細部動作之分析。

(4)

Human Posture Recognition System Based

on Image Scanning

Student:Sheng-Chung Huang Advisor:Dr. Jen-Hui Chuang

Institute of Multimedia Engineering

National Chiao Tung University

Abstract

In recent year, computer-aided human behavior understanding becomes important in a variety of applications. For example, behavior analysis can assist the detection and warning of a falling event. Posture classification and posture estimation can be used to generate commands in human-machine interactions. Human activity representation helps animate human actions. Most research efforts use expensive devices or wearable sensors, which may increase the cost and making people uncomfortable. In this paper, we propose a surveillance system based on computer vision to establish human gesture representations which can preserve personal privacy efficiently in terms of data size and computation cost. To that end, an approach to automatic recognition of rough human posture, through identification of extruding parts of human body, is developed. The identification results can serve as a base for future research works in behavior and posture analysis which need to analyze more detailed human actions.

(5)

致 謝

首先,由衷地感謝我的指導教授莊仁輝博士,如果不是老師的辛勤指導,也 無法讓我這個不知影像處理為何物的懵懂之人,對此領域產生興趣及熱誠。也因 為有老師的教誨,才讓我可以完成此篇研究。 同時感謝三位口試委員楊谷洋教授、雷欽隆教授、賴飛羆教授,因為有三位 口試委員的意見及指教,讓我的研究更趨於完善,也讓我對電腦視覺這個領域有 更進一步的認知。 感謝實驗室的學長羅國華的指教,因為有跟學長討論才能讓我的研究進度不 致於落後太多,同時感謝實驗室的夥伴們永昌、尚一、宣良、邦展、世旻,要不 是有你們的一路扶持、一起歡笑、一起共患難,也不會造就今天的我,這兩年在 交大的回憶也因為有你們而顯得燦爛異常。也感謝我的女朋友小奴,有妳的一路 扶持,陪伴我這兩年的辛勞,有過許多歡笑及淚水更顯得彼此的珍貴。 最後要感謝的就是我的家人們,讓我在疲憊之餘有一個悠閒的避風港,因為 有你們的辛苦栽培及關愛,才會有現今的我,感謝大家。

(6)

目 錄

中文摘要...i 英文摘要...ii 致謝...iii 目錄...iv 圖目錄...v 表目錄...vii 一、緒論...1 1.1 研究動機...1 1.2 相關研究...1 1.3 論文架構...7 二、人體區域偵測...10 2.1 可見光影像人體區域擷取...10 2.2 中紅外線影像人體區域擷取...12 2.3 消除雜訊及填補人體中破碎之區域...12 三、基於掃描線演算法之肢體近似中心軸線分析...14 3.1 掃描線演算法...14 3.2 掃描線橫截面之近似中軸線段...19 3.3 標示頭及肢體之末端...21 四、基於頭、手、腳定位的姿態識別...24 4.1 整合近似中軸線段...24 4.1.1 夾角的角度容許範圍之定義及選取...28 4.1.2 兩近似中軸線段是否面積重疊之判斷...29 4.1.3 多節肢體中肢體末端之選取...32 4.2 基於肢體末端數目的頭、手、腳定位...33 4.2.1 基於5 個肢體末端條件下的作法...38 4.2.2 基於4 個肢體末端條件下的作法...39 4.2.3 基於3 個肢體末端條件下的作法...41 4.2.4 基於2、1 個肢體末端條件下的作法...44 4.3 基於頭、手、腳定位之人體模型表示...45 五、實驗結果及討論...47 六、結論及未來工作...60 參考文獻...61 附錄A、連續橫截面的中心點是否相連...63 附錄B、判斷線段是否相交...65

(7)

圖目錄

圖1-1 從人體區域中擷取水平及垂直的投影直方圖的示意圖...3 圖1-2 人體區域做三角化的示意圖...4 圖1-3 人體區域的外接矩形依高度之比例分做頭、手、腳三個區域的示意圖...5 圖1-4 依佔人體區域外接矩形的高度比例分做頭、身體、腳三個區域的示意圖....5 圖1-5 人體區域輪廓圖及輪廓和質心距離的曲線圖...6 圖1-6 系統流程圖...9 圖2-1 人體區域偵測流程圖...10 圖2-2 可見光影像經由前景偵測找出之人體區域...12 圖2-3 可見光影像經由前景偵測找出之人體區域...13 圖2-4 中紅外線影像經由前景偵測找出之人體區域...13 圖3-1 擷取肢體近似中心軸線流程圖...14 圖3-2 以四個不同方向的掃描線掃瞄人體區域後所得之橫截面,圖中每條線段各 代表一個橫截面...15 圖3-3 將圖 3-2 中寬度過短之橫截面濾除的結果...16 圖3-4 空洞造成橫截面擷取不佳的情形...17 圖3-5 掃描線演算法中的連續兩橫截面關係圖...17 圖3-6 改良掃描線演算法所得之橫截面...18 圖3-7 連續橫截面中心點連線與橫截面之垂直方向的夾角的關係圖...19 圖3-8 四個方向掃描線的近似中軸線段...20 圖3-9 移除圖 3-8 中過寬或過短的近似中軸線段...21 圖3-10 圖 3-9 右腳部份及整合後的近似中軸線段...22 圖3-11 找近似中軸線段末端方法的示意圖...22 圖3-12 四個方向掃描線可以代表肢體末端的近似中軸線段...23 圖4-1 姿態識別流程圖...24 圖4-2 頭部之橫截面分布及含末端特性的近似中軸線...25 圖4-3 足以代表頭部的所有近似中軸線段...26 圖4-4 近似中軸線段的整合…...27 圖4-5 近似中軸線段與橫截面垂直方向的夾角的關係圖...28 圖4-6 同一腳部區域之近似中軸線段...29 圖4-7 利用梯形代表肢體部位的形狀...29 圖4-8 兩梯形重疊的特殊例子...30 圖4-9 兩梯形與外接矩形之關係...32 圖4-10 多節肢體中末端選取之方式...33 圖4-11 從近似中軸線段找到頭、手、腳定位點的例子...33 圖4-12 近似中軸線段的資訊...34

(8)

圖4-13 近似中軸線段的肢體部位資訊...35 圖4-14 兩隻腳合併成一隻腳的角度大於頭部的例子...38 圖4-15 5 個肢體的識別結果...39 圖4-16 4 個肢體的識別結果...40 圖4-17 3 個肢體的識別結果...43 圖4-18 2 個肢體的識別結果...44 圖4-19 人體模型表示結果...46 圖5-1 中紅外線影像姿態識別結果...47 圖5-2 可見光影像姿態識別結果...47 圖5-3 人像走動並坐下的連續中紅外線影像及姿態識別後所產生的人體模型..48 圖5-4 人像呈大字形走動的連續可見光影像及姿態識別後所產生的人體模型..52 圖5-5 人像彎腰、蹲下及躺下的連續影像及姿態識別後所產生的人體模型...55 圖6-1 連續影像的姿態識別結果...60 圖A-1 人體腰部至腿部的局部橫截面示意圖...63 圖A-2 人體頭部至軀幹的局部橫截面示意圖...64 圖B-1 兩線段是否相交的例子...65 圖B-2 點在線段的延伸線的哪個方向...66 圖B-3 兩線段是否相交的情形...67

(9)

表目錄

表4-1 姿態識別中所使用到的參數一覽...45 表4-2 人體模型的隱密性及傳輸資料比較...46 表5-1 人像走動並坐下的連續中紅外線影像的姿態識別正確率. ...51 表5-2 人像呈大字形走動的連續可見光影像的姿態識別正確率...54 表5-3 人像彎腰、蹲下及躺下的連續影像的姿態識別正確率...58 表5-4 識別結果正確率...59 表5-5 本論文與[11]、[12]差異之比較...59

(10)

一、緒論

1.1 研究動機

近年來,人類行為認知的應用越來越廣泛,例如在行為分析方面可藉由科技 的輔助(安全監控系統、感應裝置)來偵測跌倒等異常事件,並在意外發生時發 出警報,使得醫療人員及看護的負擔得以減輕,並有效地減少醫療人力成本之浪 費,為日趨老化的社會[1]帶來極大的貢獻;姿勢分類和姿態識別則常見於人機 互動,利用不同的姿勢或姿態來表示不同的命令或是指示,例如舉手表示開冷 氣、躺著代表關燈等;活動表示則用來表示人體之活動,同時也可以將人體之活 動以卡通化之方式做一呈現,藉以保護被觀測者之隱私。 但是多數之人類行為認知的研究常需使用昂貴之設備,或是要求被觀測者使 用較不方便的穿戴式感應器,使得成本偏高或是方便性不足。同時,被觀測者通 常不希望自己的真實影像被記錄和檢視,因此需注重保護被觀測者之隱私。為了 達到成本低、保護隱私及方便性較高之需求,本論文利用電腦視覺的方法,透過 監視攝影機擷取之影像來識別各個人體肢體部位,並儲存肢體部位之形狀與角度 等資訊,藉以建立一個注重隱私且具有較少資料量及運算量之人體模型,並利用 此人體模型來分析被觀測者的狀態,期望提供給姿勢分類或是行為分析之研究者 做更深入之分析。

1.2 相關研究

在人類行為認知之相關研究中,有以下常見的主題:行為分析、姿勢分類、 姿態識別、活動表示等。行為分析[2-4]是指利用若干方法來分辨被觀測者是屬於 走路、跑步、坐下、躺下等正常行為或是跌倒、爬牆等異常行為。姿勢分類[5-7] 則是利用分類器或是若干規則來分類出被觀測者是站、坐、躺、蹲下、彎曲等姿

(11)

勢中的哪一個。姿態識別[8-10]則是偵測被觀測者的頭、手、腳等位置並標示出 來。活動表示[11-12]則是將被觀測者用模型之方式呈現,其目的在於保護被觀測 者之隱私權。 行為分析有一種方法是擷取人體特徵並利用分類器來進行分析,如[2]是先 利用背景註冊法(background registration)自圖片中切割出人體區域,再從人體 區域中擷取水平及垂直的投影直方圖(projection histogram)。得到水平及垂直的

投影直方圖後,再各自進行DFT(Discrete Fourier Transform)轉換,得到水平及

垂直的DFT 參數,之後擷取各自扣除第 1 個以外的前 20 個 DFT 參數並作正規

化,如圖1-1 為從人體區域中擷取水平及垂直的投影直方圖的示意圖,右圖是水

平方向的投影直方圖統計,下圖則是垂直方向的投影直方圖統計。接著將這 40

個參數以及人體區域之長寬比作為輸入,藉由neural fuzzy network 分類器得到站

立、彎曲、坐以及躺等四個姿勢,最後利用跌倒是在短時間內姿勢由站立變成彎 曲最後變成躺的變化規則來判斷是否有跌倒。

另一種行為分析的方法是擷取人體特徵後,再以固定規則來進行判斷。如[3]

是先將影像用 time/background frame difference 將前景分割出來後,接著利用

Bi-modal thresholding 將人體分割出來並用一個常態分布函數來代表人體,最後

計算其標準差是否大於門檻值,意即以身體寬度是否過寬來判斷是否為跌倒。[4]

的方法則是先將影像用影像相減法(frame difference)將移動區域切割出來,再

去算出它的移動並建立motion history image,接著利用背景減去法(background

subtraction)將人體區域切割出來後,將人體以一個橢圓形逼近,並得到其偏移 角度 θ 及長短軸比 ρ,藉由移動是否過大及 θ、ρ 是否變化過大,以及一段時間

內移動是否降低至門檻值以下,及 θ、ρ 變化是否趨於平緩等條件來做為是否跌

(12)

0 20 40 60 80 10 0 120 140 1 316 19 1 12 1 15 1 18 1 21 1 0 20 40 60 80 10 0 120 140 1 316 19 1 12 1 15 1 18 1 21 1 00 20 40 60 80 100 120 140 160 1 31 61 91 121 151 181 211 241 271 301 圖1-1 從人體區域中擷取水平及垂直的投影直方圖的示意圖。 姿勢分類的研究中有一種是擷取人體特徵後,再以若干判斷方式來進行分 類。如[5]則是使用背景減去法將前景切割出來後,利用侵蝕(erosion)的觀念 配合 3×3 矩陣,將人體區域以細化(thinning)的方式擷取出人體近似骨架,再 分析每個肢體部位的骨架數量及狀態來識別人體的姿勢。 姿勢分類還有一種方法是擷取人體特徵資訊與資料庫的姿勢進行比對。如[6] 是先用背景減去法將人體區域切割出來後,將人體區域做三角化並找出各個三角 形之重心,再將各個重心予以連接,取得該人體姿勢的近似骨架,如圖1-2 為一 人體區域做三角化的示意圖,其中綠色部分為三角化後的三角形,紅色點代表三 角形之重心,紅色連線代表人體近似骨架。接著使用string matching 的方式,將 該人體近似骨架與資料庫內的人體姿勢模型進行比對識別,一旦該姿勢與資料庫 內之正常行為姿勢無一吻合,即判斷該姿勢為異常行為姿勢。而[7]則是先將 RGB

(13)

色彩空間轉至AB 色彩空間後,接著用背景減去法將人體區域切割出來,再將人 體區域做垂直方向的投影直方圖,最後與資料庫內預先建立的人體姿勢作比對, 藉以分析人體的姿勢。 圖1-2 人體區域做三角化的示意圖。 姿態識別的研究中,比較常見的是利用區域分割(region splitting)的方式來 找頭、手、腳,如[8]的作法是先利用背景減去法將人體區域切割出來,接著找 到人體區域的外接矩形(bounding box),將外接矩形依照高度之比例分為三個區 域,如圖1-3 所示,最下面的 33%是腳部區域,腳部區域的上面 37%是手部區域, 最上面的20%是頭部區域。接著針對腳部區域,利用掃描線的方式尋找是否具有 FBF(foreground-background-foreground)的特性,若有即代表具有兩隻腳,若無 則代表兩隻腳合併成一隻腳,接著利用由下而上的方式找到面積佔腳部區域中前 景面積的 25%,將該面積所佔之區域的質心當做腳點,最後利用nearest point algorithm的追蹤技巧來分類兩腳。而針對手之識別,則是在手部區域中找到具有 膚色特徵即代表手,再將膚色區域以一個橢圓形逼近,取長軸與短軸的端點中位 於最下面的點當做手點,而分類兩手的方式則是使用bounding box overlapping algorithm的追蹤技巧來完成。最後在頭部區域中,利用由上而下的方式找到面積

(14)

法則是先利用W4(Who,When,Where,What)將人體區域擷取出來,接著利 用Cardboard Model將人體區域的外接矩形分成頭、身體和腳三個部份,如圖 1-4 所示,外接矩形高度為h,頭佔h/5,身體和腳各佔剩餘部份的h/2,其中身體和腳 是允許局部重疊的。接下來針對各個部份,先計算該區域的前景平均寬度來做為 頭、身體和腳的寬度,並計算其逼近橢圓的主軸來判定頭、身體和腳的呈現方向。 而手則是經由身體定位後,找到連接身體但在身體外側的部份即代表手。最後追 蹤各個部份來使其識別更加準確。 圖1-3 人體區域的外接矩形依高度之比例分做頭、手、腳三個區域的示意圖。 圖1-4 依佔人體區域外接矩形的高度比例分做頭、身體、腳三個區域的示意圖。

(15)

姿態識別的研究中還有一種是利用頭、手和腳在人體中較為顯著的特性來做 識別的,如[10]的作法是先使用影像相減法來擷取人體區域並更新背景模型,當 背景模型經過一段時間可供參考時,就使用背景註冊法來擷取人體區域。接著計 算人體區域之質心與人體區域的輪廓各點的距離形成一條曲線,擷取此曲線中的 區域最大值來當作特徵點並計算該夾角,藉此進一步分析頭、手和腳。如圖1-5, 左圖為人體區域之輪廓圖,五個框起來的點是右邊曲線圖中找到之區域最大值, 右上角的數字代表該點夾角,右圖則是計算人體區域之質心與人體區域的輪廓各 點的距離形成的曲線圖,紅點代表曲線中的區域最大值。接著將人體區域以一個 橢圓逼近,並擷取長、短軸,從短軸上半部找度數在50°到 150°之間的夾角,如 果只有一個那就是頭,如果有兩個以上,則找距離長軸端點最近的當作頭,如果 沒有一個符合,就將最靠近長軸端點的膚色區域當作頭,如果連膚色區域都沒 有,那就用長軸端點當作頭。接下來從短軸下半部開始找夾角度數在 100°以下 的,如果有兩個以下那就是腳,如果超過兩個,就將距離頭最遠的兩個當作腳, 如果沒有任何一個符合,就將長軸的端點當作腳。最後從短軸端點兩側找度數在 100°以下的夾角,如果有兩個以下那就是手,如果超過兩個,就將距離短軸端點 最近的兩個當作手,如果沒有任何一個符合,則選擇最靠近短軸端點的膚色區域 當作手,如果連膚色區域都沒有,那就用短軸兩端點當作手。 圖1-5 人體區域輪廓圖及輪廓和質心距離的曲線圖(擷取自[10])。

(16)

活動表示之研究中,[11]的作法是先將輸入之紅外線影像,用 thresholding 及等高線演算法擷取出人體區域,再利用0°、45°、90°和 135°的掃描線來擷取 橫截面,接著利用適當的規則來連接橫截面之中心點,得到該肢體或軀幹的近似 中軸線段。在排除過小或過寬之近似中軸線段後,將四個方向的近似中軸線段做 整合,得到表示肢體及軀幹的若干個最佳的近似中軸線段,接著選出代表肢體末 端的近似中軸線段。最後將代表肢體末端的近似中軸線段利用若干規則找出頭、 手、腳,並利用橢圓及平行四邊形代表頭、手、腳來表示人體模型。而[12]的作 法與[11]類似,不過輸入來源是可見光影像,因此它使用高斯混合模型(Gaussian mixture models, GMM)來擷取人體區域。[12]與[11]最大的差異是從四個方向的 近似中軸線段做整合這個階段開始,[11]的方式是挑出代表該肢體或軀幹的一個 最佳之近似中軸線段,而[12]則是考慮到手、腳有關節存在,無法單純只由一個 近似中軸線段來代表,於是允許局部重疊的情況。[12]接著找出代表末端之近似 中軸線段,省略了[11]的頭、手、腳規則判斷,直接用梯形代表肢體並建立人體 模型。

1.3 論文架構

針對上述行為分析或姿勢分類之研究,我們可以發現他們都無法分析像揮 手、抬腳、投擲、拾物等較為局部之動作,原因在於他們缺少了頭、手、腳等的 位置資訊。因此,本論文旨在由人體影像分析完成姿態識別,期望提供給姿勢分 類或是行為分析之研究者做更細部動作之分析。據此,本論文首先將[11]、[12] 的研究成果做一整合,並提出新的演算法加以改良,再加以延伸至[11]、[12]所 沒有做到的頭手腳定位,期望藉由人體模型的肢體位置與關係來做為姿態識別之 依據。圖1-6 為本論文的系統流程圖,一開始利用前背景分離及雜訊濾除等技巧 來擷取人體區域,這部份將在第二章做詳細的介紹。接著以[13]的近似中軸線概 念為基礎,將原先四個方向的掃描線演算法作優化來得到橫截面,並利用更嚴謹

(17)

之規則來得到該肢體或軀幹的近似中軸線段。與[11]、[12]做完整合後才找末端 不同,我們在這裡就先找出有可能是肢體末端的近似中軸線段,所以我們提出一 個有別與[11]、[12]的找末端演算法,詳細的做法會在第三章做介紹。由於我們 在上一步驟就可以得到肢體末端的近似中軸線段,所以我們提出新的整合方式來 產生人體模型,並且從觀察及實驗中得知一些可作為姿態識別之規則,利用這些 規則配合人體模型做更進一步的延伸來區別頭、手、腳,第四章會將這些做一個 完整的呈現。第五章是本論文的實驗結果及討論。第六章則是為本論文做一結論 及探討未來工作。

(18)

前景背景分割 雜訊濾除 輸入影像 擷取橫截面 標示肢體末端 整合近似中心軸線段 頭、手、腳定位 人體姿態模型 產生近似中心軸線段 人體區域偵測 擷取近似中心軸線段 人體姿態識別 圖1-6 系統流程圖。

(19)

二、人體區域偵測

為了能夠對人體區域進行肢體及姿態分析,本論文首先需將人體區域從背景 影像中分離出來。因為可見光影像的像素值表示的是顏色,而中紅外線影像的像 素值所代表的是溫度,所以必須針對兩者的特性分別設計出適合的前背景分割 法。所以本章節旨在敘述針對不同特性之輸入影像,使用適合之前背景分割法來 擷取人體區域,並將雜訊予以濾除。詳細流程圖請參考圖2-1,接下來本論文會 區域偵測流程圖。 使用背景減去法(background subtraction)來擷取人 ,此方法的特點在於運算速度較快,且可適應光影變化問題,較適用於室 : (1) 其絕對值小於門檻值TBG即是背景,否則將之歸類為前景。 在各個小節將每個步驟做逐一介紹。 輸入影像 前景背景分割 雜訊濾除 人體區域 圖2-1 人體

2.1 可見光影像人體區域擷取

針對可見光影像本論文 體區域 內環境。其主要步驟如下 將擷取來的第一張影像當作背景模型。 (2) 對每一張新進影像的每一個像素的強度分別和背景模型中同位置的像素強 度相減,若

(20)

(3) 若一個像素在步驟(2) 模型。 其中 代表新進來的影像時間, 代表背景模型的強度, 代表新進影像的強度, 而 代表給定之學習速率,代表新進來的像素佔多大的比重。若 ,則不論新 進影像之像素為前景或是背景都不會更新背景模型的資訊,也就是將第一張影像 視為背景模型後則永遠不再更新。若α=1,則代表直接取代舊有的模型資訊,也 ,本論文將 BG 設為 , 設為 。 圖 為一可見光影像,圖 是圖 做完背景減去法的前背景分 割圖 從圖中可以清楚地看到由於影子的關係,造成腳的下方有連接成一塊的情 形,此情形會增加我們後面分析之難度。為了消除影子所造成的影響,本論文參 4]的作法,將 RGB 色彩空間轉至 HSV 色彩空間,並用下列條件判斷是否為 影子,如果下列條件均成立就被判定為影子。 被判斷是背景,則利用式子(2-1)更新該像素位置的背 景 t μ I α α=0 1 I (1 ) (2-1) t t t μ α= + −α μ 就是將最新一張影像視為背景模型更新的唯一來源。經過多次實驗 T 20 α 0.025 2-2(a) 2-2(b) 2-2(a) , 考[1 V V ( , ) ( , ) P x y B x y α ≤ ≤ β (a) S S (b) S (c) ( , ) ( , ) P x yB x yT ( , ) ( , ) H H H P x yB x yT P H(x, y) P S(x, y) P V(x, y) (x, y) HSVB H( 其中 、 、 分別為現在影像座標 的 強度值 x, y)、 、 則分別為背景模型座標 的 強度值, 、 、 HS是手 動指定之門檻值,本論文經由實驗設定其值分別為 、 、 和 。 圖 是將圖 做消除影子後的結果,我們可以清楚地看到原本腳下 面因為影子的關係而連在一起的部份,得以正確地被分開。為了加快運算速度, 本系統只針對背景減去法後被判斷成是前景的像素作消除影子的動作。 B S(x, y) B V(x, y) (x, y) HSV α β T T 0.45 1.0 32 32 2-2(c) 2-2(b)

(21)

(a) (b) (c) 圖2-2 可見光影像經由前景偵測找出之人體區域:(a) 原始影像,(b) 經背景減去法後得到之前 景影像,(c) 經過消除影子後之前景影像。

2.2 中紅外線影像人體區域擷取

在[15]的研究中提到,作者經由實驗發現,中紅外線影像中若屬於同一物體 的相鄰區域,則其溫度數值會非常接近。所以一個簡單擷取中紅外線影像中人體 區域的方法就是直接利用式子(2-2)對中紅外線影像做二值化 1, ( , ) ( , ) (2-2) 0, temp if f x y T g x y otherwise > ⎧ = ⎨ ⎩

其中f (x, y)代表中紅外線原始影像中座標(x, y)的溫度值,Ttemp是門檻值,本論文

經由實驗設定其值為 2980,式子(2-2)的目的是將中紅外線影像中屬於較高溫部 分的人體區域給偵測出來。

2.3 消除雜訊及填補人體中破碎之區域

由於在 2.1 節及 2.2 節中所擷取出之人體區域會有雜訊及破碎的情形發生, 如圖2-3(a)和 2-4(a)分別為輸入之可見光影像及中紅外線影像,圖 2-3(b)和 2-4(b) 為使用2.1 節及 2.2 節中提及的人體區域擷取方法所得到的前景影像,我們可以 看到圖2-3(b)和 2-4(b)中都有一些雜訊及破碎之情形。所以我們使用連通元件標

記法(connected component labeling)來區分不同區域並計算其區域大小面積, 將面積過小的區域予以濾除,並利用型態學上的技巧:侵蝕(erosion)以及擴散

(22)

(dilation)來消除剩餘之雜訊及填補人體中破碎之區域。由圖 2-3(c)和 2-4(c)可 以清楚地看到,原本在圖2-3(b)和 2-4(b)存在的細碎區域及空洞都可以被濾除或 是填滿。 (a) (b) (c) 圖2-3 可見光影像經由前景偵測找出之人體區域:(a) 原始影像,(b) 經背景減去法及消除影子 後得到之前景影像,(c) 濾除過小面積及透過侵蝕、擴散後之前景影像。 (a) (b) (c) 圖2-4 中紅外線影像經由前景偵測找出之人體區域:(a) 原始影像,(b) 經取門檻值後得到之前 景影像,(c) 濾除過小面積及透過侵蝕、擴散後之前景影像。

(23)

三、基於掃描線演算法之肢體近似中心

軸線分析

本章節是利用[11]、[12]的概念來擷取肢體的近似中心軸線。首先我們將第 二章中所得到的人體區域,利用四個方向以及固定間隔的掃描線方法來掃描前景 物以得到橫截面,並將過短的橫截面剔除,再利用3.2 節的規則來建立近似中軸 線段,並找出有可能是肢體末端之近似中軸線段以擷取建立模型所需之資訊。詳 細流程圖請參考圖3-1,接下來我們會在各個小節將每個步驟做逐一介紹。 人體區域 近似中心軸線段 擷取橫截面 產生近似中心軸線段 標示肢體末端 圖3-1 擷取肢體近似中心軸線流程圖。

3.1 掃描線演算法

在找出肢體的近似中心軸線過程中,首先參考[13]的作法,以四種不同的方 向來掃描人體區域,分別是0°、45°、90°和 135°,藉此擷取人體區域之橫截面。 掃描線與掃描線之間隔以參數δ表示,δ愈小,則產生之肢體模型會更接近影像中 的人體區域,但也會造成計算量提高及產生肢體模型時所需參考的資訊量變大。

(24)

在本論文中,我們假設肢體橫截面有一定的寬度,故將寬度過短的橫截面視為雜 訊予以刪除,不考慮這些寬度過短的橫截面。經過數次實驗後,我們發現δ設定3 以及最小橫截面寬度的門檻值TCS設定為5 是較合適的選擇。圖 3-2 顯示了 設定δ=3 以及利用四個方向的掃描線掃描前景物所得到的橫截面,紅色的圈代表 寬度過短之橫截面。圖3-3 則是將圖 3-2 中寬度過短之橫截面刪除後的結果,紅 色的圈代表已刪除的寬度過短之橫截面。 (a) (b) (c) (d) 圖3-2 以四個不同方向的掃描線掃瞄人體區域後所得之橫截面,圖中每條線段各代表一個橫截 面:(a) 0°,(b) 45°,(c) 90°,(d) 135°。

(25)

(a) (b) (c) (d) 圖 3-3 將圖 3-2 中寬度過短之橫截面濾除的結果:(a) 0°,(b) 45°,(c) 90°,(d) 135°。 在研究[11]、[12]中,都是先利用掃描線演算法擷取人體區域之橫截面,再 將寬度過短的橫截面視為雜訊予以剔除。本論文為了加快運算速度,提出一個新 的掃描線演算法,可於擷取橫截面時一併將過短的橫截面予以濾除,同時考慮到 因為背景減去法所擷取的前景不佳產生過小之空洞,造成後面分析困難,如圖 3-4(a)為一前景影像,紅色所圈的空洞造成了圖 3-4(b)和(c)的橫截面不連續,這 有可能會造成我們後面分析找出來的手位置不對或是變成有兩隻手,所以必須將 這種過小的空洞給補起來。

(26)

(a) (b) (c) 圖3-4 空洞造成橫截面擷取不佳的情形:(a) 前景圖,(b) 90°濾除寬度過短之橫截面圖, (c) 135°濾除寬度過短之橫截面圖。 如圖 3-5 所示,掃描線演算法的做法如下: (1) 令掃描線的第一個橫截面的起點座標為 A,終點座標為 B。 (2) 找到沿著掃描方向的下一個橫截面,令其起點座標為 A',終點座標為B'。 (3) 判斷A'跟B的距離是否小於Tnoise,如果是即代表中間的空洞過小需要補滿, 因此我們將B'紀錄為B並跳至步驟(2)繼續判斷。如果不是即表示這個空洞過 大不屬於雜訊,跳至步驟(4)判斷橫截面AB是否過短予以刪除。其中門檻值 Tnoise代表其值多小視為空洞,本論文經由實驗設定其值為3。 (4) 判斷橫截面AB的距離是否小於TCS,如果是則視為雜訊不予以輸出,如果不 是則表示非雜訊予以輸出,並將A'紀錄為A,B'紀錄為B,並跳至步驟(2)繼 續判斷。 圖3-5 掃描線演算法中的連續兩橫截面關係圖。

(27)

圖 3-6(a)、(d)顯示了 90°和 135°原來的橫截面圖,綠色的圈指的是寬度過短 的橫截面,紅色的圈代表的是會造成後面分析誤判之空洞。圖3-6(b)、(e)是經由 [11]、[12]的掃描線演算法處理後之橫截面圖。圖 3-6(c)、(f)則是經過本論文的掃 描線演算法處理後之橫截面圖。我們可以清楚地看到[11]、[12]的掃描線演算法 雖然可以濾除寬度過短的橫截面(綠色的圈),但卻無法將會造成後面分析誤判 之空洞(紅色的圈)補滿。而本論文的掃描線演算法不僅可以消除掉雜訊(綠色 的圈),更可以進一步地將會造成後面分析誤判之空洞(紅色的圈)補滿。 (a) (b) (c) (d) (e) (f) 圖3-6 改良掃描線演算法所得之橫截面:(a) 90°所有橫截面,(b) 濾除(a)中寬度過短之橫截面, (c) 濾除(a)中寬度過短之橫截面且補滿過小之空洞,(d) 135°所有橫截面,(e) 濾除(d)中寬 度過短之橫截面,(f) 濾除(d)中寬度過短之橫截面且補滿過小之空洞。

(28)

3.2 掃描線橫截面之近似中軸線段

由 [11]、[12]的研究可得知,橫截面中心點所連接而成的近似中軸線段可代 表局部肢體的特徵,所以本章節旨在敘述利用上一節所找出的掃描線橫截面來建 立近似中軸線段。由於這個部份的分析是引用[11]、[12]的研究成果,所以詳細 的證明及推導過程本論文在此不多加冗述,有興趣的讀者可參考[11]、[12]的研 究或是詳見附錄 A。[11]、[12]提出,決定兩個連續掃描線的中心點是否相連, 所考慮的條件為: (a) 兩中心點連線 Q 與橫截面之垂直方向 R 的夾角θ是否小於等於 45°。 (b) 兩相鄰橫截面的長度差值是否小於等於 5。 一旦符合上述兩個條件,即將該橫截面視為同肢體的一部份並將中心點相連,如 此我們便可獲得許多近似中軸線段。圖3-7 為兩連續橫截面中心點連線與橫截面 之垂直方向的夾角的關係圖,其中紅點為橫截面之中心點,兩中心點連線為Q, 橫截面之垂直方向為R,θ為 Q 和 R 的夾角。 圖3-7 連續橫截面中心點連線與橫截面之垂直方向的夾角的關係圖。 [11]、[12]提出,由於人的肢體部份具有一定長度且不太可能是呈現過寬或 過扁的形狀,如圖3-8 所示,藍線代表四個方向的掃描線,黑線表示找出來的近 似中軸線段,紅色圓圈代表的即是過寬或過扁的形狀,我們可以清楚地看到它們 並不適合代表人的肢體。

(29)

(a) (b) (c) (d) 圖3-8 四個方向掃描線的近似中軸線段:(a) 0°,(b) 45°,(c) 90°,(d) 135°。 因此[11]、[12]進一步地利用下列條件來過濾較不合適的中心軸線段: (a)該中心軸線段是否由三個以上的橫截面所構成。 (b)中心軸線段的平均橫截面寬度是否小於等於該中心軸線段之長度。 圖3-9 是移除圖 3-8 中過寬或過扁的近似中軸線段後的圖,由圖中我們可以清楚 地看到,經過上述的條件的過濾後,我們可以獲得較適合代表肢體的近似中軸線 段。

(30)

(a) (b) (c) (d) 圖3-9 移除圖 3-8 中過寬或過短的近似中軸線段:(a) 0°,(b) 45°,(c) 90°,(d) 135°。

3.3 標示頭及肢體之末端

接下來,不同於[11]、[12]的做法,我們在此階段先不進行四個方向掃描線 的整合,而是先找出有可能是肢體末端的近似中心軸線段。這是由於若先進行整 合的話,原先代表肢體末端之近似中軸線段有可能因為長度或角度不佳而遭到取 代,使得代表肢體末端的近似中軸線段變少或不見,會更進一步造成我們所建立 出來的人體模型不符合該人物的真實姿態。如圖 3-10 為圖 3-9 中取右腳部份,

(31)

選取角度較佳的做為代表該部份之近似中軸線段,圖 3-10(d)中可以清楚地看 到,因為圖 3-10(a)的角度較佳而被選取,但是它卻不具有末端特性(稍待會詳述 何謂末端特性),這會造成我們找不到右腳。 (a) (b) (c) (d) 圖3-10 圖 3-9 右腳部份及整合後的近似中軸線段:(a) 0°,(b) 45°,(c) 135°,(d) 整合後。 由圖 3-9 中我們可清楚地看出,可以代表肢體末端的近似中軸線段,其橫截 面的分布必定會出現由無到有(綠色箭頭)或者由有到無(紅色箭頭)的情形。 因此,我們根據這個末端特性來判斷近似中軸線段的起始(終止)橫截面,其行 進方向上(下)一段掃描線的相對位置不應存在橫截面。如圖3-11,L1為近似中 軸線段的起始橫截面,L’1L1在行進方向上一段掃描線上的相對位置,L2為近似 中軸線段的終止橫截面,L’2L2在行進方向下一段掃描線上的相對位置。我們可 以清楚地看到,在L’1上並不存在任何橫截面,因此我們可以說L1的中心點足以代 表肢體末端,反之在L’2上存在一橫截面,因此L2的中心點不足以代表肢體末端。 圖 3-12 為圖 3-9 經過找末端方式後所得到的肢體末端圖,水藍色的點即代表具 有末端特性的肢體末端,我們稱其為末端特徵。 圖3-11 找近似中軸線段末端方法的示意圖。

(32)

(a) (b)

(c) (d)

(33)

四、基於頭、手、腳定位的姿態識別

為了得到人體肢體之活動表示並進行姿態識別,因此本章節首先將第三章中 所得到的四個方向的近似中軸線段做整合,選出最適合表示該肢體形狀之近似中 軸線段,並找出具有末端特徵的肢體,接著利用4.2 節的規則對其肢體進行頭、 手、腳之定位。為了便於觀察,我們利用一人體模型來顯示姿態識別後的結果, 這方面將於 4.3 節作介紹。詳細流程圖請參考圖 4-1,接下來我們會在各個小節 對於每個步驟做逐一介紹。 人體姿態模型 近似中心軸線段 整合近似中心軸線段 頭、手、腳定位 圖4-1 姿態識別流程圖。

4.1 整合近似中軸線段

為了提供一人體模型來進行姿態識別,我們必須將第三章中所得到的四個方 向的近似中軸線段整合成一個人體模型骨架。首先,我們利用第三章所得到的末 端資訊來幫助我們做不同肢體之分類,之所以不直接利用末端做整合是因為擁有 末端特徵並不代表其形狀就足以代表某一肢體之末端。如圖4-2 為頭部之橫截面 分布(藍線)及含末端特徵(水藍色點)的近似中軸線段(黑線),90°方向掃描 線因為沒有頭部之近似中軸線段,所以此處不予列出,由圖中我們可以看出,如

(34)

果我們直接選擇利用末端特徵來進行整合,則代表頭部的近似中軸線段不是45° 方向(圖4-2(b))就是 135°方向(圖 4-2(c)),可是實際上選擇0°方向(圖 4-2(a)) 才是最接近頭部形狀及走向的近似中軸線段,因此末端特徵不適用於直接做整 合。同樣地,如果選取圖4-2(a)代表頭部,會因為它不具有末端特徵,使得我們 找不到頭部之定位點,所以我們必須利用圖 4-2(b)和 4-2(c)的末端特徵來輔助圖 4-2(a),輔助的方式會在稍後的部分提到。 (a) (b) (c) 圖4-2 頭部之橫截面分布及含末端特性的近似中軸線:(a) 0°,(b) 45°,(c) 135°。 當我們在整合頭部的近似中軸線段時,很顯然地我們並不會考慮到手的近似 中軸線段,因為頭和手是屬於不同的肢體。因此,我們首先須將所有的近似中軸 線段分類成對應於不同肢體部位的集合。例如我們最後分類成 5 個集合,這 5 個集合可能代表的是頭、兩隻手和兩隻腳。而未屬於任一集合中的近似中軸線段 意即無法代表肢體末端,一般來說就是軀幹部份。所以我們挑選所有具有末端特 徵的近似中軸線段,對其所對應的每一條近似中軸線段做下列條件之判斷: (a) 起始或是終止橫截面的中心點與該末端距離小於Ttip。 (b) (a)找到的中心點與該末端的連線中沒有連出去到背景。 其中,本論文經由實驗設定Ttip為 20。我們將符合上述兩個條件的近似中軸線段 歸類後,便表示同一集合內的近似中軸線段皆足以代表某一肢體。如圖4-3,黑 色部分是背景,白色部分是前景,紅線、藍線和綠線分別是0°、45°和 135°掃描 線所獲得的近似中軸線段,水藍色點代表末端特徵,由圖中我們可以清楚地看到 藍線的末端特徵點和紅線的起點A及綠線的末端特徵點的距離夠近,且點的連線

(35)

中沒有連出去到背景,所以我們可以知道這三條近似中軸線段都是可以代表某一 肢體的,因此就會將這三條近似中軸線段歸類在同一集合內。 圖4-3 足以代表頭部的所有近似中軸線段。 接著,我們對於每個集合,挑選出一個最適合代表該肢體末端部位的近似中 軸線段,挑選步驟如下: 一、將集合中近似中軸線段和橫截面垂直方向的夾角最小的挑選出來,以其夾角 作為考量的原因是當夾角越小越能代表該近似中軸線段越貼近肢體的走向。 二、再從最小的夾角角度的容許範圍內,挑選長度最長的近似中軸線段,如果該 近似中軸線段沒有末端特徵,則我們在最接近末端的起始或終止橫截面中心 點上添加末端特徵。如圖4-3,假設我們選取到紅線所代表的近似中軸線段, 因為其不具有末端特徵,因此我們找到距離藍線或綠線所代表的近似中軸線 段的末端特徵中最接近的點A 當作紅線的末端特徵。 三、將找到的最長的近似中軸線段跟集合中每個近似中軸線段做面積重疊的比 較,將有重疊的近似中軸線段予以濾除,如果集合中還有近似中軸線段存 在,則回到步驟(1)繼續判斷。 四、如果找到的近似中軸線段只有一條,則用該近似中軸線段代表那一肢體末端 部位。如果找到的近似中軸線段不只一條,即代表該肢體屬於多節肢體,此 時我們挑選出最適合的近似中軸線段來代表肢體末端部位。 以上為我們挑選肢體末端的主要步驟,步驟二~四的詳細做法我們將於接下來的 段落做介紹。如圖4-4(a)、4-4 (b)、4-4 (c)、和 4-4 (d)分別代表 0°、45°、90°和

(36)

135°的橫截面分布及近似中軸線段,圖 4-4(e)則是由這四個角度作整合後的近似 中軸線圖,圖中的標記代表著該近似中軸線段是由哪個角度所獲得的,如圖4-4(e) 中標記 C 的近似中軸線段就是從 0°方向(圖 4-4(a))所獲得的。為了不要每次 都標記像圖4-4 的關係圖,所以之後我們都像圖 4-4(e)所示,在非末端特徵點畫 出橫截面來示意該近似中軸線是從哪個方向所獲得的。 (a) (b) (c) (d) (e) 圖4-4 近似中軸線段的整合:(a) 0°,(b) 45°,(c) 90°,(d) 135°,(e) 整合結果。

(37)

4.1.1 夾角的角度容許範圍之定義及選取

在步驟二中,因為我們考慮到同時使用近似中軸線段和橫截面垂直方向的夾 角,以及其長度來做為我們挑選最適合表示肢體末端的依據,因此在我們找出夾 角最小的近似中軸線段後,再從最小的夾角角度的容許範圍中,挑選長度最長的 近似中軸線段。如圖4-5 為一近似中軸線段(以下用 Q 代表)與橫截面垂直方向 (以下用R 代表)的夾角(以下用θ代表)。 圖4-5 近似中軸線段與橫截面垂直方向的夾角的關係圖。 從 3.2 節的連接兩連續橫截面中心點其夾角必須在 45°以內的條件,我們可 以知道θ最大會是45°,也就是說θ的範圍會在 0°~45°。同時,由附錄 A 之討 論,我們可以知道θ在22.5°內表示 Q 的走向用 R 代表是最佳的。因此,我們將 角度分為25°(最好)、30°(好)、35°(普通)、40°(不好)和 45°(最不好) 這五種等級。0°~25°、25°~30°、30°~35°、35°~40°、40°~45°分別屬於 25°、30 °、35°、40°、45°這一類。而角度的容許範圍就是比目前等級次一級的我們也加 入長度的考慮,如圖4-6 為腳部近似中軸線段,其中近似中軸線段的顏色表示的 就是角度目前等級,黑色表示25°(最好),紅色表示 30°(好),綠色表示 35° (普通),藍色表示40°(不好),紫紅色表示 45°(最不好),之後的圖示只要沒 有特別提及,則近似中軸線段的顏色代表的就是θ的等級。在圖4-6 中我們選到 的θ等級會是25°(最好),同時我們會將次一等級,也就是 30°(好)也一併納 入長度之選取,也就是黑線跟紅線都會拿來做長度之選取,最後我們會選取到最 長的紅線來代表腳。

(38)

(a) (b) 圖4-6 同一腳部區域之近似中軸線段:(a) 0°,(b) 135°。

4.1.2 兩近似中軸線段是否面積重疊之判斷

在步驟三中,我們為了將在同一肢體部位的近似中軸線斷集合中跟選取到的 近似中軸線段有交集的部分去掉,所以我們必須進行面積是否重疊之判斷。由於 近似中軸線段代表的其實是該肢體部位的骨架,為了呈現近似該肢體部位的形 狀,於是我們將近中軸線段兩端的橫截面當作梯形的上、下底,利用此梯形模型 來代表肢體部位的形狀。如圖4-7 所示,綠線代表兩端的橫截面,也就是梯形上 下底,紅線則是連接上下底的端點,也就是梯形的側邊。 圖4-7 利用梯形代表肢體部位的形狀。 為了判斷兩梯形面積是否有重疊,[12]的作法是藉由判斷兩梯形的四個邊及 一條對角線是否有相交,來判斷梯形是否重疊。此方法的優點是速度較快,但是 卻無法排除有較大的梯形包住較小的梯形或是只有一點或是一邊重疊的情況。因 此,本論文對此方法做一修改,令其能將上述情形也加以排除。由於前面部分是 引用[12]的作法來判斷線段是否相交,在此就不多加冗述,有興趣的讀者可參考 附錄B。接下來我們便延伸線段是否相交的判斷方式來進行兩梯形是否重疊的判 斷,其做法如下:

(39)

(1) 將兩梯形的邊,兩兩做線段是否相交的判斷,只要有兩個線段有相交,即代 表兩梯形有重疊。如果將所有的邊都做完線段是否相交的判斷後都沒有任兩 個線段相交,並不表示兩梯形不重疊,因為像是圖4-8(a)這種大的梯形包小 的梯形,或是圖 4-8(b)和 4-8(c)這種一點或一線重疊都會出現這種情形,則 接下來跳至步驟(2)做進一步地判斷。 (2) 我們利用CCW之方法來判斷點是否在一梯形中,如圖 4-8,針對一梯形T1的 四個端點A1BB1C1D1以及另一梯形T2A2B2B 、C2D2A2C2BB2D2這兩組 對邊和T2的四個端點A2B2B 、C2D2以及T1A1BB1C1D1A1C1B1B D1這兩 組對邊進行CCW之判斷。首先,針對一端點A1對一組對邊A2BB2C2D2做CCW 之判斷,如果A1A2B2B、C2D2的同一方向,代表A1不在T2的內部,如圖4-8(b), 則進行別的端點之判斷。如果A1A2BB2C2D2的相異方向,如圖4-8(a),或 是A1A2B2B 或C2D2的延伸線上,如圖 4-8(c),則換做A1跟另一組對邊A2C2BB2D2做CCW之判斷,如果A1A2C2B2B D2的同一方向,代表A1不在T2的內部, 則進行別的端點之判斷。如果A1A2C2BB2D2的相異方向,如圖 4-8(a)、 4-8(c),或是A1A2C2B2B D2的延伸線上,則代表此點在這個梯形內部或是 邊上。 (3) 在做完所有點跟對邊的 CCW 判斷後,如果都沒有一點是在梯形內部或是邊 上,即代表這兩個梯形沒有重疊。 (a) (b) (c) 圖4-8 兩梯形重疊的特殊例子:(a) 大包小,(b) 一點重疊,(c) 一線重疊。

(40)

經過上面的步驟後,我們就可以知道兩梯形是否有重疊,然而我們也可清楚 地知道如果梯形沒有重疊,就必須做4×4=16 次的線段比較以及 8 次點是否在梯 形內部的判斷,而1 次的線段比較需要 4 次的 CCW 運算,1 次點是否在梯形內 部的判斷也需要4 次的 CCW 運算,所以共需要 96 次的 CCW 運算才能確定兩梯 形沒有重疊,加上經過我們觀察兩梯形不重疊的機率大於重疊的機率,因此在做 上述步驟之前我們先利用下列簡單的方式做篩檢,以減少判斷兩梯形沒有重疊所 花的計算時間: (1) 將欲判斷是否重疊之兩梯形,找到各自的外接矩形(bounding box),令其中 一外接矩形的端點為(P1, P2)、(P3, P4),另一外接矩形的端點為(P5, P6)、 (P7, P8)。 (2) 如果|P1-P7|小於等於(|P1-P3|+|P-P7|)且|P2-P8|小於等於 (|P2-P4|+|P6-P8|),則代表兩梯形有可能重疊,繼續做CCW之判斷。 如果條件不符,即代表兩梯形絕不可能重疊。 如圖4-9(a)呈現的是兩個梯形(T1、T2)沒有重疊其外接矩形(綠色虛線)也沒 有重疊,圖4-9(b)呈現的是兩個梯形(T1、T2)有重疊其外接矩形(綠色虛線) 也有重疊,圖4-9(c)中雖然兩個梯形(T1、T2)沒有重疊但是外接矩形(綠色虛 線)卻有重疊。因此,此方法雖然可以減少沒有重疊的梯形的計算時間,但同時 會增加有重疊的梯形的計算時間。本論文經過統計加入此方法可有效減少 10% 計算梯形是否重疊的時間。

(41)

(a) (b) (c) 圖4-9 兩梯形與外接矩形之關係:(a) 梯形與外接矩形皆不重疊,(b) 梯形與外接矩形皆重疊, (c) 梯形不重疊但外接矩形卻重疊。

4.1.3 多節肢體中肢體末端之選取

在步驟四中,如果我們只是選一個較佳的近似中軸線段來代表肢體末端,這 有可能造成選到的近似中軸線段的末端特徵離該肢體的真實末端過於遙遠的窘 境。如圖 4-10(a)為一尚未經過步驟四所判斷的人體模型骨架,我們可以清楚地 看到,右邊手部(藍色圈)存在一多節肢體的情形,如果我們只是選擇一個較佳 的近似中軸線段來表示此手部,則選到的人體模型表示如圖 4-10(b)所示,這是 因為黑色的角度及長度都比紅色的來的較好,可是考慮到為了呈現真實肢體末 端,應該是選擇紅色的來代表手部肢體較為恰當,因為其末端特徵離手部真實的 末端較近。因此,本論文利用末端特徵到另一近似中軸線段的非末端特徵的橫截 面中點的距離來選取適當的肢體末端,如圖 4-10(a)的黑色的末端特徵 A 到紅色 非末端特徵B’的距離小於紅色的末端特徵 A’到黑色非末端特徵 B 的距離,也就AB’小於 A’B。因此,我們可以斷定紅色是屬於多節肢體中較為外側的,較適 合表示肢體末端部位,如圖4-10(c)。

(42)

(a) (b) (c) 圖4-10 多節肢體中末端選取之方式:(a) 都選取,(b) 只選取角度及長度較佳的,(c) 只選取多 節表示中與外側較接近的。

4.2 基於肢體末端數目的頭、手、腳定位

接下來我們將介紹[11]、[12]所沒有做到的頭、手、腳定位。經過上述的處 理後,我們可以得到足以代表人體模型骨架的近似中軸線段及其末端特徵。經由 觀察我們發現這些末端特徵都足以當作頭、手、腳的定位點,如圖 4-11 為處理 後所獲得的近似中軸線段,我們會認為 1 代表頭部定位點,2、3 代表手部定位 點,4、5 代表腳部定位點。基於以上的觀察,這節的主要目的就是將上一節所 得到的近似中軸線段做進一步地識別,判斷該近似中軸線是代表哪個肢體部位。 (a) (b) (c) 圖4-11 從近似中軸線段找到頭、手、腳定位點的例子:(a) 例子 1,(b) 例子 2,(c) 例子 3。

(43)

為了識別出近似中軸線段所代表的肢體部位是頭、手還是腳,我們利用近 似中軸線的一些資訊來進行判斷。如圖 4-12 所示,近似中軸線段所擁有的資訊 有: (a) 角度:連接末端特徵點及非末端特徵的橫截面起點與終點來計算其夾角, 如圖 4-12 藍色部分所示。 (b) 長度:末端特徵點到非末端特徵的橫截面中點的距離,如圖 4-12 紅色部分 所示。 (c) 寬度:末端特徵點和非末端特徵的橫截面平均寬度,如圖 4-12 綠色部分所 示的寬度平均。 (d) 長寬比:末端特徵到非末端特徵的橫截面的垂直距離及寬度的比例,如 圖4-12 紫紅色部分所示的垂直距離長度除以寬度平均。 圖4-12 近似中軸線段的資訊。 為了清楚地知道上述資訊所能帶給我們識別頭、手、腳的可能性,我們利用 一段影片(268 frames)擷取出近似中軸線段及其資訊後,將資訊的數值畫在以 frame 編號為橫軸的座標上,並以人工方式進行分類,希望藉由分布圖來找到識 別頭、手、腳之特徵。圖4-13 為頭、手、腳的資訊分布圖,圖 4-13(a)、4-13(b)、

(44)

4-13(c)、4-13(d)分別是角度、長度、寬度、長寬比的分布圖。每個圖中的顏色代 表不同之肢體部位,黑色代表頭部,紅色、綠色分別代表右手和左手,藍色、紫 紅色分別代表右腳和左腳,水藍色代表兩隻腳合併成一隻腳。形狀則是代表這張 影像中有幾個肢體部位,圓圈代表五個,三角形代表四個,菱形代表三個,星星 代表二個,正方形代表一個。為了清楚地看到不同肢體的頭、手、腳分布,我們 在每個圖中分別放入四個子圖,左中的子圖代表著五個肢體的頭、手、腳分布, 右中的子圖代表著四個肢體的頭、手、腳分布,左下的子圖代表著三個肢體的頭、 手、腳分布,右下的子圖代表著二、一個肢體的頭、手、腳分布。 (a) 圖4-13 近似中軸線段的肢體部位資訊:(a) 角度分布圖,(b) 長度分布圖,(c) 寬度分布圖, (d) 長寬比分布圖。

(45)

(b)

(c) 圖4-13 (續)

(46)

(d) 圖4-13 (續) 從圖中我們可以看出角度是比較可以區分出頭的一個特徵,但是我們也可以 看到在1、2 個肢體部分的分布圖中反而不好利用角度來區分出頭,一是因為肢 體少不好做比較,二則是因為當兩隻腳合併成一隻的時候會造成其角度大於頭 部。如圖 4-14 皆是兩隻腳合併成一隻腳的角度大於頭部的例子,紅色的數字代 表該近似中軸線段的角度。因此,我們必須針對肢體數量的多寡來進行不同方式 之判斷,當肢體數量較多時,利用角度及其他特徵來找頭、手、腳,當肢體數量 較少時(1、2 個),則使用區域分割(region splitting)的方式來找頭、手、腳。 接下來各個小節會說明針對不同肢體數量的詳細做法。

(47)

(a) (b) (c) 圖4-14 兩隻腳合併成一隻腳的角度大於頭部的例子:(a) 例子 1,(b) 例子 2,(c) 例子 3。

4.2.1 基於 5 個肢體末端條件下的作法

由於 5 個肢體的數量較多,因此我們直接選取角度最大的近似中軸線當作 頭,而從圖 4-13 我們可以清楚地看到手和腳無法使用這些特徵來做明顯區分, 因此我們使用身體部位的相對關係來做手、腳之判斷。經由觀察我們得知,腳和 頭的距離遠大於手和頭的距離,因此我們可利用肢體和頭的距離來區分手腳,如 圖 4-15(a)就是利用此方法做識別,圖中數字代表該肢體的角度。但是如果遇到 像是4.1.3 節所提及的多節肢體,就有可能因為多節肢體被分成數個部份,使得 其角度大於頭部,造成識別錯誤,如圖 4-15(b)。經由觀察,我們可以知道多節 肢體會發生在頭部的情況極少,因此我們針對這種被辨識為多節肢體的近似中軸 線,不將其進行角度最大的挑選,如圖 4-15(c)即是不將多節肢體進行挑選最大 角度的近似中軸線的識別結果,藍色的環代表的是該肢體為多節肢體。以下將我 們的做法以條列式敘述: (1) 找出 5 個肢體中,不含多節肢體中角度最大的即是頭。 (2) 找到距離頭最遠的 2 個肢體即是腳。 (3) 剩下的 2 個肢體就是手。

(48)

(a) (b) (c) 圖4-15 5 個肢體的識別結果:(a) 不具多節肢體的例子,(b) 有多節肢體的例子,(c) 將(b)加入 多節肢體不是頭的識別結果。

4.2.2 基於 4 個肢體末端條件下的作法

由於 4 個肢體所呈現的有可能是 1 頭 1 手 2 腳、1 頭 2 手 1 腳、0 頭 2 手 2 腳這三種情形,因此我們不能像4.2.1 節一樣,直接把角度最大的近似中軸線當 作頭,因為會讓 0 頭 2 手 2 腳這種情形識別錯誤,如圖 4-16(a)。我們首先須將 有頭和沒有頭的情形做分類,經由觀察我們發現,如果是0 頭 2 手 2 腳這種情形, 所有的肢體角度都會非常相近,所以我們藉由判斷最大角度和最小角度的差值是 否小於門檻值Theadless,如果是即代表是0 頭 2 手 2 腳這種情形,經由實驗我們設 定Theadless為10°。當我們分類完有頭跟沒有頭的情形後,接下來就是識別出 0 頭 2 手 2 腳的手和腳了,由於 4.2.1 節是利用頭當參考點找出其相對距離來識別手 腳,因此我們必須在沒有頭的情形下找出一個參考點來識別手腳,我們利用人體 區域的長寬比來判斷現在人體的姿勢是屬於直立的還是躺著的,如果長寬比大於 門檻值Tlie就是直立的,此時我們利用 0°掃描線最上面的橫截面中點來當作我們 的參考點,如圖 4-16(b)。如果長寬比小於等於門檻值Tlie就是躺著的,此時因為 我們無法識別出人頭是朝左還是朝右,因此在此階段我們會輸出它是躺著的標 記,並先當作人頭是朝右,等到之後如果能做更精確的判斷時再予以修正,此時 我們利用90°掃描線最右邊的橫截面中點來當作我們的參考點。經由實驗我們設

(49)

Tlie為0.7。而針對 1 頭 2 手 1 腳和 1 頭 1 手 2 腳的情形,我們只需識別出它是 1 腳還是 2 腳就可以知道是哪種情形了,由觀察得知頭分別到兩腳的距離其實相 差不多,所以我們利用距離頭第二遠跟最遠的比值是否大於門檻值Tfoot,如果是 就是1 頭 1 手 2 腳的情形,如圖 4-16(c)。否則就是 1 頭 2 手 1 腳的情形,如圖 4-16(d)。經由實驗我們設定Tfoot為0.8。以下將我們的做法以條列式敘述: (1) 找出 4 個肢體中,不含多節肢體中角度最大和最小的近似中軸線,如果最大 和最小的角度差值小於Theadless,則是0 頭 2 手 2 腳的情形,跳至步驟(2),否 則最大角度的就是頭,跳至步驟(4)。 (2) 判斷人體區域的長寬比是否大於Tlie,如果是則使用 0°掃描線最上面的橫截 面中點來當作參考點,否則使用90°掃描線最右邊的橫截面中點來當作參考 點。 (3) 找到距離參考點最遠的 2 個肢體即是腳,剩下的 2 個肢體就是手。 (4) 找到距離頭最遠的 2 個肢體,如果第二遠跟最遠的比值大於門檻值Tfoot就二 個都是腳,否則只有最遠的一個是腳。而剩下的肢體就是手。 (a) (b) 圖4-16 4 個肢體的識別結果:(a) 未經過判斷有沒有頭的 0 頭 2 手 2 腳的識別結果,(b) (a)經過 判斷有沒有頭的識別結果,(c) 1 頭 1 手 2 腳的識別結果,(d)1 頭 2 手 1 腳的識別結果。

(50)

(c) (d) 圖4-16 (續)

4.2.3 基於 3 個肢體末端條件下的作法

由於 3 個肢體和 4 個肢體一樣,都會分做有沒有頭的情形,因此我們利用 4.2.2 節的方法將其分類,不過由於 1 頭 0 手 2 腳的情形有時候會發生在雙手向 身體靠攏,使得頭部所找出來的角度和腳的角度相異不大,如圖 4-17(a),因此 實際會有(1)有頭的情況,包含 1 頭 1 手 1 腳、1 頭 2 手 0 腳、1 頭 0 手 2 腳和(2) 沒有頭的情況,包含1 頭(連軀幹)0 手 2 腳、0 頭 2 手 1 腳、0 頭 1 手 2 腳, 這兩種情形。

(1)有頭的情況

在這一類中我們利用4.2.2 節分類 1 頭 2 手 1 腳和 1 頭 1 手 2 腳的判斷方式 就可以識別出1 頭 1 手 1 腳的情形,如圖 4-17(b)。因此接著就是識別出我們所 找出的2 個肢體究竟是手還是腳就可以了,而我們識別的方法就是利用頭到腳的 距離和人體區域的長度是差不多的來進行識別。首先利用4.2.2 節中的方式先判 斷現在是直立還是躺的姿勢,如果是直立的姿勢那就使用 0°掃描線最上面的橫 截面中點到最下面的橫截面中點的距離來當作參考距離,如果是躺的姿勢那就使 用 90°掃描線最右邊的橫截面中點到最左邊的橫截面中點的距離來當作參考距 離,最後判斷頭到肢體的最遠距離和參考距離比值是否大於門檻值Tfoot,如果是 就是1 頭 0 手 2 腳,如圖 4-17(c)。否則就是 1 頭 2 手 0 腳,如圖 4-17(d)。

(51)

(2)沒有頭的情況

而第(2)類因為會有 1 頭(連軀幹)0 手 2 腳的情形出現,所以我們使用區域 分割來識別頭。同樣地我們先區分它是直立還是躺的姿勢,如果是直立的姿勢, 則使用 0°掃描線最上面的橫截面 y 值到最下面的橫截面 y 值的距離來當作參考 距離,如果末端特徵的 y 值在最上面的橫截面 y 值的 1/10 參考距離範圍內就是 頭。如果是躺的姿勢那就使用90°掃描線最右邊的橫截面 x 值到最左邊的橫截面 x 值的距離來當作參考距離,如果末端特徵的 x 值在最右邊的橫截面 x 值的 1/10 參考距離範圍內就是頭。如果在此範圍內有找到頭,就是1 頭 0 手 2 腳的情形, 如圖4-17(e)。如果是 0 頭 2 手 1 腳、0 頭 1 手 2 腳就利用 4.2.2 節判斷 0 頭 2 手 2 腳的方式及分類 1 頭 2 手 1 腳和 1 頭 1 手 2 腳的方式來判斷,在此不多加敘述, 如圖4-17(f)。以下將我們的做法以條列式敘述: (1) 找出 3 個肢體中,不含多節肢體中角度最大和最小的近似中軸線,如果最大 和最小的角度差值小於Theadless,則跳至步驟(2),否則最大角度的就是頭,跳 至步驟(4)。 (2) 判斷人體區域的長寬比是否大於Tlie,如果是則使用 0°掃描線最上面的橫截 面y值到最下面的橫截面y值的距離來當作參考距離,如果末端特徵的y值在 最上面的橫截面y值的 1/10 參考距離範圍內就是頭。否則使用 90°掃描線最 右邊的橫截面x值到最左邊的橫截面x值的距離來當作參考距離,如果末端特 徵的x值在最右邊的橫截面x值的 1/10 參考距離範圍內就是頭。如果有找到 頭,則剩下兩個肢體就是腳。 (3) 如果人體區域的長寬比大於Tlie,則使用 0°掃描線最上面的橫截面中點來當 作參考點,否則使用90°掃描線最右邊的橫截面中點來當作參考點。找到距 離參考點最遠的2 個肢體,如果第二遠跟最遠的比值大於門檻值Tfoot就兩個 都是腳,否則只有最遠的一個是腳。而剩下的肢體就是手。 (4) 判斷頭到兩個肢體的距離比值是否小於Tfoot,如果是則最遠的一個是腳,另

(52)

一個就是手。否則如果人體區域的長寬比大於Tlie,使用 0°掃描線最上面的 橫截面中點到最下面的橫截面中點的距離來當作參考距離,否則使用90°掃 描線最右邊的橫截面中點到最左邊的橫截面中點的距離來當作參考距離,最 後判斷頭到肢體的最遠距離和參考距離比值是否大於門檻值Tfoot,如果是就 判斷兩個都是腳,否則兩個就是手。 (a) (b) (c) (d) (e) (f) 圖4-17 3 個肢體的識別結果:(a) 1 頭 2 手 2 腳的角度過於接近的例子,(b) 1 頭 1 手 1 腳的識別 結果,(c) 1 頭 0 手 2 腳的識別結果,(d)1 頭 2 手 0 腳的識別結果,(e) (a)的識別結果, (f) 0 頭 1 手 2 腳的識別結果。

(53)

4.2.4 基於 2、1 個肢體末端條件下的作法

由於 2、1 個肢體資訊量太少,因此此階段我們使用像 4.2.3 節中的區域分割 技巧來識別頭、手、腳,圖 4-18 為其識別結果。同時,為了方便起見,我們將 姿態識別過程中所使用到的參數顯示在表4-1。以下將我們的做法以條列式敘述: (1) 判斷人體區域的長寬比是否大於Tlie,如果是則代表是直立的,跳至步驟(2)。 表示躺著的,跳至步驟(3)。 (2) 使用 0°掃描線最上面的橫截面 y 值到最下面的橫截面 y 值的距離來當作參 考距離,如果末端特徵的 y 值在最上面的橫截面 y 值的 1/10 參考距離範圍 內就是頭。如果在最下面的橫截面 y 值的 3/10 參考距離範圍內就是腳,剩 下就是手。 (3) 使用 90°掃描線最右邊的橫截面 x 值到最左邊的橫截面 x 值的距離來當作參 考距離,如果末端特徵的 x 值在最右邊的橫截面 x 值的 1/10 參考距離範圍 內就是頭。如果在最左邊的橫截面 x 值的 3/10 參考距離範圍內就是腳,剩 下就是手。 (a) (b) (c) 圖4-18 2 個肢體的識別結果:(a) 1 頭 0 手 1 腳的識別結果,(b) 0 頭 1 手 1 腳的識別結果,(c) 1 頭 1 手 0 腳的識別結果。

(54)

表4-1 姿態識別中所使用到的參數一覽。 參數 說明 應用時機(肢體末端數量) 數值 Theadless 分辨是否有頭存在 4、3 10° Tlie 分辨現在是直立的還是躺著的 4、3、2、1 0.7 Tfoot 分辨是1 隻腳還是 2 隻腳的情形 4、3 0.8

4.3 基於頭、手、腳定位之人體模型表示

在[11]、[12]的研究中,分別使用了橢圓、矩形和梯形來表示人體模型,由 於居家看護系統中,看護對象往往不希望自己的真實型態被加以記錄,且處理端 跟顯示端通常會設置在不同地方,例如在房間裡偵測到人體並加以分析,把結果 傳到一個中央控制室做顯示,因此傳輸的資料要越少越好,這會造成傳輸速度較 快。因此本論文為了隱密性較高、傳輸較少資料,使用了骨架式的人體模型來代 表。圖4-19(a)前背景圖,圖 4-19(b)為[11]的人體模型,圖 4-19(c)為[12]的人體模 型,圖 4-19(d)為本論文所使用的人體模型,紅色代表頭,綠色代表手,藍色代 表腳,黑色的點是定位點。就隱密性來說,[12]的方法最差,因為它幾乎會完全 呈現出肢體寬度。其次是[11]的方法,因為它所畫的肢體寬度是選取橫截面中最 小的,雖然不是完全反應肢體寬度,但是還是容易看出有多瘦。本論文的方法是 隱密性最高的,因為它只是顯示骨架,完全看不出這個人的肢體是胖還是瘦。 至於在傳輸資料的多寡方面,因為定位點是每個都有傳的所以不將其加入下 面的討論,以 OPENCV 提供的繪圖函數來說,[12]的方法傳輸資料最多,因為 一個梯形需要4 個點才能重繪, 1 個點有 2 個值,共 5 個梯形所以有 40 個值。 其次是[11],因為一個橢圓需要中心點、長軸、短軸、旋轉角度,1 個中心點有 2 個值,共 3 個橢圓所以有 15 個值,而矩形只需要 2 個點,1 個點有 2 個值,共 3 個矩形所以有 12 個值,全部加起來是 27 個值。而本論文的方法傳輸的資料最 少,因為一個圓需要中心點、半徑,1 個中心點有 2 個值,所以一個圓需要 3 個 值,而一條線只要2 個點,1 個點有 2 個值,共 4 條線所以有 16 個值,全部加 起來是19 個值。表 4-2 顯示了隱密性高低及傳輸資料多寡的比較。

(55)

(a) (b) (c) (d) 圖4-19 人體模型表示結果:(a) 前背景圖,(b) [11]的人體模型表示,(c) [12]的人體模型表示, (d) 本論文的人體模型表示。 表4-2 人體模型的隱密性及傳輸資料比較。 [11]的人體模型 [12]的人體模型 本論文的人體模型 隱密性 中 低 高 傳輸資料 中(27 個值) 最多(40 個值) 最少(19 個值)

(56)

五、實驗結果及討論

在本章節中,我們利用實作出來的姿態識別系統來進行實際影像畫面的實 驗,並證明本論文的系統具有較佳的正確性與實用性。整個實驗的硬體環境為 Pentium 4 3.40GHz,作業系統為 Windows XP,程式作業環境為 Microsoft Visual Studio 2005 的平台,在這個平台下所能達到的平均效能為每秒 13 張影像。輸入 來源可以是影片、影像或是raw 檔,解析度為 320×240。如圖 5-1 和圖 5-2 分別 是中紅外線影像和可見光影像的識別結果。為了能多顯示一些實驗結果,我們接 下來只在一開始說明該段影片之背景環境,之後就只顯示前背景圖及識別結果, 同時為了顯示每段的識別正確率,我們會在最後顯示出該段影片的識別正確率。 (a) (b) (c) 圖5-1 中紅外線影像姿態識別結果:(a) 中紅外線影像,(b) 前背景圖,(c) 姿態識別的結果。 (a) (b) (c) 圖5-2 可見光影像姿態識別結果:(a) 可見光影像,(b) 前背景圖,(c) 姿態識別的結果。

數據

圖 3-12  四個方向掃描線可以代表肢體末端的近似中軸線段:(a) 0°,(b) 45°,(c) 90°,(d) 135°。
表 4-1  姿態識別中所使用到的參數一覽。  參數  說明  應用時機(肢體末端數量)  數值  T headless 分辨是否有頭存在  4、3  10° T lie 分辨現在是直立的還是躺著的  4、3、2、1  0.7 T foot     分辨是 1 隻腳還是 2 隻腳的情形 4、3  0.8 4.3  基於頭、手、腳定位之人體模型表示          在[11]、[12]的研究中,分別使用了橢圓、矩形和梯形來表示人體模型,由 於居家看護系統中,看護對象往往不希望自己的真實型態被加以記錄,且處理
表 5-1  人像走動並坐下的連續中紅外線影像的姿態識別正確率。  肢體種類  各個肢體標記正確率 整個影像正確率  5 個肢體  1 頭 2 手 2 腳   58/58  58/58 = 100%  116/116 = 100%  116/116 = 100%  290/290 = 100%  58/58 = 100%  4 個肢體  1 頭 1 手 2 腳   43/47 1 頭 2 手 1 腳    1/2  0 頭 2 手 2 腳        0/0  45/49 = 91.83% 49/51 =
圖 5-4  人像呈大字形走動的連續可見光影像及姿態識別後所產生的人體模型。
+4

參考文獻

相關文件

The Cognition and Satisfaction of “Meatless Day” from Pupils~A Case of PinTung County Fang Liao Junior

Tsung-Min Hwang, Wei-Cheng Wang and Weichung Wang, Numerical schemes for three dimensional irregular shape quantum dots over curvilinear coordinate systems, accepted for publication

本系已於 2013 年購置精密之三維掃描影像儀器(RIEGL

CONFIDENTIAL: All capabilities and dates are for planning purposes only and may not be used in any contract Information Portal. Key Performance Indicators &

CAST: Using neural networks to improve trading systems based on technical analysis by means of the RSI financial indicator. Performance of technical analysis in growth and small

CAST: Using neural networks to improve trading systems based on technical analysis by means of the RSI financial indicator. Performance of technical analysis in growth and small

Jin-Jei Wu, Daru Chen, Kun-Lin Liao, Tzong-Jer Yang, and Linfang Shen, “A novel fiber sensor based on a Bragg fiber with a defect layer”, Presented in 2009 Annular Meeting of

Soille, “Watershed in Digital Spaces: An Efficient Algorithm Based on Immersion Simulations,” IEEE Transactions on Pattern Analysis and Machine Intelligence,