管聲啟,洪奔奔,常 江,任 浪
(西安工程大學(xué)機(jī)電工程學(xué)院,陜西 西安 710048)
當(dāng)前中國處于從制造大國向制造強(qiáng)國轉(zhuǎn)變的關(guān)鍵時期,《中國制造2025》明確提出要以加快新一代信息技術(shù)與制造業(yè)深度融合為主線,以推進(jìn)智能制造為主攻方向;《新一代人工智能產(chǎn)業(yè)規(guī)劃》將新一代人工智能提升到國家戰(zhàn)略高度,明確指出重點發(fā)展智能制造。在該規(guī)劃與《中國制造2025》的共同推進(jìn)下,我國制造業(yè)智能化、自動化升級將不斷深化??梢钥闯?,以柔性制造為特征的智能制造是我國從制造大國向制造強(qiáng)國轉(zhuǎn)變的突破口和必由之路[1-3]。
在傳統(tǒng)產(chǎn)品制造中采用機(jī)器視覺對工件外觀的檢測,將有利于發(fā)現(xiàn)生產(chǎn)過程的工藝問題、及時改進(jìn)生產(chǎn)工藝問題、提高產(chǎn)品質(zhì)量,有利于產(chǎn)品分類和分揀。文獻(xiàn)[4]提出一種由人工神經(jīng)網(wǎng)絡(luò)和模糊邏輯系統(tǒng)組成的復(fù)雜分類器,用于檢測焊接質(zhì)量,從而保證產(chǎn)品和結(jié)構(gòu)的安全開發(fā)。該分類器比普通神經(jīng)網(wǎng)絡(luò)分類器性能好和靈活性高;文獻(xiàn)[5]提出基于Fisher準(zhǔn)則的堆疊去噪自動編碼器(FCSDA)將織物有效地分類為無缺陷和缺陷類別。該方案在周期性圖案織物和更復(fù)雜的提花經(jīng)編織物的缺陷檢測中效果更顯著;文獻(xiàn)[6]提出基于機(jī)器學(xué)習(xí)和計算機(jī)視覺的自動化缺陷管理系統(tǒng),通過卷積神經(jīng)網(wǎng)絡(luò)分析產(chǎn)品的圖像并預(yù)測產(chǎn)品是否有缺陷。該算法可以檢測和量化瓷器產(chǎn)品中不同類型的缺陷??梢钥闯?,這些機(jī)器視覺算法能夠較好適應(yīng)傳統(tǒng)剛性產(chǎn)品外觀質(zhì)量檢測的需要。
隨著人工智能的發(fā)展,以柔性制造為特征的智能制造柔性生產(chǎn)線將代替剛性生產(chǎn)線,從而實現(xiàn)多品種小批量工件的生產(chǎn)[7-9];而傳統(tǒng)的機(jī)器視覺檢測算法是為了滿足剛性生產(chǎn)線產(chǎn)品檢測而設(shè)計的,因而很難滿足工件種類繁多,形態(tài)、特征各異表面缺陷的柔性檢測需要;為此,必須同時開展工件定位、分類和缺陷檢測等問題算法研究[10]。
眾所周知,經(jīng)典機(jī)器視覺檢測算法提取特征參數(shù)一直依靠人工經(jīng)驗確定;這種特征提取方式對于檢測目標(biāo)復(fù)雜、檢測目標(biāo)種類繁多往往難以滿足要求;如何從復(fù)雜、多特征、種類繁多目標(biāo)提取特征參數(shù)一直是研究熱點問題。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中一種基于對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。深度學(xué)習(xí)是用非監(jiān)督式或半監(jiān)督式的特征學(xué)習(xí)和分層特征提取高效算法來替代手工獲取特征。選取探索者機(jī)器人扁平工件作為研究對象,主要研究了采用深度學(xué)習(xí)機(jī)器視覺檢測在工件柔性檢測中的應(yīng)用。利用Yolo算法和Faster-RCNN算法構(gòu)建工件檢測的模型,如圖1所示。以解決工件分類、準(zhǔn)確率檢測及表面缺陷檢測等問題。
由于Yolo算法用于工件分類檢測時,其分類準(zhǔn)確,但檢測準(zhǔn)確率不高;Faster-RCNN算法用于工件表面缺陷的檢測,其檢測準(zhǔn)確率高,但對于類型相似的工件分類存在偏差。因而,采用檢測模型,如圖1所示。在面向工件柔性化檢測中還不能完全解決檢測中各種類型工件定位、分類和缺陷檢測等問題;為此,必須對其工件檢測的模型進(jìn)行優(yōu)化,以滿足工件柔性化檢測的需求。
圖1 工件檢測的模型圖Fig.1 Model Diagram of Workpiece Detection
在工件柔性化檢測過程中,需要解決關(guān)鍵技術(shù)有:(a)如何實現(xiàn)工件快速定位及分類;(b)如何實現(xiàn)工件特征提取與缺陷準(zhǔn)確檢測問題。
這里的工件檢測是Object-detection API 算法與Mask-RCNN 算法的結(jié)合,即API-MASK 算法。其中,Object-detection API算法是在YOLO算法的基礎(chǔ)上進(jìn)行優(yōu)化,通過人工標(biāo)注,解決工件定位的問題。Mask-RCNN算法是在Faster-RCNN算法的基礎(chǔ)上進(jìn)行優(yōu)化,解決工件分類、定位及工件表面缺陷檢測。
因此,將這兩種算法優(yōu)點結(jié)合起來,重新構(gòu)建新的模型,得到工件檢測優(yōu)化模型圖,如圖2所示??梢詫崿F(xiàn)多種類型工件的分類、定位以及表面缺陷檢測并行協(xié)同處理,從而實現(xiàn)工件柔性化檢測。
圖2 工件檢測的模型優(yōu)化圖Fig.2 Model Optimization Diagram for Workpiece Inspection
采用標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)絡(luò)(ResNet50 和ResNet101)作為特征提取器,如圖3所示。底層檢測的是低級特征(邊緣和角等),較高層檢測的是更高級的特征(缺陷、輪廓等特征)。經(jīng)過主干網(wǎng)絡(luò)的前向傳播,圖像從1024×1024×3(RGB)的張量被轉(zhuǎn)換成形狀為32×32×2048 的特征圖。該特征圖將作為下一個階段的輸入。
圖3 主干網(wǎng)絡(luò)示意圖Fig.3 Sketch of Backbone Network
3.2.1 區(qū)域建議網(wǎng)絡(luò)(RPN)
RPN屬于輕量級神經(jīng)網(wǎng)絡(luò),通過使用滑動窗口掃描圖像,來搜尋可能存在的目標(biāo)區(qū)域。RPN 掃描的區(qū)域上分布的矩形被稱為anchor,如圖4所示。
圖4 不同矩形框的anchorFig.4 Anchor of Different Rectangular Frame
RPN通過卷積過程產(chǎn)生滑動窗口,并不會直接掃描圖像,而是掃描主干特征圖,這樣允許RPN有效地重用提取的特征并避免重復(fù)計算,并且最終的區(qū)域建議將被傳遞到下一階段。其網(wǎng)絡(luò)結(jié)構(gòu)圖,如圖5所示。
圖5 RPN網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.5 Schematic Diagram of RPN Network Structure
3.2.2 ROI分類器和邊界框回歸器
ROI分類器以RPN理論為依據(jù),其結(jié)構(gòu)與RPN相似,都有兩個輸出,如圖6所示。其中ROI和RPN的目標(biāo)類別、邊框精調(diào)不同,盡管原理相似,但ROI可以深層次的區(qū)域劃分目標(biāo)類型,經(jīng)過精調(diào)邊框的位置和尺寸,達(dá)到目標(biāo)封裝的目的。
圖6 ROI分類器和邊界框回歸器示意圖Fig.6 ROI Classifier and Boundary Box Regenerator Diagram
3.2.3 分割掩碼
Faster-RCNN算法通過ROI分類器和邊界框回歸器的學(xué)習(xí),用于目標(biāo)檢測模型。而本文的優(yōu)化算法在Faster-RCNN模型的基礎(chǔ)上,增加了分割掩碼網(wǎng)絡(luò),使工件的輪廓信息更加凸顯。其掩碼過程,如圖7所示。
圖7 API-MASK算法的掩碼圖Fig.7 Mask Map of API-MASK Algorithm
API-MASK 算法中的掩碼是一個卷積網(wǎng)絡(luò),通過ROI分類器作為輸入,并生成掩碼。其生成的掩碼是低分辨率的:28×28像素。在訓(xùn)練中,將掩碼縮小為28×28 來計算損失函數(shù),而在推斷過程中,將預(yù)測的掩碼放大為ROI 邊界框的尺寸以給出最終的掩碼結(jié)果。
根據(jù)工件柔性化檢測優(yōu)化模型結(jié)構(gòu),設(shè)計工件柔性化檢測算法。本文的工件檢測API-MASK算法模型,通過同一個模型同時實現(xiàn)各類型工件定位、分類和缺陷檢測并行協(xié)同處理,實現(xiàn)工件柔性檢測的目標(biāo)。其工件檢測流程,如圖8所示。
圖8 工件檢測流程圖Fig.8 Workpiece Detection Flow Chart
首先,通過labelImg(圖像標(biāo)注工具)對圖像進(jìn)行標(biāo)注,得到工件的位置信息;然后,將標(biāo)注圖像送入圖像緩存區(qū),對圖像進(jìn)行分割,得到圖像可疑區(qū)域,看圖像可疑區(qū)域是否存在可疑目標(biāo)。其次,通過第一步,得到圖像可疑區(qū)域是否存在可疑目標(biāo),若存在可疑目標(biāo),將可疑目標(biāo)圖像送入可疑區(qū)域圖像緩存區(qū)進(jìn)行圖像缺陷判別;若不存在可疑目標(biāo),將圖像輸入檢測模塊,對輸入圖像直接進(jìn)行特征提取及工件分類檢測(工件種類檢測和工件識別準(zhǔn)確率檢測)。最后,通過第二步,得到可疑目標(biāo)缺陷圖像,若存在缺陷,對工件圖像進(jìn)行缺陷檢測,其中包括缺陷分類及缺陷識別準(zhǔn)確率檢測;若不存在缺陷,將圖像輸入檢測模塊,對輸入圖像直接進(jìn)行特征提取及工件分類檢測。
這里的面向工件柔性化檢測的實驗系統(tǒng)由CCD相機(jī)、光源、圖像采集卡、傳送帶以及計算機(jī)等組成。其總體配置如下:(1)CCD 相機(jī)型號及數(shù)量:AVT Prosilica GE1650C 型面陣CCD 相機(jī)(1臺);(2)光源型號及數(shù)量:LED環(huán)形光源(1臺);(3)圖像采集卡型號及數(shù)量:凌華科技的PCIe-GIE72/74(1套);(4)計算機(jī)型號及數(shù)量:一臺(英特爾(Intel):酷睿i9 9900k 處理器;NVIDIA 芯片:RTX2080;內(nèi)存8G);(5)傳送帶:一套(步進(jìn)電機(jī)、傳感器、皮帶及滾筒)。
分別采集編號從(A)-(H)的9種探索者機(jī)器人扁平工件進(jìn)行測試,包含單目標(biāo)圖像、多目標(biāo)圖像和缺陷圖像,如圖9所示。
圖9 測試工件圖像Fig.9 Test Workpiece Image
人工標(biāo)注是深度學(xué)習(xí)目標(biāo)檢測的基礎(chǔ)環(huán)節(jié),通過人工標(biāo)注以后,機(jī)器視覺檢測才能知道圖像中目標(biāo)的位置,如圖10所示。通過深度學(xué)習(xí)算法,將人工標(biāo)注的圖像進(jìn)行處理,得到目標(biāo)的坐標(biāo)位置信息,如表1所示。對進(jìn)一步檢測目標(biāo)種類及目標(biāo)準(zhǔn)確率提供依據(jù)。
圖10 人工標(biāo)注工件示意圖Fig.10 ManualLabeling of Workpiece Sketch
表1 工件位置所對應(yīng)的坐標(biāo)信息(單位:像素)Tab.1 Coordinate Information Corresponding to Workpiece Position(unit:pixel)
表中:xmin、ymin、xmax、ymax—工件寬度、高度的最大值和最小值,如圖11所示。
圖11 工件的坐標(biāo)示意圖Fig.11 The Coordinate Sketch of the Workpiece
這里的研究對象為探索者機(jī)器人的結(jié)構(gòu)件,該結(jié)構(gòu)件主要包括金屬結(jié)構(gòu)件、塑料結(jié)構(gòu)件和其他工件。主要針對探索者機(jī)器人扁平工件進(jìn)行圖像采集,將待測工件送入檢測系統(tǒng)中,每采集一張圖像利用計算機(jī)進(jìn)行實時在線檢測。
采集圖像分為測試數(shù)據(jù)集和實驗數(shù)據(jù)集,其中測試圖像為671張,實驗圖像為386張,其檢測結(jié)果,如圖12所示。將測試圖像進(jìn)行工件種類分類檢測,其分類準(zhǔn)確率,如表2所示。
表2 不同算法的圖像種類分類準(zhǔn)確率對比Tab.2 Comparison of Classification Accuracy of Image Types Based on Different Algorithms
圖12 不同算法的工件檢測結(jié)果Fig.12 Workpiece Detection Results Based on Different Algorithms
其中,YOLO算法主要針對無缺陷的扁平工件進(jìn)行分類和檢測工件準(zhǔn)確率;Faster-RCNN算法主要針對有缺陷的扁平工件進(jìn)行缺陷分類和檢測缺陷準(zhǔn)確率;這里的API-MASK算法既可以對無缺陷的扁平工件進(jìn)行分類和檢測工件準(zhǔn)確率,又可以對有缺陷的扁平工件進(jìn)行缺陷分類和檢測缺陷準(zhǔn)確率。
從表2可得,對于無缺陷圖像的分類,YOLO 算法分類準(zhǔn)確率為100%,因為該算法在分類前都對圖像進(jìn)行人工標(biāo)注,所以分類準(zhǔn)確率較高;對于有缺陷圖像的分類,F(xiàn)aster-RCNN 算法分類準(zhǔn)確率為93.3%,因為該算法在缺陷特征提取過程中,對于工件缺陷分類存在偏差,導(dǎo)致缺陷分類準(zhǔn)確率有所下降。
而這里算法對于無缺陷圖像和有缺陷圖像的分類準(zhǔn)確率均為100%,因為該算法在輸入測試集圖像前,首先對圖像進(jìn)行人工標(biāo)注,然后在特征提取中采用特征金字塔網(wǎng)絡(luò)(FPN)主干網(wǎng)絡(luò)和殘差網(wǎng)絡(luò)(residual network,ResNet),通過此過程,它允許每個級的特征與高級、低級特征互結(jié)合,可以加深網(wǎng)絡(luò)分層,提高了特征提取能力。因此,這里算法的圖像分類準(zhǔn)確率最高。
為了進(jìn)一步驗證這里算法適應(yīng)性[17],在不同的光照條件和噪聲類型條件下,分別對扁平工件實驗圖像采用這里API-MASK算法,YOLO算法及Faster-RCNN算法進(jìn)行對比實驗結(jié)果,如表3所示。
表3 不同影響因素下工件的缺陷檢測準(zhǔn)確率對比實驗Tab.3 Contrast Experiment of Defect Detection Accuracy of Workpiece Under Different Influence Factors
從表3可以得到,光照變化條件各種算法工件檢測都能進(jìn)行準(zhǔn)確檢測。
這是因為YOLO 算法和API-MASK 算法都采用了人工標(biāo)注,而Faster-RCNN 算法將RPN 網(wǎng)絡(luò)用于提取候區(qū)域,使用RoIPool對候選區(qū)域提取特征進(jìn)行類別分類和坐標(biāo)回歸,提高檢測精度。
YOLO算法對噪聲沒有反應(yīng),可能因為YOLO算法只采用了一個卷積層對缺陷不太敏感。而噪聲對Faster-RCNN 算法和API-MASK算法有不同程度的影響。
在不同類型噪聲影響下,F(xiàn)aster-RCNN 算法工件缺陷檢測準(zhǔn)確率在(73~85)%之間,檢測準(zhǔn)確率較低,主要原因可能是該方法對噪聲比較敏感;
而這里API-MASK 算法的缺陷檢測準(zhǔn)確率在(91~96)%之間,遠(yuǎn)高于Faster-RCNN算法的缺陷檢測準(zhǔn)確率,主要原因在于這里API-MASK算法的網(wǎng)絡(luò)優(yōu)化結(jié)構(gòu),結(jié)合了兩種算法的優(yōu)點,能有效提高工件檢測區(qū)域的顯著度,同時可以有效提高工件的輪廓信息。
試驗分析表明這里提出的算法解決了多種扁平工件的分類檢測、定位以及表面缺陷檢測,具有較高的檢測準(zhǔn)確率;同時,在不同的檢測條件下,具有較好的適應(yīng)性。
為了滿足智能制造中的同時進(jìn)行工件分類、定位以及缺陷集成化檢測的需要,這里構(gòu)建了工件檢測的網(wǎng)絡(luò)結(jié)構(gòu)并進(jìn)行優(yōu)化;在此基礎(chǔ)上,將Object-detection API 和Mask-RCNN 的優(yōu)點進(jìn)行結(jié)合,進(jìn)行設(shè)計API-MASK算法用于工件檢測;
采用Google 的深度學(xué)習(xí)框架tensorflow 對輸入數(shù)據(jù)進(jìn)行逐層分析、學(xué)習(xí),將學(xué)習(xí)得到的高層特征用于工件的分類、特征提取以及表面缺陷的檢測。
由于采用Object-detection API 能夠有效實現(xiàn)工件的分類、定位,采用Mask-RCNN能夠有效實現(xiàn)工件缺陷檢測;
因而,這里API-MASK算法能夠準(zhǔn)確進(jìn)行工件的分類、定位以及表面缺陷檢測,同時具有較好的適應(yīng)性。