This section deals with creating a database of images and using FaceX APIs to compare new images against the whole database of images.
For such a solution there are a couple of things you would have to look out for:
- The quality of images used
- Capturing the image: Manual or Automatic
- Where the images will be stored?
- The security level of your application- Search or Authenticate
- The approximate number of Searches you expect per day & per month
1. Image Quality
Image Quality plays a great role in determining the accuracy of the system. Please ensure that the images registered in the database and, to the maximum possible extent, the images used for search are of good quality.
The images should contain only one face per image, be well-lit, have the person looking straight at the camera and be of a good quality image size. Please read more about image quality in this article.
2. Capturing Images for Search
When capturing the input image for Searching, for best results the person you wish to recognize should look at the camera. In general, we recommend using FaceX APIs with close proximity cameras only (where the camera is at level with the face being captured). Once the face is visible in the camera feed there are two ways of capturing Manual & Automatic
A) Manual Capture
Manual capturing of faces is where one manually takes a photo when the face is within the camera frame
Manual capturing means asking your users to take a photo on their phone or over their webcam. This ensures your client is aware of the image being captured and ensures they look straight at the camera.
B) Automatic Capture
Automatic capturing of faces is where a frame containing the person of interest is captured automatically for facial recognition processing.
Mobiles: Automatic capturing of faces on mobile devices can be done by purchasing Face Detection SDK for mobiles. License packages are available and they are licensed per device.
CCTV: Currently, FaceX does not offer a CCTV solution for automatic capture. Face Detection CCTV cameras which provide cropped images of detected faces may also be used post-testing if the quality of the detected images meets the requirement of the Face recognition system.
3. Where will the images be stored
FaceX APIs allow the flexibility of image storage- the database for face recognition can be stored either on your side or on the FaceX server
A) FaceX server Storage- Face Search API
If you are storing images on the FaceX server, then the API you are using will be the Face Search API. The Face search API allows you to register, delete and search the database using API requests.
B) Your Database- FaceAPIs
If you are storing images on your own server, then the API plan you will be using will be the FaceAPI. When using FaceAPI, the functions of registering, deleting and searching the database has to be done from your end. FaceAPIs will provide the recognition function only.
4. The Security level of your application
Depending on your application use case, there are two types of recognition you might require- Face Search or Face Authentication.
A) Face Authentication
If your application is a security application and your users are allowed access to private information based on face recognition, then what you require is Face Authentication. Face Authentication is when you authenticate if the person accessing your application is the same person as the one who registered with you at the beginning.
In such a situation you are comparing the new Face (1) with the authorized registered photo(1) or you are doing 1:1 Face recognition.
For Face Authentication using FaceAPI, you will be using Face Match API. Read the user guide here
B) Face Search
If your application is concerned with finding out the identity of a person, like when you need to recognize a person who walked in, you require Face Search. Face Search is the application where you are trying to identify known people by comparing with your database.
In such a situation you are comparing the new Face (1) with the entire database (N) or you are doing 1:N Face Recognition.
For Face Authentication using FaceAPI, you will be using Face Vector API. Read the user guide here
Face Authentication using Face Search API is possible using the base Search API. Read the user guide here
5. Number of Search required per day or per month
To determine which API plan you require to use, you require a basic idea of the number of requests you expect to use per day or per month.
A) FaceAPI Pricing
When using FaceAPIs, the API charge is for transactions per month.
If you have registering X images and searching the database Y number of times per month, you require an API plan of (X+Y) API calls.
Like for example- registering 5,000 images and searching the database 5,000 times will take you to 10,000 API calls in a month which would be the Rock plan (FaceAPI).
B) Face Search pricing
When using Face Search API, the base pricing model is based on the number of images you wish to register in your database. The Face Search plans come with a restriction of the number of search calls allowed per day.
If you wish to register 100 images in your database, you will be going for the Blue plan (Face Search). Please check out the pricing for Basic Face Search here.
The daily search limit can be increased while subscribing to the plan. A further upgrade on the search limit can be provided for customers who subscribe to an additional private VPS hosted by FaceX (email [email protected] for pricing).