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

?

一種虛擬場景車輛檢測與測距方法

2020-12-23 02:04:56許小偉余雪靖嚴(yán)運兵陳乾坤李浩東
關(guān)鍵詞:測距攝像機(jī)攝像頭

許小偉,余雪靖,嚴(yán)運兵,陳乾坤,李浩東

(武漢科技大學(xué) 汽車與交通工程學(xué)院,湖北 武漢 430065)

0 引言

隨著汽車保有量的不斷增加,交通擁擠,事故頻發(fā),尤其是車輛追尾事故造成了巨大的交通隱患。因此,車輛識別與距離估計對于智能駕駛安全性具有重要意義[1]。機(jī)器視覺是一種利用攝像機(jī)對物體進(jìn)行檢測和識別[2-5]的方法,其中,單目視覺經(jīng)濟(jì)性較好,算法柔性大、適應(yīng)性強(qiáng),完全可以滿足測距精度要求[6],因此,本文選用單目視覺進(jìn)行測距研究。

機(jī)器視覺中,包括基于傳統(tǒng)特征和基于深度學(xué)習(xí)的目標(biāo)識別方法。傳統(tǒng)的目標(biāo)識別與檢測方法容易受到光照、姿態(tài)等的影響,識別率較低[7]?;谏疃葘W(xué)習(xí)的目標(biāo)檢測與識別方法分為單步法和兩步法。兩步法中的第一步需要生成候選目標(biāo)區(qū)域,第二步采用卷積神經(jīng)網(wǎng)絡(luò)確定目標(biāo)的類別和位置[8-11],兩步法實現(xiàn)了較高的目標(biāo)檢測與識別精度,但是實時性較差。單步法既考慮目標(biāo)檢測精度,又考慮實時性的問題,因此在實時檢測方面得到了更廣泛的應(yīng)用。YOLO系列[12-14]把目標(biāo)檢測作為在整張圖像上的回歸問題,但是較難檢測相鄰較近的目標(biāo)。目標(biāo)檢測(single shot multibox detector,SSD)算法[15]是利用卷積對不同尺度特征圖中的目標(biāo)進(jìn)行預(yù)測,再將預(yù)測結(jié)果結(jié)合起來做目標(biāo)檢測與識別,該方法既有較好的實時性,又滿足了目標(biāo)檢測精度要求,但是對小目標(biāo)的檢測效果不太好,需要對SSD算法進(jìn)行改進(jìn)。因此,本文提出了一種基于改進(jìn)SSD的單目視覺測距算法。

1 算法設(shè)計

1.1 改進(jìn)SSD算法

SSD算法是一種單步法,即直接預(yù)測目標(biāo)類別和邊界框的多目標(biāo)檢測算法。與兩步法中的Faster R-CNN相比,SSD算法沒有生成目標(biāo)區(qū)域的過程,極大地提升了運行速度。SSD算法的主網(wǎng)絡(luò)采用VGG16[16],并且將最后兩個全連接層改成卷積層,增加4個卷積層構(gòu)造網(wǎng)絡(luò)結(jié)構(gòu)。針對不同大小的目標(biāo)檢測,SSD算法利用不同卷積層的特征圖進(jìn)行綜合,對不同大小的目標(biāo)進(jìn)行預(yù)測。SSD算法的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

圖1 SSD算法的網(wǎng)絡(luò)結(jié)構(gòu)圖

由上述分析可知:SSD算法中用作目標(biāo)檢測的特征圖分辨率過小,會導(dǎo)致不能準(zhǔn)確且魯棒地檢測較小的目標(biāo);但是特征圖分辨率也不能過大,因為特征圖分辨率過大,會導(dǎo)致在同一特征圖上的默認(rèn)邊界框數(shù)量過多,實時性較差。因此,在SSD算法原有6個特征層的基礎(chǔ)上,其中第3層卷積層由3次卷積操作組成,本文添加第3個卷積層完成第3次卷積操作后的特征圖,即第3_3特征層作為第1個目標(biāo)檢測的特征層。則作為目標(biāo)檢測的特征層及其分辨率分別為:第3_3特征層75 pixels×75 pixels,第4_3特征層38 pixels×38 pixels,第7特征層19 pixels×19 pixels,第8_2特征層10 pixels×10 pixels,第9_2特征層5 pixels×5 pixels,第10_2特征層3 pixels×3 pixels,第11_2特征層1 pixels×1 pixels。原SSD算法在不同的特征層上默認(rèn)邊界框尺寸和高寬比都不同,第4_3特征層、第10_2特征層和第11_4特征層使用了4個高寬比,在其他特征層上都使用了6個高寬比,一共產(chǎn)生了8 732個默認(rèn)邊界框。而本文對每一層的默認(rèn)邊界框的尺寸和高寬比進(jìn)行調(diào)整以達(dá)到較好的車輛檢測效果,改進(jìn)的默認(rèn)邊界框在7個目標(biāo)檢測的特征層上的總量為9 505個。其默認(rèn)邊界框尺寸和高寬比如表1所示。

