项目介绍

Yolo_mark是一个检测任务数据集制作工具,制作完成后的数据格式不是VOC或者COCO的数据格式,从它的名字也可以看出,它是专门为了YOLO系列的网络训练准备数据的,YOLO这一点还是很任性的,它没有使用任何一个已有的深度学习框架来实现他的代码,而是自己写了一个纯C的轻量级框架—darknet,所以它的训练数据准备也不是按照标准开源数据集那样的格式。Yolo_mark就是专门为了准备YOLO准备训练数据的,这里是它的github地址。
该项目支持windows和linux两中系统,依赖Opencv库,2.X或者3.X都可以。如果是windows的话,需要VS2013或VS2015。


使用

下面介绍下windows下如何使用Yolo_mark:
项目中已经提供了.sln文件,使用VS2013或VS2015打开解决方案后,在x64和Release平台下编译这个工程,需要注意的是,我们需要先配置好OpenCV,这个过程就不详细说了。
编译成功后会在x64下的Release文件夹中生成.exe程序,然后通过yolo_mark.cmd的命令行文件运行这个生成的exe程序就好了。
效果就是这样,一个很简单的GUI界面:

Yolo_mark运行还是很好实现的,关键的问题是数据如何组织,因为这些数据要用到YOLO的网络训练中。


数据组织形式

项目中的data文件夹内存放需要标注的数据与标注后的结果:
.data文件中定义了目标检测的类别数量,训练数据与测试数据的txt文件列表,各个类别的名字(它是从.names)文件中获取到的:

classes= 1
train  = data/train.txt
valid  = data/valid.txt
names = data/obj.names
backup = backup/

.names文件中定义了各个类别的名字,每个类别的名称都在单独的一行,行数与名称一一对应,比如做单类别行人检测时,.names文件中只有一行:

human

此时,human就是id 0。
train.txt文件为训练数据的列表,它由img文件夹内存放的数据自动获取:

data/img/0.jpg
data/img/1.jpg
data/img/2.jpg
data/img/3.jpg
data/img/4.jpg
data/img/5.jpg
data/img/6.jpg
data/img/7.jpg

最后就是img文件夹了,开始标注之前,img文件夹内只存放需要标注的图像数据(要求.jpg文件),一张图片标注完成之后,会给该图片生成一个名字相同的.txt文件,里面存放的就是bbox的信息:

.txt文件中,每一行都是一个目标的信息,这意味着有几行数据,图像中就标注了几个目标,它根据“id x y w h”的形式存放,其中“ x y w h”都是经过归一化之后的。比如0.txt文件中的结果:

0 0.341797 0.547917 0.049219 0.118056
0 0.731250 0.581944 0.050000 0.225000

