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

?

基于機(jī)器視覺的運(yùn)動(dòng)檢測與超車策略的研究

2019-08-22 10:00孫厚權(quán)張其亮劉永良
關(guān)鍵詞:像素點(diǎn)灰度邊緣

孫厚權(quán),張其亮,吳 越,劉永良,孫 娜

(1.江蘇科技大學(xué)(張家港) 電氣與信息工程學(xué)院,江蘇 張家港 215600;2.江蘇科技大學(xué)(張家港) 機(jī)電與動(dòng)力工程學(xué)院,江蘇 張家港 215600)

0 引 言

機(jī)器視覺與信息處理是人工智能的重要基礎(chǔ)。機(jī)器視覺系統(tǒng)是使用機(jī)器視覺產(chǎn)品將目標(biāo)物體轉(zhuǎn)化為圖像信息,再利用圖像信息處理系統(tǒng),根據(jù)像素分布、亮度和顏色等信息,通過各種運(yùn)算抽取目標(biāo)的面積、數(shù)量、長度等特征進(jìn)行模式識(shí)別,并由識(shí)別結(jié)果來控制現(xiàn)場設(shè)備的動(dòng)作[1]。

“恩智浦”杯智能汽車競賽是以前景廣闊的汽車電子為背景,涵蓋自動(dòng)控制、模式識(shí)別、計(jì)算機(jī)等多學(xué)科專業(yè)的創(chuàng)意性競速比賽。競賽要求智能車在指定賽道范圍內(nèi)完成自動(dòng)循跡。按照信息采集的傳感器不同,分為3種類別,其中在光電組中又根據(jù)任務(wù)不同分為四輪與追逐組。四輪組要求完成快速的自動(dòng)循跡即可。而追逐組要求兩輛車模在完成快速自動(dòng)循跡的同時(shí)實(shí)現(xiàn)雙車之間的超車任務(wù)。在已有的研究中,黃潤燁等[2]給出一種基于鴛鴦超聲波的追逐方案,完成了雙車車距的保持,但未能實(shí)現(xiàn)超車功能;莊越等[3]給出一種基于鴛鴦超聲波測距和藍(lán)牙通信的雙車超車策略,但藍(lán)牙在實(shí)際使用中易受干擾,而且其可以公開配對的問題會(huì)對車模行駛造成難以預(yù)測的異常;祝世佺等[4]利用鴛鴦超聲波模塊和NRF24L01無線通信模塊完成了車距的保持與超車的控制,NRF24L01無線通信模塊具有配對密鑰,解決了異常配對的問題,但其在信號(hào)傳輸過程中也會(huì)受到信號(hào)干擾器的干擾。另外,目前大部分參賽隊(duì)伍對采集到的圖像僅限于中線的提取與賽道類型的判斷,忽略了圖像中存在的大量信息。

鑒于上述問題,文中給出一種方案,即在不使用超聲波測距模塊和無線通訊模塊的情況下,僅依靠CMOS攝像頭所獲取的圖像信息,通過運(yùn)算處理,實(shí)現(xiàn)雙車追逐過程中的運(yùn)行控制、路徑識(shí)別以及超車。

1 圖像采集裝置

圖像采集裝置為OV7620,分辨率為640×480,支持逐行掃描(progressive scan)及隔行掃描(interlaced scan)兩種方式。圖像數(shù)據(jù)的傳輸由三個(gè)中斷信號(hào)—像素點(diǎn)中斷信號(hào)、行中斷信號(hào)以及場中斷信號(hào)控制。為便于圖像的快速處理又保證圖片信息的完整性,采取“奇場采集偶場處理”的方式,即在產(chǎn)生奇數(shù)次場中斷信號(hào)時(shí)進(jìn)行圖像采集,偶數(shù)次場中斷信號(hào)時(shí)對上一次奇數(shù)場采集的圖像信息進(jìn)行處理而不再進(jìn)行圖像采集。為規(guī)避消隱區(qū),最終得到404×280的圖像數(shù)據(jù)。

