張博 周軍 王芳 韓森
摘 要:為快速有效地檢測與識別觸摸屏玻璃疵病,提出了一種基于Mask R-CNN技術(shù)的檢測與識別方法。Mask R-CNN是Faster R-CNN技術(shù)的擴展,其在邊界框識別的現(xiàn)有分支上添加一個并行的用于預(yù)測對象掩膜的分支,是基于R-CNN系列、FPN、FCIS等工作之上的一種技術(shù),相對于傳統(tǒng)的目標檢測和分割算法有很大提升。使用暗場散射成像、多圖片堆棧等方法采集數(shù)據(jù)樣本,同時采用幾何變換方法擴增樣本庫。為提升訓(xùn)練速率和檢測精確率,根據(jù)訓(xùn)練樣本差異性,通過測試不同的VGG16、ResNet50+FPN以及ResNet101+FPN主干網(wǎng)絡(luò)提取圖像特征。實驗表明,ResNet50+FPN的識別精確率較高,達到96.7%。基于Mask R-CNN的檢測與識別方法不僅能對疵病快速檢測與識別,還能提高識別精確率。
關(guān)鍵詞:Mask R-CNN;疵病檢測;暗場散射;多圖片堆棧;觸摸屏玻璃
DOI:10. 11907/rjdk. 181934
中圖分類號:TP319文獻標識碼:A文章編號:1672-7800(2019)002-0064-04
Abstract:In order to detect and identify glass defects on the touch screen quickly and effectively,a screen glass defect detection and identification method based on Mask R-CNN technology is proposed. Mask R-CNN is Faster R-CNN technical extension, on the existing branches of applied to identify boundary box a parallel branch is added to predict object mask based on R-CNN series, FPN, FCIS. Compared with traditional target detection and segmentation algorithm, the algorithm has been greatly improved. This paper uses dark field scattering imaging, multiple image stacks and other methods to collect data samples, and uses geometric transformation methods to expand the sample library. In order to improve the training rate and detection accuracy, according to the differences of the training sample, this paper tests different backbone networks of VGG16, ResNet50+FPN, ResNet101+FPN to extract the image features, and finds that the recognition accuracy is higher and the accurate rate reaches 96.7%. As result, the detection and recognition method based on Mask R-CNN can not only detect and identify defects quickly and effectively, but also improve the recognition accuracy rate.
Key Words: Mask R-CNN; disease identification; dark field scattering; multiple image stack; thouch screen
0 引言
智能手機、平板電腦的普及,觸摸屏玻璃產(chǎn)量大增。觸摸屏玻璃質(zhì)量要求很高,人工檢測玻璃表面缺陷(如斑點、異物、裂紋和劃痕)很困難。目前世界各國表面疵病檢測標準依據(jù)主要有兩個:疵病面積等級及疵病可見度等級,所以針對疵病檢測的方法也主要基于疵病散射光的特性對疵病面積以及疵病可見度進行測量。基于可見度的檢測方法就是在一定的光照條件下通過人眼對玻璃樣品進行觀察,該方法簡單但效率低,而且隨著工作時長的增加,大腦和眼睛的負擔隨之加重,導(dǎo)致誤檢率增高。對疵病面積的檢測主要通過成像法或能量法檢測,成像法包括目視法以及濾波成像法等,能量法則利用角度積分探測器獲取待測元件散射光能量,對應(yīng)求出疵病面積。其中成像法系統(tǒng)結(jié)構(gòu)簡單,但檢測精度低,易受雜散光影響。能量法對檢測區(qū)域的疵病面積等級檢測較精確,但無法獲取表面疵病的數(shù)量、位置信息與外形特征,孫佳明[1]的論文對此進行了介紹。目前傳統(tǒng)的識別方法是通過圖像灰度分布情況,采用圖像增強技術(shù)如濾波、邊緣檢測、腐蝕膨脹、噪聲抑制等方法實現(xiàn)玻璃缺陷的檢測與識別[2],這些傳統(tǒng)方法主要問題有:特征提取的魯棒性較差,不能反映光照的變化、背景多樣化等;區(qū)域選擇沒有針對性,時間復(fù)雜度高、窗口冗余。目標檢測是計算機視覺和模式識別的重要研究方向,深度學(xué)習(xí)作為機器學(xué)習(xí)的新領(lǐng)域,其特點是能自動學(xué)習(xí)到有效特征。本文通過使用暗場散射成像、多圖片堆棧等方法采集數(shù)據(jù)樣本,結(jié)合Mask R-CNN技術(shù)對疵病進行檢測與識別。該方法大大減少了復(fù)雜的人工提取特征過程,對多樣性疵病種類特征實現(xiàn)自動提取,大大提高了疵病檢測精度。
Mask R-CNN[3]是一個小巧、靈活的通用對象實例分割框架,它不僅可對圖像中的目標進行檢測,還能對每個目標給出一個高質(zhì)量的分割結(jié)果。本文主要針對斑點、劃痕、崩邊、污點等疵病進行識別檢測,暫不考慮其它疵病類型。
1 網(wǎng)絡(luò)結(jié)構(gòu)模型
1.1 Faster R-CNN
Faster R-CNN[4]是Fast R-CNN[5]的改進,針對Fast R-CNN 的一些不足,如使用Selective Search提取RP(region proposal)(耗時2-3s,而特征提取僅僅耗時0.32s)無法滿足實時應(yīng)用,無法實現(xiàn)端到端訓(xùn)練和測試等。雖然利用了GPU,但是RP方法是在CPU上完成的。Faster R-CNN可簡單看作“區(qū)域生成網(wǎng)絡(luò)(RPN)+Fast R-CNN”系統(tǒng),其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。Faster R-CNN使用VGG16Net[6]特征提取,相對于LeNet[7]和AlexNet[8]有著深度更深、特征提取效果更好等特點。
區(qū)域建議網(wǎng)絡(luò)(RPN)是Faster R-CNN的一大亮點,它是一個全卷積網(wǎng)絡(luò),特點是可利用GPU生成高質(zhì)量高速率的建議框,它和檢測的網(wǎng)絡(luò)共享全圖卷積特征,最大的特點是用區(qū)域生成網(wǎng)絡(luò)代替Fast R-CNN中的Selective Search方法,大大提升了檢測速率。區(qū)域生成網(wǎng)絡(luò)如圖2所示。
在區(qū)域建議網(wǎng)絡(luò)(RPN中)設(shè)置了3×3的滑窗,其中心點位置對應(yīng)預(yù)測輸入圖像的3種尺度,即3種長寬比的RP(1∶1,1∶2,2∶1),這種映射機制稱為anchor,產(chǎn)生k個anchor(一般我們?nèi)=9),每個3×3區(qū)域可產(chǎn)生9個RP,后面連接到兩個全連接層,即cls layer和reg layer,分別用來分類和邊框回歸。cls layer包含兩個元素,用來判別目標和非目標,而reg layer 包含4個坐標元素(x,y,w,h),用來找到目標位置,最后根據(jù)RP的得分高低選取前300個RP作為Fast R-CNN輸入目標進行檢測。
1.2 Mask R-CNN
Mask R-CNN與Faster R-CNN很相似,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
Mask R-CNN在Faster R-CNN基礎(chǔ)上的主要改進如下:
(1)添加Mask層。Faster R-CNN 中每個候選對象有兩個輸出:Box Regression和Classification。Kaiming He等在每個候選對象上添加了第3個分支,即輸出Object Mask,從而得到Mask R-CNN。值得注意的是在Mask R-CNN中,F(xiàn)aster R-CNN中的CNN特征頂部添加一個完全卷積網(wǎng)絡(luò)(FCN)用來生成掩碼(分割輸出)。
(2)提出RoIAlign層,重新對齊RoIPool。RoIPool是針對每個RoI提取一個小尺度特征圖(比如 7x7)的標準操作,用來解決不同尺度的RoI提取成相同尺度的特征大小問題。RoIPool首先將浮點數(shù)值的RoI量化成離散顆粒的特征圖,然后將量化的RoI分成幾個空間小塊,對每個小塊進行Max Pooling操作生成最后結(jié)果。例如當特征圖的步長為16時,通過計算[x/16]在連續(xù)坐標x上進行量化,[。]表示四舍五入。這些量化引入了RoI與提取到的特征不對準問題。由于分類問題對平移問題比較魯棒,所以影響較小,但是這在預(yù)測像素級精度的掩模時會產(chǎn)生非常大的負面影響。提出RoIAlign層解決這個問題,將提取到的特征與輸入對齊,避免對RoI的邊界或塊作任何量化,例如直接使用x/16代替[x/16]。使用雙線性插值在每個RoI塊中4個采樣位置上計算輸入特征的精確值,并將結(jié)果聚合(使用max或者average)。
(3)重新定義ROI損失函數(shù)。依舊采用多任務(wù)損失函數(shù),針對每個RoI定義為:
2 疵病訓(xùn)練樣本庫建立
2.1 疵病樣本圖像采集
本文采用暗視場散射[9-10]方法采集圖像。反射集光鏡反射的光線投射在被測玻璃上,因其傾斜角度極大,由玻璃上反射的光線仍以極大的傾斜角度向反方向反射,不可能進入物鏡,所以在目鏡筒內(nèi)只能看到漆黑一片。只有被測面凹洼之處才能有光射進物鏡,玻璃面上的凹洼之處以亮白影像襯映在漆黑的視域內(nèi),稱為“暗視場”(暗場)照明,如圖4(a)所示。
暗場散射優(yōu)點:①入射光束傾斜角度極大,使物鏡的有效數(shù)值孔徑隨之增大,提高了物鏡的鑒別能力;②入射光不進入物鏡,顯著減少了由于光線多次通過玻璃-空氣界面形成的反射光與散射光,從而提高了最終影像的襯度;③消除了試樣拋光表面強烈反射光的干擾。
由于不同方向、不同角度的平行光打在待測面上會檢測出不同的疵病信息,因此在采集裝置上作了一些改動,即用不同方向、不同角度的平行光打在待測面上,得到該待測面的不同疵病信息暗場圖片。因為相機的位置是固定不變的,所以為檢測到更完整的疵病圖像[11-13],可將不同方向不同角度拍攝的圖片堆棧到一幅圖上,這樣堆棧圖就包含了所有方向和角度的疵病[14-21]信息,經(jīng)過灰度化處理后再進行檢測和識別,改進如圖4(b)所示。
2.2 疵病樣本數(shù)據(jù)準備
本文人工標注了常見的4種玻璃缺陷類型圖像800×600共300張。深度學(xué)習(xí)訓(xùn)練模型識別準確率依賴大量樣本,但沒有公共數(shù)據(jù)集,人工采集和標注需要大量的時間成本。為彌補訓(xùn)練樣本數(shù)量的不足,本文通過對原有訓(xùn)練樣本進行幾何變換擴充樣本,例如旋轉(zhuǎn)90度、鏡像、平移等,最終擴充為1 200張,其中訓(xùn)練集為1 000張,200張為測試集。
標注圖像如圖5所示。使用標注工具生成的label會保存為json文件,所以還需將該文件解析出mask并生成掩碼標簽,生成的標簽label.png為16位存儲,而OPENCV默認讀取8位,所以還需將16位轉(zhuǎn)換成8位。
3 實驗與分析
3.1 模型訓(xùn)練
模型訓(xùn)練和測試流程如圖6所示。模型訓(xùn)練階段主要進行數(shù)據(jù)預(yù)處理、超參數(shù)調(diào)優(yōu)、更換不同的主干網(wǎng)絡(luò)等工作;模型測試階段主要利用測試圖片對訓(xùn)練所得的模型進行有效性檢驗。
訓(xùn)練Mask R-CNN使用的數(shù)據(jù)集為CoCo,大約有??? 80 000張圖片,81個類別,而本實驗訓(xùn)練數(shù)據(jù)集為筆者采集、標注,經(jīng)過樣本擴增有1 200張圖片,4個類別,背景較為簡潔單一。相對于CoCo數(shù)據(jù)集,本文的數(shù)據(jù)集較小,所以在特征提取階段,考慮到不同網(wǎng)絡(luò)對實驗結(jié)果的影響較大,所以本文測試3種特征提取網(wǎng)絡(luò):VGG16Net、ResNet50+FPN、ResNet101+FPN。
實驗環(huán)境:GPU:1080ti、8G內(nèi)存,Ubuntu16.04、Python=3.4、TensorFlow=1.3.0、Keras=2.0.8的實驗環(huán)境,配置Mask R-CNN,訓(xùn)練40 000次,所對應(yīng)的損失變化如圖7所示。
3.2 結(jié)果分析
為評估Mask R-CNN在檢測疵病問題時的有效性,本文使用召回率R=(TP)/(TP+FP)和精確率P=(TP)/(TP+FN)衡量模型性能。其中200張圖片中含有不同的疵病數(shù)共1191個,測試結(jié)果如表1所示。
實驗對比發(fā)現(xiàn),ResNet101+FPN有著更高的召回率,ResNet50+FPN有著更好的精確率,但是召回率和ResNet101+FPN相差不多,而VGG16Net的召回率和精確率較低。使用ResNet50+FPN為主干網(wǎng)絡(luò)檢測效果如圖8所示,圖中目標疵病處顯示的是該目標的類別名和置信度,使用字母A、B、C、D代替斑點、劃痕、崩邊、污點等類別,掩膜和框圖相對完整,能夠檢測圖中各種尺寸、形狀的疵病目標。
4 結(jié)語
本文以Mask R-CNN為基礎(chǔ)模型,利用暗場散射、多圖片堆棧的方法獲取樣本數(shù)據(jù), 然后進行處理、標注、樣本擴增。接著用該數(shù)據(jù)集對基礎(chǔ)模型進行訓(xùn)練,合理調(diào)節(jié)參數(shù),并對比3種不同的主干網(wǎng)絡(luò),結(jié)果表明:ResNet50+FPN的主干網(wǎng)絡(luò)檢測效果較好,精確率高,相對于傳統(tǒng)方法具有良好的魯棒性。但是實驗也存在很多不足,如樣本量少,沒能實現(xiàn)更多的疵病種類識別,沒有對比更多的主干網(wǎng)絡(luò),功能過少,沒能實現(xiàn)疵病面積、周長、坐標等信息的獲取等,這些有待在后續(xù)工作中進一步改進。
參考文獻:
[1] 孫佳明. 激光陀螺反射鏡基片表面疵病暗場散射顯微檢測系統(tǒng)研究[D]. 南京:南京理工大學(xué),2015.
[2] 羅菁,董婷婷,宋丹,等.? 表面缺陷檢測綜述[J].? 計算機科學(xué)與探索,2014(9):1041-1048.
[3] HE K,GKIOXARI G,DOLLáR P,et al. Mask R-CNN[C]. IEEE International Conference on Computer Vision. IEEE,2017:2980-2988.
[4] REN S,HE K,GIRSHICK R,et al. Faster R-CNN:towards real-time object detection with region proposal networks[C]. International Conference on Neural Information Processing Systems. MIT Press, 2015:91-99.
[5] GIRSHICK R. Fast R-CNN[C]. IEEE International Conference on Computer Vision, 2015:1440-1448.
[6] SIMON YAN K,ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint, 2014(1): 1409-1556.
[7] HAYKIN S,KOSKO B. Gradient based learning applied to document recognition[M]. Hoboken:Wiley-IEEE Press,2009: 306-351.
[8] KRIZHEVSKY A,SUTSKEVER I,HINTON G E. ImageNet classification with deep convolutional neural networks[C]. Proceedings of the 25th International Conference on Neural Information Processing Systems,2012: 1097-1105.
[9] 張晉寬,李攀,劉耀紅,等. 極低散射光學(xué)表面微觀形貌評價技術(shù)研究[J]. 航空精密制造技術(shù),2013 (3):1003-5451.
[10] XIE X H. A review of recent advances in surface defect detection using texture analysis techniques[J]. Electronic Letters on Computer Vision and Image Analysis,2008,7(3):1-22.
[11] ZHOU W J,F(xiàn)EI M U,ZHOU H Y,et al. A sparse repre sentation based fast detection method for surface defect detection of bottle caps[J].? Neurocomputing.2014(123):406-414.
[12] ZHAO J,PENG Y K, DHAKAL S,et al. On-line detectior of apple surface defect based on image processing method[J]. Transactions of the Chinese Society for Agricultural Machinery,2013,44(1):260-263.
[13] SUN X C,JIANG X N,F(xiàn)U Y,et al. Surface detection system for camshaft based on computer vision[J]. Infrare and Laser Engineering.2013,42(6):1648-1653.
[14] 陳璐. 光學(xué)系統(tǒng)中光學(xué)零件表面疵病測試系統(tǒng)研究[D]. 長春:長春理工大學(xué),2013.
[15] 果寶智. 光學(xué)零件表面疵病的標識[J]. 激光與紅外,2000(9):46-49.
[16] 戴名奎,徐德衍. 光學(xué)元件的疵病檢驗與研究現(xiàn)狀[J].? 激光與紅外,2001(18):3-4.
[17] 王甲甲. ?掃描式手機屏疵病檢測儀信號處理技術(shù)研究[D]. 西安: 西安工業(yè)大學(xué),2016.
[18] 呂劍維. 基于積分散射理論的光學(xué)疵病快速檢測方法[J]. 價值工程,2016 (11):169-173.
[19] 朱聰. 光學(xué)鏡片表面疵病檢測算法研究[D].? 成都:西南交通大學(xué),2014.
[20] 朱聰,于廣婷,李柏林,等. 一種新的精密光學(xué)鏡片表面疵病寬度測量方法[J]. ?計算機應(yīng)用與軟件,2014 (12):63-68.
[21] 劉旭. 光學(xué)元件表面疵病檢測掃描拼接的誤差分析[D].? 杭州:浙江大學(xué),2008.
(責任編輯:杜能鋼)