计算机视觉 (CV) 模块
CV 模块是系统的视觉感知核心,负责识别环境中的目标物体、计算其精确位置和姿态。
核心架构
该模块基于 Ultralytics YOLO11 框架,专门针对工业机器人场景进行了定制开发,主要包含以下核心组件:
1. OBB 检测器 (core/detectors/obb)
一个高内聚、低耦合的检测子系统,负责:
- 模型推理:加载 YOLO11-OBB 模型进行旋转目标检测。
- 几何解算:结合 Central (本体) 和 Head (头部) 的检测结果,计算机器人精确的朝向角度。
- 业务后处理:解决 OBB 检测中常见的 180° 方向模糊问题。
2. 数据工具 (data_tools)
用于训练数据的生产和增强: - 格式转换:将 LabelMe 多边形标注转换为 YOLO-OBB 格式。 - 数据增强:提供随机旋转、翻转、噪声、模糊等增强策略,自动生成高质量训练集。
目录结构
src/cv/
├── configs/ # 模型配置文件 (.yaml)
├── core/ # 核心代码
│ └── detectors/
│ └── obb/ # OBB 检测器子包
│ ├── detector.py # 核心检测类
│ ├── geometry.py # 几何计算库
│ ├── types.py # 数据结构定义
│ └── ...
├── data_tools/ # 数据生成与处理工具
├── weights/ # 模型权重文件
└── main.py # 程序入口