# labelRightnow **Repository Path**: zh3030/labelRightnow ## Basic Information - **Project Name**: labelRightnow - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-12 - **Last Updated**: 2026-02-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RoboMaster智能数据集标注工具 基于[**Qt5+OpenCV(with OpenVINO)**],用于标注RoboMaster装甲板4个顶点的位置,灯条颜色,以及贴纸类型。 ## 项目介绍 基于上交开源修改https://github.com/xinyang-go/LabelRoboMaster ## 环境 - Qt ```shell sudo apt install qtbase5-dev sudo apt install libqt5svg5-dev ``` - opencv - openvinohttps://www.intel.cn/content/www/cn/zh/developer/tools/openvino-toolkit/download.html?PACKAGE=OPENVINO_BASE&VERSION=v_2025_4_0&OP_SYSTEM=LINUX&DISTRIBUTION=APT - cmake和gcc等基本的我就不说了 ## 编译运行 支持使用cmake进行编译。 cmake编译方法: ```shell mkdir build cd build cmake .. make ``` 也可以用一键编译构建 ```shell ./oneclick.sh ./build/LabelRoboMaster ``` ## 使用方法 * 首先点击 `Open Directory` 选择图片文件夹目录,程序会自动查找目录下所有图片文件。(jpg、jpeg、png) * 点击 `Smart` 自动预标注当前图片。或点击 `Add Label` 开始标注一个装甲板。 * 按照装甲板**左侧灯条上端、左侧灯条下端、右侧灯条下端、右侧灯条上端**的顺序,依次点击。 * 双击右上方的当前目标项,选择当前目标的类别。 * 根据需求,微调4个点的位置,使得叠加的标准装甲板边缘和实际图像中的装甲板边缘对齐。(标准装甲板边缘默认图像没有畸变,追求标注精度的话,需要对数据集中的图片进行去畸变)。 * 点击 `Save` 或勾选 `Auto Save` 完成当前图片的标注。 * 右键拖动,滚轮缩放。勾选 `Stay Position` 后在切换图片时不改变视图位置。右键双击恢复默认视图。 * Brightness 拖动可以调整亮度。 * 勾选 `Low Light Enhance` 可以开启暗光增强(CLAHE),方便在暗光环境下看清细节。 * 插值使用方法(来自[@shirok1](https://github.com/shirok1)的pr):在需要加入box的图像点左边的按钮 `Interpolate` 或者按键盘I,自动跳转到上一张,选中要用于插值的box后,再次按键盘I,选择另一个用于插值的box,最后按一次键盘I回到一开始的图像并加入插值生成的box。 ## 常用快捷键 * Q:上一张图片 * E:下一张图片 * A:添加标注 * D: 删除 ## 装甲板类别命名与类别编号 | 贴纸↓颜色→ | B(蓝色) | R(红色) | N(熄灭) | P(紫色) | |-----------|-------|-------|-------|-------| | G(哨兵) | 0 | 7 | 14 | 21 | | 1(一号) | 1 | 8 | 15 | 22 | | 2(二号) | 2 | 9 | 16 | 23 | | 3(三号) | 3 | 10 | 17 | 24 | | 4(四号) | 4 | 11 | 18 | 25 | | O(前哨站) | 5 | 12 | 19 | 26 | | Bs(基地) | 6 | 13 | 20 | 27 | ## 数据集文件格式 标定后的数据集文件和图片位于同一文件夹,将图片后缀名修改为txt即为数据集文件。 txt文件中每一行代表一个目标,如果一个文件有多行,则说明对应图片内有多个目标。 一行共计9个数字,以空格分割。从左到右依次为: * 装甲板类别编号 * 左上角归一化x坐标 * 左上角归一化y坐标 * 左下角归一化x坐标 * 左下角归一化y坐标 * 右下角归一化x坐标 * 右下角归一化y坐标 * 右上角归一化x坐标 * 右上角归一化y坐标 注:归一化x坐标指像素x坐标除以图像宽度,归一化y坐标指像素y坐标除以图像高度。 ## 标注技巧 ### 1. 标在哪? 1. 灯条角点处 exp1exp 2. 不要强行对齐数字图案 不要强行对齐 3. 什么时候可以比较信任数字图案? - 装甲板角度不会过于奇葩、装甲板过小导致灯条模糊 tiny ### 2. 标注全!!! - 标注全!标注全!标注全! - 不要漏标!不要漏标!不要漏标! ### 3. 注意分类正确!!! - 尽管大部分可能是正确的,但还是会有错的 - 特别注意**基地Bs**,几乎**全是错的** 基地分类注意 ### 4. 一些特殊情况 1. 装甲板缺少了一个灯条,即存在装甲板角点不可见。--->**不用标注** - **但是**,如果因为小陀螺而侧向倾斜要标,见后第3点 fake-loss 2. 快门拖影导致装甲板(中间数字)已经明显无法识别---> **不用标注** - *此时该图片整体大概率模糊,可以考虑删除这张图片* ![不可识别](./pic/不可识别.png) - **但是**,由于对焦问题而形成椭圆或装甲板数字可以大致识别的时候,**要标注**(主要对数字模版) ​ 可识别 foucus 3. 装甲板因为小陀螺有测角度倾斜,甚至**有一条边几乎已经不可见**,只要是装甲板整体可见---> **要标注,且两条边应该大致平行** 倾斜1倾斜0 - *但如果过度倾斜,大约超过75°,装甲板已明显不可见时,**不用标注*** 倾斜2 4. 出现基地大装甲板的图片可直接**删除** 5. 出现连续图片类似,可适当**删除**