├── .gitignore ├── download.sh ├── extract.sh ├── k400_extractor.sh ├── k600_extractor.sh ├── k600_downloader.sh ├── k400_downloader.sh ├── k700_2020_downloader.sh ├── k700_2020_extractor.sh ├── arrange_by_classes.py └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | k700-2020 2 | k700-2020_targz 3 | k400 4 | k400_targz 5 | k600 6 | k600_targz 7 | -------------------------------------------------------------------------------- /download.sh: -------------------------------------------------------------------------------- 1 | while read one; 2 | do 3 | echo $one 4 | wget "$one" 5 | done < $1 6 | 7 | -------------------------------------------------------------------------------- /extract.sh: -------------------------------------------------------------------------------- 1 | while read one; 2 | do 3 | echo ${one##*/} 4 | tar zxvf ${one##*/} 5 | done < $1 6 | 7 | -------------------------------------------------------------------------------- /k400_extractor.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Download directories vars 4 | root_dl="k400" 5 | root_dl_targz="k400_targz" 6 | 7 | # Make root directories 8 | [ ! -d $root_dl ] && mkdir $root_dl 9 | 10 | # Extract train 11 | curr_dl=$root_dl_targz/train 12 | curr_extract=$root_dl/train 13 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 14 | tar_list=$(ls $curr_dl) 15 | for f in $tar_list 16 | do 17 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 18 | done 19 | 20 | # Extract validation 21 | curr_dl=$root_dl_targz/val 22 | curr_extract=$root_dl/val 23 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 24 | tar_list=$(ls $curr_dl) 25 | for f in $tar_list 26 | do 27 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 28 | done 29 | 30 | # Extract test 31 | curr_dl=$root_dl_targz/test 32 | curr_extract=$root_dl/test 33 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 34 | tar_list=$(ls $curr_dl) 35 | for f in $tar_list 36 | do 37 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 38 | done 39 | 40 | # Extract replacement 41 | curr_dl=$root_dl_targz/replacement 42 | curr_extract=$root_dl/replacement 43 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 44 | tar_list=$(ls $curr_dl) 45 | for f in $tar_list 46 | do 47 | [[ $f == *.tgz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 48 | done 49 | 50 | # Extraction complete 51 | echo -e "\nExtractions complete!" -------------------------------------------------------------------------------- /k600_extractor.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Download directories vars 4 | root_dl="k600" 5 | root_dl_targz="k600_targz" 6 | 7 | # Make root directories 8 | [ ! -d $root_dl_targz ] && echo -e "\nRun k600_downloaders.sh" 9 | [ ! -d $root_dl ] && mkdir $root_dl 10 | 11 | # Extract train 12 | curr_dl=$root_dl_targz/train 13 | curr_extract=$root_dl/train 14 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 15 | find $curr_dl -type f | while read file; do mv "$file" `echo $file | tr ' ' '_'`; done 16 | tar_list=$(ls $curr_dl) 17 | for f in $tar_list 18 | do 19 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 20 | done 21 | 22 | # Extract validation 23 | curr_dl=$root_dl_targz/val 24 | curr_extract=$root_dl/val 25 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 26 | find $curr_dl -type f | while read file; do mv "$file" `echo $file | tr ' ' '_'`; done 27 | tar_list=$(ls $curr_dl) 28 | for f in $tar_list 29 | do 30 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 31 | done 32 | 33 | # Extract test 34 | curr_dl=$root_dl_targz/test 35 | curr_extract=$root_dl/test 36 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 37 | find $curr_dl -type f | while read file; do mv "$file" `echo $file | tr ' ' '_'`; done 38 | tar_list=$(ls $curr_dl) 39 | for f in $tar_list 40 | do 41 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 42 | done 43 | 44 | # Extraction complete 45 | echo -e "\nExtractions complete!" 46 | -------------------------------------------------------------------------------- /k600_downloader.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Download directories vars 4 | root_dl="k600" 5 | root_dl_targz="k600_targz" 6 | 7 | # Make root directories 8 | [ ! -d $root_dl ] && mkdir $root_dl 9 | [ ! -d $root_dl_targz ] && mkdir $root_dl_targz 10 | 11 | # Download train tars, will resume 12 | curr_dl=${root_dl_targz}/train 13 | url=https://s3.amazonaws.com/kinetics/600/train/k600_train_path.txt 14 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 15 | wget -c -i $url -P $curr_dl 16 | 17 | # Download validation tars, will resume 18 | curr_dl=${root_dl_targz}/val 19 | url=https://s3.amazonaws.com/kinetics/600/val/k600_val_path.txt 20 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 21 | wget -c -i $url -P $curr_dl 22 | 23 | # Download test tars, will resume 24 | curr_dl=${root_dl_targz}/test 25 | url=https://s3.amazonaws.com/kinetics/600/test/k600_test_path.txt 26 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 27 | wget -c -i $url -P $curr_dl 28 | 29 | # Download annotations csv files 30 | curr_dl=${root_dl}/annotations 31 | url_tr=https://s3.amazonaws.com/kinetics/600/annotations/train.txt 32 | url_v=https://s3.amazonaws.com/kinetics/600/annotations/val.txt 33 | url_t=https://s3.amazonaws.com/kinetics/600/annotations/test.csv 34 | url_ht=https://s3.amazonaws.com/kinetics/600/annotations/kinetics600_holdout_test.csv 35 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 36 | wget -c $url_tr -P $curr_dl 37 | wget -c $url_v -P $curr_dl 38 | wget -c $url_t -P $curr_dl 39 | wget -c $url_ht -P $curr_dl 40 | 41 | # Download readme 42 | url=http://s3.amazonaws.com/kinetics/600/readme.md 43 | wget -c $url -P $root_dl 44 | 45 | # Downloads complete 46 | echo -e "\nDownloads complete! Now run extractor, k600_extractor.sh" 47 | -------------------------------------------------------------------------------- /k400_downloader.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Download directories vars 4 | root_dl="k400" 5 | root_dl_targz="k400_targz" 6 | 7 | # Make root directories 8 | [ ! -d $root_dl ] && mkdir $root_dl 9 | [ ! -d $root_dl_targz ] && mkdir $root_dl_targz 10 | 11 | # Download train tars, will resume 12 | curr_dl=${root_dl_targz}/train 13 | url=https://s3.amazonaws.com/kinetics/400/train/k400_train_path.txt 14 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 15 | wget -c -i $url -P $curr_dl 16 | 17 | # Download validation tars, will resume 18 | curr_dl=${root_dl_targz}/val 19 | url=https://s3.amazonaws.com/kinetics/400/val/k400_val_path.txt 20 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 21 | wget -c -i $url -P $curr_dl 22 | 23 | # Download test tars, will resume 24 | curr_dl=${root_dl_targz}/test 25 | url=https://s3.amazonaws.com/kinetics/400/test/k400_test_path.txt 26 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 27 | wget -c -i $url -P $curr_dl 28 | 29 | # Download replacement tars, will resume 30 | curr_dl=${root_dl_targz}/replacement 31 | url=https://s3.amazonaws.com/kinetics/400/replacement_for_corrupted_k400.tgz 32 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 33 | wget -c $url -P $curr_dl 34 | 35 | # Download annotations csv files 36 | curr_dl=${root_dl}/annotations 37 | url_tr=https://s3.amazonaws.com/kinetics/400/annotations/train.csv 38 | url_v=https://s3.amazonaws.com/kinetics/400/annotations/val.csv 39 | url_t=https://s3.amazonaws.com/kinetics/400/annotations/test.csv 40 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 41 | wget -c $url_tr -P $curr_dl 42 | wget -c $url_v -P $curr_dl 43 | wget -c $url_t -P $curr_dl 44 | 45 | # Download readme 46 | url=http://s3.amazonaws.com/kinetics/400/readme.md 47 | wget -c $url -P $root_dl 48 | 49 | # Downloads complete 50 | echo -e "\nDownloads complete! Now run extractor, k400_extractor.sh" 51 | -------------------------------------------------------------------------------- /k700_2020_downloader.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Download directories vars 4 | root_dl="k700-2020" 5 | root_dl_targz="k700-2020_targz" 6 | 7 | # Make root directories 8 | [ ! -d $root_dl ] && mkdir $root_dl 9 | [ ! -d $root_dl_targz ] && mkdir $root_dl_targz 10 | 11 | # Download train tars, will resume 12 | curr_dl=${root_dl_targz}/train 13 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 14 | wget -c -i https://s3.amazonaws.com/kinetics/700_2020/train/k700_2020_train_path.txt -P $curr_dl 15 | 16 | # Download validation tars, will resume 17 | curr_dl=${root_dl_targz}/val 18 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 19 | wget -c -i https://s3.amazonaws.com/kinetics/700_2020/val/k700_2020_val_path.txt -P $curr_dl 20 | 21 | # Download test tars, will resume 22 | curr_dl=${root_dl_targz}/test 23 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 24 | wget -c -i https://s3.amazonaws.com/kinetics/700_2020/test/k700_2020_test_path.txt -P $curr_dl 25 | 26 | # Download k700-2020 annotations targz file from deep mind 27 | curr_dl=${root_dl_targz}/annotations/deepmind 28 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 29 | wget -c https://storage.googleapis.com/deepmind-media/Datasets/kinetics700_2020.tar.gz -P $curr_dl 30 | 31 | # Download k700-2020 annotations targz file from deep mind 32 | curr_dl=${root_dl_targz}/annotations/deepmind_top-up 33 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 34 | wget -c https://storage.googleapis.com/deepmind-media/Datasets/kinetics700_2020_delta.tar.gz -P $curr_dl 35 | 36 | # Download AVA Kinetics 37 | curr_dl=${root_dl_targz}/annotations/AVA-Kinetics 38 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 39 | wget -c https://s3.amazonaws.com/kinetics/700_2020/annotations/ava_kinetics_v1_0.tar.gz -P $curr_dl 40 | wget -c https://s3.amazonaws.com/kinetics/700_2020/annotations/countix.tar.gz -P $curr_dl 41 | 42 | # Download annotations csv files 43 | curr_dl=${root_dl}/annotations 44 | [ ! -d $curr_dl ] && mkdir -p $curr_dl 45 | wget -c https://s3.amazonaws.com/kinetics/700_2020/annotations/train.csv -P $curr_dl 46 | wget -c https://s3.amazonaws.com/kinetics/700_2020/annotations/val.csv -P $curr_dl 47 | wget -c https://s3.amazonaws.com/kinetics/700_2020/annotations/test.csv -P $curr_dl 48 | 49 | # Download readme 50 | wget -c http://s3.amazonaws.com/kinetics/700_2020/K700_2020_readme.txt -P $root_dl 51 | 52 | # Downloads complete 53 | echo -e "\nDownloads complete! Now run extractor, k700_2020_extractor.sh" -------------------------------------------------------------------------------- /k700_2020_extractor.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Download directories vars 4 | root_dl="k700-2020" 5 | root_dl_targz="k700-2020_targz" 6 | 7 | # Make root directories 8 | [ ! -d $root_dl ] && mkdir $root_dl 9 | 10 | # Extract train 11 | curr_dl=$root_dl_targz/train 12 | curr_extract=$root_dl/train 13 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 14 | tar_list=$(ls $curr_dl) 15 | for f in $tar_list 16 | do 17 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 18 | done 19 | 20 | # Extract validation 21 | curr_dl=$root_dl_targz/val 22 | curr_extract=$root_dl/val 23 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 24 | tar_list=$(ls $curr_dl) 25 | for f in $tar_list 26 | do 27 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 28 | done 29 | 30 | # Extract test 31 | curr_dl=$root_dl_targz/test 32 | curr_extract=$root_dl/test 33 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 34 | tar_list=$(ls $curr_dl) 35 | for f in $tar_list 36 | do 37 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 38 | done 39 | 40 | # Extract deep mind annotations 41 | curr_dl=$root_dl_targz/annotations/deepmind 42 | curr_extract=$root_dl/annotations/deepmind 43 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 44 | tar_list=$(ls $curr_dl) 45 | for f in $tar_list 46 | do 47 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 48 | done 49 | 50 | # Extract deep mind top-up annotations 51 | curr_dl=$root_dl_targz/annotations/deepmind_top-up 52 | curr_extract=$root_dl/annotations/deepmind_top-up 53 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 54 | tar_list=$(ls $curr_dl) 55 | for f in $tar_list 56 | do 57 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 58 | done 59 | 60 | # Extract deep mind top-up annotations 61 | curr_dl=$root_dl_targz/annotations/AVA-Kinetics 62 | curr_extract=$root_dl/annotations/AVA-Kinetics 63 | [ ! -d $curr_extract ] && mkdir -p $curr_extract 64 | tar_list=$(ls $curr_dl) 65 | for f in $tar_list 66 | do 67 | [[ $f == *.tar.gz ]] && echo Extracting $curr_dl/$f to $curr_extract && tar zxf $curr_dl/$f -C $curr_extract 68 | done 69 | 70 | # Extraction complete 71 | echo -e "\nExtractions complete!" -------------------------------------------------------------------------------- /arrange_by_classes.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | from pathlib import Path 3 | 4 | import numpy as np 5 | from tqdm import tqdm 6 | 7 | # KINETICS-400 8 | """ videos csv replace 9 | test: 38685 39805 0 10 | train: 240258 246534 1392 11 | val: 19881 19906 0 12 | """ 13 | 14 | SPLITS = ['test', 'train', 'val'] 15 | 16 | def load_label(csv): 17 | table = np.loadtxt(csv, skiprows=1, dtype=str, delimiter=',') 18 | return {k: v.replace('"', '') for k, v in zip(table[:, 1], table[:, 0])} 19 | 20 | def collect_dict(path, split, replace_videos): 21 | split_video_path = path / split 22 | split_csv = load_label(path / f'annotations/{split}.csv') 23 | split_videos = list(split_video_path.glob('*.mp4')) 24 | split_videos = {str(p.stem)[:11]:p for p in split_videos} 25 | # replace paths for corrupted videos 26 | match_dict = {k: replace_videos[k] for k in split_videos.keys() & replace_videos.keys()} 27 | split_videos.update(match_dict) 28 | # collect videos with labels from csv: dict with {video_path: class} 29 | split_final = {split_videos[k]:split_csv[k] for k in split_csv.keys() & split_videos.keys()} 30 | return split_final 31 | 32 | def parse_args(): 33 | """ 34 | Usage: python arrange_by_classes.py 35 | """ 36 | argparser = argparse.ArgumentParser('Arrange kinetics400 dataset by classes') 37 | argparser.add_argument('path', type=str, help='Path to downloaded dataset') 38 | args = argparser.parse_args() 39 | return args 40 | 41 | def main(args): 42 | path = Path(args.path) 43 | assert path.exists(), f'Provided path:{path} does not exist' 44 | 45 | # collect videos in replacement 46 | replace = list((path / 'replacement/replacement_for_corrupted_k400').glob('*.mp4')) 47 | replace_videos = {str(p.stem)[:11]:p for p in replace} 48 | 49 | video_parent = path / 'videos' 50 | 51 | for split in SPLITS: 52 | print(f'Working on: {split}') 53 | # create output path 54 | split_video_path = video_parent / split 55 | split_video_path.mkdir(exist_ok=True, parents=True) 56 | split_final = collect_dict(path, split, replace_videos) 57 | print(f'Found {len(split_final)} videos in split: {split}') 58 | labels = set(split_final.values()) 59 | # create label directories 60 | for label in labels: 61 | label_pth = split_video_path / label 62 | label_pth.mkdir(exist_ok=True, parents=True) 63 | # symlink videos to respective labels 64 | for vid_pth, label in tqdm(split_final.items(), desc=f'Progress {split}'): 65 | dst_vid = split_video_path / label / vid_pth.name 66 | if dst_vid.is_symlink(): 67 | dst_vid.unlink() 68 | dst_vid.symlink_to(vid_pth.resolve(), target_is_directory=False) 69 | 70 | if __name__ == '__main__': 71 | args = parse_args() 72 | main(args) 73 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Kinetics Datasets Downloader 2 | 3 | Kinetics is a collection of large-scale, high-quality datasets of URL links of up to 650,000 video clips that cover 400/600/700 human action classes, depending on the dataset version. The videos include human-object interactions such as playing instruments, as well as human-human interactions such as shaking hands and hugging. Each action class has at least 400/600/700 video clips. Each clip is human annotated with a single action class and lasts around 10 seconds. 4 | 5 | The Kinetics project publications can be found here: https://deepmind.com/research/open-source/kinetics. 6 | 7 | Note that it may not be safe to train / test across different versions of the dataset, for example the k400 validation set is largely part of the k700 training set so results will not be meaningful. 8 | 9 | # Updates 10 | 11 | 5th of May: fixed k400/train/part_120.tar.gz, it was a tar file before 12 | 13 | 10th of December: add two downloader scripts for datasets automatic setup. (**k400_downloader.sh** and **k700_2020_downloader.sh**) 14 | 15 | 13th of September. K400: replaced corrupted mountain climber validation file and made available 1300+ replacement videos for existing corrupted training videos from various classes. K600: added list of links for held out test set. 16 | 17 | 4th of August 2021 -- replaced corrupted videos in the kinetics-700-2020 test set (these were typically shorter than 9s as well). There are still 5% of the videos in the test set that are shorter than 9s, but genuinely so (e.g. because they are like that in youtube). 18 | 19 | # Download Videos 20 | 21 | 22 | CVDF currently hosts the videos in the Kinetics-400 and Kinetics-700-2020 datasets. 23 | 24 | ### Kinetics-400 25 | 26 | #### Kinetics-400 Download: 27 | 28 | ##### Clone repo and enter directory 29 | ``` 30 | git clone https://github.com/cvdfoundation/kinetics-dataset.git 31 | cd kinetics-dataset 32 | ``` 33 | 34 | ##### Download tar gzip files 35 | This will create two directories, k400 and k400_targz. Tar gzips will be in k400_targz, you can delete k400_targz directory after extraction. 36 | ``` 37 | bash ./k400_downloader.sh 38 | ``` 39 | 40 | ##### Extract tar gzip files 41 | ``` 42 | bash ./k400_extractor.sh 43 | ``` 44 | 45 | #### Kinetics-400 Info: 46 | The train/val/test splits are subdivided into many files. The lists of links to video files can be found here: 47 | 48 | https://s3.amazonaws.com/kinetics/400/train/k400_train_path.txt 49 | 50 | https://s3.amazonaws.com/kinetics/400/val/k400_val_path.txt 51 | 52 | https://s3.amazonaws.com/kinetics/400/test/k400_test_path.txt 53 | 54 | It is easy to obtain a specific split (e.g. train), by: 55 | ``` 56 | bash download.sh k400_train_path.txt 57 | ``` 58 | Then, extract `*.tar.gz` files by: 59 | ``` 60 | bash extract.sh k400_train_path.txt 61 | ``` 62 | 63 | The links/annotations can be found under the annotation subfolders: 64 | 65 | https://s3.amazonaws.com/kinetics/400/annotations/train.csv 66 | 67 | https://s3.amazonaws.com/kinetics/400/annotations/val.csv 68 | 69 | https://s3.amazonaws.com/kinetics/400/annotations/test.csv 70 | 71 | A readme file can be found in: 72 | 73 | http://s3.amazonaws.com/kinetics/400/readme.md 74 | 75 | News: users found \~1400 corrupted videos. A replacement for the vast majority can be found here: 76 | 77 | https://s3.amazonaws.com/kinetics/400/replacement_for_corrupted_k400.tgz 78 | 79 | ### Kinetics-600 80 | 81 | #### Kinetics-600 Download: 82 | 83 | ##### Clone repo and enter directory 84 | ``` 85 | git clone https://github.com/cvdfoundation/kinetics-dataset.git 86 | cd kinetics-dataset 87 | ``` 88 | 89 | ##### Download tar gzip files 90 | This will create two directories, k600 and k600_targz. Tar gzips will be in k600_targz, you can delete k600_targz directory after extraction. 91 | ``` 92 | bash ./k600_downloader.sh 93 | ``` 94 | 95 | ##### Extract tar gzip files 96 | ``` 97 | bash ./k600_extractor.sh 98 | ``` 99 | 100 | #### Kinetics-600 Info: 101 | The train/val/test splits are subdivided into many files. The lists of links to video files can be found here: 102 | 103 | https://s3.amazonaws.com/kinetics/600/train/k600_train_path.txt 104 | 105 | https://s3.amazonaws.com/kinetics/600/val/k600_val_path.txt 106 | 107 | https://s3.amazonaws.com/kinetics/600/test/k600_test_path.txt 108 | 109 | The links/annotations can be found under the annotation subfolders: 110 | 111 | https://s3.amazonaws.com/kinetics/600/annotations/train.txt 112 | 113 | https://s3.amazonaws.com/kinetics/600/annotations/train.csv (incomplete) 114 | 115 | https://s3.amazonaws.com/kinetics/600/annotations/val.txt 116 | 117 | https://s3.amazonaws.com/kinetics/600/annotations/val.csv (incomplete) 118 | 119 | https://s3.amazonaws.com/kinetics/600/annotations/test.csv 120 | 121 | https://s3.amazonaws.com/kinetics/600/annotations/kinetics600_holdout_test.csv 122 | 123 | A readme file can be found in: 124 | 125 | http://s3.amazonaws.com/kinetics/600/readme.md 126 | 127 | 128 | ### Kinetics-700-2020 129 | 130 | #### Kinetics-700-2020 Download: 131 | 132 | ##### Clone repo and enter directory 133 | ``` 134 | git clone https://github.com/cvdfoundation/kinetics-dataset.git 135 | cd kinetics-dataset 136 | ``` 137 | 138 | ##### Download tar gzip files 139 | This will create two directories, k700-2020 and k700-2020_targz. Tar gzips will be in k700-2020_targz, you can delete k700-2020_targz directory after extraction. 140 | ``` 141 | bash ./k700_2020_downloader.sh 142 | ``` 143 | 144 | ##### Extract tar gzip files 145 | ``` 146 | bash ./k700_2020_extractor.sh 147 | ``` 148 | 149 | #### Kinetics-700-2020 Info: 150 | The train/val/test splits are subdivided into many files. The lists of links to video files can be found here: 151 | 152 | https://s3.amazonaws.com/kinetics/700_2020/train/k700_2020_train_path.txt 153 | 154 | https://s3.amazonaws.com/kinetics/700_2020/val/k700_2020_val_path.txt 155 | 156 | https://s3.amazonaws.com/kinetics/700_2020/test/k700_2020_test_path.txt 157 | 158 | The links/annotations can be found under the annotation subfolders: 159 | 160 | https://s3.amazonaws.com/kinetics/700_2020/annotations/train.csv 161 | 162 | https://s3.amazonaws.com/kinetics/700_2020/annotations/val.csv 163 | 164 | https://s3.amazonaws.com/kinetics/700_2020/annotations/test.csv 165 | 166 | A readme file can be found in: 167 | 168 | http://s3.amazonaws.com/kinetics/700_2020/K700_2020_readme.txt 169 | 170 | # Downstream annotations 171 | 172 | We also host annotations for AVA-Kinetics and Countix, which both use Kinetics-700 videos. 173 | 174 | To download annotations for AVA-Kinetics: 175 | https://s3.amazonaws.com/kinetics/700_2020/annotations/ava_kinetics_v1_0.tar.gz 176 | 177 | To download annotations for countix: 178 | https://s3.amazonaws.com/kinetics/700_2020/annotations/countix.tar.gz 179 | 180 | --------------------------------------------------------------------------------