楊晨,張秀芬
(內蒙古工業(yè)大學機械工程學院,內蒙古呼和浩特 010051)
自動或半自動化拆卸可以提升拆卸效率,實現(xiàn)精細化拆卸,提高資源利用率,對于實現(xiàn)碳達峰和碳中和具有重要意義,在家電、智能手機、鋰電池等領域已受到廣泛關注[1-3]。但是,由于退役產品結構、種類等不確定導致拆卸目標的智能化檢測難、效果差等問題,仍然是自動化拆卸的瓶頸之一。
連接件是機電產品中不可缺少的組成部分,已有較多研究成果對它進行檢測,主要方法包括模板匹配法、神經網絡檢測等。例如,魏信[4]通過使用微軟的Kinect傳感器獲得典型零部件的彩色圖和深度圖,對圖像進行模板匹配以及深度處理實現(xiàn)零部件的檢測和定位,并以多個螺母為例進行了效果測試。楊桂華等[5]采用BLOB(Binary Large Object)分析與神經網絡分類器相結合的方法,實現(xiàn)多目標工件的檢測和定位以及在流水線上定位和分類多種零部件。曾鵬[6]通過模板匹配實現(xiàn)了平面內工件的檢測,并通過遍歷檢測到工件區(qū)域的像素,計算其形心進行定位。但是,上述方法均需要將待檢測的零部件放置在簡單的背景下,在實際的拆卸環(huán)境中,零件往往存在于復雜的背景下,工件檢測和定位會受到其他零部件以及殼體的劃痕、圖案等影響。
為有效避免復雜背景對目標檢測造成的干擾,秦開仲[7]融合了YOLOv3模型、Hough變換以及遺傳算法,實現(xiàn)了電子產品的分類、螺釘粗檢測以及二次檢測的任務,并調整了模型使它以圓形為邊界回歸。YILDIZ、 W?RG?TTER[8]同樣融合了Hough變換和深度神經網絡,實現(xiàn)了對多種不同形狀和外觀螺釘?shù)淖詣痈呔葯z測。由于神經網絡算法具有更好的魯棒性,還被應用到了隧道裂紋檢測[9]、農田蟲害[10]以及醫(yī)療器械[11]等不同領域。上述方法均采用了深層次網絡,由于參數(shù)多,導致網絡訓練與部署費時費力。
隨著神經網絡的發(fā)展,更優(yōu)秀的目標檢測算法不斷推出。2016年,REDMON等[12]提出了單階段的目標檢測網絡,即YOLOv1算法。YOLO(You Only Look Once)系列算法[12-16]將目標檢測轉換成回歸問題,將輸入的圖片經過卷積神經網絡獲得目標框的位置和類別。該目標檢測器由于速度快,逐漸取代了雙階段網絡結構的R-CNN算法[17]。YOLOX網絡[16]是對上幾代網絡的改進,包含多個網絡結構,不同的網絡結構有著不同的參數(shù)量(Parameters)和檢測精度(Average Precision,AP)。其中YOLOX-Nano網絡具有參數(shù)量少、AP值較高的特性。
絕大部分機械零部件的結構特征十分明顯,因此,本文作者以螺釘為對象,提出基于YOLOX-Nano網絡的目標組件檢測方法。通過試驗法分析了多種邊界框回歸損失和目標置信度損失對網絡檢測精度的影響規(guī)律,確定最優(yōu)參數(shù)組合,為部署檢測其他工件的輕量級網絡提供實驗基礎。
隨著科技進步、技術更迭,退役或報廢的機械以及電子產品的數(shù)量不斷增加,導致環(huán)境污染、資源浪費等問題日益嚴重。在這些報廢的機電產品中,部分材料甚至整體的零部件可以回收再利用,退役機電產品處理流程如圖1所示。其中,拆卸是回收再利用的關鍵步驟,自動化拆卸的拆卸效率高、拆卸效果好,對于提高資源回收率具有重要意義。
圖1 退役機電產品處理流程
螺釘作為機電產品中不可缺少的連接件,應用極其廣泛,螺釘?shù)闹悄軝z測與定位是機電產品自動化拆卸的關鍵,已受到普遍關注。圖2所示為電動汽車鋰離子電池[3]和硬盤驅動器[8]等產品中螺釘?shù)闹悄軝z測與定位效果。
現(xiàn)有研究雖然可以實現(xiàn)螺釘?shù)闹悄軝z測與定位,但是存在以下問題:(1)復雜背景下螺釘?shù)臋z測效果不佳;(2)算法參數(shù)量多,網絡訓練與部署耗時耗力。
文獻研究表明,YOLOX-Nano網絡具有參數(shù)量少、AP值較高的優(yōu)勢[16]。螺釘結構特征明顯,為此,提出基于YOLOX-Nano網絡的螺釘檢測方法。
通過相機拍攝以及網絡下載等方式獲取了4 000余張十字螺釘圖片。綜合考慮圖片清晰度、螺釘在圖片中占據(jù)的比例以及螺釘呈現(xiàn)的角度等因素,手動篩選出質量較好的500張圖片制作數(shù)據(jù)集,并使用labelImg軟件對圖片中的十字螺釘進行了標注,數(shù)據(jù)集包含的部分圖片以及圖片的標注如圖3所示。數(shù)據(jù)集的分配為:訓練集加驗證集與測試集的比例、訓練集與驗證集的比例均為9∶1。
圖3 部分數(shù)據(jù)集圖片
由于數(shù)據(jù)集較小,直接訓練網絡得到的檢測精度AP為86.91%(取AP75),該數(shù)值較低。為了提高訓練效果,文中采用遷移學習[18]的方式對網絡進行訓練,具體步驟如下:
(1)使用COCO2017數(shù)據(jù)集對YOLOX-Nano網絡進行預訓練,此時不改變YOLOX-Nano網絡結構,得到所需要的預訓練權重。
(2)以十字螺釘數(shù)據(jù)集為對象,基于得到的預訓練權重,繼續(xù)訓練網絡。
(3)對網絡訓練結果進行分析驗證,網絡模型的檢測精度AP為92.22%,較未使用遷移學習提升了5.31%。
2.3.1 檢測精度的影響因素
檢測精度AP以及平均檢測精度mAP是目標檢測中的常用評價指標,文中僅對十字螺釘進行檢測,僅有一個類別,此時AP=mAP。
YOLOX-Nano在進行損失計算時,整體損失包括目標框回歸損失、目標置信度損失以及類別損失。其中,目標框回歸損失提供了IoU(Intersection over Union)Loss[19]和GIoU(Generalized IoU)Loss[20]2種計算方式,目標置信度損失以及類別損失提供了二元交叉熵損失(BCE Loss)計算方式。在訓練YOLOX-Nano的過程中分別使用IoU Loss和GIoU Loss 2種計算方式,使用IoU Loss得到檢測精度AP為89.55%,當使用GIoU Loss訓練網絡后,得到檢測精度AP為92.22%,相較于IoU Loss提升了2.67%,表明不同目標框回歸損失和目標置信度損失組合會對檢測精度AP產生一定影響。
2.3.2 基于試驗法最優(yōu)參數(shù)的確定
在目標框回歸損失處,增加一些典型的目標框回歸損失算法進行比較,這些算法包括DIoU(Distance-IoU)[21]Loss、CIoU(Complete-IoU)[21]Loss以及EIoU(Focal and Efficient IoU)[22]Loss計算方式。最后得到的檢測精度AP如表1所示,對應的度量參數(shù)如圖4所示。
表1 不同目標框回歸損失度量參數(shù)以及檢測精度
圖4 不同目標框回歸損失函數(shù)度量參數(shù)示意
為了解決目標檢測過程中正負樣本比例失衡的問題,在目標置信度損失處,以Focal Loss替換原網絡中的BCE(Binary Cross Entropy)Loss,測試其對檢測精度AP的影響,定義[23]如下:
(1)
其中:α為權重因子且α∈[0,1];(1-p)γ和pγ分別為前景類(Foreground Class)和背景類(Background Class)的調整因子(Modulating Factor);γ為聚焦參數(shù)(Focusing Parameter)且γ≥0;p為標簽屬于1時的概率,且p∈[0,1];y為真實數(shù)據(jù)類別的標簽,且y∈{±1};FL為Focal Loss。
公式(1)中的權重因子α以及聚焦參數(shù)γ用于交叉熵損失的計算,解決了訓練過程中正負樣本不平衡的問題,并區(qū)分出難易樣本,使模型可以重點對困難樣本進行學習。
為確定最優(yōu)的權重因子α=0.25和聚焦參數(shù)γ=2[23]是否適合當前數(shù)據(jù)集,建立因素水平表,如表2所示。保持目標框回歸損失為IoU Loss,以檢測精度AP大小為指標,越高越好,進行全面試驗。表2中含有兩因素三水平,共需進行9次試驗。試驗結果如表3所示。
表2 因素水平方案
表3 全面試驗得到的檢測精度 單位:%
由表3可知,94.03%為最優(yōu)值,即取權重因子α=0.25和聚焦參數(shù)γ=2是最好的方案。使用該方案結合各類邊界框回歸損失函數(shù)進行試驗,得到的檢測精度AP結果如表4所示。Focal Loss基本對所有的目標框回歸函數(shù)(DIoU除外)的檢測精度都有所提升,最優(yōu)的檢測精度AP較原始網絡提升了1.81%。遷移學習過程優(yōu)化前后網絡的收斂結果如圖5所示。
表4 不同損失函數(shù)得到的檢測精度AP 單位:%
圖5 YOLOX-Nano網絡遷移學習過程結果
為驗證文中所提方法的有效性,以某品牌插排為研究對象,進行了多次試驗。工作環(huán)境為(英特爾)Intel(R) Core(TM) i7-9750H CPU @ 2.60 GHz(2 592 MHz)以及NVIDIA GeForce RTX 2060顯卡。
部分圖片的檢測效果如圖6所示,圖片均由手機拍攝得到,為了在文中呈現(xiàn)更好的效果,這些圖片在檢測后進行了截取處理。
圖6 插排螺釘?shù)臋z測效果
為了測試算法的實時性,調取計算機連接的攝像頭且調試其焦距等參數(shù)后,開啟螺釘檢測程序,即可實時得到螺釘在插排上的位置信息,具體如圖7所示。截取程序運行過程的某幾幀圖片,如圖8所示,整體的實時檢測效果符合預期。檢測效果會受到攝像頭的像素影響,導致實時檢測過程中的目標置信度普遍低于圖片檢測中的目標置信度,更換像素更高的攝像頭可以得到更好的檢測效果。
圖7 攝像頭和待拆卸插排的相對位置
圖8 插排螺釘?shù)膶崟r檢測效果
針對使用深層神經網絡算法進行目標工件檢測過程中存在的算法參數(shù)量大,導致模型部署困難等問題,文中基于輕量級的YOLOX-Nano網絡構建了十字螺釘數(shù)據(jù)集,并結合遷移學習訓練了網絡。同時測試了不同目標框回歸損失和目標置信度損失對檢測精度AP的影響,實現(xiàn)了網絡精度的優(yōu)化,具有以下意義:
(1)以輕量級網絡代替標準網絡進行目標工件的檢測,減少了模型的部署時間,可以使網絡更快地投入到目標工件的檢測中,同時也保證了理想的檢測效果。
(2)測試了不同目標框回歸損失和目標置信度損失對檢測精度AP的影響,得到了高于原網絡的檢測精度AP,為部署檢測其他工件的輕量級網絡提供了試驗基礎。