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

基于殘差網絡和改進特征金字塔的油田作業現場目標檢測算法

2020-06-04 02:01:14邵明文李傳秀張兆雷
科學技術與工程 2020年11期
關鍵詞:特征實驗檢測

梁 鴻, 李 洋, 邵明文, 李傳秀, 張兆雷

(中國石油大學(華東)計算機科學與技術學院,青島 266000)

目前油田生產過程中主要依靠人工對生產現場進行監控,攝像頭路數眾多,監督成本高且無法保證質量。為了快速查找作業現場,減少違規作業并保證生產安全,將人工智能應用于油田安防之中。以單點多盒檢測器(single shot multibox detector, SSD)算法[1]為基礎并結合油田現場對SSD算法進行改進。油田現場攝像頭懸掛較高,距離物體遠,因此提高SSD算法對小目標識別的精度是關鍵問題。

Krizhevsky等[2]在ImageNet視覺識別挑戰賽中使用卷積神經網絡對物體進行識別,并取得很高的準確率,這使得人們重新認識到神經網絡的強大之處,開啟了研究神經網絡的熱潮。目前基于卷積神經網絡的目標檢測算法主要有以R-CNN(Region-CNN)[3]為代表的兩步檢測算法和以YOLO[4]為代表的一步檢測算法。

Girshick等[3]提出R-CNN算法,該算法首次將卷積神經網絡應用于目標檢測領域。R-CNN算法的精確度超過了傳統算法,但R-CNN算法計算量大,檢測圖片的速度較慢。Girshick[5]提出了Faste R-CNN算法。對于R-CNN存在計算量大的問題,Faste R-CNN采用共享感興趣區域池化的方式減少計算量,從而提高檢測速度。Ren等[6]提出Faster R-CNN算法,該算法使用RPN(region proposal network)網絡代替了SearchSelective算法[3],提高了檢測速度。He等[7]提出空間金字塔池化網絡(spatial pyramid pooling net, SPP-Net),該網絡可以自適應圖片大小,很大程度上提高了檢測速度。R-CNN系列算法雖然準確率較高,但檢測速度依然很慢。Redmon等[4]提出了YOLO(you only look once)算法,該算法采用端到端的設計思路,將區域提取和預測統一到一個網絡中,極大地提高了檢測速度。YOLO算法從最后一個特征層進行預測,對小目標的預測不理想。Liu等[1]提出SSD算法,它同樣采用端到端的設計思路。SSD算法采用從多層進行預測,一定程度上提高了對小目標識別的準確率。由于較低的卷積層缺乏語義信息,從而導致對小目標的檢測不夠準確。

針對小目標的問題,Cai等[8]提出Cascade R-CNN算法。該算法是一種多階段的結構,每階段都相繼提高交并比(intersection over union,IOU)的閾值,通過控制IOU閾值提高小目標的準確率。Fu等[9]提出DSSD(deconvolutional single shot detecter)算法,該算法使用反卷積進行上采樣,同時使用ResNet-101[10]代替SSD結構中的VGG(visual geometry group)-16[11]。DSSD提高了小目標檢測準確率的同時降低了檢測速度,DSSD321[9]在TitanX上測試的速度為9.5 fps[9]。Lin等[12]提出FPN算法,該算法通過將上采樣和下采樣特征圖相結合的方式,來提高對小目標識別的準確率。Bell等[13]提出兩個網絡的結構,通過SkipPooling和IRNN(spatial recurrent neural network)將內網和外網相互結合的方式提高準確率。Cao等[14]通過融合底層特征的方式提高小目標的準確率。Shen等[15]使用卷積神經網絡中間層的不同尺度來動態地調整監督強度,以此來提高小目標檢測的準確率。文獻[16]通過注意力機制提高識別準確率。文獻[17]通過均值漂移濾波平移算法改善對中小目標的識別效果。

