(目标检测)①数据集的建立(拍摄收集、数据集标注)

目录

一、拍摄收集

(一)视频拍摄

(二)将MP4文件截取出图片

二、数据集标注

1、打开图片所在的文件夹

2、修改输出文件夹

3、图片标注

这一系列的博客将会帮助我自己(和大家)认识并熟悉——如何 使用YOLO训练自定义的数据集,同时如何 部署到Windows以及Linux上,下面有请我的检测目标—— 拉拉猪!

(目标检测)①数据集的建立(拍摄收集、数据集标注)

在建立数据集之前,我从网络上收集了一些资料——关于如何建立一个 有效的数据集,比如图像数据集的数量,检测目标的位置、大小、方向,甚至是光线、背景等等其他因素的影响,手机出来的资料我总结如下:

  1. 从不同的背景中拍摄不同角度方向的目标图像:图像数据集中,检测的对象必须至少有一个相似的差不多相同的形状、侧面的对象、相对大小、旋转角度、倾斜、照明……

  2. 保证采集的数据的质量,大小最好和使用场景的尺寸接近,尽量在该场景下采集数据的多样性,尽量采集自然场景下的各种各样的照片

  3. 数据集的数量越多越好(1000+/2000+),普遍来说,应该是有2000+,训练迭代2000+或更多
  4. 数据集中既要包括想要检测的物体,也要包括不想检测的物体,但是标注的话只标注想要检测的物体
  5. 如果是多个类检测的话,那么各个目标检测的类在你的数据中出现的次数差不多
  6. 目标所被标记部分是按照你希望如何被检测到的方式去标记(比如只检测一半、可重叠区域、比整个物体大一点……)
  7. 确保要检测的每个对象在训练集中都被标记
  8. 制作数据集你可以通过爬虫的方式来获取图像,也可以拍摄一段视频然后截取包含目标的图像
  9. 可以通过图像增强的方法来提升数据集的数量

感谢在收集资料中遇到的文档:
深度学习目标检测YOLO对于数据集的要求_柠檬树的橘子的博客-CSDN博客_yolo数据集要求文章目录前言一、目标检测对训练数据集的要求前言提示:之前在做深度学习的时候,发现如果想要训练自己的数据集,那么数据集的准备对检测结果有很大的影响。刚好最近看YOLO的帮助文档,发现有一些对数据集的要求和建议,这里就记录一下。一、目标检测对训练数据集的要求YOLO帮助文档确保要检测的每个对象在训练集中都被标记。数据集中的每个对象都应该被标记。在大多数训练问题中,你的数据集中有错误的标签。对于每个你想要检测的对象-在训练数据集中必须至少有一个相似的对象有差不多相同的:形状,侧面的对象,相对大小,(目标检测)①数据集的建立(拍摄收集、数据集标注)https://blog.csdn.net/qq_41308881/article/details/110525477 ;
【YOLO学习笔记——数据集】之一YOLO数据集制作1(含LabelImg工具讲解)_水亦心的博客-CSDN博客_yolo数据集制作前言如果你有什么问题,希望跟我能够一起交流,除了通过博客交流外,欢迎你加入我的QQ群,一起交流有关于机器学习、深度学习、计算机视觉有关内容。目前我并未确定具体的研究方向,所以现在 处于广泛涉猎阶段,希望我们能够一起沟通。下图是我的群二维码:一、综述YOLO有自己训练好的数据集,在YOLO v2 中,数据集可检测的类别达9000种以上,但是9000毕竟不是全部,它能涵盖大部分的物体识…(目标检测)①数据集的建立(拍摄收集、数据集标注)https://blog.csdn.net/shuiyixin/article/details/82623613 ;以及知乎上的相关回答……

一、拍摄收集

(一)视频拍摄

