# 2025电赛c题重叠正方形yolo-obb解决方案 **Repository Path**: levijia/yolo_obb_rect ## Basic Information - **Project Name**: 2025电赛c题重叠正方形yolo-obb解决方案 - **Description**: 如题,使用opencv生成模拟重叠图像作为数据集 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-01 - **Last Updated**: 2025-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 2025电赛C题重叠正方形YOLO-OBB解决方案 ## 项目简介 本项目是针对2025年全国大学生电子设计竞赛C题(重叠正方形检测)的YOLO-OBB(Oriented Bounding Box)解决方案。使用YOLO11训练了专门用于检测重叠正方形的旋转目标检测模型。 ## 项目结构 ``` number28/ ├── models/ # maixcam模型文件(可直接部署到maixcam) ├── weights/ # 训练好的模型权重 ├── args.yaml # 训练参数配置 ├── results.csv # 训练结果数据 ├── *.png # 训练过程可视化图表 ├── *.jpg # 训练样本可视化 └── README.md # 项目说明文档 ``` ## 模型信息 - **基础模型**: YOLO11n-obb (YOLO11 nano版本,支持旋转框检测) - **输入尺寸**: 320×320像素 - **训练轮次**: 300 epochs - **优化器**: SGD - **批量大小**: 16 - **学习率**: 0.01 (初始) ## 训练配置 ### 数据增强 - 旋转增强: ±80度 - 缩放: 0.5-1.5倍 - 平移: 10%图像尺寸 - 水平翻转: 50%概率 - Mosaic增强: 启用 - Copy-Paste: 30%概率 ### 超参数 - IoU阈值: 0.7 - 置信度阈值: 0.25 - NMS阈值: 0.7 - 类别损失权重: 0.5 - 框回归损失权重: 7.5 - DFL损失权重: 1.5 ## 性能指标 ![输入图片说明](BoxF1_curve.png) ![输入图片说明](val_batch1_labels.jpg) 基于训练结果,模型在验证集上表现如下: - **mAP50**: 查看results.csv中的metrics/mAP50(B) - **mAP50-95**: 查看results.csv中的metrics/mAP50-95(B) - **Precision**: 查看BoxP_curve.png - **Recall**: 查看BoxR_curve.png - **F1-Score**: 查看BoxF1_curve.png ## 使用方法(电脑验证) ### 1. 环境准备 ```bash pip install ultralytics>=8.0.0 pip install torch torchvision ``` ### 2. 模型推理 ```python from ultralytics import YOLO # 加载训练好的模型 model = YOLO('weights/best.pt') # 进行预测 results = model('path/to/image.jpg') # 获取旋转框结果 for r in results: obb = r.obb # 旋转框对象 if obb is not None: boxes = obb.xyxyxyxy # 四边形坐标 conf = obb.conf # 置信度 cls = obb.cls # 类别 ``` ### 3. 结果可视化 ```python # 绘制旋转框 res_plotted = results[0].plot() import cv2 cv2.imshow('result', res_plotted) cv2.waitKey(0) ``` ## 训练过程可视化 - **混淆矩阵**: confusion_matrix.png / confusion_matrix_normalized.png - **训练样本**: train_batch*.jpg - **验证样本**: val_batch*.jpg - **性能曲线**: BoxP_curve.png, BoxR_curve.png, BoxF1_curve.png, BoxPR_curve.png ## 注意事项 1. 模型针对320×320输入尺寸优化,推理时建议保持相同尺寸 2. 旋转框检测对角度变化敏感,建议在实际应用中增加适当的后处理 3. 对于重叠严重的正方形,可能需要调整NMS阈值以获得更好的检测效果 ## 联系信息 如有问题或建议,欢迎提交Issue或Pull Request。