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

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

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

3天內不再提示

計算機視覺在工業領域的一個實踐

新機器視覺 ? 來源:AI公園 ? 作者:Soham Malakar ? 2020-08-28 11:40 ? 次閱讀

導讀計算機視覺工業領域的一個實踐,有方案和代碼的分享。

1. 介紹

焊接缺陷可以定義為焊縫表面出現的不規則、不連續性、缺陷或不一致性。焊接接頭的缺陷可能導致零件和組件的報廢、昂貴的維修費用、工作條件下性能的顯著降低,在極端情況下,還可能導致導致財產和生命損失的災難性故障。 此外,由于焊接工藝本身的缺陷和金屬本身的特性,在焊接過程中總會存在一定的缺陷。評估焊接質量是很重要的,因為由于固有的冶金幾何缺陷、機械性能的不均一性和殘余應力的存在,焊接接頭經常是裂紋萌生的位置。 在實踐中,幾乎不可能得到完美的焊接,而且在大多數情況下,也沒有必要提供所需的足夠的服務功能。然而,及早發現和隔離總是比發生事故更可取。 利用我們的算法,我們可以很容易地檢測出焊接故障的圖像,并準確地衡量每一個故障的嚴重程度。這將進一步幫助更快的圖像識別和避免不良情況的出現。 結果表明,采用卷積神經網絡算法和U-Net結構,可以大大提高處理效率。結果在工作結束時,準確率達到98.3%。

2. 預備知識

機器學習有基本了解

卷積神經網絡的基本思想

理解卷積,最大池化和上采樣操作

了解U-Net的架構理念

對殘差塊中skip連接有基本了解(可選)

使用PythonTensorFlow和Keras庫操作ConvNets的知識(可選)

3. 圖像分割

分割是將圖像分割成不同的區域,這些區域包含具有相似屬性的像素。為了對圖像分析和解釋有意義和有用,區域應該與描繪的物體或感興趣的特征有強烈的關聯。 圖像分析的成功與否取決于分割的可靠性,但圖像的精確分割通常是一個非常具有挑戰性的問題。

分割后的胸部x光片,心臟(紅色)、肺(綠色)和鎖骨(藍色)

4. 圖像矩

圖像矩是圖像像素強度的某一特定加權平均值。圖像矩用于描述分割后的目標。 通*圖像矩發現的圖像的簡單屬性包括:

面積(或總強度)

重心

關于方向的信息

5. 理解數據

dataset包含兩個目錄。原始圖像存儲在‘images’目錄中,分割后的圖像存儲在‘labels’目錄中。 讓我們將數據可視化:

來自‘image’的原始圖像

來自‘labels’的二值圖像 這些來自“labels”目錄的圖像是二進制圖像或ground truth標簽。這是我們的模型必須對給定的原始圖像做出的預測。在二進制圖像中,像素要么有一個“high”值,要么有一個“low”值。白色區域或“high”值表示缺陷區域,黑色區域或“low”值表示沒有缺陷。

6. 使用的方法

我們在這個問題上使用的架構是U-Net。我們將通過三個步驟來檢測故障并測量這些焊接圖像的嚴重程度:

圖像分割

使用顏色表示嚴重程度

使用圖像矩度量嚴重程度

訓練模型

下面是我們用于模型的U-Net架構:

使用的U-Net結構要注意的點:

每個藍框對應一個多通道特征圖

通道的數量在盒子的頂部表示

(x,y)維度顯示在盒子的左下邊緣

箭頭表示不同的操作

層的名稱在層的下面

C1 C2…C7是卷積操作后的輸出層

P1, P2, P3是最大池化操作的輸出層

U1, U2, U3是上采樣操作的輸出層

A1, A2, A3是跳躍連接

左側是收縮路徑,應用常規卷積和最大池操作

圖像的尺寸逐漸減小,而深度逐漸增加

右邊是展開路徑,在這里應用(上采樣)轉置卷積和常規卷積操作

在擴展路徑中,圖像的尺寸逐漸增大,深度逐漸減小

