facial recognition

Although the specific characteristics of human faces do not present the uniqueness of the akrodachtylwn and Iris of the eyes, with the result that the reliability of the facial identification is slightly smaller, this method is an important Alternative to the design and development of a biometric identification system. Its main advantages are ease of application (not requiring physical contact of the object with the detection device), its social acceptance (the face is constantly visible) and the low cost (no technologically advanced equipment is required).

Description

Operating principle

The identification procedure is done in two stages:

» It is initially necessary to digitize a person through a picture capture device, e.g. Webcam, security camera, photo scanner, etc.
» Then the identification is achieved by the use of a composite algorithm (mathematical equation), which isolates some particular characteristics of the face, comparing them with the corresponding special traits of the persons, whose depictions They are kept in a database.

Applications
» Access Control in physical areas
» Security of software Use-user identification
» etc.

VeriLook SDK is based on VeriLook 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 identifi cation. 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 the Device Manager library that allows to perform simultaneous capture from multiple cameras. Integrators can write plug-ins to support their cameras or other devices using the plug-in framework provided with the Device Manager.

VeriLook is available as the following SDKs:

  • VeriLook 12.4 Standard SDK is designed for PC-based, embedded or mobile biometric application development. It includes Face Matcher, Face Extractor and Face Verifi cation component licenses, programming samples and tutorials, Device Manager library and software documentation. The SDK allows the development of biometric applications for Microsoft Windows, Linux, macOS, iOS or Android operating systems.
  • VeriLook 12.4 Extended SDK is designed for biometric client-server application development. It includes all features and components of the Standard SDK. Additionally, the SDK contains Face Client component licenses for PCs and mobile / embedded devices, sample client applications, tutorials and a ready-to-use matching server component.

There are specific requirements for each platform which will run VeriLook-based applications.

Microsoft Windows platform requirements

  • Microsoft Windows 7 / 8 / 10 / 11.
  • PC or laptop with x86-64 (64-bit) compatible processors.
    • 2 GHz or better processor is recommended.
    • AVX2 support is highly recommended. Processors that do not support AVX2 will still run the VeriLook algorithms, but in a mode, which will not provide the specified performance. Most modern processors support this instruction set, but please check if a particular processor model supports it.
    • The CPU plugin supports inference on Intel Xeon with Intel AVX2 and AVX-512, Intel Core processors with Intel AVX2, Intel Atom Processors with Intel SSE.
  • 2 GB of free RAM is recommended for general usage scenarios. It is possible to reduce RAM usage for particular scenarios. Also, additional RAM may be required for applications that perform 1-to-many identification, as all biometric templates need to be stored in RAM for matching.
  • Camera or webcam. These cameras are supported by VeriLook on Microsoft Windows platform:
    • Any webcam or camera that is accessible using DirectShow, Windows Media or Media Foundation interfaces.
    • Any IP camera, that supports RTSP (Real Time Streaming Protocol):
      • Only RTP over UDP is supported.
      • H.264/MPEG-4 AVC or Motion JPEG should be used for encoding the video stream.
    • These advanced cameras are supported:
      • CMITech EMX-30 – face & iris camera (Microsoft Windows only)
      • Iris ID iCAM R100 and iCAM TD100 – face & iris cameras (Microsoft Windows only)
      • VistaFA2 / VistaFA2E / VistaEY2 face & iris cameras (Microsoft Windows only)
    • These models of still cameras are supported:
      • Canon EOS family still cameras (the supported camera models are EOS M50, EOS 2000D, EOS 4000D, EOS M100, EOS 6D Mark II, EOS 200D, EOS 77D, EOS 800D, EOS M6, EOS M5, EOS 5D Mark IV, EOS-1D X Mark II, EOS 80D, EOS 1300D, EOS M10, EOS 5DS, EOS 5DS R, EOS 760D, EOS 750D, EOS 7D Mark II)
      • Nikon DSLR still cameras (a specific camera model should support video capture)
    • Cameras, which can operate in near-infrared spectrum, can be used for image capture. VeriLook algorithm is able to match faces, captured in near-infrared spectrum, against faces, captured in visible light. See our testing results for details.
    • Integrators can also write a plug-in to support their cameras using the plug-in framework provided with the Device Manager from the VeriLook SDK.
  • 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 on Microsoft Windows platform:
    • Microsoft SQL Server;
    • MySQL;
    • Oracle;
    • PostgreSQL;
    • SQLite.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriLook Extended SDK). VeriLook SDK does not provide communication encryption with the Matching server, therefore, integrators should secure the communication by themselves.
  • Microsoft .NET framework 4.5 or newer (for .NET components usage).
  • One of following development environments for application development:
    • Microsoft Visual Studio 2012 or newer (for application development under C/C++, C#, Visual Basic .Net)
    • Java SE JDK 8 or newer
    • Python 3.x

Android platform requirements

  • A smartphone or tablet that is running Android 5.0 (API level 21) OS or newer.
    • If you have a custom Android-based device or development board, contact us to find out if it is supported.
  • ARM-based 1.5 GHz processor recommended for face processing in the specified time. Slower processors may be also used, but the face processing will take longer time.
  • At least 1 GB 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.
  • Any smartphone’s or tablet’s built-in camera which is supported by Android OS. The camera should have at least 0.3 MegaPixel (640 x 480 pixels) resolution.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriLook Extended SDK). VeriLook SDK does not provide communication encryption with the Matching server, therefore, integrators should secure the communication by themselves.
  • PC-side development environment requirements:
    • Java SE JDK 8 (or higher)
    • AndroidStudio 4.0 IDE
    • AndroidSDK 21+ API level
    • Gradle 6.8.2 build automation system or newer
    • Android Gradle Plugin 4.1.2
    • Internet connection for activating VeriLook component licenses