2 圖像處理

2.1 圖像壓縮

數(shù)據(jù)量龐大是圖像數(shù)據(jù)的特點(diǎn)之一。從信息論的觀點(diǎn)來看,描述信息的數(shù)據(jù)由有用數(shù)據(jù)和冗余數(shù)據(jù)組成。而靜止圖像的相鄰像素間存在空間冗余,活動(dòng)圖像的相鄰幀間又存在時(shí)間冗余。在路徑識(shí)別中,灰度圖像失真是可以接受的,因此考慮到實(shí)時(shí)處理的時(shí)間復(fù)雜度,選擇對原始圖像進(jìn)行壓縮處理。文中采用非均勻壓縮方式,即將采集到的圖像數(shù)據(jù)每五行保存一行,四列保存一列,最終形成81×70的壓縮圖像。

2.2 疊加線性窗口中值濾波去噪

中值濾波[5]是對滑動(dòng)窗口中像素點(diǎn)的灰度值進(jìn)行排序處理,然后提取中值作為濾波結(jié)果的算法。滑動(dòng)窗口的設(shè)計(jì)對算法的時(shí)間復(fù)雜度和濾波效果有決定性的作用,一般直接使用一種或多種形狀的窗口處理,但這種方式會(huì)浪費(fèi)很多時(shí)間。文中算法不再拘泥于單一形狀,使用橫縱雙向二維疊加方式進(jìn)行處理。先對圖像數(shù)組按行橫向滑動(dòng)三像素點(diǎn)窗口進(jìn)行中值濾波,再將圖像數(shù)組按列縱向滑動(dòng)三像素點(diǎn)窗口進(jìn)行中值濾波。橫縱雙向線狀疊加的方式能夠在極大縮短時(shí)間的情況下從兩個(gè)維度平滑圖像。

2.3 動(dòng)態(tài)閾值分割圖像

圖像分割[6],關(guān)鍵點(diǎn)在于閾值的確定,而攝像頭較依賴外界光照環(huán)境,一旦采用靜態(tài)閾值則只有在特定光照條件下才可得到較為合適的圖像數(shù)據(jù)。

對于智能車比賽,路徑的組成部分為藍(lán)色背景和白色賽道,兩部分灰度值差異明顯。因此,動(dòng)態(tài)閾值獲取方式常采用最大類間方差法(OTSU)。但最大類間方差法計(jì)算量太大,為降低計(jì)算的時(shí)間復(fù)雜度,對該算法進(jìn)行了適當(dāng)優(yōu)化。圖像數(shù)據(jù)的灰度值范圍為0~255,共256個(gè)數(shù)量級(jí),其中0為黑色,255為白色。而賽道背景為藍(lán)色,介于兩者之間,因而最佳閾值不會(huì)在兩端出現(xiàn),而邊界范圍經(jīng)實(shí)際測試發(fā)現(xiàn),最佳閾值的范圍始終包含在50~200之間,即閾值的目標(biāo)值域范圍為[50,200],因此只需在此范圍內(nèi)進(jìn)行檢測即可。

從目標(biāo)值域范圍內(nèi)依次選取灰度值i,每次假設(shè)當(dāng)前選取的灰度值i為最佳閾值,將所有小于i的灰度值范圍視為前景,所有大于i的灰度值范圍視為背景。分別統(tǒng)計(jì)前景區(qū)間的灰度值數(shù)量w0,背景區(qū)間的灰度值數(shù)量w1,然后計(jì)算前景區(qū)間的平均灰度值u0和背景區(qū)間的平均灰度值u1,那么類間方差g滿足:

g=w0×w1×(u0-u1)2

(1)

因?yàn)樾枰氖亲畲蟮膅值所對應(yīng)的i值,而由式1知:

g∝(u0-u1)2∝|u0-u1|

(2)

因此,為簡化運(yùn)算規(guī)模,只要求使得“g=w0×w1×|u0-u1|”為最大時(shí)對應(yīng)的i值。根據(jù)上述方法求得的最佳閾值將圖像進(jìn)行分割即可得到差異顯著的二值化圖像。