為了得到更精確的位置,在擴展路徑的每一步中,我們使用跳躍連接,將轉置卷積層的輸出與來自編碼器的相同級別的特征圖連接在一起:A1 = U1 + C3A2 = U2 + C2A3 = U3 + C1 在每次連接之后,我們再次應用常規卷積,以便模型能夠學習組裝出更精確的輸出。

importnumpyasnp importcv2 importos importrandom importtensorflowastf h,w=512,512 defcreate_model(): inputs=tf.keras.layers.Input(shape=(h,w,3)) conv1=tf.keras.layers.Conv2D(16,(3,3),activation='relu',padding='same')(inputs) pool1=tf.keras.layers.MaxPool2D()(conv1) conv2=tf.keras.layers.Conv2D(32,(3,3),activation='relu',padding='same')(pool1) pool2=tf.keras.layers.MaxPool2D()(conv2) conv3=tf.keras.layers.Conv2D(64,(3,3),activation='relu',padding='same')(pool2) pool3=tf.keras.layers.MaxPool2D()(conv3) conv4=tf.keras.layers.Conv2D(64,(3,3),activation='relu',padding='same')(pool3) upsm5=tf.keras.layers.UpSampling2D()(conv4) upad5=tf.keras.layers.Add()([conv3,upsm5]) conv5=tf.keras.layers.Conv2D(32,(3,3),activation='relu',padding='same')(upad5) upsm6=tf.keras.layers.UpSampling2D()(conv5) upad6=tf.keras.layers.Add()([conv2,upsm6]) conv6=tf.keras.layers.Conv2D(16,(3,3),activation='relu',padding='same')(upad6) upsm7=tf.keras.layers.UpSampling2D()(conv6) upad7=tf.keras.layers.Add()([conv1,upsm7]) conv7=tf.keras.layers.Conv2D(1,(3,3),activation='relu',padding='same')(upad7) model=tf.keras.models.Model(inputs=inputs,outputs=conv7) returnmodel images=[] labels=[] files=os.listdir('./dataset/images/') random.shuffle(files) forfinfiles: img=cv2.imread('./dataset/images/'+f) parts=f.split('_') label_name='./dataset/labels/'+'W0002_'+parts[1] label=cv2.imread(label_name,2) img=cv2.resize(img,(w,h)) label=cv2.resize(label,(w,h)) images.append(img) labels.append(label) images=np.array(images) labels=np.array(labels) labels=np.reshape(labels, (labels.shape[0],labels.shape[1],labels.shape[2],1)) print(images.shape) print(labels.shape) images=images/255 labels=labels/255 model=tf.keras.models.load_model('my_model') #model=create_model()#uncommentthistocreateanewmodel print(model.summary()) model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy']) model.fit(images,labels,epochs=100,batch_size=10) model.evaluate(images,labels) model.save('my_model') 模型采用Adam優化器進行編譯,由于只有缺陷和無缺陷兩類,我們使用二元交叉熵損失函數。 我們使用批大小為10的100 epoch(模型在所有輸入上運行的次數)。 請注意,調整這些超參數有很大的進一步提高模型性能的空間。

測試模型

由于模型的輸入尺寸為512x512x3,我們將輸入尺寸調整為這個尺寸。接下來,我們將圖像歸一化,將其除以255,這樣計算速度更快。 該圖像被輸入到模型中,用于預測二進制輸出。為了放大像素的強度,二進制輸出被乘以1000。 然后將圖像轉換為16位整數,便于圖像操作。然后用算法檢測缺陷,通過顏色分級和根據缺陷的嚴重程度給有缺陷的像素分配權重,直觀地標記出缺陷的嚴重程度。然后在此圖像上考慮加權像素計算圖像矩。 最后將圖像轉換回8位整數,并顯示輸出圖像的顏色等級和嚴重性值。

