Classes | Public Types | Public Member Functions | Public Attributes | Private Member Functions | List of all members
people::FaceDetector Class Reference

Classes

struct  NullDeleter
 Position message callback. More...
 
struct  RestampedPositionMeasurement
 

Public Types

typedef message_filters::sync_policies::ApproximateTime< sensor_msgs::Image, sensor_msgs::Image, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo > ApproximateDepthPolicy
 
typedef message_filters::Synchronizer< ApproximateDepthPolicyApproximateDepthSync
 
typedef message_filters::sync_policies::ApproximateTime< sensor_msgs::Image, stereo_msgs::DisparityImage, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo > ApproximateDispPolicy
 
typedef message_filters::Synchronizer< ApproximateDispPolicyApproximateDispSync
 
typedef message_filters::sync_policies::ExactTime< sensor_msgs::Image, sensor_msgs::Image, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo > ExactDepthPolicy
 
typedef message_filters::Synchronizer< ExactDepthPolicyExactDepthSync
 
typedef message_filters::sync_policies::ExactTime< sensor_msgs::Image, stereo_msgs::DisparityImage, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo > ExactDispPolicy
 
typedef message_filters::Synchronizer< ExactDispPolicyExactDispSync
 

Public Member Functions

void connectCb ()
 
 FaceDetector (std::string name)
 
void goalCB ()
 
void imageCBAllDepth (const sensor_msgs::Image::ConstPtr &image, const sensor_msgs::Image::ConstPtr &depth_image, const sensor_msgs::CameraInfo::ConstPtr &c1_info, const sensor_msgs::CameraInfo::ConstPtr &c2_info)
 Image callback for synced messages. More...
 
void imageCBAllDisp (const sensor_msgs::Image::ConstPtr &image, const stereo_msgs::DisparityImage::ConstPtr &disp_image, const sensor_msgs::CameraInfo::ConstPtr &c1_info, const sensor_msgs::CameraInfo::ConstPtr &c2_info)
 Image callback for synced messages. More...
 
void preemptCB ()
 
 ~FaceDetector ()
 

Public Attributes

boost::shared_ptr< ApproximateDepthSyncapproximate_depth_sync_
 
boost::shared_ptr< ApproximateDispSyncapproximate_disp_sync_
 
actionlib::SimpleActionServer< face_detector::FaceDetectorAction > as_
 
const double BIGDIST_M
 
message_filters::Subscriber< sensor_msgs::CameraInfo > c1_info_sub_
 
message_filters::Subscriber< sensor_msgs::CameraInfo > c2_info_sub_
 
image_geometry::StereoCameraModel cam_model_
 
string camera_
 
string camera_info_topic_
 
string camera_topic_
 
ros::Publisher cloud_pub_
 
boost::mutex connect_mutex_
 
cv::Mat cv_image_out_
 
boost::mutex cv_mutex_
 
string depth_image_
 
image_transport::SubscriberFilter depth_image_sub_
 
string depth_info_topic_
 
string depth_ns_
 
string depth_topic_
 
boost::mutex dimage_mutex_
 
message_filters::Subscriber< stereo_msgs::DisparityImage > disp_image_sub_
 
string disparity_topic_
 
bool do_continuous_
 
bool do_display_
 
bool do_publish_unknown_
 
boost::shared_ptr< ExactDepthSyncexact_depth_sync_
 
boost::shared_ptr< ExactDispSyncexact_disp_sync_
 
bool external_init_
 
Facesfaces_
 
face_detector::FaceDetectorFeedback feedback_
 
std::string fixed_frame_
 
string haar_filename_
 
string image_image_
 
image_transport::SubscriberFilter image_sub_
 
image_transport::ImageTransport it_
 
string left_camera_info_topic_
 
string left_topic_
 
boost::mutex limage_mutex_
 
int max_id_
 
string name_
 
ros::NodeHandle nh_
 
ros::Publisher pos_array_pub_
 
map< string, RestampedPositionMeasurementpos_list_
 
boost::mutex pos_mutex_
 
ros::Subscriber pos_sub_
 
bool quit_
 
double reliability_
 
face_detector::FaceDetectorResult result_
 
string rgb_ns_
 
string right_camera_info_topic_
 
string stereo_namespace_
 
tf::TransformListener tf_
 
bool use_depth_
 
bool use_rgbd_
 

Private Member Functions

void displayFacesOnImage (vector< Box2D3D > faces_vector)
 
void matchAndDisplay (vector< Box2D3D > faces_vector, std_msgs::Header header)
 

Detailed Description

FaceDetector - A wrapper around OpenCV's face detection, plus some usage of depth from stereo to restrict the results based on plausible face size.

Definition at line 84 of file face_detection.cpp.

Member Typedef Documentation

typedef message_filters::sync_policies::ApproximateTime<sensor_msgs::Image, sensor_msgs::Image, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo> people::FaceDetector::ApproximateDepthPolicy

Sync policy for approx time with depth.

Definition at line 132 of file face_detection.cpp.

Definition at line 134 of file face_detection.cpp.

typedef message_filters::sync_policies::ApproximateTime<sensor_msgs::Image, stereo_msgs::DisparityImage, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo> people::FaceDetector::ApproximateDispPolicy

Sync policy for approx time with disparity.

Definition at line 124 of file face_detection.cpp.

Definition at line 126 of file face_detection.cpp.

typedef message_filters::sync_policies::ExactTime<sensor_msgs::Image, sensor_msgs::Image, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo> people::FaceDetector::ExactDepthPolicy

Sync policy for exact time with depth.

Definition at line 131 of file face_detection.cpp.

Definition at line 133 of file face_detection.cpp.

typedef message_filters::sync_policies::ExactTime<sensor_msgs::Image, stereo_msgs::DisparityImage, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo> people::FaceDetector::ExactDispPolicy

Sync policy for exact time with disparity.

Definition at line 123 of file face_detection.cpp.

Definition at line 125 of file face_detection.cpp.

Constructor & Destructor Documentation

people::FaceDetector::FaceDetector ( std::string  name)
inline

Definition at line 192 of file face_detection.cpp.

people::FaceDetector::~FaceDetector ( )
inline

Definition at line 328 of file face_detection.cpp.

Member Function Documentation

void people::FaceDetector::connectCb ( )
inline

Definition at line 346 of file face_detection.cpp.

void people::FaceDetector::displayFacesOnImage ( vector< Box2D3D faces_vector)
inlineprivate

Definition at line 757 of file face_detection.cpp.

void people::FaceDetector::goalCB ( )
inline

Definition at line 400 of file face_detection.cpp.

void people::FaceDetector::imageCBAllDepth ( const sensor_msgs::Image::ConstPtr &  image,
const sensor_msgs::Image::ConstPtr &  depth_image,
const sensor_msgs::CameraInfo::ConstPtr &  c1_info,
const sensor_msgs::CameraInfo::ConstPtr &  c2_info 
)
inline

Image callback for synced messages.

For each new image: convert it to OpenCV format, perform face detection using OpenCV's haar filter cascade classifier, and (if requested) draw rectangles around the found faces. Can also compute which faces are associated (by proximity, currently) with faces it already has in its list of people.

Definition at line 454 of file face_detection.cpp.

void people::FaceDetector::imageCBAllDisp ( const sensor_msgs::Image::ConstPtr &  image,
const stereo_msgs::DisparityImage::ConstPtr &  disp_image,
const sensor_msgs::CameraInfo::ConstPtr &  c1_info,
const sensor_msgs::CameraInfo::ConstPtr &  c2_info 
)
inline

Image callback for synced messages.

For each new image: convert it to OpenCV format, perform face detection using OpenCV's haar filter cascade classifier, and (if requested) draw rectangles around the found faces. Can also compute which faces are associated (by proximity, currently) with faces it already has in its list of people.

Definition at line 509 of file face_detection.cpp.

void people::FaceDetector::matchAndDisplay ( vector< Box2D3D faces_vector,
std_msgs::Header  header 
)
inlineprivate

Definition at line 552 of file face_detection.cpp.

void people::FaceDetector::preemptCB ( )
inline

Definition at line 405 of file face_detection.cpp.

Member Data Documentation

boost::shared_ptr<ApproximateDepthSync> people::FaceDetector::approximate_depth_sync_

Definition at line 136 of file face_detection.cpp.

boost::shared_ptr<ApproximateDispSync> people::FaceDetector::approximate_disp_sync_

Definition at line 128 of file face_detection.cpp.

actionlib::SimpleActionServer<face_detector::FaceDetectorAction> people::FaceDetector::as_

Definition at line 139 of file face_detection.cpp.

const double people::FaceDetector::BIGDIST_M

Definition at line 88 of file face_detection.cpp.

message_filters::Subscriber<sensor_msgs::CameraInfo> people::FaceDetector::c1_info_sub_

Left/rgb camera info msg.

Definition at line 119 of file face_detection.cpp.

message_filters::Subscriber<sensor_msgs::CameraInfo> people::FaceDetector::c2_info_sub_

Right/depth camera info msg.

Definition at line 120 of file face_detection.cpp.

image_geometry::StereoCameraModel people::FaceDetector::cam_model_

ROS->OpenCV image_geometry conversion.

Definition at line 162 of file face_detection.cpp.

string people::FaceDetector::camera_

Definition at line 105 of file face_detection.cpp.

string people::FaceDetector::camera_info_topic_

Definition at line 109 of file face_detection.cpp.

string people::FaceDetector::camera_topic_

Definition at line 106 of file face_detection.cpp.

ros::Publisher people::FaceDetector::cloud_pub_

Definition at line 153 of file face_detection.cpp.

boost::mutex people::FaceDetector::connect_mutex_

Definition at line 93 of file face_detection.cpp.

cv::Mat people::FaceDetector::cv_image_out_

Display image.

Definition at line 158 of file face_detection.cpp.

