USB接口识别数据集,可识别type C,USB,micro USB,mini USB接口,支持yolo,coco json和pasical voc xml格式标注,平均正确识别率可达97.2%

USB接口识别数据集,可识别type C,USB,micro USB,mini USB接口,支持yolo,coco json和pasical voc xml格式标注,平均正确识别率可达97.2%
USB接口识别数据集说明本数据集专门用于训练和评估USB接口识别模型支持识别四种常见的USB接口类型Type-C、标准USB、Micro USB和Mini USB。数据集提供了多种标注格式方便不同框架的使用者直接应用。数据集特点高精度标注平均正确识别率可达97.2%多格式支持支持YOLO格式、COCO JSON格式和Pascal VOC XML格式标注类别平衡四种USB接口类别分布均衡避免类别偏差高质量图像所有图像均为高清采集适合训练深度学习模型数据集拆分数据集按照标准机器学习划分比例进行拆分确保训练、验证和测试的独立性数据集类型比例图像数量用途说明训练集94%3,567张用于模型参数训练和优化验证集4%150张用于超参数调优和模型选择测试集2%81张用于最终模型性能评估数据预处理为适应YOLO等目标检测模型的输入要求数据集已进行标准化预处理图像尺寸调整所有图像统一拉伸至640×640像素标注同步调整标注框坐标已按比例同步调整格式统一确保不同格式标注文件的一致性数据集可视化以下是数据集的部分样本展示帮助用户了解数据质量和标注效果USB接口类型示例标注效果对比训练过程监控图数据集下载数据集按不同YOLO版本提供下载链接YOLO v9版本https://download.csdn.net/download/pbymw8iwm/92070730YOLO v11版本https://download.csdn.net/download/pbymw8iwm/92043516YOLO模型训练指南使用本数据集进行YOLO模型训练的步骤下载数据集选择适合的YOLO版本下载链接解压文件将下载的压缩包解压到当前工作目录获取训练脚本从我的Git仓库克隆训练脚本git clone https://gitcode.com/pbymw8iwm/YOLOProject.git复制脚本将训练脚本复制到数据集目录下开始训练根据使用的YOLO版本执行相应脚本# 使用YOLOv8训练 python train_yolov8.py 使用YOLOv9训练 python train_yolov9.py 使用YOLOv11训练 python train_yolov11.py训练环境配置示例模型验证与测试训练完成后可以使用以下代码进行模型验证和测试# USB接口识别模型验证脚本 # 需要安装pip install ultralytics opencv-python from ultralytics import YOLO import cv2 def validate_usb_detector(model_path, image_path, save_resultTrue): 验证USB接口识别模型的性能 参数 model_path: 训练好的模型路径如best.pt image_path: 测试图像路径 save_result: 是否保存标注结果图像 1. 加载训练好的YOLO模型 print(正在加载训练好的USB接口识别模型...) model YOLO(model_path) print(f✅ 模型加载成功{model_path}) 2. 推理配置 conf_threshold 0.25 # 置信度阈值可根据需求调整 3. 执行推理 print(f正在对图像进行推理{image_path}) results model.predict( sourceimage_path, confconf_threshold, # 置信度阈值 saveFalse, # 关闭默认保存使用自定义保存 verboseFalse # 关闭冗余日志输出 ) 4. 解析并显示检测结果 print( * 60) print(USB接口识别结果详情) print( * 60) 读取原始图像用于绘制检测框 img cv2.imread(image_path) if img is None: print(f❌ 无法读取图像{image_path}) return detected_count 0 遍历所有检测结果 for result_idx, result in enumerate(results): boxes result.boxes # 获取检测框信息 if boxes is None or len(boxes) 0: print(⚠️ 未检测到任何USB接口) continue for box_idx, box in enumerate(boxes): detected_count 1 # 提取边界框坐标xyxy格式 x1, y1, x2, y2 box.xyxy[0].cpu().numpy() width x2 - x1 height y2 - y1 # 提取类别信息 class_id int(box.cls[0]) # 类别ID class_name model.names[class_id] # 类别名称 confidence float(box.conf[0]) # 置信度 # 打印检测详情 print(f\n 检测目标 #{detected_count}:) print(f 接口类型{class_name}) print(f 置信度{confidence:.4f}) print(f 边界框坐标) print(f 左上角 ({x1:.1f}, {y1:.1f})) print(f 右下角 ({x2:.1f}, {y2:.1f})) print(f 尺寸{width:.1f} × {height:.1f} 像素) print(f 中心点({(x1x2)/2:.1f}, {(y1y2)/2:.1f})) print(- * 40) # 在图像上绘制检测框和标签 color (0, 255, 0) # 绿色边框 thickness 2 cv2.rectangle(img, (int(x1), int(y1)), (int(x2), int(y2)), color, thickness) # 添加类别和置信度标签 label f{class_name} {confidence:.2f} label_size cv2.getTextSize(label, cv2.FONT_HERSHEY_SIMPLEX, 0.5, 2)[0] cv2.rectangle(img, (int(x1), int(y1) - label_size[1] - 10), (int(x1) label_size[0], int(y1)), color, -1) # 填充背景 cv2.putText(img, label, (int(x1), int(y1) - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 255), 2) 5. 保存和显示结果 if detected_count gt; 0: print(f\n✅ 检测完成共发现 {detected_count} 个USB接口) if save_result: output_path usb_detection_result.jpg cv2.imwrite(output_path, img) print(f 标注结果已保存至{output_path}) # 显示结果图像可选 cv2.imshow(USB接口识别结果, img) cv2.waitKey(0) cv2.destroyAllWindows() else: print(❌ 未检测到任何USB接口请检查模型或图像) 使用示例 if name main: 配置参数 MODEL_PATH best.pt # 训练好的模型文件 TEST_IMAGE 326_jpg.rf.8ad64cc0668df32c4e5f59b50e899e9c.jpg # 测试图像 执行验证 validate_usb_detector(MODEL_PATH, TEST_IMAGE, save_resultTrue)使用说明环境准备确保已安装Python 3.8和必要的依赖库模型选择根据需求选择合适的YOLO版本进行训练参数调整可根据实际场景调整置信度阈值等参数结果分析关注不同USB接口类型的识别准确率性能指标平均精度mAP0.972 IoU0.5推理速度在RTX 3060上约15ms/图像内存占用模型大小约25MB支持分辨率640×640可调整本数据集经过严格的质量控制和测试适合用于USB接口识别相关的学术研究、工业应用和教学实践。如有任何使用问题或改进建议欢迎在评论区交流讨论。