2.4 邊緣提取

常見的邊緣提取方式有兩種,即中心向兩邊檢測法和邊緣追蹤檢測法[7]。中心向兩邊檢測法無法處理一行中出現(xiàn)多個(gè)跳變點(diǎn)的情況,容易造成邊緣提取錯(cuò)誤的現(xiàn)象,而且全部遍歷會(huì)耗費(fèi)大量的處理時(shí)間。而邊緣追蹤法雖然可以更好地處理多個(gè)跳變點(diǎn)問題,但是卻過分依賴上一行的邊緣提取結(jié)果。

根據(jù)成像原理易知,越靠近圖片底部的行數(shù)表示距離攝像頭距離越近,也越容易穩(wěn)定地提取到邊界。因此,對邊緣檢測算法進(jìn)行了改進(jìn)。對于最底部的行,采用由中心向兩邊檢測和直接邊緣檢測方式將最底部邊緣夾逼出來,從而保證最底部的邊緣最為穩(wěn)定。對于剩余行,采用邊緣追蹤法,將上次獲取的邊緣點(diǎn)作為本次檢測的起始位置。

對于左邊界,如果當(dāng)前位置為白色,說明當(dāng)前位于賽道中,應(yīng)該繼續(xù)往左檢測左邊緣,如果是黑色則說明是背景,應(yīng)該往右側(cè)檢測;對于右邊界,如果當(dāng)前位置為白色,說明當(dāng)前位于賽道中,應(yīng)該往右側(cè)檢測,如果是黑色則說明是背景,應(yīng)該往左側(cè)檢測。依此循環(huán),直至整幅圖像檢索完畢。

2.5 賽道類型判斷與處理

2.5.1 彎道特征強(qiáng)化

對于大S彎道,攝像頭并不能同時(shí)獲取到左右邊緣,勢必存在邊界消隱區(qū),而且容易獲取到相鄰賽道的邊緣,從而擾亂車模的正常行駛。因此,須對大S彎道進(jìn)行特征強(qiáng)化。首先對大S彎道進(jìn)行識(shí)別,其主要特征為單邊丟線且中線斜率符號(hào)相同,并且根據(jù)中線斜率符號(hào)的正負(fù)可以進(jìn)一步判斷是左彎還是右彎。以右彎為例,從邊界消失區(qū)開始,將其上部圖像的左右邊界所在列全部賦值為圖像的右邊界,即第69列,從而得到一個(gè)更大的偏差,使得舵機(jī)可以給出更大的打角,完成對大S彎道特征的強(qiáng)化。

2.5.2 十字彎與圓環(huán)的缺線擬合

十字彎道與圓環(huán)都存在兩邊同時(shí)丟線的情況,因而兩種賽道類型的區(qū)分也存在很大困難。根據(jù)賽道圖像特點(diǎn)可以發(fā)現(xiàn),其最大的特征區(qū)分點(diǎn)在于拐點(diǎn)的個(gè)數(shù)以及拐點(diǎn)處的角度。圖像大小為81×70,選取中間行(第35行)作為參照,其上部圖像作為圖像上部,下部圖像作為圖像下部,則有如表1所示的特征。

表1 十字與圓環(huán)特征比較

對于偏差控制,只需要將偏差體現(xiàn)出來即可,因此為節(jié)省運(yùn)算時(shí)間與復(fù)雜度,缺線擬合使用一元線性回歸方程擬合。一元線性回歸方程如下:

(3)

3 超車處理

3.1 距離檢測與控制

雙車在追逐的過程中如果距離控制不當(dāng),極易發(fā)生碰撞,因此需要對雙車距離進(jìn)行檢測與控制。攝像頭的焦距是固定的,因而一旦其高度和角度固定之后那么固定距離的物體成像位置也是相對固定的。由此可以通過對前車的成像位置檢測來獲取實(shí)際距離差。

