• 沒有找到結果。

第三章 嵌入式系統移植

3.3 空間與時間機制的車道偏移警示演算法

3.3.3 偏移警示演算法

車道偏移警示中,考慮到車道偏移情形分為車輛所在靠近車道線發生偏移和 快速的移動情形導致偏移發生,故可分為空間偏移警示和時間偏移警示來處理,

其作用在於當車道發生偏移時,可利用空間和時間兩種機制來判斷是否發出警 示。首先定義警示框寬高大小,寬為影像寬度,高為二分之一影像高度,在影像 中以車道消失點為基準設為警示框上方邊界的中間點,接著並在警示框中定義危 險區域,代表當車道與警示框相交於危險區域內時則發出警示,其寬為二分之一 影像寬度,高為二分之一影像高度,利用上述警示框和危險區域完成空間和時間 偏移警示,如圖3.25 所示。

圖3.25、警示區域及危險區域在影像中的大小及位置

此外,由於必須針對大量串流影像輸入並運算的關係,所以在執行演算法時 皆以影像中獲得的車道資訊為主進行運算,此方法可讓所使用的空間減至最小,

方便整體演算法執行,故車道資訊會以結構化方式進行儲存,包含車道線位置上 端點、車道線位置下端點、車道線斜率、車道線截距和車道線長度,約佔28Bytes 大小,方便系統讀取運算。

觀察車道在影像中情形,可發現當車子偏移靠近車道時,影像中的車道線會 越來越接近車子正前方,圖 3.26 所示,故要判斷車子是否有發生偏移情形時,可 由車道在影像中位置判定,亦即利用空間偏移警示機制判定,再藉由車道在影像 中快速接近情形進一步完成時間偏移警示機制,如圖3.29 所示。

空間偏移警示定義如下,當完成車道偵測時,會得到兩條分別為左右的車道 線,計算出左右車道線各自的斜率a 、m a 與截距s b 、m b 後,求出車道線和警示框s 下邊界的交點與警示框底部角點的距離,分別以dMd 代表,判斷車道線是否與S 警示框下邊界相交於危險區域內,若是則發出警示,若不是則不發出警示,如圖 3.26 所示。

dm ds dm

圖3.26、(a)d 和M d 不在危險區域中不發出警示 (b) S d 在危險區域中發出警示 M 圖3.27 表示出 spatial_warning 函式的相關參數,圖 3.27(A)表示車道未發生偏 移時dM (Master_check_x)或d (Slave_check_x)皆落於 dangerous_region 外,即< S dangerous_region_left 和> dangerous_region_right,但在圖 3.27(B)時,由於車道偏 移 發 生 , 故 可 由 圖 中 看 到 dangerous_region_left< dM (Master_check_x)<

dangerous_region_right , 因 此 觸 發 了 空 間 警 示 。 圖 3.28 則 表 示 實 際 執 行 spatial_warning 函式時在正常行駛無偏移和車道偏移發生時的狀況。

圖3.27、(A)正常行駛無偏移,故主和副車道線與綠色警示框下邊界藍色交點 Master_check_x和 Slave_check_x不落於紅色危險區域中,而粉紅色線表示dMdS(B)車道偏移發生時,主車道線與 綠色警示框下邊界藍色交點Master_check_x落於紅色危險區域中,可視為dM大於危險區域左邊界

減警示框左邊界的距離,此處相減值為80

圖3.28、(A)正常無偏移情況下,spatial_warning函式執行前 (B)正常無偏移情況下,spatial_warning 函式執行後,車道線交點落於危險區域外(C)車道偏移情況下,spatial_warning函式執行前 (D)車

道偏移情況下,spatial_warning函式執行後,車道線交點落於危險區域內

dM Warning Box

Dangerous Region

dM dS

Warning Box Dangerous Region

Warning Box Dangerous Region

Time Period

dM

Time Period S

M d

d +

圖 3.29、(a)正常無偏移情形 (b)空間機制觸發

(c)時間機制觸發 (d)時間區間內dM +dS急速變化

圖 3.29 表示車道偏移時的俯視圖,由圖中可看到黑色攝影機視野線、綠色警 示框線、紅色危險區域線、藍色車道與警示框截距dMd 和粉紅色時間區間。 S

運算流程規劃為,首先計算警示框大小,找出危險警示區位置,接著計算車 道線在影像中位置,求出車道線與警示框的交點是否落於危險區內,若是,發出 警示聲,若不是,則不發出警示聲,如圖3.30 所示。圖 3.29(b)即為空間偏移警示 機制觸發狀況。

圖3.30、空間警示機制執行流程

時間偏移警示定義如下,統計空間偏移警示內的dMd 的總和在單位時間S Δt下前後兩個不同瞬間v

( )

t 的差值δ ,是否有超出所設定之門檻值,舉例來說,在 總執行畫面數20 張下,若是前 10 張畫面的dMd 和除以平均 10 張的執行時間S 減掉後10 張畫面的dMd 和除以平均 10 張的執行時間的差值,結果若大於門檻S 值則發出警示,若小於門檻值則不發出警示,如圖3.31 所示。

( )

t ,max dM

( )

t d

( )

t dM + S

dM

dS

( )

t v

Δtt

( )

t2 δ v

( )

t1

v

Δ tt Δ

圖3.31、(a)dMd 和的變化量 (b)判斷變化量S δ 是否大於門檻值

運算流程規劃為,先求出車道線與警示框截距dMd ,並且紀錄一個時間區S 間後,可為五張或十張車道資訊,接著將在此時間區間內的dMd 加總後判斷其S 總和是否大於所設立的門檻值δ ,若是,發出警示聲,若不是,則不發出警示聲,

如圖3.32 所示。圖 3.29(c)、(d)即為車輛在時間區間下急速偏移,導致時間偏移警 示機制觸發。

圖3.32、時間警示機制執行流程

其中時間警示機制與空間警示機制關係為時間警示機制中的時間區間是根據 空間警示機制處理每張畫面所花費的時間來決定,以本系統為例,處理每張畫面 大約花費300ms,即 fps 約為 3 表示為P = 3,當空間警示機制中,車道由畫面中t 間到畫面邊緣,其dMd 和最大為 1/2 影像寬度S I ,表示為W 0≤dm+ds ≤12IW, 加上平均車道變換時需花費3 ~ 5 秒時間,約佔 3 x 3 = 9 張畫面,故最靠近車道時 約需花費4.5 張畫面,根據此數據,設定時間區間F 為 2,以確保當車道開始發生n 偏移時最快不超過 4 張畫面,可表示為12×Fn Pt ,整理成式(12),代入各數據,

可得門檻值δ = 0.12 為,10 表示 ms。 3

103

2 2 1

×

±

=

t n

W

P F

δ I (12)

相關文件