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

?

基于YOLOv3 的車輛多目標(biāo)檢測

2020-03-12 07:43王萍萍仇潤鶴
科技與創(chuàng)新 2020年3期
關(guān)鍵詞:精度車輛圖像

王萍萍,仇潤鶴

(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海201620;數(shù)字化紡織服裝技術(shù)教育部工程研究中心,上海201620)

交通出行與人們的日常生活緊密地連接在一起,因此道路交通問題成為人們研究與解決的重點(diǎn)問題之一。隨著智慧城市、智慧交通等理念的提出與發(fā)展,目前智慧交通系統(tǒng)已成為深度學(xué)習(xí)研究的熱點(diǎn),其中車輛目標(biāo)檢測技術(shù)是智慧交通系統(tǒng)數(shù)據(jù)前端采集研究的重要內(nèi)容之一[1]。

傳統(tǒng)的目標(biāo)檢測技術(shù)主要有幀差法、背景差分法、光流法以及方向梯度直方圖(HOG)檢測器等方法,具體檢測過程分為四步:圖像預(yù)處理、區(qū)域選擇、特征提取以及分類器分類[2]。

由于計(jì)算量過大和檢測步驟煩瑣,傳統(tǒng)的目標(biāo)檢測技術(shù)很難達(dá)到高精度檢測并且泛化能力很差[3]。隨著深度學(xué)習(xí)在圖像領(lǐng)域的不斷發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測技術(shù)的研究取得了巨大的進(jìn)步。

基于深度學(xué)習(xí)的目標(biāo)檢測技術(shù)主要分為兩類:①基于區(qū)域建議的目標(biāo)檢測方法[4],利用神經(jīng)網(wǎng)絡(luò)(CNN)代替?zhèn)鹘y(tǒng)的特征提取,選擇性搜索方法生成多個候選框,主要有R-CNN、Fast R-CNN、Faster R-CNN、FPN 等檢測算法;②基于回歸的目標(biāo)檢測方法[4],充分利用了回歸的思想,實(shí)現(xiàn)了端到端的檢測[5],直接在原始圖像的多個位置上回歸,標(biāo)出目標(biāo)位置邊框以及目標(biāo)類別,主要有YOLO(You Only Look Once)系列和SSD 目標(biāo)檢測算法。

由于監(jiān)控場景下存在光線、車輛種類、交通擁堵遮擋等多重問題,從而導(dǎo)致精確檢測難度高,小目標(biāo)檢測困難。針對這些問題,本文采用YOLOv3 目標(biāo)檢測算法對道路交通場景下的各類車輛、行人進(jìn)行多目標(biāo)檢測,利用基于Mxnet深度學(xué)習(xí)框架的YOLOv3 的目標(biāo)檢測算法,加入Darknet-53網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練自制的VOC 數(shù)據(jù)集,通過調(diào)參得到適合道路交通場景下的多目標(biāo)檢測模型,實(shí)現(xiàn)高精度的車輛多目標(biāo)檢測,最后結(jié)合細(xì)分類系統(tǒng)完成車輛各屬性的識別。

1 車輛多目標(biāo)檢測系統(tǒng)設(shè)計(jì)

本文的車輛多目標(biāo)檢測系統(tǒng)的設(shè)計(jì)源于車輛二次識別系統(tǒng)的需求,車輛二次識別系統(tǒng)用于識別車輛品牌、車款、年份、顏色、年檢標(biāo)、安全帶等屬性信息,便于實(shí)現(xiàn)車輛的檢索和車輛以圖搜圖的功能。車輛二次識別系統(tǒng)主要由圖像數(shù)據(jù)采集、車輛多目標(biāo)檢測和車輛細(xì)分類等模塊組成,實(shí)現(xiàn)了各類車輛的快速查找以及其各屬性的可視化。本文主要針對該系統(tǒng)中目標(biāo)檢測系統(tǒng)的研究與實(shí)現(xiàn),是車輛二次識別系統(tǒng)的重要組成部分。通過道路邊上的卡口攝像頭獲取交通場景車輛圖像數(shù)據(jù),然后再對其進(jìn)行數(shù)據(jù)預(yù)處理。考慮到交通場景下不同的光線和復(fù)雜的路況,車輛的目標(biāo)檢測技術(shù)精度存在很大的挑戰(zhàn)。需要選擇識別速度快、精度高的目標(biāo)檢測技術(shù),以在光線較暗、遮擋嚴(yán)重的場景下盡可能地實(shí)現(xiàn)車輛種類的識別與定位。

