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

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

主要贡献:


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


image.png

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


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


R-C3D模型框架


image.png

 如上图所示,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如下:


image.png

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


image.png

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


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


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


image.png


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


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


image.png


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


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


image.png


image.png

如有错误或不合理之处,欢迎在评论中指正。


相关文章
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
3月前
|
网络协议
使用netwox/TCP协议检测网络性能
使用netwox/TCP协议检测网络性能
|
4月前
|
机器学习/深度学习 算法 计算机视觉
基于深度学习网络的美食检测系统matlab仿真
基于深度学习网络的美食检测系统matlab仿真
|
2月前
|
机器学习/深度学习 传感器 算法
基于yolov2深度学习网络的打电话行为检测系统matlab仿真
基于yolov2深度学习网络的打电话行为检测系统matlab仿真
基于yolov2深度学习网络的打电话行为检测系统matlab仿真
|
2月前
|
机器学习/深度学习 算法 网络架构
YOLOv5改进 | 2023主干篇 | FasterNeT跑起来的主干网络( 提高FPS和检测效率)
YOLOv5改进 | 2023主干篇 | FasterNeT跑起来的主干网络( 提高FPS和检测效率)
162 0
|
2月前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的喝水行为检测系统matlab仿真,带GUI界面
m基于Yolov2深度学习网络的喝水行为检测系统matlab仿真,带GUI界面
18 0
|
2月前
|
机器学习/深度学习 数据采集 监控
基于yolov2深度学习网络的车辆检测算法matlab仿真,包括白天场景和夜晚场景
基于yolov2深度学习网络的车辆检测算法matlab仿真,包括白天场景和夜晚场景
|
2月前
|
机器学习/深度学习 数据采集 算法
基于yolov2深度学习网络的血细胞检测算法matlab仿真
基于yolov2深度学习网络的血细胞检测算法matlab仿真
|
2月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的人员跌倒检测识别matlab仿真
基于yolov2深度学习网络的人员跌倒检测识别matlab仿真

热门文章

最新文章