一、获取源码
首先,从github上拉取代码。
git clone [email protected]:AlexeyAB/Yolo_mark.git
二、编译可执行文件
然后用visual studio打开yolo_mark.sln,配置正确的opencv包含目录和库目录。
编译release版本的yolo_mark.exe。
三、测试
打开cmd,进入到Yolo_mark\x64\Release路径下,执行yolo_mark.cmd。
会打开如下的界面。
四、分析
来看一下yolo_mark.cmd的内容。
echo Example how to start marking bouded boxes for training set Yolo v2
yolo_mark.exe data/img data/train.txt data/obj.names
pause
其实就是调用了yolo_mark.exe,然后传递了几个参数。
data/img是训练的数据集,里面包含图片和每一张图片对应的标注数据。
data/train.txt是数据集的相对路径集合。
data/obj.data是数据集的配置信息。
data/obj.names是数据集所有分类类名。
yolo_mark是将所有类别以object id的形式展示出来。
五、标注自己的数据集
经过上面的分析,我们已经大致知道要标注自己的数据集需要修改哪些文件了。
我有一个文件夹名为myDataset的数据集,现在我将它拷贝到Yolo_mark\x64\Release\data目录下。
这个数据集也只有两个分类:cat和dog。
接下来新建一个名为my_obj.names的文件,在里面添加如下内容:
再新建一个名为my_obj.data的文件,在里面添加如下内容。
最后新建一个名为my_yolo_mark.cmd的文件,在里面添加如下内容:
然后在终端运行my_yolo_mark.cmd,打开如下界面:
现在就可以对自己的数据集进行标注了。
按下键盘上的h键可以显示软件的使用快捷键。
拖动object id的滑条选择当前标注的框属于哪个类别。
每标注一张图片就会产生一个对应的txt文件,txt文件的内容如下:
第一个数字代表类别,后面的四个数据是标注框的信息,分别是标注框左上角的x,y坐标,标注框的宽w,高h。每一行是一个标注对象,如果一张图片中有多个目标,则txt就对应有多少行。