2-1
第二章 第二章 第二章 第二章
鄰近車輛之危險動向 鄰近車輛之危險動向 鄰近車輛之危險動向
鄰近車輛之危險動向分析 分析 分析系統 分析 系統 系統 系統
2.1 系統架構系統架構 系統架構系統架構
在高速公路上,如果行車的環境發生了明顯的改變,那麼駕駛者的注意力 就會被這些改變所吸引。例如:前方鄰近車輛與本車的距離愈來愈近,或是左、
右方的鄰近車輛變換車道到本車前方,都會引起駕駛者的注意。鄰近車輛之危險 Image Sequence
Information Acquisition
STA Neural Module
Attention Map Segmentation
Pattern1 Pattern2 Patternn
Skewness Feature Extraction
Skewness Feature Extraction
Skewness Feature Extraction
ART2 ART2 ART2
Integration
Output
圖 2-1、高速公路上鄰近車輛危險動向分析系統之流程圖。
動向分析系統即是在處理此狀況,如果行車環境的改變可能對本車造成危險的情 形發生,系統便警告駕駛者小心注意。
圖 2-1 為鄰近車輛危險動向分析系統之流程圖。本系統的輸入為彩色影像序 列(image sequence),可由架設在本車上的攝影機獲得。當影像輸入後,經由資訊 擷取(information acquisition)的步驟可擷取影像時間上和空間上的資訊。
當本系統獲得上述的資訊以後,經由 STA 類神經網路(STA neural module) [Fan02, Fan03]的處理可產生注意力圖像(attention maps)[Yen04]。注意力圖像是一 個灰階的影像,其亮點分佈的位置代表鄰近車輛可能所在的位置,亮點分佈漸層 的方向則代表鄰近車輛移動的方向。圖 2-2 為前方車輛跨車道到右邊車道之影像 與其對應之注意力圖像,由注意力圖像可知當前方車輛跨車道到右邊車道時,注 意力圖像上的亮點逐漸形成某種漸層,當它足夠明顯時就形成注意焦點(focus of attention)。
由於注意力圖像上可能不只出現一個注意焦點,例如在高速公路上可能有一 至三台鄰近車輛的動向同時改變,每一個鄰近車輛動向的改變都會產生一個對應 的注意焦點。如果將多個注意焦點一起送到類神經網路做分類的話,各種不同注 意焦點的組合會有非常多種,窮舉出所有的組合來訓練類神經網路會有很大的困 難,因此我們認為先對注意力圖像上的注意焦點做分割之後再分別輸入類神經網 路 做 分 類 會 比 較 容 易 , 因 此 需 要 進 行 注 意 力 圖 像 分 割 (attention map segmentation),其中分割出來的影像稱之為 pattern,且每一個 pattern 上只有一個 注意焦點。注意力圖像分割的方式將在第三章第 2 節中敘述。
各個 pattern 分割出來之後,如果直接將它們送到類神經網路做分類,雖然 是做同樣的行為,卻因為大小的不同或是偏移的情形產生不同的分類結果,所以 需要先從各個 pattern 中擷取不受這兩因素影響的特徵。本系統是利用偏態 (skewness)來當做 pattern 的特徵,除了不受上述兩個條件影響外,由於注意焦點 亮點分佈的位置和分佈的漸層方向同時代表鄰近車輛的位置和鄰近車輛移動的 方向,因此我們認為利用偏態的觀念可以擷取出符合上述條件要求的定性特徵,
2-3
此種特徵的擷取將在第四章第 1 節中詳細說明。
各 pattern 的特徵擷取出來後,本系統會將它傳送至 ART2 類神經網路(ART2 neural network)[Car91] 作 分 類 , 稱 為 注 意 焦 點 分 類 (classification of focus of attention)。每個 pattern 擷取出的類別特徵向量各由一個相同的 ART2 類神經網路 來做分類,當模糊整合值超過某一個門檻值就會產生出結果。由於每一個注意焦 點都會產生出一種分類結果,且一個注意力圖像上有多個注意焦點,所以本系統 會對每一個注意焦點產生的分類結果做一個整合,再由系統輸出整合結果。
圖 2-2、前方車輛跨車道到右邊車道之影像與其對應之注意力圖像。
2.2 Mean Shift
Mean shift 這個概念最早是由 Fukunaga 等人[Fuk75]在 1975 年提出,當初只 是一個名詞,代表偏移均值。但是隨著 mean shift 理論的發展,其含義也產生了 變化,現在所提的 mean shift 演算法其實是指一個迭代的步驟,即先算出當前點 的偏移均值,之後移動該點到其偏移均值,然後以此為新的起點,計算其偏移均 值,繼續移動它,直到滿足一定的條件為止。
不過 之後 mean shift 並沒有 引 起 大家 的 注 意, 直到 1995 年, Yizong Cheng[Che95]發表一篇關於 mean shift 的重要文獻,對 mean shift 演算法做了兩 個推廣,大幅地提升了 mean shift 的應用範圍:
(1) 定義核心函數:
樣本點與被偏移點的距離不同,對偏移均值的貢獻也不同。
(2) 設定權重係數:
不同的樣本點隨著重要性的不同,給與的權重係數也不同。
以下就對核心函數和 mean shift 演算法做一個介紹。
2.2.1核心函數核心函數核心函數核心函數
定義: X 為一個 n 維的歐氏空間, x 為該空間的一個點, R 表實數域,且 x
x x||2= T
|| 。如果函數K:X →R存在一個剖面函數k:[0,∞]→R,即 )
||
(||
)
(x k x 2
K =
則K(x)稱為核心函數。
核心函數有多種選擇方法,但是不論選哪一種方法,都必需符合以下的特性:
(1) k 是非負的。
(2) k 是非遞增的,如果a< ,則b k(a)≥k(b)。
(3) k 是分段連續的,且∫0∞k( drr) <∞。
以下為兩種較常使用的核心函數(圖 2-3):
(1) 單位均勻核心函數
>
= ≤
1
||
||
if 0
1
||
||
if ) 1
( x
x x
F
(3) 單位高斯核心函數
||2
) ||
(x e x G = −
(a) (b)
圖 2-3、核心函數:(a)單位均勻核心函數,(b)單位高斯核心函數。
另外,一個核心函數可以與一個均勻核心函數相乘然後截尾,以下為一個截尾高 斯核心函數(圖 2-4):
2-5
>
= ≤
−
λ
β λ
λ β
||
||
if 0
||
||
if )
)(
(
||2
||
x x x e
F G
x
(a) (b)
圖 2-4、不同的β、λ所對應的截尾高斯核心函數:(a)G1F1,(b)G0.1F1。 一般來說,離x越近的樣本點對x的影響比較大,所以在計算其偏移均值
) (x
m 時才會引進核心函數的概念,考慮距離產生的影響。至於使用哪一種核心 函數,完全是依照使用者的應用而定。
2.2.2 mean shift演算法演算法演算法演算法
令 S 為一個有限集,稱為樣本點集合;x為歐氏空間上的一個點; X 為一個 n維的歐氏空間且x⊂X、S ⊂X;K(x)為核心函數。則x點的偏移均值定義為:
∑
∑
∈
∈
−
−
=
S s
S s
x s K
s x s K x
m
) (
) ( )
(
且偏移均值會指向樣本點分佈最密集的地方。
由於每一個樣本點對 x 的重要性都不一樣,所以對每個樣本點都引入一個權 重函數,可以把基本的mean shift擴展為:
∑
∑
∈
∈
−
−
=
S s
S s
s w x s K
s s w x s K x
m
) ( ) (
) ( ) ( )
(
權重函數w(s)代表 s 對偏移均值的重要程度,可以保持固定,或是依照系統應用 的不同每迭代一次就重新更新一次。
令T為有限集,稱為群聚中心(cluster centers)集合,且T ⊂X ,則mean shift 演算法表示如下:
) (T m T ←
} );
( { )
(T mt t T
m = ∈
當滿足一定的條件後(m(T)=T),演算法就結束。對每一個t來說,會產生一序 列t,m(t),m(m(t)),...,稱為t的軌跡。T集合中元素的個數可依照使用者應用的不 同而做調整,當T等於 S 時,mean shift 演算法被稱為blurring process。
Mean shift演算法能應用在很多地方,本系統是利用它來分群[Che85]。由於
本系統不能事先預期注意力圖像上的注意力焦點有幾個,所以利用T等於 S 的
mean shift 演算法來分群:將T 中的的每一點當做初始點,分別執行 mean shift
演算法,收斂到同一個群聚點的點都算做是同一類群。