digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
Loading...
Searching...
No Matches
Digikam::DNNFaceDetectorBase Class Referenceabstract
+ Inheritance diagram for Digikam::DNNFaceDetectorBase:

Public Member Functions

 DNNFaceDetectorBase (float scale, const cv::Scalar &val, const cv::Size &inputImgSize)
 
virtual void detectFaces (const cv::Mat &inputImage, const cv::Size &paddedSize, std::vector< cv::Rect > &detectedBboxes)=0
 
cv::Size nnInputSizeRequired () const
 
virtual void setFaceDetectionSize (FaceScanSettings::FaceDetectionSize faceSize)
 

Static Public Attributes

static float nmsThreshold = 0.4F
 Threshold for nms suppression.
 
static int uiConfidenceThreshold = DNN_MODEL_THRESHOLD_NOT_SET
 Threshold for bbox detection. It can be init and changed in the GUI.
 

Protected Member Functions

void correctBbox (cv::Rect &bbox, const cv::Size &paddedSize) const
 
void selectBbox (const cv::Size &paddedSize, float confidence, int left, int right, int top, int bottom, std::vector< float > &goodConfidences, std::vector< cv::Rect > &goodBoxes, std::vector< float > &doubtConfidences, std::vector< cv::Rect > &doubtBoxes) const
 

Protected Attributes

cv::Size inputImageSize = cv::Size(300, 300)
 
cv::Scalar meanValToSubtract = cv::Scalar(0.0, 0.0, 0.0)
 
DNNModelBasemodel = nullptr
 
float scaleFactor = 1.0F
 

Member Function Documentation

◆ selectBbox()

void Digikam::DNNFaceDetectorBase::selectBbox ( const cv::Size &  paddedSize,
float  confidence,
int  left,
int  right,
int  top,
int  bottom,
std::vector< float > &  goodConfidences,
std::vector< cv::Rect > &  goodBoxes,
std::vector< float > &  doubtConfidences,
std::vector< cv::Rect > &  doubtBoxes 
) const
protected

Classify bounding boxes detected. Good bounding boxes are defined as boxes that reside within the non-padded zone or those that are out only for min of (10% of padded range, 10% of bbox dim).

Bad bounding boxes are defined as boxes that have at maximum 25% of each dimension out of non-padded zone.