importnumpyasnp importcv2 fromgoogle.colab.patchesimportcv2_imshow importos importrandom importtensorflowastf h,w=512,512 num_cases=10 images=[] labels=[] files=os.listdir('./dataset/images/') random.shuffle(files) model=tf.keras.models.load_model('my_model') lowSevere=1 midSevere=2 highSevere=4 forfinfiles[0:num_cases]: test_img=cv2.imread('./dataset/images/'+f) resized_img=cv2.resize(test_img,(w,h)) resized_img=resized_img/255 cropped_img=np.reshape(resized_img, (1,resized_img.shape[0],resized_img.shape[1],resized_img.shape[2])) test_out=model.predict(cropped_img) test_out=test_out[0,:,:,0]*1000 test_out=np.clip(test_out,0,255) resized_test_out=cv2.resize(test_out,(test_img.shape[1],test_img.shape[0])) resized_test_out=resized_test_out.astype(np.uint16) test_img=test_img.astype(np.uint16) grey=cv2.cvtColor(test_img,cv2.COLOR_BGR2GRAY) foriinrange(test_img.shape[0]): forjinrange(test_img.shape[1]): if(grey[i,j]>150&resized_test_out[i,j]>40): test_img[i,j,1]=test_img[i,j,1]+resized_test_out[i,j] resized_test_out[i,j]=lowSevere elif(grey[i,j]<100?&?resized_test_out[i,j]>40): test_img[i,j,2]=test_img[i,j,2]+resized_test_out[i,j] resized_test_out[i,j]=highSevere elif(resized_test_out[i,j]>40): test_img[i,j,0]=test_img[i,j,0]+resized_test_out[i,j] resized_test_out[i,j]=midSevere else: resized_test_out[i,j]=0 M=cv2.moments(resized_test_out) maxMomentArea=resized_test_out.shape[1]*resized_test_out.shape[0]*highSevere print("0thMoment=",(M["m00"]*100/maxMomentArea),"%") test_img=np.clip(test_img,0,255) test_img=test_img.astype(np.uint8) cv2_imshow(test_img) cv2.waitKey(0)

7. 結果

我們用于檢測嚴重程度的視覺度量是顏色。 在圖像中,顏色:

綠色表示有嚴重缺陷的區域。

藍色代表缺陷較嚴重的區域。

紅色區域表示最嚴重的缺陷。

0階矩作為一個百分比顯示在輸出圖像上作為一個經驗的嚴重程度度量。 下面是三個隨機樣本,分別顯示了我們模型生成的原始輸入、ground truth和輸出。

樣本1:

原始圖像

二值圖像(Ground Truth)

帶有嚴重程度的預測輸出

樣本2:

原始圖像

二值圖像(Ground Truth)

帶有嚴重程度的預測輸出

樣本3:

原始圖像

二值圖像(Ground Truth)

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

    關注

    42

    文章

    4779

    瀏覽量

    101054
  • 代碼
    +關注

    關注

    30

    文章

    4823

    瀏覽量

    68913
  • 計算機視覺
    +關注

    關注

    8

    文章

    1700

    瀏覽量

    46082

原文標題:鋼鐵平面焊接缺陷檢測,有方案、有代碼

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

