那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于深度學習模型融合的產品工藝缺陷檢測算法簡述

新機器視覺 ? 來源:新機器視覺 ? 2023-07-06 14:49 ? 次閱讀

基于深度學習模型融合的工業(yè)產品(零部件)工藝缺陷檢測算法簡述

1、序言

隨著信息智能化社會的到來,工業(yè)產品生產逐漸走向智能化生產,極大地提高了生產力。但是隨著工人大規(guī)模解放,產品或零部件的缺陷檢測,一直不能實現(xiàn)自動檢測。深度學習技術的出現(xiàn),為這一領域帶來了曙光,其高精度、高效率、升級維護簡單等特點,使之在這一領域應用越來越廣。

說明:由于工作原因,不能開放相關源碼。實際情況是,大部分源碼都是修改而來,功底好一些的同學,可以自行實現(xiàn)。我講的很清楚了,希望自己實現(xiàn),拿來主義永遠學不會。最后,文中參考了很多文章和論文,甚至有些大家都知道的話,直接粘貼復制的,因為那些僅僅是介紹單個模型,并不是本文核心內容,謝謝理解。加油,大家。

2、數(shù)據(jù)集整理

一般情況下,工業(yè)產品或零部件所獲得的數(shù)據(jù)不是太多,因為大多數(shù)缺陷特征都極其微小,數(shù)據(jù)采集存在極大問題。在高分辨率相機幫助下盲拍,短時間可以獲得大量圖片,但是數(shù)據(jù)篩選存在極大問題。人工篩選,浪費時間和效率,但是有不可避免的進行清洗。況且,工業(yè)界高清缺陷數(shù)據(jù)集,也極其稀少。

幾百張的數(shù)據(jù)對深度卷積網(wǎng)絡來說是遠遠不夠的,而且數(shù)據(jù)分布是極不對稱的。而且對特征是否明顯來說,缺陷特征是最不明顯的,在訓練的時候更要進行格外關注。

最后,數(shù)據(jù)采集的硬件設備,對檢測結果也影響巨大。例如,相機的分辨率、補光設備等等。這里,不是咱們討論的范圍,假設已經(jīng)取得了小部分缺陷圖像。

3、圖像增強擴充

上述現(xiàn)象不可避免,需要對每類特征圖像進行原始增強,使其最低擴充到1000幅左右。比如常用的ImageDataGenerator工具,當然也可以自行編寫腳本,請自行百度,資料眾多。主要包括圖像的旋轉、平移、錯切、旋轉、拉伸、明暗度變化等等。

拍攝圖像的過程中,不可避免的出現(xiàn)整個場景圖像過于巨大,那么就會導致缺陷特征局部化,也就是所占整幅圖像比例較小,不利于特征提取。這種情況下,對圖像進行卷積操作后,缺陷特征基本上不會檢測提取到或者提取到的特征并不明顯。解決辦法之一是將場景圖像進行有規(guī)則的切分,比如一個場景圖像被切分成六份,可以橫向或縱向或者對角線切分,或者切分成四份均可,依照實際情況進行。然后需要自己去做數(shù)據(jù),賦以標簽,當然Labelimg這個開源工具可以幫助你。

在預測的時候,只要場景圖像的四個或者六個子圖像有一個是缺陷圖像,就認為其是缺陷圖像。這樣做的好處是,在一定程度上避免了特征過于局部化。這是我能想到的方法之一,當然業(yè)界可能有很多方法,這個比較簡單粗暴。但是實際效果還不錯。

4、融合模型架構

采用的架構如下:

74e82706-1bb0-11ee-962d-dac502259ad0.png

圖1 模型融合架構

