Banuba SDK
constants.hpp
1 #pragma once
2 
3 #include <stdint.h>
4 
5 namespace bnb
6 {
7  /**
8  * @addtogroup Types
9  * @{
10  */
11  namespace constants
12  {
13  constexpr uint32_t FULL_FRAME_W = 720;
14  constexpr uint32_t FULL_FRAME_H = 1280;
15  constexpr uint32_t FULL_FRAME_SIZE = FULL_FRAME_W * FULL_FRAME_H;
16 
17  constexpr uint32_t FRX_FRAME_W = 480;
18  constexpr uint32_t FRX_FRAME_H = 640;
19  constexpr uint32_t FRX_FRAME_SIZE = FRX_FRAME_W * FRX_FRAME_H;
20 
21  constexpr uint32_t NEURO_FRX_LATS_CNT = 36;
22  constexpr uint32_t NEURO_FRX_LNDS_CNT = 68;
23  constexpr uint32_t NEURO_FRX_VERTS_CNT = 3308;
24  constexpr uint32_t NEURO_FRX_TRIANGLES_CNT = 19308;
25  constexpr uint32_t NEURO_FRX_BROWS_LNDS_CNT = 20;
26  constexpr uint32_t NEURO_FRX_EARS_LNDS_CNT = 3;
27 
28  // TODO add support for reduced
29 #define FULL_IBUG_68 1
30 
31  // clang-format off
32 
33  enum landmark_point_id
34  {
35 #if FULL_IBUG_68
36  X_1_FACE = 0, Y_1_FACE,
37  X_2_FACE, Y_2_FACE,
38 #else
39  X_2_FACE = 0, Y_2_FACE = 0,
40 #endif
41  X_3_FACE, Y_3_FACE,
42  X_4_FACE, Y_4_FACE,
43  X_5_FACE, Y_5_FACE,
44  X_6_FACE, Y_6_FACE,
45  X_7_FACE, Y_7_FACE,
46  X_8_L_CHIN, Y_8_L_CHIN,
47  X_9_CHIN, Y_9_CHIN,
48  X_10_R_CHIN, Y_10_R_CHIN,
49  X_11_FACE, Y_11_FACE,
50  X_12_FACE, Y_12_FACE,
51  X_13_FACE, Y_13_FACE,
52  X_14_FACE, Y_14_FACE,
53  X_15_FACE, Y_15_FACE,
54  X_16_FACE, Y_16_FACE,
55 #if FULL_IBUG_68
56  X_17_FACE, Y_17_FACE,
57 #endif
58  X_18_L_BROW, Y_18_L_BROW,
59  X_19_L_BROW, Y_19_L_BROW,
60  X_20_L_BROW, Y_20_L_BROW,
61  X_21_L_BROW, Y_21_L_BROW,
62  X_22_L_BROW, Y_22_L_BROW,
63  X_23_R_BROW, Y_23_R_BROW,
64  X_24_R_BROW, Y_24_R_BROW,
65  X_25_R_BROW, Y_25_R_BROW,
66  X_26_R_BROW, Y_26_R_BROW,
67  X_27_R_BROW, Y_27_R_BROW,
68  X_28_NOSE_BRIDGE, Y_28_NOSE_BRIDGE,
69  X_29_NOSE_BRIDGE, Y_29_NOSE_BRIDGE,
70  X_30_NOSE_BRIDGE, Y_30_NOSE_BRIDGE,
71  X_31_NOSE_BRIDGE, Y_31_NOSE_BRIDGE,
72  X_32_NOSE, Y_32_NOSE,
73  X_33_NOSE, Y_33_NOSE,
74  X_34_NOSE, Y_34_NOSE,
75  X_35_NOSE, Y_35_NOSE,
76  X_36_NOSE, Y_36_NOSE,
77  X_37_L_EYE_L_CORNER, Y_37_L_EYE_L_CORNER,
78  X_38_LU_EYELID, Y_38_LU_EYELID,
79  X_39_LU_EYELID, Y_39_LU_EYELID,
80  X_40_L_EYE_R_CORNER, Y_40_L_EYE_R_CORNER,
81  X_41_LD_EYELID, Y_41_LD_EYELID,
82  X_42_LD_EYELID, Y_42_LD_EYELID,
83  X_43_R_EYE_L_CORNER, Y_43_R_EYE_L_CORNER,
84  X_44_RU_EYELID, Y_44_RU_EYELID,
85  X_45_RU_EYELID, Y_45_RU_EYELID,
86  X_46_R_EYE_R_CORNER, Y_46_R_EYE_R_CORNER,
87  X_47_RD_EYELID, Y_47_RD_EYELID,
88  X_48_RD_EYELID, Y_48_RD_EYELID,
89  X_49_LIP_L_CORNER_OUT, Y_49_LIP_L_CORNER_OUT,
90  X_50_LIP_U_OUT, Y_50_LIP_U_OUT,
91  X_51_LIP_U_OUT, Y_51_LIP_U_OUT,
92  X_52_LIP_U_OUT, Y_52_LIP_U_OUT,
93  X_53_LIP_U_OUT, Y_53_LIP_U_OUT,
94  X_54_LIP_U_OUT, Y_54_LIP_U_OUT,
95  X_55_LIP_R_CORNER_OUT, Y_55_LIP_R_CORNER_OUT,
96  X_56_LIP_D_OUT, Y_56_LIP_D_OUT,
97  X_57_LIP_D_OUT, Y_57_LIP_D_OUT,
98  X_58_LIP_D_OUT, Y_58_LIP_D_OUT,
99  X_59_LIP_D_OUT, Y_59_LIP_D_OUT,
100  X_60_LIP_D_OUT, Y_60_LIP_D_OUT,
101 #if FULL_IBUG_68
102  X_61_LIP_L_CORNER_OUT, Y_61_LIP_L_CORNER_OUT,
103 #endif
104  X_62_LIP_U_IN, Y_62_LIP_U_IN,
105  X_63_LIP_U_IN, Y_63_LIP_U_IN,
106  X_64_LIP_U_IN, Y_64_LIP_U_IN,
107 #if FULL_IBUG_68
108  X_65_LIP_R_CORNER_OUT, Y_65_LIP_R_CORNER_OUT,
109 #endif
110  X_66_LIP_D_IN, Y_66_LIP_D_IN,
111  X_67_LIP_D_IN, Y_67_LIP_D_IN,
112  X_68_LIP_D_IN, Y_68_LIP_D_IN,
113  END,
114  };
115 
116  // clang-format on
117  } // namespace constants
118  /** @} */ // endgroup types
119 } // namespace bnb