二值化之后的圖像前景與背景差異顯著,后車整體成像為一黑色連通域,因此可以通過檢測黑色連通域的方式來檢測前車。文中采用區(qū)域生長法[8]檢測前車成像的黑色連通域,下面給出具體算法實(shí)現(xiàn)步驟。

步驟1:定義數(shù)組left和right,大小為圖像的行數(shù),用來保存圖像左右邊界所在列數(shù),定義二維數(shù)組visit用來標(biāo)記訪問過的像素點(diǎn),二維數(shù)組cd用來標(biāo)記連通域。根據(jù)優(yōu)化后的邊緣提取方式將左邊界所在列數(shù)保存在left數(shù)組中,右邊界所在列數(shù)保存在right數(shù)組中。

步驟2:從圖像頂部第0行開始,按行對像素點(diǎn)順序掃描。設(shè)當(dāng)前的行標(biāo)為k,每行掃描范圍為從left[k]開始到right[k]結(jié)束,判斷每一未訪問的像素點(diǎn)(xk,yj)是否為黑色像素,其中j∈(left[k],right[k]),(xk,yj)代表第k行,第j個(gè)元素的坐標(biāo)。每個(gè)訪問過的像素點(diǎn)置訪問標(biāo)記,即visit[k][j]=1。

步驟3:如果當(dāng)前訪問像素點(diǎn)是黑色像素點(diǎn),則對(xk,yj)進(jìn)行連通域標(biāo)記,即cd[k][j]=1,并以該點(diǎn)作為中心,判斷其8鄰域像素中所有未訪問過的像素是否為黑色像素。若有像素滿足,則進(jìn)行標(biāo)記操作并重復(fù)步驟3,直至鄰域像素點(diǎn)全部不滿足生長規(guī)則。

連通域標(biāo)記完畢之后即可檢測成像位置,為便于計(jì)算,采用前車尾部所在行數(shù)作為距離反饋量。設(shè)連通域?yàn)镈,記D最底部邊界所在行坐標(biāo)為Db。對于文中使用的智能車系統(tǒng),經(jīng)測試發(fā)現(xiàn)當(dāng)車速為2.7 m/s左右時(shí),雙車間距控制在40 cm左右的范圍時(shí)效果較好,反映在圖像中的位置在第38行。所以文中以第38行為基準(zhǔn),對速度輔以增量式PID控制來保持車距。

3.2 前車停靠

前車??渴紫刃枰M(jìn)行停車位置選擇。在長直道中,停車位置選擇在快要入彎的地方;等分支環(huán)形道中,停車位置選擇在環(huán)道中任意一側(cè);非等分支圓環(huán)中,停車點(diǎn)選擇在路徑較長的一側(cè)圓環(huán)內(nèi)。停車之后改變前車標(biāo)志位,將其置為后車標(biāo)記。

3.2.1 長直道停車

長直道便于加速,若在中間進(jìn)行停車則整個(gè)超車過程會(huì)延長很多直道通行時(shí)間,而在長直道入彎處車輛都會(huì)進(jìn)行減速處理,而車輛啟動(dòng)時(shí)速度較低,因此,超車地點(diǎn)選定為直道入彎處更為合適。

前車停車采用平行移軸策略,以右彎為例,將路徑的中線移至圖像左側(cè)1/4處(如圖1所示)。前車停車后啟動(dòng)速度較低,而后車速度較高,因而前車選擇??吭谕鈧?cè)車道,后車靠內(nèi)道行駛,雙車都較容易過彎。

圖1 平行移軸示意

3.2.2 環(huán)形道停車

環(huán)形道具有雙側(cè)通行性,是超車的最佳路段。但是要保證雙車走不同側(cè)車道。對于等分支圓環(huán)(兩側(cè)路徑長度相同),規(guī)定前車??孔髠?cè)(右側(cè)也可以只要雙車不沖突即可);對于非等分支圓環(huán)(兩側(cè)路徑長度不同),前車??柯窂捷^長的那一側(cè)(便于后車追趕,節(jié)省等待時(shí)間)。

