Iris SDK

Iris identification for stand-alone and Web solutions

VeriEye iris identification technology is designed for biometric systems developers and integrators. The technology includes many proprietary solutions that enable robust iris enrollment under various conditions and fast iris 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, macOS, iOS and Android platforms.

Features and Capabilities
Rapid and accurate iris identification,proven by NIST IREX.
Robust recognition, even with gazing-away eyes or narrowed eyelids.
Original proprietary algorithm solves the limitations and drawbacks of existing state-of-the-art algorithms.
Contact lens detection can prevent spoof with fake iris images.
Available as multiplatform SDK that supports multiple programming languages.
Reasonable prices, flexible licensing and free customer support.

Neurotechnology began research and development in the field of eye iris biometrics in 1994 and has released VeriEye iris recognition algorithm in 2008. The original proprietary algorithm solves the limitations and drawbacks of existing state-of-the-art algorithms. VeriEye implements advanced iris segmentation, enrollment and matching using robust digital image processing algorithms:

Robust iris detection. Irises are detected even when there are obstructions to the image, visual noise and/or different levels of illumination. Lighting reflections, eyelids and eyelashes obstructions are eliminated. Images with narrowed eyelids or eyes that are gazing away are also accepted.
Automatic interlacing detection and correction results in maximum quality of iris features templates from moving iris images.
Gazing-away eyes are correctly detected on images, segmented and transformed as if it were looking directly into the camera (see Figure 1).
Correct iris segmentation is obtained even under these conditions:
  • Perfect circles fail. VeriEye uses active shape models that more precisely model the contours of the eye, as iris boundaries are not modeled by perfect circles.
  • The centers of the iris inner and outer boundaries are different (see Figure 2). The iris inner boundary and its center are marked in red, the iris outer boundary and its center are marked in green.
  • Iris boundaries are definitely not circles and even not ellipses (see Figure 3) and especially in gazing-away iris images.
  • Iris boundaries seem to be perfect circles. The recognition quality can still be improved if boundaries are found more precisely (see Figure 4). Note these slight imperfections when compared to perfect circular white contours.
  • Iris is partially occluded by eyelids. The upper and lower lids are marked in red and green correspondingly (see Figure 5).
Iris image quality determination and spoof prevention. The image quality estimation can be used during iris enrollment to ensure that only the best quality iris template will be stored into database. Also, cosmetic (decorative) contact lens, which obscure an iris with some artistic or fake iris texture and/or change iris color, can be detected.
Reliability. VeriEye algorithm has shown excellent recognition accuracy during the NIST IREX evaluations.
Technology Awards

VeriEye iris identification technology performance and reliability was proven in several NIST-organized competitions and technology evaluations.

IREX Evaluations by NIST

IREX 10 – in 2020 Neurotechnology's iris recognition algorithm has been judged by NIST as the second most accurate among the IREX 10 participants. The submitted algorithm featured much faster template creation and search time, and much smaller template size than the only more accurate contender.
IREX IX – in 2018 Neurotechnology's iris recognition algorithm has been judged by the NIST as the second most accurate among the participants. The accelerated version of the algorithm was nearly 50 times faster than any other matcher in the NIST IREX IX evaluation.
IREX IV – in 2013 Neurotechnology's iris recognition algorithm has been judged the by the NIST as one of the fastest and most accurate among the participants.
IREX III – in 2012 MegaMatcher iris matching algorithm was the second fastest and provided 3 times higher recognition accuracy than the only faster contender.
IREX – in 2009 VeriEye iris matching algorithm was recognized as the fastest overall with top 3 accuracy rating and up to 7.5 times smaller template than the corresponding contenders.
SDK Contents

VeriEye SDK is based on VeriEye iris recognition technology and is intended for biometric systems developers and integrators. The SDK allows rapid development of biometric applications using functionality from the VeriEye algorithm that ensures relable fast iris identification. VeriEye can be easily integrated into the customer's security system. The integrator has complete control over SDK data input and output.

VeriEye SDK includes the Device Manager library for working with the supported iris cameras. Integrators can also write plug-ins to support their iris cameras or other devices using the plug-in framework provided with the Device Manager.

