999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于YOLOv5算法的道路場景目標檢測應用研究

2021-11-01 08:53:16陳影
現代計算機 2021年26期
關鍵詞:檢測模型

陳影

(合肥工業大學數學學院,合肥230009)

0 引言

簡單來說,計算機視覺是處理數字可視化數據(或任何可視化數據)的算法、方法和技術。目標檢測則是計算機視覺中的一個基本的視覺識別任務,旨在在給定圖像中找到具有精確定位的特定目標類的對象[1]。近年來,基于深度學習的目標檢測技術一直得到廣泛的研究而不斷發展。

常用的目標檢測模型包括Faster R-CNN[2],SSD[3],YOLO[4-7]等。Faster R-CNN的網絡結構可以分成兩個部分。一個是用來生成候選區域(Region Proposal)的深層全卷積網絡(RPN),另一部分則是Faster R-CNN檢測器,其輸入是由前一部分RPN網絡所生成的候選區域。其中,RPN使用基礎網絡通過一系列卷積和池化操作來提取圖像的特征,獲得原始特征圖,然后在原始特征圖之后連接卷積層和ReLU層,來得到圖像候選區域的特征圖。特征圖的每個點的輸出包括k個錨點,是否有目標,以及k個候選區域的坐標值。

上述Faster R-CNN可以看作是經典的“twostage”目標檢測器,對小目標檢測效果極佳。而SSD方法不同于Faster R-CNN,是一種檢測速度很快的“one-stage”方法[3]。與Faster R-CNN類似,SSD也提出了錨點的概念。卷積輸出的特征圖中的每個點對應于原始圖像區域的中心點。然后以該點為中心,可以構造六個具有不同寬高比和不同大小的錨點(即SSD中的默認框)。對于VOC數據集而言,SSD中每個錨點對應于4個位置參數(x,y,w,h)以及21個類別概率(包括20個對象類別概率,以及一個錨點是否是背景的描述)。

YOLO由Joseph Redmon在2016年提出,自此之后YOLO系列不斷迭代發展,被廣泛應用于有實時性需求的目標檢測場景中,例如在無人駕駛、物流分類、軍事打擊等領域,得到了廣泛的認可。YOLO的核心思想就是將整張圖片作為網絡的輸入,利用“分而治之”的思想,對圖片進行網格劃分,直接在輸出層回歸邊界框的檢測位置及其所屬的類別。現在,YOLO系列包括YOLOv1,YOLOv2,YOLOv3,YOLOv4和YOLOv5。

YOLOv1基于RCNN,對輸入圖像僅處理一次,通過多個卷積層提取不同的特征,并且每次共享卷積核參數,最后直接在輸出層回歸邊界框的檢測位置及其所屬的類別。YOLOv1使用完整圖像作為環境信息,檢測速度非常快,并且可以滿足實時要求。但是,缺點是位置檢測精度低,無法檢測到小的物體。YOLOv2[5]對YOLOv1進行改進。包括主干網絡上的改進,以及使用全局平均池化做預測,并提出了一種使用目標分類與檢測數據集相結合來訓練模型的聯合訓練方法。經過改進的YOLOv2雖然在小物體的檢測方面精度不高,但已經在目標檢測的速度和精度兩方面達到了一個很好的平衡。YOLOv3[6]的改進包括很多小細節。比如SoftMax分類器被多個Logistic分類器取代。其卷積層約為YOLOv2的2.8倍,網絡的深度增加了,體積也變大了,模型的準確性也提高了。為了設計一種可在實際工作環境中應用的快速目標檢測系統,YOLOv4[7]在2019年出現了。YOLOv4使用了數據增強和一些目前較新的深度學習網絡技巧,比如數據增強的CutMix操作方法,Mish激活函數和Swish激活函數等[8]。目前最新的YOLOv5是在YOLOv4的基礎上進行改進的,其運行速度得到了極大的提高,最快的速度達到了每秒140幀。與YOLOv4相比,YOLOv5具有更高的準確率和更好的識別小物體的能力。

與Faster R-CNN相比,YOLO產生的背景錯誤要少得多。通過使用YOLO來消除Faster RCNN的背景檢測,可以顯著提高模型性能[6]。YOLO v3很好地吸收了YOLOv1和YOLOv2的優點,做到了比Faster R-CNN更快,并且在小目標的檢測上比SSD模型更加準確。YOLOv5則解決了許多YOLO的先前版本中在目標檢測時存在的問題,但仍有許多值得認真學習研究改進的地方[9]。

