GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 7 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 9 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 9 年前 | ||
| 7 年前 | ||
| 9 年前 | ||
| 7 年前 |
Yolo_mark
支持 Windows 和 Linux 的图形界面,用于标注图像中对象的边界框,以训练 Yolo v3 和 v2 模型。
-
在 Windows 上编译,请在 MSVS2013/2015 中打开
yolo_mark.sln文件,编译 x64 及 Release 版本,然后运行x64/Release/yolo_mark.cmd。修改yolo_mark.sln中的路径以指向安装在您计算机上的 OpenCV 2.x/3.x:-
(右键单击项目)-> 属性 -> C/C++ -> 一般 -> 额外包含目录:
C:\opencv_3.0\opencv\build\include; -
(右键单击项目)-> 属性 -> 链接器 -> 一般 -> 额外库目录:
C:\opencv_3.0\opencv\build\x64\vc14\lib;
-
-
在 Linux 上编译,请在终端输入以下三个命令:
cmake . make ./linux_mark.sh
支持 OpenCV 2.x 和 OpenCV 3.x。
- 要进行测试,只需运行:
- Windows:
x64/Release/yolo_mark.cmd- Linux:
./linux_mark.sh
- Linux:
- 使用该工具对自定义图像进行标注:
- 删除目录
x64/Release/data/img中的所有文件。 - 将您的
.jpg图像放入此目录x64/Release/data/img。 - 修改文件
x64/Release/data/obj.data中的对象类数(检测目标数量):链接 - 在文件
x64/Release/data/obj.names中,每行写一个对象名称:链接 - 运行文件:
x64\Release\yolo_mark.cmd
- 对于训练自定义对象,需要更改文件
x64/Release/yolo-obj.cfg中的两行:
3.1 下载预先训练好的卷积层权重(76 MB):http://pjreddie.com/media/files/darknet19_448.conv.23
3.2 将 yolo-obj.cfg,data/train.txt,data/obj.names,data/obj.data,darknet19_448.conv.23 文件以及 data/img 目录放置到可执行文件 darknet 同一目录下,开始训练:darknet detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23
详细的说明见:https://github.com/AlexeyAB/darknet#如何训练检测自定义对象
如何从视频文件获取帧:
要从视频文件获取帧(例如每第 N 帧保存一次,N = 10),可以使用以下命令:
- Windows:
yolo_mark.exe data/img cap_video test.mp4 10 - Linux:
./yolo_mark x64/Release/data/img cap_video test.mp4 10
在此之前,应创建 data/img 目录。在 Windows 上,还需要将 opencv\build\bin 中的 opencv_ffmpeg340_64.dll 文件放在 yolo_mark.exe 文件附近。
结果,许多帧会收集在 data/img 目录中。然后您可以手动使用如下命令对它们进行标注:
- Windows:
yolo_mark.exe data/img data/train.txt data/obj.names - Linux:
./yolo_mark x64/Release/data/img x64/Release/data/train.txt x64/Release/data/obj.names
内容包括:
-
/x64/Release/yolo_mark.cmd- 示例用法:yolo_mark.exe data/img data/train.txt data/obj.namestrain_obj.cmd- 示例如何训练自己的对象(将其放置在 darknet.exe 同目录下):darknet.exe detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23yolo-obj.cfg- 包含两个对象示例的 YoloV3 神经网络配置
-
/x64/Release/data/obj.names- 对象名称列表示例obj.data- 训练 Yolo v3 的配置示例train.txt- 用于训练 Yolo v3 的图像文件名列表示例
-
/x64/Release/data/img/air4.txt- 包含航空器(class=0)在air4.jpg图像上的坐标示例

用户指南
鼠标操作
| 按钮 | 功能 |
|---|---|
| 左键 | 绘制边框 |
| 右键 | 移动边框 |
快捷键
| 快捷键 | 功能 |
|---|---|
| → | 下一幅图像 |
| ← | 上一幅图像 |
| r | 删除选中的边框(鼠标悬停) |
| c | 清除当前图像上所有标记 |
| p | 复制前一个标记 |
| o | 跟踪对象 |
| ESC | 关闭应用程序 |
| n | 每个图像仅一个对象 |
| 0-9 | 对象 ID |
| m | 显示坐标 |
| w | 线宽 |
| k | 隐藏对象名称 |
| h | 查看帮助 |