从以上的方面中考虑,我希望 制作一个数据集:(由于是一个比较简单的目标——图像的数据量在 600张左右

  • 背景一(桌面上):光线不太强、拍摄较近、拍摄各个角度(60s-60张)
  • 背景二(拿手上):光纤适合、拍摄各个角度(60s-60张)
  • 背景三(被子上):光纤不太强(有阴影)、拍摄各个角度、远近结合(60s-60张)
  • 背景四(有一个差不多的物体在旁边):拍摄各个角度(60s-60张)
  • 背景五:强光照射、拍摄各个角度(60s-60张)
  • 背景六:弱光微射、拍摄各个角度(60s-60张)
  • 背景七(稍微变形):拍摄各个角度(60s-60张)
  • 背景八(粉色背景):拍摄各个角度(60s-60张)
  • 背景九(键盘上):拍摄较远、拍摄各个角度(60s-60张)

于是,我用手机拍摄了拉拉猪的一系列的视频:

(目标检测)①数据集的建立(拍摄收集、数据集标注)

(二)将MP4文件截取出图片

需要注意的是: 名字要从1开始一直往后,如果不是自己截取的图片,那么可以通过看图软件对文件名批量修改名称(网上说: 2345看图王可以)

import cv2
import os

视频的帧数为30,那么60s的视频一共有1800帧,选择60张照片,则选择每隔30帧选一张

path_video = "E:/work/VOC2021/videos/拉拉猪 ("
form = ").mp4"
save_pictures = "E:/work/VOC2021/JPEGImages/"

count = 0
for num in range(1,10):
    # 视频数量一共是9个
    path_cv = path_video + str(num) + form
    vc = cv2.VideoCapture(path_cv)

    i = 0
    while vc.isOpened():
        rval, img = vc.read()

        frame_count = vc.get(cv2.CAP_PROP_FRAME_COUNT)  # 视频文件的帧数
        frame_fps = vc.get(cv2.CAP_PROP_FPS)  # 视频文件的帧率

        if i==frame_count:
            break
        else:
            i=i+1
            if i % int(frame_count/60) == 0:  #选取60照片
                count = count + 1
                # 图片命名及保存路径
                filename=str(count)+".jpg"
                cv2.imwrite(save_pictures+filename,img)

    print("第{}个视频截取图片完毕!".format(num))

    # 释放资源
    vc.release()
    cv2.destroyAllWindows()

注意:图片保存的位置不能有中文字符,否则生成的图片将找不到!!!

最后的结果如下:

(目标检测)①数据集的建立(拍摄收集、数据集标注)

然后建立如下所示的文件目录结构:

VOC:Visual Object Classes

(目标检测)①数据集的建立(拍摄收集、数据集标注)

(目标检测)①数据集的建立(拍摄收集、数据集标注)

二、数据集标注

接下来就是 对541张照片进行图片标注了,这一步一张图片都不能少,我们所用的软件是 LabelImg

(目标检测)①数据集的建立(拍摄收集、数据集标注)

软件分享:
链接:https://pan.baidu.com/s/1jrWfEACNLSHfscCAU6KgXw
提取码:8888
–来自百度网盘超级会员V2的分享

界面:

(目标检测)①数据集的建立(拍摄收集、数据集标注)

1、打开图片所在的文件夹

(目标检测)①数据集的建立(拍摄收集、数据集标注)

(目标检测)①数据集的建立(拍摄收集、数据集标注)

2、修改输出文件夹

(目标检测)①数据集的建立(拍摄收集、数据集标注)

3、图片标注

输入法切换为英文,按下”W”,会出现如下的十字

(目标检测)①数据集的建立(拍摄收集、数据集标注)

然后按住鼠标左键拖动,直到将目标包括在内(选取的区域尽可能包含),然后输入目标的类别:lalazhu

(目标检测)①数据集的建立(拍摄收集、数据集标注)

(目标检测)①数据集的建立(拍摄收集、数据集标注)

这个时候右上角将会产生一个类别:

(目标检测)①数据集的建立(拍摄收集、数据集标注)

然后点击: Save (保存该图片)—— Next Image (开始下一张图片的标注)

(目标检测)①数据集的建立(拍摄收集、数据集标注)

然后 重复操作:按下”W”,鼠标选择,save,next image

(目标检测)①数据集的建立(拍摄收集、数据集标注)

直到标注完成!

文件夹显示如下:

(目标检测)①数据集的建立(拍摄收集、数据集标注)

其中的第一张的图片标注:


    JPEGImages
    1.jpg
    E:\work\VOC2021\JPEGImages\1.jpg

        Unknown

        1920
        1080
        3

    0

        lalazhu
        Unspecified
        0
        0

            334
            326
            1623
            855

(目标检测)①数据集的建立(拍摄收集、数据集标注)

Original: https://blog.csdn.net/weixin_44917390/article/details/121321405
Author: 手可摘星辰不去高声语
Title: (目标检测)①数据集的建立(拍摄收集、数据集标注)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/651153/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球