SSN debug

SSN debug

一、下载SSN repo并安装dependencies

本人不习惯于用pip install -r requirements.txt故所有包都是用conda单独装的。

  • 安装pytorch和torchvision
conda conda install pytorch=0.4.1 torchvision cuda100 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/
  • 安装terminaltables
conda install -c conda-forge/label/gcc7 terminaltables
  • 安装pandas
conda install pandas
  • 安装 scipy
conda install scipy
  • 下载repo
在这里插入代码片
  • 安装yaml
conda install pyyaml
  • 下载repo
git clone --recursive https://github.com/yjxiong/action-detection

二、提取光流

以THUMOS14数据集为例

1. 下载TSN repo

 git clone --recursive https://github.com/yjxiong/temporal-segment-networks

2. 将编译好的denseflow复制到TSN repo

路径为:/home/ubuntu/users/zhanghao/temporal-segment-networks/lib

cp -r /home/ubuntu/users/zhanghao/opencv_3.4.10/dense_flow /home/ubuntu/users/zhanghao/temporal-segment-networks/lib

3.(error) total number of videos found: 0

  • 找不到数据集中的视频
(denseflow) 
# zhanghao @ Lab164 in ~/temporal-segment-networks on git:master x [17:35:42] 
$ bash scripts/extract_optical_flow.sh /mnt/DataDrive164/zhanghao/datasets/THUMOS14 /home/ubuntu/users/zhanghao/action-detection/OUT_FOLDER 3
Extracting optical flow from videos in folder: /mnt/DataDrive164/zhanghao/datasets/THUMOS14
reading videos from folder:  /mnt/DataDrive164/zhanghao/datasets/THUMOS14
selected extension of videos: avi
total number of videos found:  0

  • solution
    更改/home/ubuntu/users/zhanghao/temporal-segment-networks/lib/dense_flow/bulid_of.py中提取视频文件的格式
    由于THUMOS14数据集中视频都为mp4格式,故需将build_of.py19行
parser.add_argument("--ext", type=str, default='avi', choices=['avi','mp4'], help='video file extensions')

改为

parser.add_argument("--ext", type=str, default='mp4', choices=['avi','mp4'], help='video file extensions')

4. (error)Check failed: [video_stream.isOpened()] Cannot open video stream “true” for optical flow extraction

  • 找不到数据集的接口
(denseflow) 
# zhanghao @ Lab164 in ~/temporal-segment-networks on git:master x [17:41:27] 
$ bash scripts/extract_optical_flow.sh /mnt/DataDrive164/zhanghao/datasets/THUMOS14/validation  /home/ubuntu/users/zhanghao/action-detection/OUT_FOLDER 3
Extracting optical flow from videos in folder: /mnt/DataDrive164/zhanghao/datasets/THUMOS14/validation
reading videos from folder:  /mnt/DataDrive164/zhanghao/datasets/THUMOS14/validation
selected extension of videos: mp4
total number of videos found:  1010
2020-08-19 17:42:41,916 FATAL [default] Check failed: [video_stream.isOpened()] Cannot open video stream "true" for optical flow extraction.
2020-08-19 17:42:41,916 FATAL [default] Check failed: [video_stream.isOpened()] Cannot open video stream "true" for optical flow extraction.
2020-08-19 17:42:41,916 WARN  [default] Aborting application. Reason: Fatal log at [/home/ubuntu/users/zhanghao/opencv_3.4.10/dense_flow/src/dense_flow_gpu.cpp:19]
2020-08-19 17:42:41,916 FATAL [default] Check failed: [video_stream.isOpened()] Cannot open video stream "true" for optical flow extraction.
2020-08-19 17:42:41,916 WARN  [default] Aborting application. Reason: Fatal log at [/home/ubuntu/users/zhanghao/opencv_3.4.10/dense_flow/src/dense_flow_gpu.cpp:19]
2020-08-19 17:42:41,916 WARN  [default] Aborting application. Reason: Fatal log at [/home/ubuntu/users/zhanghao/opencv_3.4.10/dense_flow/src/dense_flow_gpu.cpp:19]
170 video_validation_0000948 done
0 video_validation_0000186 done
85 video_validation_0000970 done

  • solution
    更改build_of.py第52行和76行分别为:
cmd = os.path.join(df_path + 'build/extract_gpu')+' -f={} -x={} -y={} -i={} -b=20 -t=1 -d={} -s=1 -o={} -w={} -h={}'.format(
        quote(vid_path), quote(flow_x_path), quote(flow_y_path), quote(image_path), dev_id, out_format, new_size[0], new_size[1])

&

cmd = os.path.join(df_path + 'build/extract_warp_gpu')+' -f={} -x={} -y={} -b=20 -t=1 -d={} -s=1 -o={}'.format(
        vid_path, flow_x_path, flow_y_path, dev_id, out_format)

结果还是报同样的错。
经过仔细研究发现,应该更改的是TSN中/home/ubuntu/users/zhanghao/temporal-segment-networks/tools而不是denseflow中/home/ubuntu/users/zhanghao/temporal-segment-networks/lib/dense_flowbuild_of.py

(denseflow) 
# zhanghao @ Lab164 in ~/temporal-segment-networks on git:master x [10:59:57] 
$ bash scripts/extract_optical_flow.sh /mnt/DataDrive164/zhanghao/datasets/THUMOS14/validation  /home/ubuntu/users/zhanghao/action-detection/OUT_FOLDER 3
Extracting optical flow from videos in folder: /mnt/DataDrive164/zhanghao/datasets/THUMOS14/validation
reading videos from folder:  /mnt/DataDrive164/zhanghao/datasets/THUMOS14/validation
selected extension of videos: mp4
total number of videos found:  1010
85 video_validation_0000970 done
170 video_validation_0000948 done
86 video_validation_0000740 done
0 video_validation_0000186 done

现在,不仅可以提取单个文件的光流,还能提取整个数据集中的光流。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值