• 沒有找到結果。

行人計數中包括兩個步驟,分 別為行人區塊追蹤及行人統計

N/A
N/A
Protected

Academic year: 2021

Share "行人計數中包括兩個步驟,分 別為行人區塊追蹤及行人統計"

Copied!
22
0
0

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

全文

(1)

第四章 行人計數

完成行人偵測的工作之後,所得到的行人區塊往往不甚理想(例 如場景中的樹木或路燈常常會認定為行人區塊、單一行人可能分割成 數個行人區塊、不同時間下區塊間可能發生合併或分裂),行人計數 必須能容忍這些缺失並且精確的計數。行人計數中包括兩個步驟,分 別為行人區塊追蹤及行人統計。在行人區塊追蹤的步驟中,首先計算 各個行人區塊的特徵平均值,再將目前影像和前一張影像間各個行人 區塊的特徵平勳值互相比對,偵測出位置沒有發生變化或是特徵平均 值差異不大的行人區塊,接著將尚未配對的行人區塊應用 graph matching 的方法進行追蹤。在行人統計部分,則將移動情況相同的 區塊視為同一行人區塊,並進行數量統計及方向判定。以下我們分別 對兩步驟加以說明。

4.1 行人區塊追蹤

在行人區塊追蹤的步驟中,主要在連續影像間尋找行人區塊的對 應關係,以獲得其移動的路徑,我們將行人區塊追蹤分成兩個階段;

第一個階段根據區塊的特徵值及位置作快速比對,第二個階段則以 graph matching 來比對區塊。

在特徵平均值比對的步驟中,我們先計算區塊的特徵平均值,之

(2)

後將連續影像間各區塊特徵平均值相似且位置相近的配對(圖 4.1)。

之後我們將剩餘尚未配對的行人區塊利用 graph matching 來比對,

可以有效的減少 graph matching 的運算時間,以達到即時計數的功 效。

在 graph matching 時,首先我們針對一張影像中的各個區塊建 立一 graph,graph 中的每一節點,表示一行人區塊,節點中記錄有 該區塊本身的屬性,而 graph 中的邊,則記錄行人區塊間的關係屬 性,如此一來我們可以將連續影像間,行人區塊的比對視為一種 graph matching。

N為目前影像中尚未配對的行人區塊個數,首先對行人區塊計 算其七種特徵平均值(包括了區塊的 R、G、B 三種顏色、紋理、面積、

X 與 Y 座標),根據目前影像中各個區塊的每一種特徵l (l=1, , 7),建 立一個N×1的特徵矩陣Bl (l=1, , 7),矩陣Bl中的項目 Bl i| 為影像中 行人區塊i的第l個特徵參數值。又令N'為前一張影像中,尚未比對的 行人區塊個數,Bl' (l=1,..., 7)為前一張影像中,以相同方式建立的矩 陣,大小為N'×1,我們希望找到一N×N'的轉換矩陣P,滿足

7

1

