沈念偉,于大泳
(200093 上海市 上海理工大學 機械工程學院)
進入21 世紀以來我國汽車產(chǎn)量日益增加,但隨之而來的交通事故也同樣增多。中國交通網(wǎng)2018 年數(shù)據(jù)顯示,當年全球道路交通事故造成的死亡人數(shù)多達125 萬,交通事故傷害已位列第8大致死原因,其中有較大比例是因為躲避障礙物不及時所造成的[1]。如果能在行駛過程中提前檢測和躲避道路中的障礙物,那么交通事故的發(fā)生概率就會大大降低,由此可見障礙物的檢測在汽車的行駛過程中極為重要。隨著時代的發(fā)展,城市道路中的交通工具成為了最主要的障礙物,其次是行人,所以本文主要研究的障礙物是各種交通工具和行人[2]。目前對于道路上的障礙物的檢測和識別主要依靠的設備大多是激光雷達、機器視覺以及超聲波。由于激光雷達過于昂貴,也易受電磁波干擾,超聲波雖然結(jié)構簡單,價格也便宜,但是其缺點也比較明顯,就是測量的距離太短,達不到車輛的要求,因此這些設備并不適合大批次生產(chǎn)。然而單目攝像頭成本較低,對于資源要求也不高,比較適合大批次生產(chǎn)[3]。
本文采用CMOS 攝像頭對道路上障礙物進行采集,首先對采集到的圖像設定ROI 區(qū)域,再對ROI 區(qū)域進行預處理,采用加權平均法進行圖像灰度化,除噪階段選擇了效果較好的中值濾波,對除噪后圖像進行了基于遺傳算法的二維最大熵法的閾值分割,較于傳統(tǒng)的閾值分割法,分割效果更優(yōu),其速度也很快。最后通過形態(tài)學、填充算法和差分法對道路上的障礙物進行檢測和提取,具體的流程圖如圖1 所示。
圖1 障礙物檢測流程圖Fig.1 Obstacle detection flow chart
為了實驗的嚴謹和真實性,本文所有視頻圖像都是通過汽車的行車記錄儀所獲取,體現(xiàn)了障礙物的隨機性。本實驗所用的行車記錄儀的攝像頭的品牌型號是惠普F975X 黑色,分辨率為1 080×820,采用CMOS 傳感器。行車記錄儀如圖2 所示,將獲取到的視頻加載到電腦上進行算法處理。
圖2 行車記錄儀Fig.2 Automobile data recorder
感興趣區(qū)域ROI(region of interest)是指從圖像中選取一個在整幅圖像最想要的區(qū)域,而這個區(qū)域?qū)⑹潜疚乃芯康闹匾獏^(qū)域,相比于處理原圖來說這樣可以大大減少計算機的運行時間。本文研究的是汽車正前方的區(qū)域,對車輛有威脅的障礙物會從圖像的正上方慢慢出現(xiàn),ROI的區(qū)域范圍應該根據(jù)汽車的車型尺寸來確定,由于市面上不同的汽車其車型尺寸大小也各不相同,所以在圖像I 的范圍(r,c)區(qū)域內(nèi)以固定百分比k%和l%[4]。提取ROI 區(qū)域的公式如下:
式中:k,l——一般取值為0.3;ceil——向下取整函數(shù)。根據(jù)上述方法在圖像中提取的感興趣區(qū)域如圖3 所示。
圖3 原圖中提取ROI 區(qū)域Fig.3 Extract ROI area from original image
在獲取圖像的過程中,往往會有許多外在的因素,從而導致攝像頭采集到的圖像存在質(zhì)量問題,例如惡劣的自然氣候甚至是路面上的強光照射,造成許多攝像頭都會存在曝光問題。圖像的質(zhì)量問題會直接影響到計算機檢測的結(jié)果,因此在對圖像進行正式處理之前必須對其進行預處理,這樣就能夠最大化程度過濾掉圖像上的一些無用的信息以及加快圖像的處理效率。所以圖像預處理的必要不言而喻。
如今大部分的攝像頭類型所拍攝的圖片都是彩色的,彩色圖像包含的數(shù)據(jù)特別大,這樣就會增加后期計算機處理的速度,大量的數(shù)據(jù)集會占據(jù)計算機的運行內(nèi)存,因此必須把圖像進行灰度化,這樣就可以在保留圖像的重要信息的情況下能夠避免這樣的事情發(fā)生,對圖像進行灰度化后,才能保證后續(xù)算法運行順利。
彩色圖像由紅、綠、藍(RGB)3 種顏色組成,其像素點的變化范圍由0 到255×255×255 之間。進行圖像的灰度化目的就是為了改變其像素的變化范圍,將其像素的范圍變化成0 到255。本文采用的是一種加權平均值的方法進行灰度化處理,根據(jù)彩色圖像的3 個通道各自的重要性賦予不同的權重,然后再進行加權平均處理。大量實驗表明,比較符合人類視覺的灰度值的最佳顏色的權重分別為紅色0.3、綠色0.59、藍色0.11。加權平均法公式如下所示:
式中:i,j——像素所在的位置的像素值。
灰度化效果如圖4 所示。
圖4 加權平均的灰度圖像Fig.4 Weighted average grayscale image
圖像的噪聲可以理解為“妨礙人們感覺器官對所接收的信源信息理解的因素”,在其理論上是不可預測的,只能用概率統(tǒng)計方法來認識的隨機誤差[5]。圖像的大部分能量都集中在幅度譜的中頻段以及低頻段,因此在高頻段一些比較有用的信息往往帶有一些噪聲,所以在圖像預處理階段必須使用一種濾波方法,只有降低高頻段部分的成分幅度,才能夠最大程度地減弱噪聲。本文所用的濾波方法為中值濾波。中值濾波是一種鄰域運算,把鄰域中的所有像素值按照大小進行排序,然后從排序的列表中選取中間值作為其像素值,這樣就能夠讓每一個像素點的值都接近真實的數(shù)據(jù),進而達到了去除圖像中孤立點噪聲的目的。中值濾波后的效果如圖5 所示,其優(yōu)點在于實際運算過程中并不需要圖像的統(tǒng)計特性,也因此給計算機的運算帶來了很大的便利。其中值濾波的公式如式(3):
式中:f(x,y)——處理前的圖像;g(x,y)——中值濾波后的圖像;W——鄰域內(nèi)的像素點。
圖像分割的目的就是把障礙物與背景分開,為后續(xù)的障礙物的提取提供基礎。圖像分割的方法有很多,有基于邊緣的分割方法,基于閾值的分割方法等等。在圖像處理中,閾值分割法是一種較為常用的圖像分割的方法,主要是因為計算比較簡單,性能比較穩(wěn)定,速度快,在圖像處理領域被廣泛運用。
傳統(tǒng)的閾值分割方法在處理一些背景比較單一且?guī)缀醪蛔儠r,這種方法能夠達到很好的分割效果,但是碰到背景比較復雜且信噪比較小的圖像時,分割效果往往就會變得很差。本文摒棄傳統(tǒng)的閾值分割法,選用的是一種基于遺傳算法的二維最大熵的方法實現(xiàn)灰度圖像閾值的分割[6],熵在數(shù)字圖像處理和模式識別的領域中代表的是一種平均信息量的表征,應用非常廣泛。使用此方法分割后的結(jié)果如圖6 所示。
圖6 閾值分割圖Fig.6 Threshold segmentation diagram
傳統(tǒng)的閾值分割法的分割時間太長,無法達到要求,使用遺傳算法之后能大大節(jié)省時間,增加了算法的實效性。表1 是實驗過程中連續(xù)5 次獲取的算法運行時間和閾值的分割結(jié)果,由此看出其運行時間較短。
表1 算法的運行時間和閾值Tab.1 Running time and threshold of the algorithm
在對感興趣區(qū)域(ROI)進行圖像的閾值分割之后,發(fā)現(xiàn)其圖像中仍然存在一些毛刺以及斷斷續(xù)續(xù)的地方,為了進一步優(yōu)化改善,可以在圖像的連通區(qū)域進行形態(tài)學修復。形態(tài)學的閉運算是一種先膨脹然后再腐蝕的幾何運算的濾波器,使用閉運算能夠最大程度改善圖像中的障礙物邊緣不連續(xù)以及毛刺的現(xiàn)象,而使其總的位置和形狀卻幾乎不會變化。處理后的效果如圖7(a)所示。使用填充算法對障礙物部分進行填充,填充效果如圖7(b)所示。最后階段使用帶閾值的差分法,能夠得到障礙物的大致區(qū)域[4]。如果障礙物的區(qū)域的面積大于閾值T時,那么則認為被檢測到的區(qū)域就是障礙物,然后把這塊區(qū)域標記出來,否則就認為這塊區(qū)域不是障礙物。使用帶閾值的差分法能夠有效防止在運算過程中出現(xiàn)誤差情況的發(fā)生。其中,本實驗中所用的閾值T為圖像面積的5%±0.5%。檢測的結(jié)果如圖7(c)所示。
圖7 障礙物的提取過程Fig.7 Process of obstacle extraction
通過上述3 個步驟對ROI 區(qū)域內(nèi)的障礙物進行提取,在不考慮大霧、暴雨等干擾度較大的天氣影響下,基本可以完成對障礙物的檢測。在不同復雜環(huán)境下的障礙物檢測試驗結(jié)果如圖8 所示。
圖8 障礙物檢測實驗結(jié)果Fig.8 Test results of obstacle detection
針對汽車在行駛過程中所遇到的障礙物未能夠及時準確檢測的問題,本文對道路中的障礙物部分的快速檢測做了詳細的介紹。論文的實驗結(jié)果是基于MATLAB 軟件仿真。通過大量的實驗結(jié)果表明:在道路大體一致的情況下,利用本文的研究算法是切實可行的。