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

基于CenterNet-GYolov3的車輛檢測方法

2020-07-10 15:51:56徐仲謀楊亦樂沈夢藍
軟件 2020年5期
關鍵詞:檢測方法模型

徐仲謀,楊亦樂,董 飛,沈夢藍

(上海工程技術大學 機械與汽車工程學院,上海 201620)

0 引言

目標檢測作為計算機視覺領域中一個長期存在的、基礎性的、具有挑戰性的問題,幾十年來一直是一個活躍的研究領域[1]。目標檢測的目標是確定圖像中是否存在來自給定類別(如人類、汽車、自行車、動物)的對象實例,如果存在,則返回每個對象實例的空間位置和范圍。作為圖像理解和計算機視覺的基石,目標檢測是解決復雜或高層次視覺任務(如分割、場景理解、目標跟蹤、圖像字幕、事件檢測和活動識別)的基礎。目標檢測的應用領域十分廣泛,包括機器人視覺、電子產品、安全、自動駕駛、人機交互、基于內容的圖像檢索、智能視頻監控和增強現實。

近年來,目標檢測的方法層出不窮。2005年由朱明基于幀差背景差相融合的方法[2]、2013年,由李曉紅等人提出了基于 ORB特征的快速目標檢測方法[3]。從結構上,目前主流的兩大類分別是 onestage和two-stage目標檢測方法。One-stage方法直接通過主干網絡給出類別和位置信息,沒有使用RPN網路。該方法的優缺點是直接回歸物體的類別概率和位置坐標值,算法速度相較于two-stage來說更快,但是精度相對于two-stage來說略低。目前常用的典型的 one-stage目標檢測網絡有 SSD[4]、Yolov3[5]、Retina-Net等。對于 two-stage的目標檢測網絡,主要通過一個卷積神經網絡來完成目標檢測過程,其提取的是CNN卷積特征,在訓練網絡時,其主要訓練兩個部分,第一步是訓練RPN網絡,第二步是訓練目標區域檢測的網絡。網絡的準確度較高,但速度相對于one-stage來說較慢。目前常用的典型的 two-stage目標檢測網絡有 Fast R-CNN[6]、Master R-CNN等。

本文采用CenterNet[7]目標檢測對視頻圖像中車輛進行識別并自動進行標簽制作成數據集,通過改進的GYolov3來訓練數據集,然后再對視頻圖像中的車輛進行準確的檢測識別。

1 方法介紹

1.1 目標檢測的類別和特點

目標檢測識別在圖像上常常將目標以軸對稱的形式用檢測框顯示出來。目前主流的two-stage目標檢測方法以RCNN為基礎,拓展到了Fast-RCNN、Master-RCNN等。這類算法利用選擇性搜索算法評測相鄰圖像子塊的特征相似度,通過對合并后的相似圖像區域打分,選擇出ROI(region of interest)的候選框作為樣本輸入到卷積神經網絡中,由神經網絡學習候選框以及標定框組成的正負樣本特征,生成對應的特征向量,再由 SVM(Support Vector Machine)對特征向量分類,最后對候選框以及標定框完成邊框回歸后達到目標檢測的定位目的。RCNN類算法雖然在性能上有了較大的提升,但其缺陷也較為明顯:訓練網絡的正負樣本候選區域由傳統算法生成,使得算法速度受到限制;卷積神經網絡需要對每一個生成的候選區域進行一次特征提取,但這個過程存在了大量的重復運算,制約了算法速度。

以R-CNN算法為代表的two-stage的方法由于RPN結構的存在,雖然檢測的精度越來越高,但是在速度上卻遇到了瓶頸,而這問題很難滿足于部分場景實時性的需求。因此,基于回歸方法的one-stage的目標檢測算法出現在視野之中,不同于two-stage的方法分布訓練共享檢測結果,one-stage的方法可以實現完整單次訓練共享特征,且在保證一定準確率的前提下,極大的提升速度。以Yolo為例,作為one-stage最經典的算法,Yolo算法經歷了從早期的Yolo到Yolov2&Yolo9000,再到后來的Yolov3,算法的召回率和定位精度也在得到不斷地提高。采用了Darknet-19作為特征提取網絡,增加了批量歸一化的預處理,并且使用了 224×224和 448×448兩個階段訓練 ImageNet預訓練模型。相較于最初的Yolo利用全連接層直接預測bounding box的坐標,Yolov2開始引入了anchor機制,利用K-means聚類[8]的方法在訓練集中聚類出更好的 anchor,增加候選框的預測,采用較強約束的定位方法,大大提高了召回率。結合圖像細粒度特征,融合淺層與深層的特征,可以提高對小目標的檢測識別。

