1)提供工业小缺陷检测性能提升方案,满足部署条件;
2)针对缺陷样品少等难点,引入无监督检测;
3)深度学习 C++、C#部署方案;
4)实战工业缺陷检测项目,学习如何选择合适的框架和模型;
layers | ?parameters | GFLOPs | ?mAP50 | mAP50-95 | |
YOLOv8n? | 168 | 3006038 | 8.1 | 0.679 | 0.322 |
YOLOv8n_smallobject? | 207 | 2977720 | 12.5 | 0.702 | 0.359 |
Wasserstein loss | 168 | 3006038 | 8.1 | 0.714 | 0.342 |
YOLOv8n_CSPStage | 232 | 2982742 | 8.1 | 0.727 | 0.339 |
YOLOv8n_smallobject _CSPStage | 303 | 2953528 | 12.5 | 0.734 | 0.376 |
YOLOv8n_smallobject _CSPStage+Wasserstein loss | 303 | 2953528 | 12.5 | 0.814 | 0.416 |
目录
1.1 动态蛇形卷积(Dynamic Snake Convolution),实现暴力涨点 | ICCV2023
1.2 微小目标检测可能存在检测能力不佳的现象,添加一个微小物体的检测头
1.4大缺陷小缺陷一网打尽的轻量级目标检测器GiraffeDet
?1.5 多检测头结合小缺陷到大缺陷一网打尽的轻量级目标检测器GiraffeDet
?1.6?Wasserstein Distance Loss,助力工业缺陷检测
1.7 工业部署级解决方案:?多头检测器+小缺陷到大缺陷一网打尽的+Wasserstein Distance Loss
2.1?工业无监督缺陷检测,提升缺陷检测能力,解决缺陷样品少、不平衡等问题
2.2??工业无监督缺陷检测,提升缺陷检测能力,解决缺陷样品少、不平衡等问题(二)
2.3??工业缺陷检测全流程解决方案,提供检测+后处理、分割+后处理、检测+RoI分割+后处理解决方案
3.2?C++ GPU部署方式介绍:ONNX Runtime
3.3?YOLOV8 Onnxruntime Opencv DNN C++部署
1.工业油污数据集介绍
三星油污缺陷类别:头发丝和小黑点,["TFS","XZW"]?
数据集大小:660张,包括部分良品图像,提升背景检测能力。
数据集地址:https://download.csdn.net/download/m0_63774211/87741209
缺陷特点:小目标缺陷,检测难度大,如下图所示;
Dynamic Snake Convolution?| ??亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.743
??主要的挑战源于细长微弱的局部结构特征与复杂多变的全局形态特征。本文关注到管状结构细长连续的特点,并利用这一信息在神经网络以下三个阶段同时增强感知:特征提取、特征融合和损失约束。分别设计了动态蛇形卷积(Dynamic?Snake?Convolution),多视角特征融合策略与连续性拓扑约束损失。?
?????????我们希望卷积核一方面能够自由地贴合结构学习特征,另一方面能够在约束条件下不偏离目标结构太远。在观察管状结构的细长连续的特征后,脑海里想到了一个动物——蛇。我们希望卷积核能够像蛇一样动态地扭动,来贴合目标的结构。
原始mAP@0.5 0.679提升至0.743
YOLOv8-C2f-DySnakeConv summary: 249 layers, 3425894 parameters, 0 gradients, 8.7 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 2/2 [00:04<00:00, 2.15s/it]
all 66 187 0.722 0.668 0.743 0.342
TFS 66 130 0.582 0.6 0.638 0.295
XZW 66 57 0.862 0.737 0.847 0.388
基于Yolov8的工业小目标缺陷检测(2):动态蛇形卷积(Dynamic Snake Convolution),实现暴力涨点 | ICCV2023_AI小怪兽的博客-CSDN博客
多头检测器?| ??亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.702
原始mAP@0.5 0.679提升至0.702
YOLOv8n_4 summary (fused): 207 layers, 2977720 parameters, 0 gradients, 12.5 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 3/3 [00:04<00:00, 1.64s/it]
all 66 187 0.68 0.612 0.702 0.359
TFS 66 130 0.486 0.487 0.52 0.228
XZW 66 57 0.875 0.737 0.885 0.49
基于Yolov8的工业小目标缺陷检测(3):多检测头提升小目标检测精度_AI小怪兽的博客-CSDN博客
SPD-Conv?| ??亲测在工业小目标缺陷涨点明显,原始mAP@0.5?0.679提升至0.775
SPD- conv由一个空间到深度(SPD)层和一个非跨步卷积层组成。SPD组件推广了一种(原始)图像转换技术[29]来对CNN内部和整个CNN的特征映射进行下采样:
?原始mAP@0.5 0.679提升至0.775
YOLOv8n_SPD summary (fused): 174 layers, 3598934 parameters, 0 gradients, 49.2 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 3/3 [00:13<00:00, 4.51s/it]
all 66 187 0.741 0.693 0.775 0.415
TFS 66 130 0.593 0.562 0.629 0.314
XZW 66 57 0.89 0.825 0.92 0.516
基于Yolov8的工业小目标缺陷检测(4):SPD-Conv,低分辨率图像和小物体涨点明显_AI小怪兽的博客-CSDN博客
??GiraffeDet?| ??亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.727
?
?????????本文提出了GiraffeDet用于高效目标检测,giraffe包含轻量space-to-depth chain、Generalized-FPN以及预测网络
????????FPN旨在对CNN骨干网络提取的不同分辨率的多尺度特征进行融合。上图给出了FPN的进化,从最初的FPN到PANet再到BiFPN。我们注意到:这些FPN架构仅聚焦于特征融合,缺少了块内连接。因此,我们设计了一种新的路径融合GFPN:包含跳层与跨尺度连接,见上图d。
?原始mAP@0.5 0.679提升至0.734
YOLOv8n_4_CSPStage summary: 303 layers, 2953528 parameters, 0 gradients, 12.5 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 3/3 [00:04<00:00, 1.56s/it]
all 66 187 0.689 0.68 0.734 0.376
TFS 66 130 0.523 0.554 0.571 0.267
XZW 66 57 0.855 0.807 0.896 0.486
基于Yolov8的工业小目标缺陷检测(5):大缺陷小缺陷一网打尽的轻量级目标检测器GiraffeDet,暴力提升工业缺陷检测能力_AI小怪兽的博客-CSDN博客
多头检测器+?GiraffeDet?| ??亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.734
基于Yolov8的工业小目标缺陷检测(6):多检测头结合小缺陷到大缺陷一网打尽的轻量级目标检测器GiraffeDet,暴力提升工业小目标缺陷检测能力_AI小怪兽的博客-CSDN博客
?原始mAP@0.5 0.679提升至0.734
YOLOv8n_4_CSPStage summary: 303 layers, 2953528 parameters, 0 gradients, 12.5 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 3/3 [00:04<00:00, 1.56s/it]
all 66 187 0.689 0.68 0.734 0.376
TFS 66 130 0.523 0.554 0.571 0.267
XZW 66 57 0.855 0.807 0.896 0.486
Wasserstein Distance Loss?| ??亲测在工业小目标缺陷涨点明显,原始mAP@0.5 0.679提升至0.727
??
Wasserstein distance的主要优点是:
NWD可应用于One-Stage和Multi-Stage Anchor-Based检测器。此外,NWD不仅可以替代标签分配中的IoU,还可以替代非最大抑制中的IoU(NMS)和回归损失函数。在一个新的TOD数据集AI-TOD上的大量实验表明,本文提出的NWD可以持续地提高所有检测器的检测性能。
?原始mAP@0.5 0.679提升至0.727
?
YOLOv8n summary (fused): 168 layers, 3006038 parameters, 0 gradients, 8.1 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 3/3 [00:04<00:00, 1.45s/it]
all 66 187 0.673 0.649 0.714 0.342
TFS 66 130 0.573 0.579 0.615 0.283
XZW 66 57 0.772 0.719 0.813 0.401
基于Yolov8的工业小目标缺陷检测(7):Wasserstein Distance Loss,助力工业缺陷检测_AI小怪兽的博客-CSDN博客
?原始mAP@0.5 0.679提升至0.814
??
YOLOv8_4_CSPStage summary: 303 layers, 2953528 parameters, 0 gradients, 12.5 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 2/2 [00:04<00:00, 2.19s/it]
all 66 187 0.783 0.705 0.814 0.416
TFS 66 130 0.647 0.619 0.693 0.317
XZW 66 57 0.919 0.792 0.935 0.514
https://cv2023.blog.csdn.net/article/details/133273158
番外篇(一):工业端面小目标计数检测
??端面小目标计数数据集介绍
工业端面小目标计数类别:一类,类别名object
数据集大小:训练集864张,验证集98张
数据集下载地址:目标检测数据集:工业端面小目标缺陷计数数据集_AI小怪兽的博客-CSDN博客
缺陷特点:小目标计数,检测难度大,如下图所示;
?原始性能
??预测结果:
YOLOv8n summary (fused): 168 layers, 3005843 parameters, 0 gradients, 8.1 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 3/3 [00:47<00:00, 15.76s/it]
all 96 5055 0.912 0.915 0.936 0.772
?
提出了一种全新的信息交互融合机制:信息聚集-分发机制(Gather-and-Distribute Mechanism)。该机制通过在全局上融合不同层次的特征得到全局信息,并将全局信息注入到不同层级的特征中,实现了高效的信息交互和融合。在不显著增加延迟的情况下GD机制显著增强了Neck部分的信息融合能力,提高了模型对不同大小物体的检测能力。?
?
?在Gold-YOLO中,针对模型需要检测不同大小的物体的需要,并权衡精度和速度,我们构建了两个GD分支对信息进行融合:低层级信息聚集-分发分支(Low-GD)和高层级信息聚集-分发分支(High-GD),分别基于卷积和transformer提取和融合特征信息。
?
?原始mAP@0.5 0.936提升至0.945
?
YOLOv8-goldYOLO summary: 359 layers, 6015123 parameters, 0 gradients, 11.9 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 3/3 [00:09<00:00, 3.11s/it]
all 96 5055 0.91 0.922 0.945 0.787
基于Yolov8的工业端面小目标计数检测(2):Gold-YOLO,遥遥领先,超越所有YOLO | 华为诺亚NeurIPS23_AI小怪兽的博客-CSDN博客
?原始mAP@0.5 0.936提升至0.955
???
YOLOv8_4_CSPStage summary: 303 layers, 2953396 parameters, 0 gradients, 12.5 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 6/6 [00:22<00:00, 3.75s/it]
all 96 5055 0.92 0.951 0.955 0.811
未完待续,持续更新中
工业无监督缺陷检测,提升缺陷检测能力,解决缺陷样品少、不平衡等问题_AI小怪兽的博客-CSDN博客
工业无监督缺陷检测,提升缺陷检测能力,解决缺陷样品少、不平衡等问题(二)_AI小怪兽的博客-CSDN博客
工业缺陷检测全流程解决方案,提供检测+后处理、分割+后处理、检测+RoI分割+后处理解决方案_AI小怪兽的博客-CSDN博客
Yolov5 + Opencv DNN + C++部署_AI小怪兽的博客-CSDN博客
?Yolov5 C++ GPU部署方式介绍:ONNX Runtime_AI小怪兽的博客-CSDN博客
YOLOV8 Onnxruntime Opencv DNN C++部署_AI小怪兽的博客-CSDN博客
基于yolov5的缺陷检测算法(工件缺陷)_yolov5做毕设的难点_AI小怪兽的博客-CSDN博客
基于PaddleSeg的工业缺陷分割检测之手机背板缺陷分割_工业分割数据集_AI小怪兽的博客-CSDN博客
基于Yolov5的工业缺陷检测之小目标摄像头镜头缺陷检测_yolov5缺陷检测_AI小怪兽的博客-CSDN博客
基于PaddleSeg的划痕检测_AI小怪兽的博客-CSDN博客
?基于Yolov5的玻璃瓶盖缺陷检测_玻璃缺陷数据集_AI小怪兽的博客-CSDN博客