MRPT  1.9.9
mrpt::detectors::CFaceDetection Class Reference

Detailed Description

Specific class for face detection.

Methods and variables labeled as experimentals are temporals (for debug or testing purposes) and may disappear in future versions.

Definition at line 32 of file CFaceDetection.h.

#include <mrpt/detectors/CFaceDetection.h>

Inheritance diagram for mrpt::detectors::CFaceDetection:
Inheritance graph

Classes

struct  TMeasurement
 
struct  TOptions
 
struct  TTestsOptions
 

Public Member Functions

 CFaceDetection ()
 
 ~CFaceDetection ()
 
virtual void init (const mrpt::config::CConfigFileBase &cfg)
 Initialize the object with parameters loaded from the given config source. More...
 
virtual void detectObjects_Impl (const mrpt::obs::CObservation *obs, vector_detectable_object &detected)
 
void experimental_showMeasurements ()
 
void debug_returnResults (const std::vector< uint32_t > &falsePositives, const std::vector< uint32_t > &ignore, unsigned int &falsePositivesDeleted, unsigned int &realFacesDeleted)
 
void init (const std::string &configFile)
 Initialize the object with parameters loaded from the given config file. More...
 
void detectObjects (const mrpt::obs::CObservation::Ptr obs, vector_detectable_object &detected)
 
void detectObjects (const mrpt::obs::CObservation *obs, vector_detectable_object &detected)
 
void detectObjects (const mrpt::img::CImage *img, vector_detectable_object &detected)
 

Public Attributes

CCascadeClassifierDetection cascadeClassifier
 
struct mrpt::detectors::CFaceDetection::TOptions m_options
 
struct mrpt::detectors::CFaceDetection::TTestsOptions m_testsOptions
 

Private Member Functions

bool checkIfFacePlane (mrpt::obs::CObservation3DRangeScan *face)
 
bool checkIfFacePlaneCov (mrpt::obs::CObservation3DRangeScan *face)
 
void thread_checkIfFacePlaneCov ()
 
bool checkIfFaceRegions (mrpt::obs::CObservation3DRangeScan *face)
 
void thread_checkIfFaceRegions ()
 
size_t checkRelativePosition (const mrpt::math::TPoint3D &p1, const mrpt::math::TPoint3D &p2, const mrpt::math::TPoint3D &p, double &dist)
 
void thread_checkIfDiagonalSurface ()
 
bool checkIfDiagonalSurface (mrpt::obs::CObservation3DRangeScan *face)
 
bool checkIfDiagonalSurface2 (mrpt::obs::CObservation3DRangeScan *face)
 
void experimental_viewFacePointsScanned (const std::vector< float > &xs, const std::vector< float > &ys, const std::vector< float > &zs)
 
void experimental_viewFacePointsScanned (const mrpt::obs::CObservation3DRangeScan &face)
 
void experimental_viewFacePointsScanned (const std::vector< mrpt::math::TPoint3D > &points)
 
void experimental_viewFacePointsAndEigenVects (const std::vector< mrpt::math::CArrayDouble< 3 >> &pointsVector, const mrpt::math::CMatrixDouble &eigenVect, const mrpt::math::CVectorDouble &eigenVal)
 
void experimental_viewRegions (const std::vector< mrpt::math::TPoint3D > regions[9], const mrpt::math::TPoint3D meanPos[3][3])
 
void experimental_segmentFace (const mrpt::obs::CObservation3DRangeScan &face, mrpt::math::CMatrixTemplate< bool > &region)
 
void experimental_calcHist (const mrpt::img::CImage &face, const size_t &c1, const size_t &r1, const size_t &c2, const size_t &r2, mrpt::math::CMatrixTemplate< unsigned int > &hist)
 

Static Private Member Functions

static void dummy_checkIfFacePlaneCov (CFaceDetection *obj)
 
static void dummy_checkIfFaceRegions (CFaceDetection *obj)
 
static void dummy_checkIfDiagonalSurface (CFaceDetection *obj)
 

Private Attributes

std::thread m_thread_checkIfFaceRegions
 Thread that execute checkIfFaceRegions filter. More...
 
std::thread m_thread_checkIfFacePlaneCov
 Thread that execute checkIfFacePlaneCov filter. More...
 
std::thread m_thread_checkIfDiagonalSurface
 Thread that execute checkIfDiagonalSurface filter. More...
 
bool m_checkIfFaceRegions_res
 Save result of checkIfFaceRegions filter. More...
 