表1 默認(rèn)邊界框尺寸及高寬比

默認(rèn)邊界框在同一個特征層有不同的高寬比,在不同的特征層有不同的大小,因此基本可以覆蓋輸入圖像中的各種形狀和大小的車輛目標(biāo)。

采用兩個不同的3 pixels×3 pixels的卷積核對從第7卷積層到第11卷積層中5種不同的輸出特征圖進(jìn)行卷積,一個輸出分類用的置信度,每個默認(rèn)邊界框生成2個類別的置信度(車輛和背景);一個輸出回歸用的位置損失,每個默認(rèn)框生成4個坐標(biāo)值(x,y,w,h)。最后,將前面3個計算結(jié)果分別合并然后傳給損失層。其損失函數(shù)為:

(1)

其中:Lconf為相應(yīng)的預(yù)測框與目標(biāo)類別的置信度損失;Lloc為相應(yīng)的位置回歸損失;N為匹配到默認(rèn)框的預(yù)測框的數(shù)量;α為用于調(diào)整置信度損失和位置損失之間的比例;g為真實框;l為模型輸出的預(yù)測框;x為預(yù)測框是否匹配到某個類別的真實框,分別用0和1表示。采用SSD算法對圖像中的車輛進(jìn)行目標(biāo)識別,返回默認(rèn)框生成的4個坐標(biāo)值(x,y,w,h)。則檢測框4個頂點坐標(biāo)為:

(2)

1.2 單目視覺測距

利用改進(jìn)SSD算法檢測車輛位置,并取檢測框下邊緣的中點作為車輛的像素坐標(biāo),利用該像素坐標(biāo)測量車輛的距離。

圖2為單目測距示意圖。如圖2所示,電荷耦合器件(charge coupled device,CCD)攝像機(jī)的有效焦距為f;CCD攝像機(jī)的俯仰角為α;CCD攝像機(jī)的鏡頭中心到路面的高度為h;光軸與像平面的交點為(x0,y0);像平面坐標(biāo)系的原點一般取(0,0);路面上一點P在像平面上的投影坐標(biāo)為(x,y)。點P是檢測出的前方車輛下部邊框的中心點,根據(jù)幾何關(guān)系得到點P與鏡頭中心的水平距離d的計算公式為:

d=h/tan{α+arctan[(y0-y)/f]},

(3)

其中:h和α可直接測量得到,而f和y需要攝像機(jī)標(biāo)定得到。y是目標(biāo)點在CCD像平面上的投影坐標(biāo)在y軸方向上的分量,稱為像平面坐標(biāo),mm。通過圖像處理只能獲得目標(biāo)點在計算機(jī)內(nèi)存中的坐標(biāo),稱為幀存坐標(biāo)(u,v),單位是像素(pixels)。幀存坐標(biāo)和投影坐標(biāo)變換見圖3。因此,要將計算機(jī)內(nèi)存中的幀存坐標(biāo)轉(zhuǎn)換到像平面坐標(biāo)系統(tǒng)中。

圖2 單目測距示意圖

圖3 幀存坐標(biāo)和投影坐標(biāo)變換

O(u0,v0)是CCD攝像機(jī)光軸與像平面交點(x0,y0)的幀存坐標(biāo),該點一般位于幀存圖像的中心處,但由于攝像機(jī)制作的原因,也會有些偏離,因此需要對其進(jìn)行標(biāo)定。設(shè)幀存中的一個像素對應(yīng)像平面在x軸與y軸方向上的物理尺寸分別為dx、dy,則有變換關(guān)系:

(4)