收藏 人收藏

    評論

    相關推薦

    計算機視覺有哪些優缺點

    計算機視覺作為人工智能領域重要分支,旨在使計算機能夠像人類
    的頭像 發表于 08-14 09:49 ?1103次閱讀

    機器視覺計算機視覺有什么區別

    機器視覺計算機視覺是兩密切相關但又有所區別的概念。 、定義 機器視覺 機器
    的頭像 發表于 07-16 10:23 ?602次閱讀

    計算機視覺與機器視覺的區別與聯系

    隨著人工智能技術的飛速發展,計算機視覺和機器視覺作為該領域的兩重要分支,逐漸引起了廣泛關注。盡管兩者
    的頭像 發表于 07-10 18:24 ?1641次閱讀

    計算機視覺的工作原理和應用

    計算機視覺(Computer Vision,簡稱CV)是門跨學科的研究領域,它利用計算機和數學算法來模擬人類
    的頭像 發表于 07-10 18:24 ?2235次閱讀

    計算機視覺與人工智能的關系是什么

    引言 計算機視覺門研究如何使計算機能夠理解和解釋視覺信息的學科。它涉及到圖像處理、模式識別、機器學習等多個
    的頭像 發表于 07-09 09:25 ?729次閱讀

    計算機視覺與智能感知是干嘛的

    感知(Intelligent Perception)則是計算機視覺分支,它強調計算機處理
    的頭像 發表于 07-09 09:23 ?1035次閱讀

    計算機視覺和機器視覺區別在哪

    ,旨在實現對圖像和視頻的自動分析和理解。 機器視覺 機器視覺計算機視覺分支,主要應用于
    的頭像 發表于 07-09 09:22 ?509次閱讀

    計算機視覺人工智能領域有哪些主要應用?

    計算機視覺是人工智能領域重要分支,它主要研究如何讓計算機能夠像人類
    的頭像 發表于 07-09 09:14 ?1561次閱讀

    計算機視覺屬于人工智能嗎

    屬于,計算機視覺是人工智能領域重要分支。 引言 計算機
    的頭像 發表于 07-09 09:11 ?1386次閱讀

    深度學習計算機視覺領域的應用

    隨著人工智能技術的飛速發展,深度學習作為其中的核心技術之,已經計算機視覺領域取得了顯著的成果。計算機
    的頭像 發表于 07-01 11:38 ?933次閱讀

    工業控制計算機的特點 工業控制計算機的應用領域

    工業控制計算機種專門為工業自動化和控制系統設計的計算機。它具有高度的可靠性、穩定性和實時性,能夠滿足
    的頭像 發表于 06-16 11:30 ?1554次閱讀

    機器視覺計算機視覺的區別

    人工智能和自動化技術的快速發展中,機器視覺(Machine Vision, MV)和計算機視覺(Computer Vision, CV)作為兩
    的頭像 發表于 06-06 17:24 ?1407次閱讀

    計算機視覺的主要研究方向

    計算機視覺(Computer Vision, CV)作為人工智能領域重要分支,致力于使計算機
    的頭像 發表于 06-06 17:17 ?1094次閱讀

    工業計算機與普通計算機的區別

    信息化和自動化日益發展的今天,計算機已經成為了我們日常生活和工作中不可或缺的工具。然而,計算機領域中,
    的頭像 發表于 06-06 16:45 ?1563次閱讀

    計算機視覺的十大算法

    隨著科技的不斷發展,計算機視覺領域也取得了長足的進步。本文將介紹計算機視覺領域的十大算法,包括它
    的頭像 發表于 02-19 13:26 ?1320次閱讀
    <b class='flag-5'>計算機</b><b class='flag-5'>視覺</b>的十大算法
    主站蜘蛛池模板: 欧美黄色xxx | 亚洲国产精品特色大片观看 | 一本色道久久88加勒比—综合 | 99久久亚洲 | 99视频在线免费看 | 伊人久久大香线蕉资源 | 国产免费福利在线视频 | 99re6久久热在线播放 | 男人的天堂色偷偷 | 亚洲黄色成人 | 亚洲国产成人精品无码区APP | 国产交换丝雨巅峰 | 睡觉被偷偷进入magnet | 99国产小视频 | 色裕插插插影视 | 精品一区二区三区高清免费观看 | 天美传媒麻豆精品 | 国产在线播放KKK | 国产日韩亚洲精品视频 | 麻豆婷婷狠狠色18禁久久 | 九九热这里只有精品视频免费 | 三级黄毛片 | 国产成人精品一区二区三区视频 | 国产91综合| 麻豆国产MV视频 | 一本道久在线综合色色 | 国产精品久久久久久久久免费下载 | 色多多污版app下载网站 | 亚洲AV无码A片在线观看蜜桃 | 亚洲日本一区二区三区在线不卡 | 久久亚洲精品中文字幕 | 国产美熟女乱又伦AV | 加勒比一本之道高清视频在线观看 | 国产精品高清在线观看地址 | 亚洲成A人片在线观看中文L | 久久精品麻豆国产天美传媒果冻 | 波多野结衣网站www 波多野结衣教师系列6 | 永久免费精品精品永久-夜色 | 欧美日韩高清一区二区三区 | 日本熟妇多毛XXXXX视频 | 免费毛片播放 |