基于视频理解TSM和数据集Kinetics-400的视频行为识别
生活随笔
收集整理的這篇文章主要介紹了
基于视频理解TSM和数据集Kinetics-400的视频行为识别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基于視頻理解TSM和數據集Kinetics-400的視頻行為識別
基于視頻理解TSM和數據集Kinetics-400的視頻行為分類
基于視頻理解TSM-mobilenetv2和數據集Kinetics-400的視頻行為識別
基于視頻理解TSM-resnet50和數據集Kinetics-400的視頻行為識別
基于視頻理解TSM-resnet101和數據集Kinetics-400的視頻行為識別
論文下載:TSM: Temporal Shift Module for Efficient Video Understanding
# TSM: Temporal Shift Module for Efficient Video Understanding [[Website]](https://hanlab.mit.edu/projects/tsm/) [[arXiv]](https://arxiv.org/abs/1811.08383)[[Demo]](https://www.youtube.com/watch?v=0T6u7S_gq-4)
TSM,修改后代碼下載:下載鏈接
這個數據集包括了四百種的人體動作類別,每一種類別都至少有400個視頻片段,每個片段都取自不同的Youtube視頻,持續大概十秒。數據集的動作類別包括人和物體的交互-比如彈奏樂器;人與人的交互-比如握手。
花了好久整理了?Kinetics數據集,
百度網盤下載地址:下載地址
?
?
識別demo:
Kinetics-400數據集抽取:生成category.txt、train_videofolder.txt和val_videofolder.txt,以jester-bn-v20為例
import os
data_dir = "/Users/xxx/Data/20bn-jester-v1/20bn-jester-v1/"
if __name__ == '__main__':dataset_name = '/Users/xxx/Data/20bn-jester-v1/jester-v1'with open('%s-labels.csv' % dataset_name) as f:lines = f.readlines()categories = []for line in lines:line = line.rstrip()categories.append(line)categories = sorted(categories)with open('20bn-jester-v1/category.txt', 'w') as f:f.write('\n'.join(categories))dict_categories = {}for i, category in enumerate(categories):dict_categories[category] = ifiles_input = ['%s-validation.csv' % dataset_name, '%s-train.csv' % dataset_name]files_output = ['20bn-jester-v1/val_videofolder.txt', '20bn-jester-v1/train_videofolder.txt']for (filename_input, filename_output) in zip(files_input, files_output):with open(filename_input) as f:lines = f.readlines()folders = []idx_categories = []for line in lines:line = line.rstrip()items = line.split(';')folders.append(items[0])idx_categories.append(dict_categories[items[1]])output = []for i in range(len(folders)):curFolder = folders[i]curIDX = idx_categories[i]# counting the number of frames in each video foldersdir_files = os.listdir(os.path.join(data_dir, curFolder))output.append('%s %d %d' % (data_dir + curFolder, len(dir_files), curIDX))print('%d/%d' % (i, len(folders)))with open(filename_output, 'w') as f:f.write('\n'.join(output))
運行修改后的TSM源碼:修改數據集配置選項ops/dataset_config.py和基于mobilenet-v2中運行中出現的bug。
python main.py jester RGB \--arch mobilenetv2 --num_segments 8 \--gd 20 --lr 0.02 --wd 1e-4 --lr_steps 20 40 --epochs 1 \--batch-size 32 -j 16 --dropout 0.5 --consensus_type=avg --eval-freq=1 \--shift --shift_div=8 --shift_place=blockres --npb
?
?
?
?
總結
以上是生活随笔為你收集整理的基于视频理解TSM和数据集Kinetics-400的视频行为识别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 原创:陈长捷被俘后无脸见人,李天佑问:你
- 下一篇: 基于视频理解TSM和数据集20bn-je