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

基于深度卷積神經網絡的小目標檢測算法*

2020-05-04 06:53:58航,朱
計算機工程與科學 2020年4期
關鍵詞:特征提取特征檢測

李 航,朱 明

(1.中國科學院長春光學精密機械與物理研究所,吉林 長春 130033;2.中國科學院大學,北京 100049)

1 引言

隨著計算機技術的迅速發展,計算機視覺技術已經廣泛應用于各行各業,在智能視頻監控、人機交互、機器人視覺導航、醫學診斷和圖像分類等領域有著十分廣闊的應用前景[1 - 3]。目標檢測是指從一幅原始的圖像中分離出背景和感興趣的目標,確定這一目標的類別和位置。目標檢測技術是計算機視覺中十分重要的組成部分,為計算機感知世界、認知世界提供基礎。

傳統的目標檢測算法主要基于圖像梯度直方圖的局部特征(SIFT)和全局特征(HOG)提取方法[4,5],利用滑動窗口找出目標的潛在區域,提取出特征信息,再利用支持向量機(SVM)和自適應提升(Adaboost)等分類器對目標特征進行分類。還有一些算法使用全局注意力機制在整個檢測場景中選擇突出的候選區域。雖然這些算法檢測效果較好,但魯棒性較差,無法用于不同的應用場景中。而且由于滑動窗口策略會導致大量重復計算,算法的執行速度較慢。

近年來,基于深度卷積神經網絡[6 - 8]的目標檢測技術以其局部感知和權值共享的特點,在目標檢測領域取得了飛速的發展。與傳統的目標檢測算法相比,基于深度卷積神經網絡的目標檢測算法通過卷積神經網絡對訓練數據集的學習,可以自動地從圖像中提取特征,獲得目標的位置和類別,學習能力強、精度高、魯棒性強。當前基于卷積神經網絡的目標檢測算法主要分為2類:一類是基于區域的目標檢測算法,如Faster RCNN[2]和CornerNet[9]。這類算法將特征提取、區域建議和邊界框分類與回歸整合到1個網絡中,提高了小目標的檢測率,但是在嵌入式平臺上無法滿足實時檢測的要求。另一類是基于回歸的目標檢測算法,如YOLO(You Only Look Once)[10 - 12]和SSD(Single Shot multibox Detector)[13],只需經過1次卷積運算,便可直接在原始圖像上完成目標檢測工作。這類算法檢測速度較快,滿足實時性的要求,但是對小目標的檢測效果不盡人意。

為了在嵌入式平臺上實現小目標檢測精度和檢測速度方面的良好平衡,本文借鑒YOLO算法,設計了一種新的dense_YOLO目標檢測算法。在特征提取階段,通過將DenseNet[14]網絡的思想和深度可分離卷積[15,16]思想相結合,設計出基于深度可分離卷積的slim-densenet特征提取網絡,增強了小目標的特征傳遞,也加快了算法的檢測速度。在檢測階段,采用自適應多尺度融合檢測的思想,在不同的特征尺度上進行目標的分類和回歸,提高了小目標的檢測精度。dense_YOLO目標檢測算法可以為深度學習[17]目標檢測技術應用于嵌入式平臺提供可能。

2 dense_YOLO目標檢測算法

2.1 原始YOLO算法

YOLO算法將物體檢測問題處理成回歸問題,用1個神經網絡結構就可以從圖像中直接預測目標的位置和類別。在網絡結構上,首先采用ReLU(Rectified Linear Unit)[6]激活函數和卷積操作來提取特征,之后采用全連接層進行目標位置和類別的預測,從而得出最終的檢測結果。

YOLO算法采用分塊思想,將輸入圖像分成S×S個小塊(grid cell),若目標的中心點落入到某一個小格中,那么這個小格便負責這個目標的預測任務,通過網絡的訓練學習數據分布,預測出這個目標的中心坐標、長寬和類別;再經過非極大值抑制NMS(Non-Maximum Suppression)算法[18],將置信度高的候選框作為最終的目標位置輸出,如圖1所示。雖然YOLO算法檢測速度較快,但全連接層丟失了較多的空間信息,使得算法對小目標的檢測效果不好。

Figure 1 YOLO detection principle圖1 YOLO檢測原理

2.2 dense_YOLO目標檢測原理

