15 #include <unordered_map> 47 kRelativeDocumentSizeLowerThan10Percent,
48 kDocumentBordersOutsideOfFrame,
50 kMultipleDocumentsInFrame,
70 float quality_score = 0;
75 Value(
float liveness_probability,
float liveness_score,
float quality_score,
76 std::vector<ImageQualityWarning> image_quality_warnings = {})
77 : liveness_probability(liveness_probability),
78 liveness_score(liveness_score),
79 quality_score(quality_score),
80 image_quality_warnings(std::move(image_quality_warnings)) {}
83 os <<
"LivenessPipelineResult::Value[" 86 <<
", image_quality_warnings: [ ";
112 throw std::runtime_error(
"LivenessPipelineResult: value is not available, because status code is not kOk");
128 bool Ok() const noexcept {
133 os <<
"LivenessPipelineResult[ status: " <<
static_cast<int>(result.status_code) <<
", value: ";
172 os <<
"LivenessCheckOptions[ calibration: " <<
static_cast<int>(options.
calibration) <<
" ]";
182 using Ptr = std::shared_ptr<LivenessPipeline>;
191 static Ptr Create(
const std::string& path_to_config);
223 using Ptr = std::shared_ptr<LivenessPipelineComposition>;
232 static Ptr Create(
const std::vector<std::string>& paths_to_configs);
243 virtual std::unordered_map<std::string, LivenessPipelineResult> CheckLiveness(
244 Image::Ptr image,
const std::unordered_map<std::string, LivenessCheckOptions>& options = {})
const = 0;
246 virtual ~LivenessPipelineComposition() noexcept = default;
bool Ok() const noexcept
Definition: liveness_pipeline.h:128
friend std::ostream & operator<<(std::ostream &os, const Value &result)
Definition: liveness_pipeline.h:82
std::vector< ImageQualityWarning > image_quality_warnings
Definition: liveness_pipeline.h:72
#define DOCSDK_API
Definition: config.h:24
Calibration
Score/threshold calibration to be used.
Definition: liveness_pipeline.h:155
std::shared_ptr< Image > Ptr
Definition: image.h:22
Document liveness checking pipeline composition.
Definition: liveness_pipeline.h:221
std::shared_ptr< LivenessPipeline > Ptr
Definition: liveness_pipeline.h:182
friend std::ostream & operator<<(std::ostream &os, const LivenessCheckOptions &options)
Definition: liveness_pipeline.h:171
LivenessPipelineResult(Value value)
Definition: liveness_pipeline.h:100
LivenessPipelineResult()=default
std::shared_ptr< LivenessPipelineComposition > Ptr
Definition: liveness_pipeline.h:223
Document liveness checking pipeline.
Definition: liveness_pipeline.h:180
Liveness pipeline result.
Definition: liveness_pipeline.h:25
Document liveness check result.
Definition: liveness_pipeline.h:62
ImageQualityWarning
Image quality warning (image quality check is performed along with liveness check) ...
Definition: liveness_pipeline.h:46
Value(float liveness_probability, float liveness_score, float quality_score, std::vector< ImageQualityWarning > image_quality_warnings={})
Definition: liveness_pipeline.h:75
float liveness_probability
Definition: liveness_pipeline.h:63
float quality_score
Image quality checking score.
Definition: liveness_pipeline.h:70
std::vector< LivenessPipelineResult::ValidationStatusCode > errors_to_ignore
Defines which validation errors should be ignored during the liveness check.
Definition: liveness_pipeline.h:164
const ValidationStatusCode & GetStatusCode() const noexcept
Definition: liveness_pipeline.h:120
LivenessPipelineResult(ValidationStatusCode status_code)
Definition: liveness_pipeline.h:99
const Value & GetValue() const
Definition: liveness_pipeline.h:108
friend std::ostream & operator<<(std::ostream &os, const LivenessPipelineResult &result)
Definition: liveness_pipeline.h:132
Configurable options used for document liveness check.
Definition: liveness_pipeline.h:151
ValidationStatusCode
Image validation status code (image validation is performed beforehand each liveness check) ...
Definition: liveness_pipeline.h:29
Calibration calibration
Score/threshold calibration to be used for document liveness check.
Definition: liveness_pipeline.h:169
float liveness_score
Definition: liveness_pipeline.h:64