Difference between revisions of "Vicon:Data format documentation"

From Collective Computational Unit
Jump to navigation Jump to search
m (Unlabeled trajectories)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
== Raw data ==
 
== Raw data ==
  
TODO: quick description of what exactly the Vicon system records.
+
''//The page is under development''
  
TODO: quick description of what the input/output of the different Vicon software modules is. For example, do you need to run any software to obtain the unlabeled trajectories, or is that part of the raw output of the system?
 
  
TODO: 3D coordinates of backpack points for each backpack (in Backpack coordinates). Is this really an output of the system, i.e. does it find rigid patterns itself? It sounds like it's more of a configuration one has to supply in order to extract backpack positions from unlabeled trajectories.
+
The existing installation of Vicon mo-cap system consists of three software:
 +
* Nexus: Skeleton tracking and motion capture + Video
 +
* Tracker: 6:DOF Object tracking (patterns with 4 or more points)
 +
* Undistortion tool – Video undistortion tool ( Command line)
  
A Python script can extract information (which?), however data packet can be lost if too many objects are saved. Need optimization.  
+
With the three software, the Vicon system records the coordinate information of each tracking nodes over time. It uses infrared cameras and RGB video cameras to obtain its input, and then generate raw outputs with the software. According to the setup of RGB cameras, there can also be video outputs for assisting annotation of the nodes.  
  
 +
''//TODO: quick description of what the input/output of the different Vicon software modules is. For example, do you need to run any software to obtain the unlabeled trajectories, or is that part of the raw output of the system?''
  
 +
Each of the software has its own focus in application. However, they have shared file formats for recording data as well. Here is a table of what those different file formats contain and from which component of the Vicon system they are generated.
 +
 +
{| class="wikitable"
 +
|-
 +
! Format !! Description !! generated by
 +
|-
 +
| .mp || The coordinate of four markers from an object. They are represented in object space. || shared
 +
|-
 +
| .x2d, .x3d || A session for offline processing with the positions of all markers. || shared
 +
|-
 +
| .csv || Stores the positions of each object per frame. With header for detailed information. || Tracker
 +
|-
 +
| .vvid, .avi || Videos from RGB cameras || Nexus
 +
|-
 +
| .vsk || Skeleton information from Nexus || ''TODO''
 +
|-
 +
| .xcp || Detailed camera information, resulted from calibration. || Undistortion tool
 +
|-
 +
| .system || Parameters stored in the system || ''TODO''
 +
|}
 +
 +
''TODO: 3D coordinates of backpack points for each backpack (in Backpack coordinates). Is this really an output of the system, i.e. does it find rigid patterns itself? It sounds like it's more of a configuration one has to supply in order to extract backpack positions from unlabeled trajectories.''
 +
 +
A Python script can extract information (which?), however data packet can be lost if too many objects are saved. Need optimization.
 +
 +
Resources:
 +