本文針對YOLO算法在檢測小目標時精度低的問題,設計了新的dense_YOLO目標檢測算法,算法由2部分組成:特征提取模塊和多尺度目標檢測模塊。dense_YOLO目標檢測算法舍棄了原始YOLO算法中的全連接層,改為采用全卷積網絡(Fully Convolutional Networks)[19]的結構,使得網絡可以適應不同大小的輸入圖像。然后使用新的基于深度可分離卷積的slim-densenet特征提取網絡來提取特征,新的網絡結構參數量更少,特征在網絡中的傳遞速度更快。最后采用自適應多尺度融合算法進行目標檢測,在不同的特征尺度上進行目標的分類和回歸,得到目標的具體位置和類別信息,提高了算法對小目標的檢測準確率。

2.2.1 slim-densenet特征提取模塊

本文借鑒DenseNet網絡結構,設計了slim-densenet特征提取網絡結構。原始的YOLO網絡結構中,特征的傳遞方式為逐層傳遞,每層的輸入只來自和它相連的前一層。而本文的slim-densenet特征提取網絡結構改變了特征在網絡層之間的傳遞方式,使得特征可以跳過部分網絡層直接傳遞到后面的網絡層中,不僅減輕了梯度消失的問題,而且還加快了特征在網絡中的傳遞。本文的slim-densenet特征提取網絡結構如圖2所示。其中Dense block模塊是slim-densenet網絡中加速特征傳遞的部分。從圖3可以看出,特征經過Dense block可以跳過其中的部分網絡直接傳遞到后端網絡,因而加快了特征在網絡中的傳遞。

Figure 2 Network structure of slim-densenet圖2 slim-densenet特征提取網絡結構

為了進一步提高特征在網絡中的傳遞速度,本文將特征提取模塊中的7×7,5×5和3×3卷積替換為深度可分離卷積。深度可分離卷積區別于傳統的卷積:傳統的卷積利用卷積核對輸入的多通道圖像進行卷積操作,隨著卷積核的增大,計算量成指數增長。而深度卷積神經網絡將卷積操作分為Depthwise Convolution和Pointwise Convolution 2部分,如圖4所示,Depthwise Convolution對輸入的多通道向量進行分層卷積,即對每一層通道都進行卷積運算;之后Pointwise Convolution使用大小為1×1的卷積核對Depthwise Convolution得到的中間結果在通道維度進行擴充,最終得到和傳統卷積操作相同的結果。與傳統的卷積操作相比,深度可分離卷積在減少參數量的同時加快了特征的傳遞。

Figure 3 Dense block module圖3 Dense block模塊

Figure 4 Depthwise separable convolution圖4 深度可分離卷積

2.2.2 自適應多尺度融合檢測模塊

針對小目標檢測這一難點,本文提出了多尺度融合檢測的思想。基于深度學習的YOLO目標檢測算法需要經過多個下采樣層來提取特征,在最后一層特征圖上進行目標的分類和回歸,而每經過1個下采樣層,網絡的分辨率就會被壓縮1次,從而損失不同分辨率的特征圖的信息,這樣使得網絡在最后很難提取到針對小目標的特征,因此YOLO算法對小目標的檢測效果不盡人意。針對這一情況,本文在3個特征尺度上進行目標檢測,每1個特征尺度都融合了其他特征尺度的信息,網絡淺層提取目標邊緣和紋理等細節特征,網絡深層提取物體輪廓的特征,將它們相互融合之后進行卷積運算,提取出目標的位置類別信息。本文的自適應多尺度融合檢測流程如圖5所示。

Figure 5 Adaptive multi-scale fusion detection圖5 自適應多尺度融合檢測

首先通過最后3個Dense block模塊提取出3個尺度不同的feature map。接著進行特征融合,將小尺度的feature map包含的特征傳入前面一層大尺度的feature map中,這樣每一層預測所用的feature map都融合了不同分辨率、不同語義強度的特征,大尺度feature map由于其分辨率較高,保留了較多的細節特征,更容易預測小的預測框。小尺度feature map由于其分辨率較低,保留的是物體的輪廓等信息,更容易預測大的預測框。然后在特征融合之后的3個feature map上進行卷積運算,提取出目標的坐標信息和類別信息。最后將3個特征尺度上提取到的目標信息相結合,采用非極大值抑制NMS算法得到最終的檢測結果。

2.3 dense_YOLO目標檢測流程

dense_YOLO目標檢測算法分為3部分。算法首先通過基于深度可分離卷積的slim-densenet模塊進行特征的提取,之后將提取到的特征在不同尺度上進行融合和檢測,最后采用非極大值抑制NMS算法將不同尺度上提取到的目標位置和類別信息進行結合,得到最終的檢測結果。算法的基本流程如下:

