0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用攝像頭圖像的車道檢測實(shí)用算法

新機(jī)器視覺 ? 來源:決策智能與機(jī)器學(xué)習(xí) ? 作者:Ethon ? 2022-07-05 15:42 ? 次閱讀

車道識別是自動駕駛領(lǐng)域的一個重要問題,今天介紹一個利用攝像頭圖像進(jìn)行車道識別的實(shí)用算法。該算法利用了OpenCV庫和Udacity自動駕駛汽車數(shù)據(jù)庫的相關(guān)內(nèi)容。

該算法包含以下步驟:

攝像頭校準(zhǔn),以移除鏡頭畸變(Lens distortion)的影響

圖像前處理,用于識別車道線

道路視角變換(Perspective transform)

車道線檢測

車輛定位和車道半徑計(jì)算

01 攝像頭校準(zhǔn)

攝像頭輸出的視頻可以看做一系列圖像的時間序列。鏡頭的結(jié)構(gòu)特性造成利用針孔攝像機(jī)拍攝的圖像容易發(fā)生徑向畸變,導(dǎo)致根據(jù)物體與光軸的距離而導(dǎo)致不一致的放大。

以下圖片展示了兩種典型的徑向偏差。

32121006-fa0d-11ec-ba43-dac502259ad0.jpg

為了 正確的識別圖像中的車道,首先需要消除圖像中的徑向偏差。計(jì)算機(jī)視覺專家們找到了一種有效的方式來修正徑向偏差:首先將圖像轉(zhuǎn)換成棋盤模型,然后校正攝像頭,使獲得的圖像中白色和黑色格子達(dá)到相同規(guī)尺度。 為了修正失真效應(yīng),需要識別棋盤的中心并利用期望的棋盤尺度來計(jì)算失真系數(shù),并用其來消除圖像的徑向失真。

3226477e-fa0d-11ec-ba43-dac502259ad0.jpg

在上圖中,最左邊的圖像顯示了原始的失真圖像,最右側(cè)的圖可以看出圖像頂部的角度扭曲,中間的圖像是經(jīng)過攝像頭校準(zhǔn)后的未失真圖像。 OpenCV的findChessBoardCorners和calibrateCamera函數(shù)可以用來實(shí)現(xiàn)以上的攝像頭校準(zhǔn)過程。 校準(zhǔn)完攝像頭后,我們用真實(shí)的汽車攝像頭圖像來驗(yàn)證下效果,結(jié)果如下。

32357f78-fa0d-11ec-ba43-dac502259ad0.jpg

02 圖像預(yù)處理

解決了攝像頭圖像失真問題后,我們繼續(xù)探索檢測車道的算法。在計(jì)算機(jī)視覺領(lǐng)域,分離和檢測對象的一種常用方法是使用顏色變換和梯度來生成一個具有過濾閾值的二值化圖像。

對于顏色變換,我們嘗試了HSL、LAB和LUA三種顏色空間,以找出哪一種最適合于過濾在道路上的車道線的像素。HSL:通過對色相(H)、飽和度(S)、明度(L)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的LAB:由亮度(L)和有關(guān)色彩的A, B三個要素組成。L表示亮度(Luminosity),A表示從洋紅色至綠色的范圍,B表示從黃色至藍(lán)色的范圍LUV:由CIE XYZ空間經(jīng)簡單變換得到,具視覺統(tǒng)一性。L表示物體亮度,U和V是色度 經(jīng)過試驗(yàn),我們發(fā)現(xiàn)LAB的B道和LUV的L通道是識別車道線的最佳組合。 接下來,我們試驗(yàn)了Sobel梯度濾波器。圖像梯度度量了顏色變化的方向強(qiáng)度。Sobel是一種利用高斯平滑和微分運(yùn)算來降低噪聲影響的梯度濾波器。

3243e4aa-fa0d-11ec-ba43-dac502259ad0.jpg

03 視角變換

車道檢測的難點(diǎn)在于準(zhǔn)確獲得車道線的方向以及角度。在攝像頭的默認(rèn)視角下,遠(yuǎn)離攝像機(jī)的物體顯得更小,同時車道線在遠(yuǎn)離汽車的方向逐漸相交,這和實(shí)際情況是不符的。解決這種視點(diǎn)扭曲的一種方法是改變圖像的視角,比如可以從上往下看(鳥瞰圖)。

OpenCV提供了getPerspectiveTransform 和 warpPerspective函數(shù),可用于進(jìn)行圖像的視角變換。首先,我們在圖像中選擇想要變換的區(qū)域,在下圖中,我們選擇了汽車前面的車道線部分。

3250774c-fa0d-11ec-ba43-dac502259ad0.jpg

接下來,選擇代表目標(biāo)空間的點(diǎn)集,在本例中,任何矩形內(nèi)的點(diǎn)集都可以。我們可以使用warpPerspective函數(shù)將選定區(qū)域變換到我們選擇的視角中。 下圖顯示了兩條不同路段的車道線進(jìn)行視角變換后的結(jié)果。

325c969e-fa0d-11ec-ba43-dac502259ad0.jpg

