top of page

專題企畫書

研究主題: 以視覺為基礎之車道線偵測系統

(一)摘要

        近幾年來,汽車使用率已經在全球名列前茅,並且有越來越高使用率的情況發生,雖說因台灣的土地面積較為小所以會以機車為主流,但是在以世界為前提下,汽車的演進是不容忽視的,也因為汽車的無限發展,造成了更大量的汽車交通事故案件,要如何去減少次類交通案件也成為了一件非常重要的課題,根據交通部交通安全入口網,84年的汽車肇事率每萬輛就有7.0的肇事率,然而因為行車紀錄器的車線,車輛的肇事率有越趨漸少的情況,一直到近年的104年,車輛的肇事率還是有0.7,可見駕駛人的行車安全知識雖然被有所推廣,但是卻還是不足以將肇事率降至最低,若是能由機器來判斷駕駛人是否有行車安全的疑慮,提早地去提醒駕駛人車流的安全性,定能大幅度的降低車禍率,增加社會福祉,本計畫主旨就是為了提升行車安全,利用車上安裝的感測元件(例如: 行車紀錄器)的影像判斷出前方,甚至後方車輛移動狀況,擷取出車輛四周資訊,經過系統分析產生出需要的資訊,以車輛行駛的方面來說,車道線是警示的重要目的,因此系統主要著重於車道線的判斷以及警示,在駕駛未注意到的情況下加以提醒,藉以提高行車安全性。本研究使用了最佳二值化、霍夫轉換(Hough Transform)等等處理方式,嘗試找出最佳的閥值(Threshold),因而過濾出正確的車道線,另外還結合了動態興趣區間(Dynamic Region of Interesting , R.O.I.)藉由設定ROI的範圍,加速程式的運行,增加正確率以確保行車人的行車安全,降低運算量同時也能提高系統的運行速度,在未來的高速運算CPU中也能跟得上時代,成功造出高效率的行車安全警示器。

(二)研究動機與研究問題

        現今社會中代步工具汽車的使用越趨上升,而在2010年5月底的統計資料中,自小客車以及小貨車就已經到達了655萬5776輛的驚人數量,平均每3.52人就有一部自小客車,相對的,汽車中佔的車禍比例也較高,汽車的普及率不斷上升造成交通事故量不斷增加,根據內政部統計,98年1-10月造成人員傷亡之道路交通事故計14萬7,640件,其中酒醉(後)駕駛失控占18.6%最多,駕駛人未注意車前狀態占18.1%次之,駕駛人未依規定讓車占12.3%居第三,可以發現「駕駛人未注意車前狀態」位居第二名,顯而易見的「未注意車前狀態」對於交通事故是多麼的嚴重,國內也有非常多的人研究如何使用偵測裝置提醒道路駕駛人前方車況,利用儀器減少交通事故,藉此提高安全性,本研究希望秉著前人的智慧與成果,加以改善,製作出更加完善的系統偵測道路線,提高偵測正確率。

        除此之外,我們也希望能夠讓系統在各種不同的狀況下能夠正確判斷出車道線;例如雨天,容易造成地面反光,地面的反光容易造成邊界的混淆,製造更多的不確定因素,造成系統判斷上的失準,有高機率偵測不到車道線,警示器也容易因此誤判,當駕駛人在道路駕駛的時候,一點點的失準也非常地容易造成駕駛誤判路況,這樣反而會增加肇事率,因此若是系統無法判斷正確的地面車道線,警示器的突然警報容易造成駕駛恐慌,在道路駕駛中起了反效果,因此正確率對於此一系統是非常重要的;又如強烈亮度變化的道路中,偵測也容易早成計算上的誤差,在Canny運算法運算之時,黑白兩交界容易使程式判斷成一條分界線,而在最佳二值化閥值(Threshold)中,若是閥值的數值無法將其區分,也會讓程式的計算出現錯誤,進而使系統誤判,行車安全必須將判斷的正確率大幅提升至99%無誤,才能有效的阻止交通案件的發生,若是在沒有車的情況下系統誤判而發出了警戒聲,駕駛就會受到驚嚇而無法做出正確的判斷了,更何況是在有車輛靠近的時候,系統未及時的提醒駕駛人須減速又或者是停下,這樣的判斷的差距將會非常容易造成巨大的損害,因此,希望藉由本計畫,使系統穩健且能高效率的判斷出車道線的遠近,又甚至能判斷出其他車輛時否靠近自己的車輛,在製作此類系統之時,也必須使系統擁有高正確率並有相當的強健性。

        另外,駕駛人的精神狀態也希望能夠被系統所判斷出來,一般的道路駕駛中不容易出現車道不停變換的狀況,若是系統偵測出車輛不停地偏離車道線,甚至像邊界或分隔島靠近,究能夠適時地發出警示音,提醒駕駛回神,或是建議駕駛人稍作休息,再做上路的動作。

        正確的判斷道路線的困難點突破並不輕鬆,以往的許多前輩都相繼以自己的理論基礎做出各種不同車道判斷方法,例如:S. Zhou 等學者以幾何模型來定義車道線,建立車道線的對應模型以及模型的比對; M. Meuter 等學者則是提出運用ROI(Dynamic Region of Interesting , R.O.I.) 來縮短運算時間的方法; Z. W. Kim 提出一個具有強健性之車道線偵測系統,雖然可以針對轉彎或者彎曲道路等情況來進行偵測,不過系統在車道線不明顯或者有劇烈亮度變化的情況下還是會因為無法偵測出車道線而停止動作,另外還有各種針對不同環境(例如: 快速道路)等等的方法,試圖改善正確率。

