[89] | 1 | /*********************************************************************
|
---|
| 2 | // created: 2011/06/08 - 10:30
|
---|
| 3 | // filename: structureFaceLAB.h
|
---|
| 4 | //
|
---|
| 5 | // author: Anthony CHAIKHA DOUAIHY
|
---|
| 6 | // Copyright Heudiasyc UMR UTC/CNRS 6599
|
---|
| 7 | //
|
---|
| 8 | // version: $Id: $
|
---|
| 9 | //
|
---|
| 10 | // purpose: Description of the FaceLAB structures
|
---|
| 11 | *********************************************************************/
|
---|
| 12 |
|
---|
| 13 | #ifndef _STRUCTURE_FACELAB_H_
|
---|
| 14 | #define _STRUCTURE_FACELAB_H_
|
---|
| 15 |
|
---|
| 16 | #include "kernel/road_time.h"
|
---|
| 17 |
|
---|
| 18 | typedef struct {
|
---|
| 19 | road_time_t time;
|
---|
| 20 | //Frame Number
|
---|
| 21 | int frameNumber;
|
---|
| 22 | //Frame time - number of seconds since 1/1/1970
|
---|
| 23 | int gmt_s;
|
---|
| 24 | //Annotation label
|
---|
| 25 | int annotation_ID;
|
---|
| 26 | //Index of the world object the filteres gaze vector intersects (-1=none)
|
---|
| 27 | int gaze_obj_index;
|
---|
| 28 | //Gaze direction vector screen intersection X, Y (pixel coordinates)
|
---|
| 29 | int gsi_pixel_x, gsi_pixel_y;
|
---|
| 30 | //Frame time - milliseconds part of GMT_S
|
---|
| 31 | unsigned short gmt_ms;
|
---|
| 32 | //Gaze direction vector screen intersection X, Y, Z
|
---|
| 33 | float gsi_world_x, gsi_world_y, gsi_world_z;
|
---|
| 34 | //Approxy delay in seconds between image generation and logger data release
|
---|
| 35 | float delay;
|
---|
| 36 | //Head position filtered X, Y, Z
|
---|
| 37 | float hpos_filtx, hpos_filty, hpos_filtz;
|
---|
| 38 | //Left eye closure confidence (0=low, 1=high)
|
---|
| 39 | float left_clos_conf;
|
---|
| 40 | //Right eye closure confidence (0=low, 1=high)
|
---|
| 41 | float right_clos_conf;
|
---|
| 42 | //Eye closure calibration (0=no calibration, 1=full calibration)
|
---|
| 43 | float eye_close_calib;
|
---|
| 44 | //Blink frequency
|
---|
| 45 | float blinking_freq;
|
---|
| 46 | //Head rotation Euler angle alpha, beta, gamma
|
---|
| 47 | float hrot_filtx, hrot_filty, hrot_filtz;
|
---|
| 48 | //Head position confidence (0=low, 100=high)
|
---|
| 49 | float hpos_conf;
|
---|
| 50 | //Right eyeball centre position X, Y, Z
|
---|
| 51 | float h_eyeball_r_x, h_eyeball_r_y, h_eyeball_r_z;
|
---|
| 52 | //Left eyeball centre position X, Y, Z
|
---|
| 53 | float h_eyeball_l_x, h_eyeball_l_y, h_eyeball_l_z;
|
---|
| 54 | //Right eye closure fraction (0=open, 1=closed)
|
---|
| 55 | float right_eye_close;
|
---|
| 56 | //Left eye closure fraction (0=open, 1=closed)
|
---|
| 57 | float left_eye_close;
|
---|
| 58 | //Average blink duration
|
---|
| 59 | float blinking_duration;
|
---|
| 60 | //Perclos value
|
---|
| 61 | float perclos;
|
---|
| 62 | //Gaze direction vector screen intersection X, Y (screen coordinates)
|
---|
| 63 | float gsi_screen_x, gsi_screen_y;
|
---|
| 64 | //Gaze object intersection X, Y, Z (world coordinates)
|
---|
| 65 | float goi_x, goi_y, goi_z;
|
---|
| 66 | //X, Y coord of right eye pupil position in image from camera A
|
---|
| 67 | float r_pupilos_ca_x, r_pupilos_ca_y;
|
---|
| 68 | //(X, Y) of left eye pupil position in image from camera A
|
---|
| 69 | float l_pupilos_ca_x, l_pupilos_ca_y;
|
---|
| 70 | //(X, Y, width, height) of top left hand corner of face rectangle in the image from camera A
|
---|
| 71 | float facerect_ca_x, facerect_ca_y, facerect_ca_w, facerect_ca_h;
|
---|
| 72 | //(X, Y, width, height) of top left hand corner of right eye rectangle in the image from camera A
|
---|
| 73 | float reyerect_ca_x, reyerect_ca_y, reyerect_ca_w, reyerect_ca_h;
|
---|
| 74 | //(X, Y, width, height) of top left hand corner of left eye rectangle in the image from camera A
|
---|
| 75 | float leyerect_ca_x, leyerect_ca_y, leyerect_ca_w, leyerect_ca_h;
|
---|
| 76 | //(X, Y, width, height) of top left hand corner of mouth rectangle in the image from camera A
|
---|
| 77 | float moutrect_ca_x, moutrect_ca_y, moutrect_ca_w, moutrect_ca_h;
|
---|
| 78 | //X, Y coord of right eye pupil position in image from camera B
|
---|
| 79 | float r_pupilos_cb_x, r_pupilos_cb_y;
|
---|
| 80 | //(X, Y) of left eye pupil position in image from camera B
|
---|
| 81 | float l_pupilos_cb_x, l_pupilos_cb_y;
|
---|
| 82 | //(X, Y, width, height) of top left hand corner of face rectangle in the image from camera B
|
---|
| 83 | float facerect_cb_x, facerect_cb_y, facerect_cb_w, facerect_cb_h;
|
---|
| 84 | //(X, Y, width, height) of top left hand corner of right eye rectangle in the image from camera B
|
---|
| 85 | float reyerect_cb_x, reyerect_cb_y, reyerect_cb_w, reyerect_cb_h;
|
---|
| 86 | //(X, Y, width, height) of top left hand corner of left eye rectangle in the image from camera B
|
---|
| 87 | float leyerect_cb_x, leyerect_cb_y, leyerect_cb_w, leyerect_cb_h;
|
---|
| 88 | //(X, Y, width, height) of top left hand corner of mouth rectangle in the image from camera B
|
---|
| 89 | float moutrect_cb_x, moutrect_cb_y, moutrect_cb_w, moutrect_cb_h;
|
---|
| 90 | //Right eye gaze quality level
|
---|
| 91 | int gaze_quality_r;
|
---|
| 92 | ///Left eye gaze quality level
|
---|
| 93 | int gaze_quality_l;
|
---|
| 94 | //Right eyeball centre position X, Y, Z
|
---|
| 95 | float eyeball_r_x, eyeball_r_y, eyeball_r_z;
|
---|
| 96 | //Right eye gaze pitch and yaw angle
|
---|
| 97 | float gazerot_r_x, gazerot_r_y;
|
---|
| 98 | //Left eyeball centre position X, Y, Z
|
---|
| 99 | float eyeball_l_x, eyeball_l_y, eyeball_l_z;
|
---|
| 100 | //Mean Eyes
|
---|
| 101 | float eyeball_x, eyeball_y, eyeball_z;
|
---|
| 102 | //Left eye gaze pitch and yaw angle
|
---|
| 103 | float gazerot_l_x, gazerot_l_y;
|
---|
| 104 | //Right gaze vector X, Y, Z
|
---|
| 105 | float r_nx, r_ny, r_nz;
|
---|
| 106 | //Left gaze vector X, Y, Z
|
---|
| 107 | float l_nx, l_ny, l_nz;
|
---|
| 108 | //Mean gaze vector X, Y, Z
|
---|
| 109 | float nx, ny, nz;
|
---|
| 110 | }FaceLABDatas;
|
---|
| 111 |
|
---|
| 112 | #endif
|
---|
| 113 |
|
---|