IRIS AI
IRIS, a product from FraudLabs and Verifiedly LLC, is the most advanced facial recognition and liveness detection technology commercially available as an API ( without the need for a hardware). With just a single 2D image, IRIS is able to analyze a facial image in great detail and produce hundreds of data points, all in a matter of seconds.
What's even more impressive is, IRIS continues to study your face as you get older and whenever you are ready to terminate your relationship with IRIS, it is just an API call away.
INFO
Neither we nor IRIS stores raw facial images on our servers. We store received facial images in decentralized servers provided by Storj and then pass on the one-time image reprensation token to IRIS who then uses it to fulfill the request.
Communicating with IRIS
There are two major parts to communicating with IRIS
- Creating a profile ( with a face )
- Authenticating against the profile you created
Create a profile
Before you start using IRIS to perform facial recognition, you will need to create a profile with a single face image. This facial image will be referenced whenever there is an authentication request.
Endpoint
{BASE_URL}/face/iris/profile
Method: POST.
Parameter | Description | Required |
---|---|---|
face | A JPG,JPEG,PNG image of the user's face. Uploaded as FormData | True |
Sample Request
curl --location --request POST 'https://api.stack-ft.com/face/iris/profile' \
--header 'Authorization: API_KEY' \
--form 'face=@"YOUR_IMAGE_LOCATION"'
What just happened?
When we receive the request, we first check to ensure that an image is present , we then store the image in our decentralized image storage servers. Once the image is stored, we proceed to share the one-time image representation token with IRIS to determine if the image actually contains a face, if the face is clear enough and to perform liveness detection and analysis. If there is an issue with any of these, the request will fail and we will return an error stating why. If everything goes well, we will return a 200
success response which includes the liveness detection info and the profile_id
Sample Successful Response
{
"status": "success",
"request_id": "f49cad8a-ca23-4dca-b337-3e15c152e415",
"profile_id": "d1f6781c-4c43-4c7d-b170-ae3ef426622b",
"liveness_info": {
"angles": {
"pitch": -0.9373766779899597,
"roll": -2.113525867462158,
"yaw": -0.30058854818344116
},
"box": {
"h": 324,
"w": 243,
"x": 67,
"y": 105
},
"result": "genuine_selfie",
"score": 1.6375155448913574
}
}
INFO
Congratulations! you have created your first profile with IRIS and now, you are ready to start authenticating against that profile.
Authenticate
Now, on to the fun part. You may want to perform face matching ( comapre a selfie to a profile ) or include facial recognition as a part of your app authentication. This is a relatively simple process. All you need to do is pass the profile id
and the image you want to use to authenticate against.
Endpoint
{BASE_URL}/face/iris/auth
Method: POST.
Parameter | Description | Required |
---|---|---|
face | A JPG,JPEG,PNG image of the user's face. Uploaded as FormData | True |
profile_id | The profile_id returned during the profile creation | True |
Sample Request
curl --location --request POST 'https://api.stack-ft.com/face/iris/auth' \
--header 'Authorization: API_KEY' \
--form 'face=@"YOUR_IMAGE_LOCATION"'
--form 'profile_id="YOUR_PROFILE_ID"'
Sample Successful Response
{
"status": "success",
"request_id": "9665a3d5-3d8b-47a1-a70b-ff550b5c4f53",
"liveness_info": {
"angles": {
"pitch": -0.9373766779899597,
"roll": -2.113525867462158,
"yaw": -0.30058854818344116
},
"box": {
"h": 324,
"w": 243,
"x": 67,
"y": 105
},
"result": "genuine_selfie",
"score": 1.6375155448913574
},
"match_confidence": 98.22
}
INFO
What you really should be looking for here is the match_confidence
. It goes from 0 to 100 ( the closer to 100, the higher the probability of it being the same person). With this info, you are able to decide your own confidence level in your application.