Classes | |
struct | NullDeleter |
struct | RestampedPositionMeasurement |
Public Member Functions | |
FaceDetector (std::string name) | |
void | goalCB () |
void | imageCBAll (const sensor_msgs::Image::ConstPtr &limage, const stereo_msgs::DisparityImage::ConstPtr &dimage, const sensor_msgs::CameraInfo::ConstPtr &lcinfo, const sensor_msgs::CameraInfo::ConstPtr &rcinfo) |
Image callback for synced messages. | |
void | posCallback (const people_msgs::PositionMeasurementConstPtr &pos_ptr) |
Position message callback. | |
void | preemptCB () |
~FaceDetector () | |
Public Attributes | |
actionlib::SimpleActionServer < face_detector::FaceDetectorAction > | as_ |
const double | BIGDIST_M |
image_geometry::StereoCameraModel | cam_model_ |
ros::Publisher | cloud_pub_ |
cv::Mat | cv_image_out_ |
boost::mutex | cv_mutex_ |
sensor_msgs::CvBridge | dbridge_ |
boost::mutex | dimage_mutex_ |
message_filters::Subscriber < stereo_msgs::DisparityImage > | dimage_sub_ |
bool | do_continuous_ |
string | do_display_ |
bool | do_publish_unknown_ |
bool | external_init_ |
Faces * | faces_ |
face_detector::FaceDetectorFeedback | feedback_ |
string | haar_filename_ |
image_transport::ImageTransport | it_ |
sensor_msgs::CvBridge | lbridge_ |
message_filters::Subscriber < sensor_msgs::CameraInfo > | lcinfo_sub_ |
boost::mutex | limage_mutex_ |
image_transport::SubscriberFilter | limage_sub_ |
string | name_ |
ros::NodeHandle | nh_ |
map< string, RestampedPositionMeasurement > | pos_list_ |
boost::mutex | pos_mutex_ |
ros::Publisher | pos_pub_ |
ros::Subscriber | pos_sub_ |
bool | quit_ |
message_filters::Subscriber < sensor_msgs::CameraInfo > | rcinfo_sub_ |
double | reliability_ |
face_detector::FaceDetectorResult | result_ |
message_filters::TimeSynchronizer < sensor_msgs::Image, stereo_msgs::DisparityImage, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo > | sync_ |
tf::TransformListener | tf_ |
bool | use_depth_ |
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 78 of file face_detection.cpp.
people::FaceDetector::FaceDetector | ( | std::string | name | ) | [inline] |
Definition at line 146 of file face_detection.cpp.
people::FaceDetector::~FaceDetector | ( | ) | [inline] |
Definition at line 217 of file face_detection.cpp.
void people::FaceDetector::goalCB | ( | ) | [inline] |
Definition at line 229 of file face_detection.cpp.
void people::FaceDetector::imageCBAll | ( | const sensor_msgs::Image::ConstPtr & | limage, | |
const stereo_msgs::DisparityImage::ConstPtr & | dimage, | |||
const sensor_msgs::CameraInfo::ConstPtr & | lcinfo, | |||
const sensor_msgs::CameraInfo::ConstPtr & | rcinfo | |||
) | [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 281 of file face_detection.cpp.
void people::FaceDetector::posCallback | ( | const people_msgs::PositionMeasurementConstPtr & | pos_ptr | ) | [inline] |
Position message callback.
When hooked into the person tracking filter, this callback will listen to messages from the filter with a person id and 3D position and adjust the person's face position accordingly.
Definition at line 246 of file face_detection.cpp.
void people::FaceDetector::preemptCB | ( | ) | [inline] |
Definition at line 234 of file face_detection.cpp.
actionlib::SimpleActionServer<face_detector::FaceDetectorAction> people::FaceDetector::as_ |
Definition at line 98 of file face_detection.cpp.
const double people::FaceDetector::BIGDIST_M |
Definition at line 81 of file face_detection.cpp.
image_geometry::StereoCameraModel people::FaceDetector::cam_model_ |
ROS->OpenCV image_geometry conversion.
Definition at line 121 of file face_detection.cpp.
ros::Publisher people::FaceDetector::cloud_pub_ |
Definition at line 112 of file face_detection.cpp.
Display image.
Definition at line 117 of file face_detection.cpp.
boost::mutex people::FaceDetector::cv_mutex_ |
Definition at line 140 of file face_detection.cpp.
sensor_msgs::CvBridge people::FaceDetector::dbridge_ |
ROS->OpenCV bridge for the disparity image.
Definition at line 93 of file face_detection.cpp.
boost::mutex people::FaceDetector::dimage_mutex_ |
Definition at line 140 of file face_detection.cpp.
message_filters::Subscriber<stereo_msgs::DisparityImage> people::FaceDetector::dimage_sub_ |
Disparity image msg.
Definition at line 89 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 142 of file face_detection.cpp.
Type of display, none/local
Definition at line 116 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 144 of file face_detection.cpp.
Definition at line 105 of file face_detection.cpp.
List of faces and associated fcns.
Definition at line 124 of file face_detection.cpp.
Definition at line 99 of file face_detection.cpp.
Training file for the haar cascade classifier.
Definition at line 126 of file face_detection.cpp.
image_transport::ImageTransport people::FaceDetector::it_ |
Definition at line 87 of file face_detection.cpp.
sensor_msgs::CvBridge people::FaceDetector::lbridge_ |
ROS->OpenCV bridge for the left image.
Definition at line 92 of file face_detection.cpp.
message_filters::Subscriber<sensor_msgs::CameraInfo> people::FaceDetector::lcinfo_sub_ |
Left camera info msg.
Definition at line 90 of file face_detection.cpp.
boost::mutex people::FaceDetector::limage_mutex_ |
Definition at line 140 of file face_detection.cpp.
image_transport::SubscriberFilter people::FaceDetector::limage_sub_ |
Left image msg.
Definition at line 88 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 125 of file face_detection.cpp.
ros::NodeHandle people::FaceDetector::nh_ |
Definition at line 84 of file face_detection.cpp.
Queue of updated face positions from the filter.
Definition at line 134 of file face_detection.cpp.
boost::mutex people::FaceDetector::pos_mutex_ |
Definition at line 140 of file face_detection.cpp.
ros::Publisher people::FaceDetector::pos_pub_ |
Definition at line 113 of file face_detection.cpp.
ros::Subscriber people::FaceDetector::pos_sub_ |
Definition at line 104 of file face_detection.cpp.
Definition at line 136 of file face_detection.cpp.
message_filters::Subscriber<sensor_msgs::CameraInfo> people::FaceDetector::rcinfo_sub_ |
Right camera info msg.
Definition at line 91 of file face_detection.cpp.
Reliability of the predictions. This should depend on the training file used.
Definition at line 127 of file face_detection.cpp.
Definition at line 100 of file face_detection.cpp.
message_filters::TimeSynchronizer<sensor_msgs::Image, stereo_msgs::DisparityImage, sensor_msgs::CameraInfo, sensor_msgs::CameraInfo> people::FaceDetector::sync_ |
Stereo topic synchronizer.
Definition at line 94 of file face_detection.cpp.
tf::TransformListener people::FaceDetector::tf_ |
Definition at line 138 of file face_detection.cpp.
True/false use depth information.
Definition at line 120 of file face_detection.cpp.