min(|| || j ' ||) (4.1)j

P j

B PB

=

另外,我們根據目前影像中尚未配對的各個區塊,建立一N×N 的關 係矩陣A1,矩陣A1中的元素A1|ij為目前影像中行人區塊i與行人區塊 j

(3)

彼此間的距離,令A1'為前一張影像以相同方式建立的矩陣,並把(4.1) 式修改成

7

1 1

1

min(|| ' T || || || j ' ||) (4.2)j

P j

A PA P B PB

=

+

接著我們將先前所建立的Bj ( j=1, , 7)矩陣,轉換成N×N的對角線矩

Al (l=2,...,8)後(對角線中元素存放原先Bj矩陣中的參數值,剩餘位

置為零),則(4.2)式可簡化成

8

' 1

min( k k T ) (4.3)

P k

A PA P

=

最後,我們必須找出一最佳的轉換矩陣 P ,使得兩張影像中的行人 區塊,有最佳的對應關係。

在上述過程中,目前影像和前一張影像中的行人區塊數目必須相 同,才能計算其對應關係,但是在實際的應用上在不同時間下,行人 區塊的數目往往不同,因此本系統將行人區塊較少的影像,加入數個 虛擬區塊(pseudo region),虛擬區塊的參數填入 0 代替,使連續兩 張影像的區塊個數相同。倘若某時間下的行人區塊,經過運算後對應 至另一時間下的虛擬區塊,表示此區塊為新增區塊,反之表示不同時 間下行人區塊的對應關係。表 4.1 表示目前影像中,剩餘尚未配對的 行人區塊所建立的特徵矩陣。表 4.2 則表示前一張影像中,以相同方 式建立的特徵矩陣。

建立好目前影像以及前一張影像中,尚未配對的行人區塊的各種

(4)

特徵矩陣後,接下來我們利用 RKHS(Reproducing Kernel Hilbert Space)[Wyk 02],解出一最佳的轉換矩陣,以求得最佳的對應關係。首 先先建立一核心程式(kernel function)K,表示如下

, 1

( , )

( ) ( ) (4.4) (vec ( )) vec ( )

n

ij ij

i j

T

K Y Z

e Y e Z

Y Z

=

=

=

其中eij函數表示矩陣中第i行與第 j列的元素,而vec(.)表示對矩陣做

向量的運算。接著我們給予上述已建立好的各項特徵{(A Ak' , k)}8k=1 代入下列 RKHS 的 constrains 式子

' '

( ,F K A( k, ))i = F A( k)= Ak (k =1, ,8) (4.5)

其中( ,F K A i( k', ))表示FK的內積,藉由 F函式,找出AkAk'的對應 關係,而F 函式在 RKHS 中的 minimum-norm interpolator 可以表示 如下

8

' 1

( ) l ( l, ) (4.6)

l

F C K A

=

=

i i

由於我們不知道F函式中的Cl參數,因此我們將{(A Ak', k)}8k=1代入F 函式中

8

' ' '

| 1

( k) l lk k , lk: ( l, k) , :=(l l ij) , ( 1, ,8) (4.7)

l

F A C G A G K A A C C k

=

== = =

希望能夠解出Cl,得到AkAk'的對應關係。因此我們藉由下列式子的 推導

8 8

vec( Ak) vec( C Gl lk) vec (C Gl) lk CGk (4.8)

= =

===

(5)

2 8 8 1

,

n

C × Gk ×

其中的CGk定義如下

1 8 1 8,

: ( ( ), , ( )) , k: ( k, , k)T

C = vec C vec C G = G G

A n2×8 , G 8 8× 因此我們令

1 8 1 8

: ( vec ( ), , vec ( )) , : ( , , )

A = A A G = G G

我們可以將上述式子,利用符號表示如下

(4.9) A=C G

接著矩陣C可以由下列式子得到

1 (4.10) C= A G

求出矩陣C之後,利用(4.5)式我們即可得到一權重矩陣(weight matrix)(表 4.3)。

接著我們使用Hungarian method[Kuh55],將原本權重矩陣C,轉換 成轉換成轉換矩陣P,其演算法如下

Step 1. Subtract the entries of each row by the row minimum.

Step 2. Subtract the entries of each column by the column minimum.

Step 3. Make an assignment to the zero entries in the resulting matrix.

If there are not enough zeros for making a complete assignment, use Step 4 to generate more zeros for assignment.

Step 4

• Mark the unassigned rows.

• Mark columns which has zeros in marked rows.

• Mark rows which has assignments in marked columns. Go to second item.

• Draw a line to cover each unmarked row and each marked column.

• Let m be the minimum of the uncovered entries. Subtract m from each marked row and add m to each marked column.

Step 5 Go to Step 3.

(6)

經過 Hungarian method 的演算法後,原本的權重矩陣轉換成一轉換 矩陣(表 4.4),則可得知在不同時間下,行人區塊間彼此的對應關係 (圖 4.2)。

完成連續影像間行人區塊的配對之後,我們可以知道在不同時間 下,行人區塊的移動狀態,接下來我們針對移動中的行人區塊,藉由 移動中的行人區塊個數和其移動軌跡,判斷監控環境中的行人個數及 運動的方向,以達到行人計數的目的。

4.2 行人統計

行人統計主要藉由行人區塊的移動路徑,判斷行人通過通道的人 數和行進的方向,我們將行人統計分成兩個階段,第一個階段處理連 續影像間行人區塊合併(merge)與分裂(split)的問題,第二個階段處 理單一行人分裂成數個行人區塊的問題,以下分別介紹其詳細的步 驟。

4.2.1 行人區塊的合併與分裂

同一行人區塊在連續影像間,可能因為場景環境變動的關 係,分裂成數個行人區塊,或是數個行人區塊合併成單一行人區 塊,都會使連續影像間行人區塊的中心位置偏移(圖 4.3),容易

(7)

造成區塊運行軌跡的誤判,以致於不易統計行人數量。倘若偏移 位置恰巧通過監測線,則會導致計數結果錯誤。

一般來說,連續影像間發生合併或是分裂的行人區塊都必須 相鄰,假設時間t下影像中所有行人區塊形成的集合為StUt 時 間t 下 相 鄰 行 人 區 塊 所 形 成 的 集 合 , 又Ut St 之 子 集 合

t t

U S Ait為在時間t的第i個區塊面積。當時間t下行人區塊i 面積符合

1

1 (4.11)

t

t t

i j

j U

A A

=

則將時間t1下,屬於Ut1集合之數個行人區塊合併成單一區塊,

則可解決行人區塊合併的問題。另外,倘若在時間t1下,行人 區塊i的面積符合

1 (4.12)

t

t t

i j

j U

A A

=

則將時間t下,屬於Ut集合之數個行人區塊合併成單一區塊,則 可解決行人區塊分裂的問題。

在實際的應用上,我們利用第三章中,儲存區塊間 strong edge 資訊的矩陣M a b( , ),用來判斷目前影像中a b, 兩行人區塊是 否相鄰,倘若M a b( , )0表示a b, 兩行人區塊間存在 strong edge 或是 weak edge,則認定a b, 兩行人區塊相鄰。用上述方式得到相 鄰區塊,我們先假設t時間下,影像中所有區塊形成的集合St

(8)

再令一子集合Ut St,Ut ={R ii| =1, , }v ,其中Ri (i=1, , )v 表示時 tv個相鄰的行人區塊的集合,接下來令Ait為在時間ti個行 人區塊面積,再檢查

1

|| 1||

t

t t

i j

j U

A A

是否小於某門檻值,倘若小於某門檻值,則將時間t1下,屬於Ut1 集合之數個行人區塊合併。另外,我們同時檢查

|| 1 ||

t

t t

i j

j U

A A

是否小於某門檻值,倘若小於某門檻值,則將時間t下,屬於Ut 合之數個行人區塊合併。如此一來可以解決行人區塊合併與分裂 的問題,在我們的實驗中,U 集合的個數最大值為 4。完成行人 區塊合併以及分裂偵測後,結果如圖 4.4 所示。

4.2.2 行人區塊計數

由於監控場景中,行人常常因為穿著的衣物和頭部的特徵差 異量太大(例如穿著鮮豔的衣服,但是頭髮是黑色的),或是環境 中的光線影響,導致行人向光面或是背光面的特徵不一致(例如 傍晚時,向光面較亮,背光面較暗),單一行人分割成數個行人 區塊,使得計數結果錯誤(圖 4.5)。屬於同一行人的行人區塊,

一般來說都是相鄰的,彼此的距離也不會相距太遠,且在連續影

(9)

像間,行人區塊間相對位置的差異量不大。因此我們令D a bt( , ) 示在時間t下行人區塊ab的座標中心距離,倘若D a bt( , )小於某 門檻值,表示a b, 兩行人區塊的距離相近,可能為同一行人分裂而 成。接下來再去檢查在連續影像間,區塊a和區塊b相對距離的變 化量

( , ) 1( , )

t t

D a b D+ a b

是否極小,倘若在連續影像間,行人區塊間的相對距離變化不 大,則我們將行人區塊ab視為同一行人(圖 4.6)。

在實際的應用上,我們利用 4.3 節中提到偵測相鄰行人區塊 的方法,先將發生位移且相鄰的行人區塊視為同一類別。令Ut 時間t下,發生位移且相鄰的行人區塊,所形成的集合,針對屬 於同一集合的兩行人區塊a b, ,檢查

1( , ) ( , ) ( , )

t t t

D a b D a b a b U

是否小於某門檻值,倘若小於某門檻值,將a b, 兩行人區塊視為同 一行人所分解出的行人區塊,反之則視為不同的行人,使用上述 方法判斷此類別中的行人個數,可以解決同一行人分解成數個行 人區塊的問題。

最後,由於行人可能在監控場景中任意行走,倘若不給予監 測線,則難以判斷行人的進出狀態,因此在許多的研究當中[Alb01]

(10)

[Ter99] [Xia97] [Bes03],都給予一監測線,用來擷取通過監測線的行 人,或是判斷行人區塊的移動路徑是否跨越監測線,用以達到判 斷進出方向。因此本系統將監測線水平的設置在監控範圍中央 (圖 4.7),將監測線上下的行人區塊,給予不同的參數,藉由連 續影像間,同一行人區塊的參數變動狀態,來判斷行人區塊為進 入或是走出(圖 4.8)。

在本系統中,將監測線上方的行人區塊給予編號 0,下方的 行人區塊給予編號 1,倘若在連續影像間,行人區塊的編號由 0 變成 1,則我們將此行人視為進,編號由 1 變成 0,我們將此行 人視為出。由此可以較為明確定義行人的進出狀態,且較不受到 任意行走的行人影響。

由上述的方法,我們可以在行人通過監測線時,得知行人數 量以及行進方向,達到行人計數的目的。

(11)

A1、行人區塊間彼此的距離

A2、各行人區塊的x座標

A3、各行人區塊的y座標

(12)

A4、各行人區塊的彩色值 R

A5、各行人區塊的彩色值 G

A6、各行人區塊的彩色值 B

(13)

A7、各行人區塊的紋理強度

A8、各行人區塊的面積 表、4.1

(14)

'

A1、各行人區塊間的距離

'

A2、各行人區塊的 X 座標

'

A3、各行人區塊的 Y 座標

(15)

'

A4、各行人區塊的顏色值 R

'

A5、各行人區塊的顏色值 G

'

A6、各行人區塊的顏色值 B

(16)

'

A7、各行人區塊的紋理強度

'

A8、各行人區塊的面積 表、4.2

(17)

表、4.3 weight matrix

表、4.4 轉換矩陣

(18)

圖、4.1 紅線表示位移量不大的區塊

圖、4.2 完成固定區塊偵測後,紅線表示由中心值比較後,完成比對的區塊 藍線表示由 graph matching 完成比對的區塊。

(19)

(a)

(b)

圖、4.3 (a)不同時間下,相同區塊發生分裂的現象,導致中心位置偏移 (b)不同時間下,區塊發生合併的現象,以致於中心位置偏移,並且影響計數結果

(20)

圖、4.4 不同時間下,區塊發生分裂的情形,經過區塊合併的過程後中心位置修 正成合併後的位置

圖、4.5 單一行人被分割成兩區塊,導致計數結果錯誤

(21)

圖、4.6 連續影像中,兩區塊因為相對位置不變,視為同一行人。

(22)

圖、4.7 監控範圍以及監測線設置位置

圖、4.8 將監測線上下的區塊給予不同的參數,

藉由相同區塊參數的變動情況,判斷進出狀態。

參考文獻

相關文件

• 後段工程是從由矽晶圓切割成一個一個的晶片 入手,進行裝片、固定、接合連接、注模成 形、引出接腳、按印檢查等工序,完成作為元

本),或漁民、農民、軍人保險卡影印本。若為受僱於僱用

會議及展覽統計涵蓋在酒店、大型會議展覽中心等收費場地舉行之會議、展覽及獎勵活動。不包括少於10人的會議,亦不

實務上在應用 SPSS 軟體 run 完主 成分分析後,應該進一步進行因素 轉軸,在社會科學研究中,varimax 法為最常使用的,varimax

行為 描述行為時不要有批判成分 影響 說明行為對團隊/其他人的影響 期望 說明預期會採取甚麼改進性行為 結果

有人做過--個實驗:組織三組人,讓他們分別步行到十公里以外的三個 村子。

如圖,空間中所有平行的直線,投影在 image 上面,必會相交於一點(圖中的 v 點),此點即為 Vanishing Point。由同一個平面上的兩組平行線會得到兩個

‧ 「種籽」計畫名稱及編號 : 善用社區資源促進 常識科的探究式學習 (KP0107). ‧