qwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqw ... · qwertyuiopasdfghjklzxcvbnmq...

53
qwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmqwer tyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfgh jklzxcvbnmqwertyuiopasdfghjkl zxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcv bnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqw ertyuiopasdfghjklzxcvbnmrtyui FacePhi SDK 5.3.0 Software Development Kit User manual www.FacePhi.com This document is property of FacePhi Biometria S.A. All rights reserved. Total or partial copy of this document is forbidden. This document contains information for internal use; consider it as a working tool.

Upload: dangdung

Post on 10-Nov-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

qwertyuiopasdfghjklzxcvbnmq

wertyuiopasdfghjklzxcvbnmqw

ertyuiopasdfghjklzxcvbnmqwer

tyuiopasdfghjklzxcvbnmqwerty

uiopasdfghjklzxcvbnmqwertyui

opasdfghjklzxcvbnmqwertyuiop

asdfghjklzxcvbnmqwertyuiopas

dfghjklzxcvbnmqwertyuiopasdf

ghjklzxcvbnmqwertyuiopasdfgh

jklzxcvbnmqwertyuiopasdfghjkl

zxcvbnmqwertyuiopasdfghjklzx

cvbnmqwertyuiopasdfghjklzxcv

bnmqwertyuiopasdfghjklzxcvbn

mqwertyuiopasdfghjklzxcvbnm

qwertyuiopasdfghjklzxcvbnmq

wertyuiopasdfghjklzxcvbnmqw

ertyuiopasdfghjklzxcvbnmrtyui

FacePhi SDK 5.3.0

Software Development Kit

User manual

www.FacePhi.com

This document is property of FacePhi Biometria S.A. All rights reserved. Total or partial copy of this document is

forbidden. This document contains information for internal use; consider it as a working tool.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 1

FacePhi © 2015 FacePhi Biometria. All rights reserved.

FacePhi and F7 Face Recognition Logos are trademarks of “FacePhi

Biometría S.A.” (A-54659313) registered in Spain.

Other products and companies here mentioned may be registered

trademarks of their owners.

FacePhi Biometría often publishes new software versions and

upgrades; for this reason the images shown in this document may be

different from the ones shown on the screen.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 2

INDEX

1. INTRODUCTION ___________________________________________________ 5

1.1. What is facial biometry? __________________________________________________ 5

1.2. Recognition process description ____________________________________________ 6

1.3. Product description ______________________________________________________ 7

1.3.1 FacePhi SDK 5.3.0 (Software Development Kit) _____________________________ 7

2. REQUIREMENTS ___________________________________________________ 8

2.1. Development Hardware __________________________________________________ 8

2.2. Production Hardware ____________________________________________________ 9

2.3. Software ______________________________________________________________ 9

2.4. Cameras ______________________________________________________________ 11

3. INCOMPATIBILITIES _______________________________________________ 12

4. TECHNOLOGY FUNCTIONING _________________________________________ 12

4.1. Required previous knowledge _____________________________________________ 12

4.1.1. Face features extractor module (Extractor) _______________________________ 12

4.1.2. Face pattern ________________________________________________________ 13

4.1.3. Face template ______________________________________________________ 13

4.1.4. Face features Matcher module (Matcher) ________________________________ 14

4.1.5. Matcher security level ________________________________________________ 14

4.1.6. User structure ______________________________________________________ 15

4.2. Face recognition functions _______________________________________________ 16

4.2.1. Enrolment _________________________________________________________ 16

4.2.2. Authentication ______________________________________________________ 17

4.2.3. Identification _______________________________________________________ 18

4.2.4. Retraining __________________________________________________________ 21

4.3. Use characteristics ______________________________________________________ 23

4.3.1. Pose ______________________________________________________________ 23

4.3.2. Expression _________________________________________________________ 23

4.3.3. Lighting ____________________________________________________________ 23

4.3.4. Glasses ____________________________________________________________ 23

4.3.5. Capture devices _____________________________________________________ 23

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 3

4.4. Changes ______________________________________________________________ 24

4.4.1. Face ______________________________________________________________ 24

4.4.2. Capture device ______________________________________________________ 24

5. API DESCRIPTION ________________________________________________ 25

5.1. Components __________________________________________________________ 25

5.1.1. Extraction module (FacePhi Extractor) ___________________________________ 26

5.1.2. Recognition module (FacePhi Matcher) __________________________________ 26

5.2. Technology settings _____________________________________________________ 27

5.2.1. FacePhi Recognition Extractor _________________________________________ 27

5.2.2. FacePhi Recognition Matcher __________________________________________ 29

5.2.3. Default settings _____________________________________________________ 29

5.2.4. Recommended configuration for 1:1 mode _______________________________ 31

5.2.5. Recommended configuration for 1:N mode _______________________________ 32

5.3. Filters available for detection and extraction _________________________________ 33

5.3.1. Proximity filter ______________________________________________________ 33

5.3.2. Quality filter ________________________________________________________ 34

5.3.3 Naturalness pattern filter _____________________________________________ 35

5.3.4 Liveness detector ____________________________________________________ 35

5.4. Diagnostics ____________________________________________________________ 36

5.4.1. Sample diagnostic ___________________________________________________ 36

5.4.2. Template creation diagnostic __________________________________________ 37

5.4.3. Photography detection diagnostic ______________________________________ 37

6. INTEGRATION ___________________________________________________ 38

6.1. Possible architectures ___________________________________________________ 38

6.1.1 AD-HOC architecture (Windows) _______________________________________ 38

6.1.2 Client-Server architecture (Windows) ___________________________________ 38

6.1.3 Client-Server architecture (Android/iOS + Windows) _______________________ 41

6.1.4 Client-Server architecture (Android/iOS + Windows with mobile database) _____ 42

7. DATABASE _____________________________________________________ 43

8. VERSIONS _____________________________________________________ 44

9. FREQUENTLY ASKED QUESTIONS (FAQ) __________________________________ 45

9.1. General ______________________________________________________________ 45

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 4

9.2. Installation ____________________________________________________________ 46

9.3. System requirements ___________________________________________________ 46

9.4. Licences ______________________________________________________________ 48

9.5. Functioning ___________________________________________________________ 48

10. CONTACT INFORMATION ____________________________________________ 50

10.1. Commercial contact _____________________________________________________ 50

10.2. Technical support ______________________________________________________ 50

10.3. Feedback and suggestions ________________________________________________ 51

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 5

1. Introduction