研究發(fā)現(xiàn)YOLOv3 目標(biāo)檢測算法具有速度快、精度高等優(yōu)點(diǎn),滿足檢測算法的要求。YOLOv3 目標(biāo)檢測是一種端到端的檢測算法[6],主要是以Darknet-53 網(wǎng)絡(luò)為網(wǎng)絡(luò)基礎(chǔ),利用殘差基本單元解決特征提取的深層問題[7],大量減少了每次卷積的通道,并且采用多尺度預(yù)測對輸入圖像的3 個尺度的特征圖進(jìn)行預(yù)測[8]。

車輛多目標(biāo)檢測過程如圖1 所示。

首先利用YOLOv3 檢測算法對已經(jīng)完成預(yù)處理的圖像數(shù)據(jù)進(jìn)行模型訓(xùn)練,得到適合該場景數(shù)據(jù)的最優(yōu)模型并保存。測試檢測目標(biāo)時將輸入圖片放入對應(yīng)于YOLOv3 檢測算法的測試腳本,并將其通過保存的最優(yōu)訓(xùn)練模型,對其進(jìn)行多目標(biāo)預(yù)測。由于本實(shí)驗(yàn)的檢測對象為交通場景下的多種目標(biāo),具體為汽車、卡車、公交車、三輪車、摩托車、自行車、行人,基本包含了交通場景下可能出現(xiàn)的車輛種類,所以得到的訓(xùn)練模型僅包含這7 種類別。輸入圖像加入訓(xùn)練模型后,對網(wǎng)絡(luò)結(jié)構(gòu)最深的3 層特征提取進(jìn)行預(yù)測,選擇置信度最高的邊界框輸出。

2 車輛多目標(biāo)檢測系統(tǒng)的實(shí)現(xiàn)

2.1 數(shù)據(jù)集的制作

車輛多目標(biāo)檢測時,需獲取數(shù)據(jù)以及預(yù)處理數(shù)據(jù),采集的實(shí)驗(yàn)數(shù)據(jù)需要滿足高清、多場景的要求,本文通過卡口攝像機(jī)獲取監(jiān)控視頻下道路交通場景圖片,通過解碼JPG 圖片后,獲取不同時間、不同地點(diǎn)和不同角度的圖片數(shù)據(jù)。由于獲取圖片的時間間隔較短,需要先對圖像進(jìn)行去重,以減少重復(fù)樣本,去重后獲得大約18 000 張車輛圖片數(shù)據(jù)。參考公開的Pascal VOC 數(shù)據(jù)集格式制作適用于檢測環(huán)境的數(shù)據(jù)集,首先對采集的圖像進(jìn)行數(shù)據(jù)標(biāo)注,使用LabelImg 軟件對數(shù)據(jù)集進(jìn)行圖像標(biāo)注,標(biāo)注后生成對應(yīng)的XML 文件。由于本實(shí)驗(yàn)需檢測道路上的各種車輛類型,本文將車輛劃分為6 個種類以及行人,因此XML 文件中共7 個目標(biāo),分別為car、truck、bus、tricycle、moto、bike、pedestrian。LabelImg標(biāo)注樣本如圖2 所示。本文采用的檢測算法不能識別空目標(biāo)文件,因此數(shù)據(jù)標(biāo)注結(jié)束后,編寫python 腳本批量刪除空目標(biāo)的XML 文件及其對應(yīng)的JPG 圖片。最后利用剩下的13 000 張左右數(shù)據(jù)圖片制作VOC 數(shù)據(jù)集,將數(shù)據(jù)按9∶1分成訓(xùn)練集和測試集兩部分,使訓(xùn)練集為11 708 張圖片,測試集為1 000 張圖片。

