网站首页 > 技术文章 正文
作者:知乎—寒寒寒寒寒啊
地址:https://www.zhihu.com/people/han-han-han-han-han-a-5
关注action recognition大概3个多月,从做videonet的竞赛到公司实习,都在做动作识别相关算法的研究,19年cvpr,iccv关于动作识别相关paper的研究重点来看,其中有两个我比较关注:long-term和relation modeling,long-term的motivation比较直接,之前的动作识别算法无论是基于frame level的TSN以及后续针对TSN做的改进算法如eco,trn,tsm等,还是基于3D卷积的i3d,p3d等,其都是short或者说middle term的,其只能关注到几秒的视频片段,但对于长时序的动作来说,是不够的,所以如何建模几十秒甚至分钟级别是非常重要的,Long-Term Feature Banks for Detailed Video Understanding通过建立一个长时序的特征库,去计算短期的特征与长期特征的交互来获得long-term的特征。
另外一个感兴趣的研究重点则是关系推理,关系推理最早是DeepMind的A simple neural network module for relational reasoning提出的,通过采用cnn提取的feature作为object来建模两两object之间的relation去做reasoning,取得了不错的效果,如下图,将特征图不同颜色的object两两配对并与LSTM提取的文字特征进行concat,然后通过几层FC去获得最终的结果。
后面将通过几篇相关论文展现动作识别领域是如何建模关系来进行推理的。
1:Videos as Space-Time Region Graphs
自Non-local Neural Networks问世,被广泛应用到各个领域并且都获得很不错的效果,其motivation首先是做视频上的long-range的,通过计算不同帧所有像素点特征的加权和去获得当前位置的响应,从而克服卷积只能处理某一个局部区域而无法得到全局信息的缺点。其也可以看做是在做relation,计算的是某两个pixel之间的相似度,而不是两两object之间的相似度。那如果能之间从视频帧中检测出来对动作分类有意义的object,然后再建模这些object之间的联系岂不是更加直接?就像要做喝水动作的识别,我们直接将每一帧的水杯以及喝水的人检测出来,然后当做nodes放入graph中去做relation,应该可以很好地建模出spatial上人与水杯以及temporal上的相同人与相同水杯之间的关系,这其实也是后面Videos as Space-Time Region Graphs这篇文章的思路。如下图,将正在翻阅一本书的人以及书分别给检测出来,则能够建立不仅仅是spatial并且temporal上的信息了。
下图是文章网络结构的pipline,首先输入的视频帧序列通过I3D网络得到T×H×W×d的feature,通过RPN获取T帧中每一帧上物体的bbox,然后通过ROIAlign得到每个物体的feature map再maxpool得到d维的feature vector,作为每个物体的特征,而后将这n个特征作为nodes送入Graph中建模不同object之间的关系。
2:Graph Convolutional Networks for Temporal Action Localization
这是19年iccv中一篇将图模型用于temporal action detection(action localization)的文章,temporal action detection类似于object detection,只不过其是在时间维度进行detection,故很多方法也是沿用object detection来的。本文的motivation是之前的方法没有关注到不同proposal之间的关系,如果能够利用图网络去建立两两proposal之间的relation,那么会对detection的结果有帮助。
如上图,首先使用BSN方法去获得输入视频帧的proposals,而后通过两条规则去建立图的边:(1) Contextual Edges:I(pi,pj)代表temporal上两个proposals之间的交集,U(pi,pj)代表temporal上两个proposals之间的并集,那么r(pi,pj)则代表temporal上两个proposals的重叠度,当r(pi,pj)>θctx(论文中取0.7)时,这两个proposals连边。
但Contextual Edges只考虑到了重叠度很高的情况,大概率这两个proposals是属于同一个action class的,但如果是重叠度没这么高的proposals应该也需要建立联系(2)Surrounding Edges:|ci - cj|代表两个proposals之间中心点坐标的差值,当d(pi,pj)<θsur时,这两个proposals连边,则考虑了两个大概率不是同一个class的proposals之间的联系。
图建立好了以后通过图卷积则可以找到不同proposals之间的relation了。
3:Learning Actor Relation Graphs for Group Activity Recognition
本文是19年cvpr的一篇关于用图模型去model排球比赛中不同运动员之间的relation的文章,思路与上一篇文章很相似,motivation就是在类似排球这种的团体运动中,如果能够建立不同运动员之间的联系,那么能够很好地帮助进行团体运动的分类。如下图,如果可以知道红色的点是在扣杀,周围蓝色的点是站立,黄色的点是在阻挡,那么可以轻松的认为这个片段是左边扣杀。
跟上篇文章类似,首先输入是视频片段与每一帧每一个球员的bounding box(个人感觉bbox提前给定还是有点太直接了,可能是因为如果使用检测方法去检测的话,应该会存在漏检或误检的问题吧,但这也是需要解决的一个难题),由于排球运动中球员数量是一定的12个,所以每一帧就有12个bbox。文章采用TSN的稀疏采样的方法,如下图采取的3帧,通过CNN提取特征了之后,与bbox送入ROIAlign层获得d维的feature vector,总共得到N个feature vector。对于这N个feature,每两个之间连一条边构造图网络,以model不同actor之间的关系。对于不同proposals之间的relation,文中提出了Appearance relation与Position relation两种方法。
个人认为,视频不同于图像,图像中的信息是静态的,大多表示图像中物体是什么,但视频由于是多帧的图像的集合,是带有时序信息的,可以描述为视频中人与人,人与物的交互,那么关系推理就显得格外的重要了,如果能利用图模型有效地建立不同objects之间的关系,应该能很大程度的提高performance的吧。
参考文献:
【1】Wang L, Xiong Y, Wang Z, et al. Temporal segment networks: Towards good practices for deep action recognition[C]//European conference on computer vision. Springer, Cham, 2016: 20-36.
【2】Wu C Y, Feichtenhofer C, Fan H, et al. Long-term feature banks for detailed video understanding[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 284-293.
【3】Santoro A, Raposo D, Barrett D G, et al. A simple neural network module for relational reasoning[C]//Advances in neural information processing systems. 2017: 4967-4976.
【4】Wang X, Girshick R, Gupta A, et al. Non-local neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 7794-7803.
【5】Wang X, Gupta A. Videos as space-time region graphs[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 399-417.
【6】Zeng R, Huang W, Tan M, et al. Graph Convolutional Networks for Temporal Action Localization[J]. arXiv preprint arXiv:1909.03252, 2019.
【7】Wu J, Wang L, Wang L, et al. Learning Actor Relation Graphs for Group Activity Recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 9964-9974.
- 上一篇: 脑血管病知识图谱--2 模型训练 脑血管疾病讲解
- 下一篇: 3D计算机视觉简介 3d机器视觉技术
猜你喜欢
- 2024-09-27 后端思维篇:如何抽一个观察者模板
- 2024-09-27 使用Hourglass网络来理解人体姿态
- 2024-09-27 SM框架整合篇 ssm框架crud
- 2024-09-27 动物分类器 动物分类网
- 2024-09-27 图表显示日志离线信息 离线日志正在运行
- 2024-09-27 比用Pytorch框架快200倍!0.76秒后,笔记本上的CNN就搞定了MNIST
- 2024-09-27 卷积神经网络背后的数学 卷积神经网络教学视频
- 2024-09-27 多层级遇到多兴趣:快手、武汉大学用于序列推荐的多粒度神经模型
- 2024-09-27 使用分割来寻找疑似结节(13) 分割检测
- 2024-09-27 买药秒送 JADE动态线程池实践及原理浅析
你 发表评论:
欢迎- 最近发表
-
- 在 Spring Boot 项目中使用 activiti
- 开箱即用-activiti流程引擎(active 流程引擎)
- 在springBoot项目中整合使用activiti
- activiti中的网关是干什么的?(activiti包含网关)
- SpringBoot集成工作流Activiti(完整源码和配套文档)
- Activiti工作流介绍及使用(activiti工作流会签)
- SpringBoot集成工作流Activiti(实际项目演示)
- activiti工作流引擎(activiti工作流引擎怎么用)
- 工作流Activiti初体验及在数据库中生成的表
- Activiti工作流浅析(activiti6.0工作流引擎深度解析)
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)