expo-face-detector
lets you use the power of the Google Mobile Vision framework to detect faces on images.Android Device | Android Emulator | iOS Device | iOS Simulator | Web |
---|---|---|---|---|
→
expo install expo-face-detector
If you're installing this in a bare React Native app, you should also follow these additional installation instructions.
DetectionOptions
object which is then interpreted by this module.import * as React from 'react'; import { Camera } from 'expo-camera'; import * as FaceDetector from 'expo-face-detector'; const App = () => ( <Camera // other props onFacesDetected={handleFacesDetected} faceDetectorSettings={{ mode: FaceDetector.FaceDetectorMode.fast, detectLandmarks: FaceDetector.FaceDetectorLandmarks.none, runClassifications: FaceDetector.FaceDetectorClassifications.none, minDetectionInterval: 100, tracking: true, }} /> ); %%placeholder-start%%const handleFacesDetected = ({ faces }) => { ... }; %%placeholder-end%%const handleFacesDetected = ({ faces }) => { console.log(faces); }; export default App;
import * as FaceDetector from 'expo-face-detector';
Name | Type | Description |
---|---|---|
uri | string | file:// URI to the image. |
options (optional) | DetectionOptions | A map of detection options. Default: {} |
Detect faces on a picture.
Returns a Promise which fulfils with DetectionResult
object.
In order to configure detector's behavior modules pass a settings object which is then interpreted by this module.
Name | Type | Description |
---|---|---|
detectLandmarks (optional) | FaceDetectorLandmarks | Whether to detect and return landmarks positions on the face (ears, eyes, mouth, cheeks, nose).
Use FaceDetector.FaceDetectorLandmarks.{all, none} . |
minDetectionInterval (optional) | number | Minimal interval in milliseconds between two face detection events being submitted to JS.
Use, when you expect lots of faces for long time and are afraid of JS Bridge being overloaded. Default: 0
|
mode (optional) | FaceDetectorMode | Whether to detect faces in fast or accurate mode. Use FaceDetector.FaceDetectorMode.{fast, accurate} . |
runClassifications (optional) | FaceDetectorClassifications | Whether to run additional classifications on detected faces (smiling probability, open eye
probabilities). Use FaceDetector.FaceDetectorClassifications.{all, none} . |
tracking (optional) | boolean | Flag to enable tracking of faces between frames. If true, each face will be returned with
faceID attribute which should be consistent across frames.Default: false
|
Name | Type | Description |
---|---|---|
faces | FaceFeature[] | Array of faces objects. |
image | Image | - |
Name | Type | Description |
---|---|---|
bottomMouthPosition (optional) | Point | Position of the bottom edge of the mouth in image coordinates. Returned only if detection
classifications property is set to FaceDetectorLandmarks.all . |
bounds | FaceFeatureBounds | An object containing face bounds. |
faceID (optional) | number | A face identifier (used for tracking, if the same face appears on consecutive frames it will
have the same faceID ). |
leftCheekPosition (optional) | Point | Position of the left cheek in image coordinates. Returned only if detection classifications
property is set to FaceDetectorLandmarks.all . |
leftEarPosition (optional) | Point | Position of the left ear in image coordinates. Returned only if detection classifications
property is set to FaceDetectorLandmarks.all . |
leftEyeOpenProbability (optional) | number | Probability that the left eye is open. Returned only if detection classifications property is
set to FaceDetectorClassifications.all . |
leftEyePosition (optional) | Point | Position of the left eye in image coordinates. Returned only if detection classifications
property is set to FaceDetectorLandmarks.all . |
leftMouthPosition (optional) | Point | Position of the left edge of the mouth in image coordinates. Returned only if detection
classifications property is set to FaceDetectorLandmarks.all . |
mouthPosition (optional) | Point | Position of the center of the mouth in image coordinates. Returned only if detection
classifications property is set to FaceDetectorLandmarks.all . |
noseBasePosition (optional) | Point | Position of the nose base in image coordinates. Returned only if detection classifications
property is set to FaceDetectorLandmarks.all . |
rightCheekPosition (optional) | Point | Position of the right cheek in image coordinates. Returned only if detection classifications
property is set to FaceDetectorLandmarks.all . |
rightEarPosition (optional) | Point | Position of the right ear in image coordinates. Returned only if detection classifications
property is set to FaceDetectorLandmarks.all . |
rightEyeOpenProbability (optional) | number | Probability that the right eye is open. Returned only if detection classifications property is
set to FaceDetectorClassifications.all . |
rightEyePosition (optional) | Point | Position of the right eye in image coordinates. Returned only if detection classifications
property is set to FaceDetectorLandmarks.all . |
rightMouthPosition (optional) | Point | Position of the right edge of the mouth in image coordinates. Returned only if detection
classifications property is set to FaceDetectorLandmarks.all . |
rollAngle (optional) | number | Roll angle of the face (bank). |
smilingProbability (optional) | number | Probability that the face is smiling. Returned only if detection classifications property is
set to FaceDetectorClassifications.all . |
yawAngle (optional) | number | Yaw angle of the face (heading, turning head left or right). |
Name | Type | Description |
---|---|---|
origin | Point | Position of the top left corner of a square containing the face in image coordinates, |
size | {
height: number,
width: number
} | Size of the square containing the face in image coordinates, |
Name | Type | Description |
---|---|---|
height | number | Height of the image in pixels. |
orientation | number | Orientation of the image (value conforms to the EXIF orientation tag standard). |
uri | string | URI of the image. |
width | number | Width of the image in pixels. |
Name | Type | Description |
---|---|---|
x | number | - |
y | number | - |
FaceDetectorClassifications.none = 1
FaceDetectorClassifications.all = 2