圖1 YOLOv3 多目標(biāo)檢測過程

圖2 LabelImg 標(biāo)注樣本

2.2 模型訓(xùn)練

車輛數(shù)據(jù)集制作完成后,利用目標(biāo)檢測算法對自制的VOC 數(shù)據(jù)集進(jìn)行模型訓(xùn)練。本實(shí)驗(yàn)采用的硬件配置是服務(wù)器為NVIDA 1080iT 的GPU,軟件環(huán)境選擇pycharm 腳本編輯器、MobaXterm 遠(yuǎn)程連接軟件、Mxnet 深度學(xué)習(xí)框架和YOLOv3 目標(biāo)檢測算法。使用Darknet-53 網(wǎng)絡(luò)結(jié)構(gòu)時,首先根據(jù)需要檢測的對象對算法進(jìn)行分類與檢測修改,將檢測的類別按檢測所需改為7 種。然后將Darknet-53 網(wǎng)絡(luò)加入到Y(jié)OLOv3 檢測算法,學(xué)習(xí)率初始值設(shè)置為0.001,根據(jù)GPU實(shí)際使用的性能情況,將模型訓(xùn)練的batch size 定為4[9],然后對訓(xùn)練集進(jìn)行模型訓(xùn)練,訓(xùn)練過程中自動保存訓(xùn)練日志、訓(xùn)練模型以及最優(yōu)訓(xùn)練模型。在訓(xùn)練過程中需要調(diào)節(jié)參數(shù)優(yōu)化訓(xùn)練過程,首先考慮學(xué)習(xí)率對預(yù)測精度的影響,將學(xué)習(xí)率由初始的0.001 調(diào)至0.000 01;其次考慮動量對訓(xùn)練過程的影響,當(dāng)訓(xùn)練達(dá)到瓶頸時,修改動量以提高預(yù)測精度。對訓(xùn)練集進(jìn)行180 次訓(xùn)練迭代后獲得最優(yōu)訓(xùn)練模型,訓(xùn)練過程如圖3 所示。

圖3 訓(xùn)練過程

本實(shí)驗(yàn)采用416×416 大小的圖像輸入,因此不同特征對應(yīng)的尺度是13×13、26×26、52×52,即每個網(wǎng)格會輸出3個預(yù)測框,預(yù)測種類數(shù)為7,則輸出的維度為3×(1+4+7)=36。這樣可以在不影響檢測結(jié)果的前期下,有效減少網(wǎng)絡(luò)的運(yùn)算量,同時提高檢測精度和檢測的速度。

2.3 測試結(jié)果

對道路交通場景下的圖像數(shù)據(jù)進(jìn)行測試主要考慮車輛種類的覆蓋、不同光線、不同角度以及道路擁堵等問題。本文采用的測試場景多樣化,涵蓋了城市和鄉(xiāng)鎮(zhèn)的十字路口、單向道路和雙向道路等多種場景,以保證該多目標(biāo)檢測適用于監(jiān)控下的實(shí)時檢測。本文選擇包括汽車、卡車、公交車、三輪車、摩托車、自行車和行人7 種類型全覆蓋、不同光線強(qiáng)度、不同道路的圖像數(shù)據(jù),如圖4 所示。

