目录

介绍

使用DNN进行动作检测

平衡准确性和性能

准备数据集

配置网络

结论


介绍

动作检测是视频处理中最具挑战性的任务之一。它可用于安全系统和闭路电视(CCTV),情感和手势跟踪,体育赛事分析,行为观察,统计数据收集等。

在我们最近的一个项目中,我们面临的挑战是在高分辨率视频中检测特定的人体动作。在本文中,我们讨论了在准确性和性能之间找到平衡的重要性,我们在数据集准备和网络配置方面面临的挑战,以及如何解决这些问题。

使用DNN进行动作检测

深度学习  是机器学习的一个领域,它使用特征学习技术而不是特定于任务的算法。它使用多层人工神经网络,其工作方式与人脑中的神经网络类似。但是与大脑不同,神经网络被划分为单独的层,每个层都具有定义的数据处理方向。具有两层以上的网络称为深度神经网络(DNN)。

DNN可以在诸如图像分类,对象检测和分类,语音识别,手写识别和计算机视觉等任务中实现类似人类的准确性。通过适当的训练,神经网络可以比人类更准确地执行某些任务。例如,谷歌的LYNA算法在检测癌症方面准确率达99%——这对医生来说难以达到。

卷积神经网络(CNN)是DNN,多层算法类似于视觉皮层的工作的子类型。CNN主要用于图像,视频和语言处理。基于区域的卷积神经网络(R-CNN)是专门为对象检测而创建的新类别的CNN。有几种类型的R-CNN神经网络(Fast R-CNN, Faster R-CNN,Mask R-CNN等)为不同的图像处理任务而创建。

卷积神经网络算法

视频处理解决方案的发展已成为卷积神经网络最常用的用例之一。CNN可以识别情绪,手势,语音和手写,检测和分类对象,以及检测和识别视频中的动作。

在我们的项目中,我们将动作检测定义为基于一系列感兴趣的区域(ROI)对不间断的图像序列进行分类。

然而,使用CNN识别和检测视频中的动作存在许多挑战。最近,我们开展了一个项目,其主要目标是检测视频流中的特定人类行为。在开展这个项目的过程中,我们遇到了一些重大挑战:

  • 在准确性和性能之间找到平衡点
  • 准备具有与网络应该使用的参数类似的参数的数据集
  • 为任务选择相关的CNN并进行配置

让我们通过深度神经网络找出如何解决这些问题。

平衡准确性和性能

如今,在准确性和性能方面,检测动作仍然是最具挑战性的任务之一。

为了检测动作,处理图像的空间特征(物体识别方法做了什么)以及时间特征是至关重要的。

在图像处理方面,识别时间特征意味着在一段时间内确定其他特征的变化。对于视频,这可能是一个时间跨度或一定的帧序列。识别空间特征意味着确定图像属性(灰度,像素位置等)。

至于性能,需要考虑的是视频处理解决方案通常用于修剪,未修剪和实时视频。问题是今天的视频编解码器可以产生具有非常高的帧速率和分辨率的视频(FullHD,UHD等)。基本上,视频质量越高,处理数据所需的时间越长。因此,高质量视频成为需要实时或接近实时数据处理的项目(例如动作检测)的真正挑战。

精确度和处理速度之间的权衡在动作检测中尤为明显,因为虽然更高质量的视频通常意味着更高的准确性,但这些视频通常需要更多时间来处理。

我们的研究表明,这个问题可以通过神经网络的低级语言实现来解决,例如Faster R-CNN。这种基于区域的卷积神经网络旨在通过将区域提议计算移动到另一个称为区域提议网络(RPN)的预训练特征提取器来提供快速数据处理。这样,Faster R-CNN仅执行检测计算。

Faster R-CNN架构

Faster R-CNN可以使用Caffe2或OpenCV等框架  ,以及TensorRT推理服务器和可能的最佳GPU设置来实现。我们使用Caffe2进行计算。

准备数据集

训练神经网络模型需要大量数据。有很多用于图像分类和检测的好数据集,例如MS-COCO和ImageNet。

还有一些用于检测操作的即用型数据集,例如UCF101和THUMOS。

问题是,这些数据集是为行动分类而设计的,主要由某些动作的低分辨率修剪视频组成。由于我们面临着在高分辨率高帧率视频中准确检测特定人类动作的挑战,因此需要对此操作的高分辨率视频进行额外培训。

由于我们的任务没有现成的培训数据,我们必须准备自己的数据集。通过注释来准备训练数据。这些注释通常使用GEDI或VGG Image Online Annotator等工具制作。初步研究表明,我们需要考虑训练数据的空间和时间特征。

