10 #include <bnb/types/full_image.hpp>
11 #include <bnb/utils/defs.hpp>
16 #include <unordered_map>
19 namespace bnb {
namespace interfaces {
21 class frx_recognition_result;
22 enum class face_data_source;
23 enum class face_shape_type;
24 enum class feature_id;
25 struct action_units_data;
29 struct external_face_data;
32 struct feature_parameter;
33 struct full_image_format;
34 struct lips_shine_mask;
35 struct transformed_mask_byte;
36 struct transformed_mask_gpu;
47 static std::shared_ptr<frame_data> create();
51 virtual std::vector<float> get_full_img_transform() = 0;
54 virtual std::shared_ptr<frx_recognition_result> get_frx_recognition_result() = 0;
56 virtual void set_frx_recognition_result(
const std::shared_ptr<frx_recognition_result> & result) = 0;
63 virtual std::vector<detected_face> get_face_detector_result() = 0;
68 virtual bool get_is_smile() = 0;
71 virtual bool get_is_mouth_open() = 0;
74 virtual bool get_are_brows_raised() = 0;
77 virtual bool get_are_brows_shifted() = 0;
80 virtual bool get_is_wear_glasses() = 0;
82 virtual float get_ruler() = 0;
87 virtual float get_light_correction() = 0;
117 virtual std::optional<std::string> get_face_attributes() = 0;
119 virtual face_shape_type get_face_shape() = 0;
122 virtual float get_pupillary_distance() = 0;
128 virtual std::vector<float> get_light_source_params() = 0;
131 virtual std::vector<int32_t> get_teeth_color() = 0;
134 virtual std::vector<float> get_glasses_frame_color() = 0;
137 virtual std::vector<float> get_face_skin_color() = 0;
140 virtual std::vector<float> get_acne_severity() = 0;
146 virtual ::bnb::full_image_t get_full_img() = 0;
150 virtual void add_external_face_data(face_data_source source,
const std::vector<external_face_data> & data) = 0;
154 virtual void add_frame_number(int64_t frame_number) = 0;
162 virtual void add_feature_parameters(
const std::unordered_map<feature_id, std::vector<feature_parameter>> & params) = 0;
165 virtual void add_timestamp_us(
double timestamp_us) = 0;
167 virtual std::vector<float> get_chromakey_color() = 0;