對上圖進行解釋。數(shù)據(jù)層當然就是整理后的數(shù)據(jù)集,數(shù)據(jù)集的質量決定了后面的所有事情,所在制作的時候一定要認真,廢話不多說。分發(fā)層,只是原來單個網(wǎng)絡的輸入層。這一層的目的,就是為了向各個單個網(wǎng)絡輸入數(shù)據(jù)。因為每個網(wǎng)絡對數(shù)據(jù)輸入要求是不一樣的,這一層就干了這一件事情。接下來就是“隱藏”網(wǎng)絡層,這一層就是“并行”連接了網(wǎng)絡,分而治之。尺寸統(tǒng)一層,就是將各個網(wǎng)絡輸出的特征圖進行修飾,主要是尺寸上進行修改。空白層,這一層的目的是進一步梳理特征信號,進一步處理,比如添加合適的比例放大特征圖等等,當然,這只是初步的想法,還沒有實際去做。不可否定的是,工業(yè)與學術界肯定有更好的方法,這是以后的工作優(yōu)化內容。特征相加層,就是將得到的統(tǒng)一的特征“點加”,增強特征的表現(xiàn)形式,處理微小特征的方法。最后是全連接層,用于分類與回歸,最后是輸出結果。當然,中間的損失層之類的沒有說,但是并不代表不存在,鉆牛角尖得人退避。

對工業(yè)缺陷零件來說,缺陷特征非常細微或者說不明顯,通常僅僅一小塊區(qū)域存在特征,而且高度相似。對于“隱藏層”選擇的相關網(wǎng)絡,首先,是專注于特征提取,因為特征提取是整個網(wǎng)絡的關鍵所在,其次,要考慮把淺層特征和深度特征進行融合,這樣的話結合圖像切分,就不會造成主要特征丟失,或者說盡量降低特征的內部損耗。常見的特征提取網(wǎng)絡有VGG16、ResNet、DenseNet、Inception-ResNet-V2等等這些,但是筆者復現(xiàn)過得網(wǎng)絡只有VGG與ResNet,經(jīng)過論文以及相關資料,DenseNet效果可能要更好些,留作近期工作內容。

5、融合模型訓練

選取不同的缺陷數(shù)據(jù),數(shù)據(jù)盡量不要完全相同,這樣可以增加模型的豐富度,更有利于提取相關特征。與“隱藏層”相對應訓練幾個不同的模型,比如訓練出四個模型分別對應于ResNet、DenseNet、Inception-ResNet-V2、VGG四個網(wǎng)絡。當然,根據(jù)你選擇的模型進行對應即可,靈活度極高。

訓練完成后,把這四個模型輸入層與全連接層去除,僅僅使用這四個模型的相關卷積層進行特征提取,然后利用特征相加層進行特征拼接。拼接的時候注意,在channel方向上保持相同,也就是特征圖的w和h必須相同。這是關鍵中的關鍵,也是特征統(tǒng)一層存在的意義,否則,特征非但沒有增強,反而因為尺寸的問題導致精度下降,得不償失。

在對應位置上進行特征相加(點加),然后把這些特征進行匯總,重新建立四個網(wǎng)絡,每個網(wǎng)絡模型分別對應訓練好的四個模型,提取訓練好模型的參數(shù),賦給新的模型,然后建立全連接層,這個時候只有一個全連接層。在訓練的時候,新的網(wǎng)絡只用來做特征提取,卷積層的參數(shù)不做訓練,把這些網(wǎng)絡參數(shù)凍結,只更新全連接層。

對于上述中的特征融合,還有一種方法就是:用三個訓練好的模型進行特征提取,然后建立一個MLP多層感知機類型的網(wǎng)絡。訓練好的模型去掉全連接層,只保存卷積層,做特征提取,并把產生的特征進行拼接,訓練時只對全連接層進行更新。

6、單個網(wǎng)絡要點解析

Inception-ResNet-V2的結構如下,細節(jié)請看參考文獻,這里只是簡單說一下。Inception-ResNet-v2,更加昂貴的混合Inception版本,同明顯改善了識別性能。

75089e78-1bb0-11ee-962d-dac502259ad0.png

圖2 InceptionResNetV2整體架構(圖片來源于網(wǎng)絡)

其中的stem部分網(wǎng)絡結構如下,inception設計,并且conv也使用了7*1+1*7這種優(yōu)化形式:

7517f896-1bb0-11ee-962d-dac502259ad0.png

圖3 stem部分網(wǎng)絡結構(圖片來源于網(wǎng)絡)

inception-resnet-A部分設計,inception結構相當于加寬網(wǎng)絡,也就是并行思想,這是本文靈感來源一。inception+殘差設計為:

75428b92-1bb0-11ee-962d-dac502259ad0.png

圖4 inception-resnet-A設計(圖片來源于網(wǎng)絡)

通過將不同尺度的feature map進行融合,通過1*n卷積與n*1卷積來替代n*n卷積,從而有效地降低計算量,通過使用多個3x3卷積來代替5x5卷積和7x7卷積來降低計算量。另外在inception resnet v2中將resnet與inception 的網(wǎng)絡結構來進行融合,從而進一步提升在 imagenet上的accuracy。咱們文章的靈感來源二也來源于此,特征融合,只是咱們融合了模型以及特征圖。說一句沒必要的廢話,slim庫中已經(jīng)實現(xiàn)的inception-resnet-v2網(wǎng)絡,所以以后網(wǎng)絡應用更加簡單了。

VGG16網(wǎng)絡,我接觸的比較早了,研究生期間就使用了。讀研的時候做了基于Faster R-CNN的高鐵定位器識別,當初就是用的VGG網(wǎng)絡而不是ZF網(wǎng)絡。VGG16相比前輩AlexNet網(wǎng)絡做了諸多改進,其中比較主要的是采用連續(xù)的幾個3x3的卷積核代替AlexNet中的較大卷積核(11x11,7x7,5x5),對于給定的感受野(與輸出有關的輸入圖片的局部大小),采用堆積的小卷積核是優(yōu)于采用大的卷積核,因為多層非線性層可以增加網(wǎng)絡深度來保證學習更復雜的模式,而且代價還比較小,參數(shù)更少,節(jié)省算力。

簡單來說,在VGG中,使用了3個3x3卷積核來代替7x7卷積核,使用了2個3x3卷積核來代替5*5卷積核,這樣做的主要目的是在保證具有相同感知野的條件下,提升了網(wǎng)絡的深度,在一定程度上提升了神經(jīng)網(wǎng)絡的效果。話題拉回來,本文靈感來源三就是VGG訓練過程,VGG有六種結構或者說有六個階段的訓練過程。分別是A、A-LRN、B、C、D、E六種,訓練時,逐層遞歸訓練,由淺入深,思路清晰。訓練的方式也對本文產生了影響,凍結卷積層參數(shù),只更新全連接層參數(shù)。最后,經(jīng)過證明D、E兩個模型融合,效果最佳。

755faa56-1bb0-11ee-962d-dac502259ad0.png

圖5 VGG16結構圖(圖片來源于網(wǎng)絡)

ResNet(Residual Neural Network)由微軟研究院的Kaiming He等四名華人提出,通過使用ResNet Unit成功訓練出了152層的神經(jīng)網(wǎng)絡,并在ILSVRC2015比賽中取得冠軍,在top5上的錯誤率為3.57%,同時參數(shù)量比VGGNet低,效果非常突出。ResNet的結構可以極快的加速神經(jīng)網(wǎng)絡的訓練,模型的準確率也有比較大的提升。同時ResNet的推廣性非常好,甚至可以直接用到InceptionNet網(wǎng)絡中。

ResNet的主要思想是在網(wǎng)絡中增加了直連通道,即Highway Network的思想。此前的網(wǎng)絡結構是性能輸入做一個非線性變換,而Highway Network則允許保留之前網(wǎng)絡層的一定比例的輸出。ResNet的思想和Highway Network的思想也非常類似,允許原始輸入信息直接傳到后面的層中,如下圖7所示。

CNN能夠提取low/mid/high-level的特征,網(wǎng)絡的層數(shù)越多,意味著能夠提取到不同level的特征越豐富。并且,越深的網(wǎng)絡提取的特征越抽象,越具有語義信息。既然這樣,為什么不能簡單地堆疊網(wǎng)絡層呢?因為存在梯度彌散或梯度爆炸。有沒有解決方法呢?有,正則化初始化和中間的正則化層(Batch Normalization),但是,這樣的話也僅僅可以訓練幾十層的網(wǎng)絡。雖然通過上述方法能夠訓練了,但是又會出現(xiàn)另一個問題,就是退化問題,網(wǎng)絡層數(shù)增加,但是在訓練集上的準確率卻飽和甚至下降了。這個不能解釋為overfitting,因為overfit應該表現(xiàn)為在訓練集上表現(xiàn)更好才對。退化問題說明了深度網(wǎng)絡不能很簡單地被很好地優(yōu)化。

756f6bd0-1bb0-11ee-962d-dac502259ad0.png

圖6 ResNet結構(圖片來源于網(wǎng)絡)

758a39c4-1bb0-11ee-962d-dac502259ad0.png

圖7 不同的殘差單元(圖片來源于網(wǎng)絡)

DenseNet結構如下:

75a6d278-1bb0-11ee-962d-dac502259ad0.png

圖8 DenseNet結構(圖片來源于網(wǎng)絡)

DenseNet脫離了加深網(wǎng)絡層數(shù)(ResNet)和加寬網(wǎng)絡結構(Inception)來提升網(wǎng)絡性能的定式思維,從特征的角度考慮,通過特征重用和旁路(Bypass)設置,既大幅度減少了網(wǎng)絡的參數(shù)量,又在一定程度上緩解了gradient vanishing問題的產生.結合信息流和特征復用的假設,是該網(wǎng)絡新穎的地方

對于本文四種網(wǎng)絡,后續(xù)會根據(jù)實際測試情況,進行模型的更換與刪減,具體情況只有實際測試才能知曉。

7、融合損失函數(shù)

Focal loss主要是為了解決one-stage目標檢測中正負樣本比例嚴重失衡的問題。該損失函數(shù)降低了大量簡單負樣本在訓練中所占的權重,也可理解為一種困難樣本挖掘。

首先,二分類交叉上損失公式:

75b8d05e-1bb0-11ee-962d-dac502259ad0.png

可見普通的交叉熵對于正樣本而言,輸出概率越大損失越小。對于負樣本而言,輸出概率越小則損失越小。此時的損失函數(shù)在大量簡單樣本的迭代過程中比較緩慢且可能無法優(yōu)化至最優(yōu)。Focal loss的改進高明之處是:

75c86712-1bb0-11ee-962d-dac502259ad0.png

75db217c-1bb0-11ee-962d-dac502259ad0.png

首先在原有的基礎上加了一個因子,其中gamma>0使得減少易分類樣本的損失。使得更關注于困難的、錯分的樣本。

此外,平衡因子alpha的加入,用來平衡正負樣本本身的比例不均:

75fb817e-1bb0-11ee-962d-dac502259ad0.png

只添加alpha雖然可以平衡正負樣本的重要性,但是無法解決簡單與困難樣本的問題。lambda調節(jié)簡單樣本權重降低的速率,當lambda為0時即為交叉熵損失函數(shù),當lambda增加時,調整因子的影響也在增加。

8、期望與問題

關于融合模型的一些思考,歡迎大家討論。其中的一些問題已經(jīng)解決,說實話,每一點都可以形成一篇論文,大家參考。

1)分發(fā)層,內部機制是什么?統(tǒng)一分發(fā),還是通道形式?是否需要放大?

2)網(wǎng)絡“隱藏”層,模型間進行“某種連接”,是不是會產生特殊火花?

3)網(wǎng)絡“隱藏”層,哪幾種模型融合效果最好,增加,刪減效果怎么樣?

4)尺寸統(tǒng)一層,統(tǒng)一的方式,除了簡單“比例拉扯”,有沒有更好的方式?

5)特征相加層,點加最好?加上比例放大?比例多少?能學習嗎?

6)模型融合,目標檢測模型融合會更好嗎?NLP是否有相關的研究?

7)YOLOv3號稱檢測小目標(細微特征相對應)能力出色,是否相關思想可以借鑒?

模型的融合并不是簡單地堆疊,而是根據(jù)特征圖尺寸這一核心思想進行重新設計計算。對單個模型的參數(shù)進行適當?shù)男薷模疤崾羌軜嫴桓淖儭3浞掷妹總€模型的優(yōu)點,摒棄缺點。其中最重要的就是砍掉了每個模型的全連接層,極大地降低了參數(shù)的數(shù)量。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 源碼
    +關注

    關注

    8

    文章

    652

    瀏覽量

    29452
  • 模型
    +關注

    關注

    1

    文章

    3305

    瀏覽量

    49220
  • 深度學習
    +關注

    關注

    73

    文章

    5513

    瀏覽量

    121546

原文標題:基于深度學習模型融合的工業(yè)產品(零部件)工藝缺陷檢測算法簡述

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    全網(wǎng)唯一一套labview深度學習教程:tensorflow+目標檢測:龍哥教你學視覺—LabVIEW深度學習教程

    檢測產品外觀的劃痕等缺陷在生產環(huán)節(jié)十分重要。四、總結;總的來說,使用基于深度學習算法可快速
    發(fā)表于 08-10 10:38

    labview缺陷檢測算法寫不出來?你OUT了!直接上深度學習吧!

    傳統(tǒng)視覺對于缺陷檢測有先天性的不足,當缺陷區(qū)域與正常區(qū)域灰度接近,沒有明確的邊界曲線時,往往無法將缺陷檢測出來,而
    發(fā)表于 08-16 17:29

    labview深度學習應用于缺陷檢測

    標注產品后通過訓練平臺完成模型訓練經(jīng)過少量樣品訓練得到測試結果,表明深度學習對傳統(tǒng)視覺算法比較棘手的缺陷
    發(fā)表于 08-16 18:12

    labview深度學習檢測藥品兩類缺陷

    結果。藥片的缺陷分為兩種:一種是黑點,另一種是缺損,利用常規(guī)算法幾乎無滿足檢出率和誤判率的平衡,即:無法再同一種參數(shù)設定的情況下檢出不同類型的缺陷,或者即使不會漏檢NG產品,但是會出現(xiàn)
    發(fā)表于 05-27 22:25

    基于深度學習和3D圖像處理的精密加工件外觀缺陷檢測系統(tǒng)

    缺陷空間,共同識別檢測缺陷,增加缺陷識別檢測的準確性; 創(chuàng)新點二:在實際工業(yè)生產場景上應用深度
    發(fā)表于 03-08 13:59

    基于碼本模型的運動目標檢測算法

    本內容提供了基于碼本模型的運動目標檢測算法
    發(fā)表于 05-19 10:54 ?32次下載
    基于碼本<b class='flag-5'>模型</b>的運動目標<b class='flag-5'>檢測算法</b>

    使用深度卷積神經(jīng)網(wǎng)絡實現(xiàn)深度導向顯著性檢測算法

     針對目前基于深度卷積神經(jīng)網(wǎng)絡的顯著性檢測算法存在對復雜場景圖像目標檢測不完整、背景噪聲多的問題,提出一種深度特征導向顯著性檢測算法。該
    發(fā)表于 11-15 17:56 ?0次下載
    使用<b class='flag-5'>深度</b>卷積神經(jīng)網(wǎng)絡實現(xiàn)<b class='flag-5'>深度</b>導向顯著性<b class='flag-5'>檢測算法</b>

    如何實現(xiàn)一種深度特征導向顯著性檢測算法

    針對目前基于深度卷積神經(jīng)網(wǎng)絡的顯著性檢測算法存在對復雜場景圖像目標檢測不完整,背景噪聲多的問題,提出一種深度特征導向顯著性檢測算法。該
    發(fā)表于 11-03 16:31 ?0次下載
    如何實現(xiàn)一種<b class='flag-5'>深度</b>特征導向顯著性<b class='flag-5'>檢測算法</b>

    基于深度學習的疲勞駕駛檢測算法模型

    為實現(xiàn)復雜駕駛環(huán)境下駕駛人員疲勞狀態(tài)識別與預警,提出基于深度學習的疲勞駕駛檢測算法。利用基于 shuffle- channel思想的 MTCNN模型
    發(fā)表于 03-30 09:17 ?25次下載
    基于<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的疲勞駕駛<b class='flag-5'>檢測算法</b>及<b class='flag-5'>模型</b>

    基于深度學習的目標檢測算法

    整體框架 目標檢測算法主要包括:【兩階段】目標檢測算法、【多階段】目標檢測算法、【單階段】目標檢測算法 什么是兩階段目標檢測算法,與單階段目
    的頭像 發(fā)表于 04-30 10:22 ?1.1w次閱讀
    基于<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的目標<b class='flag-5'>檢測算法</b>

    基于深度學習的發(fā)動機零件檢測算法

    針對人工和傳統(tǒng)自動化算法檢測發(fā)動機零件表面缺陷中準確率和效率低下,無法滿足智能制造需求問題提岀了一種基于深度學習
    發(fā)表于 06-03 14:51 ?19次下載

    基于改進FCOS的鋼帶表面缺陷檢測算法

    針對現(xiàn)有鋼帶表面缺陷檢測所存在的檢測效率低、適用范圍有限等缺陷,提出一種基于改進FCOS的鋼帶表面缺陷
    的頭像 發(fā)表于 07-25 10:05 ?1730次閱讀

    基于深度學習的焊接焊點缺陷檢測

    深度學習主要包含卷積神經(jīng)網(wǎng)絡和Faster R-CNN兩種網(wǎng)絡模型,通過利用算法模型自動學習的特
    的頭像 發(fā)表于 10-19 15:08 ?2748次閱讀

    基于強化學習的目標檢測算法案例

    摘要:基于強化學習的目標檢測算法檢測過程中通常采用預定義搜索行為,其產生的候選區(qū)域形狀和尺寸變化單一,導致目標檢測精確度較低。為此,在基于深度
    發(fā)表于 07-19 14:35 ?0次下載

    瑞薩電子深度學習算法缺陷檢測領域的應用

    浪費大量的人力成本。因此,越來越多的工程師開始將深度學習算法引入缺陷檢測領域,因為深度
    的頭像 發(fā)表于 09-22 12:19 ?949次閱讀
    瑞薩電子<b class='flag-5'>深度</b><b class='flag-5'>學習</b><b class='flag-5'>算法</b>在<b class='flag-5'>缺陷</b><b class='flag-5'>檢測</b>領域的應用
    新梦想百家乐官网的玩法技巧和规则 | 威尼斯人娱乐赌博| 百家乐官网赌场技巧论坛| 大发888苹果手机下载| 属狗与属猪能做生意吗| 网上百家乐官网公式| 属虎属龙做生意| 盐山县| 百家乐轮盘一体机厂家| 财神百家乐官网的玩法技巧和规则| 澳门开户| 悦榕庄百家乐的玩法技巧和规则 | 真人百家乐官网园| 大发888官方体育| 金榜百家乐现金网| 网上百家乐官网能作弊吗| 大发888娱乐真钱游戏下载| 百家乐赌场游戏平台| 百家乐官网哪条路准| 百家乐详解| 博之道百家乐的玩法技巧和规则| 百家乐视频交友| 澳门百家乐官网怎么看小路| 在线真人娱乐| 威尼斯人娱乐城筹码| 哈尔滨百家乐赌场| 百家乐官网1元投注| 敦化市| 新全讯网网站xb112| 博九百家乐游戏| 百家乐官网必胜方程式| 三门县| 易胜博娱乐城| 百家乐规律打| 金赞百家乐娱乐城| 沙龙百家乐官网娱乐平台| 百家乐官网策略与心得| tt娱乐城备用网址| 索罗门百家乐的玩法技巧和规则| 百家乐波音平台开户导航| 作弊百家乐官网赌具|