(1) 圖像初始化。將輸入圖像進行初始化,轉換成大小為608×608的彩色圖像送入網絡。

(2) 特征提取。使用slim-densenet特征提取模塊對送入的圖像進行特征提取,將結果送入后續的目標檢測模塊。

(3) 自適應多尺度融合檢測。使用多尺度融合檢測算法對特征進行目標的位置和類別預測。

(4) 檢測結果輸出。通過NMS算法計算出不同尺度特征中目標的具體位置和類別,并在原始圖像上進行標注,最終輸出結果。

算法的流程圖如圖6所示。

Figure 6 Flow chart of dense_YOLO algorithm圖6 dense_YOLO算法流程

3 數據集與實驗設計

3.1 數據集和評價指標

本文在MS COCO(Microsoft COCO:Common Objects in Context)[20]通用數據集上進行了測試,也在本文制作的小目標數據集上和原算法做了對比實驗。

目標檢測領域主要有2大通用數據集,一個是PASCAL VOC數據集,另一個是MS COCO數據集。MS COCO數據集是微軟構建的一個數據集,其包含detection、segmentation和keypoints等任務。在檢測方面,MS COCO包含80種類別,相對于PASCAL VOC數據集的20種類別,MS COCO數據集類別豐富,包含了自然圖像和生活中常見的目標圖像,背景比較復雜,目標數量比較多,目標尺寸更小,因此在MS COCO數據集上的實驗更難。

本文制作數據集的方法是使用無人機平臺,對三亞海灘附近場景進行視頻拍攝,著重選取一些陸地上和海灘上的行人進行拍攝,拍攝時光線充足,無雨霧雪,溫度27℃。對得到的視頻每隔1 s提取1幀,最終得到270幅尺寸為1920×1080的彩色圖像。采用開源的Labelimage軟件對采集到的270幅圖像進行標記,對應得到270個.xml文件。對其中的210幅圖像進行數據增強,通過各種變換增加訓練的數據量,增加噪聲數據,防止網絡模型過擬合情況的出現,以得到能力更強的網絡,更好地適應應用場景。本文主要使用的數據增強方法有:旋轉、縮放、裁剪,得到近2 100幅圖像,大小為1000×600。這2 100幅圖像轉換成voc數據集的格式作為訓練樣本。剩余的60幅圖像作為驗證集。

本文采用的主要評價指標是AP,因為目標檢測領域中Precision和Recall是一對對立關系的指標,一個指標升高伴隨著另一個指標下降,故人們采用PR曲線,即Precision和Recall曲線的線下面積來作為評價一個算法性能的指標AP,對于多個類別,AP的平均值稱為mAP。AP@0.5的含義為:將交并比IoU(Intersection over Union)閾值設置為0.5,與真值框的IoU大于0.5的檢測框判定為檢測正確,通過在召回率坐標軸上每隔0.1計算出對應的準確率值,繪制出PR曲線,最終得到檢測指標AP。其中IoU指預測結果框和真值框重合區域的面積與總面積的比值。同時還有針對小目標、中目標和大目標的mAP以及在IoU改變時各個Recall的值。另一個評價指標為TOP-1,即置信度最高的檢測結果的準確率。

3.2 訓練參數的設置

本文使用的訓練參數及其值如下所示:

batch:每次迭代訓練的圖像數目,本文設置為32。

subdivisions:將batch進行分組后送入網絡,本文設置為16。

網絡輸入尺寸:本文設置為608×608。

angle:圖像角度變化,單位為度,以增加訓練樣本數,本文設置為7°。

weightdecay:權值衰減正則項系數,防止過擬合,本文設置為0.000 5。

saturation:飽和度,以增加訓練樣本數,本文設置為0.75。

exposure:曝光度,以增加訓練樣本數,本文設置為0.75。

hue:色調變化范圍,以增加訓練樣本,本文設置為0.1。

learningrate:學習率,本文設置為0.001。

max_batches:最大迭代次數,本文設置為500 000。

policy:學習率調整策略,本文選擇poly策略。poly的表達式為new_Ir=base_Ir*(1-iter/maxiter)power,可以看出學習率主要由power參數控制,power<1,學習率為凸狀,power>1,學習率為凹狀。

anchors:預測框大小的預設值,具體如下:

(10×13),(16×30),(33×23),(30×61),(62×45),(59×119),(116×90),(156×198),(373×326)。