VeriEye is available as the following SDKs:
VeriEye 12.1 Standard SDK is designed for PC-based, embedded or mobile biometric application development. It includes Iris Matcher and Extractor component licenses, programming samples and tutorials, iris scanner support modules and software documentation. The SDK allows the development of biometric applications for Microsoft Windows, Linux, macOS, iOS or Android operating systems.
VeriEye 12.1 Extended SDK is designed for biometric web-based and network application development. It includes all features and components of the Standard SDK. Additionally, the SDK contains Iris Client component licenses for PCs and mobile / embedded devices, sample client applications, tutorials and a ready-to-use matching server component.

License Activation Options

The components are copy-protected. The following license activation options are available:

Serial numbers are used to activate licenses for particular VeriEye components on particular computer or device. The activation is done via the Internet or by email. After activation the network connection is not required for single computer license usage. Notes:
  • Activation by serial number is not suitable for ARM-Linux, except BeagleBone Black and Raspberry Pi 3 devices.
  • Activation by serial number is not suitable for virtual environments.
Internet activation . A special license file is stored on a computer or a mobile/embedded device; the license file allows to run particular VeriEye components on that computer or device after checking the license over the Internet. Internet connection x should be available periodically for a short amount of time. A single computer license can be transferred to another computer or device by moving the license file there and waiting until the previous activation expires.
Volume License Manager. Licenses may be stored in a volume license manager dongle . The license activation may be performed without connection to the Internet and is suitable for virtual environments. Volume license manager is used on site by integrators or end users to manage licenses for VeriEye components in the following ways:
  • Activating single computer licenses – An installation license for a VeriEye component will be activated for use on a particular computer. The number of available licenses in the license manager will be decreased by the number of activated licenses.
  • Managing single computer licenses via a LAN or the Internet – The license manager allows the management of installation licenses for VeriEye components across multiple computers or mobile/embedded devices in a LAN or over the Internet. The number of managed licenses is limited by the number of licenses in the license manager. No license activation is required and the license quantity is not decreased. Once issued, the license is assigned to a specific computer or device on the network.
  • Using license manager as a dongle – A volume license manager containing at least one license for a VeriEye component may be used as a dongle, allowing the VeriEye component to run on the particular computer where the dongle is attached.

Additional VeriEye component licenses for the license manager may be purchased at any time.

Licenses Validity

All SDK and component licenses are perpetual and do not have expiration. There are no annual fee or any other fees except license purchasing fee. It is possible to move licenses from one computer or device to another. Neurotechnology provides a way to renew the license if the computer undergoes changes due to technical maintenance.

SDK Components

The table below compares VeriEye 12.1 Standard SDK and VeriEye 12.1 Extended SDK. The list can be narrowed with filtering by certain requirements based on the target biometric system.

Select the required biometric components:
VeriEye SDK components and licenses
Component types VeriEye 12.1
Standard SDK
VeriEye 12.1
Extended SDK
Iris component licenses included with a specific SDK:
Iris Extractor 1 single computer license 1 single computer license
Iris Matcher 1 single computer license 1 single computer license
Iris Client   3 single computer licenses
Mobile Iris Extractor 1 single computer license 1 single computer license
Mobile Iris Matcher 1 single computer license 1 single computer license
Mobile Iris Client   3 single computer licenses
Matching Server   +

VeriEye 12.1 SDK includes programming samples and tutorials that show how to use the components of the SDK to perform iris 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 macOS Android iOS
Programming samples
C/C++ + + +
Objective-C +
C# +
Visual Basic .NET +
Java + + + +
Programming tutorials
C + + +
C++ + + +
C# +
Visual Basic .NET +
Java + + + +
System Requirements

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

Microsoft Windows Platform Requirements