本文使用較小版本和中等大小版本的YOLOv5模型,即YOLOv5-s和YOLOv5-m,針對自動駕駛領域的開源數據集BDD100k,使用K-means算法查找最適合數據集的錨點(anchors)。之后,通過調整數據集中的每個圖像的亮度以及模糊程度,實現數據增強。同時通過使用數據擴充,得到一個更準確的模型。

1 方法

1.1 YOLOv5網絡結構

YOLOv5的網絡結構主要包括三部分,即Backbone部分、Neck部分和Prediction部分,如圖1所示。其中,Backbone部分,即主干網絡部分,是一系列用來提取豐富的圖像特征的卷積神經網絡,主要包括Focus結構、普通卷積結構、BottleneckCSP結構以及SPP結構,有效地增加了主干特征的接受范圍;Neck部分,用于聚合特征,是一系列混合和組合圖像特征的網絡層,并負責將圖像特征傳遞到預測層;Prediction部分,即網絡預測層,負責在特征圖上應用anchors,并生成帶有類概率、目標得分和坐標的輸出向量,這里的回歸損失計算采用GOU_Loss[12],并進行NMS[14]非極大值抑制處理,最后輸出預測結果。

圖1 YOLOv5s的網絡結構圖

YOLOv5具有四個版本,即YOLOv5-s、YOLOv5-m、YOLOv5-l和YOLOv5-x,分別表示YOLOv5的較小版本、中等大小版本、較大版本和超大版本。它們之間的區別只在于模型的深度和寬度設置,通過depth_multiple參數控制模型深度,通過width_multiple參數來控制卷積核的個數,從而可方便地調整模型結構及大小。

本文選擇使用YOLOv5模型中的兩種,即YOLOv5-s和YOLOv5-m,通過在其上應用anchors改進和數據增強策略,在BDD100K數據集上驗證改進模型的有效性。

1.2 anchors聚類分析

anchors,即錨點,從YOLOv2開始,它主要用于預測邊界框。雖然原始模型中預設了COCO數據集的錨點,但由于本文使用BDD100K數據集,而在BDD100K數據集中,標注數據的邊界框分布范圍廣、寬高比分布不均并且各類目標數量差別很大,預設的錨點不能合理地直接應用,因此需要K-means算法來聚類計算新的錨點,從而生成更佳的邊界框,提高邊界框檢測率。

這里運用K-means算法的步驟是:①選擇K個初始點作為初始的聚類中心點,并計算其余點與這K個中心點之間的距離;②根據它們與初始聚類點的距離,逐一將其分組到距離最近的聚類點;③重新計算每組對象的均值來更新獲得新的中心點,即獲得了新的anchors;④通過不斷重復以上過程,即不斷地迭代更新各聚類中心點的值,直到其中的標準測度函數開始收斂或者迭代次數已經達到最大為止,此時的K個中心點就是最終獲得的anchors聚類結果。

1.3 數據增強[17-19]

在深度學習中,通常是可供學習的樣本數量樣本越多,那么學習到的模型的效果越好。然而,在現實應用中,通常會面臨的兩種困境是:①樣本數量不足;②樣本質量不好。針對這兩方面困境,通常的做法是:①盡力獲取更多的數據;②利用手邊可用的數據進行數據增強。通過數據增強可以在某種程度上提高模型的魯棒性以及泛化能力,改善模型性能。

數據增強方法可以大體上分為兩類,一類是通過單個樣本數據增強,比如進行幾何變換(如裁剪、縮放、旋轉、翻轉等)和顏色變換(如添加模糊、噪聲和亮度變化等);另一類是通過多個樣本數據增強,利用多個樣本來產生新樣本,從而進行數據擴充,如SMOTE方法[16]等。

本文所涉及的道路目標檢測任務,由于道路場景的復雜性,檢測的目標也會涉及各種復雜的情景,例如不同的方向、位置、比例等。因此選擇性地使用了一些數據增強方法增加訓練樣本數據,以獲得更加精確的模型。

主要選取的數據增強策略包括以下兩種:①針對單個樣本的色彩空間增強。具體做法是對一幅圖,隨機改變其色調,飽和度和亮度。②針對多個樣本的馬賽克數據增強。可以看作是Cutmix數據增強方式的擴展。Cutmix將兩張樣本圖片組合成一張圖的操作可以定義為:

這里,x∈?W×H×C表示訓練樣本圖片,y表示訓練樣本的標簽。使用Cutmix得到的結果是兩個訓練樣本(x A,y A)和(x B,y B)組合得到的新樣本。其中,λ由均勻分布取樣得到,是權衡兩個圖像的比例參數,用于控制標簽融合的線性混合度。