bool m_checkIfFacePlaneCov_res
 Save result of checkIfFacePlaneCov filter. More...
 
bool m_checkIfDiagonalSurface_res
 Save result of checkIfDiagonalSurface filter. More...
 
bool m_end_threads
 Indicates to all threads that must finish their execution. More...
 
std::promise< voidm_enter_checkIfFaceRegions
 Indicates to thread_checkIfFaceRegions that exist a new face to analyze. More...
 
std::promise< voidm_enter_checkIfFacePlaneCov
 Indicates to thread_checkIfFacePlaneCov that exist a new face to analyze. More...
 
std::promise< voidm_enter_checkIfDiagonalSurface
 Indicates to thread_checkIfDiagonalSurface that exist a new face to analyze. More...
 
std::promise< voidm_leave_checkIfFaceRegions
 Indicates to main thread that thread_checkIfFaceRegions has been completed analisis of the last face detected. More...
 
std::promise< voidm_leave_checkIfFacePlaneCov
 Indicates to main thread that thread_checkIfFacePlaneCov has been completed analisis of the last face detected. More...
 
std::promise< voidm_leave_checkIfDiagonalSurface
 Indicates to main thread that thread_checkIfDiagonalSurface has been completed analisis of the last face detected. More...
 
mrpt::obs::CObservation3DRangeScan m_lastFaceDetected
 Last face detected. More...
 
struct mrpt::detectors::CFaceDetection::TMeasurement m_measure
 
mrpt::system::CTimeLogger m_timeLog
 
std::vector< double > m_meanHist
 

Constructor & Destructor Documentation

◆ CFaceDetection()

◆ ~CFaceDetection()

Member Function Documentation

◆ checkIfDiagonalSurface()

◆ checkIfDiagonalSurface2()

◆ checkIfFacePlane()

◆ checkIfFacePlaneCov()

◆ checkIfFaceRegions()

◆ checkRelativePosition()

size_t CFaceDetection::checkRelativePosition ( const mrpt::math::TPoint3D p1,
const mrpt::math::TPoint3D p2,
const mrpt::math::TPoint3D p,
double &  dist 
)
private

Definition at line 801 of file CFaceDetection.cpp.

References mrpt::math::TPoint3D::x, and mrpt::math::TPoint3D::y.

Referenced by checkIfFaceRegions().

◆ debug_returnResults()

void CFaceDetection::debug_returnResults ( const std::vector< uint32_t > &  falsePositives,
const std::vector< uint32_t > &  ignore,
unsigned int &  falsePositivesDeleted,
unsigned int &  realFacesDeleted 
)

◆ detectObjects() [1/3]

void mrpt::detectors::CObjectDetection::detectObjects ( const mrpt::obs::CObservation::Ptr  obs,
vector_detectable_object detected 
)
inlineinherited

◆ detectObjects() [2/3]

void mrpt::detectors::CObjectDetection::detectObjects ( const mrpt::obs::CObservation obs,
vector_detectable_object detected 
)
inlineinherited

◆ detectObjects() [3/3]

◆ detectObjects_Impl()

void CFaceDetection::detectObjects_Impl ( const mrpt::obs::CObservation obs,
vector_detectable_object detected 
)
virtual

◆ dummy_checkIfDiagonalSurface()

void CFaceDetection::dummy_checkIfDiagonalSurface ( CFaceDetection obj)
staticprivate

Definition at line 833 of file CFaceDetection.cpp.

Referenced by init().

◆ dummy_checkIfFacePlaneCov()

void CFaceDetection::dummy_checkIfFacePlaneCov ( CFaceDetection obj)
staticprivate

Definition at line 353 of file CFaceDetection.cpp.

Referenced by init().

◆ dummy_checkIfFaceRegions()

void CFaceDetection::dummy_checkIfFaceRegions ( CFaceDetection obj)
staticprivate

Definition at line 481 of file CFaceDetection.cpp.

Referenced by init().

◆ experimental_calcHist()

void CFaceDetection::experimental_calcHist ( const mrpt::img::CImage face,
const size_t &  c1,
const size_t &  r1,
const size_t &  c2,
const size_t &  r2,
mrpt::math::CMatrixTemplate< unsigned int > &  hist 
)
private

◆ experimental_segmentFace()

◆ experimental_showMeasurements()

◆ experimental_viewFacePointsAndEigenVects()

◆ experimental_viewFacePointsScanned() [1/3]

◆ experimental_viewFacePointsScanned() [2/3]