boost::mutex people::FaceDetector::cv_mutex_

Definition at line 186 of file face_detection.cpp.

string people::FaceDetector::depth_image_

Definition at line 107 of file face_detection.cpp.

image_transport::SubscriberFilter people::FaceDetector::depth_image_sub_

Definition at line 117 of file face_detection.cpp.

string people::FaceDetector::depth_info_topic_

Definition at line 110 of file face_detection.cpp.

string people::FaceDetector::depth_ns_

Definition at line 112 of file face_detection.cpp.

string people::FaceDetector::depth_topic_

Definition at line 108 of file face_detection.cpp.

boost::mutex people::FaceDetector::dimage_mutex_

Definition at line 186 of file face_detection.cpp.

message_filters::Subscriber<stereo_msgs::DisparityImage> people::FaceDetector::disp_image_sub_

Depth image msg. Disparity image msg.

Definition at line 118 of file face_detection.cpp.

string people::FaceDetector::disparity_topic_

Definition at line 101 of file face_detection.cpp.

bool people::FaceDetector::do_continuous_

True = run as a normal node, searching for faces continuously, False = run as an action, wait for action call to start detection.

Definition at line 188 of file face_detection.cpp.

bool people::FaceDetector::do_display_

True/false display images with bounding boxes locally.

Definition at line 157 of file face_detection.cpp.

bool people::FaceDetector::do_publish_unknown_

Publish faces even if they have unknown depth/size. Will just use the image x,y in the pos field of the published position_measurement.

Definition at line 190 of file face_detection.cpp.

boost::shared_ptr<ExactDepthSync> people::FaceDetector::exact_depth_sync_

Definition at line 135 of file face_detection.cpp.

boost::shared_ptr<ExactDispSync> people::FaceDetector::exact_disp_sync_

Definition at line 127 of file face_detection.cpp.

bool people::FaceDetector::external_init_

Definition at line 146 of file face_detection.cpp.

Faces* people::FaceDetector::faces_

List of faces and associated fcns.

Definition at line 165 of file face_detection.cpp.

face_detector::FaceDetectorFeedback people::FaceDetector::feedback_

Definition at line 140 of file face_detection.cpp.

std::string people::FaceDetector::fixed_frame_

Definition at line 184 of file face_detection.cpp.

string people::FaceDetector::haar_filename_

Training file for the haar cascade classifier.

Definition at line 167 of file face_detection.cpp.

string people::FaceDetector::image_image_

Definition at line 97 of file face_detection.cpp.

image_transport::SubscriberFilter people::FaceDetector::image_sub_

Left/rgb image msg.

Definition at line 116 of file face_detection.cpp.

image_transport::ImageTransport people::FaceDetector::it_

Definition at line 115 of file face_detection.cpp.

string people::FaceDetector::left_camera_info_topic_

Definition at line 102 of file face_detection.cpp.

string people::FaceDetector::left_topic_

Definition at line 100 of file face_detection.cpp.

boost::mutex people::FaceDetector::limage_mutex_

Definition at line 186 of file face_detection.cpp.

int people::FaceDetector::max_id_

Definition at line 178 of file face_detection.cpp.

string people::FaceDetector::name_

Name of the detector. Ie frontalface, profileface. These will be the names in the published face location msgs.

Definition at line 166 of file face_detection.cpp.

ros::NodeHandle people::FaceDetector::nh_

Definition at line 91 of file face_detection.cpp.

ros::Publisher people::FaceDetector::pos_array_pub_

Definition at line 154 of file face_detection.cpp.

map<string, RestampedPositionMeasurement> people::FaceDetector::pos_list_

Queue of updated face positions from the filter.

Definition at line 176 of file face_detection.cpp.

boost::mutex people::FaceDetector::pos_mutex_

Definition at line 186 of file face_detection.cpp.

ros::Subscriber people::FaceDetector::pos_sub_

Definition at line 145 of file face_detection.cpp.

bool people::FaceDetector::quit_

Definition at line 180 of file face_detection.cpp.

double people::FaceDetector::reliability_

Reliability of the predictions. This should depend on the training file used.

Definition at line 168 of file face_detection.cpp.

face_detector::FaceDetectorResult people::FaceDetector::result_

Definition at line 141 of file face_detection.cpp.

string people::FaceDetector::rgb_ns_

Definition at line 111 of file face_detection.cpp.

string people::FaceDetector::right_camera_info_topic_

Definition at line 103 of file face_detection.cpp.

string people::FaceDetector::stereo_namespace_

Definition at line 99 of file face_detection.cpp.

tf::TransformListener people::FaceDetector::tf_

Definition at line 182 of file face_detection.cpp.

bool people::FaceDetector::use_depth_

True/false use depth information.

Definition at line 161 of file face_detection.cpp.

bool people::FaceDetector::use_rgbd_

Definition at line 94 of file face_detection.cpp.


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


face_detector
Author(s): Caroline Pantofaru
autogenerated on Fri Jun 7 2019 22:07:47