#pragma once #include #include #include #include #include "frame/frame.h" namespace rk3588 { struct Point2f { float x = 0.0f; float y = 0.0f; }; struct FaceDetItem { Rect bbox{}; // x,y,w,h in image coordinates float score = 0.0f; bool has_landmarks = false; std::array landmarks{}; // left_eye, right_eye, nose, left_mouth, right_mouth int track_id = -1; }; struct FaceDetResult { std::vector faces; int img_w = 0; int img_h = 0; std::string model_name; }; struct FaceRecogItem { Rect bbox{}; int best_person_id = -1; std::string best_name; float best_sim = 0.0f; bool unknown = true; float second_sim = 0.0f; bool has_landmarks = false; std::array landmarks{}; // Optional; filled only when emit_embedding=true. std::vector embedding; }; struct FaceRecogResult { std::vector items; int img_w = 0; int img_h = 0; std::string model_name; }; } // namespace rk3588