第四章 室內環境之視覺追蹤
第二節 基於動態三步搜尋法的視覺追蹤
在連續影像輸入時,針對影像中特定目標物持續鎖定並得知目標物的位置資 訊,是視覺追蹤的目的。在上一節中,系統建立了追蹤所需的特徵模型,接著本 節會介紹如何利用嬰兒特徵模型進行追蹤,並透過追蹤使系統得知嬰兒的位置資 訊,以便之後擷取其活動量特徵。目前常用的視覺追蹤方法包括:卡爾曼濾波器 (Kalman filter)、粒子濾波器 (particle filter)、平均位移法 (mean shift) 與區塊比對 搜尋 (block matching) 等方法。不論是使用上述的單一種追蹤方法或是將多種方 法混和使用來進行追蹤,其計算複雜度普遍較高,運用在本系統上可能會出現執 行速度過慢的瓶頸,因此本系統決定採用區塊比對法,根據嬰兒活動的特性與速 度,在相鄰影格中,搜尋與追蹤特徵模型相似度最高的區塊。
區 塊 比 對 搜 尋 法 原 來 是 應 用 在 視 訊 壓 縮 技 術 中 的 移 動 估 測 (motion estimation),其前提為當前畫面的內容,通常是由前一張影像的內容其中一部分 移動或形變而來。如圖 4.10(a) 與 (b) 所示,黃色圓形中的嬰兒移動就如同示意
(a) (c)
(b) (d) 圖 4.10 原始實驗影像與移動估測示意圖
(a)嬰兒移動前的輸入影像;(b)嬰兒移動後的輸入影像;
(c)t1時間移動估測的示意圖;(d) t 時間移動估測的示意圖。
43
圖 4.10(c) 與 (d) 中的紅色圓形物體,而移動估測的方法正好可以預測出嬰兒位 移的步伐大小與方向,以達到視覺追蹤的目的。此方法如示意圖 4.10(c) 所示為 紅色圓形物體在t1時刻的位置,而圖 4.10(d) 則顯示 t 時間該紅色圓形物體從虛 線處移動至實線的位置,圖中黑色箭頭即為該物體的移動向量。因此,本系統藉 由此類進行視覺追蹤。
區塊比對法一開始要先設定一 detection window。本系統利用上一節中屬於嬰 兒的前景區塊之長軸與短軸的長度,設定 detection window 的長度和寬度,並且 利用初始化的嬰兒質心位置作為 detection window 的中心,該 detection window 可 以利用來在下一張影像上搜尋相似度最高的區塊。嬰兒活動連續影像輸入後,第 一張輸入影像上的紅色方框為初始化的 detection window,如圖 4.11(a) 所示。
最早被使用的區塊比對搜尋法為全域搜尋法,此方法會先定義每個畫面中的 搜尋範圍與相似度判斷標準,搜尋範圍 (search area) 是指進行區塊比對的範圍,
而全域搜尋法就是以 search area 的範圍內每個像素點為中心定義 detection window,並逐一比對 detection window 內之特徵與追蹤模型的相似度,尋找相似 度最高之像素點位置即為搜尋的結果。通常 search area 定義的範圍越接近整個影 像,越能找到最佳解,但卻會導致搜尋速度過慢。圖 4.11(b) 展示了全域搜尋法 的搜尋過程,圖中以紫色方形表示時間t1的影像內容,藍色虛線的方形代表該 畫面的搜尋範圍 (search area),表示此範圍是追蹤目標可能出現的區域,通常以 時間 t 時的追蹤目標物為中心加減一個常數的範圍。而搜尋方式則是利用圖中紅 色方框 (detection window),以滑動視窗法在搜尋範圍內,比對方框內容與追蹤特
(a) (b) 圖 4.11 區塊比對法示意圖
(a)輸入連續影像;(b)全域搜尋法的過程。
44
徵模型的相似程度。以每個像素點為中心逐一比對的方式,搜尋的結果品質優良 但比對次數非常多,耗費的計算時間太長,會拖累系統的執行速度。
為了在搜尋時降低追蹤特徵模型的比對次數,許多不同的搜尋方法因應而 生,如:二維對數搜尋法 (log two-dimensional search)、三步搜尋法 (3-step search) 與鑽石搜尋法 (diamond search) 等等。為避免搜尋次數太少導致搜尋品質不佳, 的三步搜尋法。改良後的 dynamic 3-step search 主要分為兩個步驟:
I. 第 一 次 搜 尋 時 , 起 始 中 心 點 定 義 為 前 一 張 影 像 中 追 蹤 目 標 的 中 心 點
45
(a) (b)
圖 4.12 3-step search 與 dynamic 3-step search 示意圖 (a) 3-step search 示意圖;(b) dynamic 3-step search 示意圖。
果。以此為中心點且將搜尋範圍減少一半,進行第二次搜尋。圖 4.12(a) 中綠色 圓形圖案標示第二次搜尋的 9 個候選中心點,其中外框為紅色虛線的綠色圓形圖 案則表示第二次搜尋的最佳結果,若此時的搜尋範圍仍大於兩個像素寬,則反覆 執行步驟二。以上次搜尋結果為中心將搜尋範圍再減少一半後,圖 4.12(a) 中淡 藍色圓形圖案是第三次搜尋的 9 個候選中心點,此時所找到的最大相似度區塊則 為追蹤目標物的所在位置,候選中心點則為追蹤目標物的中心位置。圖中黃色箭 頭為每一步驟的搜尋過程,而紅色箭頭表示搜尋完成後所得到的嬰兒在相鄰影隔 間移動的向量。
改良後的 dynamic 3-step search 與傳統三步搜尋法,最大的差別在於增加動態 調整搜尋範圍的功能。如圖 4.12(b) 所示,假設在時間t1時的影像F 搜尋到的t1 追蹤目標中心位置為o(i,j);在時間 t 時的影像F 搜尋到的追蹤目標中心位置為t
) , ( ji
o ,且令 為時間 t 時追蹤目標之位移距離即 o(i,j)o(i,j) ,則在時間
1
t 時的影格F 之搜尋中心點為t1 o( ji, )。且 8 個以中心點向外延伸的候選中心點 o 至1 o 之座標,分別為8 (i,j)、(i,j)、(i,j)、(i,j)、(i,j)、
) ,
(i j 、(i,j)以及(i,j)。之後系統每進行一次搜尋, 調整為原本 的一半,直到 小於 2 個像素寬,或是搜尋次數超過 3 次時停止。因此,若是追 蹤目標物幾乎處於靜止不動的狀態,則搜尋步數將從原本固定的 3 步減少為 2 步
46
(frames) 3-step search Dynamic
3-step search 3-step search Dynamic 3-step search 2014_1_9_1
00:41 277.866s 255.913s 100.297s 97.494s
1230 - 7.9% 63.9% 64.9%
2013_11_4_1
03:07 1260.178s 1098.322s 405.106s 402.447s
5610 - 12.8% 67.8% 68.0%
2013_11_28_3
03:44 1166.918s 1061.321s 471.904s 413.474s
6720 - 9.0% 59.5% 64.5%
2013_8_7_7
00:46 259.311s 247.731s 94.491s 89.747s 1380 - 4.4% 63.5% 65.3% 大小如何,使用 3-step search 的執行時間都比 dynamic 3-step search 的執行時間還 長。表中節省時間百分比是相對於原始影像大小執行 3-step search 所計算的結 果,同樣使用 3-step search 的方法但影片縮小後平均都比縮小前節省了 63%的執
47
行時間。若將影片縮小且使用 dynamic 3-step search,則能解省更多的執行時間。
總之,本實驗證實了 dynamic 3-step search 確實能節省程式執行的時間,可以預期 若是系統監控的時間越長或是嬰兒動作變化較大的狀況下,dynamic 3-step search 能節省的執行時間就越多。
由於追蹤特徵模型為 Y、Cr 和 Cb 三個色彩直方圖,因此上述比對的過程中,
判斷 detection window 與追蹤特徵模型相似度的方法,本系統選擇統計學中的 chi-square test [Erd01][Pre92] 進行二個色彩直方圖的差異量測。其數學式子如 數項。由於 detection window 中,同一 channel 的色彩直方圖才能相互比較差異性,
因此系統共會得到三個差異性量測值,分別為c2(H1c,H2c),c{Y,Cr,Cb}。差異性 為 detection window 與追蹤特徵模型的相似度值。
追蹤的過程中,由於嬰兒的形狀會不斷發生變化,且時而面向鏡頭,時而背 向鏡頭,導致色彩直方圖變化過大,容易造成追蹤失敗。因此,本系統增加了更
(a) (b)
圖 4.13 移動物體偵測與追蹤重疊面積示意圖
(a) 2014_1_9_1 原始輸入影像;(b)原始影像放大與各區塊示意圖。
48
新嬰兒追蹤特徵 (色彩直方圖) 的功能。如圖 4.13(a) 是影片編號 2014_1_9_1 的 原始輸入影像,將此圖中嬰兒區域的影像放大後則如圖 4.13(b)所示。圖中白色橢 圓是系統圈選的移動物體,而紅色方框為追蹤的結果,紅色方框為每張 frame 中 搜尋到相似度最高的 detection window。假設白色橢圓的面積為E ,detection a window 的面積為D 且兩者交集區域的面積為a I ,如圖中綠色區塊所示。當移動a 物體與 detection window 的交集比例高且兩者的面積大小相似時,本系統會重新 統計交集區域內的顏色直方圖做為嬰兒追蹤的特徵模型。也就是說,當Ia Ea 與
a
a D
I 皆大於 95%,且E 小於a 時更新嬰兒特徵模型。
另外,由於固定式攝影機的架設高度不足,導致畫面中嬰兒的面積占畫面比 例變動過大,因此本系統針對固定式攝影機增加了自動調整 detection window 長 度與寬度的功能。同樣利用移動物偵測的白色橢圓與 detection window 的資訊來 判斷,當Ia Ea 與Ia Da皆大於 70%,且E 與a D 的差小於a 時,系統就會利用白 色橢圓的長軸、短軸來更新 detection window 的長度和寬度。此一方式可確保 detection window 能框住整個嬰兒。如圖 4.14 為影片 2013_9_12_24 的執行結果,
圖 4.14 影片 2013_9_12_24 嬰兒追蹤時 detection window 的形狀調整。
49
(a) (b)
圖 4.15 移動物體與追蹤結果相對距離示意圖
(a) 2013_11_4_1 原始輸入影像;(b)原始輸入影像放大與各線段距離示意圖。
順序由左至右,由上到下為嬰兒活動的連續輸入影像,從影像中可以看見 detection window 的大小隨著嬰兒形狀的變化而改變。
最後,本系統為防止追蹤失敗導致系統當機,加入了追蹤失敗的判定與重新 追回目標物的功能。如圖 4.15(a) 為影片 2013_11_4_1 的原始輸入影像,將嬰兒 區域放大後如圖 4.15(b) 所示。圖中黃色箭頭的距離D 是 detection window 斜對l 角線長度的一半,而圖中綠色箭頭的距離C 則表示 detection window 的質心與白l 色橢圓質心的距離。系統在進行追蹤的過程中,當移動物體 (白色橢圓) 與 detection window 越離越遠且移動物體的面積與 detection window 的面積大小又差 不多,則表示該移動物體可能是嬰兒。因此,當C 大於 0.5 l D 且l E 與a D 的差異a 小於一個門檻值 時,系統可能已經追蹤失敗。
判斷為追蹤失敗後,系統會依照下列二種不同的狀況,分別用不同的方式重 新追回嬰兒。第一種狀況是當白色橢圓內的色彩直方圖與嬰兒追蹤特徵模型的相 似度高於 detection window 與嬰兒追蹤特徵模型的相似度,則判斷白色橢圓為追 丟的嬰兒,系統會將嬰兒的位置資訊設定為 detection window 與白色橢圓質心連 線上,距離白色橢圓質心 1/3 倍連線總長度的位置,待下一個影格進行三步搜尋 法時將嬰兒追回;第二種狀況為白色橢圓內的色彩直方圖與嬰兒追蹤特徵模型的 相似度低於 detection window 與嬰兒追蹤特徵模型的相似度,或甚至系統沒有偵 測到任何移動物體。此時系統仍不確定嬰兒的所在位置,只能先將搜尋的步伐大 小調大至 250 個像素寬的距離,只要嬰兒還在畫面中,下一個影格進行三步搜尋 法時,系統就能透過擴大範圍的搜尋將嬰兒重新追回來。
為了方便說明本系統在追蹤失敗後,仍可再將嬰兒重新追回來的過程,以下 使用影片 2013_11_4_3 作為範例,說明實驗時發生追丟後再重新追回來的各種狀
50
況。每段影像序列的順序皆為由左至右、由上至下,且圖中的白色橢圓代表系統
況。每段影像序列的順序皆為由左至右、由上至下,且圖中的白色橢圓代表系統