国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于計算機視覺的車道識別及駕駛狀態(tài)監(jiān)測方法

2022-04-29 19:43:34賈文洋王鵬舉吳文祥劉朋
計算機應用文摘 2022年12期
關(guān)鍵詞:計算機視覺

賈文洋 王鵬舉 吳文祥 劉朋

關(guān)鍵詞 計算機視覺 車道識別 駕駛狀態(tài)監(jiān)測

1引言

近年來,隨著社會經(jīng)濟的不斷發(fā)展,人們生活水平不斷提高,越來越多的家庭擁有了汽車。自動駕駛技術(shù)的不斷發(fā)展,使得越來越多的汽車開始裝備駕駛輔助系統(tǒng)。

采用計算機視覺進行道路識別和駕駛輔助具有成本低、部署快速、效率高等特點。使用OpenCV 對攝像頭傳回的數(shù)據(jù)進行實時處理。使用Canny 邊緣檢測技術(shù)和霍夫變換以實現(xiàn)圖像的實時處理,Canny 邊緣檢測采用了高斯模糊來加強對數(shù)據(jù)處理的精準性,首先進行圖像的降噪,然后計算圖像梯度,隨后進行非極大值抑制和閾值篩選,使用霍夫(Hough)變換尋找直線,最后標記出道路供駕駛員參考或為自動駕駛設(shè)置界限。

在OpenCV 的基礎(chǔ)上,引入Tensorflow API 和已訓練數(shù)據(jù)集進行目標識別[1] 。根據(jù)已經(jīng)訓練好的模型,在車輛行駛中進行目標識別,如行人、車輛、紅綠燈等。同時,針對已有系統(tǒng)無法對駕駛員進行監(jiān)控和駕駛輔助問題,我們采用車載雙攝像頭的方式對車外道路信息和車內(nèi)駕駛員駕駛狀態(tài)進行實時采集來解決。車外攝像頭采集圖像,使用OpenCV 進行實時的圖像處理,識別車道并幫助駕駛員進行行車路線的保持;車內(nèi)攝像頭通過對駕駛者一定時間內(nèi)的眨眼次數(shù)進行統(tǒng)計,以判斷駕駛員的駕駛狀態(tài)。

2車道識別步驟及算法實現(xiàn)

車道線檢測和識別模塊主要流程如圖1 所示。

2.1ROI 區(qū)域劃分算法實現(xiàn)

收集實時圖像時,圖像中會出現(xiàn)對數(shù)據(jù)處理結(jié)果產(chǎn)生干擾的區(qū)域,如路邊的電線桿、大石塊等。這些因素的出現(xiàn)會導致數(shù)據(jù)處理速度變慢甚至影響準確性。為了排除非必要數(shù)據(jù)所帶來的干擾,通過圖像ROI 來解決這個問題。ROI 通過在圖像上選擇或使用諸如設(shè)定閾值以及從其他文件轉(zhuǎn)換獲得等方法生成。ROI 區(qū)域可以是點、線、面、不規(guī)則的形狀,通常用來作為圖像分類的樣本、掩膜、裁剪區(qū)。根據(jù)實際情況和模擬場景所提取到的數(shù)據(jù)來看,車道線的信息一般位于圖像中間靠下部分,因此需要對圖像進行裁剪,從而減少計算時間、提高檢測精度[2] 。

2.2圖像灰度處理算法實現(xiàn)

為了減小后續(xù)圖像處理的計算量,提高系統(tǒng)的實時性能,需要將車外攝像頭采集到的實時彩色圖像轉(zhuǎn)變成灰度圖像(圖2)。灰度圖像將反映圖像局部和全體的色度與亮度階度的分布特征,并且灰度圖像消耗的內(nèi)存空間小。

2.3Canny 邊緣檢測算法實現(xiàn)

可以在精準提取圖像邊緣的前提下,盡可能降低噪聲所產(chǎn)生的影響,并且將圖像中弱邊緣和強邊緣識別出來。對于路面磨損、不清晰等情況,Canny邊緣檢測的魯棒性強,能夠綜合強弱邊緣的位置關(guān)系,計算出圖像整體邊緣信息。Canny 邊緣檢測算法如下。

使用高斯模糊對圖像進行處理,保留邊緣信息,使用3×3 高斯濾波器:

采取非極大值抑制,比較圖像像素和梯度強度與正負兩個方向上的兩個像素,若當前像素梯度強度大于其他兩個梯度時,設(shè)置該點為邊緣點,反之則該點將會被抑制。

檢測強邊緣和弱邊緣。設(shè)置兩個值為閾值。將檢測到的邊緣點梯度值與雙閾值進行比較。若邊緣點梯度值大于較小閾值且小于較大閾值,則該點為弱邊緣;若該點梯度值小于小閾值,則刪除該點。

在進行灰度處理后,系統(tǒng)將采用高斯濾波對圖像在傳輸過程中因為各種因素所干擾而產(chǎn)生的噪聲干擾進行去除。通過高斯函數(shù)離散化處理,以離散點的高斯函數(shù)值為權(quán)重對圖像灰度矩陣的每個像素進行加權(quán)平均,最后輸出結(jié)果(圖3)。

2.4霍夫變換對直線進行檢測算法實現(xiàn)

