LPAT: Learning to Predict Adaptive Threshold for Weakly-supervised Temporal Action Localization [Paper Reading]
Motivation: 阈值分割的阈值并没有通过模型训练学出来,而是凭借主观经验设置,本文通过与背景得分比较提取对应的proposal,不用阈值的另一篇文章是Shou Zheng的AutoLoc,通过伪标签训练回归网络
阈值分割缺点:低阈值会把多个动作实例ground-truth合并成一个动作实例,高阈值会将一个动作实例ground-truth分割成多个动作实例
忽略背景建模: 过去的方法没有对视频的背景建模无法利用动作和背景之间的先验知识
Feature Transformation Module: (1) full-connected (2) 1D时域卷积<+TemConv> 后接ReLU和Dropout(0.7)
Per-snippet Classifier: full-connected layer with linear activation
训练:
为了选出可能包含动作的视频帧用于视频分类,过去使用的方法有attention和top K(length*1/8)动作得分。作者通过添加背景类,引入这样的先验(如果帧片段的动作得分>背景得分,这样的帧片段将选为某类动作片段)
对每一个视频T*C的动作得分矩阵和T*1的背景得分矩阵求差,后接非线性函数
时域池化:用上一个公式求得的结果与原T*C的动作得分矩阵求加权和得到每个动作的平均分,背景类同理
为了得到最后的置信得分对类别得分向量求softmax
最后求加权交叉熵loss用于视频分类,因为背景和动作的类别不平衡,实验将背景部分的权重wb设为1/C
Proposal Confidence Loss
上面的约束用于对动作和背景建模,并没有对动作提名进一步约束,作者想进一步拉开threshold和动作得分之间的距离,这样产生的提名将获得高置信度
首先取ground-truth对应T*C'分数矩阵,对各个时间维度(T)沿类别维度(C')求最大值
约束每个视频片段的动作得分和背景得分是负数,有如下公式
类似于余弦相似度,达到最小值时是s和b向量里每个元素都异号,这里的0.5为margin约束
Inference阶段:
视频分类用的是softmax后的p得分向量,选取 > C类平均得分的类别为预测类别,然后定位每一个预测类别的动作片段,选取 动作得分 > 背景得分 的所有片段为最终的proposal,从而得到最终的 (start, end, score)
对比试验加入了WTALC的Co-Activity Similarity Loss约束
这种ranking hinge loss实现的约束使得最终的mAP0.5达到29.5,作为扩展视频中各类别动作发生的次数也可作为监督进一步提高模型的精度
综上,个人觉得本文的方法非常clean & solid,很强的motivation没有强加模块的痕迹,最后的结果非常好,不知后续有没有这么干净的idea可以刷出新高度,拭目以待。
LPAT: Learning to Predict Adaptive Threshold for Weakly-supervised Temporal Action Localization [Paper Reading]的更多相关文章
- [CVPR2017] Deep Self-Taught Learning for Weakly Supervised Object Localization 论文笔记
http://openaccess.thecvf.com/content_cvpr_2017/papers/Jie_Deep_Self-Taught_Learning_CVPR_2017_paper. ...
- Adaptive Threshold
Adaptive Threshold 1. Otsu's Binarization: Using a discriminant analysis to partition the image into ...
- [CVPR2017] Weakly Supervised Cascaded Convolutional Networks论文笔记
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Helvetica Neue"; color: #042eee } p. ...
- [CVPR 2016] Weakly Supervised Deep Detection Networks论文笔记
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 } p. ...
- Robust Tracking via Weakly Supervised Ranking SVM
参考文献:Yancheng Bai and Ming Tang. Robust Tracking via Weakly Supervised Ranking SVM Abstract 通常的算法:ut ...
- [place recognition]NetVLAD: CNN architecture for weakly supervised place recognition 论文翻译及解析(转)
https://blog.csdn.net/qq_32417287/article/details/80102466 abstract introduction method overview Dee ...
- 2018年发表论文阅读:Convolutional Simplex Projection Network for Weakly Supervised Semantic Segmentation
记笔记目的:刻意地.有意地整理其思路,综合对比,以求借鉴.他山之石,可以攻玉. <Convolutional Simplex Projection Network for Weakly Supe ...
- Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition
Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition 摘要 基于骨架的动作识别因为 ...
- [ICCV 2019] Weakly Supervised Object Detection With Segmentation Collaboration
新在ICCV上发的弱监督物体检测文章,偷偷高兴一下,贴出我的poster,最近有点忙,话不多说,欢迎交流- https://arxiv.org/pdf/1904.00551.pdf http://op ...
随机推荐
- 【微信小程序】抽象组件使用示例
1.配置页面路径 ./app.json { "pages":[ "pages/index/index", "pages/logs/logs&q ...
- TinyMCE常用插件
Advanced Tables 基于table插件的增强表格插件,添加了排序功能. tinymce.init({ plugins: 'table advtable', menubar: 'table' ...
- 是否注意过isEmpty 和 isBlank 区别?
isEmpty 和 isBlank 区别 org.apache.commons.lang.StringUtils 类提供了 String 的常用操作,最为常用的判空有如下两种 isEmpty(Stri ...
- Maven打包时出现“Show Console View”错误弹出框,错误详情为“An internal error has occurred. java.lang.NullPointerException”的解决方法
今天为项目打包时出现了下面的错误提示: 打开Details里面写的是“An internal error has occurred. java.lang.NullPointerException”.在 ...
- 使用conda安装tensorflow-gpu
1.之前已经安装了anaconda,之前疏忽使用的pip安装的tensorflow,但pycharm还是使用的anaconda环境. 现在把pip的tensorflow删除了 pip uninstal ...
- nmap指令
-sP 主机发现 -p 端口扫描(可区域) -sV 端口(服务版本信息)-O 操作系统-iL 使用列表里的IP.(快捷方便)-iR 对公网上的随机n个IP.--excludeile ...
- 十、lambda表达式、内置函数之filter、map、reduce
lambda表达式 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 == : name = 'wupeiqi' else: name = 'ale ...
- iOS开发xib控件删不掉,修改xib运行不发生改变,修改xib不管用
修改xib控件tag值,颜色,大小,甚至删除发现编译.运行之后效果没改变,用代码修改内容发现管用, 其实只需要clean一下!^_^ 快捷键:shift + command + k
- 梳理Linux中断处理子系统
请根据下面链接进行学习: 软件方面可以参考蜗窝科技关于中断子系统的一系列文章<Linux中断子系统>,一共9篇文章,讲述了Linux中断的方方面面. <综述>是一个导论性质文档 ...
- 遇到libgflags.a(gflags.cc.o): relocation R_X86_64_32 against `.rodata.str1.1' ca时
glfag编译成动态库gflags 正确的安装方法是这样的: Need cmake >2.8.4 (current is 2.8.3) mkdir build cd build cmake -D ...