1. 数据标注工具的选择与准备
1.1 LabelImg的核心功能解析
LabelImg作为一款开源的图像标注工具,在计算机视觉领域已经服务了近十年。它采用Python编写,基于Qt框架开发,支持Pascal VOC和YOLO两种主流标注格式。我在实际项目中遇到过不少团队直接上手标注,结果因为格式不兼容导致返工的情况。
工具的核心优势在于:
- 快捷键驱动的高效标注流程(W创建框,A/D切换图片)
- 直观的XML格式输出便于后续处理
- 跨平台支持(Windows/Linux/macOS)
注意:最新版LabelImg需要Python 3.7+环境,建议使用virtualenv创建隔离环境。我在Ubuntu 20.04上实测发现,直接pip安装可能会缺少PyQt5依赖,需要先执行
sudo apt-get install pyqt5-dev-tools
1.2 环境配置的典型问题
安装过程看似简单,但有几个隐藏坑点:
- 中文路径支持问题:项目路径包含中文时可能导致标注文件保存异常
- 多显示器适配:副屏使用时可能出现界面元素错位
- 高DPI显示缩放:4K屏幕需要设置QT_AUTO_SCREEN_SCALE_FACTOR=1
推荐使用conda虚拟环境配置:
bash复制conda create -n labelimg python=3.8
conda activate labelimg
pip install labelImg
labelImg # 启动程序
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 标注流程的工程化实践
2.1 文件命名规范设计
混乱的文件命名是后期训练时的噩梦。我们团队通过血泪教训总结出这套规范:
code复制[项目代号]_[采集设备]_[场景]_[日期]_[序号].[扩展名]
示例:
ADAS_GoPro_Highway_20230715_001.jpg
关键要点:
- 避免使用空格和特殊字符
- 保持序号连续不重复
- 时间格式统一采用YYYYMMDD
2.2 标注框的精细控制
很多新手会忽视的几个标注细节:
- 边缘处理:物体与图像边界相交时,框线应该紧贴图像边缘
- 遮挡处理:被遮挡超过30%的物体建议单独标记为"occluded"
- 小物体标注:小于32×32
