簡(jiǎn)介
制造業(yè)中任何公司的主要目標(biāo)都是為客戶生產(chǎn)無缺陷產(chǎn)品。如果在產(chǎn)品開發(fā)過程中出現(xiàn)任何內(nèi)部孔、凹坑、磨損或劃痕(由于多種原因,從生產(chǎn)設(shè)備故障到惡劣的工作條件),其結(jié)果不僅是產(chǎn)品缺陷,而且導(dǎo)致客戶滿意度的損失。
在本文中,您將了解可用于識(shí)別缺陷的各種深度學(xué)習(xí)方法,從而防止缺陷產(chǎn)品流入市場(chǎng)。
深度學(xué)習(xí)是如何工作的?
深度學(xué)習(xí)是一種機(jī)器學(xué)習(xí),其特點(diǎn)是使用神經(jīng)元或數(shù)據(jù)計(jì)算流經(jīng)的節(jié)點(diǎn)。深度學(xué)習(xí)神經(jīng)元之所以如此命名,是因?yàn)樗鼈冏畛醣唤橐灶愃朴谌四X中神經(jīng)元的結(jié)構(gòu)發(fā)送和接收信號(hào)。神經(jīng)元接收一個(gè)或多個(gè)輸入信號(hào)(要么來自原始數(shù)據(jù),要么來自模型前一層的神經(jīng)元),對(duì)這些輸入信號(hào)進(jìn)行一些計(jì)算,然后(通過突觸)將輸出信號(hào)發(fā)送到神經(jīng)網(wǎng)絡(luò)深處的神經(jīng)元。
通過這種方式,這些模型模仿了人類大腦如何學(xué)習(xí)檢測(cè)、識(shí)別和分類周圍環(huán)境中的項(xiàng)目,并做出非線性決策。最初的神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)非常簡(jiǎn)單(或“膚淺”),但今天的架構(gòu)已經(jīng)變得極其復(fù)雜,現(xiàn)在被稱為“深層”神經(jīng)網(wǎng)絡(luò)。
然而,深度神經(jīng)網(wǎng)絡(luò)不僅僅是一堆神經(jīng)層。考慮一層作為單個(gè)神經(jīng)元的外殼。這些層將始終以輸入層開始(接收數(shù)據(jù)),以輸出層結(jié)束(產(chǎn)生結(jié)果)。此外,在神經(jīng)網(wǎng)絡(luò)中,可以有零個(gè)或多個(gè)隱藏層堆疊在一起。層架構(gòu)的類型包括但不限于密集(或完全連接)、卷積、反褶積和遞歸。然而,單獨(dú)添加額外的層并不足以解決更復(fù)雜的問題,事實(shí)上可能會(huì)帶來額外的挑戰(zhàn)和潛在的錯(cuò)誤。
必須根據(jù)需要解決的問題提出多種技術(shù)。存在不同形式的深度神經(jīng)網(wǎng)絡(luò),每種網(wǎng)絡(luò)都以不同的方式和不同的算法來解決問題。
圖像分析-在分析圖像時(shí),更需要查看像素定義的事物層次,而不是單獨(dú)查看每個(gè)像素。卷積網(wǎng)絡(luò)使用稱為卷積層的神經(jīng)元的特定層,通常用于解釋、編碼或生成圖片。由于許多卷積層的疊加,檢測(cè)圖片中更復(fù)雜的分層模式是可能的。卷積層越深,生成的特征圖越抽象。
文本處理——文本分類、情感分析、自動(dòng)翻譯和語(yǔ)言建模概念是文本數(shù)據(jù)處理的一些最常見的深度學(xué)習(xí)用例。在某些情況下,例如分類,神經(jīng)網(wǎng)絡(luò)的表現(xiàn)幾乎和人類一樣好。然而,在某些工作中,神經(jīng)網(wǎng)絡(luò)仍然遠(yuǎn)遠(yuǎn)不能與人類進(jìn)行比較,例如情緒分析等。
自動(dòng)編碼器-自動(dòng)編碼器的目標(biāo)是能夠完全解構(gòu)并重建輸入數(shù)據(jù)。重建需要使用中間壓縮表示,因此神經(jīng)網(wǎng)絡(luò)的表示必須具有足夠的信息來進(jìn)行此生成。自動(dòng)編碼器的壓縮表示隨后可用于各種任務(wù),例如分類。
生成對(duì)抗網(wǎng)絡(luò)-它們已被有效地用于黑白照片的著色、增強(qiáng)圖像分辨率和重建部分擦除的圖像等。然而,GAN陡峭的學(xué)習(xí)曲線限制了他們的潛力,這似乎非常有前景。它主要用于醫(yī)學(xué)圖像,以提高圖像性能,并使人們更容易發(fā)現(xiàn)疾病。
深度學(xué)習(xí)缺陷檢測(cè)技術(shù)
物體識(shí)別、智能機(jī)器人、顯著性檢測(cè)、停車場(chǎng)聲音事件檢測(cè)和無人機(jī)葉片問題診斷只是受益于深度學(xué)習(xí)技術(shù)的眾多學(xué)科中的幾個(gè)例子。有時(shí),可以通過抽象表示或奇異特征(如邊緣和梯度)更好地解釋數(shù)據(jù)。深度學(xué)習(xí)模型結(jié)合了這些低級(jí)特征,以構(gòu)建屬性和特征的更抽象的高級(jí)表示,并提高模型的性能。利用這些核心概念,一些學(xué)者正在嘗試將深度學(xué)習(xí)技術(shù)應(yīng)用于產(chǎn)品缺陷的識(shí)別,以提高產(chǎn)品質(zhì)量。
1.LeNet,卷積神經(jīng)網(wǎng)絡(luò)(CNN)
CNN代表“卷積神經(jīng)網(wǎng)絡(luò)”,是具有一個(gè)或多個(gè)卷積層的任何前饋神經(jīng)網(wǎng)絡(luò),但也可能包含完全連接的層、池化層、ReLU校正層等。最初的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)之一是LeNet框架,它可以識(shí)別手寫字符。
在這里,我們將探討使用LeNet模型結(jié)構(gòu)原理來檢測(cè)缺陷的兩種方法。一種是創(chuàng)建復(fù)雜的多層CNN結(jié)構(gòu),使用不同的網(wǎng)絡(luò)結(jié)構(gòu)添加圖像內(nèi)容特征,并完成端到端訓(xùn)練以檢測(cè)圖像中的缺陷。
2.基于神經(jīng)網(wǎng)絡(luò)的產(chǎn)品缺陷檢測(cè)工具
AutoEncoder網(wǎng)絡(luò)的編碼和解碼階段是最重要的。這是一種數(shù)據(jù)壓縮技術(shù),其中壓縮和解壓縮功能是從樣本數(shù)據(jù)中自動(dòng)學(xué)習(xí)的,而不是由人類編程的。在編碼階段將輸入信號(hào)轉(zhuǎn)換為用于特征提取的編碼信號(hào);特征信息在解碼階段被轉(zhuǎn)換為重建信號(hào),并且通過調(diào)整權(quán)重和偏置來最小化重建誤差,以在解碼階段實(shí)現(xiàn)缺陷檢測(cè)。
AutoEncoder網(wǎng)絡(luò)與其他機(jī)器學(xué)習(xí)技術(shù)的區(qū)別在于,AutoEncode器網(wǎng)絡(luò)的學(xué)習(xí)目標(biāo)是特征學(xué)習(xí),而不是分類。它還具有卓越的自學(xué)能力,能夠進(jìn)行極為非線性的映射。為了處理分割復(fù)雜背景和前景區(qū)域的挑戰(zhàn),它可以學(xué)習(xí)非線性度量函數(shù)。
3.深度殘差神經(jīng)網(wǎng)絡(luò)產(chǎn)品故障檢測(cè)技術(shù)
深度殘差網(wǎng)絡(luò)向卷積神經(jīng)網(wǎng)絡(luò)添加殘差模塊。殘差網(wǎng)絡(luò)具有簡(jiǎn)單的優(yōu)化過程,并且可以通過增加網(wǎng)絡(luò)深度來提高精度。生成對(duì)抗網(wǎng)絡(luò)、CNN等。提取特征隨著網(wǎng)絡(luò)深度的增加而改善,然而,激活函數(shù)可能無法收斂。深度殘差網(wǎng)絡(luò)的目標(biāo)是在增長(zhǎng)網(wǎng)絡(luò)結(jié)構(gòu)的同時(shí)優(yōu)化網(wǎng)絡(luò)層的數(shù)量,使得殘差單元中卷積層的輸出和輸入元素維度相同。
4.全卷積神經(jīng)網(wǎng)絡(luò)
當(dāng)兩個(gè)相鄰層中的所有節(jié)點(diǎn)都連接時(shí),該層稱為密集層或完全連接層。由于完全連接的神經(jīng)網(wǎng)絡(luò)采用完全連接的操作,因此將有更多的權(quán)重值,這意味著網(wǎng)絡(luò)將需要更多的內(nèi)存和計(jì)算。在構(gòu)建完全連接的神經(jīng)網(wǎng)絡(luò)期間,卷積層創(chuàng)建的特征圖被映射為固定長(zhǎng)度的特征向量。整個(gè)卷積神經(jīng)網(wǎng)絡(luò)可以拍攝任何大小的輸入圖片,通過用去卷積層對(duì)最后一個(gè)卷積層的特征圖進(jìn)行采樣,可以恢復(fù)到與原始圖像相同的大小。
實(shí)施
下面,我們實(shí)施圖像處理技術(shù),這些技術(shù)產(chǎn)生的輸出類似于深度學(xué)習(xí)網(wǎng)絡(luò)可能產(chǎn)生的卷積神經(jīng)網(wǎng)絡(luò)中的特征圖。
import numpy as np import cv2 import matplotlib.pyplot as plt
接下來,將創(chuàng)建一個(gè)函數(shù),使用圖像處理來檢測(cè)缺陷,以顯示不同形式的圖像,如hsv、binay、dst、擴(kuò)張等。
def fab_defect_detect(img): image = img.copy() hsv = cv2.cvtColor(image,cv2.COLOR_BGR2HSV) h = hsv[:,:,0] s = hsv[:,:,1] v = hsv[:,:,2] blr = cv2.blur(v,(16,16)) dst = cv2.fastNlMeansDenoising(blr,None,10,7,22) _,binary = cv2.threshold(dst, 127,256,cv2.THRESH_BINARY+cv2.THRESH_OTSU) kernel = np.ones((5,5),np.uint8) erosion = cv2.erode(binary,kernel,iterations = 1) dilation = cv2.dilate(binary,kernel,iterations = 1) if(dilation==0).sum() >1: print("Fabric has a defect") contours,_ = cv2.findContours(dilation,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) for i in contours: if cv2.contourArea(i) < 261124.0: cv2.drawContours(image, i, -1, (0,255,0), 3) else: print("There is No Defect in Fabric") return img,hsv,v,blr,dst,binary,dilation,image
最后,使用以下命令生成輸出。
input_img= cv2.imread('Fabric1.jpg') image,hsv,v,blr,dst,binary,dilation,img = defect_detect(input_img) fig, ax = plt.subplots(2,4,figsize=(16,12)) ax[0,0].imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) ax[0,0].set_title('Original Image') ax[0,1].imshow(cv2.cvtColor(hsv, cv2.COLOR_BGR2RGB)) ax[0,1].set_title('HSV Image') ax[0,2].imshow(cv2.cvtColor(v, cv2.COLOR_BGR2RGB)) ax[0,2].set_title('V Image') ax[0,3].imshow(cv2.cvtColor(blr, cv2.COLOR_BGR2RGB)) ax[0,3].set_title('Blur Image') ax[1,0].imshow(cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)) ax[1,0].set_title('Filter Image') ax[1,1].imshow(binary,cmap='gray') ax[1,1].set_title('Binary Image') ax[1,2].imshow(dilation,cmap='gray') ax[1,2].set_title('Dilation Image') ax[1,3].imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) ax[1,3].set_title('Output Image') fig.tight_layout()
輸出
以下是以與第一張?jiān)紙D像不同的格式生成的圖像。
結(jié)論
在本文中,我們了解了什么是深度學(xué)習(xí),它是如何工作的,以及我們可以使用什么技術(shù)來檢測(cè)產(chǎn)品中的缺陷,同時(shí)學(xué)習(xí)了如何使用圖像處理來檢測(cè)圖像中的缺陷。
審核編輯:劉清
-
編碼器
+關(guān)注
關(guān)注
45文章
3772瀏覽量
137090 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4806瀏覽量
102730 -
GaN
+關(guān)注
關(guān)注
19文章
2174瀏覽量
76124 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8490瀏覽量
134057
原文標(biāo)題:深度學(xué)習(xí)工具在缺陷檢測(cè)中是如何工作的?
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
圖像處理應(yīng)用中深度學(xué)習(xí)的重要性分析
labview深度學(xué)習(xí)PCB插件光學(xué)檢測(cè)
基于深度學(xué)習(xí)和3D圖像處理的精密加工件外觀缺陷檢測(cè)系統(tǒng)
印刷缺陷檢測(cè)中的圖像對(duì)準(zhǔn)算法
PCB缺陷檢測(cè)中圖像分割算法

圖像分類的方法之深度學(xué)習(xí)與傳統(tǒng)機(jī)器學(xué)習(xí)
深度學(xué)習(xí)在圖像超清化的應(yīng)用

如何在圖像處理中應(yīng)用深度學(xué)習(xí)技術(shù)的詳細(xì)資料概述
深度學(xué)習(xí)中圖像分割的方法和應(yīng)用
深度學(xué)習(xí)中的圖像分割
基于Halcon圖像處理的表面缺陷檢測(cè)方案

OpenCV庫(kù)在圖像處理和深度學(xué)習(xí)中的應(yīng)用
機(jī)器視覺在織物缺陷圖像識(shí)別中的應(yīng)用與分析

基于深度學(xué)習(xí)的缺陷檢測(cè)方案

評(píng)論