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.
![](../assets/img/product/software/Iris-SDK.jpg)
![VeriEye ROC chart on NIST MEDS II face image dataset](../assets/img/product/software/verieye_gazing_away.jpg)
Click to zoom
![Different inner and outer iris boundaries are correctly segmented by VeriEye](../assets/img/product/software/verieye_different_centres.jpg)
Click to zoom
![Iris boundaries that are not circles or ellipses are correctly segmented by VeriEye](../assets/img/product/software/verieye_not_circles.jpg)
Click to zoom
![Precise iris boundary search by VeriEye further improves recognition quality when iris boundaries seem to be perfect circles](../assets/img/product/software/verieye_almost_circles.jpg)
Click to zoom
![Eyelids separation by VeriEye allows to detect irises even when eyes are partially covered by lids](../assets/img/product/software/verieye_eyelids.png)
Click to zoom
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:
- 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).
VeriEye iris identification technology performance and reliability was proven in several NIST-organized competitions and technology evaluations.
IREX Evaluations by NIST
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.
License Activation Options
The components are copy-protected. The following license activation options are available:
- 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.
- 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.
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.
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 | + | + | + | + |
There are specific requirements for each platform which will run VeriEye-based applications.
Microsoft Windows Platform Requirements
- 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.
- 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.
- Microsoft SQL Server;
- MySQL;
- Oracle;
- PostgreSQL;
- SQLite.
- 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
- If you have a custom Android-based device or development board, contact us to find out if it is supported.
- 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.
- 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
- iPhone 5S or newer iPhone.
- iPad Air or newer iPad models.
- 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.
- a Mac running macOS 10.12.6 or newer.
- Xcode 9.x or newer.
macOS Platform Requirements
- 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.
- 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.
- 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
- 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.
- 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.
- MySQL;
- Oracle;
- PostgreSQL;
- SQLite.
- gcc 4.8 or newer
- GNU Make 3.81 or newer
- Java SE JDK 8 or newer
ARM Linux Platform Requirements
- 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 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.
- gcc 4.8 or newer
- GNU Make 3.81 or newer
- Java SE JDK 8 or newer
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.
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.