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 transformed_mask_byte;
35 struct transformed_mask_gpu;
46 static std::shared_ptr<frame_data> create();
50 virtual std::vector<float> get_full_img_transform() = 0;
53 virtual std::shared_ptr<frx_recognition_result> get_frx_recognition_result() = 0;
55 virtual void set_frx_recognition_result(
const std::shared_ptr<frx_recognition_result> & result) = 0;
61 virtual bool get_is_smile() = 0;
63 virtual bool get_is_mouth_open() = 0;
65 virtual bool get_is_brows_raised() = 0;
67 virtual bool get_is_brows_shifted() = 0;
69 virtual bool get_is_wear_glasses() = 0;
71 virtual float get_ruler() = 0;
75 virtual float get_light_correction() = 0;
109 virtual std::optional<std::string> get_face_attributes() = 0;
112 virtual float get_pupillary_distance() = 0;
118 virtual std::vector<float> get_light_source_params() = 0;
126 virtual void add_external_face_data(face_data_source source,
const std::vector<external_face_data> & data) = 0;
130 virtual void add_frame_number(int64_t frame_number) = 0;
138 virtual void add_feature_parameters(
const std::unordered_map<feature_id, std::vector<feature_parameter>> & params) = 0;
141 virtual void add_timestamp_us(
double timestamp_us) = 0;