針對SSD算法對小目標識別不夠準確的問題,使用改進的FPN融合高層和底層語義信息,以此來提高對小目標檢測的準確率。較低的卷積層感受野小,采用空洞卷積進行處理以得到較大的感受野[18]。在融合后的特征圖之上添加預測模塊[5],進一步提高網絡對目標語義信息的提取和融合。

1 改進SSD

SSD算法是繼YOLO之后另一單步目標檢測算法。相比較Faster R-CNN這種兩步目標檢測算法,單步算法速度更快同時精度較高[4,6],在工業上有著廣泛的應用。SSD借鑒YOLO的設計思路,其速度和準確率都超過了YOLO v1[4]。相比較YOLO算法,SSD利用前面特征層中信息損失較少的特點對小目標進行預測,但前面語義信息不深,對小目標識別依然不理想。針對SSD算法對小目標檢測精度低的問題進行改進,改進后的網絡結構如圖1所示。

圖1 RP-SSD網絡結構Fig.1 RP-SSD of network structure

1.1 改進特征金字塔

1.1.1 上采樣模塊

FPN網絡有兩條路徑,一條自底向上,另一條自頂向下[12]。自底向上的網絡不斷下采樣提取物體的特征。自頂向下的網絡通過雙線性插值法[19]進行上采樣。FPN將基礎網絡提取的特征圖經過卷積核為1×1的卷積層進行卷積,之后與上采樣得到特征圖的對應元素相加進行融合。FPN算法將融合后的特征圖使用步長為1、卷積核大小為3×3的卷積層進行卷積,以此來減少相加后的特征圖的通道數。

首先按照FPN的方法構造自頂向下的路徑,如圖2所示。對基礎網絡提取的特征圖進行上采樣,之后與基礎網絡提取的特征圖相加,最后將相加的結果經過一個卷積核為3×3的卷積層進行卷積。由于基礎網絡前面卷積層的語義不深,所以直接與上采樣的卷積層相加會產生負面干擾。改進后的算法在PASCAL VOC[20]2007測試的mAP為74.7%,相比現有SSD的77.2%[1]下降了2.5%。

圖2 直接按照FPN的方式改進SSD網絡Fig.2 Improving SSD network directly according to FPN

為了更好地融合上采樣和下采樣產生的特征圖,對FPN的上采樣過程重新構造,如圖3所示。使用雙線性插值法進行上采樣,并將VGG-16的Conv4_3[11]所產生的特征圖使用空洞卷積進行卷積,擴大感受野。對于使用雙線性差值法得到的特征圖,首先輸入到卷積核為1×1、輸出通道為256的卷積層中進行卷積。使用1×1的卷積核目的是為了減少特征圖的通道數,從而減少模型的參數。之后將卷積后的特征圖輸入BN(batch normalization,批量歸一化)層中,進行歸一化處理加速網絡的收斂。對于基礎網絡提取的特征圖放到兩個卷積層中進行卷積,每個卷積層后設置一個BN層。并在兩個卷積層中間加入非線性激活函數relu,增加模型的表達能力。同時relu函數可以隨機使神經元失活,在一定程度上避免卷積神經網絡的過擬合現象。最后將上采樣和下采樣結果的對應元素相加進行融合。本文所設計的上采樣模塊適用于整個SSD網絡。

由于Conv4_3在卷積神經網絡的淺層感受野不足,將它直接與上采樣后的卷積層相加會造成負面影響。使用池化層進行下采樣雖然可以增大感受野,但是會造成像素信息的損失。空洞卷積優點就是在不進行池化層處理的情況下,增大特征圖的感受野,使每個卷積層輸出都有較大信息范圍。空洞卷積將原有的卷積核以一定比例進行擴大,但實際的卷積核和原卷積核的大小相同,并不會增加計算量。采用擴張率[18]為2的空洞卷積對Conv4_3輸出的特征圖進行卷積,增大感受野。

圖3 上采樣模塊Fig.3 Up sampling module

1.1.2 預測模塊

