R-C3D:用于时间活动检测的区域3D网络

article/2025/11/4 0:01:12

论文:R-C3D: Region Convolutional 3D Network for Temporal Activity Detection(2017)

 

主要贡献

1.提出一个包括活动候选区和任意长度活动的分类的端到端模型。如下图所示

图片

    2.提出在候选区生成和分类部分共享全卷积C3D特征,实现了比当前模型快5倍的速度。

    论文主要从Faster R-CNN受启发而来,论文大部分idea都是Faster R-CNN中提出的(看这篇论文的时候,我真是深感生不逢时啊),作者将2D目标检测的方法用到了时间卷积网络,因此出现了R-C3D。

 

R-C3D模型框架

 

图片

    如上图所示,R-C3D由3部分组成,一个共享的3D ConvNet特征提取器,一个时间候选段(temporal proposal stage)生成部分,一个活动分类及调整部分。

    模型输入是3xLxHxW的RGB视频帧,先经过3D ConvNet特征提取网络,再由temporal proposal stage 生成候选区域,候选区域的连续帧将进行分类,并调整候选区域。

    关于共享的3D ConvNet特征提取器没有过多介绍,主要采取C3D网络的五层卷积层,第五层输出的尺寸是512x (L/8) x (H/16) x (W/16)。512是feature map 的通道数,H和W是112,L是任意长度的,受内存限制。

 

 Temporal Proposal Subnet

    这个部分的主要内容是实现模型对任意长度候选段的预测。

    由于第五层输出了长度为L/8的时间位置(temporal locations)(指的是时间维度上的长度), 这里每个位置产生K个anchor片段(对anchor不懂的,直接理解为K个片段也可以),每个anchor片段都有固定但不同的比例,即总共产生的anchor片段是L/8*K个。

    然后,通过大小为(1xH/16xW/16)的3D最大池化对空间维度上进行下采样(从H/16xW/16  到1x1 )产生时间特征图Ctpn (R512xL/8 x1x1),Cptn中每个位置的512维的向量用来预测一个中心位置和每个anchor片段长度{Ci, Li}的相对偏移{$Ci, $Li}, i属于{1, ...., K}

    候选段的偏移和得分是通过在Cptn的顶端增加两个1x1x1的卷积层来预测的。

    在训练阶段,通过两种方式来确定正样本,

    1)与一些ground-truth活动的IoU值大于0.7;

    2)与一些ground-truth活动的IoU值最大。

    若IoU低于0.3,则直接认为是负样本。最后正负样本的比例为1:1.

 

Activity Classification Subnet

    对上个阶段产生的anchor proposal片段(由于比例不一样,因此长度不一)通过3D RoI池化来抽出固定长度的候选段(长度都一样),然后对候选段进行分类和边界回归。

    对于那些生成的anchor 候选段,互相覆盖率比较高的,且置信度比较低的,使用非极大值抑制(NMS)直接去除,NMS的阈值设为0.7。

    关于3D RoI,其作用就是从任意的L,H,W的图输出一个固定大小的图。

    例如,输入的图的尺寸是 LxHxW,  需要输出的大小为Ls x Hs xWs。只需要一个大小为L/Ls, H/Hs, W/Ws的最大池化操作即可。

    回到本文,在经过3D RoI池化后输入两个全连接层,经过两个全连接层后进入分类和候选段回归部分,分类和回归又是各自两个全连接层。(具体看图2)

 

Optimization

分类使用softmax, 回归使用smooth-L1 loss ,

关于smooth-L1 loss如下:

图片

因此整个模型的目标函数为:

图片

    前面部分是分类的部分。后面的部分是回归。

    关于回归部分,ti表示预测的相对偏移量,ti*表示ground truth片段转到anchor片段的转移坐标(这句话比较难理解,这里anchor片段指的是对时间维度进行了卷积操作后(变了长度)的部分而ground truth指的是原视频的片段,(感觉这个anchor不是yolo里的那个anchor了,yolo里的anchor指的是原图片下的点))。