* [[File:Vicon_Intro_Hemal.pdf|Hemal's presentation on the Vicon system from 13.6.19]]
 +
* [https://owncloud.gwdg.de/index.php/s/XouWYdyD11FnEle Hemal's Vicon toolbox code]
 +
* [http://merkur229.inf.uni-konstanz.de:5678/Vicon_no_videos.tar.bz2 Sample data without videos]
  
 
== Unlabeled trajectories ==
 
== Unlabeled trajectories ==
  
 
* Tracker unlabeled trajectory (.csv) : 3D position of each marker (backpack or no backpack) (Vicon coordinate system - X,Y,Z). Will have similar points in single column as trajectories if tracked well, when lost position is saved in new columns.
 
* Tracker unlabeled trajectory (.csv) : 3D position of each marker (backpack or no backpack) (Vicon coordinate system - X,Y,Z). Will have similar points in single column as trajectories if tracked well, when lost position is saved in new columns.
 +
 +
===== The first 2 tracking nodes in the first 20 frames from the example file: =====
  
 
<syntaxhighlight>
 
<syntaxhighlight>
TODO: maybe a few lines of the CSV file as examples to illustrate the above.
+
Trajectories;;;;;;;
 +
100;;;;;;;
 +
;;1 1936;;;1 1937;;
 +
Frame;Sub Frame;X;Y;Z;X;Y;Z
 +
;;mm;mm;mm;mm;mm;mm
 +
1;0;-391.888;-6180.01;1734.43;-378.647;-6190.14;1713.82
 +
2;0;-391.978;-6180.03;1734.43;-378.63;-6190.17;1713.8
 +
3;0;-392.012;-6180.04;1734.48;-378.718;-6189.96;1714.06
 +
4;0;-392.072;-6180.03;1734.54;-378.721;-6190.02;1714.16
 +
5;0;-391.983;-6180;1734.64;-378.72;-6190.02;1714.28
 +
6;0;-391.929;-6179.94;1734.71;-378.741;-6190;1714.41
 +
7;0;-391.983;-6180;1734.69;-378.566;-6190.16;1714.21
 +
8;0;-391.888;-6179.93;1734.65;-378.685;-6190.02;1714.27
 +
9;0;-391.906;-6179.96;1734.54;-378.718;-6190;1714.18
 +
10;0;-392.081;-6179.96;1734.43;-378.639;-6190.11;1713.91
 +
11;0;-392.025;-6179.98;1734.35;-378.663;-6190.12;1713.86
 +
12;0;-392.157;-6179.89;1734.37;-378.619;-6190.14;1713.91
 +
13;0;-392.122;-6179.75;1734.47;-378.751;-6190;1714.1
 +
14;0;-392.19;-6179.76;1734.5;-378.672;-6190.03;1714.08
 +
15;0;-392.229;-6179.8;1734.45;-378.774;-6190.06;1714.12
 +
16;0;-392.337;-6179.81;1734.42;-378.741;-6190.02;1714.06
 +
17;0;-392.323;-6179.76;1734.45;-378.782;-6190.12;1714.02
 +
18;0;-392.422;-6179.81;1734.47;-378.787;-6190.12;1714.03
 +
19;0;-392.33;-6179.68;1734.53;-378.793;-6190.05;1714.14
 +
20;0;-392.305;-6179.59;1734.62;-378.682;-6189.96;1714.22
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 24: Line 82:
 
An example CSV file was placed online by Mate here:
 
An example CSV file was placed online by Mate here:
  
[[https://drive.google.com/open?id=1ee8f-BO8cDtnAlIQpKDOeTxugx8UhJWU]]
+
[https://drive.google.com/open?id=1ee8f-BO8cDtnAlIQpKDOeTxugx8UhJWU Google drive link]
  
 
== Nexus/Tracker output ==
 
== Nexus/Tracker output ==

Latest revision as of 13:26, 25 November 2020

Raw data

//The page is under development


The existing installation of Vicon mo-cap system consists of three software:

  • Nexus: Skeleton tracking and motion capture + Video
  • Tracker: 6:DOF Object tracking (patterns with 4 or more points)
  • Undistortion tool – Video undistortion tool ( Command line)

With the three software, the Vicon system records the coordinate information of each tracking nodes over time. It uses infrared cameras and RGB video cameras to obtain its input, and then generate raw outputs with the software. According to the setup of RGB cameras, there can also be video outputs for assisting annotation of the nodes.

//TODO: quick description of what the input/output of the different Vicon software modules is. For example, do you need to run any software to obtain the unlabeled trajectories, or is that part of the raw output of the system?

Each of the software has its own focus in application. However, they have shared file formats for recording data as well. Here is a table of what those different file formats contain and from which component of the Vicon system they are generated.

Format Description generated by
.mp The coordinate of four markers from an object. They are represented in object space. shared
.x2d, .x3d A session for offline processing with the positions of all markers. shared
.csv Stores the positions of each object per frame. With header for detailed information. Tracker
.vvid, .avi Videos from RGB cameras Nexus
.vsk Skeleton information from Nexus TODO
.xcp Detailed camera information, resulted from calibration. Undistortion tool
.system Parameters stored in the system TODO

TODO: 3D coordinates of backpack points for each backpack (in Backpack coordinates). Is this really an output of the system, i.e. does it find rigid patterns itself? It sounds like it's more of a configuration one has to supply in order to extract backpack positions from unlabeled trajectories.

A Python script can extract information (which?), however data packet can be lost if too many objects are saved. Need optimization.

Resources:

Unlabeled trajectories

  • Tracker unlabeled trajectory (.csv) : 3D position of each marker (backpack or no backpack) (Vicon coordinate system - X,Y,Z). Will have similar points in single column as trajectories if tracked well, when lost position is saved in new columns.
The first 2 tracking nodes in the first 20 frames from the example file:
Trajectories;;;;;;;
100;;;;;;;
;;1 1936;;;1 1937;;
Frame;Sub Frame;X;Y;Z;X;Y;Z
;;mm;mm;mm;mm;mm;mm
1;0;-391.888;-6180.01;1734.43;-378.647;-6190.14;1713.82
2;0;-391.978;-6180.03;1734.43;-378.63;-6190.17;1713.8
3;0;-392.012;-6180.04;1734.48;-378.718;-6189.96;1714.06
4;0;-392.072;-6180.03;1734.54;-378.721;-6190.02;1714.16
5;0;-391.983;-6180;1734.64;-378.72;-6190.02;1714.28
6;0;-391.929;-6179.94;1734.71;-378.741;-6190;1714.41
7;0;-391.983;-6180;1734.69;-378.566;-6190.16;1714.21
8;0;-391.888;-6179.93;1734.65;-378.685;-6190.02;1714.27
9;0;-391.906;-6179.96;1734.54;-378.718;-6190;1714.18
10;0;-392.081;-6179.96;1734.43;-378.639;-6190.11;1713.91
11;0;-392.025;-6179.98;1734.35;-378.663;-6190.12;1713.86
12;0;-392.157;-6179.89;1734.37;-378.619;-6190.14;1713.91
13;0;-392.122;-6179.75;1734.47;-378.751;-6190;1714.1
14;0;-392.19;-6179.76;1734.5;-378.672;-6190.03;1714.08
15;0;-392.229;-6179.8;1734.45;-378.774;-6190.06;1714.12
16;0;-392.337;-6179.81;1734.42;-378.741;-6190.02;1714.06
17;0;-392.323;-6179.76;1734.45;-378.782;-6190.12;1714.02
18;0;-392.422;-6179.81;1734.47;-378.787;-6190.12;1714.03
19;0;-392.33;-6179.68;1734.53;-378.793;-6190.05;1714.14
20;0;-392.305;-6179.59;1734.62;-378.682;-6189.96;1714.22
  • Unlabeled points (not on backpack or pattern) can be extracted in real time. (in VICON space)


An example CSV file was placed online by Mate here:

Google drive link

Nexus/Tracker output

  1. Tracker output (.csv): 6DOF of each pattern design/backpack (Quaternions, Tx,Ty,Tz in Vicon coordinate system)
  2. Nexus output : 3D position of each marker on backpack (.csv) (Tx,Ty,Tz) (in Vicon coordinate system)

The second can obviously be generated from the first together with the backpack patterns in their local coordinate systems.

However, Nexus and Tracker have different outputs. (TODO: what does this mean?)