This packages defines the interfaces that must be implemented by third-party
providers to support the features of Quality, Segmentation, Sequencing,
Identification, Templating and Verification.
The following guidelines must be adhered to while implementing these APIs:
- Stateless – All implementations must be stateless and should not have any
session-like behaviour.
- Thread-safe – All implementations must be thread-safe and should be designed
to work in a multi-threaded environment. In other words, API calls should not
step on each other's memory space when invoked from multiple threads.
- Singleton – All implementations must be singleton and should not require
creation of new instances for repeated uses. In other words, cost of invocation
of the API should not involve cost of initialization of engine. A single
instance of engine should be able to server multiple API calls simultaneously.
- Independent – All implementations should be independent of each other, and
should be designed such that they can be selectively integrated into one or many
host applications. Host application should be able to configure the engine to:
- Enable and use only QSS or ITV or both engines.
- In case of ITV,
- be able to enable and use only extraction API.
- be able to enable and use only verification API.
- rr enable and use all APIs – Insert, Identify, Template extraction
and Verification.
- Efficient – All the APIs should be conservative in their usage of system
resources, and should avoid unnecessary use of resources such as memory.
- Light weight - Extraction and Verification engines (IITVEngine running in
Extraction or Verification mode):
- Small memory foot print. Base memory needed for Extraction and
Verification engine should be around 100MB.
- Memory efficient – Each calls to the API should consume memory equal to or
up to two times of the size of input parameters' size.
- Fast response time for verification: IITVEngine will be used by Auth server
2.0 for biometric verification. Following are the expected response times for
IITVEngine to perform biometric verification.
- ~25 – 50 ms for single finger verification if position of finger is not known.
- ~10ms for single finger verification if position of finger is known.
- ~25ms for single iris verification.
- ~50ms for face verification.