目录

传统算法处理裂缝的基本思路:

第一种思路

第二种思路:

第三种思路

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

【机器视觉】——裂纹检测笔记相关推荐

  1. 使用 Python 进行深度学习以进行裂纹检测

    使用 Python 进行深度学习以进行裂纹检测 问题陈述 数据集准备 训练模型 结论 参考 问题陈述 虽然新技术已经改变了我们生活的方方面面,在建筑领域似乎牛逼Ø正在努力追赶.目前,建筑物的结构状况仍 ...

  2. visionpro定位不跟随图像_塑料薄膜缺陷之机器视觉定位检测

    随着科技发展和需求量的提升,越来越多的薄膜生产企业要求速度更快.幅度更高的生产线.然而,依靠人工检测早已无法满足生产和高速的薄膜生产线的需求,容易造成质量的损失.薄膜表面瑕疵缺陷检测主要是检测在生产过 ...

  3. 机器视觉表面缺陷检测综述

    转自:http://www.cjig.cn/html/jig/2017/12/20171202.htm#b22 机器视觉表面缺陷检测综述 <中国图像图形学报> Tang B, Kong J ...

  4. 2017-12-16 机器视觉表面缺陷检测综述

    机器视觉表面缺陷检测综述 转载自:http://www.cjig.cn/html/jig/2017/12/20171202.htm#top <中国图像图形学报> Tang B, Kong ...

  5. 基于OpenCV的混凝土裂纹检测

    基于OpenCV的混凝土裂纹检测 前言 这是我发的第一次博客,有什么建议大家可以给我留言,感激不尽! 接下来,我们进入正题. 一.使用函数库 numpy, opencv, heapq, skimage ...

  6. 基于深度学习(AI人工智能)技术的机器视觉外观检测系统-GalileoX软件介绍

    制造业是中国工业化的源头,是实现现代化的主力军,在中国每天都要生产大量的工业产品.随着生活品质的提高,对产品质量的要求越来越高,除要求满足使用性能外,还要有良好的外观,即良好的表面质量.不同产品的表面 ...

  7. 不用写算法的机器视觉外观检测软件——让自动化检测更加简便

    机器视觉,如今对于中国制造业来说,已经不是一个陌生的名词.众所周知,早在10多年前,机器视觉就被引入中国,但是在很长的一段时间里,其产品和技术一直难以普及.伴随着中国制造业的蓬勃发展,机器视觉产业在中 ...

  8. 不用写算法的机器视觉外观检测软件

    目前很多的机器视觉外观检测都是需要用到大量的算法操作,对于一部分的新手工程师来说并不友好,就算是老练的工程师在这方面也耗费时间比较多.对于工业生产来说这并不是想要的理想结果.那么在这种情况下突破这瓶颈 ...

  9. 模式识别和机器学习有必要学么_【视觉】机器视觉表面缺陷检测综述(下)

    摘自于:汤勃, 孔建益, 伍世虔. 机器视觉表面缺陷检测综述[J]. 中国图象图形学报, 2017, 22(12):1640-1663.关键词:机器视觉; 表面缺陷; 检测算法; 图像处理; 图像识别 ...

最新文章

  1. 国内42所一流大学综合排名出炉!清北之后谁是国内第三?
  2. 从MEMS专利数量分析我国MEMS传感器产业现状
  3. define 双引号 其他宏_当年宏语言不受欢迎?背后的原因你知道吗?
  4. Java 8 - 收集器Collectors_分区partitioningBy
  5. Linux下安装RabbitMQ
  6. linux raid1 分区表,在 Linux 下使用 RAID(三):用两块磁盘创建 RAID 1(镜像)
  7. zookeeper kafka迁移后logstash消费不了Kafka消息
  8. struts2中拦截器的使用
  9. Mysql数据库(八)——mysql高阶语句(中)
  10. 文本分类模型_文本分类中的经典深度学习模型
  11. 使用Java对sftp带有中文路径的文件夹进行下载,乱码打不开文件夹
  12. 《高翔视觉slam十四讲》学习笔记 第五讲 相机与图像
  13. debian webmin 安装
  14. C++两个类互相引用,如何处理最好
  15. 6年后再一次Hello World!这本书让你久等了!
  16. python基础--综合练习(之王者荣耀小游戏)
  17. android 锁屏显示消息格式,通知!在锁屏上显示Android通知 | MOS86
  18. js-showModalDialog和dialogArguments
  19. 服务器装系统报0x0000005d,虚拟机无法安装win10系统提示错误代码0x0000005D怎么办...
  20. 分糖果系列一(DP+暴力)

热门文章

  1. UE4\UE5 蓝图节点Delay与Retriggerable Delay的使用与区别
  2. 电磁流量计的结构功能
  3. cer格式证书转pem格式
  4. Python-Tkinter 电子记事本
  5. The Little Book of Mindfulness by Gilly Pickup
  6. 用于在MYSQL中创建存储过程的关键字是_下面选项中,用于在删除存储过程时,检测存储过程是否存在的关键字是_学小易找答案...
  7. 视频解读:数据化闭环洞察消费者
  8. 电化学传感器(6)---电流型气体传感器(AGS)中的气体扩散和限制电流
  9. 使用C#写最基本的五子棋
  10. mysql下载好压缩包如何安装_Mysql下载压缩包安装及Navicat连接