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 feature_id;
25 struct action_units_data;
28 struct external_face_data;
31 struct feature_parameter;
32 struct full_image_format;
33 struct lips_shine_mask;
34 struct neuro_beauty_data;
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;
64 virtual bool get_is_smile() = 0;
66 virtual bool get_is_mouth_open() = 0;
68 virtual bool get_is_brows_raised() = 0;
70 virtual bool get_is_brows_shifted() = 0;
72 virtual bool get_is_wear_glasses() = 0;
74 virtual float get_ruler() = 0;
78 virtual float get_light_correction() = 0;
112 virtual std::optional<std::string> get_face_attributes() = 0;
115 virtual float get_pupillary_distance() = 0;
117 virtual void add_full_img(::bnb::full_image_t img) = 0;
119 virtual void replace_full_img(::bnb::full_image_t img) = 0;
123 virtual void add_external_face_data(face_data_source source,
const std::vector<external_face_data> & data) = 0;
127 virtual void add_frame_number(int64_t frame_number) = 0;
135 virtual void add_feature_parameters(
const std::unordered_map<feature_id, std::vector<feature_parameter>> & params) = 0;
138 virtual void add_timestamp_us(
double timestamp_us) = 0;