9 #include <face_sdk_base/license.h> 10 #include <face_sdk_base/video_stream.h> 11 #include <face_sdk_alignment/alignment.h> 12 #include <face_sdk_face_detector/face_detector.h> 13 #include <face_sdk_tracker/face_recognition.h> 14 #include <face_sdk_tracker/face_sdk_track.h> 40 const std::shared_ptr<face_sdk::video_stream> &stream,
41 const std::shared_ptr<face_sdk::track> &
track,
42 const std::shared_ptr<face_sdk::video_frame> &frame,
43 const std::shared_ptr<face_sdk::face> &
face) = 0;
51 const std::shared_ptr<face_sdk::video_stream> &stream,
52 const std::shared_ptr<face_sdk::track> &
track) = 0;
62 const std::shared_ptr<face_sdk::video_stream> &stream,
63 const std::shared_ptr<face_sdk::track> &
track,
64 const std::shared_ptr<face_sdk::video_frame> &frame,
65 const std::shared_ptr<face_sdk::face> &
face) = 0;
75 const std::shared_ptr<face_sdk::video_stream> &stream,
76 const std::shared_ptr<face_sdk::track> &
track,
77 const std::shared_ptr<face_sdk::video_frame> &frame,
78 const std::shared_ptr<face_sdk::face> &
face) = 0;
88 const std::shared_ptr<face_sdk::video_stream> &stream,
89 const std::shared_ptr<face_sdk::video_frame> &frame) = 0;
99 std::shared_ptr<itracker_events> events_handler;
100 std::shared_ptr<face_sdk::license>
license;
101 std::shared_ptr<face_sdk::face_detector> detector;
102 std::shared_ptr<face_sdk::alignment>
alignment;
104 float detector_confidence;
105 uint32_t frame_frequency;
106 float rigid_threshold;
107 uint32_t min_detected_scale;
109 uint64_t max_track_length;
110 int32_t compute_device;
113 const std::shared_ptr<itracker_events> &_events_handler,
114 const std::shared_ptr<face_sdk::license> &_license,
115 const std::shared_ptr<face_sdk::face_detector> &_detector,
116 const std::shared_ptr<face_sdk::alignment> &_alignment,
117 const std::shared_ptr<face_sdk::face_recognition> &_face_recognition,
118 float _detector_confidence,
119 uint32_t _frame_frequency,
120 float _rigid_threshold,
121 uint32_t _min_detected_scale,
123 uint64_t _max_track_length = 20,
124 int32_t _compute_device = -1
127 , events_handler(_events_handler)
129 , detector(_detector)
132 , detector_confidence(_detector_confidence)
133 , frame_frequency(_frame_frequency)
134 , rigid_threshold(_rigid_threshold)
135 , min_detected_scale(_min_detected_scale)
137 , max_track_length(_max_track_length)
138 , compute_device(_compute_device)
169 virtual std::shared_ptr<face_sdk::video_stream>
make_stream(uint32_t stream_id) = 0;
177 virtual void free_stream(
const std::shared_ptr<face_sdk::video_stream> &stream) = 0;
187 virtual uint32_t
version()
const = 0;
The class is a track of a person. The class contains a vector of face_sdk::track_item.
Definition: face_sdk_track.h:28
std::shared_ptr< tracker > make_tracker(const tracker_config &config)
Makes the face_sdk::tracker object with specified configuration.
virtual std::shared_ptr< face_sdk::video_stream > make_stream(uint32_t stream_id)=0
The function makes a video stream.
virtual void commit_frames() noexcept=0
The function processes all pushed frames. All events will be raised.
virtual void on_track_disappeared(const std::shared_ptr< face_sdk::video_stream > &stream, const std::shared_ptr< face_sdk::track > &track)=0
Raises when a person is lost in the stream.
virtual void on_frame_process_error(const face_sdk::exception &exc, const std::shared_ptr< face_sdk::video_stream > &stream, const std::shared_ptr< face_sdk::video_frame > &frame)=0
Raises when failed to process frame in stream.
virtual void on_track_appeared(const std::shared_ptr< face_sdk::video_stream > &stream, const std::shared_ptr< face_sdk::track > &track, const std::shared_ptr< face_sdk::video_frame > &frame, const std::shared_ptr< face_sdk::face > &face)=0
Raises when a person has appeared in the stream.
Tracker object tracks persons in the video stream and collects faces of the same person in one track...
Definition: face_sdk_tracker.h:157
The face object. Face object contains information about face bounding box on the image and the origin...
Definition: face.h:37
Definition: alignment_info.h:8
virtual void on_track_best_frame(const std::shared_ptr< face_sdk::video_stream > &stream, const std::shared_ptr< face_sdk::track > &track, const std::shared_ptr< face_sdk::video_frame > &frame, const std::shared_ptr< face_sdk::face > &face)=0
Raises when the track object find new best face.
virtual uint32_t version() const =0
Algorithm version. See Face Tracker versions.
virtual void free_stream(const std::shared_ptr< face_sdk::video_stream > &stream)=0
The function releases stream from tracker object.
Base FaceSDK exception class. Almost all exceptions that FaceSDK throws are inherits this class...
Definition: exception.h:56
virtual void on_track_updated(const std::shared_ptr< face_sdk::video_stream > &stream, const std::shared_ptr< face_sdk::track > &track, const std::shared_ptr< face_sdk::video_frame > &frame, const std::shared_ptr< face_sdk::face > &face)=0
Raises when the track object has updated.
The license object. A license object provides information about your limits in face_sdk. See Licensing.
Definition: license.h:26
Alignment operation prepares images for further FIR building and age and gender classification.
Definition: alignment.h:30
Callback-interface for handling tracker events.
Definition: face_sdk_tracker.h:27
Class used by tracker class to get the score of the face.
Definition: face_recognition.h:21
Structure with parameters for the tracker object used in face_sdk::make_tracker() function...
Definition: face_sdk_tracker.h:96