This routes the input stream from the webcam to the openimaj component, when a face is detected the resulting body will be an instance of org.openimaj.image.processing.face.detection.DetectedFace, and List when there are multiple faces.
The component uses a face detector based on the Haar cascade by default, optionally set an alternate detector;
Using the ProducerTemplate, the following example uses the FKEFaceDetector which is a wrapper around the Haar detector, providing additional information by finding facial keypoints on top of the face;
KEDetectedFace face = template.requestBody("openimaj:face-detection?faceDetector=#fkeFaceDetector", inputStream, KEDetectedFace.class);
FacialKeypoint keypoint = face.getKeypoint(FacialKeypoint.FacialKeypointType.EYE_LEFT_LEFT);
The confidence in the face detection is set to the low default of 1, you can set the minimum confidence threshold on the endpoint;
URI Options Parameters
Option
Default value
Description
faceDetector
new HaarCascadeDetector()
`org.openimaj.image.processing.face.detection.HaarCascadeDetector' is the default face detector
confidence
1
The minimum confidence of the detection; higher numbers mean higher confidence.