04 車道檢測

下面,我們正式開始進(jìn)行車道檢測。在前面的各步驟中,我們進(jìn)行了圖像的二元閾值化和視角變換,最終獲得一個黑白圖像,其中白色的像素代表我們試圖檢測的車道線的部分。

接下來,我們需要找到一個最佳起始點(diǎn)來尋找屬于左車道線的像素和屬于右車道線的像素。一種有效的方法是生成圖像中車道線像素的直方圖。直方圖應(yīng)該有兩個尖峰,各代表一條車道線,左邊的尖峰是左邊的車道線,右邊的尖峰是右邊的車道線。

3269eeca-fa0d-11ec-ba43-dac502259ad0.png

然后將兩個峰值的位置作為起始點(diǎn)來搜索屬于每條車道線的像素。我們采用了滑動窗口搜索技術(shù),它從底部開始,迭代地掃描到圖像的頂部,并將檢測到的像素添加到列表中。如果在一個窗口中檢測到足夠數(shù)量的像素,那么下一個窗口將以它們的平均位置為中心,這樣我們就沿著像素的路徑尋遍整個圖像。 在我們檢測到每個車道線的像素之后,我們就可以通過這些點(diǎn)來擬合一個多項(xiàng)式,從而產(chǎn)生一條平滑曲線,從而實(shí)現(xiàn)車道線的最佳近似。 下面的圖像展示了滑動窗口技術(shù)的作用,多項(xiàng)式曲線通過檢測到的車道線像素?cái)M合獲得(紅色為左車道像素,藍(lán)色為右車道像素)。

327d7012-fa0d-11ec-ba43-dac502259ad0.jpg

下面是滑動窗口搜索技術(shù)的另一個視圖,高亮顯示并填充搜索區(qū)域:

3293b5de-fa0d-11ec-ba43-dac502259ad0.png

05 車輛/車道線位置

最后,利用兩個檢測到的車道線的位置,并假設(shè)攝像頭位于圖像的中心位置,可以計(jì)算出汽車相對于車道的位置。根據(jù)圖像的分辨率,能夠進(jìn)行從像素到米的換算。

此外,利用尺度測量,我們還可以通過擬合一個新的多項(xiàng)式到物理空間來計(jì)算車道線的曲率,然后計(jì)算曲率半徑。這條線的曲率半徑就是這兩個半徑的平均值,下圖顯示了兩條車道線的曲線半徑和中心偏移量(圖像中不可見)。

32b4a6cc-fa0d-11ec-ba43-dac502259ad0.jpg

06 結(jié)果

以上介紹了自動駕駛中進(jìn)行車道線檢測的實(shí)用算法,我們通過一個多邊形投影區(qū)域來顯示檢測結(jié)果,可以看到檢測結(jié)果與實(shí)際非常吻合。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 汽車電子
    +關(guān)注

    關(guān)注

    3030

    文章

    8067

    瀏覽量

    168297
  • 攝像頭
    +關(guān)注

    關(guān)注

    60

    文章

    4880

    瀏覽量

    96701
  • 自動駕駛
    +關(guān)注

    關(guān)注

    787

    文章

    13992

    瀏覽量

    167632