為了得到更多的語義信息,在上采樣模塊之后增加預測模塊[9],如圖4所示。預測模塊a由一個殘差塊組成,預測模塊b由兩個殘差塊組成。每個殘差塊由3個卷積層構成,卷積層的輸出通道數依次為256、256、1 024,卷積核大小為1×1,步長為1,跳層連接處卷積核為1×1,網絡最終得到的特征圖如式(1)所示。對比兩種預測模塊,預測模塊b的準確率要好于預測模塊a。這主要因為VGG-16的卷積層要少,使用卷積層較多的預測模塊可以獲得更多的語義信息[10]。

Y=Cp(Fd⊕Fu)

(1)

式(1)中:Y表示最終得到的特征圖;Cp表示對特征圖使用預測模塊進行卷積;Fd表示基礎網絡提取的特征圖;Fu表示上采樣得到的特征圖;⊕表示將特征圖對應的像素值相加。

圖5 使用跳層連接改進基礎網絡Fig.5 Improves the back bone network with a jump-layer connection

圖4 預測模塊Fig.4 Prediction module

1.2 改進基礎網絡

VGG-16由牛津大學提出,該網絡的優點是簡潔實用,缺點是與近些年提出的ResNet-101相比,VGG-16的卷積層較少,這意味著VGG-16所提取的語義少。VGG-16由13個卷積層、3個全連接層、5個池化層組成。SSD的基礎網絡為改進后的VGG-16。去掉了VGG-16的一個全連接層,將剩下的兩個全連接層變為卷積層,之后添加8個額外的卷積層。

為提高網絡對小目標識別的準確率,在基礎網絡中添加上采樣模塊和6個卷積層組成的預測模塊。雖然可以提升卷積神經網絡對語義信息的提取,提高物體的識別率,但同時也給網絡帶來了梯度爆炸或梯度消失[10]的問題,使得網絡難以訓練。

He等[10]發現隨著網絡層數的加深,網絡的準確率會越來越高,但是加深到一定的程度后網絡的精度會立刻下降,反而不如淺層網絡預測的精度高。深層網絡的準確率比淺層的準確率低的主要原因是梯度消失和梯度爆炸。為了解決梯度問題,文獻[10]采用跳層連接卷積層的方式構造殘差塊。本文同樣采用跳層連接的方式在SSD的基礎網絡中構造殘差塊,以此來解決梯度問題,網絡結構如圖5所示。

以VGG-16的卷積段[11]作為一個殘差單元,殘差單元之間使用短線進行跳層連接。每個短線由卷積層和BN層組成。以VGG-16的卷積段作為一個殘差單元,VGG-16共含有5個卷積段,在此處構造5個殘差塊。在額外卷積層處,每兩個卷積層作為一個殘差單元。在額外卷積層處共構造4個殘差塊,本文一共設計9個殘差塊。每個跳層連接的卷積層參數如表1所示。

表1 跳層連接處的卷積層參數

2 實驗

2.1 實驗環境與參數設置

SSD512在Titan X測試的速度為19 fps[9],考慮到油田安防中的實時性,針對SSD300[1]進行改進實驗。實驗使用3種數據集驗證模型的有效性,分別為PASCAL VOC 2007加PASCAL VOC 2012、COCO 2014以及從勝利油田所采集的視頻圖像并按照PASCAL VOC制作的數據集。從油田采集的數據集一共有9個類別,分別為 no-hat (不戴安全帽)、auto-cr (汽車吊)、truck-cr (隨車吊)、excavator(挖掘機)、oxy-ace(用火設備)、tractor(拖拉機)、 person (人)、cr-arm (起重臂)、 gr-anchor(地錨機)。

實驗的評價標準主要使用準確率mAP,它是目標檢測領域公認的評價標準,計算方式如公式(2)所示。本實驗同時借助mAP曲線、P-R(precision-recall,精確率-召回率)曲線來分析所改進算法的性能。

(2)

式(2)中:Pii表示真正;Pij表示假正。一共有k+1個類別。