v可由圖像處理獲得,計算y需要預(yù)先確定v0和dy的值。因此,為計算式(2),攝像機(jī)參數(shù)f、v0、dy必不可少,這就需要進(jìn)行攝像機(jī)參數(shù)的標(biāo)定。

由式(4)可得:

y=(v-v0)×dy,

(5)

其中:v可以由圖像處理得到。

x0=y0=0。

(6)

將式(5)和式(6)代入式(3),可得:

d=h/tan(α+arctan[-(v-v0)/ay])。

(7)

因此,求內(nèi)部參數(shù)時只需求出有效焦距f和像素對應(yīng)的物理尺寸dy的比值ay。

1.3 攝像機(jī)標(biāo)定

攝像機(jī)標(biāo)定的目的是實現(xiàn)圖像坐標(biāo)系與世界坐標(biāo)系之間的轉(zhuǎn)化,其轉(zhuǎn)化方式可以以內(nèi)參矩陣和外參矩陣來表示。為了方便、快捷且安全地進(jìn)行測距實驗,本文采用仿真軟件PreScan搭建測試場景,采用攝像頭暗箱和PreScan搭建的硬件在環(huán)平臺實現(xiàn)測距工作,其攝像頭的安裝方式如圖4所示。

圖4 攝像頭的安裝方式

在PreScan軟件中設(shè)置主車攝像頭與水平面夾角為10°,即α= 10°,安裝高度為1.5 m。將場景圖像投影到攝像頭暗箱顯示器上,其圖像分辨率為2 048 pixels×1 536 pixels,將攝像頭水平放置,并且調(diào)整攝像頭高度和左右位置,使攝像頭光心對準(zhǔn)屏幕中心,并調(diào)整攝像頭到顯示器的距離,使得攝像頭采集的圖像剛好完全包括顯示器中的畫面,PreScan軟件中相機(jī)設(shè)置如圖5所示。

圖5 PreScan軟件中相機(jī)設(shè)置

在車輛運動過程中,攝像頭外參會發(fā)生變化,但是本文采用的測距方法只需要知道攝像頭內(nèi)參,因此在車輛運動過程中不需要考慮攝像頭位置變化導(dǎo)致需要重復(fù)標(biāo)定的問題[17]。采用MATLAB軟件的工具箱標(biāo)定,其中:ay=2 467.10,v0=749.57,h=1 500,α=10,其距離d可由式(7)計算。

2 實驗與數(shù)據(jù)分析

2.1 目標(biāo)檢測效果分析

本實驗主要在PC端完成,PC主要配置:CPU為Intel i7-8750h,主頻為2.20 GHz,顯卡為NVIDIA GeForce GTX,操作系統(tǒng)為Windows10。采用CCD攝像機(jī),算法實現(xiàn)軟件環(huán)境為pycharm1.7。為了檢驗算法效果,本文目標(biāo)檢測選取VOC 2007數(shù)據(jù)集中汽車和非汽車的圖像數(shù)據(jù)進(jìn)行模型的訓(xùn)練、驗證以及測試。使用VOC 2007數(shù)據(jù)集分別訓(xùn)練SSD算法和改進(jìn)的SSD算法,分別迭代120 000輪。將SSD算法和本文改進(jìn)的SSD算法做對比,結(jié)果通過平均精度均值(檢測出的目標(biāo)中正確的目標(biāo)所占的比率)和圖片傳輸速率(每秒鐘所處理的圖像幀數(shù))來判斷算法的改進(jìn)效果。

由于本文主要關(guān)注對中小目標(biāo)的檢測,因此在同樣的訓(xùn)練集、驗證集和測試集的條件下對上述模型的檢測結(jié)果進(jìn)行比較,使用評價標(biāo)準(zhǔn)中的平均精度均值來衡量檢測的效果。當(dāng)網(wǎng)絡(luò)閾值(即預(yù)測框與真實框的交并比)設(shè)置為0.5時,對比不同模型中等車輛目標(biāo)的檢測精度,結(jié)果如表2所示。當(dāng)網(wǎng)絡(luò)閾值設(shè)置為0.9時, 對比不同模型小車輛目標(biāo)的檢測精度,結(jié)果如表3所示。

表2 中等車輛目標(biāo)檢測精度對比

表3 小車輛目標(biāo)檢測精度對比