原文標(biāo)題:自動駕駛 | 車道檢測實(shí)用算法

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    使用RTSP攝像頭執(zhí)行多攝像頭多目標(biāo)Python演示,缺少輸出幀是怎么回事?

    使用 RTSP 攝像頭執(zhí)行 多攝像頭多目標(biāo) Python 演示 。 現(xiàn)場視頻每 5 秒出現(xiàn)一次啟動和抖動,但幀缺失。 輸出生產(chǎn)低 FPS (1 至 0.3 FPS)。 人員檢測發(fā)生在各種位置,因?yàn)閷?shí)時視頻缺少幀。
    發(fā)表于 03-06 07:55

    TVP5151是否可以將lost lock detect作為與攝像頭連接狀態(tài)的檢測?

    需求:在視頻輸入處,想要檢測攝像頭連接情況。如果連接不正常,給出告警或其他處理。 方案:從tvp5151的手冊來看,有如下寄存器,僅找到這部分內(nèi)容,其他內(nèi)容尚未找到。 疑問:是否可以將lost lock detect作為與攝像頭
    發(fā)表于 01-10 08:37

    安防監(jiān)控攝像頭氣密性測試案例-連拓精密#攝像頭氣密檢測設(shè)備

    攝像頭
    連拓精密科技
    發(fā)布于 :2024年12月11日 15:00:21

    多光譜火焰檢測攝像頭

    隨著工業(yè)化進(jìn)程的加快,火災(zāi)安全問題日益受到重視。傳統(tǒng)的火焰檢測技術(shù)主要依賴于溫度傳感器和煙霧探測器,但這些方法在某些情況下存在響應(yīng)慢、誤報(bào)率高等缺陷。為了解決這些問題,多光譜火焰檢測攝像頭應(yīng)運(yùn)而生
    的頭像 發(fā)表于 12-11 10:50 ?308次閱讀
    多光譜火焰<b class='flag-5'>檢測</b><b class='flag-5'>攝像頭</b>

    攝像頭及紅外成像的基本工作原理

    本文介紹了攝像頭及紅外成像的基本工作原理,攝像頭可以將看到的圖像真實(shí)的呈現(xiàn)出來,所見即所得! 攝像頭如何工作? 攝像頭可以將看到的
    的頭像 發(fā)表于 11-25 09:28 ?1169次閱讀
    <b class='flag-5'>攝像頭</b>及紅外成像的基本工作原理

    《DNK210使用指南 -CanMV版 V1.0》第二十六章 攝像頭圖像捕獲實(shí)驗(yàn)

    第二十六章 攝像頭圖像捕獲實(shí)驗(yàn) 本章將介紹CanMV下攝像頭的使用,能通過攝像頭實(shí)時地采集攝像頭捕獲到的
    發(fā)表于 10-23 10:05

    氣密性檢測儀:怎樣判斷攝像頭的密封性-岳信儀器

    氣密性檢測儀在評估攝像頭密封性方面起著至關(guān)重要的作用。隨著智能汽車技術(shù)的快速發(fā)展,汽車攝像頭的密封性能直接關(guān)系到其使用壽命和成像質(zhì)量。以下是一篇關(guān)于如何使用氣密性檢測儀來判斷
    的頭像 發(fā)表于 10-21 14:02 ?281次閱讀
    氣密性<b class='flag-5'>檢測</b>儀:怎樣判斷<b class='flag-5'>攝像頭</b>的密封性-岳信儀器

    用于環(huán)視和CMS攝像頭系統(tǒng)的四通道攝像頭應(yīng)用程序

    電子發(fā)燒友網(wǎng)站提供《用于環(huán)視和CMS攝像頭系統(tǒng)的四通道攝像頭應(yīng)用程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-11 10:02 ?0次下載
    用于環(huán)視和CMS<b class='flag-5'>攝像頭</b>系統(tǒng)的四通道<b class='flag-5'>攝像頭</b>應(yīng)用程序

    人流量檢測識別攝像頭

    人流量檢測識別攝像頭是一種結(jié)合了監(jiān)控攝像技術(shù)和智能分析技術(shù)的先進(jìn)設(shè)備,旨在通過實(shí)時監(jiān)測和分析監(jiān)控畫面中人員的數(shù)量、密度、流動方向等信息,識別不同人群特征并進(jìn)行統(tǒng)計(jì)分析。這種攝像頭在商業(yè)
    的頭像 發(fā)表于 09-25 10:58 ?508次閱讀
    人流量<b class='flag-5'>檢測</b>識別<b class='flag-5'>攝像頭</b>

    智能化升級:機(jī)載無人機(jī)攝像頭如何自動識別目標(biāo)?

    機(jī)載無人機(jī)攝像頭在智能化升級的過程中,自動識別目標(biāo)的能力得到了顯著提升。這一過程涉及多個關(guān)鍵技術(shù)和算法,以下是關(guān)于機(jī)載無人機(jī)攝像頭如何自動識別目標(biāo)的詳細(xì)解析: 一、圖像采集與預(yù)處理 高
    的頭像 發(fā)表于 09-19 15:23 ?1050次閱讀
    智能化升級:機(jī)載無人機(jī)<b class='flag-5'>攝像頭</b>如何自動識別目標(biāo)?

    基于FPGA的攝像頭心率檢測裝置設(shè)計(jì)

    時間很長,且對環(huán)境要求較為嚴(yán)格。 基此,我們對其算法進(jìn)行優(yōu)化,設(shè)計(jì)出更快運(yùn)算速度, 可在更復(fù)雜環(huán)境較準(zhǔn)確測心率的攝像頭心率檢測裝置。本系統(tǒng)著眼機(jī)器視覺,是集合圖像處理技術(shù)、HDMI
    發(fā)表于 07-01 17:58

    智能攝像頭抄表器是什么?

    1.概念理解:智能攝像頭抄表器智能攝像頭抄表器是一種融合了人工智能和物聯(lián)網(wǎng)技術(shù)的創(chuàng)新設(shè)備,主要用于自動讀取和記錄各種計(jì)量儀表的數(shù)據(jù),如水表、電表、燃?xì)獗淼取Kㄟ^高清攝像頭捕捉圖像,然
    的頭像 發(fā)表于 04-24 14:14 ?821次閱讀
    智能<b class='flag-5'>攝像頭</b>抄表器是什么?

    攝像頭各標(biāo)定參數(shù)的作用

    車載攝像頭的畸變矩陣描述了攝像頭鏡頭造成的畸變,主要包括徑向畸變和切向畸變等參數(shù)?;兙仃嚨淖饔檬菍?b class='flag-5'>圖像進(jìn)行畸變校正,使其更符合幾何規(guī)律,提高圖像的準(zhǔn)確性和質(zhì)量。
    的頭像 發(fā)表于 03-21 11:11 ?1099次閱讀
    <b class='flag-5'>攝像頭</b>各標(biāo)定參數(shù)的作用