Welcome to “FacePhi SDK 5.3.0” user manual.

In this guide you will find all information needed to know more about FacePhi face

recognition software.

This manual is divided into two main parts:

1. An introduction which explains the functioning of the facial biometric system,

regardless of its implementation, the software requirements or restrictions.

2. Chapters written for developers and integrators, detailing technical aspects of the

technology.

1.1. What is facial biometry?

Biometry is a science that, through automated methods, is able to verify or recognize the

identity of a person based on their physiology or behavioural characteristics.

The word “biometry” comes from the Greek language, bios (life) and metron (measure),

which means that all biometrical devices can measure and identify personal features. Each

person has morphological features that are unique and therefore, different from everyone

else.

This technique is based on the recognition of unique corporal features, this is why it

recognizes the person for who they are physically and not for what they carry with them

(cards, keys, credentials) or for what information they can retain (pin numbers).

Several techniques of human verification have emerged in the market recently. They

consider different biometric features and it is possible to find software and hardware that

supports them.

The most used techniques nowadays are the iris recognition, the fingerprint recognition, the

voice recognition and the face recognition, which are expected to be used in a massive way

in the near future.

Thanks to the advances made in multimedia video technology, the identification of facial

features has evolved more quickly than expected. This has caused an increase in the number

of video cameras at work places or residential complexes, therefore, people are more used

to having cameras around and they do not feel like it is an invasion of their privacy. Also, the

recognition through facial features is inherent to us all. Specific individuals can be

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 6

recognized in a crowd just by looking closely to their faces. Therefore, this type of

identification is considered to be the most natural among all biometric systems.

1.2. Recognition process description

The facial recognition process allows determining the identity of a person. The identification

process is divided into three main phases: detection, extraction and recognition.

During the first task, the software locates faces in a photograph or a video.

In the second one, it extracts the most representative features in the previously detected

face, generating what it is called the facial template. This template is a structure of the facial

features extracted from a series of samples or images of the person’s face.

Finally, in the third task the software compares the extracted template with reference

templates which must have been previously stored in a data base, file or any other type of

data storage mechanism.

The comparison is made analysing the structural elements of the face. Once the system has

obtained the necessary features, it compares them with the ones that are already stored in

the data base, verifying the identity of the person.

Processed Face Image

(sample)

Face Detection Template Features

Extraction Verification

result Template Matching

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 7

1.3. Product description

FacePhi SDK 5.3.0 is a product specially designed for developers and integrators who wish to

incorporate facial recognition technology into their solutions. It is a development

framework which enables integrating this kind of biometrics in a wide range of

environments, both ad-hoc and distributed, providing a system capable of operating in real

time.

1.3.1 FacePhi SDK 5.3.0 (Software Development Kit)

This package is intended for installation on a developing computer and has all the necessary

components for the development of solutions based on facial biometry. The content of this

package is shown in the following table:

Component Content Description

Win32_x64 development

libraries

FPhi.Extractor.dll Native library which includes facial detection

and template extraction functionalities.

FPhi.Matcher.dll Native library which includes templates

matching functionalities.

Silverlight development

libraries

FPhi.ExtractorSilverlight.dll

FPhi.ExtractorSilverlight.Core.dll

Includes face detection and template extraction functionalities which can be run on

a Silverlight environment.

.NET development

libraries

FPhi.Extractor.net.dll Includes functions of features detection and

extraction of facial templates in .NET applications.

FPhi.Matcher.net.dll Includes templates matching functionalities in

.NET applications.

FPhi.Licensing.net.dll Includes necessary classes to handle licensing

exceptions of facial recognition modules in .NET applications.

FPhiLicensesManager.Client.dll

Includes the necessary functionalities for the activation of FacePhi software licenses. This library offers the integrator the possibility of implementing a custom .NET application to

perform the activation process of these licenses.

FPhiLicensesManager.Exceptions.dll Module containing the specific type of

exceptions generated when a licensing related error occurs.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 8

FPhiLicensesManager.Types.dll Module containing the type of data needed in

licensing modules.

Android development

libraries

fphi.extractor.android-5.3.0.jar

libFPhi.Extractor.so (armeabi)

libFPhi.Extractor.so (x86)

Includes functions of features detection and extraction of facial templates in an Android

environment.

iOS development

libraries

FPhi.Extractor.ios.framework.zip Includes functions of features detection and

extraction of facial templates in an iOS environment.

Java development

libraries

fphi-extractor-java-5.3.0.jar Includes functions of features detection and

extraction of facial templates in Java applications.

fphi-licensing-java-5.3.0.jar Includes necessary classes to handle licensing

exceptions of facial recognition modules in Java applications.

fphi-matcher-java-5.3.0.jar Includes templates matching functionalities in

Java applications.

Activation application

FPhiSoftwareActivator.exe Application for the activation of FacePhi

software licenses.

Table 1. FacePhi SDK 5.3.0 content

2. Requirements

2.1. Development Hardware

Minimum Requirements:

Intel Core 2 Duo @ 2,5 GHz

2 GB RAM

100 MB of free disk space

Recommended Requirements:

Intel Core i3 @ 3,07GHz

4 GB RAM or higher.

100 MB of free disk space.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 9

2.2. Production Hardware

Minimum requirements:

Intel Core 2 Duo @ 2.5GHz

1 GB RAM

Recommended requirements:

Intel Core i3 @ 3.07 GHz

2 GB RAM

Minimum requirements (Android Extraction module):

Armeabi-v7 architecture or x86 architecture

Minimum requirements (iOS Extraction module):

Arm64, armv7 or armv7s architectures

However, information hereby is merely indicative due to the fact that hardware

requirements for a production machine depend on the characteristics of the final

application developed from FacePhi SDK 5.3.0.

To have a more precise idea of the hardware requirements for the production machines it is

recommendable to read the performance statistics in the “technical specifications”

document.

2.3. Software

Operating Systems:

Microsoft Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server 2003 and

Windows Server 2008 (32 or 64 bit).

Requirements for FacePhi SDK 5.3.0:

.NET Framework 4 or higher

Microsoft Visual C++ 2012 x86 Redistributable – 11.0.61030 (or x64 in 64 bit

operating systems)

Matcher and extractor modules in Windows:

Microsoft Visual C++ 2012 x86 Redistributable – 11.0.61030 (or x64 in 64 bit

operating systems)

.NET Framework 4 or higher

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 10

Silverlight 5

Android Extraction module:

