Face Engine SDK 5.25.0
A face detection, recognition and tracking engine.
Loading...
Searching...
No Matches
IMedicalMaskEstimator.h
1#pragma once
2
3#pragma once
4
5#include <fsdk/IObject.h>
6#include <fsdk/FSDKError.h>
7#include <fsdk/Optional.h>
8#include <fsdk/Types.h>
9
10namespace fsdk {
11
12#ifndef DOXYGEN_SHOULD_SKIP_THIS
13 DECLARE_SMARTPTR(IMedicalMaskEstimator);
14#endif
15
25 enum class MedicalMask {
26 Mask = 0,
27 NoMask,
29 };
30
36 Mask = 0,
37 NoMask,
40 };
41
55
65
66 // scores
67 float maskScore;
70
71 float scores[static_cast<int>(DetailedMaskType::Count)];
72
78 inline float getScore(DetailedMaskType type) const;
79 };
80
95
109 virtual Result<FSDKError>
110 estimate(const Image& warp, MedicalMaskEstimation& estimation) const noexcept = 0;
111
120 virtual Result<FSDKError>
121 estimate(const Image& warp, MedicalMaskEstimationExtended& estimation) const noexcept = 0;
122
133 const Image& image,
134 const Detection& detection,
135 MedicalMaskEstimation& estimation) const noexcept = 0;
136
147 const Image& image,
148 const Detection& detection,
149 MedicalMaskEstimationExtended& estimation) const noexcept = 0;
150
161 virtual Result<FSDKError>
162 estimate(Span<const Image> warps, Span<MedicalMaskEstimation> estimations) const noexcept = 0;
163
174 virtual Result<FSDKError>
175 estimate(Span<const Image> warps, Span<MedicalMaskEstimationExtended> estimations) const noexcept = 0;
176
189 Span<const Image> images,
190 Span<const Detection> detections,
191 Span<MedicalMaskEstimation> estimations) const noexcept = 0;
192
205 Span<const Image> images,
206 Span<const Detection> detections,
207 Span<MedicalMaskEstimationExtended> estimations) const noexcept = 0;
218 virtual Result<FSDKError>
219 validate(Span<const Image> warps, Span<Result<FSDKError>> errors) const noexcept = 0;
220
233 Span<const Image> images,
234 Span<const Detection> detections,
235 Span<Result<FSDKError>> errors) const noexcept = 0;
236 };
237
238 /*
239 Implementation details.
240 */
242 switch(type) {
249 return scores[static_cast<int>(type)];
250 default:
251 return 0.f;
252 }
253 }
254
256} // namespace fsdk
Span. @detail Not owning data view. It incapsulated pointer to the continuous array with one or more ...
Definition Span.h:14
#define DECLARE_SMARTPTR(X)
Smart ptr declaration helper macro.
Definition Def.h:56
DetailedMaskType
MedicalMask estimator output enum. This enum contains all type of DetailedMaskType results.
Definition IMedicalMaskEstimator.h:46
float getScore(DetailedMaskType type) const
Returns score of required detailed mask type.
Definition IMedicalMaskEstimator.h:241
MedicalMask
MedicalMask estimator output enum. This enum contains all possible estimation results.
Definition IMedicalMaskEstimator.h:25
MedicalMaskExtended
MedicalMask estimator output enum. This enum contains all possible extended estimation results.
Definition IMedicalMaskEstimator.h:35
@ ClearFace
clear face - no mask on the face
@ FullMask
face is covered with a full mask (such as balaclava, sky mask, etc.)
@ MouthCoveredWithMask
mask covers only a mouth
@ PartlyCoveredFace
face is covered with not a medical mask or a full mask
@ ClearFaceWithMaskUnderChin
face with a mask around a chin, not covering anything from mouth to eyes
@ CorrectMask
correct mask on the face (mouth and nose are covered correctly)
@ OccludedFace
face is occluded by something
@ Mask
medical mask is on the face
@ NoMask
no medical mask on the face
@ MaskNotInPlace
mask is not on the right place
@ Count
Total number of occlusion types.
SDK namespace.
Definition IAGSEstimator.h:8
Detection structure. @detail Stores a detected bounding box within a source image rect.
Definition Detection.h:10
MedicalMask estimator interface.
Definition IMedicalMaskEstimator.h:100
virtual Result< FSDKError > estimate(Span< const Image > images, Span< const Detection > detections, Span< MedicalMaskEstimation > estimations) const noexcept=0
Estimate Medical Mask probabilities.
virtual Result< FSDKError > estimate(Span< const Image > images, Span< const Detection > detections, Span< MedicalMaskEstimationExtended > estimations) const noexcept=0
Estimate Medical Mask probabilities.
virtual Result< FSDKError > estimate(Span< const Image > warps, Span< MedicalMaskEstimationExtended > estimations) const noexcept=0
Estimate Medical Mask probabilities.
virtual Result< FSDKError > estimate(const Image &image, const Detection &detection, MedicalMaskEstimationExtended &estimation) const noexcept=0
Estimate MedicalMask probabilities.
virtual Result< FSDKError > validate(Span< const Image > warps, Span< Result< FSDKError > > errors) const noexcept=0
Validate input of multiple frames in a single function call.
virtual Result< FSDKError > validate(Span< const Image > images, Span< const Detection > detections, Span< Result< FSDKError > > errors) const noexcept=0
Validate input of multiple frames in a single function call.
virtual Result< FSDKError > estimate(Span< const Image > warps, Span< MedicalMaskEstimation > estimations) const noexcept=0
Estimate Medical Mask probabilities.
virtual Result< FSDKError > estimate(const Image &warp, MedicalMaskEstimation &estimation) const noexcept=0
Estimate MedicalMask probabilities.
virtual Result< FSDKError > estimate(const Image &warp, MedicalMaskEstimationExtended &estimation) const noexcept=0
Estimate MedicalMask probabilities.
virtual Result< FSDKError > estimate(const Image &image, const Detection &detection, MedicalMaskEstimation &estimation) const noexcept=0
Estimate MedicalMask probabilities.
Base strong reference counted object interface.
Definition IRefCounted.h:37
Image.
Definition Image.h:38
MedicalMask estimator output structure. This structure contains the result of estimation (.
Definition IMedicalMaskEstimator.h:87
float noMaskScore
no medical mask on the face score
Definition IMedicalMaskEstimator.h:91
MedicalMaskExtended result
estimation result (
Definition IMedicalMaskEstimator.h:88
float maskScore
medical mask is on the face score
Definition IMedicalMaskEstimator.h:90
float maskNotInPlace
mask is not on the right place
Definition IMedicalMaskEstimator.h:92
float occludedFaceScore
face is occluded by something score
Definition IMedicalMaskEstimator.h:93
MedicalMask estimator output structure. This structure contains the result of estimation (.
Definition IMedicalMaskEstimator.h:62
DetailedMaskType maskType
detailed type (
Definition IMedicalMaskEstimator.h:64
MedicalMask result
estimation result (
Definition IMedicalMaskEstimator.h:63
float noMaskScore
no medical mask on the face score
Definition IMedicalMaskEstimator.h:68
float occludedFaceScore
face is occluded by something score
Definition IMedicalMaskEstimator.h:69
float maskScore
medical mask is on the face score
Definition IMedicalMaskEstimator.h:67
float scores[static_cast< int >(DetailedMaskType::Count)]
detailed estimation scores
Definition IMedicalMaskEstimator.h:71
A structure that encapsulates an action result enumeration.
Definition Result.h:27