工業(yè)場景中缺陷檢測的算法探討
工業(yè)現(xiàn)場的產品缺陷檢測,一項重要的不可缺少的環(huán)節(jié),除了通過儀器儀表做的檢測,還有很多情況下,同時視覺檢測產品的缺陷和瑕疵. 這個時候,計算機視覺的人工智能技術就可以發(fā)揮它的作用,替代或者輔助人員做產品的質檢,實現(xiàn)無人化,高速檢測,高精度檢測的任務.
我們正在做這方面的技術研究和探索,下一步將開展通用產品的缺陷檢測的算法和產品的研發(fā)和測試.0.png
1.jpg
0.序篇
工業(yè)現(xiàn)場的品控管理中,缺陷檢測是重要一環(huán),傳統(tǒng)的缺陷檢測存在如下問題:
- 缺陷檢測環(huán)節(jié)依賴人工完成,需要耗費大量的人力和物力.
- 人工檢測存在人為的檢測失誤,會隨著勞動強度和人員的狀態(tài)改變,存在很多不確定性.
- 人工檢測的精度和準確度無法和機器檢測相提并論.
- 速度上和工作強度上,人工無法和機器相比.
所以說,在工業(yè)場景中,生產技術密集型企業(yè),連續(xù)生產產線上等場合,通過增加機器視覺的缺陷檢測環(huán)節(jié),可以大幅減少人工,提升品控效率,提高生產率和良品率,最終增加產品附加值.
相比于目前人工智能在其他一些領域的應用,在工業(yè)現(xiàn)場的基于計算機視覺的缺陷檢測,瑕疵檢測的人工智能技術應用,更加接地氣,更加能直接給企業(yè)帶來價值.
||
|
|
1.探索
下面我針對工業(yè)現(xiàn)場的不同場景,基于算法的角度,做一下缺陷檢測的探索工作.
- A fast and robust convolutional neural network-based defect detection model in product quality control
檢測對象:適合于目標對象為平面的表面缺陷檢測:如布匹缺陷,金屬表面缺陷,產品外表面的缺陷和瑕疵檢測等.
主要通過對輸入圖像進行切片子刮,然后把切片圖像送入深度學習網(wǎng)絡中做判斷威酒,做圖像分類訓練窑睁。在推理時,通過滑窗檢測方式進行逐位置識別葵孤。
優(yōu)缺點:
1担钮、 由于使用分類方式,準確率較為高
2尤仍、 由于滑窗遍歷箫津,速度慢
-
Automatic Defect Detection of Fasteners on the Catenary Support Device Using Deep Convolutional Neural Network(基于深度卷積網(wǎng)絡的接觸網(wǎng)支架緊固件缺陷自動檢測)
檢測對象:適合復雜外形的支架和關鍵固件和連接件的缺陷檢測,比如:高壓輸電線路的巡檢,大型器械的連接件的檢測等等.
算法采用方式為Object Detection的方法做目標檢測,針對小目標的準確檢測,采用了三步檢測的方法.
b2.jpg
第一階段:定位主要結構件位置,采用SSD作為檢測網(wǎng)絡,先做第一步的定位檢測.
b3.jpg第二階段:對第一階段檢測出的各個結構圖像中的緊固件做檢測宰啦,也是采用Object Detection方式 比如 yolo,進行目標檢測和識別苏遥。
b4.jpg第三階段:在第二階段的基礎上,對檢測圖像進行crop绑莺,將其送到分類網(wǎng)絡進行分類暖眼,看是否缺少緊固件。