其坐标 ti={$Ci, $Li },ti 和ti* 计算如下:

图片

    带*的Ci是ground truth的中心,Ci是anchor 的中心,带*的Li是ground truth的长度,Li是anchor的长度。

    为防止这部分没讲清楚,把论文原文相关部分贴在下面

图片

    到此,R-C3D的主要内容就讲完了,剩下的是一些实验,如IoU阈值取多少合适,论文进行了不同阈值效果对比,发现取0.5比较好,然后还测试了阈值取0.5时在THUMOS14数据集上各个类别的AP值,以及与其他模型取得的AP值对比。

    最后是R-C3D与其他SOTA模型的一些map与速度对比。具体如下:

图片

图片

 

如有错误,欢迎留言指出。

本文来源于微信公众号“ CV技术指南 ”的模型总结部分 。更多内容与最新技术动态尽在公众号发布。


http://chatgpt.dhexx.cn/article/FJGeAfiE.shtml

相关文章

[翻译]循环神经网络不可思议的有效性

[翻译]循环神经网络不可思议的性能 循环神经网络(RNN)具有神奇的功能。我还记得当我训练我的第一个关于图像字幕的循环网络。在训练了几十分钟后,模型的雏形(使用相当随意选择的超参数)开始产生对图像有意义的描述&am…

NNDL 作业8:RNN - 简单循环网络

目录 1. 使用Numpy实现SRN 2. 在1的基础上,增加激活函数tanh 3. 分别使用nn.RNNCell、nn.RNN实现SRN 4. 分析“二进制加法” 源代码(选做) 5. 实现“Character-Level Language Models”源代码(必做) 6. 分析“序…

elman神经网络 python实现_使用深度神经网络进行风格转换(Python实现)

在论文(Image Style Transfer Using Convolutional Neural Networks)中(https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Gatys_Image_Style_Transfer_CVPR_2016_paper.pdf),风格转换使用了19层VGG网络中的特征,它由一系列卷积层和池…

深度学习知识图谱笔记

最近花了几天时间对目前常用神经网络模型(backbone),生成对抗GAN,模型压缩,NPL,距离计算,优化器进行了分类整理,用简短的几句话对相关特性进行了总结描述,如有误请指正,方便强化记忆…

深度强化学习综述论文 A Brief Survey of Deep Reinforcement Learning

A Brief Survey of Deep Reinforcement Learning 深度强化学习的简要概述 作者: Kai Arulkumaran, Marc Peter Deisenroth, Miles Brundage, Anil Anthony Bharath 文章目录 摘要 Abstract1. 引言 Introduction2. 奖励驱动行为 Reward-Driven Behavior2.1. 马尔科夫…

深度学习领域,最惊艳的论文!

科研路上我们往往会读到让自己觉得想法很惊艳的论文,心中对不同的论文也会有一个排名,以下介绍了一些知乎作者心中白月光般存在的深度学习领域论文,看看是否你们拥有同样心目中的The one。 提名一 ResNet和Transformer 作者:王…

深度学习领域,你心目中 idea 最惊艳的论文是哪篇?

点击上方“视学算法”,选择加"星标"或“置顶” 重磅干货,第一时间送达 来源丨知乎问答(回答均已授权) 编辑丨极市平台 科研路上我们往往会读到让自己觉得想法很惊艳的论文,心中对不同的论文也会有一个排名&a…

深度学习:STGCN学习笔记

目录标题 基于图神经网络的图分类问题GCN在行为识别领域的应用主要任务研究思路 ST-GCN(SpatialTemporal Graph Convolutional Networks for Skeleton-Based Action Recognition)解读原论文解决问题主要贡献核心思想简介OpenPose 预处理基于人体关键点构造graph构造单帧graph&a…

神经网络中神经元是什么_是什么使神经网络脆弱

神经网络中神经元是什么 What do the images below have in common? 以下图片有什么共同点? Most readers will quickly catch on that they are all seats, as in places to sit. It may have taken you less than a second to recognize this common characteri…

卷积神经网络超详细介绍

