VeriLook SDK

Face identification for stand-alone or client-server applications

VeriLook facial identification technology is designed for biometric systems developers and integrators. The technology assures system performance and reliability with face liveness detection, simultaneous multiple face recognition and fast face matching in 1-to-1 and 1-to-many modes.

Available as a software development kit that allows development of stand-alone and network-based solutions on Microsoft Windows, Linux, macOS, iOS and Android platforms.

Technical Specifications and Usage Recommendations

  • General recommendations for facial recognition:
    • Face recognition accuracy of the VeriLook algorithm heavily depends on the quality of a face image. Image quality during enrollment is important, as it influences the quality of the face template.
    • 32 pixels is the recommended minimal distance between eyes for a face on image or video stream to perform face template extraction reliably. 64 pixels or more recommended for better face recognition results. Note that this distance should be native, not achieved by resizing an image.
    • Several images during enrollment are recommended for better facial template quality which results in user experience improvement during recognition.
    • Additional enrollments may be needed when facial hair style changes, especially when beard or mustache is grown or shaved off.
    • Persons wearing face masks or respirators can be recognized without separate enrollment. Face quality check should be disabled for this scenario.
  • The face recognition engine has certain tolerance to face posture:
    • 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.
      • The head pitch tolerance can be increased up to ±25 degrees if several views of the same face that covered different pitch angles were used during enrollment.
    • head yaw (bobble) – ±90 degrees from frontal position (default value).
      • Smaller yaw tolerance values are not recommended to be used except if the target system does not meet the system requirements.
      • Several views of the same face can be enrolled to the database to cover the whole ±90 degrees yaw range from frontal position.
  • Certified algorithm for
    face liveness check
    iBeta badge
    Conformance letter from iBeta
    Face liveness check:
    • The face liveness check algorithm was tested by iBeta and proven to be compliant with ISO 30107-3 Biometric Presentation Attack Detection Standards.
    • A stream of consecutive images (usually a video stream from a camera) or a single image (in some modes) are required for the face liveness detection.
    • When the liveness check is enabled, it is performed by the face engine before feature extraction. If the face in the stream or frame fails to qualify as "live", the features are not extracted.
    • Only one face should be visible in these frames.
    • 80 pixels is the recommended minimal distance between eyes (IOD) for a face to perform liveness check reliably. 100 pixels or more recommended for smoother performance.
    • During passive liveness checks the face should be still and the user has to look directly at the camera with ±15 degrees tolerances for roll, pitch and yaw to experience the best performance.
    • Optionally, ICAO compliance check can be used to strengthen the liveness check.
    • Users can enable these liveness check modes:
      • Active – the engine requests the user to perform certain actions like blinking or moving one's head. All requested actions should be performed to pass the liveness check. This mode can work with both colored and grayscale images. 5 frames per second or better frame rate required.
      • Passive – the engine analyzes certain facial features while the user stays still in front of the camera for a short period of time. Colored images are required for this mode. 10 frames per second or better frame rate is required. Better score is achieved when users do not move at all.
      • Passive + Blink – the engine analyzes certain facial features while the user stays still in front of the camera for a short period of time, when the engine requests the user to blink. Colored images are required for this mode. 10 frames per second or higher frame rate required.
      • Passive then active – the engine first tries the passive liveness check, and if it fails, tries the active check. This mode requires colored images.
      • Simple – the engine requires user to turn head from side to side while looking at camera. This mode can work with both colored and grayscale images. 5 frames per second or better frame rate recommended.
      • Single frame passive – the engine uses a neural network to estimate if a face image is not inserted in front of a camera using a paper photo or smartphone screen. This mode does not need any interaction from the user.

VeriLook 13.0 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°. The head yaw tolerance in the table below is always ±90°. The face detection times are specified for a PC with Intel Core i7-8700K processor.

VeriLook 13.0 face detection algorithm performance for all faces in a frame on PC-based systems
Roll tolerance Time (milliseconds)
±15° 37
±45° 38
±180° 56

VeriLook biometric template extraction and matching algorithm is designed to run on multi-core processors allowing to reach maximum possible performance on the used hardware. Face template extraction is performed after all faces are detected in a frame. The template extraction time does not depend on image size.

VeriLook 13.0 face engine specifications
  Embedded / mobile (1)
PC-based (2)
Template extraction components Mobile
Template extraction time (seconds) 1.34 1.20 1.34 0.60
Template matching components Mobile Face Matcher Face Matcher
Template matching speed
(faces per second)
3,000 40,000
Single face record size in a template (bytes) 332

(1) Requires to be run on iOS devices or Android devices based on at least Snapdragon S4 system-on-chip with Krait 300 processor (4 cores, 1.51 GHz).
(2) Requires to be run on PC or laptop with at least Intel Core i7-8700K processor.

Neurotechnology Distributors Map Ex-Cle S.A - representative in Argentina FingerSec do Brasil - distributor in Brazil (web site in Portuguese) Distributors in Chile Neurotechnology's Chinese Office (web site in Chinese) Security Systems Ltda - distributor in Colombia (web site in Spanish) General Security El Salvador - distributor in El Salvador (web site in Spanish) Infokey Software Solutions - distributor in Greece (web site in Greek and English) India Branch - Neurotechnology Lab India Fulcrum Biometrics India Pvt. Ltd. - distributor in India Biometric srl - distributor in Italy (web site in Italian) Software Sources Ltd - distributor in Israel Bruce and Brian Co., LTD. - distributor in Korea (web site in Korean) Biosec Solutions - distributor in Nigeria Digital Data Systems (DDS Biometrics) - distributor in Pakistan Ex-Cle S.A - distributor in Paraguay Digital Works - distributor in Peru DigiFace Solutions - distributor in Singapore Fingerprint i.t. - distributor in South Africa Sri Lanka Branch - Neurotechnology Lab Delaney Biometrics - distributor in the UK Fulcrum Biometrics - representative in the USA
Follow us
Facebook icon   LinkedIn icon   Twitter icon   Youtube icon   Email newsletter icon
Copyright © 1998 - 2023 Neurotechnology | Terms & Conditions | Privacy Policy | Career