• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2022-05-30 09:36:42賈文洋王鵬舉吳文祥劉朋
      計算機應用文摘·觸控 2022年12期
      關鍵詞:計算機視覺

      賈文洋 王鵬舉 吳文祥 劉朋

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

      1引言

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

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

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

      2車道識別步驟及算法實現

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

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

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

      2.2圖像灰度處理算法實現

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

      2.3Canny 邊緣檢測算法實現

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

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

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

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

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

      2.4霍夫變換對直線進行檢測算法實現

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

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

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

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

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

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

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

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

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

      4.1使用OpenCV 進行人臉識別的算法實現

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

      4.2Yolov5 進行物品識別的算法實現

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

      4.3駕駛員駕駛疲勞判斷的算法實現

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

      5總結

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

      猜你喜歡
      計算機視覺
      基于光流技術的障礙物檢測方法
      軟件(2016年4期)2017-01-20 09:48:18
      無人駕駛小車定點追蹤系統(tǒng)的設計與實現
      軟件工程(2016年11期)2017-01-17 19:50:08
      基于深度卷積神經網絡的物體識別算法
      雙目攝像頭在識別物體大小方面的應用
      機器視覺技術發(fā)展及其工業(yè)應用
      危險氣體罐車液位計算機視覺監(jiān)控識別報警系統(tǒng)設計
      計算機視覺在交通領域的應用
      基于計算機視覺的細小顆粒團重量測量的研究
      對于計算機視覺商業(yè)化方向的研究
      基于Matlab的人臉檢測實驗設計
      玉山县| 垦利县| 邵阳县| 武乡县| 巴林左旗| 汽车| 巨鹿县| 义乌市| 安远县| 封丘县| 辽源市| 平定县| 宾川县| 肇庆市| 凤庆县| 青海省| 东阳市| 南投市| 罗定市| 大宁县| 乐安县| 隆化县| 惠来县| 涞水县| 莱芜市| 绍兴县| 华坪县| 普兰店市| 宜州市| 新安县| 丰县| 鹰潭市| 平昌县| 安徽省| 扬州市| 林州市| 玉林市| 沈阳市| 磴口县| 河北省| 景德镇市|