Mask∈{0,1}W×H是與原圖大小相同的掩碼矩陣,由邊界框B的位置決定,在邊界框內區域元素填0,其余填1。邊界框B=(r x,r y,r w,r h)在樣本圖片x A中的部分被B在x B的部分所替代,其坐標可以表示為:

Mosaic數據增強方式,在Cutmix左右拼接圖片的基礎上,一次利用四張圖片,將讀取到的四張圖片按照左上、右上、左下、右下位置拼接,通過對這樣拼接得到的圖片的學習,某種程度上可以說是變相增加了訓練中的批數量,實驗結果可以看到明顯的提升。

2 實驗

2.1 數據集準備

本文使用伯克利大學在2018年發布的自動駕駛數據集BDD100K。BDD100K的標簽是由Scalabel生成的JSON格式,不能直接在模型訓練中使用,在訓練之前首先要將其轉換成YOLO格式。借助于伯克利大學提供的BDD100K數據集的標簽格式轉化工具,先將數據集標簽轉換為COCO數據集格式,再進一步轉換為YOLO可以讀取的格式。

本文使用BDD100K數據集檢測13類目標,包括bike,bus,car,motor,person,rider,traffic light(green),traffic light(red),traffic light(yellow),traffic light(none),traffic sign,train,truck。BDD100K數據集中的圖像已經分為3個部分:訓練集(69863張圖片)、測試集(10000張圖片)和驗證集(2 000張圖片)。圖2和表1分別顯示了類別的分布和邊界框的位置信息。

圖2 訓練數據集的樣本分布

表1 更新前后的anchors對比

2.2 訓練環境

訓練過程使用一塊內存為92 GB的TESLA V100 GPU。數據集中圖像的輸入大小為640×640,批處理大小設置為16。

2.3 找到合適的anc hor s

通過使用訓練集中圖像的標注信息,本文使用K-means方法進行聚類,從而為BDD100K數據集計算得到最佳的anchors。本文將anchors的數量保持為默認值,即以K=3進行聚類來找到合適的anchors,然后使用計算得到的anchors來進行模型訓練。表1中列出了聚類分析后得到的anchors結果。

2.4 數據增強

考慮到數據集的樣本數量在數據增強后快速增加,導致額外的存儲壓力。因此本文采取的方法是在訓練時進行實時數據增強,這樣也就不用考慮額外的存儲問題。本文在原始樣本的基礎上,選擇使用兩種方法:一是調整圖像亮度,二是使用馬賽克方法,將其應用在原始樣本上進行數據增強。經過數據增強方法處理后,樣本不僅保有原始信息,同時也添加了一些不確定信息,提高了模型的有效性和泛化能力。

2.5 數據收集與分析

在訓練過程中,使用TensorBoard來跟蹤和繪制每次訓練的損失。訓練結束后,使用獲得的最佳輸出權重在測試集上進行測試,并在不屬于原始數據集的圖片上進行測試,從而可以了解本文模型是否對于數據集有限制。

3 結果與分析

3.1 新的anchors

通過使用K-means算法處理每個圖像的標簽,可以獲得新的anchors,與YOLOv5提供的默認錨點相比,結果表明新的anchors更合適。表1中所列是更新后的anchors與默認設置的結果對比。與原始值相比,新的anchors在高度和寬度上的比例更小,更適合道路目標識別。新的anchors訓練得到的模型mAP0.5值可以達到52.4%,高于默認anchors的準確性(51%)。

3.2 訓練損失

圖3和圖4顯示了訓練過程中的損失。圖3表示在有無數據增強的情況下的訓練損失,其中灰色和橙色兩條線表示在無數據增強情況下YOLOv5-m和YOLOv5-s的訓練損失情況,粉紅色和綠色兩條線表示在有數據增強情況下YOLOv5-m和YOLOv5-s的訓練損失情況。圖4表示改變anchors前后的訓練損失情況,其中,灰色和橙色兩條線表示改變前YOLOv5-m和YOLOv5-s的訓練損失情況,藍色和紅色兩條線表示改變anchors后YOLOv5-m和YOLOv5-s的訓練損失情況。訓練周期均設置為150。實驗表明,不使用數據增強以及不改變anchors時,損失下降得更快,但使用數據增強以及改變anchors時,損失在訓練過程中變得更加平滑。

圖3 數據增強前后的損失對比

圖4 改變anchors前后的損失對比

3.3 精度和速度