YOLO系列网络训练数据准备工具—Yolo_mark相关推荐

  1. yolo系列网络算法的演变过程

    目录 目标检测的历史发展历程: Yolo1 论文地址 Yolo1结构图: 设计思路: Yolo1输出形状 bbox的置信度计算 bbox的所属类的置信度计算 Yolo1的损失函数 四个部分 loss函 ...

  2. Yolo系列检测网络不再孤单,延伸框架层出不穷(附框架源代码)

    点击蓝字关注我们 关注并星标 从此不迷路 计算机视觉研究院 学习群|扫码在主页获取加入方式 计算机视觉研究院专栏 作者:Edison_G 至今,目标检测框架已经百花齐放,各种应用场景.应用限制的要求, ...

  3. YOLO系列(v1~v3)的学习及YOLO-Fastest在海思平台的部署(中)

    YOLO系列(v1~v3)的学习及YOLO-Fastest在海思平台的部署(上) YOLO系列(v1~v3)的学习及YOLO-Fastest在海思平台的部署(中) YOLO系列(v1~v3)的学习及Y ...

  4. TensorFlow2-神经网络训练

    TensorFlow2神经网络训练 文章目录 TensorFlow2神经网络训练 梯度下降 反向传播 训练可视化 补充说明 梯度下降 梯度∇f=(∂f∂x1;∂f∂x2;-;∂f∂xn)\nabla ...

  5. 网络训练生成飞行轨迹

    网络训练生成飞行轨迹 介绍 本文是博客的子文.介绍如何对网络进行训练.主要代码文件如下: 整体代码框图如下,本文介绍框图中的B模块: 网络结构 网络结构定义代码在 nets.py中,模型名称为 Pla ...

  6. 【YOLO系列】YOLOv5超详细解读(网络详解)

    前言 吼吼!终于来到了YOLOv5啦! 首先,一个热知识:YOLOv5没有发表正式论文哦~ 为什么呢?可能YOLOv5项目的作者Glenn Jocher还在吃帽子吧,hh 目录 前言 一.YOLOv5 ...

  7. 【目标检测】yolo系列:从yolov1到yolov5之YOLOv5训练自己数据集(v6.0)

    一.源码下载及requirments 源码下载地址:https://github.com/ultralytics/yolov5 (持续更新中) 本人所用环境如下: pytorch:1.8(因为cuda ...

  8. 【深度学习】快照集成等网络训练优化算法系列

    [深度学习]快照集成等网络训练优化算法系列 文章目录 1 什么是快照集成? 2 什么是余弦退火学习率? 3 权重空间中的解决方案 4 局部与全局最优解 5 特别数据增强 6 机器学习中解决数据不平衡问 ...

  9. yolo v3制作自己的数据_小白也能弄懂的目标检测之YOLO系列 第一期

    大家好,上期分享了电脑端几个免费无广告且实用的录屏软件,这期想给大家来讲解YOLO这个算法,从零基础学起,并最终学会YOLOV3的Pytorch实现,并学会自己制作数据集进行模型训练,然后用自己训练好 ...

最新文章

  1. python多线程的使用(导入线程模块、创建子线程任务、启动子线程任务、获取当前执行的线程号)
  2. Grafana Worldmap外网用户request地图监控
  3. RS485光纤中继器有哪些优缺点?
  4. mysql jdbc驱动_JDBC认识与实践
  5. java点_java常见基础点
  6. CDOJ 1803 绿帽自动机 思维题
  7. Hibernate处理MySQL的时间
  8. python异常信息中最重要的部分是_Python中获取异常(Exception)信息
  9. boost::variantT1, T2类型变量的适配
  10. DevExpress 创建EXCEL
  11. webmin开新网站/创建虚拟服务器失败setquota: Quota file not found
  12. 3D滚动控件实现抽奖效果
  13. matlab转置的问题
  14. 基于bind搭建智能dns
  15. 如何在云服务器上自动运行.py文件
  16. 2020-10-18Go语言接口
  17. sqlserver2012不允许保存更改,阻止保存要求重新创建表的更改
  18. 模拟电子技术之学前必备知识点
  19. 混币器Tornado遭制裁 对DeFi市场意味着什么?
  20. 暑假期间,怎么保护好孩子的视力?盘点适合孩子用的护眼台灯

热门文章

  1. 【2018慢性病与信息大会】中国信息通信研究院党委副书记 乔发民致辞
  2. 谈谈你对Spring Bean生命周期的理解【面试】
  3. Office 2003 sp3(CVE-2012-0158)漏洞分析报告
  4. 【翻译】Tricorder-谷歌如何建立程序分析的生态系统
  5. 夜游项目如何挖掘景区独具特色文化
  6. 【Activiti7】什么是工作流?
  7. 台湾屏东大学承认校徽抄袭 原设计师接受道歉
  8. 实时股票数据接口 ZT
  9. 【SDCC 2016】蘑菇街、华为、阿里巴巴、58到家、同程旅游、链家网、京东的架构变迁与技术演进...
  10. 什么是Platform SDK