1.2 CenterNet目標檢測

CenterNet目標檢測方法不同于RCNN和Yolo,它采用的是基于關鍵點估計來找到中心點,并回歸到其他目標屬性,例如尺寸,3D位置,運動方向甚至是姿態,如圖1所示。這種基于中心點的方法,稱為:CenterNet。相較于基于BoundingBox的檢測器,CenterNet的模型是端到端的,更簡單,運算速度更快,精確度更高,如圖2所示。

圖1 根據其邊界框的中心點建模。邊界框的大小和其他對象屬性是從中心的關鍵點特征推斷出來的,中心點以彩色顯示。Fig.1 Model according to the center point of its bounding box. The size of the bounding box and other object attributes are inferred from the key point features of the center, which are displayed in color

圖2 不同檢測方法在COCO數據集上的速度-精度曲線圖Fig.2 Speed accuracy curve of different detection methods on coco data set

CenterNet通過目標中心點來呈現目標,然后在中心點位置回歸出目標的一些屬性,將目標檢測問題轉化成了一個標準的關鍵點估計問題。需要做的只是將圖像傳入全卷積網絡,得到一個熱力圖,熱力圖的峰值點即為中心點,每個特征圖的峰值點位置預測了目標的寬高信息。由于模型訓練采用標準的監督學習,推理流程僅僅是單個前向傳播網絡,不存在NMS這類的后處理。

CenterNet的方法與基于Anchor的one-stage方法相類似。中心點可以視為形狀未知的Anchor。但是與傳統one-stage還是有幾個重要差別的:第一,CenterNet分配的錨點僅僅是放在位置上,不存在尺寸框,也不需要手動設置閾值來做前后景分類。傳統的目標檢測,如Fast RCNN會將與ground truth的IoU>0.7的作為前景,與ground truth的IoU<0.3的作為背景;第二,每一個目標有且僅有一個正Anchor,所以不會用到NMS,我們提取的關鍵點是特征圖上的局部峰值點;第三,CenterNet相較與傳統目標檢測(縮放16倍尺度),輸出特征圖使用縮放4倍的分辨率,所以無需用到多重特征圖 Anchor。

1.3 Yolov3目標檢測

Yolov3是在保持實時性的基礎上,對 Yolov2進行了一些改進和提升,主要有:采用邏輯回歸預測置信度和進行分類,從三個尺度上預測bounding box的坐標以及特征提取器發生了變化。在 Yolov2中,每個cell是直接通過網絡回歸預測 b-box的坐標和置信度的,而在Yolov3中,則是把置信度和坐標分開預測的,而置信度則是單獨通過邏輯回歸來進行預測的。對于分類,舍棄了 softmax多分類,因為 softmax分類方法對性能沒有實際性的提升,而且 softmax假設是每個box只有一個類別,這對遷移到更多類別標簽更大數據集是沒有增益的,所以改用多個邏輯回歸來預測分類,使用二元交叉熵計算分類損失。

Yolov3訓練了一個新的特征提取器——DarkNet-53,使用了殘差網絡,相比較于目前比較成熟的特征提取器,性能相當,但浮點數運算更少,整體速度更快,下采樣中沒有采用池化操作,而是通過卷積步長來實現。圖3是DarkNet-53的結構圖。

圖3 DarkNet-53整體結構圖Fig.3 Overall structure of DarkNet-53

DarkNet-53與ResNet-101或ResNet-152準確率接近,但速度更快,對比的結果圖如圖4。

圖4 DarkNet-53與其他網絡的對比結果圖Fig.4 Comparison results of DarkNet-53 with other networks

Yolov3的損失函數在Yolov2上進行改動,將分類損失換成了二分交叉熵,原因是Yolov3中移除了softmax,改用了 logistic。所以 Yolov3中損失函數公式(1)為:

網格一共是S*S個,每個網格產生k個候選框anchor box,每個候選框會經過網絡最終得到相應的bounding box。最終會得到S*S*k個bounding box,根據公式(1)中,可以看出,損失函數由中心坐標誤差、寬高坐標誤差和置信度誤差線性組合而成。中心坐標誤差表示的是:當第i個網絡的第 j個anchor box預測某一個真實目標時,那么由這個anchor box所產生的bounding box就要去和真實目標的box去比較,計算得出中心坐標誤差。寬高坐標誤差表示的是:當第i個網絡的第 j個anchor box預測某一個真實目標時,那么由這個anchor box所產生的bounding box就要去和真實目標的box去比較,計算得出寬高坐標的誤差。置信度誤差是使用交叉熵來表示,不管anchor box是否負責某個目標,都會計算置信度誤差,因為置信度表示的是框出的box中確實存在物體的自信程度和將整個物體的所有特征都包括進來的自信程度。損失函數分為兩個部分:有物體、沒有物體,其中沒有物體損失部分還增加了權重系數。增加權重系數的原因是,對于一副圖像,一般來說,大部分內容是不包含待檢測物體的,這樣會導致沒有物體的計算部分貢獻會大于有物體計算部分的貢獻權重。

在bounding box位置的回歸,仍然采用k-means的聚類產生 anchor box的長寬,Yolo會對每個bounding box給出是否是物體的置信度預測,用來區分物體和背景,這個數值用 logistic回歸。通過logistic regression從9個anchor中找到最佳的那個,然后將它的坐標信息和分類預測加入到 loss計算中,其余的就算與真值框的IoU大于我們設定的閾值,只要不是最佳的,最后計算檢測loss和分類loss的時候也不需要去考慮。但是Yolov3在運行速度保證的前提下,對于目標的檢測精度不能達到較高的標準,這也是損失函數中各種誤差線性組合后產生的,所以,提出一個新的指標GIoU[9]來替換bounding box回歸損失函數。

1.4 GIoU

傳統回歸損失主要有兩個缺點:第一,在相同的L1,L2距離下,IoU和GIoU可能存在較大的區別,如圖 5所示;第二,基于 L1,L2距離的 loss對于尺度不具有不變性。

圖5 IoU與GIoU的區別Fig.5 Differences between IoU and GIoU

造成這樣的缺點的原因是:①當IoU(A,B)=0時,不能得知A和B是相互鄰近還是相距較遠。IoU②不能精確反應兩個物體的重疊方式。如圖6所示。

圖6 兩種重疊方式的IoU相同,IoU=0.33,左邊的GIoU=0.33,右邊的GIoU=0.24。IoU無法區分,GIoU卻可以通過數值來進行區分Fig.6 The IOU of the two overlapping modes is the same, IoU = 0.33, GIoU on the left = 0.33, and GIoU on the right = 0.24. IoU cannot be distinguished, but GIoU can be distinguished by numerical value

但是IoU也有存在的優點:①IoU可以作為距離,loss=1-IoU。但是若兩個物體不相交時無回轉梯度。②IoU對尺度變化具有不變性,即不受兩個物體尺寸大小的影響。因此,提出了新的評價指標GIoU。GIoU的定義如下:

GIoU和IoU一樣對物體的大小不敏感。GIoU總是小于等于IoU,對于IoU,有

0≤IoU≤1

GIoU則是

-1≤GIoU≤1

當A和B完全重合的時候,有

GIoU=IoU

定義loss如下:

由于GIoU引入了包含A和B兩個圖形的C圖形,所以,當A∩B=?時,依舊可以優化。所以,選擇GIoU替換Yolov3訓練時的損失函數,優化損失函數,提高檢測精度。

2 實驗結果及分析

2.1 實驗流程

實驗整體流程如圖7所示。

圖7 算法流程圖Fig.7 Algorithm flow chart

2.2 實驗結果及分析

本次實驗使用的視頻圖像分為訓練視頻和測試視頻,采用帶有OIS的f/1.8光圈的12MP攝像頭拍攝,分辨率為 720P,視頻幀率為 30fps,視頻時長300 s,格式為mp4。硬件設備為Inter Corei7-9700K,8G RAM,顯卡為GeForce GTX1070Ti,操作系統為Win10,編程環境為Pycharm,搭載Keras和Opencv。

建立預訓練模型所生成的 loss曲線圖如圖 8,圖9所示,圖8顯示的完整的loss曲線圖,整個訓練輪次為600,訓練數據量為2萬張圖像,圖9顯示的訓練末期收斂的放大圖,選取loss值最小的點為預訓練模型。