iOS platform requirements

  • One of the following devices, running iOS 11.0 or newer:
    • iPhone 5S or newer iPhone.
    • iPad Air or newer iPad models.
  • At least 1 GB 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.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriLook Extended SDK). VeriLook SDK does not provide communication encryption with the Matching server, therefore, integrators should secure the communication by themselves.
  • Development environment requirements:
    • a Mac running macOS 10.13 or newer.
    • Xcode 9.3 or newer.

macOS platform requirements

  • A Mac running macOS 10.13 or newer.
    • 2 GHz or better processor is recommended.
    • x86-64 (Intel) and ARM (Apple M1 family) processor architectures supported.
  • 2 GB of free RAM is recommended for general usage scenarios. It is possible to reduce RAM usage for particular scenarios. Also, additional RAM may be required for applications that perform 1-to-many identification, as all biometric templates need to be stored in RAM for matching.
  • Camera or webcam. These cameras are supported by VeriLook on macOS platform:
    • Any webcam or camera which is accessible using GStreamer interface.
    • Any IP camera, that supports RTSP (Real Time Streaming Protocol):
      • Only RTP over UDP is supported.
      • H.264/MPEG-4 AVC or Motion JPEG should be used for encoding the video stream.
  • Database engine or connection with it. VeriLook templates can be saved into any DB (including files) supporting binary data saving. VeriLook Extended SDK contains SQLite support modules for Matching Server on macOS platform.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriLook Extended SDK). VeriLook SDK does not provide communication encryption with the Matching server, therefore, integrators should secure the communication by themselves.
  • Specific requirements for application development:
    • XCode 9.3 or newer
    • GStreamer 1.10.x or newer with gst-plugin-base and gst-plugin-good is required for face capture using camera/webcam or rtsp video.
    • GNU Make 3.81 or newer (to build samples and tutorials development)
    • Java SE JDK 8 or newer

Linux x86-64 platform requirements

  • Linux 4.9 kernel or newer is required.
  • PC or laptop with x86-64 (64-bit) compatible processors.
    • 2 GHz or better processor is recommended.
    • AVX2 support is highly recommended. Processors that do not support AVX2 will still run the VeriLook algorithms, but in a mode, which will not provide the specified performance. Most modern processors support this instruction set, but please check if a particular processor model supports it.
    • The CPU plugin supports inference on Intel Xeon with Intel AVX2 and AVX-512, Intel Core processors with Intel AVX2, Intel Atom Processors with Intel SSE.
  • 2 GB of free RAM is recommended for general usage scenarios. It is possible to reduce RAM usage for particular scenarios. Also, additional RAM may be required for applications that perform 1-to-many identification, as all biometric templates need to be stored in RAM for matching.
  • Camera or webcam. These cameras are supported by VeriLook on Linux x86 platform:
    • Any webcam or camera which is accessible using GStreamer interface.
    • Any IP camera, that supports RTSP (Real Time Streaming Protocol):
      • Only RTP over UDP is supported.
      • H.264/MPEG-4 AVC or Motion JPEG should be used for encoding the video stream.
    • Cameras, which can operate in near-infrared spectrum, can be used for image capture. VeriLook algorithm is able to match faces, captured in near-infrared spectrum, against faces, captured in visible light. See our testing results for details.
    • Integrators can also write a plug-in to support their cameras using the plug-in framework provided with the Device Manager from the VeriLook SDK.
  • glibc 2.24 library or newer
  • libgudev-1.0 230 or newer
  • GStreamer 1.10.x or newer with gst-plugin-base and gst-plugin-good is required for face capture using camera/webcam or rtsp video.
  • 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 on Linux platform:
    • MySQL;
    • Oracle;
    • PostgreSQL;
    • SQLite.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriLook Extended SDK). VeriLook SDK does not provide communication encryption with the Matching server, therefore, integrators should secure the communication by themselves.
  • Specific requirements for application development:
    • gcc 6.3 or newer
    • GNU Make 3.81 or newer
    • Java SE JDK 8 or newer
    • Python 3.x

Linux ARM64 platform requirements

We recommend to contact us and report the specifications of a target device to find out if it will be suitable for running VeriLook-based applications.

There is a list of common requirements for ARM Linux platform:

  • A device with ARM-based processor, running Linux 3.2 kernel or newer.
  • ARM-based 1.5 GHz processor recommended for face processing in the specified time.
    • ARMHF architecture (EABI 32-bit hard-float ARMv7) is required.
    • Lower clock-rate processors may be also used, but the face processing will take longer time.
  • At least 1 GB 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.
  • Camera or webcam. These cameras are supported by VeriLook on ARM Linux platform:
    • Any camera which is accessible using GStreamer interface.
    • Any IP camera, that supports RTSP (Real Time Streaming Protocol):
      • Only RTP over UDP is supported.
      • H.264/MPEG-4 AVC or Motion JPEG should be used for encoding the video stream.
    • Cameras, which can operate in near-infrared spectrum, can be used for image capture. VeriLook algorithm is able to match faces, captured in near-infrared spectrum, against faces, captured in visible light. See our testing results for details.
  • glibc 2.17 or newer.
  • GStreamer 1.10.x or newer with gst-plugin-base and gst-plugin-good is required for face capture using camera/webcam or rtsp video.
  • Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriLook Extended SDK). VeriLook SDK does not provide communication encryption with the Matching server, therefore, integrators should secure the communication by themselves.
  • Development environment specific requirements:
    • gcc 4.8 or newer
    • GNU Make 3.81 or newer
    • Java SE JDK 8 or newer