RAPP Platform Wiki
v0.6.0
RAPP Platform is a collection of ROS nodes and back-end processes that aim to deliver ready-to-use generic services to robots
|
#Methodology
In the RAPP case, the face detection functionality is implemented in the form of a C++ developed ROS node, interfaced by a Web service. The Web service is invoked using the RAPP API and gets an RGB image as input, in which faces must be detected. The second step is for the Web service to locally save the input image. At the same time, the Face Detection ROS node is executed in the background, waiting to server requests. The Web service calls the ROS service via the ROS Bridge, the ROS node makes the necessary computations and a response is delivered.
In the current implementation the fast
input variable exists. If fast = False
, the face detection algorithm searches for faces both profile and en face and then cross-checks the results, aiming to provide the most precise result.
On the other hand, if fast = True
only profile faces are checked without further checking, thus the response if faster but not that precise.
#ROS Services
Service URL: /rapp/rapp_face_detection/detect_faces
Service type: ```bash
Header header
string imageFilename
geometry_msgs/PointStamped[] faces_up_left geometry_msgs/PointStamped[] faces_down_right string error ```
#Launchers
Launches the face detection node and can be launched using ``` roslaunch rapp_face_detection face_detection.launch ```
#Web services
localhost:9001/hop/face_detection
``` Input = { "file": “THE_ACTUAL_IMAGE_DATA” "fast": true }
Output = { “faces”: [ { “up_left_point” : {x: 10, y: 30}, “down_right_point” : {x: 100, y: 200} }, { … } ] } ```
The full documentation exists here