由表2和表3可知:當(dāng)網(wǎng)絡(luò)閾值設(shè)置為0.5時,對中等車輛目標(biāo)進(jìn)行檢測,改進(jìn)的SSD算法檢測精度比SSD算法的檢測精度高0.6%;而當(dāng)網(wǎng)絡(luò)閾值設(shè)置為0.9時,改進(jìn)的SSD算法對小車輛目標(biāo)的檢測精度比SSD算法的檢測精度高6.6%,說明本文算法對小目標(biāo)的檢測精度有較為明顯的提升,雖然檢測速度有所下降,但仍然滿足實時性要求。

為了進(jìn)一步檢測改進(jìn)算法效果,采集較為復(fù)雜環(huán)境下的圖像,分別采用SSD算法與改進(jìn)的SSD算法進(jìn)行車輛目標(biāo)檢測,結(jié)果如圖6所示。

(a) SSD算法車輛檢測效果

(b) 改進(jìn)的SSD算法車輛檢測效果

圖6 SSD算法和改進(jìn)的SSD算法車輛檢測對比

從圖6a可以看出:SSD算法對于近處的目標(biāo)檢測效果較好,對于遠(yuǎn)處較小的車輛目標(biāo)檢測效果較差。從圖6b可以看出:改進(jìn)后的SSD算法對于近處和遠(yuǎn)處的車輛檢測效果均較好,改進(jìn)后的SSD算法對于SSD算法有一定的改進(jìn)。

2.2 基于虛擬場景的單目視覺測距

為了檢測改進(jìn)的SSD算法能夠檢測到的車輛目標(biāo)的距離,本文采用PreScan場景仿真軟件搭建測試場景,分別將前方車輛放置在距離本車10~80 m距離,經(jīng)檢測得出:改進(jìn)的SSD算法可以準(zhǔn)確地檢測出在0~70 m距離的車輛目標(biāo)。采用改進(jìn)SSD算法的部分目標(biāo)檢測圖如圖7所示。

(a) 距離本車20 m

(b) 距離本車40 m

(c) 距離本車60 m

(d) 距離本車80 m

圖7 改進(jìn)SSD算法的部分目標(biāo)檢測圖

表4 測距計算結(jié)果

采用式(7)對前方車輛目標(biāo)測距,計算結(jié)果如表4所示。

由表4可知:目標(biāo)與攝像機(jī)距離在70 m以內(nèi)時,本文提出的算法對目標(biāo)的定位誤差率在2%以內(nèi)。

3 結(jié)論

本文提出一種基于改進(jìn)SSD算法的虛擬場景的車輛檢測與測距算法,并且借助仿真軟件PreScan驗證了該測距算法的效果。當(dāng)網(wǎng)絡(luò)閾值設(shè)置為0.9時,改進(jìn)的SSD算法對小車輛目標(biāo)的檢測精度提升了6.6%,且可以檢測到距離主車70 m以內(nèi)的目標(biāo);通過PreScan硬件在環(huán)平臺測試前方車輛距離為70 m以內(nèi)時,可以達(dá)到2%的定位精度,滿足實際要求。

猜你喜歡
測距攝像機(jī)攝像頭
浙江首試公路非現(xiàn)場執(zhí)法新型攝像頭
攝像頭連接器可提供360°視角圖像
類星體的精準(zhǔn)測距
科學(xué)(2020年3期)2020-01-06 04:02:51
看監(jiān)控攝像機(jī)的4K之道
淺談超聲波測距
電子制作(2017年7期)2017-06-05 09:36:13
攝像機(jī)低照成像的前世今生
新安訊士Q6155-E PTZ攝像機(jī)
奔馳360°攝像頭系統(tǒng)介紹
如何消除和緩解“攝像機(jī)恐懼癥”
新聞前哨(2015年2期)2015-03-11 19:29:25
基于PSOC超聲測距系統(tǒng)設(shè)計
本溪市| 汉沽区| 重庆市| 肃宁县| 商南县| 古丈县| 巴林右旗| 高尔夫| 云南省| 郴州市| 久治县| 彰武县| 鄄城县| 崇文区| 仙桃市| 临沧市| 威宁| 房产| 伊宁县| 沧州市| 报价| 临泽县| 宁城县| 武宁县| 沛县| 安新县| 巴南区| 盘锦市| 城口县| 通化县| 嵩明县| 宁德市| 忻州市| 台江县| 河东区| 青岛市| 都兰县| 吉林市| 江山市| 万源市| 府谷县|