【機器視覺】——裂紋檢測筆記

目錄

傳統算法處理裂縫的基本思路:

第一種思路

第二種思路:

第三種思路

CPP代碼

halcon代碼

python代碼

Matlab代碼

深度學習缺陷檢測

裂縫檢測文獻


傳統算法處理裂縫的基本思路:

第一種思路

1.先轉換彩色圖為灰度圖
2.進行自適應局部閾值化,目的是為了減少光照與陰影對閾值的影響
3.進行膨脹操作,盡量放大凸顯裂縫,在用中值濾波平滑一下,去除一些高頻噪聲
4.進行腐蝕操作,讓輪廓枝干化,減少類似裂縫物體的干擾。
5.測量裂縫寬和高
代碼見:https://blog.csdn.net/freedom098/article/details/52774911/

第二種思路:

基于機器視覺的裂紋檢測與跟蹤
1.針對白亮的圖像,先結合原色先驗理論和去霧技術,增強裂紋特征,并對增強后的裂紋特征進行邊緣提取,分析比較亞像素邊緣檢測。
https://blog.csdn.net/qq_16481211/article/details/79963651

第三種思路

形態學梯度(形態學邊緣提取)
https://blog.csdn.net/wenhao_ir/article/details/51888042

CPP代碼

1.標裂縫長寬–裂縫的檢測與測量
處理流程如下:
圖像灰度化
增加對比度
Canny邊緣檢測
用形態學連接臨近裂縫
找出所有連通域,刪除非裂縫噪點區域
對每個連通域提取骨架,測量長度和寬度
https://blog.csdn.net/m0_37350758/article/details/89413655
2.處理簡單裂縫:
https://blog.csdn.net/qq_16481211/article/details/79963651
3.找輪廓并畫缺陷
https://blog.csdn.net/hechaoqi09/article/details/84862938
4.sobel算子與scharr算子
canny算子不保證邊緣連續,而且無法給出直線劃分,但卻給我們一個分析問題的方向。以下思路是在canny算子的基礎上進行的。對于比較直,但長度粗細不定,有些地方非常微弱,斷斷續續的直線,可能是個好方向,此處記錄一下。
https://blog.csdn.net/weixin_34068198/article/details/91306309
5.基于OpenCv的金屬表面劃痕檢測
https://blog.csdn.net/guoruijiushiwo/article/details/77412617
6.圓環零件檢測,劃痕檢測
https://blog.csdn.net/weixin_44076038/article/details/87723386
7.凹點檢測研究
https://blog.csdn.net/u014003644/article/details/80288830

halcon代碼

1…缺陷檢測之高紋理圖像檢測
https://blog.csdn.net/y363703390/article/details/82424988
2.缺陷檢測之劃傷檢測
https://blog.csdn.net/y363703390/article/details/82454045
3.處理金屬表面凹坑
https://blog.csdn.net/Bamboo265925/article/details/85252042

python代碼

1.尋找相似的灰度值來找到可能存在的裂縫
https://blog.csdn.net/cywtiancai/article/details/80601407
2.python處理缺陷圖像,返回缺陷面積
https://blog.csdn.net/qq_19656669/article/details/79963347
3.圓口缺陷檢測,通過面積的差別判斷圓口是否是規范圓
https://blog.csdn.net/renegade_m/article/details/82292313

Matlab代碼

1.對鋼板表面缺陷檢測:幾何校正、分割、填充紅色、計算面積
https://blog.csdn.net/qq_41385719/article/details/80273946

深度學習缺陷檢測

