Biometrics
Robotics
Resources
Ordering
Services

VeriLook Algorithm Features and Capabilities

Performance numbers are provided for a PC with Intel Core 2 Q9400 processor (2.67 GHz).

Download
VeriLook SDK
brochure
(PDF)

Neurotechnology has developed a PC-based face recognition algorithm VeriLook 5.1 designed for biometric system integrators. The VeriLook algorithm implements advanced face localization, enrollment and matching using robust digital image processing algorithms:

Multiple Face Detection
VeriLook Multiple Faces Detection
Click to zoom
  • Simultaneous multiple face processing. VeriLook 5.1 performs fast and accurate detection of multiple faces in live video streams and still images. All faces on the current frame are detected in 0.01 - 0.86 seconds depending on selected values for face roll and yaw tolerances, and face detection accuracy. After detection each face is processed in 0.03 - 0.17 seconds depending on defined template size. Optionally, the facial feature points (both eyes, nose tip and lips middle point) can be also extracted in 0.1 seconds. See technical specifications for more details.
  • Live face detection. A conventional face identification system can be easily cheated by placing a photo of another person in front of a camera. VeriLook is able to prevent this kind of security breach by determining whether a face in a video stream belongs to a real human or is a photo.
  • Face image quality determination. A quality threshold can be used during face enrollment to ensure that only the best quality face template will be stored into database.
  • Tolerance to face posture. VeriLook allows 360 degrees head roll. Head pitch can be up to 15 degrees in each direction from the frontal position. Head yaw can be up to 45 degrees in each direction from the frontal position. See technical specifications for more details.
  • Multiple samples of the same face. Biometric template record can contain multiple face samples belonging to the same person. These samples can be enrolled with different face postures and expressions, from different sources and in different time thus allowing to improve matching quality. For example a person could be enrolled with and without eyeglasses or with different eyeglasses, with and without beard or moustache, with different face expressions like smiling and non-smiling etc.
  • Identification capability. VeriLook functions can be used in 1-to-1 matching (verification), as well as 1-to-many mode (identification).
  • Fast face matching. The VeriLook 5.1 face template matching algorithm can compare up to 440,000 faces per second. See technical specifications for more details.
  • Small face features template. A face features template can be only 4 Kilobytes, thus VeriLook-based applications can handle large face databases. Larger templates can be used to increase matching reliability. See technical specifications for more details.
  • Features generalization mode. This mode generates the collection of the generalized face features from several images of the same subject. Then, each face image is processed, features are extracted, and the collections of features are analyzed and combined into a single generalized features collection, which is written to the database. This way, the enrolled feature template is more reliable and the face recognition quality increases considerably.

Technical Specifications

640 x 480 pixels is the recommended minimal image size for faces' detection. Face template extraction and matching is not dependent on the image size.

50 pixels is the minimal distance between eyes for a face on image or video stream to perform face template extraction. 75 pixels or more recommended for better template extraction results.

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.

All specifications are provided for these processors:

  • Intel Core 2 Q9400 (4 cores), running at 2.67 GHz clock rate;
  • Intel Core i7-2600 (4 cores), running at 3.4 GHz clock rate.

VeriLook has certain tolerance to face posture that assures face enrollment convenience:

  • head roll (tilt) – ±180 degrees (configurable);
    ±15 degrees default value 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) – ±45 degrees from frontal position (configurable).
    ±15 degrees default value is the fastest setting which is usually sufficient for most near-frontal face images.

See also the whole list of recommendations and constraints for facial recognition.

VeriLook 5.1 face detection algorithm can run in maximal speed or maximal accuracy modes. The face detection times in the table below are provided for 640 x 480 pixels images as ranges, where the smallest time corresponds to the maximal speed mode, and the largest time – to the maximal accuracy. The head pitch tolerance in the table below is always ±15°.

VeriLook 5.1 face detection algorithm performance for all faces in a frame (seconds)
Roll tolerance Yaw tolerance Intel Core 2 Q9400 Intel Core i7-2600
±15° ±15° 0.015 - 0.025 0.010 - 0.015
±15° ±45° 0.030 - 0.060 0.020 - 0.035
±45° ±45° 0.120 - 0.220 0.070 - 0.130
±180° ±15° 0.200 - 0.360 0.120 - 0.215
±180° ±45° 0.450 - 0.860 0.270 - 0.510

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.1 template extraction and matching algorithm performance
    Maximized