k:anchor的數目,本文設置為9。

本文采用kmeans_YOLO聚類來處理數據集,不同k值對應的損失如圖7所示。

Figure 7 Clustering results on dateset圖7 數據集聚類結果

3.3 實驗環境和訓練方法

實驗環境硬件配置為:訓練時采用計算機服務器,配置core i7處理器,2塊Titan xp顯卡。檢測時采用NVIDIA JETSON XAVIER[21]嵌入式平臺,為NVIDIA公司為深度學習專門設計的嵌入式系統,內置CPU和GPU模塊,默認安裝ubuntu系統。

網絡在每個卷積層前都加入了BN(Batch Normalization)層,將每一層的神經網絡中的任一個神經元的輸入進行歸一化,分布為均值為0、方差為1的標準正態分布,解決了訓練過程中,隨著網絡層數的加深,輸入數據的分布逐漸發生偏移,從而導致的訓練收斂慢和梯度消失問題。

本文使用交叉熵損失函數替換YOLO算法使用的Softmax函數。YOLO算法中的損失函數將1個實數的k維向量壓縮成另1個k維向量,使得所有分量的范圍在(0,1),并且分量的和為1。但是,在實際的分類任務中,檢測到的目標可能會屬于多個類別,比如在Open Images Dataset中,1個目標有多個標簽(例如人和女人),故本文使用交叉熵損失函數來替代Softmax函數,使得網絡預測的目標可以有多個不同的類別與之對應。

訓練時采用的是深度學習經常使用的隨機梯度下降算法,從所有訓練數據里隨機選擇1個batch作為樣本,送入網絡學習,接著再隨機選擇樣本來進行學習,最終達到最優點。

和大部分的目標檢測算法一樣,本文首先使用slim-densenet分類網絡在ImagNet競賽數據集上進行預訓練,得到預訓練權重。使得初始的網絡學習到類別的大致特征,為之后的檢測提供基礎。接著在backbone網絡上添加自己的檢測網絡,在通用的MS COCO數據集上進行訓練,經過10天500 000次迭代之后,損失穩定在3.5左右不再變化,結束訓練。損失值與迭代次數的關系如圖8所示。

Figure 8 Loss function visualization圖8 損失函數可視化

4 實驗結果對比與分析

本文基于slim-densenet的網絡模型在ImageNet分類數據集上的表現如表1所示。

Table 1 Network classification result表1 網絡分類結果

從表1中可以看出,在TOP-1準確率方面,本文基于slim-densenet的網絡模型比VGG-16和Darknet19提高了7%,和經典的ResNet 101相差無幾,但是在速度方面有著明顯的優勢。

在通用的目標檢測數據集MS COCO上,硬件平臺為NVIDIA JETSON XAVIER,將dense_YOLO-416算法和YOLO-608、SSD512等經典算法進行了比較,其中dense_YOLO-416、YOLO-608、SSD512中的416,608,512分別代表網絡的輸入尺寸大小。具體的檢測性能和檢測結果如表2和圖9所示,其中APS表示對小目標(像素小于32×32)檢測的AP指標;AP50即AP@0.5是3.1節中的AP@0.5的簡寫形式;AP為將IoU閾值從0.5~0.95中每隔0.5進行取值,計算出的10個AP值求取平均所得;Weights為網絡模型的權重大小;GPU Time表示算法檢測單幅圖像所用時間。

Table 2 Detection results on MS COCO表2 MS COCO上的檢測結果

在本文創建的目標檢測數據集上,硬件平臺為NVIDIA JETSON XAVIER,本文設計的dense_YOLO算法檢測性能如表3所示,檢測結果如圖10所示。

在NVIDIA JETSON XAVIER嵌入式平臺上,本文的dense_YOLO目標檢測算法相較于原YOLO算法,檢測時間縮短了15 ms左右,可以達到20 fps以上的實時性,也優于其他的算法。在檢測準確率方面,針對MS COCO數據集中的小目標,本文設計的dense_YOLO算法相較于YOLO算法在APS指標上提高了7%,而在AP0.5指標上, dense_YOLO算法超過了YOLO、SSD和Faster RCNN算法,都至少提高了10%,并且網絡模型大小為原YOLO算法的66%。針對本文創建的數據集,dense_YOLO算法也比原YOLO算法的AP0.5提高了8%。

Figure 9 YOLO algorithm and dense_YOLO algorithm detection results on MS COCO dataset圖9 原算法(左)和改進算法(右) 在MS COCO數據集上檢測結果