-
Automatic Fabric Defect Detection with a Multi-Scale Convolutional Denoising Autoencoder Network Model(基于多尺度卷積消噪自編碼網(wǎng)絡模型的織物疵點自動檢測)
檢測對象:紡織物和布匹的瑕疵點檢測纺裁。
主要思想:織物疵點檢測是紡織制造業(yè)質量控制中必不可少的環(huán)節(jié)诫肠。傳統(tǒng)的織物檢測通常采用人工視覺的方法進行,效率低欺缘,長期工業(yè)應用精度差栋豫。論文提出使用高斯金字塔結合語義分割的方式來重建缺陷,推理階段通過結合多尺度結果谚殊,完成融合丧鸯。這種方法在織物疵點檢測中有幾個突出的優(yōu)點。首先嫩絮,只需少量的無缺陷樣本就可以進行訓練丛肢。這對于收集大量有缺陷樣品困難且不可行的情況尤其重要。其次剿干,由于采用了多模態(tài)積分策略蜂怎,與一般的檢測方法相比,該方法具有更高的魯棒性和準確性置尔。第三杠步,根據(jù)我們的結果,它可以處理多種類型的紡織面料榜轿,從簡單到復雜幽歼。實驗結果表明,該模型具有較強的魯棒性和良好的整體性能谬盐。
模型結構:
c1.jpg
c2.jpg
檢測結果:
c3.jpg
c4.jpg
c5.jpgd1.jpg
- Automatic Metallic Surface Defect Detection and Recognition with Convolutional Neural Networks
檢測對象:金屬表面缺陷檢測
主要思想: 用一種能準確定位和分類從實際工業(yè)環(huán)境中獲取的輸入圖像中出現(xiàn)的缺陷的雙重過程來自動檢測金屬缺陷甸私。設計了一種新的級聯(lián)自動編碼器(CASAE)結構,用于缺陷的分割和定位飞傀。級聯(lián)網(wǎng)絡將輸入的缺陷圖像轉化為基于語義分割的像素級預測掩模颠蕴。利用壓縮卷積神經網(wǎng)絡(CNN)將分割結果的缺陷區(qū)域劃分為特定的類泣刹。利用工業(yè)數(shù)據(jù)集可以成功地檢測出各種條件下的金屬缺陷。實驗結果表明犀被,該方法滿足金屬缺陷檢測的穩(wěn)健性和準確性要求椅您。同時,它也可以擴展到其他檢測應用中寡键。
其實還是使用語義分割網(wǎng)絡先定位像素級別的缺陷位置掀泳,然后通過分類網(wǎng)絡對缺陷進行識別。
d1.jpg
d2.jpg
實驗結果:
d3.jpg
-
A Surface Defect Detection Method Based on Positive Samples
檢測對象:密集織物
主要思想:本文提出了一種新的基于正樣本訓練的缺陷檢測框架西轩≡倍妫基本檢測的概念是建立一個重建網(wǎng)絡,它可以修復樣本中存在的缺陷區(qū)域藕畔,然后對輸入樣本與恢復樣本進行比較马僻,以指示缺陷區(qū)域的準確。結合GAN和自動編碼器進行缺陷圖像重建注服,利用LBP進行圖像局部對比度檢測缺陷韭邓。在算法的訓練過程中,只需要正樣本溶弟,不需要缺陷樣本和人工標注女淑。
e1.jpge3.jpg在訓練階段,x是從訓練集中隨機拍攝的隨機照片辜御。C(x~| x)是一個人工缺陷模塊鸭你。它的功能是自動生成損壞的、有缺陷的樣本擒权,x~是它的輸出袱巨。EN和DE構成一個自動編碼器,EN是一個編碼器碳抄,DE是一個解碼器愉老,整個自動編碼器在G an模型中可以看作是一個生成器。G的任務是修復有缺陷的圖片纳鼎。D是一個鑒別器,D的輸出是它的鑒別器是真正樣本的概率裳凸。
在測試階段贱鄙,我們將測試圖像x輸入到自動編碼器G中,得到恢復圖像y姨谷,然后使用LBP算法提取x和y的特征逗宁,并比較x的每個像素的特征,其中x和y的特征差異較大梦湘,即缺陷瞎颗。
實驗結果:
e4.jpg
通過GAN的方式來進行缺陷檢測和重建一直是個熱點方向件甥,而且效果比較好,本文的思路算是比較新穎哼拔,值得借鑒引有。
- Segmentation-based deep-learning approach for surface-defect detection
檢測對象:表面缺陷檢測、裂紋檢測(金屬)
主要思想:本文主要采用了兩個網(wǎng)絡倦逐,一個是判別網(wǎng)絡譬正,一個是分割網(wǎng)絡。分割網(wǎng)絡主要完成缺陷的分割檬姥,而判別網(wǎng)絡在此基礎上對缺陷作進一步分類曾我。
f1.jpg
f2.jpg
算法很新穎,實驗結果也還不錯:
f3.jpg
- SDD-CNN: Small Data-Driven Convolution Neural Networks for Subtle Roller Defect Inspection(小數(shù)據(jù)驅動卷積神經網(wǎng)絡在軋輥微小缺陷檢測中的應用)
檢測對象:軋輥微小缺陷檢查
主要思想:滾柱軸承是旋轉機械中最關鍵健民、應用最廣泛的部件之一抒巢。外觀缺陷檢測是軸承質量控制的關鍵。然而秉犹,在實際工業(yè)中蛉谜,軸承缺陷往往是極其細微的,并且發(fā)生的概率很低凤优。這就導致了正負樣本數(shù)量的分布差異悦陋,使得依靠數(shù)據(jù)驅動的檢測方法難以開發(fā)和部署。本文提出了一種用于軋輥微小缺陷檢測的小數(shù)據(jù)驅動卷積神經網(wǎng)絡(SDD-CNN)一種用于小數(shù)據(jù)預處理的集成方法筑辨。首先俺驶,應用標簽膨脹(LD)來解決類分布不平衡的問題。其次棍辕,提出了一種半監(jiān)督數(shù)據(jù)增廣(SSDA)方法暮现,以更有效和可控的方式擴展數(shù)據(jù)集。該方法通過訓練一個粗糙的CNN模型來生成地面真值類激活楚昭,并指導圖像的隨機裁剪栖袋。第三,介紹了CNN模型的四種變體抚太,即SqueezeNet v1, Inception v3,VGG-16, and ResNet-18塘幅,并將其用于軋輥表面缺陷的檢測和分類。最后尿贫,進行了一系列豐富的實驗和評估电媳,表明SDD-CNN模型,特別是SDD Inception v3模型庆亡,在滾筒缺陷分類任務中執(zhí)行得非常好匾乓,top-1精度達到99.56%。此外又谋,與原始CNN模型相比拼缝,SDD-CNN模型的收斂時間和分類精度都有顯著提高娱局。
網(wǎng)絡結構:
實驗結果:
g2.jpg
2.布局
針對以上的論文中的算法,我們不難發(fā)現(xiàn)一些不錯的思路和方法:
采用目標檢測定位缺陷部位
采用圖像分類區(qū)分缺陷類型
采用非監(jiān)督學習(自編碼和GAN的算法)實現(xiàn)少量負樣本,或者都是正樣本的情況下的訓練和檢測
-
采用多模型串聯(lián)耦合模式增強模型的精度
等等...
但是我們也會發(fā)現(xiàn)一些不足:
- 依賴預先的設計的模型
- 依賴事先采集的數(shù)據(jù)集訓練
- 模型的優(yōu)化依賴設計者
這對以上問題,我們大膽假設,提出以下思路:
采用串聯(lián)模型,多模型耦合建模
使用孿生網(wǎng)絡做正樣本的模型
少量正樣本即可訓練
使用孿生網(wǎng)絡甄別負樣本
使用動態(tài)的自學習網(wǎng)絡模型,動態(tài)學習,可以在產線上不斷完善模型權重,更新模型
配合人工判別,增強線上學習的能力
3.實驗
我們使用英偉達的入門級AI開發(fā)板 jetson nano,搭建運行模型,并作為邊緣計算的AI設備.
4.產品
(先占位... ) 我們在jetson nano上做的產品和演示:
5.未來
(先占位... )