晏恒兵 仲梁維
摘 ?要:木板材作為一種支撐社會(huì)發(fā)展的重要原材料,被廣泛應(yīng)用于建筑裝修業(yè)和家具制造業(yè),為了合理利用有限的木材資源,對(duì)其進(jìn)行有效的檢測(cè)至關(guān)重要。改進(jìn)的Faster R-CNN(“兩階段”檢測(cè))算法對(duì)木板材活節(jié)、死節(jié)、孔洞、裂紋等四類(lèi)缺陷檢測(cè)的平均精度分別為99.84%、94.24%、91.28%、90.06%,平均精度均值為93.86%,并根據(jù)木板材缺陷類(lèi)型對(duì)其進(jìn)行等級(jí)劃分。利用機(jī)器視覺(jué)引導(dǎo)技術(shù),分揀機(jī)器人能夠自動(dòng)定位放置在傳送帶上的木板材,并依據(jù)木板材等級(jí)對(duì)其進(jìn)行分揀作業(yè)。本文還基于C++語(yǔ)言、Qt框架搭建了用于支撐系統(tǒng)運(yùn)行的軟件平臺(tái)。
關(guān)鍵詞:機(jī)器視覺(jué);木板材分揀;機(jī)器人分揀;深度學(xué)習(xí)
中圖分類(lèi)號(hào):TP302.7 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract: Wood panel, as an important raw material to support social development, is widely used in building, decorating and furniture manufacturing industry. To make the most of limited wood resources, it is very important to detect wood panel effectively. The improved Faster R-CNN (Faster Region-based Convolutional Neural Network, a "two-stage" detection) algorithm has an average precision of 99.84%, 94.24%, 91.28%, and 90.06% for detecting wood panel live knots, dead knots, holes, and cracks, respectively. The mean average precision is 93.86%, and wood panels are classified by defect types. BY using machine vision guidance technology, sorting robots automatically locate the wood panels placed on the conveyor belt, and sort them according to the grade of the wood panels. A software platform for system operation is built based on C++ language and Qt framework.
Keywords: machine vision; wood panel sorting; robot sorting; deep learning
1 ? 引言(Introduction)
長(zhǎng)期以來(lái),我國(guó)在基礎(chǔ)設(shè)施上的投入逐年遞增,木材需求也在不斷增加。目前,我國(guó)已經(jīng)成為全球最大的木材與木制品消費(fèi)大國(guó)。然而,我國(guó)的木材利用效率較低,使用合理性較差,究其原因,是缺乏科學(xué)的木材加工處理手段。木材缺陷檢測(cè)是整個(gè)木材加工行業(yè)中不可缺少的一個(gè)環(huán)節(jié),快速且準(zhǔn)確地識(shí)別出木材缺陷的輪廓和種類(lèi),對(duì)提高木材利用率及提升木材整體質(zhì)量起到至關(guān)重要的作用[1]。
將機(jī)器視覺(jué)技術(shù)運(yùn)用到木材缺陷檢測(cè)中,不僅極大提高了木材的檢測(cè)效率,還降低了生產(chǎn)成本。KAMAL等提出了一種用于自動(dòng)檢測(cè)木材缺陷的分類(lèi)方法,該方法采用灰度共生矩陣和紋理能量度量作為特征提取器,BP神經(jīng)網(wǎng)絡(luò)作為分類(lèi)器,對(duì)木材缺陷的平均分類(lèi)準(zhǔn)確度達(dá)到了84.3%,與單獨(dú)使用灰度共生矩陣作為輸入特征相比,具有更高的準(zhǔn)確度[2]。張發(fā)軍等基于OpenCV視覺(jué)庫(kù)設(shè)計(jì)了一套木材表面缺陷自動(dòng)監(jiān)測(cè)系統(tǒng),該系統(tǒng)的識(shí)別準(zhǔn)確率達(dá)到了95.3%,平均用時(shí)僅為0.361 秒[3]。
上述研究現(xiàn)狀表明,大量學(xué)者在對(duì)木板材進(jìn)行缺陷檢測(cè)時(shí),采用的大都為淺層模型,而淺層模型建模能力有限,且不適用于多目標(biāo)檢測(cè),本文通過(guò)改進(jìn)的深度學(xué)習(xí)算法Faster R-CNN對(duì)木板材進(jìn)行缺陷檢測(cè)能大大提高對(duì)木板材的檢測(cè)精度。此外,上述研究?jī)H對(duì)木板材進(jìn)行缺陷檢測(cè),并未對(duì)檢測(cè)后的木板材進(jìn)行后續(xù)處理,本文通過(guò)機(jī)器視覺(jué)技術(shù)引導(dǎo)機(jī)器人對(duì)流水線(xiàn)上分級(jí)后的木板材進(jìn)行分揀、碼垛,可以極大地提高木板材生產(chǎn)線(xiàn)的運(yùn)行效率。
2 ?機(jī)器人分揀系統(tǒng)概述(Overview of robot sorting system)
2.1 ? 機(jī)器人分揀平臺(tái)構(gòu)成
根據(jù)木板材生產(chǎn)公司提出的要求,機(jī)器人分揀平臺(tái)需要通過(guò)機(jī)器人對(duì)長(zhǎng)度為400—800 mm、寬度為50—120 mm的木板材進(jìn)行分揀,依據(jù)Faster R-CNN算法的檢測(cè)結(jié)果,將不同等級(jí)的木板材放入指定的收集區(qū)域,并進(jìn)行碼垛處理?;跈C(jī)器視覺(jué)的木板材分揀平臺(tái)三維模型如圖1所示,其主要由圖像采集﹑信息處理、傳送帶以及自動(dòng)分揀模塊四大部分組成。
(1)圖像采集模塊
圖像采集模塊由工業(yè)相機(jī)、鏡頭以及LED光源組成。LED光源安裝在相機(jī)相對(duì)于傳送帶的同一側(cè),用于增加相機(jī)視野范圍亮度,消除木板材周?chē)年幱啊?/p>
(2)信息處理模塊
信息處理模塊主要由PC構(gòu)成。PC將相機(jī)拍攝的木板材圖像進(jìn)行處理,計(jì)算木板材的等級(jí)以及木板材中心世界坐標(biāo),并通過(guò)TCP/IP協(xié)議將這些數(shù)據(jù)發(fā)送給機(jī)器人。此外,計(jì)算機(jī)還能將識(shí)別的木板材各類(lèi)缺陷數(shù)據(jù)存入SQL Server數(shù)據(jù)庫(kù)中,方便用戶(hù)實(shí)時(shí)查詢(xún)歷史檢測(cè)記錄。
(3)傳送帶模塊
傳送帶模塊由傳送帶以及電容式接近開(kāi)關(guān)組成。MZ07機(jī)器人的CFD控制器通過(guò)繼電器控制傳送帶的停止與運(yùn)動(dòng),從而將木板材運(yùn)送至適當(dāng)位置。電容式接近開(kāi)關(guān)則與CFD控制器I/O板的輸入信號(hào)端相連,當(dāng)木板材經(jīng)過(guò)電容式接近開(kāi)關(guān)時(shí),它會(huì)輸出一個(gè)高電平,機(jī)器人根據(jù)接收的信號(hào)執(zhí)行相應(yīng)的響應(yīng)。本文所采用的電容式接近開(kāi)關(guān)為KFPS公司生產(chǎn)的型號(hào)為T(mén)LK-N18P12E1的PNP型傳感器,其有效檢測(cè)距離為12 mm。
(4)自動(dòng)分揀模塊
自動(dòng)分揀模塊主要由機(jī)械手以及真空吸附裝置組成。機(jī)械手通過(guò)TCP/IP協(xié)議與上位機(jī)進(jìn)行數(shù)據(jù)交互,獲取待分揀木板材中心的世界坐標(biāo),隨后,通過(guò)機(jī)器人末端的真空吸盤(pán)將木板材從傳送帶上抓起并放入指定區(qū)域的容器中。
2.2 ? 相機(jī)標(biāo)定
相機(jī)作為機(jī)器人的眼睛,主要用于將拍攝的目標(biāo)物體轉(zhuǎn)換為計(jì)算機(jī)可識(shí)別的圖像數(shù)據(jù),也可以描述為將目標(biāo)從三維景物空間向二維圖像空間的轉(zhuǎn)換。相機(jī)標(biāo)定的目的是找到現(xiàn)實(shí)空間中的點(diǎn)與圖像上的像素點(diǎn)間的映射關(guān)系[4]。
為了定量地描述拍攝目標(biāo)在圖像中的位置與真實(shí)世界中所處位置的對(duì)應(yīng)關(guān)系,需要建立以下四個(gè)輔助坐標(biāo)系[5,6],如圖2所示。
像素坐標(biāo)系(O0,U,V):像素坐標(biāo)系是用來(lái)確定一幅圖像在計(jì)算機(jī)存儲(chǔ)中不同像素相對(duì)位置關(guān)系的參考系[6]。當(dāng)相機(jī)拍攝物體時(shí),會(huì)在感光元件上形成一個(gè)M×N的網(wǎng)格結(jié)構(gòu),每一個(gè)網(wǎng)格代表一個(gè)像素點(diǎn),圖像由這些像素點(diǎn)組成。像素坐標(biāo)系的原點(diǎn)O0位于圖像左上角第一個(gè)像素點(diǎn)上,U、V兩軸分別平行于圖像坐標(biāo)系的X軸和Y軸,且同向。
圖像坐標(biāo)系(O1,X,Y):在計(jì)算過(guò)程中,由于像素坐標(biāo)系無(wú)法用物理單位進(jìn)行表示,這就需要在物理成像平面內(nèi)再建立一個(gè)以毫米為單位的坐標(biāo)系,該坐標(biāo)系稱(chēng)為圖像坐標(biāo)系。其原點(diǎn)位于感光元件中心處,X、Y兩軸正方向與像素坐標(biāo)系相同。
相機(jī)坐標(biāo)系(Oc,Xc,Yc):相機(jī)坐標(biāo)系位于相機(jī)平面上,用于描述相機(jī)拍攝環(huán)境與相機(jī)之間的相對(duì)位置關(guān)系。其原點(diǎn)位于光心O處,Zc軸正方向指向光軸,Xc、Yc兩軸與物理成像平面平齊,Xc軸方向向右,YC軸方向向下。
世界坐標(biāo)系(Ow,Xw,Yw):世界坐標(biāo)系也被稱(chēng)為測(cè)量坐標(biāo)系,用于反映現(xiàn)實(shí)世界中目標(biāo)的空間位置。在基于機(jī)器視覺(jué)的分揀機(jī)器人系統(tǒng)中,通常以機(jī)器人的基座為基準(zhǔn)建立世界坐標(biāo)系。
為了得到各個(gè)坐標(biāo)系間的轉(zhuǎn)換關(guān)系,在世界坐標(biāo)系中任取一點(diǎn)Pw(xw,yw,zw),P點(diǎn)在相機(jī)坐標(biāo)系下表示為P0(u,v),根據(jù)坐標(biāo)變換原理,世界坐標(biāo)系可通過(guò)平移和旋轉(zhuǎn)變換轉(zhuǎn)換為像素坐標(biāo)系,其關(guān)系如式(1)所示。
其中,zc為物距(也稱(chēng)比例因子),fx=f/dx、fy=f/dx分別表示U、V兩軸的比例因子,R為3×3的旋轉(zhuǎn)矩陣,T是一個(gè)3×1的平移向量,M1為相機(jī)的內(nèi)參矩陣,M2為相機(jī)的外參矩陣。
在不考慮相機(jī)畸變(即線(xiàn)性標(biāo)定)的情況下,可將式(1)轉(zhuǎn)換成如下形式:
為了獲取仿射變換中的a—f六個(gè)參數(shù),首先,在一張A4紙上打印三個(gè)圓心不共線(xiàn)的圓作為標(biāo)定板,通過(guò)OpenCV提取圖像中三個(gè)圓心的像素坐標(biāo),如圖3所示。隨后,機(jī)器人在示教模式下通過(guò)示教器,將機(jī)器人末端標(biāo)定針逐個(gè)移動(dòng)到圓心位置,如圖3所示,通過(guò)示教器讀取圓心的世界坐標(biāo)。最后,求取仿射變換矩陣。通過(guò)以上分析,可獲得傳送帶上木板材的實(shí)時(shí)位置。
3 ?基于改進(jìn)的Faster R-CNN算法的木板材檢測(cè)(Wood panel detection based on improved Faster R-CNN algorithm)
3.1 ? Faster R-CNN算法簡(jiǎn)介
Faster R-CNN[7]是一個(gè)非常有效的目標(biāo)檢測(cè)算法,不僅支持任意大小的圖片輸入,其檢測(cè)精度比目前的YOLO、SDD等一階段檢測(cè)器較高,特別是在小目標(biāo)檢測(cè)上效果更為突出,而且還能保持較高的檢測(cè)速率。Faster R-CNN的結(jié)構(gòu)如圖4所示,整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)可分為四個(gè)部分。第一部分為主干網(wǎng)絡(luò)(BackBone),由一組基礎(chǔ)的conv+relu+pooling網(wǎng)絡(luò)組成,用于提取圖像的特征。第二部分為RPN,通過(guò)Anchor機(jī)制生成大量的候選框,并對(duì)候選框進(jìn)行判斷,判斷其是否含有目標(biāo),采用回歸機(jī)制獲取候選框粗略的位置[8]。第三部分為RoI Pooling層,負(fù)責(zé)將RPN生成的候選框投影到共享特征圖上,隨后采用最大池化將特征圖縮放到固定大小。第四部分通過(guò)全連接層訓(xùn)練,獲取分類(lèi)和邊界框預(yù)測(cè)結(jié)果。
3.2 ? 基于特征融合的Faster R-CNN算法改進(jìn)
在原始Faster R-CNN算法中,通常將最深層的特征圖作為訓(xùn)練對(duì)象。深層網(wǎng)絡(luò)的特征圖分辨率較低,幾何信息的表征能力較弱(空間幾何特征細(xì)節(jié)丟失),造成的結(jié)果是無(wú)法對(duì)小目標(biāo)、小尺度物體進(jìn)行檢測(cè)。而在木板材檢測(cè)過(guò)程中,常常會(huì)存在較小的活節(jié)或是死節(jié),通過(guò)多尺度特征融合技術(shù)對(duì)原始的Faster R-CNN算法進(jìn)行改進(jìn),可有效地提高對(duì)小目標(biāo)檢測(cè)的精度。
特征金字塔網(wǎng)絡(luò)(FPN)充分利用CNN對(duì)圖像進(jìn)行池化操作時(shí),本身就會(huì)產(chǎn)生多級(jí)特征圖的特性,從CNN具有從低級(jí)到高級(jí)的語(yǔ)義信息的金字塔層次結(jié)構(gòu)特性出發(fā),構(gòu)建具有高級(jí)語(yǔ)義信息的特征金字塔,其結(jié)構(gòu)主要由三部分組成:第一部分是通過(guò)卷積網(wǎng)絡(luò)自下而上提取圖像的特征;第二部分從最深層的特征圖出發(fā),自上而下地通過(guò)反池化方法得到低層特征圖;第三部分將前兩部分大小相同的特征圖橫向連接,進(jìn)行特征融合,得到多尺度的特征圖[9]。其過(guò)程可用圖5表示,以ResNet101網(wǎng)絡(luò)為基礎(chǔ),下面對(duì)每一部分進(jìn)行詳細(xì)分析。
(1)自下而上:卷積神經(jīng)網(wǎng)絡(luò)的前向傳播過(guò)程本身就是自下而上的路徑,輸入的樣本圖像經(jīng)過(guò)卷積層以及池化層后,圖像尺度不斷減小,深度不斷增加。
對(duì)于ResNet101網(wǎng)絡(luò),將每個(gè)階段的最后一個(gè)殘差結(jié)構(gòu)的特征圖激活輸出,將其表示為{C2,C3,C4,C5},對(duì)應(yīng)于conv2—conv5的輸出,在這里考慮到conv1輸出圖像分辨率過(guò)高,造成內(nèi)存占用過(guò)大,故將其舍去。
(2)自上而下和橫向連接:將最深層的特征圖作2 倍上采樣處理,將其與對(duì)應(yīng)的前一層特征橫向連接并進(jìn)行融合,在融合之前,還需要對(duì)前一層特征進(jìn)行1×1卷積處理,其目的是確保連接的兩個(gè)層深度相同(深度均為256),融合的方式為像素間做加法運(yùn)算。重復(fù)上述過(guò)程,直至生成最精細(xì)的特征圖。最后,為了消除上采樣帶來(lái)的混疊效應(yīng),還需要對(duì)融合后的特征圖進(jìn)行一次3×3的卷積運(yùn)算,獲得最終需要的特征圖{P2,P3,P4,P5}。
特征金字塔網(wǎng)絡(luò)輸出的特征圖是多尺度的,為了將FPN與RPN相結(jié)合,需要在每個(gè)不同層級(jí)的金字塔上應(yīng)用單尺度的anchor,即特征圖{P2,P3,P4,P5,P6}(這里的P6是conv5輸出的特征圖經(jīng)過(guò)2倍下采樣計(jì)算得到的)分別對(duì)應(yīng)anchor的尺度為{322,642,1282,2562,5122},因而在特征金字塔上共有15 個(gè)anchor。同樣,為了檢測(cè)不同形狀的目標(biāo),仍然使用三種比例(1:2、1:1、2:1)。
3.3 ? 改進(jìn)后的Faster R-CNN算法實(shí)驗(yàn)分析
本實(shí)驗(yàn)分別使用VGG-16、ResNet101、FPN+ResNet101三種網(wǎng)絡(luò)模型對(duì)Faster R-CNN進(jìn)行訓(xùn)練,訓(xùn)練中木板材樣本數(shù)為2,200,測(cè)試樣本數(shù)為489,以總體損失、平均精度(AP)及平均精度均值(MAP)作為模型評(píng)價(jià)標(biāo)準(zhǔn)。圖6展示的是三類(lèi)模型經(jīng)過(guò)5萬(wàn)次迭代后總體損失變化曲線(xiàn),圖7為改進(jìn)后的Faster R-CNN PR曲線(xiàn)。
為了觀察方便,現(xiàn)將三個(gè)模型對(duì)不同類(lèi)型缺陷的AP以及MAP匯總在表1中。從表1可以看出,ResNet101+FPN網(wǎng)絡(luò)模型平均精度均值最高,達(dá)到了93.86%,比VGG-16+Faster R-CNN模型提高了6.78%,比ResNet101+Faster R-CNN提高了1.24%。
4 ? 系統(tǒng)軟件的搭建(System software construction)
基于機(jī)器視覺(jué)的木板材分揀系統(tǒng)軟件是支撐整個(gè)分揀系統(tǒng)運(yùn)行的核心部分,同時(shí)也是實(shí)現(xiàn)視覺(jué)分揀的關(guān)鍵。本部分詳細(xì)介紹了軟件的界面設(shè)計(jì)以及功能,采用C++語(yǔ)言、OpenCV庫(kù)、深度學(xué)習(xí)框架TensorFlow以及機(jī)器人語(yǔ)言開(kāi)發(fā)了一套簡(jiǎn)潔、實(shí)用的視覺(jué)分揀系統(tǒng)軟件。圖8展示了系統(tǒng)軟件的主界面,該界面主要完成與機(jī)器通信、木板材缺陷檢測(cè)、數(shù)據(jù)存儲(chǔ)檢測(cè)、木板材中心世界坐標(biāo)與像素坐標(biāo)計(jì)算等功能。
5 ? 結(jié)論(Conclusion)
為了提高木板材的檢測(cè)效率,降低生產(chǎn)成本,本文通過(guò)機(jī)器視覺(jué)引導(dǎo)技術(shù),結(jié)合深度學(xué)習(xí)算法,設(shè)計(jì)了一整套木板材自動(dòng)分揀系統(tǒng)。改進(jìn)后的Faster R-CNN算法對(duì)木板材缺陷檢測(cè)在精度上有了較大的提高,完全能滿(mǎn)足實(shí)際生產(chǎn)的要求,有助于提高木板材檢測(cè)效率。
參考文獻(xiàn)(References)
[1] 王均東,趙乾,劉英,等.木材表面缺陷的激光掃描與檢測(cè)裝置設(shè)計(jì)[J].林業(yè)機(jī)械與木工設(shè)備,2016,44(11):24-27.
[2] KAMAL K, QAYYUM R, MATHVAN S, et al. Wood defects classification using laws texture energy measures and supervised learning approach[J]. Advanced Engineering Informatics, 2017(34):125-135.
[3] 張發(fā)軍,明曉杭,宋鈺青,等.基于OpenCV的木材表面缺陷檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)驗(yàn)驗(yàn)證[J].機(jī)械工程師,2019(01):21-23,30.
[4] 方雨,李大寨,林闖.基于機(jī)器視覺(jué)的傳送帶分揀技術(shù)研究[J].? ? ? 機(jī)械工程與自動(dòng)化,2018(06):173-175.
[5] 馮振,郭延寧,呂悅.OpenCV4快速入門(mén)[M].北京:人民郵電出版社,2020:323-325.
[6] 張重陽(yáng).基于機(jī)器視覺(jué)的硬幣分揀系統(tǒng)設(shè)計(jì)[J].工具技術(shù),? ? ? 2019,53(09):95-98.
[7] REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6):1137-1149.
[8] 于曉倩.基于改進(jìn)Faster RCNN的行人檢測(cè)研究[D].長(zhǎng)春:吉林大學(xué),2020.
[9] 陳坤,徐向纮.改進(jìn)Faster RCNN在鋁型材表面缺陷檢測(cè)中的應(yīng)用研究[J].中國(guó)計(jì)量大學(xué)學(xué)報(bào),2020,31(02):240-246.
作者簡(jiǎn)介:
晏恒兵(1995-),男,碩士生.研究領(lǐng)域:機(jī)器視覺(jué).
仲梁維(1962-),男,碩士,教授.研究領(lǐng)域:計(jì)算機(jī)輔助設(shè)計(jì),智能設(shè)計(jì)制造.