Loading

深度学习视觉数据准备

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

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

 

posted @ 2020-03-29 23:50  sinatJ  阅读(271)  评论(0编辑  收藏  举报