Face Engine SDK
5.25.0
A face detection, recognition and tracking engine.
|
00001 00008 #pragma once 00009 00010 #include <fsdk/FSDKError.h> 00011 #include <fsdk/IObject.h> 00012 #include <fsdk/Types.h> 00013 #include <fsdk/IFaceLandmarksBatch.h> 00014 00015 #include <fsdk/vlc/future.h> 00016 00017 namespace fsdk { 00018 00019 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00020 DECLARE_SMARTPTR(IFaceLandmarksDetector); 00021 #endif 00022 00023 struct IFaceLandmarksDetector : IRefCounted { 00024 00037 virtual ResultValue<FSDKError, Ref<IFaceLandmarksBatch>> 00038 detectLandmarks5(Span<const Image> images, Span<Span<const Detection>> detections) const noexcept = 0; 00039 00052 virtual ResultValue<FSDKError, Ref<IFaceLandmarksBatch>> 00053 detectLandmarks68(Span<const Image> images, Span<Span<const Detection>> detections) const noexcept = 0; 00054 00068 virtual Result<FSDKError> validate( 00069 Span<const Image> images, 00070 Span<Span<const Detection>> detections, 00071 Span<Span<Result<FSDKError>>> errors) const noexcept = 0; 00072 00085 virtual Result<FSDKError> detectLandmarks5( 00086 const Image& image, 00087 Span<const Detection> detections, 00088 Span<Landmarks5> landmarks) const noexcept = 0; 00089 00102 virtual Result<FSDKError> detectLandmarks68( 00103 const Image& image, 00104 Span<const Detection> detections, 00105 Span<Landmarks68> landmarks) const noexcept = 0; 00106 00118 virtual Result<FSDKError> validate( 00119 const Image& images, 00120 Span<const Detection> detections, 00121 Span<Result<FSDKError>> errors) const noexcept = 0; 00122 00136 virtual Result<FSDKError> validate( 00137 Span<const Image> images, 00138 Span<Span<const Detection>> detections, 00139 DetectionType detectionType, 00140 Span<Span<Result<FSDKError>>> errors) const noexcept = 0; 00141 00145 using FaceLandmarksBatchFuture = vlc::future<IFaceLandmarksBatchPtr>; 00146 00161 virtual FaceLandmarksBatchFuture detectLandmarksAsync( 00162 Span<const Image> images, 00163 Span<Span<const Detection>> detections, 00164 DetectionType detectionType) const = 0; 00165 }; 00166 00169 } // namespace fsdk