Operating System: API level 14 (Android 4.0)

Development requirements: Android Studio, IDE Eclipse (with ADT plugin) or IntelliJ,

Android SDK, Java SDK

iOS Extraction module:

Operating System: iOS 7.1 or higher

Development requirements: Xcode

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 11

2.4. Cameras

In this section you can find some recommendations or general guides for the cameras’

characteristics. However, the election of the type of camera as well as the characteristics of

it, are matters that will be directly constrained by the environment in which the final

solution will be implemented.

Therefore, the type of camera and its characteristics will not be the same in an external or

internal environment. Conditions for an external environment (lightning, climate, etc.) will

change substantially.

As it is well known, cameras are not the only source to get input images from. However, if

you wish to develop a face recognition application that works with images captured from a

camera, it is required that these cameras meet some specifications in order for the images

to have enough quality to be analysed.

Camera minimum requirements:

640 x 480 resolution

24 fps or higher

Recommended requirements:

640x480 resolution

30 fps or higher

Autofocus

Automatic Iris

Wide Dynamic Range Technology

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 12

3. Incompatibilities

FacePhi SDK 5.3.0 is not compatible with previous versions to version 5.0. Installing SDK

version 5.3.0 in a development device along with another version previous to 5.0 is

incompatible.

Facial templates generated with previous versions to 5.0 are not compatible with the

recognition module provided by SDK version 5.3.0.

4. Technology functioning

This section is aimed to explain the groundwork and functioning of FacePhi face recognition

technology. Also, it is important to establish the required steps to get an optimum

performance of the technology.

Face recognition can be performed in two different ways: identification or authentication.

Using the identification mode, the recognition system identifies people without knowing

their identity beforehand.

On the contrary, authentication means that the system verifies the identity of a person

having a previous knowledge of that persons’ identity (it checks that the person really is

who he claims to be).

For authenticating or identifying a person it is necessary to have a previous registry of the

facial features of the group of people you wish to work with. This is why; prior to any

recognition process you must register the facial features of those individuals who will be

part of the system or application (individuals’ domain).

4.1. Required previous knowledge

4.1.1. Face features extractor module (Extractor)

This module analyses images with the goal of synthesizing the information of the faces

appearing in an image. For this purpose, the extractor will first detect the faces in the image

to then analyse whether they meet certain quality levels, size, pose, etc. The system extracts

the face pattern to the faces which meet these requirements, the ones which don’t, are

rejected.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 13

4.1.2. Face pattern

A face pattern is a mathematical representation of a person’s face characteristics. The

extractor module is in charge of creating the face pattern and this is done based on just one

image of the person’s face which meets some quality requirements (See section “Use

characteristics”).

The next image shows an example of how the system obtains a face pattern from a face

with an expression of happiness.

4.1.3. Face template

A face template is a set of face patterns which represents one individual. In order for this

face template to be valid for future recognition processes, all the patterns shaping that

template must belong to the same person.

Input Image

Representative face pattern

of the person's face in the

image

Face features extraction

(Extractor Module)

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 14

4.1.4. Face features Matcher module (Matcher)

This module performs the recognition process. It works in two different ways; deciding if a

person really is who he/she claims to be or finding out the person's identity. The matcher

compares face features obtained from the extractor module and decides, according to a

security level, if they belong to the same person.

4.1.5. Matcher security level

The matcher security level is a configurable parameter which indicates the similarity values

from which the system will consider if two different patterns belong to the same person or

not. Take the example of a "high" security level and a "medium" one, which represent a

similarity between patterns of 90% and 80% respectively. If we compare two patterns with a

security level set up in "medium" and the result is a similarity of 85%, then the system will

assume those patterns belong to the same person. However, if the security level was set up

in "high", the result of the similarity does not overcome 90% and therefore the system

would consider those patterns to belong to different people.

The security level must be set up according to the security requirements of the application

using face recognition.

Face features extraction

(Extractor Module) Input Images

Face template with

representative patterns of

the person

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 15

4.1.6. User structure

The user structure contains all the essential and unique face characteristics, for classifying

and distinguishing an individual from the rest. This structure is created from a face

template; therefore, it is highly recommendable to ensure the variability and different face

expressions among the patterns which configure the face template. When creating the user

structure, the system will delete the most redundant and similar patterns, those that do not

provide enough differentiation. In the following example, we can see how a user structure is

created out of information from a user with three different face expressions (happiness,

sadness and anger).

User structure

Creation of user structure

(matcher)

Representative face

template of the user

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 16

4.2. Face recognition functions

4.2.1. Enrolment

In order for a person to use the face recognition process, it is necessary to previously

register the person by enrolling his/her face characteristics. This way, the system has

enough information to compare with and decide whether to give a positive match or not.

The process of registering an individual is the following:

1. Generate a representative face template of the person with the extracted face

patterns from images of their face.

2. Generate a user structure from the template.

3. Store the user structure in order to use it in future recognition processes.

Process is shown below:

It is recommendable that the registry is done from a face template configured with the

highest possible number of patterns from the users’ face. This way, the system will store

information from different poses and face gestures, facilitating a positive match. On the

contrary, if the registry is done from a template with just one pattern, the probability of

Face Features

Extraction Input images

User Structure

Creation of user

structure

DB

Storage of user structure

Representative face

template of the user

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 17

success in future recognitions will decrease. In this case the user will only be recognized if

the face gesture and pose is very similar to the one used in the registration

4.2.2. Authentication

Authentication mode, also known as 1:1 mode, verifies the identity of a person. For this, the

system needs to compare between two entities:

A representative pattern template of the person to authenticate

A representative user structure of that person (stored in the database)

Verification will be successful if similarity obtained from the comparison is higher than the

security level established on the matcher.

The process for verifying a persons’ identity is the following:

1. Generate a representative face template of the person with the extracted face

patterns from images of their face.

2. Obtain the user structure corresponding to that person from the database (stored

during registration process).

3. Compare both entities using the matcher.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 18

Process is shown below:

4.2.3. Identification

Identification mode, also known as 1:N mode, finds out the identity of a person. It consists

of an iterative verification between the face template of the user you wish to identify and all

the user structures (stored in a database).

Necessary steps to identify a person:

Extraction of facial

features Input images

User Structure

DB

Database

Obtain user structure

of that person

Comparison

(matcher)

Comparison Result

Comparison will be successful if the

established security level is overcome

Representative Face

Template of the user

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 19

1. Generate a representative face template of the person with the extracted face

