Python 全栈体系【四阶】(四十)

第五章 深度学习

八、目标检测

4. 视频关键帧处理

例如,需要从一台晚会中抹去某个违法明星的视频,如果视频每秒25帧,采用逐帧扫描,每处理一帧需要2秒,则需要的处理时间为:

时间 = 4 * 3600 * 25 * 2

共需要200个小时才能处理完成。所以就需要借助关键帧来提高处理速度,降低目标检测复杂度。

4.1 什么是关键帧

关键帧(I-Frame):

  • 关键帧是包含该段视频中主要信息的帧

  • 关键帧在压缩成AVI, MP4, MOV等格式时,该帧会完全保留

  • 视频解码时只需要本帧数据,不需要从前一帧、后一帧获取数据

前向差别帧(P-Frame)

  • 当前帧与前一个I-Frame或前一个P-Frame之间的差别,可以理解为与前一帧的数据偏移值
  • P-Frame没有完整数据画面,只有与前一帧的差别信息,解码时需要从前一帧获取数据

双向差别帧(B-Frame)

  • 记录本帧与前一帧、后一帧的差别
  • 解码时需要获取前一帧、后一帧的数据
  • 压缩后的视频体积小,但编解码计算较慢
4.2 如何提取关键帧

可以使用FFMPEG工具提取视频中的关键帧。

在这里插入图片描述

也可以使用FFMPEG工具进行视频截取。

在这里插入图片描述

5. 目标检测数据集

5.1 PASCAL VOC

VOC数据集是目标检测经常用的一个数据集,自2005年起每年举办一次比赛,最开始只有4类,到2007年扩充为20个类,共有两个常用的版本:2007和2012。学术界常用5k的train/val 2007和16k的train/val 2012作为训练集,test 2007作为测试集,用10k的train/val 2007+test 2007和16k的train/val 2012作为训练集,test2012作为测试集,分别汇报结果。

5.2 MS COCO

COCO数据集是微软团队发布的一个可以用来图像recognition+segmentation+captioning 数据集,该数据集收集了大量包含常见物体的日常场景图片,并提供像素级的实例标注以更精确地评估检测和分割算法的效果,致力于推动场景理解的研究进展。依托这一数据集,每年举办一次比赛,现已涵盖检测、分割、关键点识别、注释等机器视觉的中心任务,是继ImageNet Challenge以来最有影响力的学术竞赛之一。

相比ImageNet,COCO更加偏好目标与其场景共同出现的图片,即non-iconic images。这样的图片能够反映视觉上的语义,更符合图像理解的任务要求。而相对的iconic images则更适合浅语义的图像分类等任务。

COCO的检测任务共含有80个类,在2014年发布的数据规模分train/val/test分别为80k/40k/40k,学术界较为通用的划分是使用train和35k的val子集作为训练集(trainval35k),使用剩余的val作为测试集(minival),同时向官方的evaluation server提交结果(test-dev)。除此之外,COCO官方也保留一部分test数据作为比赛的评测集。

5.3 Google Open Image

Open Image是谷歌团队发布的数据集。最新发布的Open Images V4包含190万图像、600个种类,1540万个bounding-box标注,是当前最大的带物体位置标注信息的数据集。这些边界框大部分都是由专业注释人员手动绘制的,确保了它们的准确性和一致性。另外,这些图像是非常多样化的,并且通常包含有多个对象的复杂场景(平均每个图像 8 个)。

5.4 ImageNet

ImageNet是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。ImageNet是美国斯坦福的计算机科学家,模拟人类的识别系统建立的。能够从图片识别物体。ImageNet数据集文档详细,有专门的团队维护,使用非常方便,在计算机视觉领域研究论文中应用非常广,几乎成为了目前深度学习图像领域算法性能检验的“标准”数据集。ImageNet数据集有1400多万幅图片,涵盖2万多个类别;其中有超过百万的图片有明确的类别标注和图像中物体位置的标注。

6. 常用图像标注工具

6.1 LabelImg

1)LabelImg 是一款开源的图像标注工具,标签可用于分类和目标检测,它是用 Python 编写的,并使用Qt作为其图形界面,简单好用。注释以 PASCAL VOC 格式保存为 XML 文件,这是 ImageNet 使用的格式。 此外,它还支持 COCO 数据集格式。