Microsoft Windows 7 / 8 / 10.
PC or laptop with x86-64 (64-bit) compatible processors.
  • 2 GHz or better processor is recommended.
  • x86 (32-bit) processors can still be used, but the algorithm will not provide the specified performance.
  • AVX2 support is highly recommended. Processors that do not support AVX2 will still run the VeriEye 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.
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.
Iris scanner:
  • VeriEye SDK includes support modules for several iris scanners under Microsoft Windows platform.
  • Iris images in BMP, JPG PNG or WebP formats can be processed thus almost any third-party iris capturing hardware can be used with the VeriEye technology if it generates images in the mentioned formats.
  • Integrators may also write plug-ins to support their iris cameras using the plug-in framework provided with the Device Manager from the VeriEye SDK. The integrators should note, that the most accurate iris recognition is achievable only when iris images are captured with near-infrared cameras and appropriate illumination. However, it is still possible to recognize irises with reasonable accuracy, when the irises are captured with regular cameras, using proper illumination and focus, and choosing proper environment.
Database engine or connection with it. VeriEye templates can be saved into any DB (including files) supporting binary data saving. VeriEye 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 VeriEye Extended SDK). VeriEye 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

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 iris processing in the specified time. Slower processors may be also used, but the iris 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.
Iris scanner:
  • VeriEye SDK includes support modules for several iris scanners under Android platform.
  • Iris images in BMP, JPG PNG or WebP formats can be processed thus almost any third-party iris capturing hardware can be used with the VeriEye technology if it generates images in the mentioned formats.
  • Integrators may also write plug-ins to support their iris cameras using the plug-in framework provided with the Device Manager from the VeriEye SDK. The integrators should note, that the most accurate iris recognition is achievable only when iris images are captured with near-infrared cameras and appropriate illumination. However, it is still possible to recognize irises with reasonable accuracy, when the irises are captured with cameras, which are built in smartphones or tablets, using proper illumination and focus, and choosing proper environment.
Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriEye Extended SDK). VeriEye 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.1.1 build automation system or newer
  • Android Gradle Plugin 4.0.0
  • Internet connection for activating VerFinger 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.
Iris scanner:
  • At the moment iris scanner support on iOS platform should be implemented by integrators. The integrators should note, that the most accurate iris recognition is achievable only when iris images are captured with near-infrared cameras and appropriate illumination. However, it is still possible to recognize irises with reasonable accuracy, when the irises are captured with cameras, which are built in smartphones or tablets, using proper illumination and focus, and choosing proper environment.
  • Iris images in BMP, JPG PNG or WebP formats can be processed thus almost any third-party iris capturing hardware can be used with the VeriEye technology if it generates images in the mentioned formats.
Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriEye 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 macOS 10.12.6 or newer.
  • Xcode 9.x or newer.

macOS Platform Requirements

A Mac running macOS 10.12.6 or newer.
  • 2 GHz or better processor is recommended.
  • AVX2 support is highly recommended. Processors that do not support AVX2 will still run the VeriEye 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.
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.
Iris scanner:
  • At the moment iris scanner support on macOS platform should be implemented by integrators. The integrators should note, that the most accurate iris recognition is achievable only when iris images are captured with near-infrared cameras and appropriate illumination. However, it is still possible to recognize irises with reasonable accuracy, when the irises are captured with regular cameras, using proper illumination and focus, and choosing proper environment.
  • Iris images in BMP, JPG PNG or WebP formats can be processed thus almost any third-party iris capturing hardware can be used with the VeriEye technology if it generates images in the mentioned formats.
Database engine or connection with it. VeriEye templates can be saved into any DB (including files) supporting binary data saving. VeriEye 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 VeriEye Extended SDK). VeriEye SDK does not provide communication encryption with the Matching server, therefore, integrators should secure the communication by themselves.
Specific requirements for application development:
  • XCode 6.x or newer
  • GNU Make 3.81 or newer (to build samples and tutorials development)
  • Java SE JDK 8 or newer

Linux x86-64 Platform Requirements