Figure 10 YOLO algorithm and dense_YOLO algorithm detection results on own dataset圖10 原算法(左)和改進算法(右)在本文創建數據集上的檢測結果

5 結束語

本文提出了一種新的基于深度卷積神經網絡的dense_YOLO目標檢測算法,在嵌入式平臺上可以實現高準確率的實時目標檢測。dense_YOLO算法首先利用新提出的slim-densenet特征提取模塊對圖像提取特征,減少了參數量,加快了網絡的訓練和預測。然后采用自適應多尺度融合檢測方法豐富了小尺度特征圖的信息,提高了小目標的檢出率。最后通過非極大值抑制算法得到最終檢測結果。實驗表明,在通用的MS COCO數據集上,dense_YOLO算法在小目標檢測方面,較原YOLO算法mAP指標提高了7%,檢測時間縮短了15 ms,網絡模型大小為原算法的66%。此外,在本文采集并手工標注的數據集上,該算法檢測準確率和速度也明顯優于原算法,滿足嵌入式平臺對算法速度和精度的要求,可為深度學習在嵌入式平臺上的應用提供借鑒。本文提出的算法還有很多地方需要改進,比如slim-densenet還可以通過剪枝操作,減少通道的冗余,加快推斷速度,在本文的模型上進行壓縮仍然需要更進一步的研究。

Table 3 Detection results on dataset created in this paper表3 在本文創建數據集上的檢測結果

猜你喜歡
特征提取特征檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
如何表達“特征”
基于Gazebo仿真環境的ORB特征提取與比對的研究
電子制作(2019年15期)2019-08-27 01:12:00
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
一種基于LBP 特征提取和稀疏表示的肝病識別算法
小波變換在PCB缺陷檢測中的應用
基于MED和循環域解調的多故障特征提取
主站蜘蛛池模板: 亚洲天堂视频在线观看免费| 波多野结衣视频一区二区| 久久久久久国产精品mv| 免费无码又爽又刺激高| 国产激情影院| 性色一区| 亚洲日韩AV无码精品| 一边摸一边做爽的视频17国产| 女人18毛片久久| 永久免费av网站可以直接看的| 色哟哟精品无码网站在线播放视频| 四虎影视无码永久免费观看| 日韩麻豆小视频| 日韩天堂视频| 国产一级无码不卡视频| 四虎在线高清无码| 97在线观看视频免费| 亚洲全网成人资源在线观看| 丁香五月激情图片| 又黄又爽视频好爽视频| www精品久久| 亚洲人成亚洲精品| 午夜久久影院| 五月天福利视频| 国产96在线 | 久久人妻xunleige无码| 欧美日韩另类国产| 永久免费无码日韩视频| 被公侵犯人妻少妇一区二区三区 | 国产尤物视频在线| 国产乱论视频| 免费一级毛片完整版在线看| 婷婷午夜天| 亚洲黄色视频在线观看一区| 青青草国产在线视频| 国产理论一区| 99热这里只有精品国产99| 亚洲AV成人一区国产精品| 日本AⅤ精品一区二区三区日| 欧美第二区| 国内毛片视频| 人妻丰满熟妇αv无码| 欧美成人综合在线| 人人澡人人爽欧美一区| 中文字幕在线播放不卡| 538国产视频| 日韩一级毛一欧美一国产| 国产伦精品一区二区三区视频优播 | 欧美成人a∨视频免费观看| 亚洲国产高清精品线久久| 国产尹人香蕉综合在线电影| 91精品啪在线观看国产| 在线不卡免费视频| 国产成a人片在线播放| 99久久精品免费看国产电影| 在线免费看黄的网站| 亚洲成年人网| 久久国产精品无码hdav| vvvv98国产成人综合青青| 天天综合天天综合| 999国内精品久久免费视频| 国产99精品久久| 久久一色本道亚洲| 91国内视频在线观看| 欧美日韩精品一区二区视频| 亚洲欧美天堂网| 亚洲综合片| 欧美日韩专区| 久久一级电影| 国产成人av大片在线播放| 亚洲婷婷在线视频| 亚洲欧美另类日本| 色网站在线免费观看| 久久精品视频一| 亚洲一级色| 国产精选自拍| 欧美视频免费一区二区三区| 一区二区欧美日韩高清免费| av午夜福利一片免费看| 久久这里只精品国产99热8| 白浆免费视频国产精品视频| 99草精品视频|