2)前置条件:安装Python3以上版本,安装Pyqt5。PyQt5安装指令如下:

pip3 install  --user PyQt5==5.14.1 --index-url https://pypi.tuna.tsinghua.edu.cn/simple/  --trusted-host https://pypi.tuna.tsinghua.edu.cn

3)安装方法:
第一步:下载安装包
第二步:使用Pycharm打开项目,运行labelImg.py文件;或直接运行labelImg.py文件
见专栏 -> 全栈资料包 -> 资源包/03_dl

4)常见错误处理:

报错:ModuleNotFoundError: No module named ‘libs.resources’

  • 处理方式:
    • 将python下scripts添加到环境变量path中
    • 在labelImg目录下执行命令:pyrcc5 -o resources.py resources.qrc
    • 将生成的resources.py拷贝到labelImg/libs/下
    • 执行labelImg.py程序
6.2 Labelme

labelme 是一款开源的图像/视频标注工具,标签可用于目标检测、分割和分类。灵感是来自于 MIT 开源的一款标注工具 Labelme。Labelme具有的特点是:

  • 支持图像的标注的组件有:矩形框,多边形,圆,线,点(rectangle, polygons, circle, lines, points)
  • 支持视频标注
  • GUI 自定义
  • 支持导出 VOC 格式用于 semantic/instance segmentation
  • 支出导出 COCO 格式用于 instance segmentation
6.3 Labelbox

Labelbox 是一家为机器学习应用程序创建、管理和维护数据集的服务提供商,其中包含一款部分免费的数据标签工具,包含图像分类和分割,文本,音频和视频注释的接口,其中图像视频标注具有的功能如下:

  • 可用于标注的组件有:矩形框,多边形,线,点,画笔,超像素等(bounding box, polygons, lines, points,brush, subpixels)
  • 标签可用于分类,分割,目标检测等
  • 以 JSON / CSV / WKT / COCO / Pascal VOC 等格式导出数据
  • 支持 Tiled Imagery (Maps)
  • 支持视频标注 (快要更新)
6.4 RectLabel

RectLabel 是一款在线免费图像标注工具,标签可用于目标检测、分割和分类。具有的功能或特点:

  • 可用的组件:矩形框,多边形,三次贝塞尔曲线,直线和点,画笔,超像素
  • 可只标记整张图像而不绘制
  • 可使用画笔和超像素
  • 导出为YOLO,KITTI,COCO JSON和CSV格式
  • 以PASCAL VOC XML格式读写
  • 使用Core ML模型自动标记图像
  • 将视频转换为图像帧
6.5 CVAT

CVAT 是一款开源的基于网络的交互式视频/图像标注工具,是对加州视频标注工具(Video Annotation Tool) 项目的重新设计和实现。OpenCV团队正在使用该工具来标注不同属性的数百万个对象,许多 UI 和 UX 的决策都基于专业数据标注团队的反馈。具有的功能

  • 关键帧之间的边界框插值
  • 自动标注(使用TensorFlow OD API 和 Intel OpenVINO IR格式的深度学习模型)
6.6 VIA

VGG Image Annotator(VIA)是一款简单独立的手动注释软件,适用于图像,音频和视频。 VIA 在 Web 浏览器中运行,不需要任何安装或设置。 页面可在大多数现代Web浏览器中作为离线应用程序运行。

  • 支持标注的区域组件有:矩形,圆形,椭圆形,多边形,点和折线

7. 附录:术语表

英文全写英文简写中文名称
one stage一阶段检测
two stage两阶段检测
region proposalRP候选区域(一个有可能包含待检物体的预选框)
bounding boxesbb候选框
Non-Maximum SuppressionNMS非极大值抑制
selective searchSS选择搜索
Regions with CNN featuresR-CNN
region of interestRoI感兴趣区域(候选区域)
You Only Look OnceYOLO
frame per secondfps帧每秒
High Resolution Classifier高分辨率分类器
Batch NormalizationBN批量正则化
Mean Average PrecisionmAP平均精度均值
Intersection over UnionIOU交并比(“预测的边框” 和 “真实的边框” 的交集和并集的比值)
Fine-Grained Features细粒度特征
Feature Pyramid NetworkFPN特征金字塔网络
  • 19
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠檬小帽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值