patterns from images of their face.

2. Obtain all user structures stored in the database (representative of all the users

enrolled in the system).

3. Perform consecutive verifications between the face template extracted and all the

user structures stored, using the matcher module.

Identification will be successful if, after verifying the face template against all of the other

user structures, one of the comparison results is positive and overcomes the security level

set up.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 20

This process is shown below:

For both authentication and identification, the number of patterns forming the face

template you wish to recognize, will depend on the type of application for which it will be

used. If the template has a higher, more variable number of patterns, the result of the

comparison will be more accurate. However, a template with a higher number of patterns

can mean, depending on the application, a less friendly system. For example, in an access

control, a template with a higher number of patterns means the person will have to stand in

front of the camera for longer in order for the system to take a sufficient number of frames.

Extraction of facial

features Input Images

DB

Database

Obtain user structures

Comparison

(matcher)

Identification Result

Registered user structures

Comparison will be successful if the

established security level is overcome

Representative Face

Template of the user

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 21

4.2.4. Retraining

Retraining user structures allows improving the face recognition process when aspects such

as time, variability in the face expression or lightning changes in the image, are taken into

account. As mentioned before, a user structure differentiates a person from the rest but

only under a subset of conditions during the registry (light, facial expression, etc.). If these

conditions vary from one comparison to another, recognition of the user will be slightly

diminished. For these cases, we can count on the retraining function, which will feed the

user structure with new representative patterns on new conditions.

Please find on the following image an example applied to facial expression variability. The

user on this example was registered with a template formed with face patterns representing

a happy, sad and an angry face. Then, the same user proceeds to authenticate using a

template with just one pattern with a surprise expression. The comparison between the

input template and the user structure may give a result of low similarity, forcing the system

to repeat the authentication process several times until the user has an expression which

resembles enough to one of the expressions in the user structure. To avoid this from

happening, once the person is recognized, the user structure can be retrained with the new

template. This way, in future recognition processes this person will be recognized more

easily when having a surprise expression.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 22

This process is also applicable when there are lightning variations. If a person registered

using images with an even light and then, recognized under bad lightning conditions, like

backlight for example, retraining the user structure with new patterns will ensure a

substantial improvement in these new conditions.

However, using the retraining function under weak security conditions can cause some

inconveniences. To retrain a user structure, first it must be ensured that the new pattern or

face template which will retrain it must really belong to the user (for example, user “A”). If

this is not the case, this could cause a security error, because the user “A” structure can be

retrained with information from a different user (for example, user “B”). As a consequence

of this error, user “B” could be recognized as user “A”.

Retraining (matcher)

Add pattern from face template to the

user structure

User Structure

Representative user

template

User structure

retrained

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 23

4.3. Use characteristics

Face recognition is very sensitive to the quality of the images. For this reason, we should pay

special attention when we acquire them.

4.3.1. Pose

Front position is the best face position (full-face). Head movements should not exceed 15

degrees on each direction. These movements are the following:

Nodding up and down (Pitch)

Turning right or left (Yaw)

Tilting left or right (Roll)

4.3.2. Expression

FacePhi face recognition technology is able to obtain, enrol and verify face patterns even

when there are face slight movements and different face expressions. Nevertheless, if there

are important changes on the face expression, the software may require a more natural

position.

4.3.3. Lighting

Lighting is a very important factor. The light should be as diffuse as possible in order to be

equally distributed all over the face (a diffuse light is the opposite of a hard or directional

light which causes shadows and highlights).

Visible shadows should be avoided. Shadows might appear when a high intensity light is

used or when there is backlighting on the scene. For this reason, we advise you to avoid

such situations.

4.3.4. Glasses

Situations where the lighting may cause reflections on the crystals of the glasses should be

avoided. If necessary, remove the glasses during the extraction process.

Recommended glasses are those ones with clear and transparent crystals because, both

eyes and iris are perfectly visible. Sunglasses are not accepted due to their dark lenses which

cause eyes occlusion.

4.3.5. Capture devices

Recommended resolution: 640x480 (VGA).

Webcams are the most common capture devices.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 24

Ideally, all images should be registered and identified using the same webcam. Different

capture devices might have different optical distortions that might affect the functioning of

the face recognition system.

4.4. Changes

4.4.1. Face

Beard, moustache and some other facial characteristics may affect the reliability of the

recognition process but, however, the system has a high level of tolerance against these

changes.

4.4.2. Capture device

As mentioned before, the lens system is very important.

When the capture device changes, generally, the lens system also changes and so do the

perception (each lens system can deform the image in a different way). Besides, each device

counts on a different sensor which encodes the information and it can also introduce

differences. Sometimes, when the camera is changed, the system may require a new

registration.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 25

5. API Description

This section describes the contents of the API. For more detailed information see the help

files.

5.1. Components

FacePhi SDK 5.3.0 is a set of C++, Silverlight, .NET, Java, Android and iOS development

libraries. It is divided in two main sections which allow you to completely isolating the task

of face detection and facial features extraction on one side (extractor) and the template

recognition task on the other (matcher).

Moreover, the system offers additional modules that complete the product. These

additional modules are: the exceptions management library, the license activation library

and the modules responsible for performing Windows login (Credential Providers).

Figure 1. FacePhi SDK 5.3.0 modules

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 26

To get the information about the different APIs that make up the SDK, you should check

these documents_

Desktop Applications / Server Applications

- “FPhi SDK .NET API.pdf”.

- “FPhi SDK Cpp API .pdf”.

- “FPhi SDK Java API.pdf”.

Mobile Applications

- “FPhi SDK iOS API.pdf”.

- “FPhi SDK Android API.pdf”.

5.1.1. Extraction module (FacePhi Extractor)

The extraction module (“FacePhi Recognition Extractor”) performs the first task of the

process (face detection and extraction of facial features). These functionalities are included

in the library named “FPhi.Extractor.dll”.

Basically, this module will be responsible for providing a variety of functions such as

generating the facial pattern from images or input samples, managing the system’s

configuration for the extraction of facial features and drawing facial markings from the

results of the extraction process.

The internal composition of this module, along with the different elements which configure

it, are shown in the following diagram:

Figure 2. Face features extraction module

5.1.2. Recognition module (FacePhi Matcher)

On the other hand, FacePhi SDK 5.3.0 provides another module in charge of the recognition

tasks (“FacePhi Recognition Matcher”). It is included in the native library named

“FPhi.Matcher.dll”.