實驗使用的操作系統為Ubuntu16.04,顯卡為GTX 1080Ti,其顯存為11 G,處理器為酷睿i7-7700。本實驗學習率初始值設置為1×10-4,動量為0.9,權重衰減率為5×10-4。利用ImageNet數據集進行預訓練,得到的權重對VGG-16網絡進行初始化。網絡其余卷積層的參數使用“xavier”方法[21]進行初始化。所有訓練和測試代碼均在pytorch框架中編寫。

2.2 PASCAL VOC 2007

實驗使用PASCAL VOC 2012和PASCAL VOC 2007的訓練集和驗證集進行訓練,使用PASCAL VOC 2007的測試集進行測試。同時選取了SSD、Faster R-CNN以及DSSD作為本實驗的對照算法。數據集共有20個類,分別為aero (飛機)、bike (自行車)、bird (鳥)、boat (船)、bottle (瓶子)、bus (公共汽車)、car (汽車)、cat(貓)、chair(椅子)、cow(牛)、tabble(桌子)、dog(狗)、horse(馬)、mbike(摩托車)、person(人)、plant(盆栽植物)、sheep(羊)、sofa(沙發)、train(火車)、tv(電視)。實驗結果如表2所示,表中列出了3種算法的mAP以及20個類的平均精度(average precision,AP)。

實驗一共訓練12萬輪。為了得到更好的結果,在8萬輪和10萬輪時通過式(3)調整學習率。其中Lr為調整后的學習率,Init_Lr為初始的學習率,gamma為動量,step為迭代的輪數。

Lr=Init-Lr×gammastep

(3)

實驗使用pytorch框架復現SSD算法,它在PASCAL VOC 2007中測試的mAP最高為76.7%,相比文獻[1]中的77.2%低0.5%。從表中可以看出,改進算法優于SSD和DSSD算法,RP-SSD比文獻[1]中的SSD的準確率提高了1.7%。RP-SSD相比使用pytorch復現的SSD,準確率提高了2.2%。改進算法對小目標提高顯著,其中bird類提高了4.4%,bottle類提高了8.9%,plant類提高了5.2%,chair類提高了4.8%。RP-SSD比DSSD提高了0.3%,其中bottle類提高了4.5%,chair類提高了4.1%,plant類提高了3.1%。RP-SSD比FasterR-CNN的準確率提高了5.7%,其中bird類提高了7.5%,table類提高了12.1%,plant類提高了16%。

表2 PASCAL VOC 2007測試結果

圖6展示了SSD和RP-SSD的檢測效果。從圖中可以看出,圖6(a)的置信度高于圖6(b)的置信度。在小物體的檢測中,圖6(a)的漏檢率低于圖6(b)的漏檢率,同時圖6(b)錯檢率大于圖6(a)。

召回率(recall)和精確率(precision)是分析目標檢測算法性能的重要指標,本文繪制了SSD和RP-SSD算法的P-R曲線,如圖7所示。從圖中可以看出RP-SSD算法的召回率和精確率都大于SSD算法的召回率和精確率。由RP-SSD的P-R曲線與Precision軸、Recall軸圍成的面積完全大于P-R曲線與Precision軸、Recall軸圍成的面積,可得RP-SSD的性能完全優于SSD的性能。

實驗共迭代12萬輪,從圖8中可以看出RP-SSD的mAP高于SSD的mAP,1到8萬輪大約高1%,8萬輪到12萬輪大約高2%。從圖中可以看出,通過式(3)調整學習率的有效性,從8萬輪開始SSD和RP-SSD的mAP值開始顯著提高。

2.3 石油數據集