void CFaceDetection::experimental_viewFacePointsScanned ( const mrpt::obs::CObservation3DRangeScan face)
private

Definition at line 1349 of file CFaceDetection.cpp.

References experimental_viewFacePointsScanned().

◆ experimental_viewFacePointsScanned() [3/3]

void CFaceDetection::experimental_viewFacePointsScanned ( const std::vector< mrpt::math::TPoint3D > &  points)
private

Definition at line 1374 of file CFaceDetection.cpp.

References experimental_viewFacePointsScanned().

◆ experimental_viewRegions()

◆ init() [1/2]

void mrpt::detectors::CObjectDetection::init ( const std::string configFile)
inlineinherited

Initialize the object with parameters loaded from the given config file.

Definition at line 27 of file CObjectDetection.h.

◆ init() [2/2]

void CFaceDetection::init ( const mrpt::config::CConfigFileBase cfg)
virtual

Initialize the object with parameters loaded from the given config source.

Implements mrpt::detectors::CObjectDetection.

Definition at line 78 of file CFaceDetection.cpp.

References cascadeClassifier, mrpt::detectors::CFaceDetection::TOptions::confidenceThreshold, dummy_checkIfDiagonalSurface(), dummy_checkIfFacePlaneCov(), dummy_checkIfFaceRegions(), mrpt::detectors::CCascadeClassifierDetection::init(), m_checkIfDiagonalSurface_res, m_checkIfFacePlaneCov_res, m_checkIfFaceRegions_res, m_measure, m_options, m_testsOptions, m_thread_checkIfDiagonalSurface, m_thread_checkIfFacePlaneCov, m_thread_checkIfFaceRegions, mrpt::detectors::CFaceDetection::TOptions::multithread, mrpt::detectors::CFaceDetection::TTestsOptions::planeTest_eigenVal_bottom, mrpt::detectors::CFaceDetection::TTestsOptions::planeTest_eigenVal_top, mrpt::detectors::CFaceDetection::TTestsOptions::planeThreshold, mrpt::config::CConfigFileBase::read_bool(), mrpt::config::CConfigFileBase::read_double(), mrpt::config::CConfigFileBase::read_int(), mrpt::detectors::CFaceDetection::TTestsOptions::regionsTest_sumDistThreshold_bottom, mrpt::detectors::CFaceDetection::TTestsOptions::regionsTest_sumDistThreshold_top, mrpt::detectors::CFaceDetection::TMeasurement::saveMeasurementsToFile, mrpt::detectors::CFaceDetection::TMeasurement::takeMeasures, mrpt::detectors::CFaceDetection::TMeasurement::takeTime, mrpt::detectors::CFaceDetection::TOptions::useCovFilter, mrpt::detectors::CFaceDetection::TOptions::useDiagonalDistanceFilter, mrpt::detectors::CFaceDetection::TOptions::useRegionsFilter, and mrpt::detectors::CFaceDetection::TOptions::useSizeDistanceRelationFilter.

◆ thread_checkIfDiagonalSurface()

void CFaceDetection::thread_checkIfDiagonalSurface ( )
private

◆ thread_checkIfFacePlaneCov()

void CFaceDetection::thread_checkIfFacePlaneCov ( )
private

◆ thread_checkIfFaceRegions()

void CFaceDetection::thread_checkIfFaceRegions ( )
private

Member Data Documentation

◆ cascadeClassifier

CCascadeClassifierDetection mrpt::detectors::CFaceDetection::cascadeClassifier

Definition at line 35 of file CFaceDetection.h.

Referenced by detectObjects_Impl(), and init().

◆ m_checkIfDiagonalSurface_res

bool mrpt::detectors::CFaceDetection::m_checkIfDiagonalSurface_res
private

Save result of checkIfDiagonalSurface filter.

Definition at line 91 of file CFaceDetection.h.

Referenced by detectObjects_Impl(), init(), and thread_checkIfDiagonalSurface().

◆ m_checkIfFacePlaneCov_res

bool mrpt::detectors::CFaceDetection::m_checkIfFacePlaneCov_res
private

Save result of checkIfFacePlaneCov filter.

Definition at line 89 of file CFaceDetection.h.

Referenced by detectObjects_Impl(), init(), and thread_checkIfFacePlaneCov().

◆ m_checkIfFaceRegions_res

bool mrpt::detectors::CFaceDetection::m_checkIfFaceRegions_res
private

Save result of checkIfFaceRegions filter.

