• 
    

    
    

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

      智能小車對(duì)障礙物識(shí)別的研究與實(shí)現(xiàn)

      2022-08-09 08:15:50
      南方農(nóng)機(jī) 2022年15期
      關(guān)鍵詞:像素點(diǎn)障礙物輪廓

      李 婉

      (陜西國(guó)防工業(yè)職業(yè)技術(shù)學(xué)院,陜西 西安 710300)

      1 障礙物識(shí)別原理及算法

      智能小車在避障時(shí),識(shí)別障礙物的輪廓邊緣非常重要。在圖像處理中,灰度值變化是在圖像邊緣最明顯的特征之一,所以邊緣檢測(cè)是障礙物識(shí)別的核心。對(duì)圖像中各像素點(diǎn)進(jìn)行求微分或二階微分來(lái)找到邊緣像素點(diǎn),這樣就可以完成邊緣檢測(cè)[1]。

      對(duì)于圖像邊緣檢測(cè),國(guó)內(nèi)外常用的算法有一階導(dǎo)數(shù)和二階導(dǎo)數(shù)邊緣檢測(cè)算法[2-4]。Canny算法是目前最優(yōu)的一階邊緣檢測(cè)算法,其他算法在處理圖像時(shí),圖像必須要經(jīng)過(guò)提前降噪等一系列處理,而Canny算法可以省略這一步,因?yàn)镃anny算法本身可以完成對(duì)圖像的降噪等預(yù)處理。Canny邊緣檢測(cè)的主要步驟如下。

      1)高斯濾波。濾波的主要目的是對(duì)圖像處理算法進(jìn)行降噪,采用高斯濾波會(huì)使圖像變平滑并增大邊緣的寬度。在一個(gè)位于(a,b)的像素點(diǎn)上,其灰度值可用f(a,b)來(lái)表示,高斯濾波的過(guò)程就是讓高斯矩陣和每一個(gè)像素點(diǎn)相乘,最終經(jīng)過(guò)高斯濾波的灰度值gσ(a,b)如公式(1)所示:

      2)計(jì)算梯度大小和方向。在圖像處理中,通常會(huì)采用梯度來(lái)表示灰度值變化比較大的像素點(diǎn),其變化包括程度與方向,因此對(duì)于邊緣圖像灰度值變化的計(jì)算,常采用一階導(dǎo)差分?jǐn)?shù)法,將圖像矩陣f(a,b)與卷積模板J1、J2進(jìn)行卷積,J1、J2如公式(2)、(3)所示:

      卷積后分別得到像素點(diǎn)(a,b)處水平方向的幅度值gx(a,b)與垂直方向的幅度值gy(a,b),再通過(guò)梯度公式(4)和(5)計(jì)算得到梯度值和梯度方向。

      3)非極大值抑制。在對(duì)圖像進(jìn)行降噪處理時(shí),采用的高斯濾波會(huì)將圖像邊緣增大,使得原本不是邊緣的像素點(diǎn),也會(huì)被列入到圖像邊緣,所以需要采用非極大值抑制來(lái)過(guò)濾不是邊緣上的像素點(diǎn),目的就是讓圖像邊緣的寬度盡可能為1個(gè)像素點(diǎn),即位于圖像邊緣的像素點(diǎn)在梯度方向上的梯度值達(dá)到最大。這里添加一個(gè)類似于判斷函數(shù),判斷像素點(diǎn)是否在梯度方向上的梯度值是最大,將最大值設(shè)為T,否則不是邊緣,將灰度值設(shè)為0。

      4)使用雙閾值進(jìn)行邊緣連接。經(jīng)過(guò)上述三步后,已經(jīng)能得到邊緣質(zhì)量較高的圖像,但不能排除所有“偽邊緣”存在。Canny使用了高低兩個(gè)閾值作為滯后閾值,若像素值小于低閾值則去除該像素;若大于高閾值則認(rèn)為是邊緣;介于高低閾值中間的像素需要進(jìn)一步計(jì)算選擇連接的像素點(diǎn),直到圖像閉合。

      2 障礙物識(shí)別過(guò)程實(shí)現(xiàn)

      智能小車障礙物識(shí)別如圖1所示,選用深度相機(jī)與Jetsion TX1作為硬件平臺(tái)來(lái)進(jìn)行智能小車周圍環(huán)境的獲取與處理[5]。

      圖1 智能小車采集環(huán)境信息示意圖

      示意圖中紅色空間直角坐標(biāo)系(Zm-Ym)為智能小車運(yùn)行坐標(biāo)系,藍(lán)色直角坐標(biāo)系(Zc-Yc)為深度相機(jī)視覺(jué)范圍坐標(biāo)系。在障礙物識(shí)別過(guò)程中,需對(duì)圖像的深度進(jìn)行分析,而深度相機(jī)對(duì)障礙物圖像進(jìn)行采集時(shí),采集到的是像素點(diǎn)數(shù)據(jù),無(wú)法直接顯示圖片的深度,所以需將深度圖的數(shù)據(jù)先轉(zhuǎn)化為灰度圖。為了降低灰度化的圖像輪廓上出現(xiàn)突起等問(wèn)題,需進(jìn)行形態(tài)學(xué)濾波、邊緣檢測(cè)等一系列操作,將障礙物標(biāo)記出來(lái)。具體過(guò)程如圖2所示[1]。

      圖2 障礙物識(shí)別流程圖

      2.1 深度圖灰度化處理

      本文深度相機(jī)采集的像素點(diǎn)實(shí)際數(shù)據(jù)是障礙物到相機(jī)的距離。距離范圍在0.1 m~25 m之間,但智能小車因體型的局限,實(shí)際可用范圍在0.5 m~3 m之間,所以在設(shè)置安全距離時(shí),將3 m以外的距離內(nèi)障礙物設(shè)置為0,拍攝的照片及深度圖如圖3所示。

      圖3 拍攝的照片及深度圖

      在深度圖灰度化處理的這一步中,需要進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換,即對(duì)深度相機(jī)采集的深度圖像數(shù)據(jù)格式采用OpenCV的convertTo函數(shù)進(jìn)行轉(zhuǎn)換[6]。

      2.2 圖像二值化

      將采集到的圖像進(jìn)行深度灰度化處理后,對(duì)圖像繼續(xù)進(jìn)行二值化處理。灰度圖有256個(gè)亮度等級(jí),為了讓圖像只出現(xiàn)黑色或白色,采用圖像二值化讓圖像上包含的所有像素點(diǎn)灰度值為0或255。經(jīng)過(guò)圖像二值化處理后的圖像如圖4所示。

      圖4 二值化圖像

      環(huán)境等不確定因素會(huì)使采集的圖像中包含一些非障礙物,若這些非障礙物不做處理,經(jīng)過(guò)二值化處理后可能會(huì)被誤判成障礙物,所以需要設(shè)定一個(gè)閾值,閾值將采集的所有數(shù)據(jù)分為兩部分,即定義當(dāng)灰度大于閾值時(shí)為最大值,灰度小于閾值時(shí)為0,這里用到的二值化函數(shù)原型為:cv2.threshold(img, threshold, maxval, type)。

      2.3 形態(tài)學(xué)濾波

      深度相機(jī)受外界環(huán)境影響,物體上會(huì)出現(xiàn)小洞,為了填充小洞,需采用閉運(yùn)算來(lái)去除黑洞,并平滑邊界。而形態(tài)學(xué)濾波對(duì)于圖像處理來(lái)說(shuō)本質(zhì)和濾波器一樣,能對(duì)圖像進(jìn)行降噪、邊緣增強(qiáng)等作用。本文中采用形態(tài)學(xué)濾波主要是為了進(jìn)行閉運(yùn)算處理[7]。最終運(yùn)算處理后的結(jié)果如圖5所示。

      圖5 形態(tài)學(xué)濾波后的圖像

      2.4 目標(biāo)物體邊緣檢測(cè)

      障礙物圖像邊緣檢測(cè)可大幅減少數(shù)據(jù)量,剔除不相關(guān)信息,保留圖像結(jié)構(gòu)屬性。本過(guò)程采用Canny函數(shù)來(lái)進(jìn)行處理圖5圖形的邊緣檢測(cè)。

      最終通過(guò)Canny算子處理后,再進(jìn)行取反操作得到的圖像如圖6所示。

      圖6 障礙物邊緣檢測(cè)圖

      2.5 標(biāo)記輪廓與凸包

      經(jīng)Canny算法可以檢測(cè)出障礙物輪廓邊緣的像素,但輸出的圖片并沒(méi)有將每一個(gè)像素點(diǎn)進(jìn)行連接,因此需要在OpenCV函數(shù)庫(kù)先查找圖像邊緣每個(gè)像素點(diǎn),然后使用drawContours函數(shù)將像素點(diǎn)輪廓繪制出來(lái),最終得到的圖像如圖7所示。

      圖7 繪制的邊緣輪廓

      本實(shí)驗(yàn)中采集的圖像相對(duì)較簡(jiǎn)單,而實(shí)際中遇到棱角比較多且突出的障礙物時(shí),根據(jù)以上的步驟難以分辨哪些區(qū)域可以在安全范圍內(nèi)通過(guò)。實(shí)際應(yīng)用中,人的手掌指縫外部范圍可以通過(guò),而指縫是不能通過(guò)的,若不將指縫的間距進(jìn)行特殊標(biāo)記,經(jīng)過(guò)算法識(shí)別后會(huì)判別可以通過(guò),這種誤判會(huì)影響智能小車的行駛路徑,所以這些區(qū)域要在算法上進(jìn)行排除處理。將手掌輪廓外部每個(gè)部分最突出的點(diǎn)進(jìn)行連接,如圖8所示,直線連接后形成一個(gè)閉合的輪廓。在圖像處理中將這種圍成的邊界稱為圖像的凸包,當(dāng)實(shí)際的圖像形成凸包后,可以近似認(rèn)為整個(gè)凸包為障礙物,這樣做的目的是增大小車安全有效的路徑行駛。

      圖8 凸包

      所以需要算法能準(zhǔn)確找出凸包輪廓像素點(diǎn),此過(guò)程本文采用的是OpenCV中的convexHull函數(shù)來(lái)尋找凸包,使用drawContours函數(shù)來(lái)繪制凸包輪廓像素點(diǎn)。

      對(duì)圖7進(jìn)行凸包輪廓像素點(diǎn)的繪制,得到圖如圖9所示,圖中紅色線條(凸起部分)為識(shí)別出來(lái)的障礙物輪廓,黑色線條(平滑部分)為障礙物輪廓的凸包[1,8]。隨后將凸包進(jìn)行形態(tài)學(xué)膨脹,目的是將輪廓凸包加粗外擴(kuò),如圖10所示。

      圖9 輪廓凸包

      圖10 膨脹后凸包圖

      2.6 圖片尺寸調(diào)整

      避障只是智能小車行駛過(guò)程中的功能之一,在識(shí)別完障礙物后還需對(duì)行駛的路徑進(jìn)行規(guī)劃。為了使智能小車能及時(shí)地做出路徑規(guī)劃,則需要對(duì)圖片進(jìn)行壓縮處理,壓縮圖片不會(huì)使圖像變形,反而使計(jì)算的像素點(diǎn)減小,縮短了識(shí)別時(shí)間[9-10]。本文使用的深度相機(jī)采集到的圖片大小為1 080×720,用OpenCV中的resize函數(shù)將圖像進(jìn)行壓縮,最終壓縮為200×200。

      為了驗(yàn)證此算法是否適用于識(shí)別復(fù)雜的環(huán)境信息,用采集的室外圖像11(a)進(jìn)行驗(yàn)證,最終得到識(shí)別出的障礙物圖像如圖11(b)所示。因此提出該算法可以實(shí)現(xiàn)智能小車對(duì)障礙物的識(shí)別。

      圖11 采集的室外圖像與識(shí)別結(jié)果

      3 結(jié)論

      本文介紹了障礙物識(shí)別的相關(guān)原理及算法,核心選用Canny算法對(duì)障礙物輪廓進(jìn)行識(shí)別。在智能小車移動(dòng)的過(guò)程中,采用深度相機(jī)對(duì)一定范圍內(nèi)的環(huán)境進(jìn)行圖像采集,并將圖像采用OpenCV函數(shù)進(jìn)行二值化、濾波、邊緣檢測(cè)、標(biāo)記輪廓凸包、調(diào)整圖像尺寸等一系列算法的處理,得到障礙物識(shí)別圖。最終經(jīng)過(guò)驗(yàn)證,不論在簡(jiǎn)單或復(fù)雜的環(huán)境中均可以識(shí)別出障礙物。

      猜你喜歡
      像素點(diǎn)障礙物輪廓
      OPENCV輪廓識(shí)別研究與實(shí)踐
      高低翻越
      SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計(jì)和處理
      基于實(shí)時(shí)輪廓誤差估算的數(shù)控系統(tǒng)輪廓控制
      基于canvas的前端數(shù)據(jù)加密
      基于逐像素點(diǎn)深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
      在線學(xué)習(xí)機(jī)制下的Snake輪廓跟蹤
      基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
      土釘墻在近障礙物的地下車行通道工程中的應(yīng)用
      創(chuàng)造早秋新輪廓
      舒適廣告(2008年9期)2008-09-22 10:02:48
      宜宾县| 马尔康县| 荣成市| 清苑县| 永川市| 德令哈市| 昭通市| 遵义县| 札达县| 河间市| 兴仁县| 临清市| 涞源县| 平邑县| 沙河市| 酒泉市| 栖霞市| 湘潭市| 郯城县| 华蓥市| 广平县| 文安县| 永定县| 寿光市| 斗六市| 文山县| 九台市| 星座| 泉州市| 安岳县| 衡阳县| 房产| 克什克腾旗| 志丹县| 浦县| 左权县| 弥勒县| 洛川县| 青河县| 崇义县| 洛扎县|