Professional Documents
Culture Documents
0/MegaMatcher
3.1 Algorithm Demo
User's guide
1 Introduction 1
1.1 System Requirements 1
3 Liveness detection 3
5 Application 5
5.1 Windows 5
5.1.1 Main Window 5
5.1.2 Options Dialog 6
5.1.3 Menu Commands 9
5.1.4 Simple Usage Examples 9
5.2 Linux 10
5.3 Mac OS X 10
Index a
iii
1 Introduction
VeriLook 4.0/MegaMatcher 3.1 Algorithm Demo application is designed with aim to demonstrate the capabilities of 1
Neurotechnology faces recognition engine. The program is a Windows 2000/XP/Vista/7 compatible GUI application.
Evaluation software supports image acquisition from the external video source (such as Web cameras) via DirectX library. It
can also read face images from .bmp, .tif, .png, .jpg, .gif files.
1. Enrollment. Software processes the face image, extracts features and writes them to the database.
2. Face enrollment features generalization. This mode generates the generalized face features collection from a number
of the face templates of the same person. Each face image is processed and features are extracted. Then collections of
features are analyzed and combined into one generalized features collection, which is written to the database. The face
recognition quality increases if faces are enrolled using this mode.
3. Matching. This mode performs new face image matching against face templates stored in the database.
• 128 MB of RAM, 1Ghz CPU, 9MB HDD space for the installation package.
• Microsoft Windows 2000/XP/Vista/7.
• DirectX 8.1 or later. You can download DirectX upgrade from Microsoft web site.
• Microsoft GDI+. This library is supplied with Windows XP and Windows .NET Server family. If you are using any other
modern Windows platform (Windows 98/Me and Windows NT 4.0/2000) you should download and install it from Microsoft
web site.
• The Microsoft® XML Parser (MSXML) 3.0 SP4 is required so if it is not already in the system you should download and
install it from Microsoft web site.
• (Optionally) Video capture device (web camera).
Linux requirements:
1
2 Face Image Constraints
Face recognition accuracy heavily depends on face image quality. Especially, maximum care should be taken in acquiring
good quality facial images in enrollment step. During enrollment one or more (if available) images are converted into facial
features template which is usually saved into database and can be further used to rapidly identify or verify the person.
The following basic recommendations and requirements should be taken under consideration:
1. Use near-frontal face images for enrollment with a rotation deviation of up to 10 degrees in any direction (yaw, pitch, roll).
VeriLook 4.0/MegaMatcher 3.1 Algorithm Demo supports roll angle deviation up to 180 degrees.
2. Use more than one image for enrollment to cover slightly different face views in yaw and pitch directions. In case of
successful coverage, faces up to 25 degrees deviation from frontal can be recognized.
3. Neutral face expression is preferred in the enrollment step. During identification slight changes in facial expression do not
influence face recognition accuracy. 2
4. Persons wearing glasses should use several images - with and without glasses - for enrollment. Thus, during
identification they will be recognized in both cases.
5. Glasses with heavy frames and sunglasses will decrease face recognition accuracy.
6. Changes in face appearance because of facial hair should be accommodated in the same manner as wearing of glasses.
Lightning
2
3 Liveness detection
Faces algorithm is capable to differentiate live faces from non live faces (e.g. photos). "Use liveness check" checkbox and
"Liveness threshold" parameter in the options dialog controls the behavior of liveness check. When "Use liveness check"
checkbox is marked, the liveness check is performed while matching. That is the liveness score of collected stream is
calculated and checked against the liveness score threshold set in the "Liveness threshold" parameter.
Using liveness check requires a stream of consecutive images. (This check is intended to be used mainly with video stream
form a camera). The stream must be at least 10 frames length and the recommended length is 10 - 25 frames. Only one
person face should be visible in this stream. If the stream does not qualify as "live" and "Extraction failed" message is
displayed in the log window.
To maximize the liveness score of a face found in an image stream, user should move his head around a bit, tilting it, moving
closer to or further from the camera while slightly changing his facial expression. (e.g. User should start with his head
panned as far left as possible but still detectable by face detection and start panning it slowly right slightly changing his facial
expression until he pans as far right as possible (but still detectable by face detector)).
3
4 Matching Threshold and Score
VeriLook 4.0/MegaMatcher 3.1 Algorithm Demo features matching algorithm provides value of features collections score as
a result. The higher is score, the higher is probability that features collections are obtained from the same person.
Matching threshold is linked to false acceptance rate (FAR, different subjects mistakenly accepted as of the same) of
matching algorithm. The higher is threshold, the lower is FAR and higher FRR (false rejection rate, same subjects
erroneously accepted as different) and vice a versa.
You can convert matching threshold to FAR (false acceptance rate) and vice versa using this table:
4
5 Application
VeriLook 4.0/MegaMatcher 3.1 Algorithm Demo incorporates Neurotechnology face recognition algorithm. Using this demo
application face images can be enrolled from still images (from image files) or video streams (from cameras) and
identification task performed.
5.1 Windows
VeriLook 4.0/MegaMatcher 3.1 Algorithm Demo application in Windows OS can be started from
FacesAlgorithmDemo.exe.
Person can be enrolled using "Enroll" command. After enrolling a person's image from file the main window looks like this:
5
The main window panes are these:
1. Top face detection pane, used to display video or still images and result of face detection algorithm overlaid on image.
5
2. Left pane is application log, used for system information and application progress messages.
3. Right pane is matching results pane for listing id of the subject in the database, most similar to matched image. Subjects
are considered “similar” if their score value exceeds matching FAR (False acceptance rate) set via Options
(Options->Identification) dialog. Also in this pane matching score is displayed.
Face Detection:
6
• Face quality threshold – controls how strict rules are applied when determining the quality of a found face for extraction.
Enrollment:
• Template size - size of face image templates. Can be used Large, Medium or Small template. It is recommended to use
large template size.
• Frame count – maximum number of frames to process with face detection algorithm while enrolling subject using video
camera.
• Max records per template - maximum number of extracted face records to be saved within one face records template.
Identification:
5
7
• Template size - default size of face images templates when performing identification. Can be used Large, Medium or
Small template. It is recommended to use medium template size.
• Frame count – maximum number of frames to process with face detection algorithm while identifying subject using video
camera. When liveness check is used this value must be at least 10 or more (Recommended range is 10 - 25 )!
• FAR - threshold that separates identical and different subjects. Matching threshold is linked to false acceptance rate
(FAR, different subjects erroneously accepted as of the same) of matching algorithm. The higher is threshold, the lower is
FAR and higher FRR (false rejection rate, same subjects erroneously accepted as different) and vice a versa.
• Speed – defines identification speed. When the most accurate identification results are required it is recommended to use
Low speed. But in this case identification task is performed slower. If the maximum identification speed is required it is
recommended to use High identification speed. Note: Template size also affects identification speed. The highest
possible identification speed is achieved when Small template and High speed is used.
• Use liveness check – Controls if liveness check ( see page 3) is used while matching.
• Liveness threshold – controls the requirements for live faces. The greater this value is the more strict rules are applied to
check if face in an image stream is live. (If this value is set to 0 all faces are considered to be live).
Misc:
8
• Flip image horizontally – mirror horizontally image received from video camera.
9
marked by the program).
3. To enroll a face from a video stream, "enroll" button in the toolbar can be used or option "enroll" from a system menu
"jobs" can be selected. For this operation to succeed at least one face in the image must be present. Program will
process a few frames and will enroll face into the database of the demo program from these frames and a dialog asking
for the person to be enrolled id will be shown.
5.2 Linux
VeriLook 4.0/MegaMatcher 3.1 Algorithm Demo application on Linux can be started from FacesAlgorithmDemo file. There
are separate distribution for 32 bits and 64 bits operating system. See Windows ( see page 5) part to find out how to use
this application.
5.3 Mac OS X
VeriLook 4.0/MegaMatcher 3.1 Algorithm Demo application on Mac OS can be started from FacesAlgorithmDemo.app
file. See Windows ( see page 5) part to find out how to use this application.
10
Index
A
Application 5
F
Face Image Constraints 2
I
Introduction 1
L
Linux 10
Liveness detection 3
M
Mac OS X 10
Main Window 5
Matching Threshold and Score 4
Menu Commands 9
O
Options Dialog 6
S
Simple Usage Examples 9
System Requirements 1
W
Windows 5