圖5和圖6是訓練時的精確度對比情況。圖5表示在有無數據增強的情況下的訓練精確度,其中綠色和粉紅色兩條線表示使用數據增強情況下的YOLOv5-m和YOLOv5-s的mAP值情況,灰色和橙色兩條線表示不用數據增強情況下的YOLOv5-m和YOLOv5-s的mAP值情況。圖6表示改變anchors前后的訓練精確度,其中,紅色和藍色表示改變后的YOLOv5-m和YOLOv5-s的mAP值情況,灰色和橙色表示改變后的YOLOv5-m和YOLOv5-s的mAP值情況。

圖5 數據增強前后的精度對比

圖6 改變anchors前后的精度對比

表2和表3給出了訓練模型的一些測試運行結果。可以看出,通過數據擴充與改變anchors,模型效果均得到了提升。并且,與數據擴充相比,anchors的調整帶來的準確性提高幅度要低一些。圖7所示是模型結果應用在一幅測試圖像的輸出結果。其中,圖(a)是在不修正anchors并且不使用數據增強的模型訓練后的檢測結果,圖(b)是模型改進后的檢測結果,圖中可以明顯看出主體部分,即bus對象在修正后的模型被檢測出來了,并且圖(a)中沒有檢測出的一個交通標志在圖(b)中也被檢測出來了。通過大量實驗結果的對比,可以發現,模型修正后,在單幅多個目標對象的圖像中,目標對象被全部檢測出來的概率得到提高,并且準確度也得到提高。

表2 YOLOv5-s模型方法的性能對比

表3 YOLOv5-m模型方法的性能對比

圖7 測試圖像的目標檢測結果

4 結語

對于自動駕駛來說,目標檢測算法的實時檢測速度和高精度至關重要。基于YOLOv5模型,本文提出一種改進算法,通過使用anchors調整和數據增強,從而使得BDD100K數據集的訓練過程相比原始模型設置更加有效和準確。在TESLA V100 GPU上訓練150個周期之后,輸出模型就可以達到一個較佳的準確率。本文模型在目標檢測與識別的實時性方面具有重要意義,對于自動駕駛應用的廣泛使用具有重要貢獻。

猜你喜歡
檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測中的應用
主站蜘蛛池模板: 97视频精品全国在线观看| 手机在线国产精品| 精品無碼一區在線觀看 | 国产成人1024精品下载| 国产精品免费电影| 欧美精品xx| 欧美一区二区三区不卡免费| 欧美日韩精品在线播放| 欧美黄网站免费观看| 午夜毛片免费看| 国产欧美专区在线观看| 国产精品xxx| 国产精品2| 亚洲区一区| www成人国产在线观看网站| 国产一级视频在线观看网站| 亚洲欧美日韩综合二区三区| 亚洲毛片在线看| 欧美一级在线看| 亚洲欧美在线精品一区二区| 青青国产在线| 99这里精品| 亚洲高清无码久久久| 日韩国产另类| 欧洲成人免费视频| 全部无卡免费的毛片在线看| a毛片在线播放| 欧美日韩动态图| 欧美乱妇高清无乱码免费| 国产日本视频91| 亚洲成人精品久久| 99re精彩视频| 久久久久久久久亚洲精品| 一级毛片在线免费看| 亚洲AV无码乱码在线观看代蜜桃| 国产爽歪歪免费视频在线观看| 91福利在线看| 在线播放国产99re| 五月婷婷导航| 亚洲免费黄色网| 国产肉感大码AV无码| 亚洲av无码人妻| 国产流白浆视频| 欧美福利在线| 国产精品第一区| 99久久精品免费看国产电影| 精品国产自在在线在线观看| 美女内射视频WWW网站午夜 | 青青草国产免费国产| 亚洲日韩欧美在线观看| 日韩二区三区无| 成年人国产网站| 在线观看国产精品日本不卡网| 毛片手机在线看| 久久综合九色综合97婷婷| 51国产偷自视频区视频手机观看| 成人午夜网址| 欧美色视频网站| 自拍偷拍欧美| 999福利激情视频| 日韩成人高清无码| 久热精品免费| 成人国产精品一级毛片天堂 | 国产成人福利在线| 999在线免费视频| 亚洲娇小与黑人巨大交| 免费 国产 无码久久久| 国产日韩av在线播放| 国产成人三级| 色久综合在线| 在线五月婷婷| A级毛片高清免费视频就| 911亚洲精品| 最新国产精品第1页| 黄片一区二区三区| a级免费视频| 国产亚洲视频中文字幕视频| 18黑白丝水手服自慰喷水网站| 五月激激激综合网色播免费| 伊在人亞洲香蕉精品區| 99久久99视频| 国产成人在线无码免费视频|