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

#include <dnnresnetdetector.h>

+ Inheritance diagram for Digikam::DNNResnetDetector:

Public Member Functions

virtual QHash< QString, QVector< QRect > > detectObjects (const cv::Mat &inputImage)
 
virtual QList< QHash< QString, QVector< QRect > > > detectObjects (const std::vector< cv::Mat > &inputBatchImages)
 
 DNNResnetDetector ()
 
QList< QString > generateObjects (const cv::Mat &inputImage)
 
QList< QList< QString > > generateObjects (const std::vector< cv::Mat > &inputImage)
 
cv::Size getinputImageSize () const
 
std::vector< cv::String > getOutputsNames () const
 
virtual QList< QString > getPredefinedClasses () const
 
QList< QString > loadDetectionClasses ()
 
QList< QHash< QString, QVector< QRect > > > postprocess (const std::vector< cv::Mat > &inputBatchImages, const std::vector< cv::Mat > &outs) const
 
std::vector< cv::Mat > preprocess (const cv::Mat &inputImage)
 
std::vector< cv::Mat > preprocess (const std::vector< cv::Mat > &inputBatchImages)
 
double showInferenceTime ()
 
 ~DNNResnetDetector () override=default
 

Static Public Attributes

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

Protected Member Functions

bool loadModels () override
 

Protected Attributes

cv::Size inputImageSize
 
cv::Scalar meanValToSubtract
 
DNNModelBasemodel = nullptr
 
QList< QString > predefinedClasses
 
float scaleFactor = 1.0F
 

Constructor & Destructor Documentation

◆ DNNResnetDetector()

Digikam::DNNResnetDetector::DNNResnetDetector ( )
explicit

◆ ~DNNResnetDetector()

Digikam::DNNResnetDetector::~DNNResnetDetector ( )
overridedefault

Member Function Documentation

◆ detectObjects() [1/2]

virtual QHash< QString, QVector< QRect > > Digikam::DNNBaseDetectorModel::detectObjects ( const cv::Mat &  inputImage)
virtualinherited

detectObjects return the predicted objects and localization as well (if we use deeplearning for object detection like YOLO, etc) otherwise the map whose the key is the objects name and their values are empty.

Referenced by Digikam::DNNBaseDetectorModel::generateObjects(), and Digikam::DNNBaseDetectorModel::generateObjects().

◆ detectObjects() [2/2]

QList< QHash< QString, QVector< QRect > > > Digikam::DNNBaseDetectorModel::detectObjects ( const std::vector< cv::Mat > &  inputBatchImages)
virtualinherited

detectObjects in batch images (fixed batch size).

References Digikam::DNNBaseDetectorModel::postprocess(), and Digikam::DNNBaseDetectorModel::preprocess().

◆ generateObjects() [1/2]

QList< QString > Digikam::DNNBaseDetectorModel::generateObjects ( const cv::Mat &  inputImage)
inherited

generateObjects in one image return just the predicted objects without locations of objects using for the assignment tagging names.

References Digikam::DNNBaseDetectorModel::detectObjects().

Referenced by Digikam::AutoTagsAssign::generateTagsList(), Digikam::AutoTagsAssign::generateTagsList(), Digikam::AutoTagsAssign::generateTagsList(), Digikam::AutoTagsAssign::generateTagsList(), and Digikam::AutoTagsAssign::generateTagsList().

◆ generateObjects() [2/2]

QList< QList< QString > > Digikam::DNNBaseDetectorModel::generateObjects ( const std::vector< cv::Mat > &  inputImage)
inherited

generateObjects in batch images return just the predicted objects without locations of objects using for the assignment tagging names.

References Digikam::DNNBaseDetectorModel::detectObjects().

◆ getinputImageSize()

cv::Size Digikam::DNNBaseDetectorModel::getinputImageSize ( ) const
inherited

◆ getOutputsNames()

std::vector< cv::String > Digikam::DNNBaseDetectorModel::getOutputsNames ( ) const
inherited

◆ getPredefinedClasses()

QList< QString > Digikam::DNNBaseDetectorModel::getPredefinedClasses ( ) const
virtualinherited

Get predefined objects according to selected model.

References Digikam::DNNBaseDetectorModel::predefinedClasses.

Referenced by Digikam::AutoTagsAssign::getPredefinedTagsPath().

◆ loadDetectionClasses()

◆ loadModels()

◆ postprocess()

QList< QHash< QString, QVector< QRect > > > Digikam::DNNBaseDetectorModel::postprocess ( const std::vector< cv::Mat > &  inputBatchImages,
const std::vector< cv::Mat > &  outs 
) const
inherited

◆ preprocess() [1/2]

◆ preprocess() [2/2]

◆ showInferenceTime()

double Digikam::DNNBaseDetectorModel::showInferenceTime ( )
inherited

Member Data Documentation

◆ inputImageSize

cv::Size Digikam::DNNBaseDetectorModel::inputImageSize
protectedinherited

◆ meanValToSubtract

cv::Scalar Digikam::DNNBaseDetectorModel::meanValToSubtract
protectedinherited

◆ model

◆ nmsThreshold

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

Threshold for nms suppression.

◆ predefinedClasses

QList<QString> Digikam::DNNBaseDetectorModel::predefinedClasses
protectedinherited

◆ scaleFactor

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

◆ scoreThreshold

float Digikam::DNNBaseDetectorModel::scoreThreshold = 0.45F
staticinherited

Threshold for class detection score.

◆ uiConfidenceThreshold

int Digikam::DNNBaseDetectorModel::uiConfidenceThreshold = DNN_MODEL_THRESHOLD_NOT_SET
staticinherited

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

setting 1000 will use the value from dnnmodels.conf if passed in


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