色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

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

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

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

1、序言

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

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

2、數據集整理

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

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

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

3、圖像增強擴充

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

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

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

4、融合模型架構

采用的架構如下:

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

圖1 模型融合架構

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

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

5、融合模型訓練

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

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

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

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

6、單個網絡要點解析

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DenseNet結構如下:

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

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

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

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

7、融合損失函數

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

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

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

可見普通的交叉熵對于正樣本而言,輸出概率越大損失越小。對于負樣本而言,輸出概率越小則損失越小。此時的損失函數在大量簡單樣本的迭代過程中比較緩慢且可能無法優化至最優。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調節簡單樣本權重降低的速率,當lambda為0時即為交叉熵損失函數,當lambda增加時,調整因子的影響也在增加。

8、期望與問題

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

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

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

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

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

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

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

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

模型的融合并不是簡單地堆疊,而是根據特征圖尺寸這一核心思想進行重新設計計算。對單個模型的參數進行適當的修改,前提是架構不改變。充分利用每個模型的優點,摒棄缺點。其中最重要的就是砍掉了每個模型的全連接層,極大地降低了參數的數量。

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

    關注

    8

    文章

    652

    瀏覽量

    29363
  • 模型
    +關注

    關注

    1

    文章

    3298

    瀏覽量

    49063
  • 深度學習
    +關注

    關注

    73

    文章

    5512

    瀏覽量

    121408

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

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

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

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

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

    使用深度卷積神經網絡實現深度導向顯著性檢測算法

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

    如何實現一種深度特征導向顯著性檢測算法

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

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

    為實現復雜駕駛環境下駕駛人員疲勞狀態識別與預警,提出基于深度學習的疲勞駕駛檢測算法。利用基于 shuffle- channel思想的 MTCNN模型
    發表于 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>

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

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

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

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

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

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

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

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

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

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

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

    浪費大量的人力成本。因此,越來越多的工程師開始將深度學習算法引入缺陷檢測領域,因為深度
    的頭像 發表于 09-22 12:19 ?932次閱讀
    瑞薩電子<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>領域的應用
    主站蜘蛛池模板: 丰满少妇67194视频 | 九九国产精品成人AV麻豆 | 99久热这里精品免费 | 97精品在线观看 | 国产中文欧美日韩在线 | 被老师按在办公桌吸奶头 | GAY东北澡堂激情2022 | 亚洲男人片片在线观看 | 18禁无遮遮挡羞漫画免费阅读 | 领导边摸边吃奶边做爽在线观看 | 成人精品视频 | 高h肉肉乳共妻 | 四库影院永久国产精品 | 伊人久久网国产伊人 | 成人免费看片45分钟 | 国产一卡 二卡三卡四卡无卡乱码视频 | 欧美00后rapper潮水 | 5g在视影讯天天5g免费观看 | 久久草香蕉频线观 | av天堂影音先锋在线 | 囯产精品久久久久久久久蜜桃 | 国产片MV在线观看 | 99免费观看视频 | 亚州性夜夜射在线观看 | 很很射影院 | 国产免费毛片在线观看 | 2021久久99国产熟女人妻 | 鸭子玩富婆流白浆视频 | 日日日夜夜在线视频 | 亚洲欧美一区二区三区导航 | 亚洲永久精品ww47 | 一区二区三区毛AAAA片特级 | 视频一区国产在线二区 | 青青伊人久久 | 欧美残忍xxxx极端 | 在线中文字幕视频 | 美女屁股软件 | 美女露出撒尿的部位 | 俄罗斯黄色大片 | 久久久91精品国产一区二区 | 水蜜桃亚洲一二三四在线 |