YOLO管道缺陷检测实战:1000张图像训练裂纹/孔洞/屈曲/碎片识别模型 📅 发布时间:2026/8/28 21:30:25 👁 浏览次数: 简介目标检测是工业视觉领域的核心技术之一常被用于自动化质检与设备巡检。在管道的运维场景中裂纹、孔洞、屈曲、碎片等缺陷的识别尤为关键因为这些损伤直接关系到输送安全和设备寿命。然而公开的管道内壁缺陷数据很少标注格式多样、类别覆盖不全导致实际训练效果难以落地。YOLO作为工程中广泛使用的实时检测框架具备训练高效、部署灵活的优势非常适合在小规模但类别明确的数据集上完成微调训练。通过合理划分训练集与验证集、制定统一的标注规范、调整数据增强策略即使是1000张图像也能训练出具备可用精度的缺陷检测模型服务于智慧管网、市政排水检测、油气田巡检等应用。本文围绕这一实践路径解析数据集构建、YOLO系列选型、训练配置与部署方案帮助你快速搭建管道缺陷检测的最小可行系统。1. 为什么管道缺陷检测值得做一套专用数据集管道在工业生产里属于典型的高价值、高隐蔽性、高事故率设备。不管是输油、输气、供水还是化工物料管线运行一段时间后都会出现裂纹、孔洞、屈曲变形、内壁碎片脱落这类缺陷。裂纹会导致介质泄漏孔洞直接引发爆管屈曲说明结构承力已经异常碎片则可能堵塞下游阀门或损坏泵体。这些问题一旦漏检轻则停机抢修重则安全事故。所以管道巡检一直是工业视觉里非常刚性的一块需求但真正落地时大家会发现算法好训数据难得。网上公开的工业缺陷数据集大多集中在钢材表面、布料瑕疵、电池极片这些领域专门针对管道内壁的公开数据集少得可怜。就算能找到一些水下管道裂缝图也往往存在三类问题一是图像来源单一基本来自同一台设备、同一种光照环境模型泛化能力很差二是标注格式混乱有的是Pascal VOC有的是COCO有的干脆只有框没有类别三是缺陷类别不完整很多数据集只标了裂纹和孔洞屈曲和碎片这两类没人管。这就导致你用公开数据训练完一到自己的管道场景里精度直接掉到没法看。所以当我看到这个“YOLO系列管道缺陷检测数据集1000张图像标注裂纹/孔洞/屈曲/碎片缺陷”的项目时第一反应是这正好补上了工业视觉里一块很实际的短板。1000张图不算大但胜在目标明确、标注齐全四类缺陷crack、hole、buckle、fragment覆盖了管道内壁最常见的失效形态。对于做智慧管网、油气田巡检、市政排水检测、特种设备检验的人来说这可以直接作为起点数据集用来做算法验证、模型预训练、标注规范参考都非常合适。接下来我把这个项目从头到尾拆一遍内容包括数据集的构建思路、YOLO系列选型逻辑、训练实战配置、效果验证方法以及这类数据集后续怎么扩展才能用到真正的生产环境里。无论你是刚接触YOLO的学生还是已经在工业检测领域踩过坑的工程师这篇文章都值得花十分钟看完。2. 数据规模与缺陷类型的匹配逻辑1000张图够不够用先说一个很多人都会问的问题1000张图像训YOLO是不是太少了直说结论如果是做那种上千类别的通用目标检测1000张图确实不够看但如果你只是检测管道内壁的四类缺陷1000张图完全够起步关键看你怎么组织数据分布。这里要理解一个核心逻辑目标检测模型需要学习的本质是“缺陷外观的多样性”而不是“图像数量本身”。一张图上如果有5个裂纹和2个孔洞那它带来的有效正样本是7个不是1个。在我实际处理过的类似项目里管道缺陷这类目标有几个特点导致它比通用目标检测更“省数据”缺陷形态高度固定。裂纹就是线状或树枝状的暗色纹路孔洞就是圆形或不规则暗区屈曲就是管壁结构变形碎片就是带有明显边界的块状物。类间差异大类内差异相对小。场景相对单一。管道内壁的背景基本是金属灰色调光照来自机器人携带的LED灯或激光扫描不像自动驾驶那样有街道、建筑、树木等复杂背景干扰。目标尺寸分布集中。缺陷通常占图像面积的1%到10%没有极端的小目标或大目标对网络的尺度适应性要求没那么苛刻。所以这1000张图只要做一件事就够确保每一类缺陷的标注实例数量足够。按照经验阈值四类缺陷每类最好不少于300个标注实例。如果1000张图里每张平均有2到3个缺陷那总实例数在2000到3000之间平均每类500到750个这个量级训练YOLOv8s或YOLOv8m是完全够用的。还有一个容易被忽略的点数据集的“难例比例”比“总量”更重要。比如裂纹如果1000张图里全是又粗又长、对比度极高的裂纹那模型学到的特征就非常表面一旦遇到细如发丝的早期裂纹直接就漏检。真正有用的数据集应该刻意包含一部分模糊、低对比度、部分遮挡、光线不均匀的难例。即使牺牲一点“漂亮”的指标换来的泛化能力提升是实打实的。所以这个数据集的价值不在于“1000”这个数字本身而在于这1000张图是否覆盖了四类缺陷在不同光照、不同角度、不同损伤程度下的表现。如果你是自己构建数据集建议按照6:2:2的比例划分训练集、验证集和测试集并且保证划分时同一管段的连续帧不要同时出现在训练集和测试集里否则会出现严重的数据泄漏验证指标虚高一到现场就翻车。3. 数据标注的关键决策类别定义、标注格式与质量复核数据集的另一个核心是标注。很多初学者觉得标注不就是画框嘛没什么技术含量。但实际上标注质量直接决定了模型精度上限。YOLO训练时使用的是归一化的中心点加宽高格式x_center, y_center, width, height但这是训练时的格式标注阶段的原始格式通常是Pascal VOC的XML或者COCO的JSON中间需要做格式转换。这个转换本身不难难的是标注规范的定义。3.1 四类缺陷的边界划分是最大的坑我在实际标注中遇到的最典型问题就是裂纹和碎片边界模糊。比如一块金属表面因为腐蚀产生了片状剥落这算碎片还是孔洞一条很短的裂纹旁边伴有细微剥落要不要把它拆成两个缺陷这些边界情况如果不在标注规范里写清楚两个标注员给出的结果可能完全不一样模型学到的东西就会很混乱。给你一个可以抄作业的标注规范裂纹线状或树枝状延伸的暗色区域长宽比大于3:1标注时沿裂纹主轴线画外接矩形轻微的分支不需要单独拆开。孔洞近似圆形或不规则的穿透性暗区有明显的边界轮廓长宽比小于3:1标注外接矩形即可。孔洞内部如果能看到背面管壁仍按一个孔洞标注。屈曲管壁局部变形、凹陷或褶皱的区域。这类缺陷和裂纹孔洞不同它往往没有明显的颜色突变而是靠边缘纹理和光影变化来识别。标注时要把整个变形区域框进来不要只框最明显的凹陷中心。碎片管道内壁脱落的块状物可能是金属片、锈皮、杂质沉积物等通常具有较清晰的边界和区别于背景的纹理。标注时框住碎片的完整轮廓外接矩形如果一个碎片被另一个碎片部分遮挡只要可辨认就分别标注。对于“一个目标同时具有裂纹和孔洞特征”的情况我的建议是以最主要、最直接的失效模式为准不要双重标注。比如一个孔洞边缘延伸出明显裂纹这个场景在管道缺陷里非常多见正确的做法是根据任务侧重点来定——如果项目更关心泄漏风险优先标孔洞如果更关心结构扩展趋势优先标裂纹。一套数据集里必须固定一个优先级原则不要标注员随心所欲。3.2 标注工具的选型与格式转换标注工具方面目前开源生态里最常用的三个是LabelImg、Labelme和X-AnyLabeling。LabelImg是老牌工具支持Pascal VOC格式导出轻量级适合快速画矩形框但在处理旋转框、多边形等复杂标注时能力有限。管道缺陷检测用矩形框就够所以LabelImg完全可以用。Labelme支持多边形、矩形、圆形等多种标注形式导出格式是JSON适合需要精细轮廓的场景。缺点是转换到YOLO格式时还要多一步处理。X-AnyLabeling是近年来社区里很火的工具底层接入了SAMSegment Anything Model能力可以半自动分割然后自动生成外接矩形框。在管道内壁这种背景相对单一的场景里SAM能省下不少人工框选的时间。不管你用哪个工具最终都要统一转换成YOLO格式的TXT文件。转换的核心公式很简单正常化中心点X坐标 (矩形左上角X坐标 矩形宽度/2) / 图像宽度正常化中心点Y坐标 (矩形左上角Y坐标 矩形高度/2) / 图像高度正常化宽度 矩形宽度 / 图像宽度正常化高度 矩形高度 / 图像高度转换完成后建议抽5%到10%的标注数据做可视化验证把标注框画回原图上人工检查是否存在框偏移、类别错误、漏标等问题。这一步看似花时间但能避免模型训练到一半才发现数据有问题返工成本远高于检查成本。4. YOLO系列选型分析哪些版本适合管道缺陷检测YOLO发展到现在版本迭代非常多从早期的YOLOv3、YOLOv5到后来的YOLOv6、YOLOv7、YOLOv8再到YOLOv9、YOLOv10以及ultralytics团队持续更新的架构改进。对于刚接触这个领域的人来说最大的困惑不是“哪个版本最强”而是“哪个版本最适合我的场景”。4.1 选型三个维度精度、速度、生态管道缺陷检测的实际部署环境通常有两种一种是管道机器人CCTV crawler上装嵌入式设备实时分析视频流另一种是后台服务器对巡检采集的图像做离线批量分析。这两种场景对模型的要求完全不同。实时场景更看重推理速度通常要求单帧处理时间在30毫秒到100毫秒之间模型体积不能太大。离线场景更看重检测精度推理时间放宽到几百毫秒甚至1秒都行。从生态角度看YOLOv5和YOLOv8是目前最稳妥的选择。YOLOv5代码成熟部署案例多对新手友好YOLOv8在ultralytics统一框架下训练、验证、导出、部署一条龙API设计简洁是我个人最推荐入门的版本。YOLOv9、YOLOv10在精度和架构设计上有不少亮点比如YOLOv9的可逆分支、YOLOv10的NMS-free推理但社区积累和踩坑教程相对少一些遇到问题排查成本高。对于这个1000张图的数据集我的建议是直接用YOLOv8系列优先尝试YOLOv8ssmall或YOLOv8mmedium两个尺寸。原因有三点第一1000张图不足以支撑超大模型的有效训练模型太大反而容易过拟合第二管道缺陷目标不算太小s和m级别的特征提取能力足够用第三YOLOv8的license是AGPL-3.0做学术研究和个人项目没问题商业化使用需要留意开源协议。4.2 不同主干的适配思路另一个容易让人纠结的点是要不要换主干网络YOLOv8默认的CSPDarknet结构在通用目标检测上表现均衡但管道内壁图像有自己的特点——背景纹理单一、目标边缘细节重要、某些缺陷如裂纹是极端细长形状。针对这些特点可以考虑以下改进方向注意力机制在主干网络后添加SE模块Squeeze-and-Excitation或CBAMConvolutional Block Attention Module让网络更关注裂纹、孔洞等缺陷所在的局部区域。这类改动在小数据集上往往能带来1到3个点的mAP提升。小目标检测头如果数据集中存在大量细小裂纹占图像面积小于1%可以考虑在YOLOv8的检测头基础上增加一个更高分辨率的预测层也就是P2层。这样能让网络在原图1/4分辨率下就进行预测对小目标的召回率有明显提升但代价是显存占用增加。可变形卷积在检测头部分用DCNv2Deformable Convolutional Networks v2替换普通卷积让感受野能自适应裂纹这种细长形状。缺点是训练速度下降且在小数据集上有一定的过拟合风险。不过最后要提醒一句在1000张图的数据规模下改模型结构带来的收益可能不如调数据策略来得大。先把训练策略和数据增强做好再去折腾结构这是性价比最高的路线。5. 训练实战让模型在1000张图上真正收敛的关键配置拿到数据集、选定YOLOv8之后下一步就是训练。这一章节我直接给出可以复现的训练方案和参数配置同时解释每一步为什么要这么设置。5.1 数据集目录结构与配置文件YOLOv8使用ultralytics框架训练时数据集需要按固定目录结构组织dataset/ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ ├── labels/ │ ├── train/ │ ├── val/ │ └── test/ └── data.yamldata.yaml内容如下# 数据集配置文件 path: /path/to/dataset # 数据集根目录 train: images/train val: images/val test: images/test # 类别信息 nc: 4 names: [crack, hole, buckle, fragment]注意类别名称的顺序必须和标注文件中的类别ID一一对应。YOLO标注格式中每行是“类别ID 中心点X 中心点Y 宽度 高度”其中类别ID从0开始。比如crack对应0hole对应1buckle对应2fragment对应3标注文件里的第一个数字就必须是0到3之间的整数。5.2 训练参数详解与推荐配置我先给出一套我实测下来比较稳的训练命令yolo detect train \ --model yolov8s.pt \ --data data.yaml \ --epochs 200 \ --imgsz 640 \ --batch 16 \ --lr0 0.01 \ --lrf 0.01 \ --momentum 0.937 \ --weight_decay 0.0005 \ --optimizer AdamW \ --augment \ --patience 50 \ --device 0逐项解释为什么用这些参数--model yolov8s.pt使用COCO预训练权重做迁移学习初始权重。这是小数据集训练的常规操作。1000张图从头训练随机初始化的收敛速度极慢而且容易过拟合使用预训练权重相当于让模型已经学会了通用的边缘、纹理、形状特征只需要在管道缺陷这个特定任务上做微调。--imgsz 640输入分辨率选640x640。管道缺陷图像如果原始分辨率高于640推荐缩放到640训练如果原始分辨率远低于640比如只有320x240则建议提升到512或640过小的分辨率会让细裂纹完全丢失。--batch 16batch size取16这个数值需要根据显存大小调整。如果显存只有8GBbatch可以降到8如果显存充足24GB以上可以升到32。需要注意的是batch size变化后初始学习率一般也要相应调整但ultralytics框架自带的学习率自动调整机制已经能处理大部分情况。--optimizer AdamWYOLOv8默认优化器是SGD但在小数据集上AdamW的收敛速度明显更快。我个人做管道缺陷这类小数据实验时优先用AdamW。如果你追求极致精度可以先用AdamW训100个epoch然后换SGD继续精调20到30个epoch这种“先快后稳”的策略在小数据集上效果不错。--patience 50早停机制。如果50个epoch内验证集的mAP没有任何提升就自动停止训练。200个epoch的上限只是兜底实际通常到120到150个epoch就会触发早停。训练结束后框架会自动在runs/detect/train目录下生成一份完整的训练报告包括精确率Precision、召回率Recall、mAP50、mAP50-95等指标曲线以及混淆矩阵、类别分布图、预测样本可视化图。如果发现mAP50在0.85以上mAP50-95在0.6以上说明模型对这套数据集学习得比较充分了。5.3 增强策略小数据集避免过拟合的生命线1000张图很容易过拟合表现是训练集损失不断下降但验证集mAP不再上升甚至出现验证集loss回升。缓解过拟合最有效的手段之一就是数据增强。YOLOv8默认开启的增强策略已经比较全面包括随机翻转、马赛克Mosaic、混合MixUp、颜色空间扰动等。但对管道缺陷检测这个具体场景我建议做两处调整第一关闭上下翻转或者非常谨慎地使用。管道内壁的裂纹方向是有物理意义的比如纵向裂纹和横向裂纹的扩展风险不同。如果做无差别的上下翻转模型可能学到“方向不重要”的错误归纳。建议只保留左右翻转或在data.yaml中通过配置flipud: 0.0关闭上下翻转。第二考虑加入适当的旋转增强但旋转角度控制在正负15度以内。管道机器人的镜头角度会有轻微变化但通常不会出现90度翻转这种极端情况。过大的旋转范围反而会引入不符合真实分布的样本。另外还有一个容易被忽略的增强技巧随机擦除Random Erase或遮挡增强。管道内壁常有泥浆、水渍遮挡缺陷训练时随机遮挡一部分区域能迫使模型学习“部分可见也能识别”的能力这对实际巡检图像的鲁棒性提升非常明显。ultralytics框架中可以通过erasing: 0.4来设置随机擦除概率。6. 部署实践从离线检测到实时视频流推理的衔接方案训练完模型下一步就是把它用到真实场景里。管道缺陷检测的部署通常有两类需求我分别给出方案。6.1 离线批量检测脚本如果是对管道机器人采集回来的大量图像做离线分析最直接的方式是编写一个Python脚本遍历整个文件夹的图片调用训练好的模型输出检测结果并把结果保存到CSV或JSON文件中。from ultralytics import YOLO import pandas as pd import os model YOLO(runs/detect/train/weights/best.pt) # 遍历所有图片 image_dir inspection_images results_list [] for filename in os.listdir(image_dir): if not filename.lower().endswith((.jpg, .jpeg, .png)): continue image_path os.path.join(image_dir, filename) results model.predict(image_path, conf0.25) # 提取检测结果 for result in results: boxes result.boxes.xyxy.cpu().numpy() # 边界框坐标 confs result.boxes.conf.cpu().numpy() # 置信度 cls_ids result.boxes.cls.cpu().numpy().astype(int) # 类别ID for box, conf, cls_id in zip(boxes, confs, cls_ids): results_list.append({ image: filename, class: model.names[cls_id], confidence: round(float(conf), 4), x1: int(box[0]), y1: int(box[1]), x2: int(box[2]), y2: int(box[3]) }) # 导出结果 df pd.DataFrame(results_list) df.to_csv(detection_results.csv, indexFalse) print(f共检测到 {len(df)} 个缺陷)这里的conf0.25是置信度阈值值越低召回率越高但误报也越多值越高误报越少但可能漏检。管道缺陷检测场景下我建议先设成0.25然后根据实际召回率和误报率再做调整。如果发生泄漏的代价远高于误报停机的代价可以把阈值降到0.15或0.1。6.2 实时视频流推理与性能优化如果是管道机器人上的实时检测推荐用模型导出成TensorRT或ONNX格式后用相应推理引擎做加速。YOLOv8本身就支持导出yolo export modelruns/detect/train/weights/best.pt formatonnx imgsz640 yolo export modelruns/detect/train/weights/best.pt formatengine imgsz640 device0在NVIDIA Jetson Orin或者工控机RTX显卡上engine格式TensorRT浮点推理通常会比PyTorch原生推理快3到5倍。实测在同一块RTX 3060上YOLOv8s的FP16 TensorRT推理单帧耗时大约在5到8毫秒完全能满足30FPS实时分析。实时推理时还要注意一个细节视频流里的相邻帧高度相似同一个缺陷可能在连续很多帧里都被检测出来。如果只是简单地逐帧显示结果会产生大量重复报警。实际工程中通常引入“帧间去重”逻辑记录缺陷在画面中的位置如果下一帧同一个位置的同类缺陷再次出现只更新报警状态而不重复计数。更简单的一种方案是每隔N帧抽一帧做检测比如每10帧检测一次既能大幅降低计算压力又不会漏掉真实缺陷因为缺陷在画面中停留的时间通常远超10帧。6.3 部署后最常见的三个问题先说我见过最多的一个模型在测试集上mAP很高但一放到现场就疯狂误报。原因通常有两个。一是现场光照条件与训练数据差异太大。管道机器人的LED照明角度、色温、亮度稍微变化图像色调就完全不同。解决办法有两种在训练数据里加入更多光照变化或在推理前加一个简单的图像归一化预处理。第二个原因是背景中出现了训练集里未出现过的物体比如管道接头、焊缝、线缆等模型把它们误认为缺陷。这时候不要急着换模型先把误报样本收集起来加入训练集中做增量训练效果通常立竿见影。第二个问题细小裂纹检测不到。如果模型对粗裂纹的检测没问题但对细裂纹总是漏检说明目标尺寸太小特征不够明显。除了前面提到的高分辨率预测层P2和增大推理分辨率--imgsz 1280之外还有一个简单的方法在推理时使用TTATest Time Augmentation也就是对同一张图做多尺度推理综合多个结果。ultralytics里用model.predict(source, augmentTrue)就能开启。这个方法会让推理速度变慢但小目标召回率确实会提升。第三个问题屈曲这类无颜色突变的目标检测效果差。屈曲在图像上表现的更多是结构形变和光影变化不像裂纹和孔洞那样有清晰的暗色区域。针对这一点最有效的手段是优化输入图像通道。管道内壁检测时如果原始图像是彩色图可以试着把灰度图作为额外通道拼接到输入里或者使用RGB图像的同时保留一个边缘提取结果作为辅助信息。YOLOv8默认输入是3通道RGB但你可以修改模型输入层接受4通道。这类改造需要改模型结构并重新微调但效果往往比单纯堆数据更好。7. 数据集的进阶扩展从1000张到能打实战的完整方案1000张图可以帮你跑通整个YOLO训练流程但如果你真正要把这套系统部署到生产环境数据一定是需要继续扩的。下面我说几条我实际用下来的数据扩展思路性价比从高到低排列。7.1 半自动标注用已有模型辅助新数据标注最省钱又高效的扩展方式就是拿已经训练好的模型去跑一批新的未标注图像生成伪标注pseudo-labels然后人工筛选修正。这个方案在工业场景里非常实用因为管道图像通常来自固定的几台设备光照和角度变化不会太大。新采集的图像用模型预测后置信度高于0.7的标注基本可以直接用置信度在0.3到0.7之间的需要人工复核低于0.3的不给标注但后续可以用难例挖掘的方式补充进训练集。这个流程熟练之后一个人一天可以完成1000张到2000张图的半自动标注比完全人工画框效率提高5倍以上。7.2 生成式数据增强如果某些缺陷类别数量确实太少可以考虑用图像生成模型来合成样本。比如采集一部分真实的管道背景图再通过控制生成的方式把裂纹或孔洞“画”上去。这在过去比较难实现但现在的生成模型已经可以做到像素级可控。用这个方案时需要注意一个风险生成的缺陷图像可能存在“纹理幻觉”也就是看起来像缺陷但实际物理特征不对。所以在把合成数据加入训练集之前一定要做可视化检查最好能用真实缺陷图做对比验证。合成数据的比例控制在总数据量的20%以内比较稳妥太高的比例会让模型依赖合成纹理特征在真实场景上的泛化能力反而下降。7.3 多传感器数据融合管道缺陷检测并不只依赖可见光图像很多实际项目还会用到激光轮廓扫描、热成像、声呐等传感器数据。训练时除了常规RGB图如果能把激光扫描得到的三维轮廓信息作为辅助输入对屈曲这一类缺陷的识别会非常有帮助。因为在激光轮廓图上管壁变形是直接体现在几何数据上的比在二维图像上通过光影推断要可靠得多。但多传感器融合会显著增加数据采集和标注的复杂度所以建议是在单传感器方案已经跑通之后再逐步引入。先把YOLO在可见光数据上做到稳定再考虑要不要加其他模态。7.4 跨域适配最后一个建议是提前考虑跨域问题。不同管道的材质、颜色、内壁粗糙度可能存在差异同一个模型在这个管道上表现很好换一个管道可能就明显退化。解决方案有两种一种是收集更多不同管道的图像直接扩充数据集的多样性另一种是用领域自适应Domain Adaptation技术把模型在一个新管道上的图像上做无监督适配。后一种技术门槛较高但对工业场景来说非常实用。从实际操作角度讲我的建议是每到一个新现场先花半天时间采集20到50张现场图像用已有模型做一次快速测试把误报和漏报的典型场景记录下来。如果问题不大直接部署如果问题明显就用现场图像做增量训练通常几百张图就能让模型在新场景上恢复到可用水平。8. 写在最后把这套流程复制到更多工业检测场景里这个YOLO管道缺陷检测数据集项目表面上是一个“1000张图像、四类缺陷、YOLO训练”的小项目但它背后代表了一条完整的工业视觉落地路径这套方法论可以平移到非常多类似的场景钢结构桥梁焊缝缺陷检测、输电线塔螺栓缺失检测、风力发电叶片表面损伤检测、储罐内壁腐蚀评估、水电站引水管道检测等。它们共同的特征是场景固定、缺陷类别有限、实时性要求或高或低、数据需要现场采集。我自己做这类项目的经验是不要一开始就追求大而全的数据集也不要一上来就改模型结构。先把一个最小闭环跑通也就是“几十张图手工标注、用预训练模型微调、上测试集看效果、收集误报漏报、再补数据周而复始”。这个闭环运转起来之后你会发现模型精度的提升速度远超你的预期。如果你手头刚好有管道机器人的巡检图像或者你正在为类似的工业缺陷检测项目发愁我建议你直接拿这个数据集做一次完整的实验下载、划分、训练、验证、部署把整个流程走一遍。在跑的过程中你会遇到很多这里没办法一一写完的细节问题比如你的显存不够怎么改batch、你的图像分辨率太高需不需要切块、你的模型在某个类别上精度一直上不去怎么调loss权重。这些问题的答案都藏在你实际按下训练按钮之后产生的那些报错和指标曲线里。这套1000张图像的管道缺陷数据集不是终点而是一个非常好的起点。本文还有配套的精品资源点击获取