FacePhi Extractor API

Extractor

Extraction Result

Extractor Configuration

Manager

Extractor Exception

Imaging Exception

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 27

This module will be responsible for providing functions regarding the comparison of facial

templates generated from extractor module.

FacePhi SDK 5.3.0 does not require access to databases for template storage.

Instead, FacePhi SDK 5.3.0 only works with input templates to generate a result;

therefore, the integrator will be responsible for implementing a custom module for

template storage. This represents a clear advantage because it offers the integrator

a fully flexible and customizable solution providing him with a simple mechanism to

incorporate the facial recognition technology in pre-existent systems without

violating the privacy of the stored data.

The integrator is who establish who and how can access the data.

Figure 3. Facial template comparison module

5.2. Technology settings

FacePhi SDK 5.3.0 is fully configurable. Configurable parameters are the following.

5.2.1. FacePhi Recognition Extractor

Maximum number of threads (MaximumThreads): determines the maximum

number of threads the system will use in the face detection process and in the

extraction of the facial pattern.

For values under 1, the system will use the necessary number of threads. For values

higher than the necessary number of threads, the system will not use the remaining

threads.

Minimum distance between eyes (MinimumDistanceBetweenEyesAllowed):

determines the minimum required distance (in pixels) in order for a sample to be

considered as valid.

FacePhi Matcher API

Matcher

Authentication Result

Comparison Result

Matcher Configuration

Manager

Matcher Exception

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 28

Maximum distance between eyes (MaximumDistanceBetweenEyesAllowed):

determines the maximum allowed distance (in pixels) in order for a sample to be

considered as valid.

“Multiface” detection mode (MultiFace): detection mode for searching multiple

faces. If this mode is activated, the system will search all faces in one image. Then, it

will proceed to extract the facial pattern of each one of them. If this mode is

deactivated, the system will extract the facial pattern of the biggest face (usually the

closest one to the capture device).

Quality Filter (ImageQualityFilter): indicates the possibility of analysing the quality

of the images previous to the extraction of the facial characteristics. This way, if the

image does not meet minimum quality requirements, the system will not extract the

pattern. This avoids analysing poor images that can lead to a faulty performance of

the system.

Values supported in this function are:

o Off: quality filter is not being used.

o Low: High tolerance against low quality images.

o Medium: Medium tolerance against low quality images.

o High: Low tolerance against low quality images.

Naturalness pattern filter (PatternQualityFilter): Indicates the possibility of discard

false patterns as a previous step before start with the extraction of the facial

characteristics. This avoid to introduce in the biometric information generated some

image data which don’t correspond to the user’s face, but it can present a high

similarity.

Values supported in this function are:

o Off: quality filter is not being used.

o Low: High tolerance against false patterns.

o Medium: Medium tolerance against false patterns.

o High: Low tolerance against false patterns.

Liveness detector (LivenessDetectionPrecision): indicates the possibility of analysing

the liveness of a person present in an image sequence in order to avoid the

impersonation using photographs.

Values supported in this function are:

o Off: The detector is not used

o Low: the more permissive configuration is applied in which the process is

friendlier. People should make no effort to demonstrate its liveness (may not

detect certain photographs).

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 29

o Medium: The friendly level is medium

o High: A less permissive configuration is applied. Therefore the liveness

detection process is less friendly. People should make an effort to

demonstrate its liveness (may not detect certain people).

5.2.2. FacePhi Recognition Matcher

Security Level (MatchingSecurityLevel): determines the recognition process

reliability and therefore, the security level of the system.

Values supported for this parameter – from lowest to highest – are as follows:

o MediumSecurityLevel

o MediumHighSecurityLevel

o HighSecurityLevel

o VeryHighSecurityLevel

o HighestSecurityLevel

Comparison reliability offered (on) by a user structure (TemplateReliability):

Represents the reliability offered by a user structure during the comparison process.

This value is closely related to the number of face patterns stored in the user

structure. Also, this value is taken into account when creating the user structure for

the pattern packaging. The higher the value, higher the number of patterns packaged

in the user structure and therefore, a greater number of comparisons between

patterns when comparing templates. This increase in the number of comparisons

translates into a higher reliability on identification and verification processes.

Values supported are:

o MediumTemplateReliability

o HighTemplateReliability

o VeryHighTemplateReliability

o ExtremeTemplateReliability

“MediumTemplateReliability” represents medium reliability (lower number of stored

patterns) and “ExtremeTemplateReliability” represents maximum accuracy (higher

number of stored patterns).

5.2.3. Default settings

The default system configuration is shown in the following table:

Parameter Range Value

Minimum distance between eyes (MinimumDistanceBetweenEyesAllowed)

[40, Max integer] 50

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 30

Maximum distance between eyes (MaximumDistanceBetweenEyesAllowed)

[40, Max integer] Max integer

Maximum number of threads (MaximumThreads)

int Number of logical

processors of the system

“Multiface” detection mode (MultiFace) TRUE

FALSE FALSE

Quality Filter (ImageQualityFilter)

Off

Low

Medium

High

Low

Natural Filter (PatternQualityFilter)

Off

Low

Medium

High

Medium

Liveness detector (LivenessDetectionPrecision)

Off

Low

Medium

High

Off

Security Level (MatchingSecurityLevel)

MediumSecurityLevel

MediumHighSecurityLevel

HighSecurityLevel

VeryHighSecurityLevel

HighestSecurityLevel

HighSecurityLevel

User structure reliability on comparison (TemplateReliability)

MediumTemplateReliability

HighTemplateReliability

VeryHighTemplateReliability

ExtremeTemplateReliability

HighTemplateReliability

Table 3. Default settings

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 31

5.2.4. Recommended configuration for 1:1 mode

Recommended configuration for the recognition system on facial verification mode 1:1

(user authentication), is shown in the following table.

Parameter Range Value

Minimum distance between eyes (MinimumDistanceBetweenEyesAllowed)

[40, Max integer] 50

Maximum distance between eyes (MaximumDistanceBetweenEyesAllowed)

[40, Max integer] Max integer

Maximum number of threads (MaximumThreads)

int Number of logical

processors of the system

“Multiface” detection mode (MultiFace) TRUE

FALSE FALSE

Quality filter (ImageQualityFilter)

Off

Low

Medium

High

Low

Natural Filter (PatternQualityFilter)

Off

Low

Medium

High

Medium

Liveness detector (LivenessDetectionPrecision)

Off

Low

