一、安装与测试
环境: Ubuntu16.04 + Opnecv + Cmake
项目地址:https://github.com/AlexeyAB/Yolo_mark
-
下载。打开终端,键入:
git clone https://github.com/AlexeyAB/Yolo_mark
下载Yolo_mark。下载完成后,
cd Yolo_mark
进入到Yolo_mark的目录。Yolo_mark文件 夹下的的文件如图所示:
-
编译。在Yolo_mark文件目录下打开终端,首先输入
cmake .
完成后,再输入:
make
编译完成后会生成可执行文件。建议用自带的linux_mark.sh打开Yolo_mark。linux_mark.sh中包含了程序运行要传入的一些参数,如图片路径,需要标记的物体的名字等。在终端输入
chmod +x ./linux_mark.sh
,给文件可执行权限。输入./inux_mark.sh
即可打开Yolo_mark。以下是Yolo_mark的主界面:
-
测试。主界面顶部为图片预览,绿色的小勾表示已有标记或者标记完成。
下面的Object id是你标记对应的类,可以通过键盘上面的快捷键切换。例如你标记的物体名字是:person air bird
, 最前面person
的ID是0
,要切换到bird
,按下数字键2
即可。
在中间部分的大图上,按下鼠标左键拖动,松开左键后会生成上图所示的矩形框,包含类对应的ID,自定义的名字。
快捷键C
会清除当前图片上面的所有标记,空格键
保存标记信息并切换到下一张。
二、准备自己的数据并进行标注
参考Github上面的教程:
- 打开文件夹,将自己的图片复制到Yolo_mark下x64/Release/data/img文件夹中(先删除自带的所有文件)。
- 修改 x64/Release/data/obj.data。此文件修改第一行,后面的数字是需要标记的类,此处只标记一类物体。 例子:
classes = 1
- 修改x64/Release/data/obj.names。标记物体的名字,一行一个。例子:
bird
- 在终端输入
./linux_mark.sh
,打开Yolo_mark,鼠标左键按下拖动,会形成一个矩形框。如图所示:
在打开的图片窗口中,标记目标,快捷键C
会清除所有标记,按下空格键保存数据并打开下一张图片。数字键可以切换标记目标的名字。标记完用Esc或者Ctrl + c退出。 - 标注完成后,会在img文件夹下面生成与图片相对应的同名txt文件,里面为训练需要标注的数据。例子:
0 0.425781 0.645833 0.235938 0.436111
第一个参数是对应的类,后面的四个参数为标记物体归一化后中心位置和尺寸。
同时,会在data目录下生成train.txt文件,里面包含了已经完成标记的图片的路径,路径从Yolo_mark的目录开始。