Banuba SDK
Loading...
Searching...
No Matches
constants.hpp
1#pragma once
2
3#include <stdint.h>
4
5namespace 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