晏恒兵 仲梁維



摘 ?要:木板材作為一種支撐社會發展的重要原材料,被廣泛應用于建筑裝修業和家具制造業,為了合理利用有限的木材資源,對其進行有效的檢測至關重要。改進的Faster R-CNN(“兩階段”檢測)算法對木板材活節、死節、孔洞、裂紋等四類缺陷檢測的平均精度分別為99.84%、94.24%、91.28%、90.06%,平均精度均值為93.86%,并根據木板材缺陷類型對其進行等級劃分。利用機器視覺引導技術,分揀機器人能夠自動定位放置在傳送帶上的木板材,并依據木板材等級對其進行分揀作業。本文還基于C++語言、Qt框架搭建了用于支撐系統運行的軟件平臺。
關鍵詞:機器視覺;木板材分揀;機器人分揀;深度學習
中圖分類號:TP302.7 ? ? 文獻標識碼: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)
長期以來,我國在基礎設施上的投入逐年遞增,木材需求也在不斷增加。目前,我國已經成為全球最大的木材與木制品消費大國。然而,我國的木材利用效率較低,使用合理性較差,究其原因,是缺乏科學的木材加工處理手段。木材缺陷檢測是整個木材加工行業中不可缺少的一個環節,快速且準確地識別出木材缺陷的輪廓和種類,對提高木材利用率及提升木材整體質量起到至關重要的作用[1]。
將機器視覺技術運用到木材缺陷檢測中,不僅極大提高了木材的檢測效率,還降低了生產成本。KAMAL等提出了一種用于自動檢測木材缺陷的分類方法,該方法采用灰度共生矩陣和紋理能量度量作為特征提取器,BP神經網絡作為分類器,對木材缺陷的平均分類準確度達到了84.3%,與單獨使用灰度共生矩陣作為輸入特征相比,具有更高的準確度[2]。張發軍等基于OpenCV視覺庫設計了一套木材表面缺陷自動監測系統,該系統的識別準確率達到了95.3%,平均用時僅為0.361 秒[3]。
上述研究現狀表明,大量學者在對木板材進行缺陷檢測時,采用的大都為淺層模型,而淺層模型建模能力有限,且不適用于多目標檢測,本文通過改進的深度學習算法Faster R-CNN對木板材進行缺陷檢測能大大提高對木板材的檢測精度。此外,上述研究僅對木板材進行缺陷檢測,并未對檢測后的木板材進行后續處理,本文通過機器視覺技術引導機器人對流水線上分級后的木板材進行分揀、碼垛,可以極大地提高木板材生產線的運行效率。
2 ?機器人分揀系統概述(Overview of robot sorting system)
2.1 ? 機器人分揀平臺構成
根據木板材生產公司提出的要求,機器人分揀平臺需要通過機器人對長度為400—800 mm、寬度為50—120 mm的木板材進行分揀,依據Faster R-CNN算法的檢測結果,將不同等級的木板材放入指定的收集區域,并進行碼垛處理?;跈C器視覺的木板材分揀平臺三維模型如圖1所示,其主要由圖像采集﹑信息處理、傳送帶以及自動分揀模塊四大部分組成。
(1)圖像采集模塊
圖像采集模塊由工業相機、鏡頭以及LED光源組成。LED光源安裝在相機相對于傳送帶的同一側,用于增加相機視野范圍亮度,消除木板材周圍的陰影。
(2)信息處理模塊
信息處理模塊主要由PC構成。PC將相機拍攝的木板材圖像進行處理,計算木板材的等級以及木板材中心世界坐標,并通過TCP/IP協議將這些數據發送給機器人。此外,計算機還能將識別的木板材各類缺陷數據存入SQL Server數據庫中,方便用戶實時查詢歷史檢測記錄。
(3)傳送帶模塊
傳送帶模塊由傳送帶以及電容式接近開關組成。MZ07機器人的CFD控制器通過繼電器控制傳送帶的停止與運動,從而將木板材運送至適當位置。電容式接近開關則與CFD控制器I/O板的輸入信號端相連,當木板材經過電容式接近開關時,它會輸出一個高電平,機器人根據接收的信號執行相應的響應。本文所采用的電容式接近開關為KFPS公司生產的型號為TLK-N18P12E1的PNP型傳感器,其有效檢測距離為12 mm。
(4)自動分揀模塊
自動分揀模塊主要由機械手以及真空吸附裝置組成。機械手通過TCP/IP協議與上位機進行數據交互,獲取待分揀木板材中心的世界坐標,隨后,通過機器人末端的真空吸盤將木板材從傳送帶上抓起并放入指定區域的容器中。
2.2 ? 相機標定
相機作為機器人的眼睛,主要用于將拍攝的目標物體轉換為計算機可識別的圖像數據,也可以描述為將目標從三維景物空間向二維圖像空間的轉換。相機標定的目的是找到現實空間中的點與圖像上的像素點間的映射關系[4]。
為了定量地描述拍攝目標在圖像中的位置與真實世界中所處位置的對應關系,需要建立以下四個輔助坐標系[5,6],如圖2所示。
像素坐標系(O0,U,V):像素坐標系是用來確定一幅圖像在計算機存儲中不同像素相對位置關系的參考系[6]。當相機拍攝物體時,會在感光元件上形成一個M×N的網格結構,每一個網格代表一個像素點,圖像由這些像素點組成。像素坐標系的原點O0位于圖像左上角第一個像素點上,U、V兩軸分別平行于圖像坐標系的X軸和Y軸,且同向。
圖像坐標系(O1,X,Y):在計算過程中,由于像素坐標系無法用物理單位進行表示,這就需要在物理成像平面內再建立一個以毫米為單位的坐標系,該坐標系稱為圖像坐標系。其原點位于感光元件中心處,X、Y兩軸正方向與像素坐標系相同。
相機坐標系(Oc,Xc,Yc):相機坐標系位于相機平面上,用于描述相機拍攝環境與相機之間的相對位置關系。其原點位于光心O處,Zc軸正方向指向光軸,Xc、Yc兩軸與物理成像平面平齊,Xc軸方向向右,YC軸方向向下。
世界坐標系(Ow,Xw,Yw):世界坐標系也被稱為測量坐標系,用于反映現實世界中目標的空間位置。在基于機器視覺的分揀機器人系統中,通常以機器人的基座為基準建立世界坐標系。
為了得到各個坐標系間的轉換關系,在世界坐標系中任取一點Pw(xw,yw,zw),P點在相機坐標系下表示為P0(u,v),根據坐標變換原理,世界坐標系可通過平移和旋轉變換轉換為像素坐標系,其關系如式(1)所示。
其中,zc為物距(也稱比例因子),fx=f/dx、fy=f/dx分別表示U、V兩軸的比例因子,R為3×3的旋轉矩陣,T是一個3×1的平移向量,M1為相機的內參矩陣,M2為相機的外參矩陣。
在不考慮相機畸變(即線性標定)的情況下,可將式(1)轉換成如下形式:
為了獲取仿射變換中的a—f六個參數,首先,在一張A4紙上打印三個圓心不共線的圓作為標定板,通過OpenCV提取圖像中三個圓心的像素坐標,如圖3所示。隨后,機器人在示教模式下通過示教器,將機器人末端標定針逐個移動到圓心位置,如圖3所示,通過示教器讀取圓心的世界坐標。最后,求取仿射變換矩陣。通過以上分析,可獲得傳送帶上木板材的實時位置。
3 ?基于改進的Faster R-CNN算法的木板材檢測(Wood panel detection based on improved Faster R-CNN algorithm)
3.1 ? Faster R-CNN算法簡介
Faster R-CNN[7]是一個非常有效的目標檢測算法,不僅支持任意大小的圖片輸入,其檢測精度比目前的YOLO、SDD等一階段檢測器較高,特別是在小目標檢測上效果更為突出,而且還能保持較高的檢測速率。Faster R-CNN的結構如圖4所示,整個網絡結構可分為四個部分。第一部分為主干網絡(BackBone),由一組基礎的conv+relu+pooling網絡組成,用于提取圖像的特征。第二部分為RPN,通過Anchor機制生成大量的候選框,并對候選框進行判斷,判斷其是否含有目標,采用回歸機制獲取候選框粗略的位置[8]。第三部分為RoI Pooling層,負責將RPN生成的候選框投影到共享特征圖上,隨后采用最大池化將特征圖縮放到固定大小。第四部分通過全連接層訓練,獲取分類和邊界框預測結果。
3.2 ? 基于特征融合的Faster R-CNN算法改進
在原始Faster R-CNN算法中,通常將最深層的特征圖作為訓練對象。深層網絡的特征圖分辨率較低,幾何信息的表征能力較弱(空間幾何特征細節丟失),造成的結果是無法對小目標、小尺度物體進行檢測。而在木板材檢測過程中,常常會存在較小的活節或是死節,通過多尺度特征融合技術對原始的Faster R-CNN算法進行改進,可有效地提高對小目標檢測的精度。
特征金字塔網絡(FPN)充分利用CNN對圖像進行池化操作時,本身就會產生多級特征圖的特性,從CNN具有從低級到高級的語義信息的金字塔層次結構特性出發,構建具有高級語義信息的特征金字塔,其結構主要由三部分組成:第一部分是通過卷積網絡自下而上提取圖像的特征;第二部分從最深層的特征圖出發,自上而下地通過反池化方法得到低層特征圖;第三部分將前兩部分大小相同的特征圖橫向連接,進行特征融合,得到多尺度的特征圖[9]。其過程可用圖5表示,以ResNet101網絡為基礎,下面對每一部分進行詳細分析。
(1)自下而上:卷積神經網絡的前向傳播過程本身就是自下而上的路徑,輸入的樣本圖像經過卷積層以及池化層后,圖像尺度不斷減小,深度不斷增加。
對于ResNet101網絡,將每個階段的最后一個殘差結構的特征圖激活輸出,將其表示為{C2,C3,C4,C5},對應于conv2—conv5的輸出,在這里考慮到conv1輸出圖像分辨率過高,造成內存占用過大,故將其舍去。
(2)自上而下和橫向連接:將最深層的特征圖作2 倍上采樣處理,將其與對應的前一層特征橫向連接并進行融合,在融合之前,還需要對前一層特征進行1×1卷積處理,其目的是確保連接的兩個層深度相同(深度均為256),融合的方式為像素間做加法運算。重復上述過程,直至生成最精細的特征圖。最后,為了消除上采樣帶來的混疊效應,還需要對融合后的特征圖進行一次3×3的卷積運算,獲得最終需要的特征圖{P2,P3,P4,P5}。
特征金字塔網絡輸出的特征圖是多尺度的,為了將FPN與RPN相結合,需要在每個不同層級的金字塔上應用單尺度的anchor,即特征圖{P2,P3,P4,P5,P6}(這里的P6是conv5輸出的特征圖經過2倍下采樣計算得到的)分別對應anchor的尺度為{322,642,1282,2562,5122},因而在特征金字塔上共有15 個anchor。同樣,為了檢測不同形狀的目標,仍然使用三種比例(1:2、1:1、2:1)。
3.3 ? 改進后的Faster R-CNN算法實驗分析
本實驗分別使用VGG-16、ResNet101、FPN+ResNet101三種網絡模型對Faster R-CNN進行訓練,訓練中木板材樣本數為2,200,測試樣本數為489,以總體損失、平均精度(AP)及平均精度均值(MAP)作為模型評價標準。圖6展示的是三類模型經過5萬次迭代后總體損失變化曲線,圖7為改進后的Faster R-CNN PR曲線。
為了觀察方便,現將三個模型對不同類型缺陷的AP以及MAP匯總在表1中。從表1可以看出,ResNet101+FPN網絡模型平均精度均值最高,達到了93.86%,比VGG-16+Faster R-CNN模型提高了6.78%,比ResNet101+Faster R-CNN提高了1.24%。
4 ? 系統軟件的搭建(System software construction)
基于機器視覺的木板材分揀系統軟件是支撐整個分揀系統運行的核心部分,同時也是實現視覺分揀的關鍵。本部分詳細介紹了軟件的界面設計以及功能,采用C++語言、OpenCV庫、深度學習框架TensorFlow以及機器人語言開發了一套簡潔、實用的視覺分揀系統軟件。圖8展示了系統軟件的主界面,該界面主要完成與機器通信、木板材缺陷檢測、數據存儲檢測、木板材中心世界坐標與像素坐標計算等功能。
5 ? 結論(Conclusion)
為了提高木板材的檢測效率,降低生產成本,本文通過機器視覺引導技術,結合深度學習算法,設計了一整套木板材自動分揀系統。改進后的Faster R-CNN算法對木板材缺陷檢測在精度上有了較大的提高,完全能滿足實際生產的要求,有助于提高木板材檢測效率。
參考文獻(References)
[1] 王均東,趙乾,劉英,等.木材表面缺陷的激光掃描與檢測裝置設計[J].林業機械與木工設備,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] 張發軍,明曉杭,宋鈺青,等.基于OpenCV的木材表面缺陷檢測系統設計與實驗驗證[J].機械工程師,2019(01):21-23,30.
[4] 方雨,李大寨,林闖.基于機器視覺的傳送帶分揀技術研究[J].? ? ? 機械工程與自動化,2018(06):173-175.
[5] 馮振,郭延寧,呂悅.OpenCV4快速入門[M].北京:人民郵電出版社,2020:323-325.
[6] 張重陽.基于機器視覺的硬幣分揀系統設計[J].工具技術,? ? ? 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] 于曉倩.基于改進Faster RCNN的行人檢測研究[D].長春:吉林大學,2020.
[9] 陳坤,徐向纮.改進Faster RCNN在鋁型材表面缺陷檢測中的應用研究[J].中國計量大學學報,2020,31(02):240-246.
作者簡介:
晏恒兵(1995-),男,碩士生.研究領域:機器視覺.
仲梁維(1962-),男,碩士,教授.研究領域:計算機輔助設計,智能設計制造.