• 
    

    
    

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

      ?

      基于OpenCV圖像處理的智能車巡線系統(tǒng)設(shè)計(jì)

      2022-06-25 01:29:48梁曉妮楚朋志肖雄子彥
      傳動技術(shù) 2022年1期
      關(guān)鍵詞:巡線紅綠燈中心點(diǎn)

      梁曉妮 楚朋志 肖雄子彥

      (上海交通大學(xué)學(xué)生創(chuàng)新中心,上海 200240)

      0 引言

      近年隨著無人駕駛技術(shù)突飛猛進(jìn),商業(yè)化落地也在不斷推進(jìn)中[1]。無人駕駛技術(shù)在教學(xué)領(lǐng)域中的應(yīng)用也越來越廣泛。目前,存在的無人駕駛教學(xué)解決方案中,大致分為兩類,一類基于攝像頭捕捉的圖像,通過計(jì)算機(jī)視覺、神經(jīng)網(wǎng)絡(luò)、圖像處理等方法,對智能車的行進(jìn)路線進(jìn)行規(guī)劃[2];一類是基于激光雷達(dá)、SLAM[3]等技術(shù),通過構(gòu)建特征地圖等方法,對小車行進(jìn)軌跡進(jìn)行決策。本文提出一種基于計(jì)算機(jī)視覺與圖像處理的方法,實(shí)時(shí)規(guī)劃智能車的行進(jìn)路線。

      1 方案設(shè)計(jì)

      1.1 硬件系統(tǒng)設(shè)計(jì)

      智能車自主巡線系統(tǒng)硬件主要包括視覺傳感器模塊、計(jì)算模塊、控制模塊、電機(jī)驅(qū)動模塊、電源模塊及PC機(jī)等6部分硬件單元。

      視覺傳感器模塊由車載前視攝像頭采集軌道圖像,圖像分辨率為1 280×720,并配有實(shí)時(shí)圖傳模塊,可將采集到的路面圖像傳回電腦端,方便監(jiān)測與修正。

      計(jì)算模塊采用的是Nvidia的Jetson Nano開發(fā)板,搭載Ubuntu16.04系統(tǒng)及其自帶的ROS操作系統(tǒng),將處理好的控制信號(包括角度、速度信息)通過ROS系統(tǒng)提供的API傳給控制模塊(下位機(jī)),下位機(jī)發(fā)出PWM信號控制電機(jī)(速度)、舵機(jī)(角度),從而控制智能車行進(jìn)。整個(gè)系統(tǒng)外接20 W電源模塊負(fù)責(zé)給以上四個(gè)模塊供電。

      圖1 系統(tǒng)硬件結(jié)構(gòu)圖Fig.1 System hardware structure

      PC機(jī)可以通過wifi與上位機(jī)相連,完成數(shù)據(jù)傳輸、手動控制、二次開發(fā)等操作。另外,在本教學(xué)案例中配套有地圖軌道,智能車需在地圖軌道中巡線行駛。

      1.2 軟件系統(tǒng)設(shè)計(jì)

      視覺巡線系統(tǒng)軟件主要是由python語言基于OpenCV庫實(shí)現(xiàn)。教學(xué)用智能小車配有對應(yīng)的地圖軌道,地圖軌道整體路徑如圖2所示。

      圖2 整體路徑軌道圖Fig.2 Overall path of track map

      全程50米,設(shè)有多處彎道,可根據(jù)需要添加紅綠燈、限速標(biāo)識、停車標(biāo)識等交通標(biāo)識模擬真實(shí)路況。車載攝像頭采集的前視圖像如圖3~圖5所示。

      圖3 前視圖-直行軌道Fig.3 Front view-straight map

      圖4 前視圖-彎道Fig.4 Front view-curve map

      圖5 配有紅綠燈的軌道Fig.5 The map with traffic light

      本方案的目標(biāo)是實(shí)現(xiàn)車道線自動識別,通過PID控制算法自動巡航,同時(shí),具備紅綠燈識別功能。

      2 車道線識別方案

      根據(jù)前視圖中車道線顏色與背景色有明顯差異的特點(diǎn),設(shè)計(jì)了以下車道線識別流程。

      圖6 車道線識別流程圖Fig.6 Lane line recognition flow

      2.1 ROI選取及車道線二值化

      首先,讀入攝像頭拍攝的前視圖像,圖像分辨率為1 280×720。由于車載攝像頭位置固定,故可截取圖像中下部分固定區(qū)域作為興趣區(qū)域(Region of Interest)重點(diǎn)處理,從而排除背景板、障礙物等諸多干擾因素。將該區(qū)域得到的車道線的中心點(diǎn),作為小車的移動目標(biāo)點(diǎn)。ROI如圖7所示:

      圖7 前視圖ROI選取Fig.7 ROI selection of front view

      選定觀察區(qū)后,由于車道線具有較為明顯的顏色特征,可以通過設(shè)定顏色閾值區(qū)間進(jìn)行圖像二值化,從而過濾出黃色車道線區(qū)域。二值化結(jié)果如圖8所示,采用[0,160,160]~[80,255,255]的閾值范圍對黃色區(qū)域進(jìn)行分割。

      圖8 黃色車道線提取結(jié)果Fig.8 Extraction result of yellow lane line

      2.2 車道線中心點(diǎn)定位

      提取出車道線區(qū)域后,需要進(jìn)一步對車道線中心點(diǎn)進(jìn)行判定。本文采用初步估計(jì)加分情況增強(qiáng)檢測的方法進(jìn)行精確定位。初步估計(jì)采用二值化后白色區(qū)域的橫坐標(biāo)方向投影均值作為最初的中心點(diǎn)判定值,投影均值在圖像右半邊則判定為右車道線中心點(diǎn),反之,則為左車道線中心點(diǎn)。左右車道線中心點(diǎn)提取結(jié)果如圖9所示,綠色代表左車道線中心點(diǎn),紅色代表右車道線中心點(diǎn)。

      圖9 初步估計(jì)判定中心點(diǎn)坐標(biāo)Fig.9 Preliminary estimation of lane line central point

      但這種方法在轉(zhuǎn)彎、車身偏移等僅有一側(cè)車道線時(shí),存在車道線左右混淆、單車道線檢測為雙車道線的不足,導(dǎo)致車輛無法繼續(xù)行駛。本文采用分情況增強(qiáng)檢測方法來增加檢測的魯棒性,具體步驟為:(1)若兩側(cè)車道線區(qū)域都檢測失敗,則用固定左右車道線點(diǎn)進(jìn)行補(bǔ)充。(2)若只檢測出左側(cè)車道線,則用左側(cè)車道線加上車道線間距對右車道線中心點(diǎn)位置進(jìn)行預(yù)測。(3)若只檢測出右側(cè)車道線,則用右側(cè)車道線減去車道線間距預(yù)測左車道線中心點(diǎn)位置。(4)車道線間距值在每次檢測出左車道線與右車道線時(shí)進(jìn)行更新。通過以上四種情況的增強(qiáng)檢測,對于路況中的轉(zhuǎn)彎、車身偏移等情況,都能得到準(zhǔn)確的修正。但在急轉(zhuǎn)彎的情況下,由雙車道線變?yōu)閱诬嚨谰€,且車道線橫向跨越較大,只依據(jù)檢測出的黃色車道線中心位置位于圖像左半邊還是右半邊來判別左右屬性,容易產(chǎn)生左右顛倒誤判,如圖10~圖12所示。

      圖10 第一幀:黃色車道中心點(diǎn)位于圖像右側(cè)Fig.10 Frame 1:center point of the yellow lane on the right

      圖11 第二幀:黃色車道分布在圖像左、右側(cè),出現(xiàn)兩個(gè)中心點(diǎn)的誤判Fig.11 Frame 2:yellow lane is distributed on both left and right,lead to misjudgment of two central points

      圖12 第三幀:黃色車道位于圖像左半邊,誤判為左側(cè)車道線中心點(diǎn)Fig.12 Frame 3:yellow lane is based on the left,misjudged as left central point

      對于這種“乾坤大挪移”的情況,采取與上一幀左右中心點(diǎn)比較判別的方法進(jìn)行修正。具體方法為記錄前一時(shí)刻車道中心點(diǎn)位置及左右屬性,當(dāng)新檢測出的車道線中心點(diǎn)和前一時(shí)刻的同側(cè)車道線距離過遠(yuǎn)卻離對側(cè)車道線距離較近,則認(rèn)為左右誤判,予以糾正。以圖11的綠色點(diǎn)修正過程為例:綠色點(diǎn)與圖10中紅色點(diǎn)減去車道間距得到的左側(cè)車道線中心點(diǎn)距離過大,且與圖10紅色點(diǎn)距離較近,故認(rèn)為綠色點(diǎn)為誤判,糾正為右側(cè)車道線(改為紅色)。通過這種方法,修正結(jié)果如圖13,ROI區(qū)域的黃色部分位于圖像右半邊,判為右側(cè)車道線中心點(diǎn),圖14為下一幀圖像,中心點(diǎn)雖位于圖像左側(cè),但糾正為右車道中心點(diǎn)。

      圖13 第一幀:黃色車道中心點(diǎn)位于圖像右側(cè)Fig.13 Frame 1:center point of the yellow lane on the right

      圖14 第二幀:糾正左半部分檢測出的中心點(diǎn)為右車道中心點(diǎn)Fig.14 Frame 2:correct central point of left image to right lane central point

      通過以上幾種分情況檢測方法,有效的增強(qiáng)彎道場景檢測的準(zhǔn)確性與魯棒性。檢測出左右車道線中心點(diǎn)后,采用PID算法對智能車進(jìn)行行駛控制。PID算法具有算法簡單、可靠性高、魯棒性好等優(yōu)點(diǎn),廣泛應(yīng)用于過程控制系統(tǒng)中。PID算法中P代表“比例”控制,“I”代表消除靜態(tài)誤差的“積分”控制,“D”代表“微分”控制。P、I、D的系數(shù)需要根據(jù)實(shí)際取值范圍進(jìn)行調(diào)試。

      圖15 PID控制算法流程圖Fig.15 PID control flow

      3 紅綠燈識別

      為了更真實(shí)地模擬生活中的復(fù)雜場景,在智能車巡線行駛過程中增加了紅綠燈識別,當(dāng)檢測到紅燈與黃燈,減速停車,綠燈則繼續(xù)前進(jìn)。本系統(tǒng)采用圖像處理的方法進(jìn)行紅綠燈的識別與檢測,具體流程如圖16所示。

      圖16 紅綠燈識別流程圖Fig.16 Traffic light recognition flow

      由于智能車總是從距紅綠燈一定距離開始識別,所以紅綠燈出現(xiàn)在圖像中的位置相對固定,選取右上角固定區(qū)域作為興趣區(qū),以達(dá)到減少計(jì)算量及去除背景的目的。在興趣區(qū)內(nèi)分別使用紅、黃、綠三種顏色模板對圖像進(jìn)行二值化。由于反光、亮度等原因,會存在多個(gè)區(qū)域落在同一顏色范圍的情況,將面積最大的區(qū)域判定為紅綠燈的亮燈區(qū),其顏色為對應(yīng)模板的顏色。依據(jù)這個(gè)原則,通過提取二值化圖像的輪廓,按輪廓面積排序,選出面積最大的區(qū)域作為該顏色區(qū),并用輪廓的boundingRect[4]作為該區(qū)域的檢測結(jié)果。檢測結(jié)果如圖17、圖18所示。

      圖17 綠燈識別結(jié)果圖Fig.17 Recognition result of green light

      圖18 紅燈識別結(jié)果圖Fig.18 Recognition result of red light

      4 結(jié)語

      本文所闡述方法過程簡單、易于實(shí)現(xiàn),在特定軌道中有較好的識別效果。對應(yīng)用圖像處理方法解決巡線、紅綠燈識別等問題有借鑒價(jià)值。若使用其他軌道或真實(shí)路面,二值化閾值、興趣區(qū)的選擇都需要按需調(diào)整,以達(dá)到最佳效果。后續(xù)可添加限速標(biāo)識、停車標(biāo)識等復(fù)雜路況信息,啟發(fā)學(xué)生進(jìn)行復(fù)雜路況標(biāo)識識別、避障等拓展研究。

      猜你喜歡
      巡線紅綠燈中心點(diǎn)
      春光美巡線忙
      Scratch 3.9更新了什么?
      出沒風(fēng)波里,踏浪去巡線
      如何設(shè)置造型中心點(diǎn)?
      電腦報(bào)(2019年4期)2019-09-10 07:22:44
      紅綠燈前
      快樂語文(2018年25期)2018-10-24 05:38:42
      無人機(jī)在電力巡線中的應(yīng)用模式研究
      無人機(jī)(2018年1期)2018-07-05 09:51:06
      神奇的紅綠燈
      會說話的紅綠燈
      漢字藝術(shù)結(jié)構(gòu)解析(二)中心點(diǎn)處筆畫應(yīng)緊奏
      尋找視覺中心點(diǎn)
      大眾攝影(2015年9期)2015-09-06 17:05:41
      舒兰市| 北京市| 桐城市| 河源市| 仲巴县| 安福县| 钟山县| 马尔康县| 武安市| 仁布县| 福海县| 柳州市| 增城市| 尤溪县| 余姚市| 兴海县| 滕州市| 额尔古纳市| 沅陵县| 新疆| 察哈| 明水县| 大安市| 长海县| 普兰县| 湖南省| 平顶山市| 福贡县| 常宁市| 贵南县| 怀安县| 察雅县| 藁城市| 永胜县| 万全县| 天峻县| 新巴尔虎右旗| 鹿泉市| 西峡县| 宿州市| 栾川县|