首先,我们专注于空间特征,因为我们的服务中有许多训练有素的特征提取器。幸运的是,他们也善于检测人,这就是我们所需要的。我们在预训练的Mask R-CNN  框架上使用了流行的最先进的MS-COCO数据集  ,在视频的每一帧上生成ROI。

然后,我们研究了注释动作的方法,并发现了UCF101注释 ,其由使用XML格式的帧跨度形式的ROI和动作注释组成:

<object framespan="1:64" name="human"><attribute name="Location"><data:bbox framespan="1:1" height="47" width="27"x="131" y="68"/>
...<data:bbox framespan="64:64" height="85" width="34"x="153" y="83"/></attribute><attribute name="action"><data:bvalue framespan="1:32" value="false"/><data:bvalue framespan="33:64" value="true"/></attribute></object>

此XML代码描述了执行操作的对象。对象的属性表示在对象出现的每个帧中的位置和动作。

注释的位置数据来自Mask R-CNN; 我们使用了一个自定义脚本,该脚本跳过掩码并将ROI转储到带有框架注释的文件中。为了在单个帧中支持多个人的动作检测,我们使用这种格式作为起点并使用唯一识别器对其进行修改。

配置网络

对于我们的项目,我们实施了Faster R-CNN,即使Mask R-CNN在准确性方面被认为优于Faster R-CNN。我们有两个主要原因选择Faster R-CNN而不是Mask R-CNN:

  • Faster R-CNN具有更好的性能
  • 我们的项目中不需要面具

然而,将Faster R-CNN架构从对象识别调整到动作检测需要大量的定制。

受到用于动作检测的多区域双流R-CNN的研究启发  ,我们实现了一种定制逻辑,将来自我们的数据集注释的空间和时间特征组合到所谓的管中。

管是由ROI组成的三维结构。Xiaojiang Peng和Cordelia Schmid这两位研究人员发表了一篇论文,这篇论文启发了我们,他们的使用 Viterbi算法 生成这些用于帧的管。但是,由于我们需要检测的动作的性质,我们决定使用更简单的方法。我们对序列中的所有ROI使用了近似坐标,这导致了更少的计算。在目前的项目中,我们没有比较这两种方法。

此外,我们实现了用于训练不同长度的帧序列的脚本。

与最初的Faster R-CNN相比,我们重新设计了网络以处理帧序列并仅检测两个类(背景+动作)。这是通过修改Faster R-CNN解决方案的原型 文件来实现的  。这些文件在Caffe2中用于描述神经网络的每一层。这些文件中的典型图层描述如下所示:

layers {bottom: "data"top: "conv1_1"name: "conv1_1"type: CONVOLUTIONconvolution_param {num_output: 64pad: 1kernel_size: 3}
}

图层的bottomtop属性表示与其他图层的连接。类型属性表示当前层执行的操作,该层是与第一个输入层(底部属性)连接的卷积层。它有64个输出神经元,每个神经元都作为下一个连接层的输入(顶部 属性)。

附加测试表明,在修剪过的低分辨率图像上预先训练网络对检测精度没有显着影响。这可能是由于DNN在低分辨率和高分辨率视频的训练过程中获得的特征之间存在显着差异。

结论

在视频流或录音中检测和识别特定人类行为的能力在许多领域显示出巨大的潜力,从体育分析到网络安全和监视系统。但是,为了实现动作检测功能,您需要考虑:

  • 为了提高准确性,您需要利用空间和时间特征;
  • 需要将基于ROI的神经网络架构合并到管中以表示动作(单独的ROI并不意味着发生任何动作);
  • 培训需要使用分辨率类似于您的网络应该使用的数据;
  • 如果高性能是您项目的优先级,则不应使用您不需要的功能,因为任何额外的计算都会显著影响高质量视频的性能。

通过我们在本文中描述的方法,我们在第一个测试阶段实现了63%的动作检测准确度。向数据集添加新的训练数据和进一步的网络微调可能会带来更好的结果。

原文地址:https://www.codeproject.com/Articles/1280553/Action-Detection-Using-Deep-Neural-Networks-Proble