(三)文獻回顧與探討

        所謂的影片是由一張一張的圖片所連接出來的,本研究所使用的影片約為一秒30張圖片(frames),在”具強健性之車道線偵測系統"中,詳細描述在處理影像之過程(影像切割、Channel Filtering、最佳二值化閥值等等),將影片之各個frame中的影響處理結束,做出完整的車道模型,並且判斷此車道模型是否與實際道路有所契合,利用轉折點運算法來判斷轉折點是否存在,動態區間運算法依據轉折點的位置執行動態興趣區間運算,將轉折點周圍圖片切割出來並進行比對,減少雜訊,並使運算能夠達到即時運算的效果。

        將影片分割成一張一張的圖片(frames)之後,必須將每一張圖片轉為RGB三種不同的色彩元素,所謂的RGB三色就是在指電腦中的色彩三元素,三個職能夠代表所有顏色的值,本系統使用紅色的值去做運算。

        當圖片轉為RGB三原色的時候,會以灰階的方式來做為表示,由Gray(0,255)中的數值來代表圖片紅(藍、綠)的程度。利用這一種方式,能夠讓電腦簡單的讀出圖片所含的參數。

        所謂的霍夫轉換(Hough Transform),其核心思想是把圖像中屬於某種圖形的點集(二維)映射到一個點上,這個點記錄了點集中點的數目,使得程式通過搜索峰值找到該點,這個點就是後面要說到的圖形的參數,而該參數的範圍就叫做參數空間。在偵測直線方面霍夫轉換是使用極座標的公式表示。

        Hough transform把每一個影像點(x,y)映射至多重的參數點(a,b),我們使用一個累增器來紀錄每一組(a,b)出現的次數,出現頻率最高的一組(a,b),就是影像空間上最具代表性的一條直線。

       利用Hough transform的方式,就能夠找出圖片裡面的所有直線了,同樣的方式不停地重複執行,便能得到整部影片所有的直線。霍夫轉換更改公式之後也能偵測出各種不同的形狀,如:圓形霍夫轉換(Hough transform)。

(四)研究方法與步驟

        本研究所設計的偵測方法,是利用Visual Studio中C#的額外安裝元件EmguCV,EmguCV的影片處理較其他語言較為快速,且有更多的影像處理語法,故使用之。使用EmguCV的語法,先將所得到的行車紀錄器錄製之影像分割為圖片(30fps)(frame per second),針對每一張frame先使用Canny將邊界找出來,再用Hough Transform找出所有直線的部分,對行車紀錄器的影像找出了,車道線是介於0~75度角之間對稱,因此放入判斷角度的方式,偵測是否有非車道線的存在並予以排除。

        在Hough Transform中需要用到的Threshold也是主要的求值目的,所謂的Threshold的簡單定義就是,當我們使用了二值化方法,以一個自訂的值T(Threshold),比他大的就變成255,比她小的就算成0,做為一個區分所使用的值,使圖片上面只有兩種顏色:黑與白,讓程式能夠更加容易的去區分邊界,達到判定的效果。要如何去尋找到一個最佳的T值,便是一個非常重要的課題。

        另外來說,將圖片利用pixel by pixel operation,將彩圖先轉為一張灰階的圖,使圖片上的每一個像素的亮度值都介於[0,255],再用T(Threshold)的方式實作。

LEARNING

2016

bottom of page