首先根據(jù)2.5.2節(jié)給出的特征識(shí)別出環(huán)形入口,然后開始減速,待環(huán)形出口標(biāo)志出現(xiàn)在視野中,車輛速度置為0。如果初始入環(huán)速度過大,可根據(jù)實(shí)際賽道情況選擇給出一定的反向PWM加快減速過程。

3.3 后車超車

下面分別給出長直道和環(huán)形中后車超車方案,超車結(jié)束之后后車標(biāo)志位改變,置為前車標(biāo)記。

3.3.1 直道中的超車

直道中,由于前車??课恢檬窃诼愤?,其經(jīng)過二值化之后成像為黑色像素點(diǎn),與賽道連成一片。由于文中采用的是優(yōu)化后邊緣追蹤法進(jìn)行邊緣檢測,所以對后車而言前車的像與賽道邊緣連成一片,在后車視野中被當(dāng)作賽道的一部分(如圖2所示),因此不需對該處進(jìn)行特殊處理,后車可根據(jù)中線變化自動(dòng)完成超車。

圖2 前車??繉筌囍芯€的影響

3.3.2 環(huán)形道中的超車

環(huán)形道中,前車停靠在圓環(huán)一側(cè),后車進(jìn)入另一側(cè),不需對圖像進(jìn)行特殊處理,正常駛出即可。

3.4 優(yōu)化幀間差分法檢測超車

前車停止后,相當(dāng)于一個(gè)靜止的攝像頭,而不斷地連續(xù)拍攝圖像就相當(dāng)于在捕獲視頻,后車在通過的過程就會(huì)在一幀幀的畫面中顯示出來,后車運(yùn)動(dòng)的捕獲就類似于在視頻中進(jìn)行的運(yùn)動(dòng)目標(biāo)檢測[9]。在視頻序列中常用的運(yùn)動(dòng)目標(biāo)檢測方法主要有背景差分法、光流法和幀間差分法等。背景差分法[10-11]是利用當(dāng)前圖像幀與背景圖像幀之間的差分來進(jìn)行運(yùn)動(dòng)目標(biāo)檢測。該方法實(shí)現(xiàn)簡單,運(yùn)算速度快,但抗干擾能力較差。光流法[12]是利用序列圖像中每一幀圖像的像素矢量特征來檢測目標(biāo)區(qū)域,判斷是否出現(xiàn)有運(yùn)動(dòng)目標(biāo)造成的光流矢量變化。該方法計(jì)算太過復(fù)雜,不適合在智能車這種實(shí)時(shí)處理的系統(tǒng)中使用。幀間差分法[13]是對視頻序列中連續(xù)的兩幀或三幀圖像作差分運(yùn)算,利用時(shí)間差來提取圖像中的運(yùn)動(dòng)區(qū)域。該方法實(shí)現(xiàn)比較簡單,但對于運(yùn)動(dòng)較慢的目標(biāo)很難識(shí)別。文獻(xiàn)[14]給出了一種結(jié)合連續(xù)幀間差分與背景差分相融合的運(yùn)動(dòng)目標(biāo)檢測方法。該方法可較好地檢測運(yùn)動(dòng)慢的目標(biāo),但對于雙車系統(tǒng),需要的只是檢測到后車的出現(xiàn)與消失,而不需要整個(gè)后車運(yùn)動(dòng)的輪廓檢測。

針對超車過程中的后車運(yùn)動(dòng)檢測,在文獻(xiàn)[14]的基礎(chǔ)上,經(jīng)過分析與測試,文中提出了一種更加合適的檢測方法。該方法首先在前車停車之后記錄背景幀,統(tǒng)計(jì)并記錄背景幀的黑色像素點(diǎn)個(gè)數(shù)。然后取連續(xù)幀,分別統(tǒng)計(jì)當(dāng)前幀與背景幀之間的黑色像素個(gè)數(shù)差。后車從出現(xiàn)到消失的過程中,黑色像素點(diǎn)個(gè)數(shù)會(huì)出現(xiàn)一個(gè)由逐漸增加再到逐漸減少的趨勢,并且前車駛出之后獲取到的圖像幀與背景幀的差值會(huì)非常小。圖3給出了直道中的超車過程與黑色像素點(diǎn)變化趨勢,圖4給出了環(huán)形道中的圖像與實(shí)際位置變化。

