VeriLook Technology and SDK
- VeriLook 5.0 Standard and Extended SDK.
VeriLook 5.0 Standard SDK is intended for PC-based biometric
application development and the Extended SDK is suitable for developing
Web-based biometric systems. Camera management software in the SDK
allows simultaneous capture from multiple cameras … Read
more
- System requirements. VeriLook-based
software can be run on computers with x86 or PowerPC processors (at
least 2 GHz processor recommended). Windows,
Linux and Mac OS X platforms are supported. A webcam
is enough to capture face images… Read
more
- Technical specifications. VeriLook matches
up to 440,000 faces per second, can enroll a face in less
than
0.06
seconds, can use as little as 4 kilobytes
for a face template in a database… Read more
- Reliability and performance tests.
VeriLook
algorithm has been tested with FRGC database. Experiment
1 and Experiment 2 were performed according to FRGC
protocol… Read
more
|

Click to zoom
|

Click to zoom |
- Download. VeriLook brochure, algorithm demo
application and VeriLook 30 Day Trial
SDK
are
available for downloading.
- References. More than a million copies of
VeriLook are used worldwide. Case studies show the
most notable projects like VeriLook being used in Lenovo
notebook computers. If you would like product references
or case studies please contact
us today
|
Back to top of this page
Contents of
VeriLook Standard SDK and Extended SDK
VeriLook SDK is based on VeriLook PC-based face recognition technology
and is intended for biometric systems developers and integrators. The
SDK allows rapid development of biometric applications using functions
from the VeriLook algorithm that ensure fast and reliable face
identification. VeriLook can be easily integrated into the customer's
security system. The integrator has complete control over SDK data
input and output.
VeriLook SDK includes Camera Manager library for Microsoft Windows
and Linux that allows to perform simultaneous capture from
multiple cameras.
VeriLook is available as the following SDKs:
- VeriLook 5.0 Standard SDK
is intended for PC-based biometric application development. It includes
Face Matcher and Extractor component licenses, programming samples and
tutorials, camera manager library and software documentation. The SDK
allows the development of biometric applications for Microsoft Windows,
Linux or Mac OS X operating systems.
- VeriLook 5.0 Extended SDK is intended for
biometric Web-based and network application
development. It includes all features and components of the Standard
SDK. Additionally, the SDK contains Face Client component licenses,
sample client applications, tutorials and a ready-to-use
matching server component.
The table below compares VeriLook 5.0 Standard SDK
and VeriLook 5.0 Extended SDK.
| |
VeriLook 5.0
Standard SDK |
VeriLook 5.0
Extended SDK |
| Component
licenses that are included with a specific SDK |
| • Face Extractor |
1 license |
1 license |
| • Face Client |
|
3 licenses and
1 concurrent license |
| • Face Matcher |
1 license |
1 license |
| • Matching Server |
|
+ |
| Additional
component licenses that can be purchased by specific SDK customers |
| • Face Extractor |
+ |
+ |
| • Face BSS |
|
+ |
| • Face Client |
|
+ |
| • Face Matcher |
+ |
+ |
VeriLook 5.0 SDK includes programming samples and
tutorials that show
how to use the components of the SDK to perform face template
extraction or matching against other templates. The samples and
tutorials are available for these programming languages and platforms:
| |
Windows
32 & 64 bit |
Linux
32 & 64 bit |
Mac OS X |
| Programming samples |
| • C/C++ |
+ |
+ |
+ |
| • C# |
+ |
|
|
| • Sun Java 2 |
+ |
|
|
| • Visual Basic .NET |
+ |
|
|
| • Delphi |
+ |
|
|
| Programming tutorials |
| • C |
+ |
+ |
+ |
| • C# |
+ |
|
|
| • Visual Basic .NET |
+ |
|
|
| • Delphi |
+ |
|
|
Back to top of this page
VeriLook SDK System Requirements
- PC with x86 (32bit) or x86-64
(64bit) compatible processors or Mac with x86
or PowerPC compatible processors. 2GHz or better
processor is recommended.
- At least 128 MB of free RAM
should be available for the application. Additional RAM is required for
applications that perform 1-to-many identification, as all biometric
templates need to be stored in RAM for matching. For example, 10,000
templates (each containing 1 face record) require about 24
MB of additional RAM.
- Free space on hard disk drive (HDD):
- at least 1 GB required for the development.
- 100 MB required for VeriLook components deployment.
- Additional space would be required in these cases:
- VeriLook does not require the original face image to be
stored for the
matching; only the templates need to be stored. However, storing face
images on hard drive for the potential future usage is recommended.
- Usually a database engine runs
on a separate computer (back-end server). However, DB engine can be
installed on the same computer for standalone applications. In this
case HDD space for templates storage must be available. For example,
10,000 templates (each containing 1 face record) stored using a
relational database would require about 30 MB of free HDD space. Also,
the database engine itself requires HDD space for running. Please refer
to HDD space requirements from the database engine providers.
- Camera or webcam. These cameras are supported
by VeriLook:
- Any webcam or camera that is accessible
using:
- DirectShow interface for Microsoft
Windows platform.
- Video4Linux interface for Linux platform.
- QuickTime interface for Mac platform.
- Also these specific models of high-resolution cameras are
supported:
- Axis M1114 camera (Microsoft Windows only)
- Cisco 4500 IP camera (Microsoft Windows and Linux)
- IrisGuard IG-AD100 – face & iris camera (Microsoft
Windows only)
- Mobotix DualNight M12 IP camera (Microsoft Windows and
Linux)
- PiXORD N606 camera (Microsoft Windows and Linux)
- Prosilica GigE Vision camera (Microsoft Windows and Linux)
- VistaFA2 / VistaFA2E face & iris
cameras (Microsoft Windows only)
- VistaMT Multimodal Biometric Device (Microsoft Windows
only)
- Database engine or connection with it.
VeriLook templates can be saved into any DB (including files)
supporting binary data saving. VeriLook Extended SDK contains the
following support modules for Matching Server:
- Microsoft SQL Server (only for Microsoft Windows platform);
- PostgreSQL (for Microsoft Windows and Linux platform);
- MySQL (for Microsoft Windows and Linux platforms);
- Oracle (for Microsoft Windows and Linux platforms);
- SQLite (for all platforms).
- Network/LAN connection (TCP/IP)
for client/server applications. Also, network connection is required
for using Matching server component (included in VeriLook Extended
SDK). Communication with Matching server is not encrypted therefore, if
communication must be secured, a dedicated network (not accessible
outside the system) or a secured network (such as VPN; VPN must be
configured using operating system or third party tools) is recommended.
- Microsoft Windows specific requirements:
- Microsoft Windows 2000/XP/2003/2008/Vista/7, 32-bit or 64-bit.
- Microsoft .NET framework 2.0 or newer (for .NET components
usage).
- Microsoft DirectX 9.0 or later (for camera/webcam usage).
- One of following development environments for application
development:
- Microsoft Visual Studio 2005 SP1 or newer (for
application development under C/C++, C#, Visual Basic .Net)
- Sun Java 1.5 SDK or later
- Microsoft Visual Basic 6
- Delphi 7
- Linux specific requirements:
- Linux 2.6 or newer kernel, 32-bit or 64-bit.
- glibc 2.3.6 or newer
- Video4linux (for camera/webcam usage)
- GTK+ 2.10.x or newer libs and dev packages (to run SDK
samples and applications based on them)
- GCC-4.0.x or newer (for application development)
- GNU Make 3.81 or newer (for application development)
- Sun Java 1.5 SDK or later (for application development with
Java)
- pkg-config-0.21 or newer (optional; only for Matching Server
database support modules compilation)
- Mac OS X specific requirements:
- Mac OS X (version 10.4 or newer)
- QuickTime (for camera/webcam usage)
- XCode 2.4 or newer (for application development)
Back to top of this page
Technical Specifications
All specifications are
given for Intel Core2 processor with 4 cores running at 2.66 GHz
640 x 480 pixels is the recommended minimal image size
for VeriLook algorithm.
75 pixels is the recommended minimal
distance between eyes for a face on image or video stream to
perform face template extraction.
VeriLook has certain tolerance to face posture
that assures face enrollment convenience:
- head roll (tilt) – ±180 degrees
(configurable);
±15 degrees recommended as it is the
fastest setting which is usually sufficient for most near-frontal face
images.
- head pitch (nod) – ±15 degrees from
frontal position.
- head yaw (bobble) – ±15 degrees from
frontal position.
All face templates should be loaded into RAM before identification,
thus the maximum face template database size is limited by the amount
of available RAM.
VeriLook face template matching algorithm can use more than one
processor core on multi-core processors
allowing to increase template matching speed. The template matching
speeds in the table below are given as a range, where the smaller
number means matching speed using 1 processor core,
while the larger number means matching speed using all 4
processor cores.
| VeriLook
5.0 algorithm technical specifications (for 640 x 480 pixel images) |
| |
Maximized
template
size |
Medium
template
size |
Minimized
template
size |
Detection time for all faces in a frame
(±15° head roll tolerance) |
15 milliseconds |
Detection time for all faces in a frame
(±180° head roll tolerance) |
185 milliseconds |
Single face template extraction time (1)
(milliseconds) |
185 |
90 |
36 |
Matching speed (2)
(faces per second) |
13,000 - 52,000 |
24,000 - 96,000 |
110,000 - 440,000 |
Template size in database (3)
(bytes) |
35,994 |
20,010 |
4,026 |
(1) Face template
extraction is performed after all faces are detected in a frame. The
template extraction time does not depend on image size, but only on
defined template size.
(2) The probe template is defined to contain 1 "large"
face record. The gallery templates can contain 1 "small", "medium" or
"large" face record.
(3) When 1 face record stored in a template. Template size increases
proportionally when multiple face records are stored in the same
template.
Back to top of this page
Reliability and Performance Test Results
All tests were
performed on Intel Core2 processor with 4 cores running at 2.66 GHz.
We present the testing results to show how VeriLook 5.0
technical specifications correspond the
practical algorithm's performance and reliability evaluations. Face
images from
FRGC
database were used for testing, thus the testing results can be
compared with testing results of other algorithms.
Experiment 1 and Experiment 2
were performed according to FRGC protocol:
- Experiment 1 measures performance on the
recognition from frontal facial images taken under controlled
illumination. The biometric samples in the target and query sets
consist of a single controlled still image in high
resolution.
- Experiment 2 is designed to examine the effect
of multiple still images on performance. The biometric samples in the
target and query sets are composed of the 4 controlled images
of each person from a subject.
See Overview of the Face Recognition Grand Challenge
(PDF) for more details on FRGC experiments protocol.
Each experiment was performed 2 times to test
different scenarios:
- Test 1 maximized matching accuracy.
VeriLook 5.0 algorithm reliability in this test is shown on the ROC
charts as blue curves for Experiment 1 and magenta
curves for Experiment 2.
- Test 2 minimized template size.
VeriLook 5.0 algorithm reliability in this test is shown on the ROC
charts as red curves for Experiment 1 and orange
curves for Experiment 2.
These sets of ROC curves were calculated using
sertain subsets of FRGC
database for each experiment and test according to FRGC protocol:
- ROC I – gallery and probe photos were taken
within half of the year.
- ROC II – gallery and probe photos were taken
within one year.
- ROC III – gallery and probe photos were taken
with time lapse of at least half of the year but within 1.5 year.
Notes:
- Template matching was performed using all 4 cores
of the processor.
- Part of images in the FRGC database is 1600 x 1200 pixels, and
the
other part is 2272 x 1704 pixels, as the images for this database were
obtained with digital photo camera. The technical specifications above
are given for 640 x 480 pixels images that are common for webcams.
- Head roll, pitch and yaw were set to ±15° during all
experiments and tests.
- No score normalization techniques were applied while calculating
these
ROC curves, although FRGC protocol allowed to use score normalization.
| VeriLook
5.0 algorithm testing results with FRGC database |
| |
|
Experiment
1 |
Experiment
2 |
| Test 1 |
Test 2 |
Test 1 |
Test 2 |
Average template extraction speed
during enrollment
(milliseconds) |
309 |
174 |
696 |
696 |
Template size
during enrollment
(bytes) |
35994 |
4026 |
16104 (1) |
4026 (2) |
Average template extraction speed
during identification (3)
(milliseconds) |
309 |
309 |
1236 |
1236 |
Template size
during identification (3)
(bytes) |
35994 |
35994 |
143976 |
143976 |
Template matching speed (3)
(templates per second) |
13563 |
118646 |
7753 |
29778 |
| FRR at 0.1 % FAR |
ROC I |
0.956 % |
1.225 % |
0.000 % |
0.000 % |
| ROC II |
1.768 % |
2.189 % |
0.043 % |
0.026 % |
| ROC III |
2.638 % |
3.201 % |
0.074 % |
0.055 % |
(1) Each gallery
template contains 4 "small" face records.
(2) Each gallery template contains 1 "small" face
record that was created by generalizing 4 different
face records.
(3) The probe
template is defined to contain "large" face
record(s). The gallery templates can contain "small", "medium" or
"large" face record(s).
Back to top of this page