template
size
Medium
template
size
Minimized
template
size
Single face template extraction time (1) (seconds) Core 2 Q9400 0.175 0.095 0.050
Core i7-2600 0.095 0.050 0.030
Facial feature points extraction time (2) (seconds) Core 2 Q9400 0.115
Core i7-2600 0.065
Matching speed (3)
(faces per second)
Core 2 Q9400 13,000 - 52,000 24,000 - 96,000 110,000 - 440,000
Core i7-2600 30,000 - 120,000 52,000 - 208,000 220,000 - 880,000
Template size in database (4) (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) Optional. The facial feature points extraction is disabled by default.

(3) The probe template is defined to contain 1 "large" face record. The gallery templates can contain 1 "small", "medium" or "large" face record.

(4) When 1 face record stored in a template. Template size increases proportionally when multiple face records are stored in the same template.

Reliability and Performance Tests

We present the testing results to show how VeriLook 5.1 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.1 algorithm reliability in this test is shown on the ROC charts as blue curves for Experiment 1 and cyan curves for Experiment 2.
  • Test 2 minimized template size. VeriLook 5.1 algorithm reliability in this test is shown on the ROC charts as red curves for Experiment 1 and magenta 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:

  • 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.

Template matching was performed using all 4 cores of the specified processors. The performance tests were performed on PCs with these processors:

  • Intel Core 2 Q9400, running at 2.67 GHz clock rate;
  • Intel Core i7-2600, running at 3.4 GHz clock rate.
VeriLook 5.1 algorithm testing results with FRGC database on Intel Core 2 Q9400 processor
    Experiment 1 Experiment 2
Test 1 Test 2 Test 1 Test 2
Average template extraction speed
during enrollment
(seconds)
0.234 0.106 0.936 0.424
Template size
during enrollment
(bytes)
35994 4026 16104 (1) 4026 (2)
Average template extraction speed
during identification (3)
(seconds)
0.234 0.234 0.936 0.936
Template size
during identification (3)
(bytes)
35994 35994 143976 143976
Template matching speed (3)
(templates per second)
54312 462264 30816 117872
FRR at 0.1 % FAR ROC I 0.6497 % 0.9227 % 0.0569 % 0.0569 %
ROC II 1.2620 % 1.6780 % 0.0476 % 0.0476 %
ROC III 2.0060 % 2.4590 % 0.0370 % 0.0370 %

VeriLook 5.1 algorithm testing results with FRGC database on Intel Core i7-2600 processor
    Experiment 1 Experiment 2
Test 1 Test 2 Test 1 Test 2
Average template extraction speed
during enrollment
(seconds)
0.134 0.083 0.536 0.332
Template size
during enrollment
(bytes)
35994 4026 16104 (1) 4026 (2)
Average template extraction speed
during identification (3)
(seconds)
0.134 0.134 0.536 0.536
Template size
during identification (3)
(bytes)
35994 35994 143976 143976
Template matching speed (3)
(templates per second)
119036 917636 63564 241092
FRR at 0.1 % FAR ROC I 0.6497 % 0.9227 % 0.0569 % 0.0569 %
ROC II 1.2620 % 1.6780 % 0.0476 % 0.0476 %
ROC III 2.0060 % 2.4590 % 0.0370 % 0.0370 %

(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).

Products
AFIS or multi-biometric fingerprint, iris, face and voice identification for large-scale systems.
MegaMatcher

Face identification for PC or Web solutions.
VeriLook

Fingerprint identification for PC and Web solutions.
VeriFinger

Iris identification for PC and Web solutions.
VeriEye

Speaker recognition for PC or Web applications.
VeriSpeak

Object recognition for robotics and computer vision.
SentiSight

More products for developers:

End-user products:
  • NCheck Finger Attendance – an attendance control application that uses fingerprint biometrics to perform employee identification.
  • NVeiler Video Filter – a plug-in for VirtualDub that automatically detects faces in a frame, tracks the faces (or other objects) in subsequent frames and hides them.
 
Copyright © 1998 - 2012 Neurotechnology | Terms & Conditions | Privacy Policy