易拉罐正反面识别数据集下载,支持yolo,coco json,pasical voc xml格式的标注信息,平均正确识别率为99.5%,训练集2373张图片

📅 2026/7/23 19:31:45
易拉罐正反面识别数据集下载,支持yolo,coco json,pasical voc xml格式的标注信息,平均正确识别率为99.5%,训练集2373张图片
易拉罐正反面识别数据集本数据集专门用于易拉罐正反面识别任务支持多种主流标注格式包括 YOLO、COCO JSON 和 Pascal VOC XML。数据集平均正确识别率达到 99.5%包含 2373 张训练图片。可识别的标签信息数据集包含以下两种标签类别Normal易拉罐正面Reverse易拉罐反面数据分割数据集按照以下比例进行划分训练集2373 张图片验证集229 张图片测试集114 张图片预处理所有图片统一调整为 640×640 分辨率确保输入尺寸一致。训练效果展示数据集下载数据集支持以下格式下载YOLO v26YOLO v12YOLO v11YOLO v9YOLO v8YOLO v7COCO JSONPascal VOC XMLYOLO 模型训练指南训练步骤下载数据集并解压到当前文件夹克隆训练仓库YOLOProject:基于 YOLO 的模型训练项目 - AtomGit将训练脚本复制到数据集文件夹下根据使用的 YOLO 版本运行对应脚本例如使用 YOLOv8 时执行python train_yolov8.py模糊图片在模型训练中的优势分析数据集中包含的模糊图片并非数据缺陷而是一种精心设计的数据增强策略能为模型训练带来以下显著优势提升模型鲁棒性现实场景中可能存在运动模糊、对焦不准或光线不足的情况。在训练集中引入模糊样本可以迫使模型学习更本质的特征而不是过度依赖清晰的边缘或纹理细节从而提升模型在复杂、非理想成像条件下的识别能力。模拟真实世界噪声监控摄像头、手机等设备在低光照或快速移动时极易产生模糊。包含此类图片的数据集能让模型提前见识并适应这种噪声减少在实际部署时因图像质量下降而导致的性能骤降。防止模型过拟合如果训练集全是高清、摆拍的完美图片模型容易记住这些特定场景下的干净特征而对新的、稍有模糊的图片泛化能力差。模糊图片作为一种有效的正则化手段可以增加数据分布的多样性防止模型过拟合到有限的清晰样本上。总结数据集中包含的模糊图片与水平翻转、剪切形变、随机遮挡等增强操作一样都是为了构建一个更接近真实世界复杂分布的数据环境从而训练出更健壮、更泛化、更实用的模型。模型验证与测试验证测试代码# 需要安装pip install ultralytics from ultralytics import YOLO import cv2 1. 加载 YOLO 模型 自动下载预训练模型yolov8n 最轻量快速也可换 yolov8s/m/l/x model YOLO(best.pt) 2. 推理配置 image_path 326_jpg.rf.8ad64cc0668df32c4e5f59b50e899e9c.jpg # 你的图片路径 save_result True # 是否保存标注后的图 3. 执行推理 results model.predict( sourceimage_path, conf0.01, # 置信度阈值低于该值忽略 saveFalse, # 关闭默认保存自定义保存 verboseFalse # 关闭冗余日志 ) 4. 解析结果目标区域 标注信息 print( * 50) print(YOLO 推理结果目标区域 标注信息) print( * 50) 获取图片用于绘制框 img cv2.imread(image_path) 遍历所有检测目标 for idx, result in enumerate(results): boxes result.boxes # 所有检测框 for box in boxes: # 提取目标区域坐标 # xyxy: 左上角 x, 左上角 y, 右下角 x, 右下角 y x1, y1, x2, y2 box.xyxy[0].cpu().numpy() # 宽高 w x2 - x1 h y2 - y1 # 提取标注信息 cls_id int(box.cls[0]) # 类别 ID cls_name model.names[cls_id] # 类别名称 conf float(box.conf[0]) # 置信度 # 打印信息 print(f目标 {idx 1}:) print(f 标注类别{cls_name}) print(f 置信度{conf:.2f}) print(f 目标区域坐标) print(f 左上角 ({x1:.1f}, {y1:.1f})) print(f 右下角 ({x2:.1f}, {y2:.1f})) print(f 宽×高{w:.1f} × {h:.1f}) print(- * 30) # 在图片上绘制检测框 cv2.rectangle(img, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2) cv2.putText(img, f{cls_name} {conf:.2f}, (int(x1), int(y1) - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2) 5. 保存/显示结果 if save_result: cv2.imwrite(yolo_result.jpg, img) print(✅ 标注图片已保存为yolo_result.jpg) 显示图片可选 cv2.imshow(YOLO Result, img) cv2.waitKey(0) cv2.destroyAllWindows()测试验证结果识别到的标签信息{ predictions: [ { x: 232, y: 203, width: 230, height: 248, confidence: 0.968, class: Reverse, class_id: 1, detection_id: 495f70cb-2244-4ac3-b4b2-41b322558135 } ] }