Home

Awesome

Welcome to the IndustReal dataset!

https://github.com/TimSchoonbeek/IndustReal/assets/54444435/ec67b3f4-b2c5-4457-af66-be7beb680f21

Check out our project page!

The IndustReal dataset contains 84 videos, demonstrating how 27 participants perform maintenance and assembly procedures on a construction-toy assembly set. The dataset, along with the 3D part geometries and trained model weights for the best performing models as reported in the paper "IndustReal: A Dataset for Procedure Step Recognition Handling Execution Errors in Egocentric Videos in an Industrial-Like Setting", is available here.

News

Please follow this page, as updates are expected soon!

[01 Nov 2023] Data released!
[30 Oct 2023] Paper pre-print is available here
[03 Oct 2023] PSR, AR, and ASD code released
[13 Sept 2023] GitHub landing page and PSR videos released

Procedure step recognition (PSR)

The instructions on reproducing the PSR baseline, along with the required code, can be found here.

Three videos of the PSR B3 baseline on the IndustReal test set can be found here:

Action recognition (AR)

The instructions on reproducing the AR baseline, along with the required code, can be found here.

Assembly state detection (ASD)

The instructions on reproducing the ASD baseline, along with the required code, can be found here.

Data information

The dataset can be downloaded here. IndustReal should be structured as follows:

IndustReal
├── part_geometries
│   ├── fbx_files
│   ├── 3mf_files
│   ├── overview_of_states.pdf
├── recordings
│   ├── train
│   │   ├── recording_x
│   │   │   ├── rgb
│   │   │   ├── stereo_left
│   │   │   ├── stereo_right
│   │   │   ├── depth
│   │   │   ├── ambient_light
│   │   │   ├── gaze.csv
│   │   │   ├── hands.csv
│   │   │   ├── pose.csv
│   │   │   ├── AR_labels.csv
│   │   │   ├── OD_labels.json
│   │   │   ├── PSR_labels.csv
│   │   │   ├── PSR_labels_with_errors.csv
│   │   │   └── PSR_labels_raw.csv
│   │   └── ...
│   ├── val
│   │   └── ...
│   ├── test
│   │   └── ...
├── train.csv
├── val.csv
└── test.csv

Sensor and tracking information

All data is recorded using the Microsoft HoloLens 2 and the HL2SS library. Every recording (e.g. 01_assy_1_1) contains 5 folders with the image data, named:

Becuase depth and ambient_light are recorded at half FPS compared to rgb and stereo images, their frames are duplicated to ensure an equal number of frames in each folder.

Each folder also contains the three tracking readings:

Annotation information

In each folder, you will also find the annotations:

3D printing your own model

We publish the part geometries together with the video data and ground-truth labels. To print your own model, you can follow these steps:

  1. Use the files included in our dataset or download the latest version from the official STEMFIE website. Note: if you download the files from the website, you might have a slightly modified version!
  2. Calibrate your 3D printer for STEMFIE files using this tutorial.
  3. Scale the files by 200% in all directions to obtain the size used in IndustReal.
  4. Print settings: we used an Ultimaker 5S with 0.3mm layer height, 15% triangle infill, 50 mm/s print speed, 0.5 mm hole horizontal expansion, and raft build plate adhesion.
  5. Print materials: The braces and beams are printed in white PLA, the pins in silver metallic PLA, the nuts, washers, wing, and pulley in magenta PLA and the wheels in black tough PLA.

We are thankful to the STEMFIE project for open-sourcing their 3D printed toy construction sets, enabling our research!

Recording your own data

To record your own data, you should have a HoloLens 2 (HL2). Then, you can record your data in the same format as IndustReal following these steps:

  1. Clone the HL2SS library and install all required dependencies.
  2. Open the hl2ss_recording_script.py. Set your host IP (ask "what is my IP" to the HoloLens you are trying to record on) and the directory where the data should be saved.
  3. Start the HL2SS app on the HL2.
  4. (optional) Enable the PV camera field-of-view limit indication line with the HL2SS provided script. This prevents users from aiming the HL2 too high, a commonly encountered issue.
  5. Start the hl2ss_recording_script.py. You are now recording!

Contributions

All contributions are welcomed.

Citing IndustReal

Please use the following BibTeX entry for citation:

@inproceedings{schoonbeek2024industreal,
  title={IndustReal: A Dataset for Procedure Step Recognition Handling Execution Errors in Egocentric Videos in an Industrial-Like Setting},
  author={Schoonbeek, Tim J and Houben, Tim and Onvlee, Hans and van der Sommen, Fons and others},
  booktitle={Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision},
  pages={4365--4374},
  year={2024}
}

License

IndustReal is released under the Apache 2.0 license.