張文明,劉向陽(yáng),李海濱,李雅倩
基于深度學(xué)習(xí)的門(mén)機(jī)抓斗檢測(cè)方法
張文明1,2,劉向陽(yáng)2*,李海濱2,李雅倩2
1燕山大學(xué)電氣工程學(xué)院,河北 秦皇島 066004;2燕山大學(xué)工業(yè)計(jì)算機(jī)控制工程河北省重點(diǎn)實(shí)驗(yàn)室,河北 秦皇島 066004
在港口門(mén)機(jī)抓斗裝卸干散貨的作業(yè)過(guò)程中,人眼觀察無(wú)法精確判斷抓斗所在位置,會(huì)帶來(lái)工作效率低下及安全性等問(wèn)題。為解決該問(wèn)題首次提出了一種基于深度學(xué)習(xí)的門(mén)機(jī)抓斗檢測(cè)方法。利用改進(jìn)的深度卷積神經(jīng)網(wǎng)絡(luò)YOLOv3-tiny對(duì)抓斗數(shù)據(jù)集進(jìn)行訓(xùn)練及測(cè)試,進(jìn)而學(xué)習(xí)其內(nèi)部特征表示。實(shí)驗(yàn)結(jié)果表明,基于深度學(xué)習(xí)的門(mén)機(jī)抓斗檢測(cè)方法可實(shí)現(xiàn)門(mén)機(jī)抓斗檢測(cè)速度每秒45幀,召回率高達(dá)95.78%,在很好滿足檢測(cè)實(shí)時(shí)性與準(zhǔn)確性的同時(shí),提高了工業(yè)現(xiàn)場(chǎng)作業(yè)的安全性及效率。
抓斗檢測(cè);深度學(xué)習(xí);YOLOv3-tiny;空間金字塔池化;反轉(zhuǎn)殘差組;空洞卷積
近幾年,隨著港口行業(yè)的蓬勃發(fā)展,港口吞吐量不斷加大,港口碼頭對(duì)裝卸干散貨的需求也越來(lái)越大,有關(guān)資料顯示,2018年中國(guó)港口完成貨物吞吐量就已經(jīng)達(dá)到143.51億噸[1]。隨著科學(xué)技術(shù)的發(fā)展,特別是5G時(shí)代的來(lái)臨,各行各業(yè)都開(kāi)始向著信息智能化方向發(fā)展,而利用智能化來(lái)加強(qiáng)港口散貨裝卸設(shè)備的檢測(cè)進(jìn)而提高作業(yè)效率將是港口散貨裝卸行業(yè)未來(lái)的發(fā)展趨勢(shì)[2]。抓斗是港口主要干散貨裝卸工具,所以對(duì)于抓斗的操作控制是提高門(mén)座式起重機(jī)和卸船機(jī)生產(chǎn)效率和自動(dòng)化程度的關(guān)鍵[3]。目前,對(duì)于門(mén)機(jī)抓斗檢測(cè)采用的方法主要是人為操控,即駕駛員坐在門(mén)機(jī)駕駛室內(nèi),通過(guò)肉眼觀察抓斗是否到達(dá)要抓取干散貨或者釋放干散貨的合適位置,由人來(lái)判斷何時(shí)下放或升起抓斗上的鋼絲繩。因此存在以下問(wèn)題:第一,由于人眼距離貨物比較遠(yuǎn),在釋放抓斗時(shí)鋼絲繩容易過(guò)放,即支持繩有較多松繩,一次作業(yè)循環(huán)浪費(fèi)幾秒鐘,多次循環(huán)作業(yè)加起來(lái)就浪費(fèi)了大量時(shí)間,產(chǎn)生大量的無(wú)用功。第二,由于司機(jī)長(zhǎng)期作業(yè)會(huì)導(dǎo)致人眼疲勞從而導(dǎo)致誤判,也會(huì)出現(xiàn)過(guò)放問(wèn)題,這對(duì)企業(yè)的發(fā)展是不利的,因?yàn)槌撕臅r(shí)耗力又會(huì)增加公司的輸入成本。第三,操作的安全性取決于司機(jī)的專業(yè)技能熟練程度,取物的高度完全靠門(mén)機(jī)司機(jī)肉眼觀察,存在一定的局限性和較大的誤差。那么如何精確檢測(cè)出抓斗的位置,使得抓斗裝卸貨物更高效安全,便成了港口行業(yè)急需解決的問(wèn)題。
近幾年,隨著科技的發(fā)展,深度學(xué)習(xí)越來(lái)越火熱,尤其在目標(biāo)檢測(cè)領(lǐng)域取得了快速發(fā)展[4];許多學(xué)者也開(kāi)始將深度學(xué)習(xí)技術(shù)應(yīng)用到各種實(shí)際應(yīng)用場(chǎng)景中,比如將深度卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到車(chē)輛目標(biāo)檢測(cè)[5]和遙感圖像中的飛機(jī)目標(biāo)檢測(cè)[6]等任務(wù)中,較傳統(tǒng)方法都帶來(lái)了巨大的性能提升。抓斗檢測(cè)也是一類(lèi)目標(biāo)檢測(cè)問(wèn)題,本文便采用計(jì)算機(jī)視覺(jué)中目標(biāo)檢測(cè)技術(shù)替代傳統(tǒng)肉眼去觀察的方式,利用深度學(xué)習(xí)自動(dòng)實(shí)現(xiàn)對(duì)抓斗位置的實(shí)時(shí)檢測(cè)。所謂目標(biāo)檢測(cè),就是區(qū)分圖像或者視頻中的目標(biāo)與其他不感興趣的部分目標(biāo),包括檢測(cè)它的位置及類(lèi)別,主要的方法分為單階段和雙階段兩種方式。雙階段中傳統(tǒng)的方法是基于滑動(dòng)窗口加分類(lèi)模型,但是這樣會(huì)耗費(fèi)大量的計(jì)算。卷積網(wǎng)絡(luò)的出現(xiàn)帶來(lái)了基于區(qū)域的特征提取方法,即RCNN[7],但是訓(xùn)練一個(gè)RCNN模型非常昂貴,而且步驟較多:根據(jù)選擇性搜索,對(duì)每張圖片提取2000個(gè)單獨(dú)區(qū)域;再用CNN提取每個(gè)區(qū)域的特征。假設(shè)我們有張圖片,那么CNN特征就是′2000。這樣會(huì)使RCNN的速度變慢,通常每個(gè)新圖片需要40 s~50 s的時(shí)間進(jìn)行預(yù)測(cè),達(dá)不到實(shí)時(shí)檢測(cè)抓斗的目的。在Fast RCNN[8]中,將圖片輸入到CNN中(也就是通過(guò)一次卷積提取)會(huì)相應(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ū)域加分類(lèi)的思想,只不過(guò)是將提取候選區(qū)域的步驟放在CNN中實(shí)現(xiàn)了,由于是雙階段,先找區(qū)域再分類(lèi),盡管精度較高,但是速度不容樂(lè)觀。單階段目標(biāo)檢測(cè)模型YOLOv1的出現(xiàn)解決了上述的速度問(wèn)題,由于它是利用整張圖作為網(wǎng)絡(luò)的輸入,直接在輸出層回歸邊界框(bounding box)的位置和其所屬的類(lèi)別,所以速度相對(duì)較快[10]。但是由于YOLOv1中所劃分的每個(gè)格子可以預(yù)測(cè)2個(gè)bounding box,最終只選擇交并比(intersection-over-union,IOU)最高的bounding box作為物體檢測(cè)輸出,即每個(gè)格子最多只預(yù)測(cè)出一個(gè)物體。那么當(dāng)物體占畫(huà)面比例較小,一個(gè)格子出現(xiàn)多個(gè)物體時(shí),卻只能檢測(cè)出其中一個(gè),說(shuō)明其定位不準(zhǔn),容易出現(xiàn)漏檢情況。YOLOv3[11]的出現(xiàn)打破了上述尷尬的境地。YOLOv3-tiny是YOLOv3的迷你版,速度更快,但檢測(cè)精度不如YOLOv3,由于工程對(duì)于實(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ò)、提高檢測(cè)性能的同時(shí)維持了較少的參數(shù)量,減少了計(jì)算消耗;最后通過(guò)在網(wǎng)絡(luò)低層加入兩個(gè)空洞卷積層和高層進(jìn)行特征融合,保證在不失分辨率的情況下擴(kuò)大融合后特征圖的感受野。用改進(jìn)后的網(wǎng)絡(luò)與原網(wǎng)絡(luò)在抓斗數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的網(wǎng)絡(luò)模型較原始模型在性能上有顯著提升,改進(jìn)后的檢測(cè)模型mAP達(dá)到96.25%,較原始模型mAP值提高了17.68%,召回率高達(dá)95.78%,較原始召回率提高了17.22%,且誤檢率為0,檢測(cè)速度達(dá)到每秒45幀,很好地滿足了門(mén)機(jī)抓斗檢測(cè)的實(shí)時(shí)性與準(zhǔn)確性,在一定程度上解決了因人眼觀察無(wú)法精確判斷抓斗所在位置所帶來(lái)的工作效率低下及安全性的問(wèn)題。
YOLOv3-tiny是一種端到端的卷積神經(jīng)網(wǎng)絡(luò),由卷積層、池化層、上采樣層和兩個(gè)YOLO檢測(cè)層組成,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。相比于YOLOv3少了一個(gè)YOLO檢測(cè)層和類(lèi)似殘差的連接,同時(shí)減少了大量的1×1和3×3的卷積核,雖然這樣會(huì)使檢測(cè)精度不如YOLOv3,但是會(huì)大幅度降低要訓(xùn)練的參數(shù)量和浮點(diǎn)運(yùn)算,所以更便于在移動(dòng)端部署。同時(shí)速度明顯高于其它模型,在COCO數(shù)據(jù)集上達(dá)到了220 f/s,是YOLOv3的6倍之多,使得實(shí)時(shí)性獲得了良好的保障。
YOLOv3-tiny將整張圖片作為輸入,然后通過(guò)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,得到×大小的特征圖,之后劃分原圖為×個(gè)網(wǎng)格。如果真實(shí)邊界框中某個(gè)目標(biāo)的中心坐標(biāo)落在哪個(gè)單元格中,那么就由該單元格來(lái)預(yù)測(cè)此目標(biāo)。在每個(gè)網(wǎng)格中預(yù)測(cè)3個(gè)邊界框,以對(duì)多類(lèi)目標(biāo)進(jìn)行檢測(cè)。輸出的每個(gè)邊界框包含(,,,,con)五個(gè)基本參數(shù),其中,代表邊界框的中心離其所在網(wǎng)格單元格邊界的偏移。,代表邊界框真實(shí)寬高相對(duì)于整幅圖像的比例。con為邊界框的置信度,它代表了所預(yù)測(cè)的邊界框中含有目標(biāo)物的可能性和這個(gè)預(yù)測(cè)框預(yù)測(cè)的有多準(zhǔn)兩重信息,其計(jì)算公式為
其中:o是預(yù)測(cè)為要檢測(cè)的目標(biāo)概率值,IoU為預(yù)測(cè)框和真實(shí)物體邊界框的交并比。當(dāng)?shù)玫矫總€(gè)預(yù)測(cè)框的類(lèi)別置信度后,設(shè)置閾值,濾掉得分低的邊界框,對(duì)保留的邊界框進(jìn)行非極大值抑制[7]處理,進(jìn)而得到最終的檢測(cè)結(jié)果。類(lèi)別置信度公式為
YOLOv3-tiny借鑒FPN[14]的思想,融合多尺度信息預(yù)測(cè),將高層輸出的特征圖進(jìn)行上采樣與低層的特征圖進(jìn)行融合,實(shí)現(xiàn)增強(qiáng)語(yǔ)義信息的同時(shí),加強(qiáng)了對(duì)位置信息的檢測(cè)。
由于YOLOv3-tiny相比YOLOv3少了大量的1×1和3×3卷積核,這樣雖降低了大量的計(jì)算量,提高了檢測(cè)速度,但是網(wǎng)絡(luò)深度大大降低,導(dǎo)致檢測(cè)精度下降較多,容易出現(xiàn)定位不準(zhǔn),識(shí)別錯(cuò)誤,發(fā)生誤檢以及漏檢現(xiàn)象。本文根據(jù)原YOLOv3-tiny網(wǎng)絡(luò)加以改進(jìn),通過(guò)在原有網(wǎng)絡(luò)基礎(chǔ)上加入四個(gè)反轉(zhuǎn)殘差組來(lái)增加網(wǎng)絡(luò)的深度和拓展網(wǎng)絡(luò)寬度并引入空間金字塔池化模塊提取多角度特征,同時(shí)在低層與高層特征圖融合間加入兩個(gè)空洞卷積層,保證在不失分辨率的情況下來(lái)擴(kuò)大低層特征圖的感受野,從而形成改進(jìn)后的深度卷積神經(jīng)網(wǎng)絡(luò)。
在First YOLO檢測(cè)層前加入一個(gè)空間金字塔池化模塊,加入的SPP模塊如圖2所示。SPP模塊由三個(gè)平行的最大池化層、一個(gè)卷積層和route層組合形成。其中池化核尺寸大小分別為5×5、9×9、13×13,步長(zhǎng)均為1。輸入的特征圖通過(guò)1×1卷積層以及不同大小的最大池化核作用,提取了不同角度的特征,形成了帶有不同感受野的特征圖,然后通過(guò)route層將前面獲得的特征圖進(jìn)行通道維度上的拼接,進(jìn)而提取到更多有用的多尺度信息。池化操作使得數(shù)據(jù)的維度降低,將較低層次的特征組合為較高層次的特征,通過(guò)融合提高了語(yǔ)義信息,可以使得模型檢測(cè)的準(zhǔn)確率提高。
圖1 YOLOv3-tiny 網(wǎng)絡(luò)結(jié)構(gòu)
算上最大池化層,YOLOv3-tiny一共24層,網(wǎng)絡(luò)深度較淺,但如果僅通過(guò)加深網(wǎng)絡(luò)層數(shù)進(jìn)一步提高抓斗檢測(cè)的效果,伴隨著網(wǎng)絡(luò)深度的增加,勢(shì)必會(huì)帶來(lái)計(jì)算量的加大,進(jìn)而影響到檢測(cè)的實(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)過(guò)深度卷積后,由于輸出特征圖的維度取決于輸入特征圖的通道數(shù),所以提取的特征受限于輸入通道數(shù)。為了提取更多的特征,反轉(zhuǎn)殘差組中輸入的特征圖首先經(jīng)過(guò)3個(gè)分支中的1×1普通卷積核進(jìn)行升維度,然后利用3×3大小的深度卷積將圖像區(qū)域與通道分開(kāi)考慮,對(duì)于不同的輸入通道采取不同的卷積核分別進(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)成殘差組的連接來(lái)提高網(wǎng)絡(luò)傳播的性能,解決因改進(jìn)后網(wǎng)絡(luò)層數(shù)的加深可能引起的網(wǎng)絡(luò)退化問(wèn)題[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ù)激活會(huì)破壞特征[19]。
為了提高門(mén)機(jī)抓斗檢測(cè)的性能,在改進(jìn)的YOLOv3-tiny網(wǎng)絡(luò)中加入4個(gè)圖3所示的反轉(zhuǎn)殘差組,在實(shí)現(xiàn)加深網(wǎng)絡(luò)深度的同時(shí)提高了檢測(cè)的準(zhǔn)確度。
隨著網(wǎng)絡(luò)深度的增加,語(yǔ)義信息越來(lái)越強(qiáng),雖然利于分類(lèi),但是所檢測(cè)物體的邊緣由于模糊程度加大不能得到準(zhǔn)確回歸,因此能見(jiàn)度下降,不利于抓斗定位。所以在改進(jìn)的YOLOv3-tiny網(wǎng)絡(luò)結(jié)構(gòu)采用如圖4所示的特征融合方式。Layer 9即第九層中的特征圖位于低層,含有較多的位置信息,通過(guò)添加兩個(gè)3×3的空洞卷積層,在維持分辨率不變,增添較少參數(shù)量的同時(shí)擴(kuò)大其感受野[20],再將Layer 62中2倍上采樣后的特征圖與其進(jìn)行維度上的連接,如圖4所示。融合后的特征圖既含有較高的語(yǔ)義信息,又提取了較多的位置信息,有利于抓斗的定位。
圖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ò)模型,識(shí)別抓斗這個(gè)類(lèi)別并實(shí)時(shí)跟蹤抓斗的位置,輸出相應(yīng)的坐標(biāo)信息。作業(yè)過(guò)程中,隨著門(mén)機(jī)大臂的旋轉(zhuǎn)、移動(dòng),相機(jī)和抓斗是一起移動(dòng)的,這樣從相機(jī)獲得的二維坐標(biāo)信息、與測(cè)距傳感器所測(cè)得的鋼絲繩長(zhǎng)度形成的深度信息一起構(gòu)成三維坐標(biāo)信息,但此時(shí)信息并不唯一,如圖6所示。此時(shí)、、三點(diǎn)在正上方攝像頭與傳感器所獲得的繩長(zhǎng)信息組合下所形成的三維信息是相同的,再加上大臂垂直面上的旋轉(zhuǎn)角度1、2、3便唯一確定了抓斗所在的空間位置。當(dāng)抓斗以某一種狀態(tài)(比如1)所對(duì)應(yīng)的角度在同一水平面移動(dòng)時(shí),此時(shí)的位置信息是不唯一的,需要角度傳感器測(cè)量水平旋轉(zhuǎn)角度。通過(guò)水平面與垂直面的大臂旋轉(zhuǎn)角度信息和抓斗所在的、、信息共同確定了抓斗在空間中的唯一位置信息,綜合相機(jī)的內(nèi)參,如焦距、感光單元大小以及分辨率等參數(shù),計(jì)算出抓斗的空間位置坐標(biāo),進(jìn)而實(shí)現(xiàn)對(duì)港口抓斗的實(shí)時(shí)檢測(cè)。
由于港口獨(dú)特的作業(yè)環(huán)境,選擇適合現(xiàn)場(chǎng)抓斗檢測(cè)的攝像頭顯得尤為重要。為了實(shí)時(shí)跟蹤抓斗,檢測(cè)其實(shí)時(shí)位置,所以將其安裝室外,如圖7中紅色圈附近,由相機(jī)自帶的機(jī)械結(jié)構(gòu)固定在門(mén)機(jī)臂上,鏡頭垂直向下放置。作業(yè)過(guò)程中相機(jī)不能變焦,否則無(wú)法建立統(tǒng)一的坐標(biāo)系,失去參考價(jià)值。
由于作業(yè)環(huán)境的復(fù)雜性,港口攝像頭的選型需要滿足以下幾點(diǎn)要求:
1) 抗震性能。作業(yè)時(shí)門(mén)機(jī)臂會(huì)有震動(dòng),可能導(dǎo)致相機(jī)拍攝畫(huà)面不清晰。
2) 防水性能。由于安裝在室外,不得不考慮天氣情況。
3) 工作溫度范圍。一般-30 ℃到60 ℃即可。
圖5 改進(jìn)YOLOv3-tiny算法的網(wǎng)絡(luò)結(jié)構(gòu)
圖6 抓斗位置檢測(cè)
4) 抗電磁干擾。碼頭電氣設(shè)備多,功率大,強(qiáng)大的電磁干擾經(jīng)常會(huì)影響攝像頭成像。
5) 對(duì)光照強(qiáng)度的敏感程度要小。
根據(jù)以上要求并綜合實(shí)際情況選擇了型號(hào)為DS-2CD3T56WD-I8的網(wǎng)絡(luò)攝像機(jī)。
本實(shí)驗(yàn)中將數(shù)據(jù)集制作成VOC2007格式。首先通過(guò)安裝在港口的攝像頭采集幾段抓斗作業(yè)的視頻,然后通過(guò)軟件Free Video to JPG Converter截取其中部分幀作為要訓(xùn)練和測(cè)試的圖片,再通過(guò)標(biāo)注軟件Labellmg對(duì)所有圖片進(jìn)行標(biāo)注,如圖8所示,既要給出類(lèi)別信息又要框住其位置,從而形成xml格式的標(biāo)注文件。用python程序?qū)⒈敬螌?shí)驗(yàn)的圖片分為訓(xùn)練集3230張和測(cè)試集900張并以txt格式進(jìn)行保存,最后再利用darknet源程序中的腳本文件將之前的xml標(biāo)注文件進(jìn)行歸一化處理并轉(zhuǎn)化為txt格式,將其作為抓斗數(shù)據(jù)集標(biāo)簽,至此,完成抓斗數(shù)據(jù)集的制作。
圖7 門(mén)機(jī)臂
圖8 抓斗的標(biāo)注
4.3.1 實(shí)驗(yàn)平臺(tái)
本實(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í)長(zhǎng),使用 NVIDIA GeForce RTX 2080顯卡一張,CUDA 10.0.130、CUDNN 7.5.0對(duì)其進(jìn)行運(yùn)算加速。在本實(shí)驗(yàn)中使用的深度學(xué)習(xí)框架為darknet,結(jié)合C、C++、python編程語(yǔ)言以及Opencv和gcc庫(kù)完成程序的編寫(xiě)及應(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)而得到對(duì)于抓斗檢測(cè)效果達(dá)到最佳的權(quán)重參數(shù)。實(shí)驗(yàn)中梯度優(yōu)化采用帶有動(dòng)量的小批量隨機(jī)梯度下降算法,部分訓(xùn)練參數(shù)的設(shè)置如表1所示。
迭代次數(shù)小于1000時(shí),學(xué)習(xí)率從0開(kāi)始隨著迭代次數(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ù),用來(lái)生成更多訓(xùn)練樣本;抖動(dòng)因子作為一種數(shù)據(jù)增強(qiáng)手段,通過(guò)隨機(jī)調(diào)整寬高比的范圍增加噪聲來(lái)抑制過(guò)擬合。輸入圖片饋送入改進(jìn)的網(wǎng)絡(luò)后,采取隨機(jī)多尺度訓(xùn)練的方式對(duì)抓斗圖片進(jìn)行訓(xùn)練。同時(shí)為了減小顯存壓力,將每一批次中的抓斗圖片平均分成兩個(gè)小批次分別進(jìn)行前向傳播。
表1 網(wǎng)絡(luò)參數(shù)表
在訓(xùn)練過(guò)程中,保存了算法各項(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ù)的增加快速提高,說(shuō)明模型的準(zhǔn)確率在隨之提高;當(dāng)?shù)?0000次后,平均交并比在0.95附近浮動(dòng)。
為了驗(yàn)證改進(jìn)后的網(wǎng)絡(luò)是否有效提高了對(duì)門(mén)機(jī)抓斗檢測(cè)的性能。本文首先進(jìn)行了四個(gè)模型的對(duì)比實(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)練,相同的測(cè)試集上測(cè)試。測(cè)試指標(biāo)mAP值的計(jì)算按照Pascal VOC2007的計(jì)算標(biāo)準(zhǔn),即IOU閾值設(shè)置為0.5時(shí)的測(cè)試結(jié)果,當(dāng)抓斗的預(yù)測(cè)框與真實(shí)框的交并比大于等于50%時(shí),視為匹配正確,檢測(cè)出來(lái)的抓斗是正確的,即P,如圖11所示(其中藍(lán)色框?yàn)檎鎸?shí)框,綠色框?yàn)槠ヅ湔_的預(yù)測(cè)框)。否則檢測(cè)出來(lái)的抓斗是錯(cuò)誤的,即P,如圖12所示(其中藍(lán)色框?yàn)檎鎸?shí)框,紅色框?yàn)槠ヅ溴e(cuò)誤的預(yù)測(cè)框)。
四次實(shí)驗(yàn)對(duì)抓斗測(cè)試集檢測(cè)的結(jié)果如圖13所示。
根據(jù)測(cè)試結(jié)果計(jì)算抓斗檢測(cè)的精確率(precision,)以及召回率(recall,),計(jì)算公式如下:
其中N為沒(méi)有被檢測(cè)出來(lái)的抓斗數(shù)量。
四個(gè)實(shí)驗(yàn)的測(cè)試統(tǒng)計(jì)結(jié)果如表2所示。
從表2的實(shí)驗(yàn)結(jié)果可知,神經(jīng)網(wǎng)絡(luò)模型YOLOv3-tiny-SPP對(duì)抓斗檢測(cè)的精確率、召回率以及mAP值都要高于YOLOv3-tiny,但測(cè)試集的測(cè)試時(shí)間滯后了0.779 s,說(shuō)明在YOLO檢測(cè)層前加入的SPP模塊確實(shí)提高了對(duì)抓斗識(shí)別的準(zhǔn)確度,但同時(shí)也帶來(lái)了計(jì)算上的消耗。從表2中還可以看到神經(jīng)網(wǎng)絡(luò)模型YOLOv3-tiny-group對(duì)抓斗檢測(cè)的精確率比YOLOv3-tiny-SPP模型提高了1.51%,召回率提高了11.11%,mAP值提高了9.68%,測(cè)試時(shí)間滯后0.971 s,說(shuō)明改進(jìn)的網(wǎng)絡(luò)中通過(guò)加入4個(gè)反轉(zhuǎn)殘差組加深網(wǎng)絡(luò)深度、拓展網(wǎng)絡(luò)寬度的方法提高了對(duì)門(mén)機(jī)抓斗檢測(cè)的準(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的測(cè)試結(jié)果,測(cè)試時(shí)間也只相差6ms,說(shuō)明在低層與高層之間通過(guò)添加兩個(gè)3×3的空洞卷積層維持分辨率不變、增添較少參數(shù)量的同時(shí)擴(kuò)大融合后特征圖的感受野的方式是有效的,提高了網(wǎng)絡(luò)模型的檢測(cè)性能。
圖9 平均損失變化曲線
圖10 平均交并比變化曲線
圖11 正確的抓斗
圖12 錯(cuò)誤的抓斗
由于門(mén)機(jī)抓斗作業(yè)的復(fù)雜性,比如說(shuō)光照、灰塵等因素會(huì)影響到抓斗的檢測(cè)效果,所以出現(xiàn)適當(dāng)?shù)穆z是可以接受的,但是對(duì)于誤判的情況要求較為嚴(yán)格,即誤檢現(xiàn)象的出現(xiàn),因?yàn)橐ㄟ^(guò)獲取抓斗檢測(cè)的實(shí)時(shí)位置信息進(jìn)而完成抓斗的開(kāi)閉、移動(dòng)等操作。對(duì)比實(shí)驗(yàn)一、二、三、四的測(cè)試結(jié)果,發(fā)現(xiàn)在抓斗測(cè)試集上改進(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ù)雜度的增加,識(shí)別抓斗的平均準(zhǔn)確率在不斷提高,但是各模型在測(cè)試集上的測(cè)試時(shí)間也在不斷延長(zhǎng),說(shuō)明本文改進(jìn)后的網(wǎng)絡(luò)在提高抓斗檢測(cè)準(zhǔn)確率的同時(shí)犧牲了一定的檢測(cè)速度。
為了進(jìn)一步驗(yàn)證本文改進(jìn)后的網(wǎng)絡(luò)檢測(cè)性能的好壞,以mAP以及每秒識(shí)別幀數(shù)(FPS)作為檢測(cè)效果評(píng)價(jià)指標(biāo),進(jìn)行了如表3所示的抓斗檢測(cè)性能對(duì)比實(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%,雖然檢測(cè)準(zhǔn)確率不及Faster RCNN,但檢測(cè)速率比其快225倍,因此,對(duì)于門(mén)機(jī)抓斗這項(xiàng)實(shí)時(shí)檢測(cè)任務(wù)而言,本文改進(jìn)后的深度學(xué)習(xí)網(wǎng)絡(luò)模型表現(xiàn)更好。相比于原始模型YOLOv3-tiny,本文改進(jìn)后的網(wǎng)絡(luò)模型檢測(cè)速率稍有下降,但是檢測(cè)準(zhǔn)確率得到了大幅度提高,從表3中可以看出,YOLOv3網(wǎng)絡(luò)模型在mAP以及識(shí)別幀率兩項(xiàng)指標(biāo)上都不及本文改進(jìn)后的網(wǎng)絡(luò)。由此可見(jiàn),本文改進(jìn)后的網(wǎng)絡(luò)模型兼顧了門(mén)機(jī)抓斗檢測(cè)準(zhǔn)確率以及檢測(cè)速率。調(diào)用本文改進(jìn)后的網(wǎng)絡(luò)模型YOLOv3-tiny-new訓(xùn)練結(jié)束時(shí)生成的權(quán)重文件對(duì)港口抓斗作業(yè)視頻進(jìn)行測(cè)試,檢測(cè)效果如圖14所示,改進(jìn)后的網(wǎng)絡(luò)模型可以準(zhǔn)確識(shí)別門(mén)機(jī)抓斗并實(shí)時(shí)檢測(cè)其位置,提高了作業(yè)的安全性,同時(shí)在取料的過(guò)程中可以根據(jù)抓斗所在位置提前釋放抓斗上方的鋼絲繩,進(jìn)而在一定程度上避免抓斗過(guò)放現(xiàn)象的發(fā)生,在卸料時(shí)同樣可以根據(jù)檢測(cè)到的抓斗實(shí)時(shí)位置信息實(shí)現(xiàn)甩斗卸料,提高了門(mén)機(jī)抓斗作業(yè)效率。
表2 實(shí)驗(yàn)結(jié)果對(duì)比表
表3 性能對(duì)比表
圖13 檢測(cè)結(jié)果
圖14 測(cè)試抓斗視頻
本文首次提出了一種基于深度學(xué)習(xí)的門(mén)機(jī)抓斗檢測(cè)方法,針對(duì)YOLOv3-tiny網(wǎng)絡(luò)模型檢測(cè)速度快但準(zhǔn)確率低的特點(diǎn),在其檢測(cè)層前加入空間金字塔池化模塊提高語(yǔ)義信息,同時(shí)在網(wǎng)絡(luò)中引入深度可分離卷積并進(jìn)行橫向及深度擴(kuò)展,形成4個(gè)反轉(zhuǎn)殘差組加入到網(wǎng)絡(luò)中,帶來(lái)較少計(jì)算消耗的同時(shí)提高檢測(cè)準(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ò)的整體檢測(cè)性能,使得改進(jìn)后的網(wǎng)絡(luò)檢測(cè)性能達(dá)到最佳。本文改進(jìn)后的網(wǎng)絡(luò)模型YOLOv3-tiny-new相比于原YOLOv3-tiny網(wǎng)絡(luò)模型,門(mén)機(jī)抓斗檢測(cè)的精確度提高了6.36%,召回率提高了17.22%,mAP值提高了17.68%,同時(shí)檢測(cè)速度達(dá)到45 f/s,在速度與準(zhǔn)確率之間得到了較好的平衡,更好地滿足了工業(yè)現(xiàn)場(chǎng)對(duì)抓斗檢測(cè)的實(shí)時(shí)性與準(zhǔn)確性的要求,解決了在港口門(mén)機(jī)抓斗裝卸干散貨的作業(yè)過(guò)程中,人眼觀察無(wú)法精確判斷抓斗所在位置所帶來(lái)的工作效率低下及安全性的問(wèn)題。在未來(lái)的研究工作中,我們將進(jìn)一步結(jié)合港口現(xiàn)場(chǎng)的作業(yè)環(huán)境,對(duì)多種復(fù)雜場(chǎng)景進(jìn)行研究,將深度學(xué)習(xí)與門(mén)機(jī)作業(yè)更好地結(jié)合。
[1] Chen Y M. Current situation and future trend of Chinese ports[J]., 2019(6): 7.
陳英明. 中國(guó)港口現(xiàn)狀及未來(lái)走勢(shì)[J]. 中國(guó)水運(yùn), 2019(6): 7.
[2] Xing X J. Some thoughts on bulk cargo handling industry of domestic port[J]., 2019(10): 1.
邢小健. 對(duì)國(guó)內(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)代門(mé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)檢測(cè)研究與應(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.
戴偉聰, 金龍旭, 李國(guó)寧, 等. 遙感圖像中飛機(jī)的改進(jìn)YOLOv3實(shí)時(shí)檢測(cè)算法[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
張文明,劉向陽(yáng),李海濱,等. 基于深度學(xué)習(xí)的門(mén)機(jī)抓斗檢測(cè)方法[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ī)視覺(jué),模式識(shí)別的研究。E-mail:327897150@qq.com
劉向陽(yáng)(1996-),男,碩士研究生,主要從事計(jì)算機(jī)視覺(jué)、目標(biāo)檢測(cè)方面的研究。E-mail:2041203253@qq.com