Home

Awesome

Assembly101 downloader

model Assembly101 is a new procedural activity dataset featuring 4321 videos of people assembling and disassembling 101 "take-apart" toy vehicles. Participants work without fixed instructions, and the sequences feature rich and natural variations in action ordering, mistakes, and corrections. Assembly101 is the first multi-view action dataset, with simultaneous static (8) and egocentric (4) recordings. Sequences are annotated with more than 100K coarse and 1M fine-grained action segments, and 18M 3D hand poses. We benchmark on three action understanding tasks: recognition, anticipation and temporal segmentation. Additionally, we propose a novel task of detecting mistakes. The unique recording format and rich set of annotations allow us to investigate generalization to new toys, cross-view transfer, long-tailed distributions, and pose vs. appearance. We envision that Assembly101 will serve as a new challenge to investigate various activity understanding problems.


This repository provides scripts for downloading Assembly101 from Gdrive. Please submit an access request with your google account. Owing to concerns regarding security and server traffic overload, only one google account per individual will be provided access for an initial 14 days. If your current access expires, please request for another access mentioning "renewal" in the comments to extend it for another 14 days.

The files present in the Gdrive are:

Folder structure of the Assembly101 recordings:

recordings
├── nusar-2021_action_both_9086-c14a_9086_user_id_2021-02-16_153910
│   ├── C10095_rgb.mp4
│   ├── C10115_rgb.mp4
│   ├── C10118_rgb.mp4
│   ├── C10119_rgb.mp4
│   ├── C10379_rgb.mp4
│   ├── C10390_rgb.mp4
│   ├── C10395_rgb.mp4
│   ├── C10404_rgb.mp4
│   ├──HMC_21176875_mono10bit.mp4
│   ├──HMC_21176623_mono10bit.mp4
│   ├──HMC_21110305_mono10bit.mp4
│   ├──HMC_21179183_mono10bit.mp4
├── nusar-2021_action_both_9071-b06b_9071_user_id_2021-02-11_100739
│   ├── C10095_rgb.mp4
│   ├── .
│   ├── .
│   ├── .
.
.
.

Dependencies

This repository contains the following files:

Once you receive the client_secret key, update the client_secrets.json with the key.

download.py takes the following command-line arguments:

ArgumentsRemarks
--videosyou can selectively download any single video by its name or download all videos by setting the argument to be all (default)
--viewsall downloads all the 12 views per video (default)<br/> fixed to download the 8 fixed (RGB) views per video <br/> egocentric to download the 4 egocentric (monochrome) views per video <br/> vi downloads fixed view i where i = 1....8 <br/> ei downloads egocentric view i where i = 1....4
--outDirmain directory where you want the videos to be downloaded
--resumeTrue or False <br/> if the downloading stopped for any reason and you want to resume from where you left off (this requires outDir to be identical to the previous download)

If any video fails to download it will be recorded in a error_downloading.txt file in the current directory.

Which camera_IDs correspond to which views ?

C10095_rgb : v1
C10115_rgb : v2
C10118_rgb : v3
C10119_rgb : v4
C10379_rgb : v5
C10390_rgb : v6
C10395_rgb : v7
C10404_rgb : v8

HMC_84346135_mono10bit or HMC_21176875_mono10bit : e1
HMC_84347414_mono10bit or HMC_21176623_mono10bit : e2
HMC_84355350_mono10bit or HMC_21110305_mono10bit : e3
HMC_84358933_mono10bit or HMC_21179183_mono10bit : e4

Egocentric views camera ID mapping:

For some videos the camera ID for egocentric (monochrome) views starts with HMC_8... and for some they start with HMC_2.... This occurs to the usage of different cameras for some of the videos. The camera ID mapping is as follows:

HMC_84346135_mono10bit : HMC_21176875_mono10bit
HMC_84347414_mono10bit : HMC_21176623_mono10bit
HMC_84355350_mono10bit : HMC_21110305_mono10bit
HMC_84358933_mono10bit : HMC_21179183_mono10bit

Authentication

Google requires you to authenticate your google account (the account which already has access to the drive) at least once through a browser to access the contents of the drive through CLI. If you are working from a remote/headless machine with no browser, run the authenticate.py once on your local machine with an accessible browser to generate a credentials.json. Once this credentials.json is created you can move this file to your working directory in the remote/headless machine. For people working from a machine with an accesible browser, this step is not required to perform.

Note: Before proceeding with the above authentication protocol, please update the client_secrets.json file with the client_secret key provided with GDrive access.

License

Assembly101 is licensed by us under the Creative Commons Attribution-NonCommerial 4.0 International License, found here. The terms are :