模型選取loss值的最低點,在位于第559輪,loss值為 7.97。在末端收斂處。在訓練開始階段,曲線發生了較大浮動,由于提供訓練的視頻圖像的分辨率為 416×416,導致在自動標簽時可能有臟數據存在的可能,所以在最初的訓練時,曲線會出現較大波動,在訓練中期的時候,因為修改了損失函數,采用了 GIoU作為新的損失函數,在誤差方面進行了控制,增強了整體的魯棒性,曲線開始回歸平穩并小幅振蕩。以下給出自動標簽的示例圖和驗證圖示例,驗證集包含了 5000張驗證圖片,如圖10,圖11所示。

圖8 完整的訓練過程loss曲線圖Fig.8 A complete loss curve of training process

圖9 訓練末期收斂的放大圖Fig.9 Enlarged graph of convergence at the end of training

圖10 自動標簽示例圖Fig.10 Example of Auto Label

圖11 驗證圖示例Fig.11 Example of verification diagram

通過驗證圖,可以發現,對于特征不明顯的車輛也可以完成目標檢測識別,對于小目標車輛也有較高的置信度,表1是本次訓練的模型相比較于原始模型,在FPS和mAP上的提高。

表1 訓練模型和原始模型的mAP和FPS的對比Tab.1 Comparison of mAP and FPS between training model and original model

由上表可以發現,我們訓練的模型和算法原始模型在 mAP和FPS兩個指標上都有提升,精度提升了5%,FPS也有了略微的提升。精度的提升主要是由于修改了損失函數,生成了新的訓練模型,有了較強的魯棒性。

3 結論

為了提高對視頻中車輛的檢測準確率,提出了一種新的檢測方法,通過CenterNet檢測目標車輛并進行自動標簽,將標簽完的數據制作成數據集,修改Yolov3中的損失函數,用新的評價指標GIoU代替,訓練數據集,找到最適合的訓練模型,使用訓練模型來對驗證集的數據進行驗證,實驗結果得到mAP(平均精度)提高了5%,FPS(每秒幀率)也提高了1幀/秒。

猜你喜歡
檢測方法模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測中的應用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 日韩无码白| 伊人AV天堂| 国产成人精品日本亚洲| 欧美成人A视频| 超碰aⅴ人人做人人爽欧美| 毛片免费视频| 久久99国产综合精品女同| 国产三级成人| 国产精品精品视频| 亚洲无线国产观看| 欧洲极品无码一区二区三区| 国产丰满大乳无码免费播放| 亚洲精品中文字幕无乱码| 国产成人91精品| 亚洲天堂网视频| 国产精品永久不卡免费视频| 无码专区国产精品第一页| 国产精品视频猛进猛出| 国产精品久久久久无码网站| 亚洲国产综合自在线另类| 又爽又大又黄a级毛片在线视频 | 波多野结衣爽到高潮漏水大喷| 91亚洲国产视频| 四虎国产永久在线观看| 国产欧美日韩综合在线第一| 国产精品无码影视久久久久久久| 毛片一区二区在线看| 亚洲av中文无码乱人伦在线r| 一区二区三区成人| 亚洲天堂在线免费| 日韩小视频网站hq| 日韩精品亚洲人旧成在线| 久久香蕉国产线看观看亚洲片| 久久亚洲国产最新网站| 欧美劲爆第一页| 国产男女免费视频| 日韩激情成人| 毛片免费视频| 麻豆AV网站免费进入| 国产一区在线观看无码| 国产噜噜噜| 欧洲在线免费视频| 天天综合网在线| 国产成人91精品| 日韩a级片视频| 国产乱码精品一区二区三区中文| 亚洲三级电影在线播放| 伊人成人在线视频| 麻豆精选在线| 波多野结衣无码视频在线观看| 五月婷婷激情四射| 国产啪在线| 国产一级裸网站| 国产精品成人免费视频99| 国产精品hd在线播放| 亚洲天堂自拍| 免费一级大毛片a一观看不卡| 毛片三级在线观看| 国产成人久久777777| 亚洲日韩在线满18点击进入| 久久免费观看视频| 国产精品永久在线| 伊人久久久久久久久久| 四虎精品黑人视频| 一本大道视频精品人妻| 亚国产欧美在线人成| 尤物特级无码毛片免费| 午夜性爽视频男人的天堂| 国产欧美日韩综合在线第一| 啪啪国产视频| 久久综合伊人77777| 国产又爽又黄无遮挡免费观看 | 日韩欧美网址| 搞黄网站免费观看| 国产农村妇女精品一二区| 国产清纯在线一区二区WWW| 天天做天天爱夜夜爽毛片毛片| 国产免费自拍视频| 四虎永久免费网站| 欧美一级在线看| 国产永久在线观看| 女同久久精品国产99国|