在制作VOC 數(shù)據(jù)集時,制作了1 000 張測試集未進(jìn)行預(yù)處理,對其進(jìn)行預(yù)訓(xùn)練的模型測試,從測試結(jié)果可以看出該算法對車輛多目標(biāo)檢測的處理速度達(dá)到47.5 bit/s,平均每張圖片的檢測速度達(dá)到0.021 s。測試結(jié)果如圖5 所示,多種目標(biāo)檢測的平均精度達(dá)到81.65%,其中包括汽車、卡車、公交車、三輪車、摩托車、自行車和行人的檢測精度,由于現(xiàn)在道路場景下使用三輪車和卡車較少,訓(xùn)練模型中對這兩類的檢測精度較低。由于交通場景中卡口攝像頭拍攝角度、道路擁堵等實(shí)際問題,導(dǎo)致在模型訓(xùn)練中各個檢測精度并沒有和單目標(biāo)檢測一樣達(dá)到95%以上,但是對于該數(shù)據(jù)集的應(yīng)用已經(jīng)獲得很好的檢測效果。

圖4 各類車輛及行人目標(biāo)檢測圖像

圖5 測試結(jié)果

在模型訓(xùn)練結(jié)束后,自動保存適合該數(shù)據(jù)集的最優(yōu)預(yù)訓(xùn)練模型,同時保存損失函數(shù)以及平均測試精度的變化。平均檢測精度是評價多目標(biāo)檢測效果的重要指標(biāo),當(dāng)訓(xùn)練迭代次數(shù)到達(dá)100 次后,平均檢測精度漸趨平緩,最后達(dá)到81.65%左右不再增加,所以可以得到0.816 5 的平均檢測精度。

3 結(jié)語

本文介紹了基于Mxnet 深度學(xué)習(xí)框架的YOLOv3 目標(biāo)檢測算法的道路交通場景下車輛多目標(biāo)檢測方法,包括檢測系統(tǒng)的架構(gòu)、數(shù)據(jù)集制作、模型訓(xùn)練、調(diào)參優(yōu)化、檢測結(jié)果和結(jié)果分析。實(shí)驗(yàn)表明,基于YOLOv3 的目標(biāo)檢測算法在交通場景下檢測精度上取得了良好的效果,7 種類別下的平均檢測精度達(dá)到81.56%,能準(zhǔn)確地檢測出6 種車輛以及行人。由于目前實(shí)際道路交通場景中三輪車和卡車出現(xiàn)的情況并不多,這兩類的樣本數(shù)量稀少以及監(jiān)控攝像頭受環(huán)境的影響產(chǎn)生清晰度的問題,導(dǎo)致三輪車和卡車的檢測沒有達(dá)到很高的精度。對此問題,需要進(jìn)一步深入研究,改進(jìn)檢測算法,使其對少樣本的訓(xùn)練模型達(dá)到較高的檢測精度。

猜你喜歡
精度車輛圖像
基于不同快速星歷的GAMIT解算精度分析
數(shù)字化無模鑄造五軸精密成形機(jī)精度檢驗(yàn)項(xiàng)目分析與研究
德國車輛來波蘭加油
基于生成對抗網(wǎng)絡(luò)的CT圖像生成
淺析p-V圖像中的兩個疑難問題
巧用圖像中的點(diǎn)、線、面解題
車輛
冬天路滑 遠(yuǎn)離車輛
以工匠精神凸顯“中國精度”
趣味數(shù)獨(dú)等4則
布尔津县| 临城县| 玉田县| 共和县| 来宾市| 邵东县| 深泽县| 涪陵区| 额济纳旗| 新宁县| 井陉县| 峡江县| 东方市| 黎城县| 额济纳旗| 罗源县| 高州市| 岐山县| 龙里县| 大邑县| 芦溪县| 建湖县| 板桥市| 永胜县| 康定县| 东至县| 五峰| 兴安县| 阳东县| 沭阳县| 临夏县| 富阳市| 高邑县| 磐安县| 会东县| 太白县| 昌吉市| 固阳县| 汉沽区| 蓝田县| 古蔺县|