视频分类_grad_cam

本文详细记录了使用3D ResNet进行视频理解时遇到的问题及解决方案,包括处理UCF-101数据集链接失效、Python版本不兼容、HMDB51数据集解压错误、视频文件格式与图片目录不匹配以及多线程运行限制等问题。同时,还探讨了如何生成Grad-CAM热力图,并调整网络输出以获得更精确的特征图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码(resnet3D):
https://github.com/kenshohara/3D-ResNets-PyTorch

坑:
1 ucf-101 的链接失效,后面找了个新的:
https://www.crcv.ucf.edu/research/data-sets/ucf101/

2 开始我的python是3.6, 结果执行生成json文件的脚本时,提示没有capture_output这个key: 出错代码如下,subprocess是python的一个包,后面查了下,说python3.7才加入了这个属性
p = subprocess.run(ffprobe_cmd, capture_output=True)

3 使用数据集hmdb51,有些rar包在ubuntu上解压失败,这种情况以前也有,还不知道怎么处理

4 然后那个视频文件我是avi结尾的,他去找jpg文件时也按照这个avi文件为目录去找。结果我要把去掉这个avi字段,然后把图片放在视频文件同目录里面

5 跑了一个epoch后,提示说啥只能建立一个child procress.似乎搞的什么多线程,pycharm 跑有问题,只能在命令行下面跑

基于如下代码(somethinsomething)生成grad-cam热力图
1 主文件
https://github.com/TwentyBN/smth-smth-v2-baseline-with-models
2 热力图生成主要代码
https://github.com/TwentyBN/smth-smth-v2-baseline-with-models/blob/master/notebooks/get_saliency_maps_CAM.ipynb

主要遇到一个问题是,resnet3D的layer4的输出是512,1,4,4。而输入的切片个数是16. 这样将特征图反向叠加到原图时只用了1个特征图,这样所有的切片的热力图都一样的。将网络修改输出为512,8,4,4之后,16个切片就有8个不同的热力图,但有前后两张图是共用的一张特征图。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值