![]() |
digiKam
|
#include <dnnyolodetector.h>
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) |
DNNYoloDetector (YoloVersions modelVersion=YoloVersions::YOLOV5NANO) | |
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 () |
~DNNYoloDetector () 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 |
DNNModelBase * | model = nullptr |
QList< QString > | predefinedClasses |
float | scaleFactor = 1.0F |
|
explicit |
|
overridedefault |
|
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().
|
virtualinherited |
detectObjects in batch images (fixed batch size).
References Digikam::DNNBaseDetectorModel::postprocess(), and Digikam::DNNBaseDetectorModel::preprocess().
|
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().
|
inherited |
generateObjects in batch images return just the predicted objects without locations of objects using for the assignment tagging names.
References Digikam::DNNBaseDetectorModel::detectObjects().
|
inherited |
Return the input Image Size from Deep NN model.
References Digikam::DNNBaseDetectorModel::inputImageSize.
Referenced by Digikam::AutoTagsAssign::prepareForDetection(), and Digikam::AutoTagsAssign::prepareForDetection().
|
inherited |
References Digikam::DNNBaseDetectorModel::model, and Digikam::DNNModelBase::modelLoaded.
Referenced by Digikam::DNNBaseDetectorModel::preprocess(), and Digikam::DNNBaseDetectorModel::preprocess().
|
virtualinherited |
Get predefined objects according to selected model.
References Digikam::DNNBaseDetectorModel::predefinedClasses.
Referenced by Digikam::AutoTagsAssign::getPredefinedTagsPath().
|
inherited |
References Digikam::DNNModelInfoContainer::classList, Digikam::DNNModelManager::getModel(), Digikam::DNNModelBase::getModelPath(), Digikam::DNNModelBase::info, Digikam::DNNModelManager::instance(), Digikam::DNNBaseDetectorModel::model, and Digikam::DNNModelBase::modelLoaded.
Referenced by Digikam::DNNResnetDetector::DNNResnetDetector(), and DNNYoloDetector().
|
overrideprotectedvirtual |
Implements Digikam::DNNBaseDetectorModel.
References Digikam::DNNModelManager::getModel(), Digikam::DNNModelManager::instance(), Digikam::DNNBaseDetectorModel::model, Digikam::DNNModelBase::modelLoaded, Digikam::RESNET50, Digikam::YOLOV5NANO, and Digikam::YOLOV5XLARGE.
Referenced by DNNYoloDetector().
|
inherited |
References Digikam::DNNBaseDetectorModel::postprocess().
Referenced by Digikam::DNNBaseDetectorModel::detectObjects(), and Digikam::DNNBaseDetectorModel::postprocess().
|
inherited |
References Digikam::DNNBaseDetectorModel::getOutputsNames(), Digikam::DNNBaseDetectorModel::inputImageSize, Digikam::DNNBaseDetectorModel::meanValToSubtract, Digikam::DNNBaseDetectorModel::model, Digikam::DNNModelBase::modelLoaded, Digikam::DNNModelBase::mutex, and Digikam::DNNBaseDetectorModel::scaleFactor.
Referenced by Digikam::DNNBaseDetectorModel::detectObjects().
|
inherited |
References Digikam::DNNBaseDetectorModel::getOutputsNames(), Digikam::DNNBaseDetectorModel::inputImageSize, Digikam::DNNBaseDetectorModel::meanValToSubtract, Digikam::DNNBaseDetectorModel::model, Digikam::DNNModelBase::modelLoaded, Digikam::DNNModelBase::mutex, and Digikam::DNNBaseDetectorModel::scaleFactor.
|
inherited |
References Digikam::DNNBaseDetectorModel::model.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Referenced by Digikam::DNNBaseDetectorModel::getOutputsNames(), Digikam::DNNBaseDetectorModel::loadDetectionClasses(), Digikam::DNNResnetDetector::loadModels(), loadModels(), Digikam::DNNBaseDetectorModel::preprocess(), Digikam::DNNBaseDetectorModel::preprocess(), and Digikam::DNNBaseDetectorModel::showInferenceTime().
|
staticinherited |
Threshold for nms suppression.
|
protectedinherited |
|
protectedinherited |
|
staticinherited |
Threshold for class detection score.
|
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