windows上无人机yolov3项目(一)预操作yolo项目地址: https://github.com/Alexey ab/darknet
下载,解压缩。
(建立自己的数据集) yolo_感性鸡翅项目地址: https://github.com/AlexeyAB/Yolo_感性鸡翅
由于数据集下载涉及项目和无人机,航空摄影数据集很少见,一些数据集也很难在国外下载,因此要做好收集笔记。
(visdrone2019 (需要高中/企业邮箱注册) )有标志() ) ) ) ) ) ) ) ) ) ) )
33558 www.ai skyeye.com/views/indexvisdrone 2018
https://www .建墅.com/p/62e 827306 FCA斯坦福大学69G大型无人机(校园)图像数据集
3358 cvgl.Stanford.edu/projects/UAV _ data /流程概述由于使用了visdrone数据集,因此尽管附带了标记,但标记和yolo仍需要进行必要的标记使用yolo_感性鸡翅标记自己的数据集是很省时的,但自己标记目标需要花费大量的时间。 所以,在转换上花点时间是值得的。
流程如下:
图像用序列号重命名,标注txt文件用序列号重命名txt标注用VOC格式XML标注XML标注转换为适合yolo的txt标注数据集处理相关代码发送过来,格式很混乱把度娘光盘放在这里吧。 如果你感兴趣的话请自己下载。
33559 pan.Baidu.com/s/1 nze HW-fbtoklpnp0avbkwgroj 1
图像和标记的排序名称(请参见[1] ) ) ) ) ) ) ) )。
选择此数据集,因为visdrone数据集已被标记。 为了符合VOC数据集的规范和便于使用,请使用rename.py重命名图像文件,然后重命名标记文件。 请注意修改程序中的路径。
在windows上复制的路径是反斜杠,可能会导致转义字符错误。 请改为使用双反斜杠“”或斜杠“/”。 将visdrone标记转换为VOC格式(请参见[2] ) ) ) ) ) ) ) ) ) ) )。
visdrone的书写方法与yolo书写方法不同,需要转换。 其中,txt首先将标记转换为VOC格式的xml,将数据复制到Txt2XML文件夹中,然后使用main.py进行转换。 请注意,同样修改程序中的路径。 生成train、val的图像名称列表txt ((参照[3][4] ) ) ) ) ) ) ) ) ) ) ) ) ) )。
这一部分的工作简单来说,就是随机提取数据库中的图像,分为2-3部分,一部分作为train (训练),一部分作为validation (验证),根据需要再添加test (测试)测试) 各部分的作用和所占比例可检索或参考[3]。
在与darknet文件夹相同的文件夹下创建myData文件夹,并在myData文件夹下创建以下文件夹以放置数据:
JPEGImages ——存储. jpg图像
Annotations ——存储与映像对应的xml文件
ImagesSets/Main ——包含train/test图像的名称列表txt
参照[4]的步骤4的代码,运行trainnamelist.py创建train的图像名称列表txt。 因为只用于train,所以注释了部分代码。 代码比较简单,可以根据需要自己修改。 请注意,以同样的方式修改路径。
文章[4]最后出现的txt文件格式并不适用yolo,总之只看步骤4的代码就可以了。 请不要看其他部分。 或者你可以自己写随机数字的程序。 图像的名字都是有序的数字,所以程序应该不难。
获取图像的名称列表txt后,放在ImagesSets/Main文件夹中的VOC格式将转换为yolov3标记格式。 (见[5][6] )
darknet框架提供了将voc数据集的注释更改为yolo格式的python程序,darknet-masterbuilddarknetx64dataVOC或darknet
在执行[5]中的步骤4时,将在darknet/myData目录下生成标签文件夹和txt文件(myData_train.txt )。 标签文件夹包含适用于yolov3的标记文件,并与映像名称一一对应。 内容的意思是:
对象- classxcenterycenterwidthheight
目标类别尺寸边框的中心x轴相对坐标尺寸边框的纵横相对长度
坐标和长宽是整个图像的长宽比,因此数值必须为0-1。
myData_train.txt包含图像的绝对路径。 如果只需要输出路径,而不需要将xml转换为txt,请使用引用[6]的代码。 后续处理
visdrone标注如图所示,实际上代码能力强的同学可以根据此图直接从visdrone的标注txt转换为yolo的txt。
图中的第六个项目表示类别,0类是应该被忽略的标记,因此label.py在输出到txt文件时需要添加if判定语句,其他类别的id数值也需要-1。 这样就减少了0类,总体上只有11类。
第7项表示物体位于画面外的比例,第8项表示物体被遮挡的比例,根据需要也可以先排除这两个数值高的数据。
参考链接[1] https://blog.csdn.net/魅力之心_qin/article/details/80930267
[2] https://github.com/zhp矩阵/vis drone 2018
[3] https://www.zhi Hu.com/question/26588665
[4] http://www.cn blogs.com/blog4ljy/p/9195752.html
[5] https://blog.csdn.net/Holmes _ MX/article/details/81235687
[6] https://blog.csdn.net/gu sui 7202/article/details/82114180