1.結合GAN生成多樣性裂縫,提高數據多樣性和均衡性
https://blog.csdn.net/c2a2o2/article/details/85111283
2.SSD深度學習模型對工件裂紋進行檢測
https://blog.csdn.net/qq_29462849/article/details/83472430
3.基于yolov3的鐵軌缺陷/裂紋檢測
https://blog.csdn.net/qq_29462849/article/details/84772263
4.tiny YOLO v3做缺陷檢測實戰
https://blog.csdn.net/qq_27871973/article/details/85009026
5.手機屏缺陷檢測《Scale insensitive and focus driven mobile screen defect detection in industry》
https://blog.csdn.net/qq_27871973/article/details/83345023
細節和技巧:
1).將放縮后的不同尺寸的圖像輸入AlexNet網絡,看各個網絡層的feature map激活情況
2).最后作者將一個原始圖像分成多個模塊進行特征提取,然后將提取的特征輸入RNN網絡進行判別
3).作者在實驗中,使用了簡單的數據擴充方法對樣本進行擴充。不過對于顯示屏檢測這個領域有些缺陷很明顯,有的缺陷真的是肉眼都難以分辨,通過微妙的色調變換,就構成了缺陷.
6.深度學習實現工業零件的缺陷檢測
https://blog.csdn.net/qq_29462849/article/details/82662928
細節和技巧:
1).對工業缺陷零件來說,由于特征不是太明顯,往往只是一小塊,在選擇網絡的時候,要考慮把淺層特征和深度特征進行融合,這樣的話就不會造成主要特征丟失。關于網絡,推薦使用ResNet、DenseNet、InceptionResNetV2這些,經過自己的測試,DenseNet效果要更好些,深度在22層左右。
2).可以選取不同的數據(數據最好不要完全相同)訓練幾個不同的模型,比如訓練出三個模型分別對應:ResNet、DenseNet、InceptionResNetV2。訓練完成后,把這三個模型的全連接層去掉,只用這三個模型的卷積層進行特征提取,然后把提取的特征進行拼接,可以在channel方向上(此時要求feature map的w和h必須相同),也可以在對應位置上進行特征相加(點加)。然后把這些特征進行匯總,重新建立三個網絡,每個網絡模型分別對應訓練好的三個模型,提取訓練好模型的參數,賦給新的模型,然后建立全連接層,這個時候只有一個全連接層。在訓練的時候,新的網絡只用來做特征提取,卷積層的參數不做訓練,把這些網絡參數凍結,只更新全連接層。
3).對于2中的特征融合,還有一種方法就是:用三個訓練好的模型進行特征提取,然后建立一個mlp多層感知機類型的網絡。訓練好的模型去掉全連接層,只保存卷積層,做特征提取,并把產生的特征進行拼接,訓練時只對全連接層進行更新。
如果整個場景圖像特別大,缺陷特征比較局部化,對圖像進行卷積操作后,特征基本上不存在,這時可以考慮把場景圖像進行切分,比如一個場景圖像被切分成四份,可以橫向切分,也可以縱向切分。然后需要自己去做數據,賦以標簽。在做數據上可能要花點時間,不過效果還不錯。在預測的時候,只要場景圖像的四個子圖像有一個是缺陷圖像,就認為其是缺陷圖像。這在一定程度上避免了特征過于局部化。
4).Focal Loss:用來解決數據不均衡問題。

裂縫檢測文獻

1.kmeans篩選裂縫,然后膨脹,腐蝕,把裂縫輪廓清晰化
http://www.doc88.com/p-7377816204970.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/news/255769.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255769.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255769.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

利用union判斷系統的大小端

int checkCPUendian()//返回1,為小端;反之,為大端; { union{ unsigned int a; unsigned char b; }c; c.a 1; return 1 c.b; }大端模式(Big-endian),是指數據的高字節保存在內存的低地址中,而數據…

Filter(過濾器)?和?interceptor(攔截器)的區別

Filter(過濾器) 和 interceptor(攔截器)的區別 1.攔截器是基于java反射機制的,而過濾器是基于函數回調的。 2.過濾器依賴于Servlet容器,而攔截器不依賴于Servlet容器。 3.攔截器只對Action請求起作用&#…

ROS探索總結(二)——ROS總體框架

一、 總體結構 根據ROS系統代碼的維護者和分布來標示,主要有兩大部分:(1)main:核心部分,主要由Willow Garage公司和一些開發者設計、提供以及維護。它提供了一些分布式計算的基本工具,以及整個…

python 阿貍的進階之路(4)

裝飾器 #1、開放封閉原則:對擴展開放,對修改是封閉#2、裝飾器:裝飾它人的,器指的是任意可調用對象,現在的場景裝飾器-》函數,被裝飾的對象也是-》函數#原則:1、不修改被裝飾對象的源代碼 2、不修…

【深度學習】——利用pytorch搭建一個完整的深度學習項目(構建模型、加載數據集、參數配置、訓練、模型保存、預測)

目錄 一、深度學習項目的基本構成 二、實戰(貓狗分類) 1、數據集下載 2、dataset.py文件 3、model.py 4、config.py 5、predict.py 一、深度學習項目的基本構成 一個深度學習模型一般包含以下幾個文件: datasets文件夾:存放…

二叉樹的序遍歷

時間限制: 1 s空間限制: 32000 KB題目等級 : 白銀 Silver題目描述 Description求一棵二叉樹的前序遍歷,中序遍歷和后序遍歷 輸入描述 Input Description第一行一個整數n,表示這棵樹的節點個數。 接下來n行每行2個整數L和R。第i行的兩個整數Li和Ri代表編號…

