VeriLook SDK

Face identification for stand-alone or Web applications

VeriLook facial identification technology is designed for biometric systems developers and integrators. The technology assures system performance and reliability with live face 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 Web-based solutions on Microsoft Windows, Linux, Mac OS X, iOS and Android platforms.

System Requirements

There are specific requirements for each platform which will run VeriLook-based applications.
Click on specific platform to view the corresponding requirements.

Microsoft Windows platform requirements

  • Microsoft Windows XP / Vista / 7 / 8 / 10, 32-bit or 64-bit.
  • PC or laptop with x86 (32-bit) or x86-64 (64-bit) compatible processors.
    • 2 GHz or better processor is recommended.
    • SSE2 support is required. Processors that do not support SSE2 cannot run the VeriLook algorithm. Please check if a particular processor model supports SSE2 instruction set.
  • 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 50 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 50 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 on Microsoft Windows platform:
    • Any webcam or camera that is accessible using DirectShow 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.
    • These models of still cameras are supported:
      • Canon EOS family still cameras
      • Nikon DSLR still cameras (a specific camera model should support video capture and should be listed there)
    • These specific models of high-resolution IP cameras are supported:
      • Axis M1114 camera
      • Basler BIP2-1600-25c-DN IP camera
      • Cisco 4500 IP camera
      • CMITech EMX-30 – face & iris camera
      • IrisGuard IG-AD100 - face & iris camera
      • Mobotix S14D and DualNight M12 IP cameras
      • PiXORD N606 camera
      • Prosilica GigE Vision camera
      • Sony SNC-CS50 camera
      • VistaFA2 / VistaFA2E / VistaEY2 face & iris cameras
    • 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). 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 .NET framework 3.5 or newer (for .NET components usage).
  • One of following development environments for application development:
    • Microsoft Visual Studio 2008 SP1 or newer (for application development under C/C++, C#, Visual Basic .Net)
    • Sun Java 1.6 SDK or later

Android platform requirements

  • A smartphone or tablet that is running Android 4.0 (API level 14) OS or newer.
    • API level 19 is the recommended target for code compilation.
    • 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 20 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, 1,000 templates (each containing 1 face record) require about 5 MB of additional RAM.
  • Free storage space (built-in flash or external memory card):
    • 30 MB required for embedded face components deployment for each separate application.
    • Additional space would be required if an application needs to store original face images. VeriLook does not require the original face image to be stored for the matching; only the templates need to be stored.
  • 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). 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.
  • PC-side development environment requirements:
    • Java SE JDK 6 (or higher)
    • Eclipse Indigo (3.7) IDE
    • Android development environment (at least API level 14 required)
    • One of the following build automation systems:
    • Internet connection for activating VeriLook component licenses

iOS platform requirements

  • One of the following devices, running iOS 8.0 or newer:
    • iPhone 5 or newer iPhone.
    • iPad 2 or newer iPad, including iPad Mini and iPad Air models.
    • iPod Touch 6th Generation or newer iPod.
  • At least 20 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, 1,000 templates (each containing 1 face record) require about 5 MB of additional RAM.
  • Free storage space (built-in flash or external memory card):
    • 30 MB required for embedded face components deployment for each separate application.
    • Additional space would be required if an application needs to store original face images. VeriLook does not require the original face image to be stored for the matching; only the templates need to be stored.
  • 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.
  • Development environment requirements:
    • a Mac running Mac OS X 10.10.x or newer.
    • Xcode 6.4 or newer.

Mac OS X platform requirements

  • A Mac running Mac OS X 10.7.x or newer. 2 GHz 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 with 1 face record) require about 50 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 with 1 face record) stored using a relational database would require about 50 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 on Mac OS X 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 Mac OS X 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). 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.
  • Specific requirements for application development:
    • XCode 4.3 or newer
    • wxWidgets 3.0.0 or newer libs and dev packages (to build and run SDK samples and applications based on them)
    • Qt 4.8 or newer libs, dev and qmake packages (to build and run SDK samples and applications based on them)
    • GNU Make 3.81 or newer (to build samples and tutorials development)
    • Sun Java 1.6 SDK or later

Linux x86 / x86-64 platform requirements

  • Linux 2.6 or newer kernel (32-bit or 64-bit) is required. Linux 3.0 kernel or newer is recommended.
  • PC or laptop with x86 (32-bit) or x86-64 (64-bit) compatible processors.
    • 2 GHz or better processor is recommended.
    • SSE2 support is required. Processors that do not support SSE2 cannot run the VeriLook algorithm. Please check if a particular processor model supports SSE2 instruction set.
  • 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 with 1 face record) require about 50 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 with 1 face record inside) stored using a relational database would require about 50 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 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.
    • These specific models of high-resolution IP cameras are supported on Linux x86 platform:
      • Axis M1114 camera
      • Basler BIP2-1600-25c-DN IP camera
      • Mobotix S14D and DualNight M12 IP cameras
      • PiXORD N606 camera
      • Prosilica GigE Vision camera
      • Sony SNC-CS50 camera
    • 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.11.3 library or newer
  • GStreamer 1.2.2 or newer with gst-plugin-base and gst-plugin-good is required for face capture using camera/webcam or rtsp video. GStreamer 1.4.x or newer is recommended.
  • 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). 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.
  • Specific requirements for application development:
    • wxWidgets 3.0.0 or newer libs and dev packages (to build and run SDK samples and applications based on them)
    • Qt 4.8 or newer libs, dev and qmake packages (to build and run SDK samples and applications based on them)
    • GCC-4.4.x or newer
    • GNU Make 3.81 or newer
    • Sun Java 1.6 SDK or later
    • pkg-config-0.21 or newer (optional; only for Matching Server database support modules compilation)

ARM Linux 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 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, 1,000 templates (each containing 1 face record) require about 5 MB of additional RAM.
  • Free storage space (built-in flash or external memory card):
    • 100 MB required for VeriLook components deployment.
    • Additional space would be required in these cases:
      • An application needs to store face images. Note that VeriLook does not require the original images to be stored for the matching; only the templates need to be stored.
      • Usually a database engine runs on a separate computer (back-end server). However, a DB engine can be installed on the same device for standalone applications. For example, 1,000 templates (each with 1 face record) stored using a relational database would require about 4 MB of free storage space.
        PostgreSQL, MySQL and SQLite are supported on ARM-Linux. Please refer to hardware requirements from the corresponding database engine providers.
  • 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.
  • glibc 2.13 or newer.
  • libstdc++-v3 4.7.2 or newer.
  • 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.
  • Development environment specific requirements:
    • GCC-4.4.x or newer
    • GNU Make 3.81 or newer
    • JDK 1.6 or later