實驗使用從勝利油田現場采集的數據對改進算法進行驗證。油田數據集中共有4 001張圖片,其中訓練集加驗證集的數量為3 200張,測試集的數據量為801張,每張圖片分辨率為640×480。圖片的主要來源為包含油田各種施工場景的視頻圖像。為了增加網絡的魯棒性,從百度搜索189張圖片加入數據集中。從百度搜索的圖片中包含了數據集的各個類別。制作數據集時,首先將油田視頻裁剪成圖片,然后挑選差異比較大的圖片進行人工標注,如圖9所示。制作的數據集中一共標注10 099個目標,其中不戴安全帽標注509個,汽車吊標注1 717個、隨車吊標注986個、起重臂標注2 514個、挖掘機標注804個、切割用的氧氣瓶和乙炔瓶標注509個、拖拉機標注416個、人標注2514個、地錨機標注130個,標注后的圖片按照PASCAL VOC的格式進行制作數據集。

圖6 RP-SSD和SSD檢測效果對比Fig.6 Comparison of RP-SSD and SSD detection results

圖7 SSD和RP-SSD的P-R曲線Fig.7 P-R curves of SSD and RP-SSD

圖8 RP-SSD和SSD的mAP曲線Fig.8 mAP curves of RP-SSD and SSD

東營勝利油田現場所部署攝像頭的焦距為4.7~94 mm,其放大倍數為20倍。實驗設置的參數與VOC 2007相同,實驗結果如表3所示,演示效果如圖10所示。實驗對比了SSD、RP-SSD和DSSD在油田數據集的準確率,SSD的mAP為75.8%,RP-SSD的mAP為78.4%。通過實驗發現,本文改進算法的準確率比現有SSD算法的準確率提高了2.6%。其中小目標類別提高顯著,切割用的氧氣瓶和乙炔瓶類提高了8.7%,人類提高3.6%,不戴安全帽類提高了4.4%。RP-SSD比DSSD的mAP提高了0.9%。

2.4 COCO數據集

COCO數據集標注的物體中小目標數量眾多,為了進一步驗證改進的模型,從COCO數據集中抽取實際物體較小的20個類別進行驗證。抽取的20個類分別為person(人)、bic(bicycle,自行車)、fhyd(firehydrant,消防栓)、bird(鳥)、cat(貓)、dog(狗)、umb(umbrella,雨傘)、hanb(handbag,手提包)、tie(領帶)、skis(滑雪板)、bbat(baseballbat,棒球)、tenr(tennisracket,網球)、cup(水杯)、fork(叉子)、bowl(碗)、banana(香蕉)、apple(蘋果)、mouse(鼠標)、cellp(cellphone,手機)、toob(toothbrush,牙刷)。

實驗使用COCO 2014的訓練集對模型進行訓練,使用COCO 2014的驗證集進行測試。該數據集中測試圖片數量為28 738張,訓練圖片數量為59 207張,訓練集中共標定284 670個目標,測試集中共標定136 199個目標。在訓練集中標定目標的像素值小于32×32的占42.4%,在測試集中標定目標的像素值小于32×32的占42.2%。檢測結果如表4所示。

從表4中可以看出,RP-SSD比現有SSD算法的mAP提高了2.3%,其中cat類提高了3%,dog類提高了4.5%,umbrella類提高了3.1%,baseball bat類提高了5.8%,tennis racket類提高了5.1%,forck類提高了4.9%。RP-SSD比DSSD的mAP提高了1.2%。從實驗結果可以看出,RP-SSD算法在小目標的檢測中表現優異。

圖9 油田數據集展示Fig.9 Oilfield data set display

表3 石油數據集上的檢測結果

圖10 SSD和RP-SSD檢測結果對比Fig.10 Comparison of RP-SSD and SSD detection results

表4 COCO數據集檢測結果

2.5 改進算法有效性的驗證

為了驗證改進策略的有效性,對改進方法分別在PASCAL VOC數據集上逐一驗證。首先將SSD算法記為F0。在F0的基礎上只添加上采樣模塊,記為F1。在F1的基礎上添加預測模塊a,記為F2-a。在F1的基礎上添加預測模塊b,記為F2-b。在F2-b基礎上采用殘差思想改進VGG-16,記為F3。準確率如表5所示。

表5 驗證各改進方法