Medium

High

Off

Security Level (MatchingSecurityLevel)

MediumSecurityLevel

MediumHighSecurityLevel

HighSecurityLevel

VeryHighSecurityLevel

HighestSecurityLevel

HighSecurityLevel

User structure reliability on comparison (TemplateReliability)

MediumTemplateReliability

HighTemplateReliability

VeryHighTemplateReliability

ExtremeTemplateReliability

HighTemplateReliability

Table 4. Recommended settings for 1:1 mode

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 32

5.2.5. Recommended configuration for 1:N mode

Recommended configuration for the recognition system on facial identification mode 1:N

(user identification) is shown in the following table.

Parameter Range Value

Minimum distance between eyes (MinimumDistanceBetweenEyesAllowed)

[40, Max integer] 50

Maximum distance between eyes (MaximumDistanceBetweenEyesAllowed)

[40, Max integer] Max integer

Maximum number of threads (MaximumThreads)

int Number of logical

processors of the system

“Multiface” detection mode (MultiFace) TRUE

FALSE FALSE

Quality filter (ImageQualityFilter)

Off

Low

Medium

High

Off

Natural Filter (PatternQualityFilter)

Off

Low

Medium

High

Medium

Liveness detector (LivenessDetectionPrecision)

Off

Low

Medium

High

Off

Security Level (MatchingSecurityLevel)

MediumSecurityLevel

MediumHighSecurityLevel

HighSecurityLevel

VeryHighSecurityLevel

HighestSecurityLevel

HighSecurityLevel

User structure reliability on comparison (TemplateReliability)

MediumTemplateReliability

HighTemplateReliability

VeryHighTemplateReliability

ExtremeTemplateReliability

HighTemplateReliability

Table 5. Recommended settings for 1:N mode

Important: all previously recommended configurations were established supposing that the

same camera is being used at all times, for both the registration and verification processes.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 33

Nevertheless, even if the camera is changed, the system can be used with this same

configuration. However, there cannot be serious alterations in the camera conditions or

lighting. If these conditions drastically change, it is possible that the system is not able to

recognize the users correctly, generating what is known as false rejections. If this were to

happen, it will be necessary to reset the system conditions or register once again the users

that were affected by these changes.

5.3. Filters available for detection and extraction

Next, it is described the functioning of the available filters which can be applied during the

detection process.

5.3.1. Proximity filter

This filter is determined by the parameters “MinimumDistanceBetweenEyesAllowed” and

“MaximumDistanceBetweenEyesAllowed” available in the extraction module configuration

(ExtractorConfigurationManager). It determines if a face has the proper size to start

extraction process of its facial features. During the face detection process, the system will

give the following results according to the configuration:

OK: face distance is adequate

FaceTooFar: Face is too far. It does not meet minimum required distance between

eyes.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 34

FaceTooClose: Face is too close. It does not meet maximum required distance

between eyes.

FaceTooCloseToWindowSide: Face is too close to edge.

5.3.2. Quality filter

This filter is determined by the parameter “ImageQualityFilter” available in the extraction

module configuration (ExtractorConfigurationManager). This filter allows determining

whether an image meets the quality requirements (sharpness and noise) or not. If this filter

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 35

is activated, the system avoids analysing images with low quality and information that can

lead to a flaky performance of the system.

OK: The image meets all of the quality requirements.

QualityCheckFailed: The image does not meet the quality requirements established

in the system’s configuration.

5.3.3 Naturalness pattern filter

This filter is determined by the “PatternQualityFilter” located in the extractor module setup

(ExtractorConfigurationManager). Allows to determine if the patterns with unnatural faces

will be discarded. If it is activated, the system avoid to include patterns of unnatural faces in

the facial pattern generated and could conduct to a low performance of the system

functioning.

5.3.4 Liveness detector

The purpose of the liveness detector or photograph detector is to verify that the person

appearing in a sequence of images is really a person (alive) and not a photograph. Using this

detector we can avoid situations in which a person is trying to commit identity fraud by

using photographs of another person’s face.

This detector does not work on one sample (image), it performs a liveness analysis over a

sequence of enough images, proving that the person appearing in those images is real

(alive). This is why, contrary to the quality or proximity filter, the result of this analysis is

given as a part of the final photography diagnostic (LivenessDiagnostic), as shown below:

NotRated

PhotoDetected: unable to prove that the person in the sequence of images is a real person

(alive).

LivenessDetected: the person in the sequence of images represents a person alive.

The use of this detector is determined by the property “LivenessDetectionPrecision” in the

extractor configuration (ExtractorConfigurationManager).

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 36

5.4. Diagnostics

Next we show the two types of diagnostics offered by the extraction module. Diagnostics

are a way of notifying the status of the image analysis, as well as the status of the template

generation.

5.4.1. Sample diagnostic

It represents the result of the face detection process on an image. This result can be in the

following values:

FaceTooFar: face is too far. The image does not meet the minimum requirement for

the distance between eyes set up in the extraction module

(ExtractorConfigurationManager).

FaceTooClose: face is too close. The image does not meet the maximum

requirement for the distance between eyes set up in the extraction module

(ExtractorConfigurationManager).

TooCloseToWindowSide: face is too close to the capture edge of the image.

FaceNotFound: the system did not found any face in the image. No face appears on

the image or it is possible that the face does not meet the indications shown in

section “Use characteristics”.

RightEyeNotFound: right eye was not found. It is possible the face on the image does

not meet the indications shown in section “Use characteristics” such as improper

glasses or light reflections.

LeftEyeNotFound: left eye was not found. It is possible the face on the image does

not meet the indications shown in section “Use characteristics” such as improper

glasses or light reflections.

EyesNotFound: Eyes were not found. Is possible the face on the image does not

meet the indications shown in section “Use characteristics” such as improper glasses

or light reflections.

Ok: The position of the face in the image is optimal for features extraction.

AngleExceeded: Face in the image is overly rotated.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 37

QualityCheckFailed: Image does not meet quality requirements (sharpness, noise)

established in the extraction module configuration

(ExtractorConfigurationManager).

NotRated: Image not evaluated.

5.4.2. Template creation diagnostic

This value represents the status of facial template creation. This diagnosis can take the

following values:

TemplateCreationInProgress: Indicates that facial template generation process is in

progress.

TemplateCreated: Face template was successfully created.

InsufficientValidSamples: Face template was not created due to an insufficient

number of face patterns.

5.4.3. Photography detection diagnostic

