Branched version of OpenFace for ROS from @interaction-lab on 12/17/16. Use this for projected face build.
This is a small ROS node that exposes OpenFace over ROS. In particular, given a image of a face, it will output:
- Eye Gaze Vectors
- Head Pose
- 2D Landmarks
- 3D Landmarks
- Action Units
- Debug Visualization (optional)
This repository expects Interaction Lab's fork of OpenFace and OpenCV 3 to be installed.
Dependencies of OpenFace include:
dlib- Boost Filesystem
tbb- OpenCV 3
~image_topic- The topic the image is provided on (e.g./usb_cam/image_raw).
~clnf_model_path- Provide an alternate CLNF model to OpenFace.~tri_model_path- Provide an alternate tri model to OpenFace.~au_model_path- Provide an alternate AU model to OpenFace.~haar_model_path- Provide an alternate HAAR model to OpenFace.~publish_viz- Set totrueto publish a debug visualization (default:false).
- Install all dependencies (see below)
- Clone Interaction Lab's fork of OpenFace, follow installation instructions, then
sudo make installat the end - Clone & re-compile
cv_bridge(invision_opencvstack) - Clone
usb_camros node or other ros node of your choice for interfacing with USB camera
- OpenCV 3 (If installing from source, make sure to run cmake as follows:
cmake -DBUILD_SHARED_LIBS=ON .. - dlib (You should be able to install from apt-get, if not, clone and install from source)
roscorerosrun usb_cam usb_cam_noderosrun openface_ros openface_ros _image_topic:="/usb_cam/image_raw"
This node requires cv_bridge and OpenCV 3. You must ensure that cv_bridge is also linked against OpenCV 3. If you get a warning during compilation, you may have to manually clone the vision_opencv repository and re-build cv_bridge.
std_msgs/Header header
geometry_msgs/Vector3 left_gaze
geometry_msgs/Vector3 right_gaze
geometry_msgs/Pose head_pose
geometry_msgs/Point[] landmarks_3d
geometry_msgs/Point[] landmarks_2d
openface_ros/ActionUnit[] action_units
string name
float64 presence
float64 intensity