digiKam
Loading...
Searching...
No Matches
Digikam::DNNFaceDetectorSSD Class Reference

#include <dnnfacedetectorssd.h>

+ Inheritance diagram for Digikam::DNNFaceDetectorSSD:

Public Member Functions

void detectFaces (const cv::Mat &inputImage, const cv::Size &paddedSize, std::vector< cv::Rect > &detectedBboxes) override
 
 DNNFaceDetectorSSD ()
 
bool loadModels ()
 
cv::Size nnInputSizeRequired () const
 
virtual void setFaceDetectionSize (FaceScanSettings::FaceDetectionSize faceSize)
 
 ~DNNFaceDetectorSSD () override=default
 

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
 

Constructor & Destructor Documentation

◆ DNNFaceDetectorSSD()

Digikam::DNNFaceDetectorSSD::DNNFaceDetectorSSD ( )
explicit

References loadModels().

◆ ~DNNFaceDetectorSSD()

Digikam::DNNFaceDetectorSSD::~DNNFaceDetectorSSD ( )
overridedefault

Member Function Documentation

◆ correctBbox()

void Digikam::DNNFaceDetectorBase::correctBbox ( cv::Rect &  bbox,
const cv::Size &  paddedSize 
) const
protectedinherited

◆ detectFaces()

void Digikam::DNNFaceDetectorSSD::detectFaces ( const cv::Mat &  inputImage,
const cv::Size &  paddedSize,
std::vector< cv::Rect > &  detectedBboxes 
)
overridevirtual

◆ loadModels()

◆ nnInputSizeRequired()

cv::Size Digikam::DNNFaceDetectorBase::nnInputSizeRequired ( ) const
inherited

◆ 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
protectedinherited

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.

References Digikam::DNNFaceDetectorBase::inputImageSize.

◆ setFaceDetectionSize()

virtual void Digikam::DNNFaceDetectorBase::setFaceDetectionSize ( FaceScanSettings::FaceDetectionSize  faceSize)
inlinevirtualinherited

Member Data Documentation

◆ inputImageSize

◆ meanValToSubtract

cv::Scalar Digikam::DNNFaceDetectorBase::meanValToSubtract = cv::Scalar(0.0, 0.0, 0.0)
protectedinherited

◆ model

◆ nmsThreshold

float Digikam::DNNFaceDetectorBase::nmsThreshold = 0.4F
staticinherited

Threshold for nms suppression.

◆ scaleFactor

float Digikam::DNNFaceDetectorBase::scaleFactor = 1.0F
protectedinherited

◆ uiConfidenceThreshold

int Digikam::DNNFaceDetectorBase::uiConfidenceThreshold = DNN_MODEL_THRESHOLD_NOT_SET
staticinherited

Threshold for bbox detection. It can be init and changed in the GUI.

Referenced by Digikam::OpenCVDNNFaceDetector::setAccuracy().


The documentation for this class was generated from the following files: