论文原称: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技术指南”,主要进行计算机视觉方向的论文解读,最新技术跟踪,以及CV技术的总结。

R-C3D:用于时间活动检测的区域3D网络的更多相关文章

  1. Faster-RCNN用于场景文字检测训练测试过程记录(转)

    [训练测试过程记录]Faster-RCNN用于场景文字检测 原创 2017年11月06日 20:09:00 标签: 609 编辑 删除 写在前面:github上面的Text-Detection-wit ...

  2. OpenCV-Python 用于角点检测的FAST算法 | 四十一

    目标 在本章中, 我们将了解FAST算法的基础知识. 我们将使用OpenCV功能对FAST算法进行探索. 理论 我们看到了几个特征检测器,其中很多真的很棒.但是,从实时应用程序的角度来看,它们不够快. ...

  3. miniprofiler对方法的时间性能检测

    miniprofiler对方法的时间性能检测 直接上代码 using StackExchange.Profiling; ... var profiler = MiniProfiler.Current; ...

  4. 36th成都区域赛网络赛 hdoj4039 The Social Network(建图+字符串处理)

    这题是某年成都区域赛网络赛的一题. 这题思路非常easy,可是从时间上考虑,不妨不要用矩阵存储,我用的链式前向星. 採用线上查询.利用map对字符串编号,由于非常方便.要推荐的朋友,事实上就是朋友的朋 ...

  5. 区域存储网络(SAN)与 网络直接存储(NAS)

    随着互联网及网络应用的飞速发展,数据信息存储系统所需处理的数据类型也呈爆炸性增长,这使数据信息存储系统面临前所未有的挑战.附加式网络存储装置(Network Attached Storage,缩写为N ...

  6. Zabbix监控实现跨区域跨网络监控数据

    Zabbix监控实现跨区域跨网络监控数据 环境: 公司现有服务器10台,其中5台服务器有一台安装了zabbix,并且这5台服务器处于一个网络,只有一台服务器有公网ip, 另外的5台处于另一个网络,仅有 ...

  7. R2CNN模型——用于文本目标检测的模型

    引言 R2CNN全称Rotational Region CNN,是一个针对斜框文本检测的CNN模型,原型是Faster R-CNN,paper中的模型主要针对文本检测,调整后也可用于航拍图像的检测中去 ...

  8. 【OpenCV文档】用于角点检测的Fast算法

    原文地址:http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_fast/py_fast.html#fast-algorithm- ...

  9. 【R实践】时间序列分析之ARIMA模型预测___R篇

    时间序列分析之ARIMA模型预测__R篇 之前一直用SAS做ARIMA模型预测,今天尝试用了一下R,发现灵活度更高,结果输出也更直观.现在记录一下如何用R分析ARIMA模型. 1. 处理数据 1.1. ...

随机推荐

  1. Java 获取屏幕的宽度和高度

    获取屏幕的宽度和高度 1 import java.awt.Dimension; 2 import java.awt.Toolkit; 3 4 public class Main { 5 6 publi ...

  2. SCOI 2008 【奖励关】

    早上的考试一道都做不出,被教做人,心态爆炸ing...... 题目描述: 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必 ...

  3. SpringBoot 完整学习笔记免费分享

    从0到进阶,完全系统性的学习笔记 每次我都会反复拿来观看,因为我们总会有遗漏忘记的地方,但是笔记不会. 希望大家能好好利用它,以下是笔记截图! 以上只是其中的一项部分,这份笔记可以说含金量超高,绝对会 ...

  4. spring框架中配置mysql8.0需要注意的地方(转载)

    8.0以后的mysql很强大,但是配置写法出现了不同 主要原因是时区不同,mysql默认用的是国外某个地方的时区,而我们要用的话用使用东八时区,这是中国统一时区. 装载自https://blog.cs ...

  5. ES异常处理-NoNodeAvailableException

    1.问题描述 ES client客户端能创建,但是在用客户端操作时报:NoNodeAvailableException[None of the configured nodes are availab ...

  6. 迎难而上,QPS提高22+倍

    简介 记录1次性能提升的经历,它最大的挑战不在于性能提升,而在于时间急,涉及的面广(比如:机房F5的SSL/TLS性能,机房互联网流量费和项目投入产出比等).性能指标:至少支持10K QPS,10ms ...

  7. go http爬虫

    1 package main import ( "fmt" "io/ioutil" "net/http" ) func main() { r ...

  8. linux磁盘空间满了

    df-h 看到根目录已经用满了! find / -size +100M |xargs ls -lh列出系统内大于100M的文件 du --max-depth=1 -h 查看当前目录内文件夹的大小 看一 ...

  9. 函数-深入JS笔记

    代码特点:高内聚,低耦合 耦合 存在执行多个相同作用代码时,这就叫耦合 if (1 > 0) { console.log('a'); } if (2 > 0) { console.log( ...

  10. 503. 下一个更大元素 II

    503. 下一个更大元素 II 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素.数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大 ...