GUI登錄界面

在這次的作業中,我先使用單選按鈕,輸入框,復選框設計了一個簡單地登錄界面。接著我使用了MouseListener將登陸按鈕與下一個“查詢界面”連接起來。最后我使用了我們本周所學的JFrame框架與事件處理機制設計了一個簡單地界面。我所設計的登錄界…

淺談ROS操作系統及其應用趨勢

ROS操作系統是最先由斯坦福開發的開源機器人操作系統,目前由willowgarage公司開發和維護,相關的開發社區也很成熟( http://www.ros.org , http://answers.ros.org, http://www.willowgarage.com), 經過幾年的發展API也逐漸穩定&a…

Raft學習傳送門

Raft官網 官方可視化動畫1 官方可視化動畫2 論文中文翻譯 論文英文地址 Paxos Made Simple論文翻譯 Raft理解 技術分享 《分布式一致性raft算法實現原理》 狀態機 MIT: raft實現 分布式系統學習2-Raft算法分析與實現 分布式系統MIT 6.824學習資源 知乎大神的&#…

【Python生成器與迭代器的區別】

目錄 一、迭代 二、迭代器 1)創建迭代器——兩種方法 iter()方法 利用()和range結合使用 2)具體案例 3、生成器 4、二者的異同 1)、共同點 2)、不同點 a、語法上 b、用法上 一、迭代 首先理解一…

BZOJ4426 : [Nwerc2015]Better Productivity最大生產率

如果一個區間包含另一個區間,那么這兩個區間是否在一起的生產率是一樣的。 將所有這種包含了其他區間的區間放入數組$b$,其余的放入數組$c$,有多個相同的時候則從$b$移一個到$c$。 那么$c$里所有區間左端點遞增,右端點也遞增&…

[codevs1105][COJ0183][NOIP2005]過河

[codevs1105][COJ0183][NOIP2005]過河 試題描述 在河上有一座獨木橋,一只青蛙想沿著獨木橋從河的一側跳到另一側。在橋上有一些石子,青蛙很討厭踩在這些石子上。由于橋的長度和青蛙一次跳過的距離都是正整數,我們可以把獨木橋上青蛙可能到達的…

ABB機器人套接口通信 機器人部分

ABB機器人套接口通信 機器人部分 文章機器人部分,描述如何運行機器人從機程序,使機器人根據上位機節點發送的命令,執行具體運動。 ABB機器人執行3個任務。這些任務都配置為SEMISTATIC(背景程序)的任務,第三任務是正常動作任務。下文描述如…

CRM項目總結

CRM項目總結 一:開發背景 在公司日益擴大的過程中,不可避免的會伴隨著更多問題出現。 對外 : 如何更好的管理客戶與公司的關系?如何更及時的了解客戶日益發展的需求變化?公司的產品是否真的符合客戶需求?以…

【面經——《速騰聚創科技有限公司——深度學習算法工程師》】

自我介紹 實習項目 1)項目主要應用的領域? 2)難點在哪?——機械臂吸盤大小和目標大小之間坐標的協調 3)難點不在于算法,在于數據的處理和均衡性?對于數據均衡方面有什么理解&#xf…

js變量和數據類型

轉載于:https://www.cnblogs.com/songyinan/p/6181421.html

offline .net3.5

1.加載虛擬光驅 2.dism.exe /online /enable-feature /featurename:netfx3 /Source:D:\sources\sxs轉載于:https://www.cnblogs.com/BillLei/p/5294082.html

(九)模板方法模式詳解(包含與類加載器不得不說的故事)

作者:zuoxiaolong8810(左瀟龍),轉載請注明出處,特別說明:本博文來自博主原博客,為保證新博客中博文的完整性,特復制到此留存,如需轉載請注明新博客地址即可。 模板方法模…

阿里云openapi接口使用,PHP,視頻直播

1.下載sdk放入項目文件夾中 核心就是aliyun-php-sdk-core,它的配置文件會自動加載相應的類 2.引入文件 include_once LIB_PATH . ORG/aliyun-openapi/aliyun-php-sdk-core/Config.php; 3.配置客戶端對象,需要Access Key ID,Access Key Secret $iClientProfile Defa…

【面經——《廣州敏視數碼科技有限公司》——圖像處理算法工程師-深度學習方向】

目錄 筆試 HR面 專業面——60多分鐘 主管面 反問: 筆試 8道題——簡答題 1道編程 蘋果、香蕉、梨、菠蘿,彩色圖像如何進行分類?一輛帶車牌的汽車,圖像亮度整體呈現偏亮狀態,如何…