This repository contains two Grand Theft Auto V Mods used for creating the JTA Dataset presented in the paper Learning to Detect and Track Visible and Occluded Body Joints in a Virtual World:
Configuration Properties -> Linker -> Input
and set the ScriptHookV.lib
file name in Additional Dependencies
Build-Events -> Post-Build-Event
and, under Command Line
type xcopy /Y path/to/asi/file path/to/gta/installation/directory
Configuration-Properties -> General
change the Target Extension
to .asi
and Configuration Type
to .dll
By pressing F8 the mod will automatically load each scenario previously created and starts to record the dataset. You can stop the mod at any time by pressing ctrl+R. The data will be stored in a subdirectory of the GTA V game folder named JTA
. For each sequence a new folder will be created, containing each recorded frames and a .csv annotation file.
Each annotation file refers to a specific sequence. An annotation consists of a .csv file containing, for each row, the information about a single joint, organized as follows:
Name | Description |
---|---|
frame | number of the frame to which the joint belongs |
pedestrian_id | unique identifier of the person to which the joint belongs |
joint_type | identifier of the type of joint; see 'Joint Types' subsection |
x2D | 2D x coordinate of the joint in pixels |
y2D | 2D y coordinate of the joint in pixels |
x3D | 3D x coordinate of the joint in meters |
y3D | 3D y coordinate of the joint in meters |
z3D | 3D z coordinate of the joint in meters |
occluded | 1 if the joint is occluded; 0 otherwise |
self_occluded | 1 if the joint is occluded by its owner; 0 otherwise |
cam_3D_x | 3D x coordinate of the camera in meters |
cam_3D_y | 3D y coordinate of the camera in meters |
cam_3D_z | 3D z coordinate of the camera in meters |
cam_rot_x | x rotation of the camera in degrees |
cam_rot_y | y rotation of the camera in degrees |
cam_rot_z | z rotation of the camera in degrees |
fov | field of view of the camera in degrees |
The associations between numerical identifier and type of joint are the following:
0: head_top
1: head_center
2: neck
3: right_clavicle
4: right_shoulder
5: right_elbow
6: right_wrist
7: left_clavicle
8: left_shoulder
9: left_elbow
10: left_wrist
11: spine0
12: spine1
13: spine2
14: spine3
15: spine4
16: right_hip
17: right_knee
18: right_ankle
19: left_hip
20: left_knee
21: left_ankle
We believe in open research and we are happy if you find this code useful.
If you use it, please cite our work.
@inproceedings{fabbri2018learning,
title = {Learning to Detect and Track Visible and Occluded Body Joints in a Virtual World},
author = {Fabbri, Matteo and Lanzi, Fabio and Calderara, Simone and Palazzi, Andrea and Vezzani, Roberto and Cucchiara, Rita},
booktitle = {European Conference on Computer Vision (ECCV)},
year = {2018}
}