• 沒有找到結果。

人體動態切割及相關影像處理

第三章 設計與實作

3.1 系統架構

3.1.1 人體動態切割及相關影像處理

首先我們將由攝影機所得到的串流影像針對相鄰的兩個串流影像轉換成灰 階影像後做差分運算,如公式(1)所示,獲得運動資訊[8],並利用此資訊從背景 中擷取出人體如圖 9 與圖 10 所示,利用事先建立好的背景來擷取出人體可以得 到此人體的剪影,但無法得到人體移動的資訊,而使用動態切割的方法由於是跟 前幾張 frame 做比較,因此可以得到有改變的像素點,相較於使用儲存背景資訊 的方法可以更容易的得到人體移動的方向。由於考慮到高齡者動作較為緩慢,故 本系統採相隔一張 frame 比較的方式,較容易得到運動資訊。

𝐹𝑡 = 𝐹𝑡 − 𝐹𝑡−3 , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

𝐹𝑡 , 𝑖𝑓 𝑡 < 3 (1) 𝐹𝑡:表示時間為t 時的 frame

圖 9.攝影機所提供的實際串流影像

圖 10.右為系統所得之人體剪影

10 ( threshold )[10],目的是將一張複雜的影像簡單化以利接下來的處理。且由 於 3x3 的平滑濾波器會有邊緣模糊的副作用,所以我們定義了一個 threshold 將低於此 threshold 的像素給予 0 的值,其餘的則給予 255 的值,形成一張非黑 即白的二值化影像,以便後續人體特徵的截取。下圖 12 為一張灰階影像的灰度 分布圖,閥值即為 threshold。

11

圖 12.影像二值化示意圖

經由人體動態切割、平均濾波器及影像二值化的處理步驟之後,為了擷取出 有意義的區域,我們必須將個別連接的物體一一標記出來。為了定義連接物體,

我們假設個別的連接體在之前經由二值化處理後的影像上是連接的像素全體,而 兩個像素連接的定義為此兩像素的 4-近鄰( 4-neighbors )或為 8-近鄰

( 8-neighbors ),如下圖 13 所示。

(i,j-1) (i-1,j-1) (i,j-1) ( i + 1 , j ) (i-1,j) ( i , j ) (i+1,j) ( i - 1 , j ) ( i , j ) ( i + 1 , j )

(i,j+1) (i-1,j+1) (i,j+1) (i+1,j+1) 圖 13.4-近鄰與 8-近鄰示意圖

我們從圖上任何一點開始標記連接物體,對所有互相形成 8-近鄰連接的像 素點以一個獨特的數字標記,代表其互相連接,每當發現一個未標記的像素時,

12

便以一個新數字做為標記,重複以上步驟直到整張二值化影像的所有點都被標記 為止,也就是說我們將檢查每一個不為 0 的像素點的 8 個鄰近位置,如果這些位 置有非 0 的像素點,則視為與此點同一群並給予一個標記數字,如圖 14[11]所 示。

圖 14.以 4-近鄰標示的範例

13

3.1.2 人體特徵值擷取與消弭上肢活動影響

在經過之前的影像處理步驟之後,我們得到一個完整的人體剪影影像。由於 本研究為一室內的的監視系統,所以我們將採用 Derek Anderson 等人提出的[5]

剪影的方式來維護被監視者的隱私權。在這樣的前提之下,我們所能得到的人體 特徵將相較減少許多,因此我們將選取較為明顯的人體身長與身寬作為我們系統 的特徵值,系統所擷取的特徵值我們用 bounding box 顯示出來以利觀察。如圖 15 所示。

圖 15.人體擷取結果

左為擷取人體身長與身寬為特徵的 bounding box,右為處理完後的剪影

我們由觀察日常的人類行為中可以得知一般人在室內的活動,並將其分類為 行走、坐、彎腰或躺下等情形,其 bounding box 所得到的人體身長與身寬比例 大致上為固定的。所以我們將人體所得之 bounding box 比例分為三種類別,分 別是 stand_pose 用來表示人體姿勢為站立時的狀態,如圖 16;temp_pose 用來 表示人體姿勢為坐、彎腰或蹲下等的狀態,如圖 17;laying_pose 則用來表示人 體姿勢為躺臥時的狀態,如圖 18。

14

圖 16.站立姿勢

圖 17.坐下姿勢

圖 18.躺臥姿勢

15

在利用 bounding box 將人體特徵值標示出並分成 3 種類別之後,我們發現 在一般的生活情形下,人體上肢的活動將會影響我們擷取人體身寬的特徵。由於 人體在行走中雙手會不自覺的擺動,且在室內環境下也有伸手取物的情形,這些 雙手的活動都將造成我們在量測人體寬度上的不便與誤差。為了解決此一現象,

我們將 bounding box 裡所得的白色像素—即為人體所在的位置,利用公式(3) 將其投影至 X 軸與 Y 軸上,得到如圖 19 所示的人體輪廓曲線圖。

16

(a) (b) (c) 圖 20.人體輪廓擷取結果 2

(a)實際環境下的串流影像與人體追蹤結果,(b)從背景中擷取出人體後的結果,

(c)bounding box 中像素投影至 Y 軸的人體輪廓曲線圖

為了消弭這因上肢活動過大而可能帶來誤判的影響,我們採用統計學上消除 極端值的方法,先算出 𝑃𝑟𝑜𝑗 𝑋 , 𝑌 裡 X 與 Y 的個別平均值( mean )與標準差 (standard deviation ),接著利用公式(4)訂出一組門檻值( threshold ),然 後將 𝑃𝑟𝑜𝑗 𝑋 , 𝑌 裡超過其門檻值的值給予極端值為其新值已取代原有的極端值,

我們藉由這樣的處理能有效的消弭當人體上肢活動過大時所帶來的影響,圖 21 為使用了此方法之後對於消弭人體上肢活動的效果。

threshold = 3× ( standard deviation ) + mean (4)

17

(a) (b) (c) 圖 21.人體輪廓擷取結果 3

(a)實際環境下的串流影像與人體追蹤結果,(b)從背景中擷取出人體後的結果,

(c)bounding box 中像素投影至 Y 軸的人體輪廓曲線圖

我們可以在圖 21 中看到,原本應該有極端值的人體輪廓曲線圖因為高過於 我們所定的門檻值而被消弭的效果,這樣的處理對於我們之後在判斷人體姿勢時 將有不少的幫助。

相關文件