10 #ifndef CFaceDetection_H 11 #define CFaceDetection_H 75 const std::vector<uint32_t>& ignore,
76 unsigned int& falsePositivesDeleted,
unsigned int& realFacesDeleted);
176 const std::vector<float>& xs,
const std::vector<float>& ys,
177 const std::vector<float>& zs);
183 const std::vector<mrpt::math::TPoint3D>&
points);
191 const std::vector<mrpt::math::TPoint3D> regions[9],
202 const size_t& c2,
const size_t& r2,
double regionsTest_sumDistThreshold_bottom
std::thread m_thread_checkIfFacePlaneCov
Thread that execute checkIfFacePlaneCov filter.
double planeTest_eigenVal_top
bool m_end_threads
Indicates to all threads that must finish their execution.
void thread_checkIfDiagonalSurface()
CCascadeClassifierDetection cascadeClassifier
bool saveMeasurementsToFile
bool m_checkIfFaceRegions_res
Save result of checkIfFaceRegions filter.
void debug_returnResults(const std::vector< uint32_t > &falsePositives, const std::vector< uint32_t > &ignore, unsigned int &falsePositivesDeleted, unsigned int &realFacesDeleted)
void experimental_viewFacePointsAndEigenVects(const std::vector< mrpt::math::CArrayDouble< 3 >> &pointsVector, const mrpt::math::CMatrixDouble &eigenVect, const mrpt::math::CVectorDouble &eigenVal)
static void dummy_checkIfDiagonalSurface(CFaceDetection *obj)
std::thread m_thread_checkIfDiagonalSurface
Thread that execute checkIfDiagonalSurface filter.
double planeTest_eigenVal_bottom
CArrayNumeric is an array for numeric types supporting several mathematical operations (actually...
Declares a class derived from "CObservation" that encapsules a 3D range scan measurement, as from a time-of-flight range camera or any other RGBD sensor.
struct mrpt::detectors::CFaceDetection::TTestsOptions m_testsOptions
Column vector, like Eigen::MatrixX*, but automatically initialized to zeros since construction...
std::vector< double > m_meanHist
size_t checkRelativePosition(const mrpt::math::TPoint3D &p1, const mrpt::math::TPoint3D &p2, const mrpt::math::TPoint3D &p, double &dist)
std::vector< CDetectableObject::Ptr > vector_detectable_object
std::promise< void > m_enter_checkIfFacePlaneCov
Indicates to thread_checkIfFacePlaneCov that exist a new face to analyze.
GLsizei GLsizei GLuint * obj
mrpt::obs::CObservation3DRangeScan m_lastFaceDetected
Last face detected.
GLsizei const GLfloat * points
bool useDiagonalDistanceFilter
vector< std::vector< uint32_t > > falsePositives
std::thread m_thread_checkIfFaceRegions
Thread that execute checkIfFaceRegions filter.
std::promise< void > m_leave_checkIfFaceRegions
Indicates to main thread that thread_checkIfFaceRegions has been completed analisis of the last face ...
double regionsTest_sumDistThreshold_top
This class allows loading and storing values and vectors of different types from a configuration text...
int numPossibleFacesDetected
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)
bool checkIfDiagonalSurface2(mrpt::obs::CObservation3DRangeScan *face)
bool checkIfFacePlaneCov(mrpt::obs::CObservation3DRangeScan *face)
bool useSizeDistanceRelationFilter
virtual void init(const mrpt::config::CConfigFileBase &cfg)
Initialize the object with parameters loaded from the given config source.
bool checkIfFaceRegions(mrpt::obs::CObservation3DRangeScan *face)
void thread_checkIfFaceRegions()
void experimental_segmentFace(const mrpt::obs::CObservation3DRangeScan &face, mrpt::math::CMatrixTemplate< bool > ®ion)
std::vector< uint32_t > deletedRegions
bool checkIfDiagonalSurface(mrpt::obs::CObservation3DRangeScan *face)
void thread_checkIfFacePlaneCov()
Specific class for face detection.
std::promise< void > m_leave_checkIfFacePlaneCov
Indicates to main thread that thread_checkIfFacePlaneCov has been completed analisis of the last face...
std::promise< void > m_enter_checkIfDiagonalSurface
Indicates to thread_checkIfDiagonalSurface that exist a new face to analyze.
struct mrpt::detectors::CFaceDetection::TMeasurement m_measure
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
mrpt::math::CVectorDouble meanRegions
mrpt::math::CVectorDouble lessEigenVals
bool checkIfFacePlane(mrpt::obs::CObservation3DRangeScan *face)
A versatile "profiler" that logs the time spent within each pair of calls to enter(X)-leave(X), among other stats.
void experimental_viewFacePointsScanned(const std::vector< float > &xs, const std::vector< float > &ys, const std::vector< float > &zs)
virtual void detectObjects_Impl(const mrpt::obs::CObservation *obs, vector_detectable_object &detected)
Declares a class that represents any robot's observation.
mrpt::system::CTimeLogger m_timeLog
void experimental_showMeasurements()
mrpt::math::CVectorDouble errorEstimations
static void dummy_checkIfFacePlaneCov(CFaceDetection *obj)
std::promise< void > m_leave_checkIfDiagonalSurface
Indicates to main thread that thread_checkIfDiagonalSurface has been completed analisis of the last f...
static void dummy_checkIfFaceRegions(CFaceDetection *obj)
mrpt::math::CVectorDouble sumDistances
std::promise< void > m_enter_checkIfFaceRegions
Indicates to thread_checkIfFaceRegions that exist a new face to analyze.
bool m_checkIfDiagonalSurface_res
Save result of checkIfDiagonalSurface filter.
struct mrpt::detectors::CFaceDetection::TOptions m_options
bool m_checkIfFacePlaneCov_res
Save result of checkIfFacePlaneCov filter.
GLenum GLuint GLint GLenum face
A class for storing images as grayscale or RGB bitmaps.
void experimental_viewRegions(const std::vector< mrpt::math::TPoint3D > regions[9], const mrpt::math::TPoint3D meanPos[3][3])