触类旁通——如何高效完成大型数据集的制作(以VOC数据集为例)

简介: 触类旁通——如何高效完成大型数据集的制作(以VOC数据集为例)

前言


  近期写了一些关于制作数据集的博客,在这里将系统性从逻辑结构构造角度出发进行数据集的制作,网络上关于VOC2COCO数据集的开源代码比比皆是,我门就以VOC数据集的制作为例子为大家介绍如何高效完成数据集的制作。




核心架构


  基于LabelImg进行数据集的制作我想这种方法应该是较为传统的制作数据集的方式,通过开源代码完成LabelImg搭建进行VOC数据集的制作。在这篇博客中我将为大家带来一种快速制作数据集的方式。


核心架构:


  1. 读取摄像头


  1. 构造True循环


  1. 获取视频画面


  1. 对视频画面进行归一化(可设置成自己需要的大小方便后面计算人脸框,避免因外接相机不同造成Bug)


  1. 调用目标检测函数,返回值分别为:目标图像、目标在图像中的X轴坐标值、目标在图像中的Y轴坐标值


  1. 判断返回值中是否存在目标图像或目标在图像中的XY值(有时候画面中没有目标或目标被遮挡导致BUG跳出TURE循环)


  1. 如果返回值判断为不存在目标则disp(No target)


  1. 如果返回值判断为存在目标则执行下面的程序


  1. 给图像命名。图像全名 = 图像名称 + 图像格式


  1. 存储命名结束的图像至指定位置


  1. 给txt文件信息部分进行赋值。TxtInfo = 图像全名+空格+标签+空格+Xmin+空格+Ymin+空格+Xmax+空格+Ymax


  1. 对TxtInfo进行创建txt文件并存储。txt全程 = 图像名称 + .txt


  1. 结束if 和 while True 循环




剖析核心架构:


  在步骤1中,我们读取摄像头是为了获取数据源;我们也可以通过读取文件夹下的图像作为获取数据源;


  在步骤2中,主要是为了能够通过摄像头连接过程中能够持续性获取数据,如果大家是使用读取文件夹的方式的话可以选择剔除掉(如果不剔除的,可以选择一直往指定文件夹内灌数据);


  在步骤3中可以类比为读取图像数据了;


  在步骤4中进行归一化,如果你使用的是通过摄像头获取的数据,可以不用归一化步骤;如果是使用读取文件夹内图像建议使用归一化,这样可以避免采集到的图像的像素大小不统一;


  在步骤5中:这是关键的一步,在调用目标检测函数的时候,我们可以通过形态学自定义搭建检测函数、百度智能云或华为相关接口函数和开源目标检测函数进行完成(大家也自己自己做一个符合自己需要的目标检测函数,例如:fastrcnn\ssd\yolo)


  在步骤6、7和7中的目标作用是筛选出当前获取到的图像是否含有目标,存在目标则计算目标在图像中的XY坐标区间,若没有则打印无目标提示


  在步骤8、9、10中是为了存储存在目标画面,大家在对图像取名的时候可以采用UUID进行命名,整体可以等价为:图像全名 = 图像名称 + 图像格式  | (UUID.JPG = UUID + .JPG)


  在步骤11和12:这是第二关键的一步,我们需要将检测到的信息按照如上所述那般赋值,填写进txt文档中;在给txt文档命名的时候需要将txt文档的名称命名的和图像的名一样 | (UUID.txt ~= UUID.JPG)




展望


  在对txt文档生成后大家可以使用开源代码:txt2xml生成VOC数据集。通过如上核心架构以及对架构的剖析,能够有清晰的思路,在大家需要解决大量数据集的时候能够触类旁通快速完成数据集的制作,在这里希望各位不会再为了数据集的制作而发愁!


   我会例举几个项目至我的Github仓库中:kiven-yangming



相关文章
|
5月前
|
机器学习/深度学习 监控 数据可视化
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示(3)
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示
|
3月前
|
数据采集 人工智能 小程序
如何制作数据集并基于yolov5训练成模型并部署
这篇文章介绍了如何为YOLOv5制作数据集、训练模型、进行模型部署的整个流程,包括搜集和标注图片、创建数据集文件夹结构、编写配置文件、训练和评估模型,以及将训练好的模型部署到不同平台如ROS机器人、微信小程序和移动应用等。
如何制作数据集并基于yolov5训练成模型并部署
|
4月前
|
数据采集 机器学习/深度学习 数据可视化
关于Python数据分析项目的简要概述:从CSV加载数据,执行数据预处理,进行数据探索,选择线性回归模型进行训练,评估模型性能并优化,最后结果解释与可视化。
【7月更文挑战第5天】这是一个关于Python数据分析项目的简要概述:从CSV加载数据,执行数据预处理(填充缺失值,处理异常值),进行数据探索(可视化和统计分析),选择线性回归模型进行训练,评估模型性能并优化,最后结果解释与可视化。此案例展示了数据科学的典型流程。
76 2
|
5月前
|
数据可视化 计算机视觉 Python
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示(2)
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示
|
5月前
|
机器学习/深度学习 数据可视化 算法
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示(1)
【超详细】MMLab分类任务mmclassification:环境配置说明、训练、预测及模型结果可视化展示
|
存储 数据挖掘 数据处理
R语言之处理大型数据集的策略
R语言之处理大型数据集的策略
152 4
|
机器学习/深度学习 数据采集 算法
UCI数据集详解及其数据处理(附148个数据集及处理代码)
UCI数据集详解及其数据处理(附148个数据集及处理代码)
3123 1
|
XML JSON 算法
计算机视觉,算法应用自定义数据集制作
计算机视觉,算法应用自定义数据集制作
130 0
|
机器学习/深度学习 Cloud Native 算法
【DSW Gallery】一文览尽:机器学习平台PAI模型构建和训练案例全集
本文为您展示DSW Gallery的全部文章,欢迎您浏览。同时文末有动手实验有奖活动,期待您的参与!
【DSW Gallery】一文览尽:机器学习平台PAI模型构建和训练案例全集
|
机器学习/深度学习 存储 算法
机器学习中不平衡数据集分类模型示例:乳腺钼靶微钙化摄影数据集(二)
机器学习中不平衡数据集分类模型示例:乳腺钼靶微钙化摄影数据集(二)
206 0
机器学习中不平衡数据集分类模型示例:乳腺钼靶微钙化摄影数据集(二)
下一篇
无影云桌面