Definition at line 87 of file CFaceDetection.h.

Referenced by detectObjects_Impl(), init(), and thread_checkIfFaceRegions().

◆ m_end_threads

bool mrpt::detectors::CFaceDetection::m_end_threads
private

Indicates to all threads that must finish their execution.

Definition at line 94 of file CFaceDetection.h.

Referenced by thread_checkIfDiagonalSurface(), thread_checkIfFacePlaneCov(), thread_checkIfFaceRegions(), and ~CFaceDetection().

◆ m_enter_checkIfDiagonalSurface

std::promise<void> mrpt::detectors::CFaceDetection::m_enter_checkIfDiagonalSurface
private

Indicates to thread_checkIfDiagonalSurface that exist a new face to analyze.

Definition at line 104 of file CFaceDetection.h.

Referenced by detectObjects_Impl(), thread_checkIfDiagonalSurface(), and ~CFaceDetection().

◆ m_enter_checkIfFacePlaneCov

std::promise<void> mrpt::detectors::CFaceDetection::m_enter_checkIfFacePlaneCov
private

Indicates to thread_checkIfFacePlaneCov that exist a new face to analyze.

Definition at line 101 of file CFaceDetection.h.

Referenced by detectObjects_Impl(), thread_checkIfFacePlaneCov(), and ~CFaceDetection().

◆ m_enter_checkIfFaceRegions

std::promise<void> mrpt::detectors::CFaceDetection::m_enter_checkIfFaceRegions
private

Indicates to thread_checkIfFaceRegions that exist a new face to analyze.

Definition at line 98 of file CFaceDetection.h.

Referenced by detectObjects_Impl(), thread_checkIfFaceRegions(), and ~CFaceDetection().

◆ m_lastFaceDetected

mrpt::obs::CObservation3DRangeScan mrpt::detectors::CFaceDetection::m_lastFaceDetected
private

◆ m_leave_checkIfDiagonalSurface

std::promise<void> mrpt::detectors::CFaceDetection::m_leave_checkIfDiagonalSurface
private

Indicates to main thread that thread_checkIfDiagonalSurface has been completed analisis of the last face detected.

Definition at line 114 of file CFaceDetection.h.

Referenced by detectObjects_Impl(), and thread_checkIfDiagonalSurface().

◆ m_leave_checkIfFacePlaneCov

std::promise<void> mrpt::detectors::CFaceDetection::m_leave_checkIfFacePlaneCov
private

Indicates to main thread that thread_checkIfFacePlaneCov has been completed analisis of the last face detected.

Definition at line 111 of file CFaceDetection.h.

Referenced by detectObjects_Impl(), and thread_checkIfFacePlaneCov().

◆ m_leave_checkIfFaceRegions

std::promise<void> mrpt::detectors::CFaceDetection::m_leave_checkIfFaceRegions
private

Indicates to main thread that thread_checkIfFaceRegions has been completed analisis of the last face detected.

Definition at line 108 of file CFaceDetection.h.

Referenced by detectObjects_Impl(), and thread_checkIfFaceRegions().

◆ m_meanHist

std::vector<double> mrpt::detectors::CFaceDetection::m_meanHist
private

Definition at line 143 of file CFaceDetection.h.

Referenced by experimental_showMeasurements().

◆ m_measure

◆ m_options

◆ m_testsOptions

struct mrpt::detectors::CFaceDetection::TTestsOptions mrpt::detectors::CFaceDetection::m_testsOptions

Referenced by checkIfFacePlane(), and init().

◆ m_thread_checkIfDiagonalSurface

std::thread mrpt::detectors::CFaceDetection::m_thread_checkIfDiagonalSurface
private

Thread that execute checkIfDiagonalSurface filter.

Definition at line 84 of file CFaceDetection.h.

Referenced by init(), and ~CFaceDetection().

◆ m_thread_checkIfFacePlaneCov

std::thread mrpt::detectors::CFaceDetection::m_thread_checkIfFacePlaneCov
private

Thread that execute checkIfFacePlaneCov filter.

Definition at line 82 of file CFaceDetection.h.

Referenced by init(), and ~CFaceDetection().

◆ m_thread_checkIfFaceRegions

std::thread mrpt::detectors::CFaceDetection::m_thread_checkIfFaceRegions
private

Thread that execute checkIfFaceRegions filter.

Definition at line 80 of file CFaceDetection.h.

Referenced by init(), and ~CFaceDetection().

◆ m_timeLog




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020