This value represents the status of liveness detector. This diagnosis can take the following

values:

NotRated: Photography detector is not enabled.

PhotoDetected: Unable to prove that the person in the image sequence represents a

person (alive). This value, if returned, will be returned after analysing the whole

sequence of images initiated through the “InitStreamExtraction” function.

LivenessDetected: The person in the image sequence is a person alive. This value, if

returned, will be returned after analysing the whole sequence of images initiated

through: “InitStreamExtraction” function.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 38

6. Integration

FacePhi SDK 5.3.0 is a system designed to be fully scalable and adaptable to a variety of

environments. Here there are some examples of possible architectures that can be

implemented through the product.

6.1. Possible architectures

6.1.1 AD-HOC architecture (Windows)

With this structure it would be possible to build an ad-hoc model by designing a top layer

which will implement the graphic interface and the data access:

Figure 5. Ad-hoc architecture (Windows)

6.1.2 Client-Server architecture (Windows)

Another option is implementing a client-server system, for example, by using a web service:

Graphic User Interface (GUI)

Windows

Presentation

Foundation

Windows Forms

Others

FacePhi Extractor FacePhi Matcher

DB

Data Access layer

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 39

Z

Figure 6. Client-Server architecture

In this architecture, the client’s application would be in charge of extracting the facial

templates and then, send them to a server. The server would be responsible for managing

the registration and comparison of facial templates.

FacePhi Matcher

Graphics User Interface (GUI)

FacePhi Extractor

WPF Application

Network (LAN, Internet…)

Web Service / Microsoft WCF (Windows Communication Foundation)

Windows Forms Application

Data Access Layer

DB

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 40

Another option is to implement an ASP.NET application which hosts a web control:

Figure 7. Client-server architecture through web browser

In this architecture, the Silverlight control is in charge of extracting the patterns of the

client’s side. The registration and verification of patterns will be carried out on the server.

FacePhi Matcher

Network (LAN, Internet…)

ASP .NET Application

DB

Data Access Layer

Web Browser

FacePhi Extractor

Silverlight / NaCl

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 41

6.1.3 Client-Server architecture (Android/iOS + Windows)

With this structure it would be possible to build a client-server model. The client is an

Android or iOS application which integrates the facial features extraction module. By using a

web service, it is communicated with a server where just the recognition module is hosted.

Figure 8. Client-Server architecture (local database)

Graphic User Interface (GUI)

Android / iOS Application

Others

FacePhi Extractor

FacePhi Matcher

DB

Network (LAN, Internet…)

Data Access Layer

Web Service / Microsoft ASP.NET

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 42

6.1.4 Client-Server architecture (Android/iOS + Windows with mobile database)

With this structure it would be possible to build a client-server model. The client is an

Android or iOS application which integrates the facial features extraction module and users

storage. By using a web service, it is communicated with a server where just the recognition

module is hosted.

Figure 9. Client-server architecture (local database)

In this architecture, the client’s application would be in charge of extracting the patterns in

order to send them afterwards to the server. The server would be in charge of the face

patterns comparison in order to return all data needed for registration as well as the

response for authentication and identification.

Graphic User Interface (GUI)

Android / iOS Application

Others

FacePhi Extractor

FacePhi Matcher

DB

Network (LAN, Internet…)

Data Access Layer

Web Service / Microsoft ASP.NET

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 43

7. Database

As mentioned before, FacePhi SDK 5.3.0 does not implement any data access logic for the

storage of templates. Instead, it provides the necessary mechanisms for the extraction and

recognition of templates.

Nevertheless, a scheme for the storage of facial information of users should include at least

the following data:

ID – user identification

DATA – facial data of the user.

Figure 11. Necessary data to implement a solution based on FacePhi SDK 5.3.0

ID : varchar

DATA : varbinary(max)

Users

SQLServer

ID : varchar

DATA : longblob

Users

MySQL

ID : varchar

DATA : blob

Users

Oracle

ID : varchar

DATA : byte

Users

PostgreSQL

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 44

8. Versions

SDK 5.2

Bugs correction from 5.1.1 version

Improvements in the reliability of the registration of facial characteristics.

Optimization of the memory used in the extraction process.

iOS devices compatibility (includes development libraries to extract the facial

characteristics in iOS)

iOS user control to facilitate to the developer in the mobile applications developing.

iOS programming example of detection, extraction and comparison of facial

characteristics.

Improvements in the reliability and efficiency of Android user control.

Graphic improvements at WPF user control interface.

New functionalities at Silverlight control user (Change of properties in runtime)

Programming example of facial extraction using a HTML5 client.

Improvements in the licenses activator (Serial number’s encrypting).

SDK 5.2.1

Bugs correction from 5.2 version

New photo detection system, more efficient and friendly.

Silverlight user control: new interface and user experience improved.

User Controls Android, iOS, WF y WPF: user experience improved.

SDK 5.2.2

Bugs correction from 5.2.1 version

New filter to detect unnatural faces.

Silverlight user control: easy to integrate and incorporates false faces detection

filter. Modularization of process of photography’s detection and extraction of facial

characteristics.

User Controls Android, iOS, WF y WPF: false faces detection filter added.

Modularization of process of photography’s detection and extraction of facial

characteristics

SDK 5.3.0

Bugs correction from 5.2.2 version

Specific documentation for each technology

New examples of JAVA language programming

Improvements in the user control in Web and Mobile

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 45

9. Frequently asked questions (FAQ)

For any inquiries or malfunctioning, please contact FacePhi’s technical department (see

section “Contact information”). Write down the error code and message – if that is the case –

and try to explain the problem in detail.

9.1. General

What is facial biometry?

Biometry is a science capable, through automated methods, of identifying and verifying the

identity of a person based on physical or behavioural characteristics, in this case, facial

characteristics.

Why not use another type of biometry?

Facial recognition is less intrusive than other types of biometry. Also, it does not require a

high level of collaboration from the user and identity theft is practically impossible.

What is FacePhi SDK 5.3.0?

FacePhi SDK 5.3.0 is a development API designed for integrators which provides all of the

necessary methods and structures for developing recognition solutions based on Windows,

iOS and Android environments.

Where can I get documentation for FacePhi SDK 5.3.0?

All the necessary documentation for FacePhi SDK 5.3.0 is provided together with the

development libraries in the installation package. It can also be found in the download

server of FacePhi.

Where can I get FacePhi SDK 5.3.0?