Linux 3.10 kernel or newer is required.
PC or laptop with x86-64 (64-bit) compatible processors.
  • 2 GHz or better processor is recommended.
  • x86 (32-bit) processors can still be used, but the algorithm will not provide the specified performance.
  • AVX2 support is highly recommended. Processors that do not support AVX2 will still run the VeriEye 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.
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.
Iris scanner:
  • VeriEye SDK includes support modules for several iris scanners under Linux x86 platform.
  • Iris images in BMP, JPG PNG or WebP formats can be processed thus almost any third-party iris capturing hardware can be used with the VeriEye technology if it generates images in the mentioned formats.
  • Integrators may also write plug-ins to support their iris cameras using the plug-in framework provided with the Device Manager from the VeriEye SDK. The integrators should note, that the most accurate iris recognition is achievable only when iris images are captured with near-infrared cameras and appropriate illumination. However, it is still possible to recognize irises with reasonable accuracy, when the irises are captured with regular cameras, using proper illumination and focus, and choosing proper environment.
glibc 2.17 library or newer
Database engine or connection with it. VeriEye templates can be saved into any DB (including files) supporting binary data saving. VeriEye 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 VeriEye Extended SDK). VeriEye SDK does not provide communication encryption with the Matching server, therefore, integrators should secure the communication by themselves.
Specific requirements for application development:
  • gcc 4.8 or newer
  • GNU Make 3.81 or newer
  • Java SE JDK 8 or newer

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 VeriEye-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 fingerprint 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 fingerprint 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.
Iris scanner:
  • At the moment iris scanner support on ARM Linux platform should be implemented by integrators. The integrators should note, that the most accurate iris recognition is achievable only when iris images are captured with near-infrared cameras and appropriate illumination. However, it is still possible to recognize irises with reasonable accuracy, when the irises are captured with regular cameras, using proper illumination and focus, and choosing proper environment.
  • Iris images in BMP, JPG PNG or WebP formats can be processed thus almost any third-party iris capturing hardware can be used with the VeriEye technology if it generates images in the mentioned formats.
glibc 2.17 or newer.
Network/LAN connection (TCP/IP) for client/server applications. Also, network connection is required for using Matching server component (included in VeriEye Extended SDK). VeriEye 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
Supported Scanners

The table below explains which eye iris scanners are supported by VeriEye SDK under different operating systems.

We are always looking for scanners' manufacturers to include the support for their iris scanners to our products. Please, contact us for more details.

Integrators or scanner manufacturers can also write plug-ins for the Device Manager from the VeriEye SDK to support their iris cameras using the provided plug-in framework. The SDK documentation contains more information about the plug-in framework.

  Microsoft Windows
7 / 8 / 10
Linux Android
32 bit 64 bit 32 bit 64 bit
CMITech BMT-20 / EMX-30 + +      
Credence ID Trident         +(1)
HID Crossmatch I Scan 2 / Crossmatch I Scan 3 + +(2)      
Iris ID iCAM R100 / iCAM T10 / iCAM TD100 + +      
Iritech IriShield USB MK 2120U / IriShield-USB BK 2121U + + + + +
Iritech IriMagic1000BK + +(2)      
Mantra MIS100V2         +
VistaFA2 / VistaFA2E / VistaEY2 / VistaEY2-02 / VistaEY2R iris & face cameras + +      
VistaEY2H iris camera + +      

Notes:
(1) The device has pre-installed Android OS.
(2) Can be used on 64-bit OS, but only in 32-bit applications.

Technical Specifications

64 pixels is the minimal radius of circle containing full iris texture, that is required for iris template extraction.

Near-infrared spectral region is recommended for iris image capture.

All iris templates should be loaded into RAM before identification, thus the maximum iris template database size is limited by the amount of available RAM.

VeriEye biometric template extraction and matching algorithm is designed to run on multi-core processors allowing to reach maximum possible performance on the used hardware.

VeriEye 12.1 iris engine specifications
  Embedded / mobile (1)
platform
PC-based (2)
platform
Template extraction components Mobile
Iris
Extractor
Mobile
Iris
Client
Iris
Extractor
Iris
Client
Template extraction time (seconds) 1.34 1.20 1.34 0.60
Template matching components Mobile Iris Matcher Iris Matcher
Template matching speed
(irises per second)
3,000 40,000
Single iris record size in a template (bytes) 2,466

Notes:
(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.

Send us an email on
[email protected]