基于深度神经网络的动作检测:问题与解决方案相关推荐

  1. 基于深度学习的病毒检测技术无需沙箱环境,直接将样本文件转换为二维图片,进而应用改造后的卷积神经网络 Inception V4 进行训练和检测...

    话题 3: 基于深度学习的二进制恶意样本检测 分享主题:全球正在经历一场由科技驱动的数字化转型,传统技术已经不能适应病毒数量飞速增长的发展态势.而基于沙箱的检测方案无法满足 APT 攻击的检测需求,也 ...

  2. 计算机视觉检测 白皓月,基于深度神经网络的视线跟踪技术研究

    毛云丰 沈文忠 滕童 摘  要: 视线跟踪是人机互动技术中重要的组成部分,可以广泛地应用在机器人.手机.笔记本等设备中.针对传统方法在低分辨率图像上的准确率不高和设计步骤繁琐等问题,提出一种基于深度神 ...

  3. 基于深度学习的目标检测综述

    基于深度学习的目标检测算法归类和总结 整体框架 目标检测算法 主要包括:[两阶段]目标检测算法.[多阶段]目标检测算法.[单阶段]目标检测算法 什么是两阶段目标检测算法,与单阶段目标检测有什么区别? ...

  4. 病虫害模型算法_基于深度学习的目标检测算法综述

    sigai 基于深度学习的目标检测算法综述 导言 目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一.由于各类物体有不同的外观,形状,姿态,加上成像 ...

  5. 综述 | 基于深度学习的目标检测算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉life 导读:目标检测(Object Det ...

  6. 基于深度学习的目标检测的研究进展2

    普通的深度学习监督算法主要是用来做分类,如图1(1)所示,分类的目标是要识别出图中所示是一只猫.而在ILSVRC(ImageNet Large Scale Visual Recognition Cha ...

  7. 基于深度学习的目标检测研究进展

    前言 开始本文内容之前,我们先来看一下上边左侧的这张图,从图中你看到了什么物体?他们在什么位置?这还不简单,图中有一个猫和一个人,具体的位置就是上图右侧图像两个边框(bounding-box)所在的位 ...

  8. 基于深度学习的目标检测算法综述(从R-CNN到Mask R-CNN)

    深度学习目标检测模型全面综述:Faster R-CNN.R-FCN和SSD 从RCNN到SSD,这应该是最全的一份目标检测算法盘点 基于深度学习的目标检测算法综述(一) 基于深度学习的目标检测算法综述 ...

  9. 【深度学习】基于深度学习的目标检测研究进展

    原文出处:http://chuansong.me/n/353443351445 开始本文内容之前,我们先来看一下上边左侧的这张图,从图中你看到了什么物体?他们在什么位置?这还不简单,图中有一个猫和一个 ...

最新文章

  1. java正则表达式获取指定两个字符串之间内容
  2. 用户和用户组的简单总结
  3. python【力扣LeetCode算法题库】820- 单词的压缩编码
  4. Delphi 中取本机的计算机名、IP地址、Windows登录的用户名
  5. 开机动画适配方案_2020 年 4 月前 App 启动画面、屏幕调整需按要求适配,否则存拒审风险!...
  6. 【Python】Flask日志记录:将日志输出到多个文件、显示行号、模块名称、日志级别等
  7. python中的ix是啥_python ix什么意思
  8. [翻译]asp.net ajax xml-script教程(二)
  9. 关于双黑洞和引力波,LIGO科学家回答了这7个你可能会关心的问题
  10. 图解从上电到执行main函数的处理
  11. Windows下sqlmap安装方法
  12. linux centos系统清理垃圾,centos 清理内存缓存
  13. Android 11 系统修改默认字体
  14. MySQL增加字段SQL语句
  15. HTML 与 microsoftOffice word中字体对照表
  16. MySQL获取汉字的拼音首字母
  17. 《数学分析八讲》(1)-连续统理论
  18. 计算机休眠会断电吗,win7休眠后能将电脑断电吗?
  19. 关于日记app的思考
  20. 服务器2012系统价格表,Windows 2012 r2正版价格

热门文章

  1. python 给类添加属性_python – 如何动态添加属性到类中?
  2. php 变量代码,php中的可变变量(代码详解)
  3. 电商美工节日放假页面交稿了么?年味页面看这里
  4. android:layout_marginbottom=,Android: Retrieve layout_marginBottom programmatically?
  5. Python给指定文件打上数字签名
  6. 牛客网编程题04--字符串处理
  7. 详解 BP 神经网络基本原理及 C 语言实现
  8. python网页前端和react有什么区别_Vue 和 React 的优点分别是什么?
  9. .net pdf转图片_在客户端实现PDF转图片
  10. qt 运动控制软件 界面_开源库分享----一款跨平台图形界面的百度网盘不限速客户端...