
YOLOv10 工业缺陷检测实战从零到产线部署半天搞定【免费下载链接】yolov10YOLOv10: Real-Time End-to-End Object Detection [NeurIPS 2024]项目地址: https://gitcode.com/GitHub_Trending/yo/yolov10产线上漏检靠人眼、多招人眼就贵、节拍一快就漏这三件事让很多质检工位卡在效率上。YOLOv10 是 NeurIPS 2024 的实时端到端目标检测模型最小的 yolov10n 只有 2.3M 参数、单帧推理 1.84ms导出后连 NMS 后处理都省了天然适合产线缺陷检测这种要低延迟、要 7x24 小时跑的场景。 项目亮点三条每条都值得记住端到端免 NMS训练阶段用一致化双分配策略模型输出即结果部署管线里少一步后处理延迟和踩坑点都少一截。速度有数字兜底COCO 上 yolov10n 1.84ms、yolov10s 2.49msAP 46.3%、yolov10x 10.70msAP 54.4%同一精度下比上一代更省延迟。一条命令到底train、predict、val、export 全部走yoloCLI区域计数这类实用功能是仓库里现成的 Python 类不用自己攒。⏱ 最短路径跑通先 clone再装依赖最后一条命令出结果git clone https://gitcode.com/GitHub_Trending/yo/yolov10 cd yolov10 conda create -n yolov10 python3.9 conda activate yolov10 pip install -r requirements.txt pip install -e .装完先推理一张图验证环境yolov10n.pt权重可从仓库 releases 或YOLOv10.from_pretrained获取yolo predict modelyolov10n.pt sourceultralytics/assets/bus.jpg结果框自动存到runs/predict目录。想看交互界面就python app.py浏览器打开 127.0.0.1:7860。 数据与训练1. 改一份数据集配置。拿 ultralytics/cfg/datasets/coco.yaml 当模板只动四个字段path: ../datasets/defect # 数据集根目录 train: images/train # 训练图片目录 val: images/val # 验证图片目录 names: 0: scratch # 划伤 1: dent # 凹坑2. 跑训练。按单卡显存调batch命令如下yolo detect train datadefect.yaml modelyolov10n.yaml epochs100 batch16 imgsz640参数作用怎么定data数据集 yaml上一步的 defect.yamlmodel模型规格用 v10 的 yaml 从头训传训练好的 .pt 可继续微调epochs训练轮数缺陷数据通常几百到几千张100 起步看验证曲线batch批大小显存够就拉大README 官方用 2568 卡imgsz输入分辨率默认 640缺陷偏小时建议 1280这是最常被忽略的参数3. 按硬件挑规格。六个规格的配置都在 ultralytics/cfg/models/v10/数据来自 README 的 COCO 实测表规格参数量AP延迟yolov10n2.3M38.51.84msyolov10s7.2M46.32.49msyolov10m15.4M51.14.74msyolov10b19.1M52.55.74msyolov10x29.5M54.410.70ms经验值GPU 服务器先跑 n/s 验证流程精度不够再升 m/b边缘盒子直接用 n。 检测与计数实战单图检测一行搞定yolo predict modelruns/defect/train/weights/best.pt sourcedefect.jpg视频流 区域计数用仓库自带的 ObjectCounter完整可跑import cv2 from ultralytics import YOLO from ultralytics.solutions import ObjectCounter model YOLO(runs/defect/train/weights/best.pt) # 训练好的缺陷模型 counter ObjectCounter() counter.set_args( classes_namesmodel.names, reg_pts[(20, 400), (1260, 400), (1260, 20), (20, 20)], # 2点划线计数, 3点起多边形区域 count_reg_color(255, 0, 255), # 区域绘制颜色 line_thickness2, # 检测框线宽 view_imgTrue, # 实时显示画面 ) cap cv2.VideoCapture(defect_video.mp4) while cap.isOpened(): ok, frame cap.read() if not ok: break tracks model.track(frame, persistTrue, showFalse) # persist 让轨迹跨帧延续 frame counter.start_counting(frame, tracks) cv2.imshow(Defect Counter, frame) if cv2.waitKey(1) 0xFF ord(q): break cap.release() cv2.destroyAllWindows()关键点就两个reg_pts给 2 个点触发过线计数3 个点起触发区域计数line_dist_thresh默认 15控制过线判定的欧氏距离阈值其余参数都是显示相关。不想写代码的话现成脚本 examples/YOLOv8-Region-Counter/yolov8_region_counter.py 支持--source 视频.mp4 --save-img --view-img区域还能用鼠标拖。 提速与落地导出。测速和部署都用导出格式README 明确提示 PyTorch 原始格式测速会偏慢# 端到端 ONNX yolo export modelyolov10n.pt formatonnx opset13 simplify # 端到端 TensorRTFP16 yolo export modelyolov10n.pt formatengine halfTrue simplify opset13 workspace16 yolo predict modelyolov10n.engineDocker 部署。CPU 版镜像一条命令起docker build -f docker/Dockerfile-cpu -t yolov10-cpu . docker run -it --ipchost -v $(pwd)/datasets:/usr/src/datasets yolov10-cpu平台怎么选NVIDIA GPU 用 TensorRT engine 格式FP16 还能再压一半显存Jetson 边缘设备直接用 docker/Dockerfile-jetson 构建普通 PC 或无卡环境走 ONNXDockerfile-cpu 就是为 ONNX/OpenVINO/PyTorch CPU 推理优化的。下一步与排障建议的路径先用 yolov10n 跑通标注 → 训练 → 计数全流程看验证集 AP 达标后再换更大规格换精度。两个高频问题的官方答案小目标漏检就把imgsz调大、置信度阈值调低README 的 Prediction 一节有专门说明权重下载或依赖报错先查 docs/en/help/FAQ.md解决不了直接去仓库提 Issue。相关文档快速上手docs/en/quickstart.mdv10 模型规格配置ultralytics/cfg/models/v10/区域计数源码ultralytics/solutions/object_counter.py区域计数示例说明examples/YOLOv8-Region-Counter/readme.md推理支持的视频/图像格式docs/en/modes/predict.md【免费下载链接】yolov10YOLOv10: Real-Time End-to-End Object Detection [NeurIPS 2024]项目地址: https://gitcode.com/GitHub_Trending/yo/yolov10创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考