圖3 直道中的超車圖像與變化趨勢

將連續(xù)獲取的幀與背景幀進(jìn)行比較,當(dāng)發(fā)現(xiàn)并沒有太大差異(對于文中使用的雙車系統(tǒng),實(shí)驗(yàn)測得誤差范圍在2%左右,這里變化范圍控制在10個(gè)像素點(diǎn)左右),則認(rèn)為超車完成,啟動(dòng)速度環(huán),進(jìn)行新的追逐。

圖4 環(huán)形道中的超車圖像與實(shí)際位置對比

4 測試結(jié)果與分析

為驗(yàn)證基于機(jī)器視覺的超車策略的有效性,在實(shí)驗(yàn)室同等光照條件下,對同一智能雙車系統(tǒng)采用同等圖像處理、尋線方式(優(yōu)化的邊緣追蹤法)以及控制策略,分別對添加超聲波與無線模塊的超車控制方式(采用文獻(xiàn)[4]中的策略)與文中提出的運(yùn)動(dòng)檢測超車方式進(jìn)行對比測試。測試時(shí)車速保持在2.7 m/s左右,雙車初始間距為40 cm。測試結(jié)果如表2所示。

表2 測試結(jié)果

從表2的數(shù)據(jù)來看,基于機(jī)器視覺的運(yùn)動(dòng)檢測方式與傳統(tǒng)的超聲波與無線模塊結(jié)合方式在長直道上超車動(dòng)作完成度都尚可。但在環(huán)形道中,由于超聲波角度在環(huán)形道中形成盲區(qū),傳統(tǒng)的超聲波與無線模塊結(jié)合的方式出現(xiàn)了很大問題,尤其在非均勻大環(huán)形賽道中,基于機(jī)器視覺的運(yùn)動(dòng)檢測方式不存在超聲波模塊本身具有的盲區(qū)問題,成功率提升了近14%。

5 結(jié)束語

通過對攝像頭采集到的圖像進(jìn)行更深層次的挖掘,給出了一種基于運(yùn)動(dòng)檢測的超車策略。該策略在完成超車動(dòng)作的前提下減少了超聲波與無線模塊的使用。針對距離檢測,采用區(qū)域生長的原理檢測前車的成像位置,代替了傳統(tǒng)檢測方式中超聲波模塊的功能,且避免了模塊本身存在的盲區(qū)問題。對于超車過程中停止的前車何時(shí)啟動(dòng),采用了優(yōu)化的幀間差分法,檢測整個(gè)后車的超車過程,并識(shí)別出超車的結(jié)束時(shí)刻,代替了無線模塊的通信功能。測試結(jié)果驗(yàn)證了該方式的有效性,同時(shí)在超車方式上,完全采用機(jī)器視覺進(jìn)行間接通信,更加接近于實(shí)際生活中的人為超車方式,對于雙車追逐系統(tǒng)與人工智能的發(fā)展都具有研究價(jià)值。

猜你喜歡
像素點(diǎn)灰度邊緣
航空濾光片陣列多光譜圖像條帶灰度調(diào)整算法
采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
天津港智慧工作平臺(tái)灰度發(fā)布系統(tǒng)和流程設(shè)計(jì)
基于局部相似性的特征匹配篩選算法
Arduino小車巡線程序的灰度閾值優(yōu)化方案
一種X射線圖像白點(diǎn)噪聲去除算法
基于canvas的前端數(shù)據(jù)加密
圖像采集過程中基于膚色理論的采集框自動(dòng)定位
一張圖看懂邊緣計(jì)算
在邊緣尋找自我