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 < ApproximateDepthPolicy > | ApproximateDepthSync |
typedef message_filters::sync_policies::ApproximateTime < sensor_msgs::Image, stereo_msgs::DisparityImage, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo > | ApproximateDispPolicy |
typedef message_filters::Synchronizer < ApproximateDispPolicy > | ApproximateDispSync |
typedef message_filters::sync_policies::ExactTime < sensor_msgs::Image, sensor_msgs::Image, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo > | ExactDepthPolicy |
typedef message_filters::Synchronizer < ExactDepthPolicy > | ExactDepthSync |
typedef message_filters::sync_policies::ExactTime < sensor_msgs::Image, stereo_msgs::DisparityImage, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo > | ExactDispPolicy |
typedef message_filters::Synchronizer < ExactDispPolicy > | ExactDispSync |
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. | |
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. | |
void | preemptCB () |
~FaceDetector () | |
Public Attributes | |
boost::shared_ptr < ApproximateDepthSync > | approximate_depth_sync_ |
boost::shared_ptr < ApproximateDispSync > | approximate_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_display_face_id_ |
bool | do_publish_unknown_ |
boost::shared_ptr< ExactDepthSync > | exact_depth_sync_ |
boost::shared_ptr< ExactDispSync > | exact_disp_sync_ |
bool | external_init_ |
Faces * | faces_ |
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, RestampedPositionMeasurement > | pos_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) |
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.
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.
typedef message_filters::Synchronizer<ApproximateDepthPolicy> people::FaceDetector::ApproximateDepthSync |
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.
typedef message_filters::Synchronizer<ApproximateDispPolicy> people::FaceDetector::ApproximateDispSync |
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.
people::FaceDetector::FaceDetector | ( | std::string | name | ) | [inline] |
Definition at line 193 of file face_detection.cpp.
people::FaceDetector::~FaceDetector | ( | ) | [inline] |
Definition at line 330 of file face_detection.cpp.
void people::FaceDetector::connectCb | ( | ) | [inline] |
Definition at line 348 of file face_detection.cpp.
void people::FaceDetector::displayFacesOnImage | ( | vector< Box2D3D > | faces_vector | ) | [inline, private] |
Definition at line 759 of file face_detection.cpp.
void people::FaceDetector::goalCB | ( | ) | [inline] |
Definition at line 402 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 456 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 511 of file face_detection.cpp.
void people::FaceDetector::matchAndDisplay | ( | vector< Box2D3D > | faces_vector, |
std_msgs::Header | header | ||
) | [inline, private] |
Definition at line 554 of file face_detection.cpp.
void people::FaceDetector::preemptCB | ( | ) | [inline] |
Definition at line 407 of file face_detection.cpp.
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.
ROS->OpenCV image_geometry conversion.
Definition at line 163 of file face_detection.cpp.
Definition at line 105 of file face_detection.cpp.
Definition at line 109 of file face_detection.cpp.
Definition at line 106 of file face_detection.cpp.
Definition at line 153 of file face_detection.cpp.
boost::mutex people::FaceDetector::connect_mutex_ |
Definition at line 93 of file face_detection.cpp.
Display image.
Definition at line 159 of file face_detection.cpp.
boost::mutex people::FaceDetector::cv_mutex_ |
Definition at line 187 of file face_detection.cpp.
Definition at line 107 of file face_detection.cpp.
Definition at line 117 of file face_detection.cpp.
Definition at line 110 of file face_detection.cpp.
Definition at line 112 of file face_detection.cpp.
Definition at line 108 of file face_detection.cpp.
boost::mutex people::FaceDetector::dimage_mutex_ |
Definition at line 187 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.
Definition at line 101 of file face_detection.cpp.
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 189 of file face_detection.cpp.
True/false display images with bounding boxes locally.
Definition at line 157 of file face_detection.cpp.
True/false display face id on images. This has effect only if do_display is true.
Definition at line 158 of file face_detection.cpp.
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 191 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.
Definition at line 146 of file face_detection.cpp.
List of faces and associated fcns.
Definition at line 166 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 185 of file face_detection.cpp.
Training file for the haar cascade classifier.
Definition at line 168 of file face_detection.cpp.
Definition at line 97 of file face_detection.cpp.
Left/rgb image msg.
Definition at line 116 of file face_detection.cpp.
Definition at line 115 of file face_detection.cpp.
Definition at line 102 of file face_detection.cpp.
Definition at line 100 of file face_detection.cpp.
boost::mutex people::FaceDetector::limage_mutex_ |
Definition at line 187 of file face_detection.cpp.
Definition at line 179 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 167 of file face_detection.cpp.
Definition at line 91 of file face_detection.cpp.
Definition at line 154 of file face_detection.cpp.
Queue of updated face positions from the filter.
Definition at line 177 of file face_detection.cpp.
boost::mutex people::FaceDetector::pos_mutex_ |
Definition at line 187 of file face_detection.cpp.
Definition at line 145 of file face_detection.cpp.
Definition at line 181 of file face_detection.cpp.
Reliability of the predictions. This should depend on the training file used.
Definition at line 169 of file face_detection.cpp.
face_detector::FaceDetectorResult people::FaceDetector::result_ |
Definition at line 141 of file face_detection.cpp.
Definition at line 111 of file face_detection.cpp.
Definition at line 103 of file face_detection.cpp.
Definition at line 99 of file face_detection.cpp.
Definition at line 183 of file face_detection.cpp.
True/false use depth information.
Definition at line 162 of file face_detection.cpp.
Definition at line 94 of file face_detection.cpp.