文章目录 1、卷积神经网络的概念2、 发展过程3、如何利用CNN实现图像识别的任务4、CNN的特征5、CNN的求解6、卷积神经网络注意事项7、CNN发展综合介绍8、LeNet-5结构分析9、AlexNet10、ZFNet10.1 意义10.2 实现方法10.3 训练细节10.4 卷积网络可视化10.6 总结 11、VGGNet11.1 结…

经典神经网络

文章目录 第四章 经典网络解读4.1 LeNet-54.1.1 模型介绍4.1.2 模型结构4.1.3 模型特性 4.2 AlexNet4.2.1 模型介绍4.2.2 模型结构4.2.3 模型特性 4.3 ZFNet4.3.1 模型介绍4.3.2 模型结构4.3.3 模型特性 4.4 Network in Network4.4.1 模型介绍4.4.2 模型结构4.4.3 模型特点 4.5…

卷积神经网络 CNN 学习

什么是神经网络 人工神经网络(artificial neural network,ANN),简称神经网络(neural network,NN),是一种模仿生物神经网络的结构和功能的数学模型或计算模型。神经网络由大量的人工…

【CS224W】(task7)标签传播与节点分类(semi-supervised)

note 对某一节点的标签进行预测,需要其本身特征、邻居的标签和特征。message passing的假设是图中相似的节点之间会存在链接,也就是相邻节点有标签相同的倾向。这种现象可以用homophily(相似节点倾向于聚集)、influence&#xff…

4.经典网络

文章目录 第四章 经典网络解读4.1 LeNet-54.1.1 模型介绍4.1.2 模型结构4.1.3 模型特性 4.2 AlexNet4.2.1 模型介绍4.2.2 模型结构4.2.3 模型特性 4.3 ZFNet4.3.1 模型介绍4.3.2 模型结构4.3.3 模型特性 4.4 Network in Network4.4.1 模型介绍4.4.2 模型结构4.4.3 模型特点 4.5…

Python 深度学习

Pytorch 一 、深度学习概览1、工具篇2、流程介绍3、基础知识(常用操作)1、数据结构类型 4、常见名词概念 二、深度学习Pytorch1、神经网络1.1 如何构建神经网络1.2 核心组件 2、数据处理工具2.1 torchvision(可视化处理工具)2.1.1…

神经网络与深度学习作业8:RNN - 简单循环网络

1. 使用Numpy实现SRN import numpy as npinputs np.array([[1., 1.],[1., 1.],[2., 2.]]) # 初始化输入序列 print(inputs is , inputs)state_t np.zeros(2, ) # 初始化存储器 print(state_t is , state_t)w1, w2, w3, w4, w5, w6, w7, w8 1., 1., 1., 1., 1., 1., 1., 1.…

深度神经网络回归_深度神经网络

深度神经网络回归 深度神经网络 (Deep Neural Networks) A deep neural network (DNN) is an ANN with multiple hidden layers between the input and output layers. Similar to shallow ANNs, DNNs can model complex non-linear relationships. 深度神经网络(DNN)是在输入和…

DNN深度神经网络、RBM受限玻尔兹曼机、DBN深度置信网络

DNN前向传播算法和反向传播算法 感知机的模型大家都比较熟悉,它是一个有若干输入和一个输出的模型,如下图: 输出和输入之间学习到一个线性关系,得到中间输出结果: 接着是一个神经元激活函数: 从而得到我们想要的输出结果1或者-…

十道CSS+HTML高频企业级面试题

有句古话说得好,面试造火箭,工作拧螺丝。经历过职场的小伙伴都清楚,对于一般的工作需求,用不到太过高深的技术,但是,往往面试过程中,会进行所谓深层次的技术交流,所以,跳…

详细前端面试题HTML篇

CSS篇 JS篇 Vue篇 TypeScript篇 React篇 微信小程序篇 前端面试题汇总大全(含答案超详细,HTML,JS,CSS汇总篇)-- 持续更新 前端面试题汇总大全二(含答案超详细,Vue,TypeScript,React&…