Please contact our commercial department through the contact information provided in

section “Contact information”.

Where can I get support for FacePhi SDK 5.3.0?

If you have any technical consultation, suggestion or report, please contact our technical

support department. Contact information can be found in section “Contact information”.

Is the user image stored?

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 46

No. FacePhi SDK 5.3.0 does not work with images directly, but with a representation of the

most important features of the image. Therefore, it is not possible to reconstruct an image

of the user’s face.

Is there a problem if I wear glasses?

No, as long as the minimum requirements are reached (see section “Use characteristics –

Glasses”).

Does the system work if I change my appearance; haircut, beard, etc.?

Yes. The system should keep functioning as normal, as long as the restrictions are met and

there are no substantial changes in the face (hair covering the eyes, etc.) (See section “Use

characteristics”).

Do I need to collaborate in any way in order for the system to work?

No. The main recommendation is having a natural pose while looking at the camera (see

section “Use characteristics”).

Can a family member access the system for me, for example, a twin brother?

No. The core of our system FacePhi SDK 5.3.0 assures discrimination of impostors. Several

tests have been made with twins and the system has never incurred in an error.

9.2. Installation

How do I install FacePhi SDK 5.3.0 in my system?

FacePhi SDK 5.3.0 is distributed with a simple installer which will guide the user during the

product installation.

In how many machines can I install FacePhi SDK 5.3.0?

It depends on the type of license you acquired. Usually FacePhi SDK 5.3.0 is licensed for one

device. This type of licensing validates the software installation in only one machine.

If you wish to have more information regarding this matter please contact our commercial

department through the contact information you can find in section “Contact Information”.

9.3. System requirements

What kind of hardware do I need for using FacePhi SDK 5.3.0?

See section “Requirements – Development Hardware” y “Requirements – Production Hardware”.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 47

Do I need to have any plug-ins installed in order for FacePhi SDK 5.3.0 to work?

See section “Requirements - Software”.

What platform does FacePhi SDK 5.3.0 work on?

See section “Requirements - Software”.

What type of camera do I need to use with FacePhi SDK 5.3.0?

As it is known, cameras are not the only source to get images to work with. However, in

case you wish to develop an application using face recognition which works with images

obtained from a camera, it is necessary that they meet minimum requirements in order to

get images with sufficient quality to be analysed.

Minimum camera requirements:

640 x 480 resolution

24 fps or higher

Recommended:

640x480 resolution

30 fps or higher

Autofocus

Automatic Iris

Wide Dynamic Range Technology

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 48

9.4. Licences

What do I need to do in order to get a license for FacePhi SDK 5.3.0?

Reach our commercial department through the contact information you can find in section

“Contact information”.

How do I activate a license for FacePhi SDK 5.3.0?

In the product installation package you can find an application to activate the FacePhi

software. It allows activating and installing licenses for the supplied serial numbers.

For more information regarding license activation consult the document “FacePhi LM

Software –Activation Guide”.

What type of license can I get for FacePhi SDK 5.3.0?

Currently FacePhi SDK 5.3.0 is licensed individually for each machine. These licenses will

depend on the type of application you wish to develop: .NET, Java or native desktop

applications, web applications using our Silverlight user control, Android or iOS applications

and .NET applications integrated into the Windows login.

If you are interested in getting more information about this matter or in acquiring another

type of license, please contact our commercial department through the contact information

in section “Contact information”.

9.5. Functioning

Under which lighting conditions should FacePhi SDK 5.3.0 work?

Lighting is a very important factor. If possible, light should be equally distributed over the

face.

Visible shadows on the face should be avoided. This will occur especially when direct

lighting is used or when there is backlighting in the captured scene. It is recommended

avoiding these types of situations.

What is the required distance between the user and the camera to be recognized by

FacePhi SDK 5.3.0?

The required distance can be adjusted. The maximum distance is determined by the

parameter “minimumDistanceBetweenEyes” which can be adjusted depending on the

image resolution or final needs. The minimum distance is determined by the parameter

“maximumDistanceBetweenEyes” (See section “API Description - Technology Settings”).

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 49

In an image with a resolution of 640x480 pixels and a minimum distance between eyes of 70

pixels, the maximum distance from the camera is around 75 centimetres. Note that this may

vary depending on the optical characteristics of the capture device (wide lens, zoom, etc.).

How many faces can the system detect in one image?

The system can be adjusted to work either in “multiface” or “single-face” mode. In the

“multiface” mode, the system tries to detect all the faces in one image. In “single-face”

mode, from all the detected faces, the system will work only with the largest size face (the

one that appears closer).

Will FacePhi SDK 5.3.0 recognize me if I am wearing glasses?

Yes, but it depends on several factors. Situations where lighting causes reflects on the lenses

should be avoided. If reflects could not be avoided, it is best if the glasses are removed for

the capture process.

It is recommended that only clear, see-through glasses are used so that the eyes and iris are

clearly visible.

Sunglasses are not accepted for their dark lenses, causing occlusion of the eyes.

How do changes in the face from ageing affect the recognition process of FacePhi SDK

5.3.0?

FacePhi SDK 5.3.0 tolerates moderate face changes due to ageing. However, if more radical

changes occur, the system might not be able to correctly identify the user, having to enrol

the user once again.

What position should the user have to be recognized by FacePhi SDK 5.3.0?

Optimal position of the face is frontal or full face. Head movements should not overpass 15º

degrees on each direction. These movements are the following:

Nodding up and down.

Turning right or left.

Tilting right or left.

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 50

10. Contact Information

For general inquiries, please, contact us through the following:

E-mail

[email protected]

Website

www.facephi.com

Headquarters

México Avenue, 20 Alicante, Spain 03008

Telephone

(+34) 965 10 80 08

10.1. Commercial contact

For any commercial inquiry, please, contact us:

E-mail

[email protected]

Telephone

(+34) 965 10 80 08

10.2. Technical support

For any technical question, suggestion or report, please, contact us:

E-mail

[email protected]

Telephone

(+34) 965 10 80 08

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 51

10.3. Feedback and suggestions

If you would like to make any suggestion or if you detect any type of error, please, contact

us:

E-mail

[email protected]

Telephone

(+34) 965 10 80 08

FacePhi SDK 5.3.0 User Manual

A l i c a n t e ( S P A I N ) • P a n a m á C i t y • B u e n o s A i r e s

S a n t i a g o d e C h i l e • B o g o t á • S a n J o s é • Q u i t o

Page 52