UL表示上采樣模塊,如圖3所示;PM(a)表示預測模塊a,如圖4(a)所示;PM(b)表示上采樣模塊b,如圖4(b)所示;Res表示使用殘差思想改進基礎網絡,如圖5所示。

2.6 速度

表6對比了各種檢測算法的速度。從表中看出RP-SSD的速度為32 fps,相比SSD下降了14 fps。雖然RP-SSD的速度有所下降,但可以達到實時檢測的目的。同時RP-SSD相比DSSD的速度提高了22.5 fps。

表6 檢測算法的速度對比

3 結論

為了避免上采樣和下采樣融合時產生負面干擾,在FPN中增加上采樣模塊來更好地融合特征。為了得到更多的語義信息在上采樣模塊之后添加預測模塊,并使用跳層連接的方式,解決反向傳播過程中的梯度問題。實驗表明,改進的SSD算法對小目標的檢測效果顯著提高。改進的算法在1080Ti上的速度為32 fps,可以達到實時檢測的要求。改進的算法較FasterR-CNN、SSD、DSSD有較大的優勢。

猜你喜歡
特征實驗檢測
記一次有趣的實驗
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
如何表達“特征”
做個怪怪長實驗
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 91青青草视频| 色婷婷亚洲综合五月| 中文字幕丝袜一区二区| 久久香蕉国产线看观看亚洲片| 91偷拍一区| 精品无码专区亚洲| 伊人激情久久综合中文字幕| 日韩麻豆小视频| 国产99视频精品免费观看9e| 亚洲侵犯无码网址在线观看| 亚洲欧美精品一中文字幕| 亚洲二区视频| 国产精品香蕉在线观看不卡| 99色亚洲国产精品11p| 国产成人高清精品免费5388| 欧美特黄一级大黄录像| 久久久噜噜噜| 亚洲第一黄色网址| 99久久精品免费看国产免费软件| 欧美在线中文字幕| 久久综合国产乱子免费| 国产高潮流白浆视频| 日韩精品一区二区深田咏美| 国产精品播放| 精品偷拍一区二区| 特级做a爰片毛片免费69| 国产亚洲视频播放9000| 中文字幕无码制服中字| 亚洲综合久久一本伊一区| 潮喷在线无码白浆| 91免费国产在线观看尤物| 亚洲精品另类| 免费啪啪网址| 伊人网址在线| 亚洲无码A视频在线| 国产成人高清在线精品| 三区在线视频| 日韩欧美色综合| 精品国产Av电影无码久久久| 国产高清精品在线91| 三上悠亚在线精品二区| 一级毛片免费不卡在线| 麻豆国产精品视频| 67194亚洲无码| 一区二区三区精品视频在线观看| 亚洲丝袜中文字幕| 无码中文字幕精品推荐| 在线视频精品一区| 国产日本一区二区三区| 欧美亚洲欧美| 亚洲 欧美 偷自乱 图片 | 五月婷婷导航| 国产区精品高清在线观看| 国产在线视频欧美亚综合| 亚洲国产精品成人久久综合影院| 91区国产福利在线观看午夜| 亚洲系列无码专区偷窥无码| 亚洲中文字幕久久精品无码一区| 高清无码手机在线观看| 在线观看的黄网| 久久99热这里只有精品免费看| 午夜小视频在线| 亚洲成AV人手机在线观看网站| 国产精品免费电影| 伊人久久综在合线亚洲91| 天堂成人av| yy6080理论大片一级久久| 亚洲大尺码专区影院| 一级毛片基地| 欧美久久网| 亚洲无码高清免费视频亚洲| 少妇高潮惨叫久久久久久| 国产成人精品高清不卡在线| 国产自产视频一区二区三区| 丝袜高跟美脚国产1区| 成人小视频在线观看免费| 久久久久久尹人网香蕉| 国产在线精品香蕉麻豆| 亚洲日韩AV无码精品| 亚洲成a人在线播放www| 亚洲AV人人澡人人双人| 99国产精品一区二区|