為了在車道檢測的過程中將區(qū)域中的直線繪制出來(圖4),實現(xiàn)ROI 區(qū)域像素從笛卡爾x?y 坐標系到霍夫k?b 坐標系的轉(zhuǎn)換,使用了概率霍夫變換,其算法如下:(1)檢測直線上的所有像素點,找到符合y=kx+b 的所有點坐標(x,y);(2)將y=kx+b 轉(zhuǎn)換為b=-kx+y 的形式。y=kx+b 直線上的點在b=-kx+y 上都體現(xiàn)出經(jīng)過(k,b)點,將這些點轉(zhuǎn)換為直線;(3)圖像中所有b=-kx+y 的點都表示各種直線。若找到了直線的交點,那么就找到了y=kx+b 坐標中的直線。

2.5圖像實時回傳的處理方法

使用OpenCV 獲取實時畫面,并將畫面以窗口化方式呈現(xiàn)在車載電腦屏幕上。對實時屏幕畫面進行典型處理,對傳回的圖像進行灰度處理和canny 邊緣檢測,最終可以達到每秒20 幀左右的畫面實時處理速度。如圖5 所示。

2.6提高邊緣檢測下直線精度的處理方法

將傳回的圖像直接進行邊緣檢測處理時,存在識別線條精度問題:一些線條出現(xiàn)短線、斷層,這對車道的精準識別產(chǎn)生影響。傳回邊緣檢測所產(chǎn)生的線條時,以坐標形式進行函數(shù)劃分,在斷層處畫線連接,使用高斯模糊對圖像進行邊緣化處理。

3使用Tensorflow API 中的部分方法實現(xiàn)目標識別和碰撞預警

使用OpenCV 的目標識別函數(shù)進行動態(tài)物體的識別,會導致識別效率低下[3] 。為了更好的解決上述問題,選擇使用Tensorflow API 與已經(jīng)訓練好的模型相結(jié)合,進行實時識別并標注車輛、行人、紅綠燈位置,還可以進行距離碰撞預警(圖6)。主要方法如下。

4駕駛員駕駛狀態(tài)識別及算法實現(xiàn)

駕駛員駕駛狀態(tài)識別模塊主要流程如圖7 所示。

4.1使用OpenCV 進行人臉識別的算法實現(xiàn)

通過OpenCV 調(diào)用攝像頭,使用基于dlib 的68 個特征點檢測模型進行人臉識別、眼間距以及眨眼次數(shù)的統(tǒng)計。主要算法如下。

4.2Yolov5 進行物品識別的算法實現(xiàn)

在前期進行模型的訓練,使系統(tǒng)具有識別手機、水杯的功能,并進行系統(tǒng)自動標注( 圖8)。使用yoloV5 python 接口(detect.py)處理圖片并創(chuàng)建Flask服務(wù),主要算法如下。

4.3駕駛員駕駛疲勞判斷的算法實現(xiàn)

檢測駕駛員的瞳孔直徑,計算注目凝視、眼球轉(zhuǎn)動、眉眼掃視、眼睛閉合的時長,確定駕駛員疲勞的程度。根據(jù)Perclos 算法檢測出駕駛員存在疲勞駕駛狀態(tài),系統(tǒng)就會發(fā)出預警信號。主要算法如下。

5總結(jié)

本文通過基于OpenCV 實現(xiàn)了攝像頭的視頻流處理,識別出當前道路直線情況。同時,調(diào)用TensorflowAPI 實現(xiàn)了行車障礙的識別和碰撞距離的預警;對于車內(nèi)駕駛員,通過OpenCV 和Yolov5 實現(xiàn)了對駕駛員駕駛狀態(tài)的檢測和特定物品識別,將大大增加駕駛安全性。本系統(tǒng)尚有不足之處,如對道路識別的準確性、對特定物品識別的速度和精準度等都有待提高,未來將逐漸完善此項工作,不斷提高系統(tǒng)的穩(wěn)定性和魯棒性。

猜你喜歡
計算機視覺
基于光流技術(shù)的障礙物檢測方法
軟件(2016年4期)2017-01-20 09:48:18
無人駕駛小車定點追蹤系統(tǒng)的設(shè)計與實現(xiàn)
軟件工程(2016年11期)2017-01-17 19:50:08
基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體識別算法
雙目攝像頭在識別物體大小方面的應用
機器視覺技術(shù)發(fā)展及其工業(yè)應用
危險氣體罐車液位計算機視覺監(jiān)控識別報警系統(tǒng)設(shè)計
計算機視覺在交通領(lǐng)域的應用
基于計算機視覺的細小顆粒團重量測量的研究
對于計算機視覺商業(yè)化方向的研究
基于Matlab的人臉檢測實驗設(shè)計
上饶县| 嵊泗县| 钟祥市| 岗巴县| 云阳县| 寿光市| 屏东市| 修武县| 丹巴县| 阿拉善右旗| 舟曲县| 响水县| 都匀市| 丹东市| 余江县| 鄂州市| 札达县| 江津市| 麻江县| 屯昌县| 英吉沙县| 林芝县| 含山县| 交口县| 区。| 长泰县| 盱眙县| 玛曲县| 分宜县| 伊金霍洛旗| 玉龙| 沂水县| 中西区| 黄山市| 南木林县| 舞阳县| 丹江口市| 浮山县| 绥江县| 夏河县| 商洛市|