• 深度学习视觉数据准备


    针对视觉任务中的数据准备进行记录:

    1.从视频中获取图片数据

    1. 首先从视频中剪辑出指定长度(2-3s)的有效片段,直接使用剪辑工具即可(推荐 快剪辑)

    1. 将视频片段拆分成帧图片。

      • 首先右键查看视频片段的 属性,然后转 详细信息 查看 帧速率,此速率即为后期生成图片的一个重要参数。

      • 可使用工具 ffmpeg 来生成图片,也可直接写脚本程序完成此项工作。这里记录下使用 ffmpeg 的操作过程:

        安装及环境配置,详见:https://blog.csdn.net/weixin_33895016/article/details/93944142

        使用:进入视频文件所在目录,shift + 右键 在此处打开 Powershell ,输入命令:

        ffmpeg -i "video.mp4" -r 1 -q:v 2 -f image2 vid_%d.jpg
        # ffmpeg -i 视频 -r 每秒帧数 -q:v 图片质量参数 -f 图片命名格式
    1. [可选] 文件重新命名。需要将上面生成的文件名更改成 000x.jpg, 00xx.jpg, 0xxx.jpg 的形式,可以使用以下脚本:

      def rename(file_path):
          """
          将给定目录下的图像文件重新命名(0000.jpg 格式)
          :param file_path:
          :return:
          """
          # 首先得到所有的图片(list)
          images = []
          # key=lambda x: int(x[:-4]) : 倒着数第四位'.'为分界线,按照'.'左边的数字从小到大排序(注意这里的逻辑是根据上面第2步的命名 vid_%d.jpg 来写的)
          for f in sorted(os.listdir(os.path.join(file_path)), key=lambda x: int(x[4:-4])):  # 获取的列表是乱序的,记得排一下序
              sub_path = os.path.join(file_path, f)
              if os.path.isfile(sub_path):
                  images.append(sub_path)
          print(images)
          # 重新命名
          count = 0
          for img in images:
              if count < 10:
                  os.rename(img, os.path.join(file_path, '000' + str(count) + ".jpg"))
              elif count < 100:
                  os.rename(img, os.path.join(file_path, '00' + str(count) + ".jpg"))
              elif count < 1000:
                  os.rename(img, os.path.join(file_path, '0' + str(count) + ".jpg"))
              count += 1
          print("rename completed!")

    2.直接获取图片数据

    这没什么好说的。

    3.图片标注

    这里主要记录了 windows 下目标检测数据的标注,标注格式为 Pascal VOC 格式。其余系统同理。

    1. 首先要选定一款数据标注工具,推荐 labelme 。不推荐网上的命令行式安装,可以去这里下载[提取码:ldxp],解压后会有一个 data 文件夹和一个 labeme.exe 程序。

      [可选] data 文件夹中有一个 txt 文件,其中用来配置标注的对象的类别,之后便可在标注时弹出类别选项而无需手动输入。比如有 a,b,c,d,e 5类,txt 文件如下:

    1. 标注时直接打开 labelme.exe 即可。点击左侧边栏 open Dir 打开数据所在的文件来导入图片数据,点击 Create RectBox 或使用快捷键 w 来新建标注框,完了 ctrl+s 保存成 xml 文件。

    参考:https://blog.csdn.net/weixin_33895016/article/details/93944142

  • 相关阅读:
    Java Output流写入包装问题
    SpringBoot项目单元测试不经过过滤器问题
    SpringSecurity集成启动报 In the composition of all global method configuration, no annotation support was actually activated 异常
    JWT jti和kid属性的说明
    Maven 排除依赖
    第五章 基因概念的发现
    第三章 孟德尔遗传的拓展
    第二章 孟德尔遗传
    第一章 引言
    GWAS全基因组关联分析
  • 原文地址:https://www.cnblogs.com/zishu/p/12596016.html
Copyright © 2020-2023  润新知