張文明,劉向陽,李海濱,李雅倩
基于深度學(xué)習(xí)的門機(jī)抓斗檢測方法
張文明1,2,劉向陽2*,李海濱2,李雅倩2
1燕山大學(xué)電氣工程學(xué)院,河北 秦皇島 066004;2燕山大學(xué)工業(yè)計(jì)算機(jī)控制工程河北省重點(diǎn)實(shí)驗(yàn)室,河北 秦皇島 066004
在港口門機(jī)抓斗裝卸干散貨的作業(yè)過程中,人眼觀察無法精確判斷抓斗所在位置,會帶來工作效率低下及安全性等問題。為解決該問題首次提出了一種基于深度學(xué)習(xí)的門機(jī)抓斗檢測方法。利用改進(jìn)的深度卷積神經(jīng)網(wǎng)絡(luò)YOLOv3-tiny對抓斗數(shù)據(jù)集進(jìn)行訓(xùn)練及測試,進(jìn)而學(xué)習(xí)其內(nèi)部特征表示。實(shí)驗(yàn)結(jié)果表明,基于深度學(xué)習(xí)的門機(jī)抓斗檢測方法可實(shí)現(xiàn)門機(jī)抓斗檢測速度每秒45幀,召回率高達(dá)95.78%,在很好滿足檢測實(shí)時(shí)性與準(zhǔn)確性的同時(shí),提高了工業(yè)現(xiàn)場作業(yè)的安全性及效率。
抓斗檢測;深度學(xué)習(xí);YOLOv3-tiny;空間金字塔池化;反轉(zhuǎn)殘差組;空洞卷積
近幾年,隨著港口行業(yè)的蓬勃發(fā)展,港口吞吐量不斷加大,港口碼頭對裝卸干散貨的需求也越來越大,有關(guān)資料顯示,2018年中國港口完成貨物吞吐量就已經(jīng)達(dá)到143.51億噸[1]。隨著科學(xué)技術(shù)的發(fā)展,特別是5G時(shí)代的來臨,各行各業(yè)都開始向著信息智能化方向發(fā)展,而利用智能化來加強(qiáng)港口散貨裝卸設(shè)備的檢測進(jìn)而提高作業(yè)效率將是港口散貨裝卸行業(yè)未來的發(fā)展趨勢[2]。抓斗是港口主要干散貨裝卸工具,所以對于抓斗的操作控制是提高門座式起重機(jī)和卸船機(jī)生產(chǎn)效率和自動(dòng)化程度的關(guān)鍵[3]。目前,對于門機(jī)抓斗檢測采用的方法主要是人為操控,即駕駛員坐在門機(jī)駕駛室內(nèi),通過肉眼觀察抓斗是否到達(dá)要抓取干散貨或者釋放干散貨的合適位置,由人來判斷何時(shí)下放或升起抓斗上的鋼絲繩。因此存在以下問題:第一,由于人眼距離貨物比較遠(yuǎn),在釋放抓斗時(shí)鋼絲繩容易過放,即支持繩有較多松繩,一次作業(yè)循環(huán)浪費(fèi)幾秒鐘,多次循環(huán)作業(yè)加起來就浪費(fèi)了大量時(shí)間,產(chǎn)生大量的無用功。第二,由于司機(jī)長期作業(yè)會導(dǎo)致人眼疲勞從而導(dǎo)致誤判,也會出現(xiàn)過放問題,這對企業(yè)的發(fā)展是不利的,因?yàn)槌撕臅r(shí)耗力又會增加公司的輸入成本。第三,操作的安全性取決于司機(jī)的專業(yè)技能熟練程度,取物的高度完全靠門機(jī)司機(jī)肉眼觀察,存在一定的局限性和較大的誤差。那么如何精確檢測出抓斗的位置,使得抓斗裝卸貨物更高效安全,便成了港口行業(yè)急需解決的問題。
近幾年,隨著科技的發(fā)展,深度學(xué)習(xí)越來越火熱,尤其在目標(biāo)檢測領(lǐng)域取得了快速發(fā)展[4];許多學(xué)者也開始將深度學(xué)習(xí)技術(shù)應(yīng)用到各種實(shí)際應(yīng)用場景中,比如將深度卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到車輛目標(biāo)檢測[5]和遙感圖像中的飛機(jī)目標(biāo)檢測[6]等任務(wù)中,較傳統(tǒng)方法都帶來了巨大的性能提升。抓斗檢測也是一類目標(biāo)檢測問題,本文便采用計(jì)算機(jī)視覺中目標(biāo)檢測技術(shù)替代傳統(tǒng)肉眼去觀察的方式,利用深度學(xué)習(xí)自動(dòng)實(shí)現(xiàn)對抓斗位置的實(shí)時(shí)檢測。所謂目標(biāo)檢測,就是區(qū)分圖像或者視頻中的目標(biāo)與其他不感興趣的部分目標(biāo),包括檢測它的位置及類別,主要的方法分為單階段和雙階段兩種方式。雙階段中傳統(tǒng)的方法是基于滑動(dòng)窗口加分類模型,但是這樣會耗費(fèi)大量的計(jì)算。卷積網(wǎng)絡(luò)的出現(xiàn)帶來了基于區(qū)域的特征提取方法,即RCNN[7],但是訓(xùn)練一個(gè)RCNN模型非常昂貴,而且步驟較多:根據(jù)選擇性搜索,對每張圖片提取2000個(gè)單獨(dú)區(qū)域;再用CNN提取每個(gè)區(qū)域的特征。假設(shè)我們有張圖片,那么CNN特征就是′2000。這樣會使RCNN的速度變慢,通常每個(gè)新圖片需要40 s~50 s的時(shí)間進(jìn)行預(yù)測,達(dá)不到實(shí)時(shí)檢測抓斗的目的。在Fast RCNN[8]中,將圖片輸入到CNN中(也就是通過一次卷積提取)會相應(yīng)地生成傳統(tǒng)特征映射。利用這些映射,就能提取出感興趣區(qū)域。之后,使用一個(gè)感興趣區(qū)域池化層將所有提出的區(qū)域重新修正到合適的尺寸,以輸入到完全連接的網(wǎng)絡(luò)中,這使得處理一張圖片大約需要2 s。盡管比RCNN要快,但是處理速度仍然很慢,達(dá)不到實(shí)時(shí)效果。Faster RCNN[9]是Fast RCNN的優(yōu)化版本,雖然直接用整張圖作為輸入,但是整體還是采用了RCNN那種候選區(qū)域加分類的思想,只不過是將提取候選區(qū)域的步驟放在CNN中實(shí)現(xiàn)了,由于是雙階段,先找區(qū)域再分類,盡管精度較高,但是速度不容樂觀。單階段目標(biāo)檢測模型YOLOv1的出現(xiàn)解決了上述的速度問題,由于它是利用整張圖作為網(wǎng)絡(luò)的輸入,直接在輸出層回歸邊界框(bounding box)的位置和其所屬的類別,所以速度相對較快[10]。但是由于YOLOv1中所劃分的每個(gè)格子可以預(yù)測2個(gè)bounding box,最終只選擇交并比(intersection-over-union,IOU)最高的bounding box作為物體檢測輸出,即每個(gè)格子最多只預(yù)測出一個(gè)物體。那么當(dāng)物體占畫面比例較小,一個(gè)格子出現(xiàn)多個(gè)物體時(shí),卻只能檢測出其中一個(gè),說明其定位不準(zhǔn),容易出現(xiàn)漏檢情況。YOLOv3[11]的出現(xiàn)打破了上述尷尬的境地。YOLOv3-tiny是YOLOv3的迷你版,速度更快,但檢測精度不如YOLOv3,由于工程對于實(shí)時(shí)性的需要,所以本文選擇YOLOv3的tiny版本進(jìn)行改進(jìn),首先在原有網(wǎng)絡(luò)基礎(chǔ)上引入空間金字塔池化[12]進(jìn)而提取多方位的抓斗特征;其次引入深度可分離卷積[13]并拓展網(wǎng)絡(luò)寬度形成反轉(zhuǎn)殘差組加入到網(wǎng)絡(luò)結(jié)構(gòu)中,在加深網(wǎng)絡(luò)、提高檢測性能的同時(shí)維持了較少的參數(shù)量,減少了計(jì)算消耗;最后通過在網(wǎng)絡(luò)低層加入兩個(gè)空洞卷積層和高層進(jìn)行特征融合,保證在不失分辨率的情況下擴(kuò)大融合后特征圖的感受野。用改進(jìn)后的網(wǎng)絡(luò)與原網(wǎng)絡(luò)在抓斗數(shù)據(jù)集上進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的網(wǎng)絡(luò)模型較原始模型在性能上有顯著提升,改進(jìn)后的檢測模型mAP達(dá)到96.25%,較原始模型mAP值提高了17.68%,召回率高達(dá)95.78%,較原始召回率提高了17.22%,且誤檢率為0,檢測速度達(dá)到每秒45幀,很好地滿足了門機(jī)抓斗檢測的實(shí)時(shí)性與準(zhǔn)確性,在一定程度上解決了因人眼觀察無法精確判斷抓斗所在位置所帶來的工作效率低下及安全性的問題。
YOLOv3-tiny是一種端到端的卷積神經(jīng)網(wǎng)絡(luò),由卷積層、池化層、上采樣層和兩個(gè)YOLO檢測層組成,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。相比于YOLOv3少了一個(gè)YOLO檢測層和類似殘差的連接,同時(shí)減少了大量的1×1和3×3的卷積核,雖然這樣會使檢測精度不如YOLOv3,但是會大幅度降低要訓(xùn)練的參數(shù)量和浮點(diǎn)運(yùn)算,所以更便于在移動(dòng)端部署。同時(shí)速度明顯高于其它模型,在COCO數(shù)據(jù)集上達(dá)到了220 f/s,是YOLOv3的6倍之多,使得實(shí)時(shí)性獲得了良好的保障。
YOLOv3-tiny將整張圖片作為輸入,然后通過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,得到×大小的特征圖,之后劃分原圖為×個(gè)網(wǎng)格。如果真實(shí)邊界框中某個(gè)目標(biāo)的中心坐標(biāo)落在哪個(gè)單元格中,那么就由該單元格來預(yù)測此目標(biāo)。在每個(gè)網(wǎng)格中預(yù)測3個(gè)邊界框,以對多類目標(biāo)進(jìn)行檢測。輸出的每個(gè)邊界框包含(,,,,con)五個(gè)基本參數(shù),其中,代表邊界框的中心離其所在網(wǎng)格單元格邊界的偏移。,代表邊界框真實(shí)寬高相對于整幅圖像的比例。con為邊界框的置信度,它代表了所預(yù)測的邊界框中含有目標(biāo)物的可能性和這個(gè)預(yù)測框預(yù)測的有多準(zhǔn)兩重信息,其計(jì)算公式為
其中:o是預(yù)測為要檢測的目標(biāo)概率值,IoU為預(yù)測框和真實(shí)物體邊界框的交并比。當(dāng)?shù)玫矫總€(gè)預(yù)測框的類別置信度后,設(shè)置閾值,濾掉得分低的邊界框,對保留的邊界框進(jìn)行非極大值抑制[7]處理,進(jìn)而得到最終的檢測結(jié)果。類別置信度公式為
YOLOv3-tiny借鑒FPN[14]的思想,融合多尺度信息預(yù)測,將高層輸出的特征圖進(jìn)行上采樣與低層的特征圖進(jìn)行融合,實(shí)現(xiàn)增強(qiáng)語義信息的同時(shí),加強(qiáng)了對位置信息的檢測。
由于YOLOv3-tiny相比YOLOv3少了大量的1×1和3×3卷積核,這樣雖降低了大量的計(jì)算量,提高了檢測速度,但是網(wǎng)絡(luò)深度大大降低,導(dǎo)致檢測精度下降較多,容易出現(xiàn)定位不準(zhǔn),識別錯(cuò)誤,發(fā)生誤檢以及漏檢現(xiàn)象。本文根據(jù)原YOLOv3-tiny網(wǎng)絡(luò)加以改進(jìn),通過在原有網(wǎng)絡(luò)基礎(chǔ)上加入四個(gè)反轉(zhuǎn)殘差組來增加網(wǎng)絡(luò)的深度和拓展網(wǎng)絡(luò)寬度并引入空間金字塔池化模塊提取多角度特征,同時(shí)在低層與高層特征圖融合間加入兩個(gè)空洞卷積層,保證在不失分辨率的情況下來擴(kuò)大低層特征圖的感受野,從而形成改進(jìn)后的深度卷積神經(jīng)網(wǎng)絡(luò)。
在First YOLO檢測層前加入一個(gè)空間金字塔池化模塊,加入的SPP模塊如圖2所示。SPP模塊由三個(gè)平行的最大池化層、一個(gè)卷積層和route層組合形成。其中池化核尺寸大小分別為5×5、9×9、13×13,步長均為1。輸入的特征圖通過1×1卷積層以及不同大小的最大池化核作用,提取了不同角度的特征,形成了帶有不同感受野的特征圖,然后通過route層將前面獲得的特征圖進(jìn)行通道維度上的拼接,進(jìn)而提取到更多有用的多尺度信息。池化操作使得數(shù)據(jù)的維度降低,將較低層次的特征組合為較高層次的特征,通過融合提高了語義信息,可以使得模型檢測的準(zhǔn)確率提高。
圖1 YOLOv3-tiny 網(wǎng)絡(luò)結(jié)構(gòu)
算上最大池化層,YOLOv3-tiny一共24層,網(wǎng)絡(luò)深度較淺,但如果僅通過加深網(wǎng)絡(luò)層數(shù)進(jìn)一步提高抓斗檢測的效果,伴隨著網(wǎng)絡(luò)深度的增加,勢必會帶來計(jì)算量的加大,進(jìn)而影響到檢測的實(shí)時(shí)性能,所以本文在改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)中引入深度可分離卷積[13],在降低計(jì)算量的同時(shí)拓展網(wǎng)絡(luò)寬度,構(gòu)成如圖3所示的反轉(zhuǎn)殘差組,其中Dwise為深度卷積,Pwise為逐點(diǎn)卷積。
當(dāng)輸入特征圖經(jīng)過深度卷積后,由于輸出特征圖的維度取決于輸入特征圖的通道數(shù),所以提取的特征受限于輸入通道數(shù)。為了提取更多的特征,反轉(zhuǎn)殘差組中輸入的特征圖首先經(jīng)過3個(gè)分支中的1×1普通卷積核進(jìn)行升維度,然后利用3×3大小的深度卷積將圖像區(qū)域與通道分開考慮,對于不同的輸入通道采取不同的卷積核分別進(jìn)行卷積,進(jìn)而收集每個(gè)通道的空間特征,在此之后分別應(yīng)用三個(gè)分支中的逐點(diǎn)卷積,即采用1×1的標(biāo)準(zhǔn)卷積核將深度卷積輸出的特征圖進(jìn)行組合,采集每個(gè)點(diǎn)的信息,同時(shí)將其維度降到與輸入特征圖相同的維度,然后匯總?cè)齻€(gè)分支采集到的信息進(jìn)行元素求和,進(jìn)而產(chǎn)生新的特征,這種網(wǎng)絡(luò)寬度的拓展提取了輸入特征圖更多的信息,最后將如圖3所示的反轉(zhuǎn)殘差組中的Input與三個(gè)分支產(chǎn)生的新特征構(gòu)成殘差組的連接來提高網(wǎng)絡(luò)傳播的性能,解決因改進(jìn)后網(wǎng)絡(luò)層數(shù)的加深可能引起的網(wǎng)絡(luò)退化問題[15]。
反轉(zhuǎn)殘差組中的每一平行層都有BN[16]模塊和激活函數(shù),BN加速網(wǎng)絡(luò)的收斂,而激活函數(shù)提高網(wǎng)絡(luò)的表達(dá)性。為了避免網(wǎng)絡(luò)反向傳播[17]時(shí)出現(xiàn)神經(jīng)元死亡的現(xiàn)象,前兩層的激活函數(shù)采用LReLU[18],計(jì)算式為
反轉(zhuǎn)殘差組中的第三個(gè)平行層即逐點(diǎn)卷積后均采用Linear線性激活,因?yàn)榻?jīng)逐點(diǎn)卷積降維后,再用ReLU函數(shù)激活會破壞特征[19]。
為了提高門機(jī)抓斗檢測的性能,在改進(jìn)的YOLOv3-tiny網(wǎng)絡(luò)中加入4個(gè)圖3所示的反轉(zhuǎn)殘差組,在實(shí)現(xiàn)加深網(wǎng)絡(luò)深度的同時(shí)提高了檢測的準(zhǔn)確度。
隨著網(wǎng)絡(luò)深度的增加,語義信息越來越強(qiáng),雖然利于分類,但是所檢測物體的邊緣由于模糊程度加大不能得到準(zhǔn)確回歸,因此能見度下降,不利于抓斗定位。所以在改進(jìn)的YOLOv3-tiny網(wǎng)絡(luò)結(jié)構(gòu)采用如圖4所示的特征融合方式。Layer 9即第九層中的特征圖位于低層,含有較多的位置信息,通過添加兩個(gè)3×3的空洞卷積層,在維持分辨率不變,增添較少參數(shù)量的同時(shí)擴(kuò)大其感受野[20],再將Layer 62中2倍上采樣后的特征圖與其進(jìn)行維度上的連接,如圖4所示。融合后的特征圖既含有較高的語義信息,又提取了較多的位置信息,有利于抓斗的定位。
圖2 SPP模塊結(jié)構(gòu)
圖3 反轉(zhuǎn)殘差組
圖4 特征融合
改進(jìn)后的整體網(wǎng)絡(luò)結(jié)構(gòu)圖如圖5所示,利用改進(jìn)后的YOLOv3-tiny網(wǎng)絡(luò)模型,識別抓斗這個(gè)類別并實(shí)時(shí)跟蹤抓斗的位置,輸出相應(yīng)的坐標(biāo)信息。作業(yè)過程中,隨著門機(jī)大臂的旋轉(zhuǎn)、移動(dòng),相機(jī)和抓斗是一起移動(dòng)的,這樣從相機(jī)獲得的二維坐標(biāo)信息、與測距傳感器所測得的鋼絲繩長度形成的深度信息一起構(gòu)成三維坐標(biāo)信息,但此時(shí)信息并不唯一,如圖6所示。此時(shí)、、三點(diǎn)在正上方攝像頭與傳感器所獲得的繩長信息組合下所形成的三維信息是相同的,再加上大臂垂直面上的旋轉(zhuǎn)角度1、2、3便唯一確定了抓斗所在的空間位置。當(dāng)抓斗以某一種狀態(tài)(比如1)所對應(yīng)的角度在同一水平面移動(dòng)時(shí),此時(shí)的位置信息是不唯一的,需要角度傳感器測量水平旋轉(zhuǎn)角度。通過水平面與垂直面的大臂旋轉(zhuǎn)角度信息和抓斗所在的、、信息共同確定了抓斗在空間中的唯一位置信息,綜合相機(jī)的內(nèi)參,如焦距、感光單元大小以及分辨率等參數(shù),計(jì)算出抓斗的空間位置坐標(biāo),進(jìn)而實(shí)現(xiàn)對港口抓斗的實(shí)時(shí)檢測。
由于港口獨(dú)特的作業(yè)環(huán)境,選擇適合現(xiàn)場抓斗檢測的攝像頭顯得尤為重要。為了實(shí)時(shí)跟蹤抓斗,檢測其實(shí)時(shí)位置,所以將其安裝室外,如圖7中紅色圈附近,由相機(jī)自帶的機(jī)械結(jié)構(gòu)固定在門機(jī)臂上,鏡頭垂直向下放置。作業(yè)過程中相機(jī)不能變焦,否則無法建立統(tǒng)一的坐標(biāo)系,失去參考價(jià)值。
由于作業(yè)環(huán)境的復(fù)雜性,港口攝像頭的選型需要滿足以下幾點(diǎn)要求:
1) 抗震性能。作業(yè)時(shí)門機(jī)臂會有震動(dòng),可能導(dǎo)致相機(jī)拍攝畫面不清晰。
2) 防水性能。由于安裝在室外,不得不考慮天氣情況。
3) 工作溫度范圍。一般-30 ℃到60 ℃即可。
圖5 改進(jìn)YOLOv3-tiny算法的網(wǎng)絡(luò)結(jié)構(gòu)
圖6 抓斗位置檢測
4) 抗電磁干擾。碼頭電氣設(shè)備多,功率大,強(qiáng)大的電磁干擾經(jīng)常會影響攝像頭成像。
5) 對光照強(qiáng)度的敏感程度要小。
根據(jù)以上要求并綜合實(shí)際情況選擇了型號為DS-2CD3T56WD-I8的網(wǎng)絡(luò)攝像機(jī)。
本實(shí)驗(yàn)中將數(shù)據(jù)集制作成VOC2007格式。首先通過安裝在港口的攝像頭采集幾段抓斗作業(yè)的視頻,然后通過軟件Free Video to JPG Converter截取其中部分幀作為要訓(xùn)練和測試的圖片,再通過標(biāo)注軟件Labellmg對所有圖片進(jìn)行標(biāo)注,如圖8所示,既要給出類別信息又要框住其位置,從而形成xml格式的標(biāo)注文件。用python程序?qū)⒈敬螌?shí)驗(yàn)的圖片分為訓(xùn)練集3230張和測試集900張并以txt格式進(jìn)行保存,最后再利用darknet源程序中的腳本文件將之前的xml標(biāo)注文件進(jìn)行歸一化處理并轉(zhuǎn)化為txt格式,將其作為抓斗數(shù)據(jù)集標(biāo)簽,至此,完成抓斗數(shù)據(jù)集的制作。
圖7 門機(jī)臂
圖8 抓斗的標(biāo)注
4.3.1 實(shí)驗(yàn)平臺
本實(shí)驗(yàn)使用Intel(R) Core(TM) i9-9900X CPU @ 3.50 GHz′20處理器,在Ubuntu16.04操作系統(tǒng)下進(jìn)行,為了提高運(yùn)算速度,縮短訓(xùn)練時(shí)長,使用 NVIDIA GeForce RTX 2080顯卡一張,CUDA 10.0.130、CUDNN 7.5.0對其進(jìn)行運(yùn)算加速。在本實(shí)驗(yàn)中使用的深度學(xué)習(xí)框架為darknet,結(jié)合C、C++、python編程語言以及Opencv和gcc庫完成程序的編寫及應(yīng)用。
4.3.2 網(wǎng)絡(luò)的訓(xùn)練
下載YOLO官網(wǎng)上YOLOv3-tiny的權(quán)重,截取前15層作為改進(jìn)后網(wǎng)絡(luò)的預(yù)訓(xùn)練權(quán)重,然后基于改進(jìn)后的網(wǎng)絡(luò)使用訓(xùn)練數(shù)據(jù)集中的圖片進(jìn)行訓(xùn)練、微調(diào),進(jìn)而得到對于抓斗檢測效果達(dá)到最佳的權(quán)重參數(shù)。實(shí)驗(yàn)中梯度優(yōu)化采用帶有動(dòng)量的小批量隨機(jī)梯度下降算法,部分訓(xùn)練參數(shù)的設(shè)置如表1所示。
迭代次數(shù)小于1000時(shí),學(xué)習(xí)率從0開始隨著迭代次數(shù)的增加逐漸變大,直到迭代次數(shù)達(dá)到1000時(shí),學(xué)習(xí)率增加到0.001。為了得到更好的收斂效果,之后采用按需調(diào)整學(xué)習(xí)率策略,本實(shí)驗(yàn)中設(shè)置當(dāng)?shù)螖?shù)達(dá)到40000次和45000次時(shí),學(xué)習(xí)率分別降至為0.0001和0.00001。表1中的旋轉(zhuǎn)角度、飽和度、曝光量以及色調(diào)為數(shù)據(jù)增強(qiáng)參數(shù),用來生成更多訓(xùn)練樣本;抖動(dòng)因子作為一種數(shù)據(jù)增強(qiáng)手段,通過隨機(jī)調(diào)整寬高比的范圍增加噪聲來抑制過擬合。輸入圖片饋送入改進(jìn)的網(wǎng)絡(luò)后,采取隨機(jī)多尺度訓(xùn)練的方式對抓斗圖片進(jìn)行訓(xùn)練。同時(shí)為了減小顯存壓力,將每一批次中的抓斗圖片平均分成兩個(gè)小批次分別進(jìn)行前向傳播。
表1 網(wǎng)絡(luò)參數(shù)表
在訓(xùn)練過程中,保存了算法各項(xiàng)指標(biāo)的訓(xùn)練日志,并根據(jù)日志信息繪制相應(yīng)曲線。平均損失以及平均交并比隨著迭代次數(shù)的增加其變化曲線分別如圖9、圖10所示。
從圖9中可以看到,迭代次數(shù)在20000之前的這段時(shí)間,損失下降較快;隨著迭代次數(shù)的增加損失下降趨于平緩;當(dāng)達(dá)到50000次迭代時(shí),損失值降到0.007,達(dá)到理想狀態(tài)。從圖10中可以看出,平均交并比從0.15附近隨著迭代次數(shù)的增加快速提高,說明模型的準(zhǔn)確率在隨之提高;當(dāng)?shù)?0000次后,平均交并比在0.95附近浮動(dòng)。
為了驗(yàn)證改進(jìn)后的網(wǎng)絡(luò)是否有效提高了對門機(jī)抓斗檢測的性能。本文首先進(jìn)行了四個(gè)模型的對比實(shí)驗(yàn)。將原YOLOv3-tiny網(wǎng)絡(luò)模型作為實(shí)驗(yàn)一;3.1節(jié)中加入空間金字塔池化模塊后的網(wǎng)絡(luò)模型命名為YOLOv3-tiny-SPP,將其作為實(shí)驗(yàn)二;在實(shí)驗(yàn)二網(wǎng)絡(luò)模型的基礎(chǔ)上加入3.2節(jié)中4個(gè)反轉(zhuǎn)殘差組后的網(wǎng)絡(luò)模型,命名為YOLOv3-tiny-group,將其作為實(shí)驗(yàn)三;本文改進(jìn)的YOLOv3-tiny模型命名為YOLOv3-tiny-new,將其作為實(shí)驗(yàn)四。四個(gè)實(shí)驗(yàn)均在相同的抓斗訓(xùn)練集上訓(xùn)練,相同的測試集上測試。測試指標(biāo)mAP值的計(jì)算按照Pascal VOC2007的計(jì)算標(biāo)準(zhǔn),即IOU閾值設(shè)置為0.5時(shí)的測試結(jié)果,當(dāng)抓斗的預(yù)測框與真實(shí)框的交并比大于等于50%時(shí),視為匹配正確,檢測出來的抓斗是正確的,即P,如圖11所示(其中藍(lán)色框?yàn)檎鎸?shí)框,綠色框?yàn)槠ヅ湔_的預(yù)測框)。否則檢測出來的抓斗是錯(cuò)誤的,即P,如圖12所示(其中藍(lán)色框?yàn)檎鎸?shí)框,紅色框?yàn)槠ヅ溴e(cuò)誤的預(yù)測框)。
四次實(shí)驗(yàn)對抓斗測試集檢測的結(jié)果如圖13所示。
根據(jù)測試結(jié)果計(jì)算抓斗檢測的精確率(precision,)以及召回率(recall,),計(jì)算公式如下:
其中N為沒有被檢測出來的抓斗數(shù)量。
四個(gè)實(shí)驗(yàn)的測試統(tǒng)計(jì)結(jié)果如表2所示。
從表2的實(shí)驗(yàn)結(jié)果可知,神經(jīng)網(wǎng)絡(luò)模型YOLOv3-tiny-SPP對抓斗檢測的精確率、召回率以及mAP值都要高于YOLOv3-tiny,但測試集的測試時(shí)間滯后了0.779 s,說明在YOLO檢測層前加入的SPP模塊確實(shí)提高了對抓斗識別的準(zhǔn)確度,但同時(shí)也帶來了計(jì)算上的消耗。從表2中還可以看到神經(jīng)網(wǎng)絡(luò)模型YOLOv3-tiny-group對抓斗檢測的精確率比YOLOv3-tiny-SPP模型提高了1.51%,召回率提高了11.11%,mAP值提高了9.68%,測試時(shí)間滯后0.971 s,說明改進(jìn)的網(wǎng)絡(luò)中通過加入4個(gè)反轉(zhuǎn)殘差組加深網(wǎng)絡(luò)深度、拓展網(wǎng)絡(luò)寬度的方法提高了對門機(jī)抓斗檢測的準(zhǔn)確度,降低了漏檢情況的發(fā)生。卷積神經(jīng)網(wǎng)絡(luò)模型YOLOv3-tiny-new相比于模型YOLOv3-tiny-group只多了如圖4所示的特征融合方式,但從表2的實(shí)驗(yàn)結(jié)果可以看到,精確率、召回率和mAP值均高于網(wǎng)絡(luò)模型YOLOv3-tiny-group的測試結(jié)果,測試時(shí)間也只相差6ms,說明在低層與高層之間通過添加兩個(gè)3×3的空洞卷積層維持分辨率不變、增添較少參數(shù)量的同時(shí)擴(kuò)大融合后特征圖的感受野的方式是有效的,提高了網(wǎng)絡(luò)模型的檢測性能。
圖9 平均損失變化曲線
圖10 平均交并比變化曲線
圖11 正確的抓斗
圖12 錯(cuò)誤的抓斗
由于門機(jī)抓斗作業(yè)的復(fù)雜性,比如說光照、灰塵等因素會影響到抓斗的檢測效果,所以出現(xiàn)適當(dāng)?shù)穆z是可以接受的,但是對于誤判的情況要求較為嚴(yán)格,即誤檢現(xiàn)象的出現(xiàn),因?yàn)橐ㄟ^獲取抓斗檢測的實(shí)時(shí)位置信息進(jìn)而完成抓斗的開閉、移動(dòng)等操作。對比實(shí)驗(yàn)一、二、三、四的測試結(jié)果,發(fā)現(xiàn)在抓斗測試集上改進(jìn)后的網(wǎng)絡(luò)YOLOv3-tiny-new表現(xiàn)最佳,漏檢數(shù)量達(dá)到最低且不存在誤檢現(xiàn)象,如圖13所示。
從表2的實(shí)驗(yàn)結(jié)果中還可以發(fā)現(xiàn),雖然隨著網(wǎng)絡(luò)模型復(fù)雜度的增加,識別抓斗的平均準(zhǔn)確率在不斷提高,但是各模型在測試集上的測試時(shí)間也在不斷延長,說明本文改進(jìn)后的網(wǎng)絡(luò)在提高抓斗檢測準(zhǔn)確率的同時(shí)犧牲了一定的檢測速度。
為了進(jìn)一步驗(yàn)證本文改進(jìn)后的網(wǎng)絡(luò)檢測性能的好壞,以mAP以及每秒識別幀數(shù)(FPS)作為檢測效果評價(jià)指標(biāo),進(jìn)行了如表3所示的抓斗檢測性能對比實(shí)驗(yàn)。
從實(shí)驗(yàn)結(jié)果可以看出,雙階段網(wǎng)絡(luò)模型Faster RCNN的mAP值最高,達(dá)到了97.31%,本文基于YOLOv3-tiny改進(jìn)的網(wǎng)絡(luò)模型YOLOv3-tiny-new的mAP值為96.25%,雖然檢測準(zhǔn)確率不及Faster RCNN,但檢測速率比其快225倍,因此,對于門機(jī)抓斗這項(xiàng)實(shí)時(shí)檢測任務(wù)而言,本文改進(jìn)后的深度學(xué)習(xí)網(wǎng)絡(luò)模型表現(xiàn)更好。相比于原始模型YOLOv3-tiny,本文改進(jìn)后的網(wǎng)絡(luò)模型檢測速率稍有下降,但是檢測準(zhǔn)確率得到了大幅度提高,從表3中可以看出,YOLOv3網(wǎng)絡(luò)模型在mAP以及識別幀率兩項(xiàng)指標(biāo)上都不及本文改進(jìn)后的網(wǎng)絡(luò)。由此可見,本文改進(jìn)后的網(wǎng)絡(luò)模型兼顧了門機(jī)抓斗檢測準(zhǔn)確率以及檢測速率。調(diào)用本文改進(jìn)后的網(wǎng)絡(luò)模型YOLOv3-tiny-new訓(xùn)練結(jié)束時(shí)生成的權(quán)重文件對港口抓斗作業(yè)視頻進(jìn)行測試,檢測效果如圖14所示,改進(jìn)后的網(wǎng)絡(luò)模型可以準(zhǔn)確識別門機(jī)抓斗并實(shí)時(shí)檢測其位置,提高了作業(yè)的安全性,同時(shí)在取料的過程中可以根據(jù)抓斗所在位置提前釋放抓斗上方的鋼絲繩,進(jìn)而在一定程度上避免抓斗過放現(xiàn)象的發(fā)生,在卸料時(shí)同樣可以根據(jù)檢測到的抓斗實(shí)時(shí)位置信息實(shí)現(xiàn)甩斗卸料,提高了門機(jī)抓斗作業(yè)效率。
表2 實(shí)驗(yàn)結(jié)果對比表
表3 性能對比表
圖13 檢測結(jié)果
圖14 測試抓斗視頻
本文首次提出了一種基于深度學(xué)習(xí)的門機(jī)抓斗檢測方法,針對YOLOv3-tiny網(wǎng)絡(luò)模型檢測速度快但準(zhǔn)確率低的特點(diǎn),在其檢測層前加入空間金字塔池化模塊提高語義信息,同時(shí)在網(wǎng)絡(luò)中引入深度可分離卷積并進(jìn)行橫向及深度擴(kuò)展,形成4個(gè)反轉(zhuǎn)殘差組加入到網(wǎng)絡(luò)中,帶來較少計(jì)算消耗的同時(shí)提高檢測準(zhǔn)確率,并在改進(jìn)后網(wǎng)絡(luò)的第9層加入兩個(gè)3×3空洞卷積層,在增添較少參數(shù)量的同時(shí)擴(kuò)大其感受野,再與第62層2倍上采樣后的特征圖進(jìn)行特征融合,進(jìn)一步提高了改進(jìn)后網(wǎng)絡(luò)的整體檢測性能,使得改進(jìn)后的網(wǎng)絡(luò)檢測性能達(dá)到最佳。本文改進(jìn)后的網(wǎng)絡(luò)模型YOLOv3-tiny-new相比于原YOLOv3-tiny網(wǎng)絡(luò)模型,門機(jī)抓斗檢測的精確度提高了6.36%,召回率提高了17.22%,mAP值提高了17.68%,同時(shí)檢測速度達(dá)到45 f/s,在速度與準(zhǔn)確率之間得到了較好的平衡,更好地滿足了工業(yè)現(xiàn)場對抓斗檢測的實(shí)時(shí)性與準(zhǔn)確性的要求,解決了在港口門機(jī)抓斗裝卸干散貨的作業(yè)過程中,人眼觀察無法精確判斷抓斗所在位置所帶來的工作效率低下及安全性的問題。在未來的研究工作中,我們將進(jìn)一步結(jié)合港口現(xiàn)場的作業(yè)環(huán)境,對多種復(fù)雜場景進(jìn)行研究,將深度學(xué)習(xí)與門機(jī)作業(yè)更好地結(jié)合。
[1] Chen Y M. Current situation and future trend of Chinese ports[J]., 2019(6): 7.
陳英明. 中國港口現(xiàn)狀及未來走勢[J]. 中國水運(yùn), 2019(6): 7.
[2] Xing X J. Some thoughts on bulk cargo handling industry of domestic port[J]., 2019(10): 1.
邢小健. 對國內(nèi)港口散貨裝卸行業(yè)的一些思考[J]. 起重運(yùn)輸機(jī)械, 2019(10): 1.
[3] Ji B S. A study on the design of grab bucket control program[J]., 2012, 11(4): 76–79.
季本山. 現(xiàn)代門機(jī)抓斗控制程序的設(shè)計(jì)[J]. 南通航運(yùn)職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2012, 11(4): 76–79.
[4] Yao Z Y. Research on the application of object detection technology based on deep learning algorithm[D]. Beijing: Beijing University of Posts and Telecommunications, 2019.
姚筑宇. 基于深度學(xué)習(xí)的目標(biāo)檢測研究與應(yīng)用[D]. 北京: 北京郵電大學(xué), 2019.
[5] Manana M, Tu C L, Owolawi P A. A survey on vehicle detection based on convolution neural networks[C]//, 2017: 1751–1755.
[6] Dai W C, Jin L X, Li G N,. Real-time airplane detection algorithm in remote-sensing images based on improved YOLOv3[J]., 2018, 45(12): 180350.
戴偉聰, 金龍旭, 李國寧, 等. 遙感圖像中飛機(jī)的改進(jìn)YOLOv3實(shí)時(shí)檢測算法[J]. 光電工程, 2018, 45(12): 180350.
[7] Girshick R, Donahue J, Darrell T,. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//, 2014: 580–587.
[8] Girshick R. Fast R-CNN[C]//, 2015: 1440–1448.
[9] Ren S Q, He K M, Girshick R,. Faster R-CNN: towards real-time object detection with region proposal networks[C]//2015: 91–99.
[10] Redmon J, Divvala S, Girshick R,. You only look once: unified, real-time object detection[C]//2016: 779–788.
[11] Redmon J, Farhadi A. YOLOv3: an incremental improvement[Z]. arXiv:1804.02767, 2018.
[12] He K M, Zhang X Y, Ren S Q,. Spatial pyramid pooling in deep convolutional networks for visual recognition[J].2014, 37(9): 1904–1916.
[13] Howard A G, Zhu M L, Chen B,. MobileNets: efficient convolutional neural networks for mobile vision applications[Z]. arXiv:1704.04861, 2017.
[14] Lin T Y, Dollár P, Girshick R,. Feature pyramid networks for object detection[C]//, 2017: 936–944.
[15] He K M, Zhang X Y, Ren S Q,. Deep residual learning for image recognition[C]//, 2016: 770–778.
[16] Ioffe S, Szegedy C. Batch normalization: accelerating deep network training by reducing internal covariate shift[Z]. arXiv:1502.03167, 2015.
[17] LeCun Y, Boser B, Denker J S,. Backpropagation applied to handwritten zip code recognition[J].1989, 1(4): 541–551.
[18] Maas A L, Hannum A Y, Ng A Y. Rectifier nonlinearities improve neural network acoustic models[C]//, 2013.
[19] Sandler M, Howard A, Zhu M L,. MobileNetV2: inverted residuals and linear bottlenecks[C]//, 2018: 4510–4520.
[20] Yu F, Koltun V. Multi-scale context aggregation by dilated convolutions[Z]. arXiv:1511.07122, 2015.
The detection method for grab of portal crane based on deep learning
Zhang Wenming1,2, Liu Xiangyang2*, Li Haibin2, Li Yaqian2
1School of Electrical Engineering, Yanshan University, Qinhuangdao, Hebei 066004, China;2Key Laboratory of Industrial Computer Control Engineering of Hebei Province, Yanshan University, Qinhuangdao, Hebei 066004, China
The correct grab
Overview:In recent years, with the vigorous development of the port industry, the port throughput is increasing, and the demand for loading and unloading dry bulk cargo is also increasing. At present, the method adopted is mainly man-made operation. The driver sits in the cab of the gantry crane, and observes whether the grab reaches the proper position to grab or release the dry bulk by naked eyes, and judges when to lower or raise the steel wire rope on the grab. Then there will be the following problems: first, because the human eyes are far away from the goods, the wire rope is easy to be over released when the driver releases the grab. A few seconds are wasted in one operation cycle, and a lot of time is wasted and a lot of idle work is produced in multiple operation cycles. Second, the driver's long-term operation will lead to eyestrain, which will lead to misjudgment and over the release. It is not conducive to the development of the enterprise, because, in addition to time-consuming and labor-consuming, it will increase the input cost of the company. So how to accurately detect the position of grab and make it more efficient to load and unload cargo has become an urgent problem for the port industry. In order to solve the problems of low work efficiency and safety caused by the inability of human eyes to accurately determine the position of the grab during the loading and unloading of dry bulk cargo by portal crane, a method of grab detection based on deep learning is proposed for the first time. The improved deep convolution neural network (YOLOv3-tiny) is used to train and test on the data set of grab, and then to learn its internal feature representation. The experimental results show that the detection method based on deep learning can achieve a detection speed of 45 frames per second, a recall rate of 95.78%, and a false detection rate of 0. Although the accuracy of detection is lower than Faster RCNN, the detection speed is 225 times faster than Faster RCNN. Compared with the original model YOLOv3-tiny, the detection speed of the improved network model in this paper is slightly reduced, but the detection accuracy has been greatly improved. Through the contrast test, we can see that the YOLOv3 network model is not as good as the improved network in the two indicators of mAP and FPS. Therefore, for the real-time detection task of gantry crane grab, the improved model in this paper performs better. It can meet the real-time and accuracy of detection, and improve the safety and efficiency of work in the industrial field.
Zhang W M, Liu X Y, Li H B,The detection method for grab of portal crane based on deep learning[J]., 2021, 48(1): 200062; DOI:10.12086/oee.2021.200062
The detection method for grab of portal crane based on deep learning
Zhang Wenming1,2, Liu Xiangyang2*, Li Haibin2, Li Yaqian2
1School of Electrical Engineering, Yanshan University, Qinhuangdao, Hebei 066004, China;2Key Laboratory of Industrial Computer Control Engineering of Hebei Province, Yanshan University, Qinhuangdao, Hebei 066004, China
In order to solve the problems of low work efficiency and safety caused by the inability of human eyes to accurately determine the position of the grab during the loading and unloading of dry bulk cargo by portal crane, a method of grab detection based on deep learning is proposed for the first time. The improved deep convolution neural network (YOLOv3-tiny) is used to train and test on the data set of grab, and then to learn its internal feature representation. The experimental results show that the detection method based on deep learning can achieve a detection speed of 45 frames per second and a recall rate of 95.78%. It can meet the real-time and accuracy of detection, and improve the safety and efficiency of work in the industrial field.
grab detection; deep learning; YOLOv3-tiny; SPP; inverted residual group; dilated convolution
TP391.41;U653
A
10.12086/oee.2021.200062
Natural Science Foundation of Hebei Province (F2019203195)
* E-mail: 2041203253@qq.com
張文明,劉向陽,李海濱,等. 基于深度學(xué)習(xí)的門機(jī)抓斗檢測方法[J]. 光電工程,2021,48(1): 200062
Zhang W M, Liu X Y, Li H B,The detection method for grab of portal crane based on deep learning[J]., 2021, 48(1): 200062
2020-02-25;
2020-05-09
河北省自然科學(xué)基金資助項(xiàng)目(F2019203195)
張文明(1979-),男,博士,副教授,主要從事計(jì)算機(jī)視覺,模式識別的研究。E-mail:327897150@qq.com
劉向陽(1996-),男,碩士研究生,主要從事計(jì)算機(jī)視覺、目標(biāo)檢測方面的研究。E-mail:2041203253@qq.com