drawing

Tech5 - ABIS Admin Guide

Version 1.2.4

This document explains the procedure of installing, deploying and managing the T5-ABIS

Disclaimers

The information contained in this document is the proprietary and exclusive property of Tech5 except as otherwise indicated. No part of this document, in whole or in part, maybe reproduced, stored, transmitted, or used for design purposes without the prior written permission of Tech5. The information contained in this document is subject to change without notice. The information in this document is provided for informational purposes only. Tech5 specifically disclaims all warranties, express or limited, including, but not limited, to the implied warranties of merchantability and fitness for a particular purpose, except as provided for in a separate software license agreement.

Privacy Information

This document may contain information of a sensitive nature. This information should not be given to persons other than those who are involved in the T5-ABIS or who will become involved during the life cycle.

Contact: support@tech5-sa.com

Table of Contents

Table of contents

  1. Overview
    1.1. Introduction
    1.2. T5-ABIS Overview
    1.3. ABIS Components OverView
    1.4. ABIS Components Description
  2. Installation Procedure
    2.1. ABIS Prerequisites
    2.2. Java Installation
    2.3. T5 Biometric Technologies Installation
    2.4. Face SDK
    2.4.1. Dependencies Installation
    2.4.2. FaceSDK Installation
    2.4.3. License request generation
    2.5. Finger SDK
    2.5.1. License Request
    2.5.2. No Special dependencies
    2.6. Iris SDK
    2.6.1. License Request
    2.6.2. Dependencies OpenCV
    2.7. T5 ABIS Installation
    2.7.1. ABIS Software Download
    2.7.2. ABIS Configuration
    Startocedur 1. Exporting Paths
    3.2. Starting Services
    3.3. GetStatus Page

1. Overview

1.1 Introduction

This document is intended to be consumed by Administrators and DevOps teams. It iss to check and install all the dependencies and components required for deploying fully function T5 ABIS. T5-ABIS is multi-modal ABIS platform primarily designed for a highly efficient and scalable 1:N search engine.

1.2. T5-ABIS Overview

overview

1.3. ABIS Components Overview

ABIS is a distributed computer application with the basic building block referred to as Biometric Service. A Biometric Service is a configurable multi-threaded services engine that can function as one the many common biometric services. These services can be any of the following
● Stateless Services: Template creation, verification, segmentation.
● Identification Services: Match a given template against in memory cachedtemplates.
● Enrollment Services: Enroll template to the in-memory cache of a Matcher.

1.3.1. ABIS Components Description:

  1. Gallery : Gallery is a collection of all the identities (people) that can be search using a single biometric modality. Gallery is a logical container and can be distributed over multiple physical nodes.
  2. Sets (to split gallery/database on different servers or processes for performance reasons/ hardware limitation) : Is part of the biometric gallery situated in one container/process, usually one per physical node.Partitions are created for performance or hardware limitation reasons. Partitions can be of unequal sizes but it is recommended to divide the gallery in equal sizes for sizing perspective.
  3. Group (copy of the same set/part of the gallery for redundancy/performance reasons) : Is a collection of copies of exactly same partitions/sets that belong to the same Gallery and are distributed over physical nodes. Groups enable higher throughput and redundancy in case one of the Matcher servers goes down temporarily (the entire template database will still be available because there is another copy of that partition). Groups can be scaled horizontally or vertically.
  4. Master cluster: Its job is to orchestrate the enrollment and search transactions. Itsends enrollment transactions to all open sets of respective modality. It splits search transactions and sends them to appropriate group or sets and combines results from partitions to form one consolidated result from the entire gallery.
  5. Cache: The templates are stored in a cache file on the local disk. Currently we use SQLte DB to store the ID number and associated biometric template. On cold starts templates are loaded into RAM from this SQLite DB called as ABIS cache.
  6. Template Creator: These nodes load Tech5 biometrics technologies SDK to create templates and return quality scores. Each node loads only one technology to avoid disruption in services due to other technology failures. These are stateless nodes and thus can be configured for auto recovery and automatic scaling.

2. Installation Procedure

2.1. ABIS Prerequisites

2.2. Java Installation steps

Check which version of Java is running on the servers:

 #java -version

If Java is not installed, proceed and download Java software. Also we should unlink OpenJDK(if at all installed) and then install SunJDK.

 # java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Unlink OpenJDK from /usr/bin/java as shown below:

whereis java

java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java/usr/share/man/man1/java.1.gz
#unlink /usr/bin/java

Now download Java Runtime Environment and install Java as shown below:

    # curl -L -b "oraclelicense=1"

d.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jre-8u201-linux-x64.tar.gz-O

And install this version of JRE and check the Java version once again.

#java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

2.3. T5 Biometric Services Installation

Following dependencies should be installed for Face/Finger/Iris SDKs as per the requirement:

2.3.1. Face SDK

2.3.1.1. Dependencies Installation:

Following packages are required for the FaceSDK to and should be installed on all the nodes on which Face modality will be configured.
● opencv
● openblas-serial
● lapack
● libgomp
● boost-system
● boost-filesystem
● boost-program-options

All the packages are available in EPEL and Default packages if you are using CentOS.Incase of RHEL, rhel-7-server-optional-rpms and epel must be activated on Repo list.

Installation steps
$ yum -y install epel-release && yum install -y opencv openblas-serial lapack libgomp
boost-system boost-filesystem boost-program-options
#yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

2.3.1.2. FaceSDK Installation steps

Download the FaceSDK RPMs from below URL:

ftp://t5user@ftp.tech5.tech/face_sdk/centos7/

Note: Please send an email to get the FTP credentials to download our SDK to support@tech5-sa.com

Lets create a directory and download software to it.

# mkdir /opt/Tech5/software
# cd /opt/Tech5/software/
# wget ftp://t5user@ftp.tech5.tech/face_sdk/centos7/1.3/*

Once the RPMs are downloaded, use the script to install all these RPMs one by one as shown:

#cat InstallFaceRPMs.sh
yum -y localinstall tech5-face_sdk-cpu-1.3-0.x86_64.rpm
yum -y localinstall tech5-face_sdk-cpu-devel-1.3-0.x86_64.rpm
yum -y localinstall tech5-face_sdk-face_detector_100-1.3-0.noarch.rpm
yum -y localinstall tech5-face_sdk-face_detector_101-1.3-0.noarch.rpm
yum -y localinstall tech5-face_sdk-alignment_100-1.3-0.noarch.rpm
yum -y localinstall tech5-face_sdk-alignment_101-1.3-0.noarch.rpm
yum -y localinstall tech5-face_sdk-alignment_102-1.3-0.noarch.rpm
yum -y localinstall tech5-face_sdk-builder_100-1.3-0.noarch.rpm
yum -y localinstall tech5-face_sdk-builder_101-1.3-0.noarch.rpm
yum -y localinstall tech5-face_sdk-builder_102-1.3-0.noarch.rpm
yum -y localinstall tech5-face_sdk-builder_103-1.3-0.noarch.rpm
yum -y localinstall tech5-face_sdk-age_gender_100-1.3-0.noarch.rpm

After the installation of above packages is complete, you should be able to see if the version of below:

# face_sdk_utils --version
Face SDK utils. Version 1.3 IrishCream(d350a6bf94c57d551ef00e724bfbd0bbcea4f8fc)

It confirms that Face SDK version 1.3 is installed successfully.

2.3.1.3. License request generation

Run the below command to generate License request for FaceSDK and send it to Tech5 team & you should be getting a license file:

	# /usr/bin/face_sdk_utils --request --out $HOME/face_sdk.req

We will send the face_sdk.lic file and that has to be copied into the folder /usr/share/face_sdk.

Note:
face_sdk_utils script requires read access to product_uuid attribute on device dmi/id (usually it is this /sys/devices/virtual/dmi/id/product_uuid file) for the util to work without errors.

After placing the face_sdk.lic file, we can run this command to check if provided license file works on your server or no

	# /usr/bin/face_sdk_utils --license

2.3.2. Finger SDK

2.3.2.1. License Request

We should create a License request for Finger SDK using the below steps.

Download License ReqGen from below URL:
ftp://t5user@ftp.tech5.tech/T5-ABIS/T5-FingerSDK2_1_0-LicenseReqGen.tar

License Generation Process:

Extract the LicGen files and run it on the Linux box where ABIS Finger will be deployed. We can generate 4 different licenses with this LicGen depending on the requirement. If you are looking for Finger ABIS license or Finger MBAP (1:1) license, depending on it generate license. For Testing we recommend to use trial licenses and for production environment you can request for
Matcher Pro licenses. Functionality wise both are same, Pro licenses are more binded to Hardware…

License Request for 1:1 Authentication Matcher Trial version:

#./license_request_auth_matcher_trial_x64
Ok!

This will generate tech5_auth_matcher_trial.srl license request file, please send it to us.

License Request for 1:1 Authentication Matcher Pro version:

#./license_request_auth_matcher_x64
Ok!

This will generate tech5_auth_matcher.srl license request file, please send it to us.

License Request for 1:N Matcher Trial version:

#./license_request_gallery_matcher_trial_x64
Ok!

This will generate tech5_gallery_matcher_trial.srl license request file, please send it to us.

License Request for 1:N Matcher Pro version:

#./license_request_gallery_matcher_x64
Ok!

This will generate tech5_gallery_matcher.srl license request file, please send it to us.

We will be sending the .lic file which has to be copied to the FingerABIS server and mention it in the configuration parameters.

2.3.2.2. No Special dependencies for finger SDK

2.3.3. Iris SDK

2.3.3.1. License Request

Dependencies OpenCV
We should install OpenCV package in the Iris Nodes forthe IRIS SDK to work. We can get it from EPEL packages
in CentOS and from Optional pages for RHEL.

yum install -y libtiff libwebp jasper-libs ilmbase OpenEXR-libs

2.4. T5 ABIS Installation steps

2.4.1. ABIS Software Download

Download Software:

Get the copy of T5-ABIS software from the below drive url:
ftp://t5user@ftp.tech5.tech/T5-ABIS/T5-ABIS_2.0.1-March11th2019.tar.gz
Download the software to Tech5 folder in /opt partition. This has to be done on all the serverswhere ever ABIS will be running.

# mkdir /opt/Tech5

Then Extract the tar file

# cd /opt/Tech5/
# tar xzf T5-ABIS_2.0.1-March11th2019.tar.gz

This will extract all the ABIS containers to /opt/Tech5/T5-ABIS folder. Now we should create acache folder(if it does not exists). Cache folder will be used to store Face/Iris/Finger cache.

# mkdir /opt/Tech5/T5-ABIS/cache

In /opt/Tech5/T5-ABIS each modality will have a Matcher container and Template Container and one Master container. If you are running all this on a single high-compute server, then we can start all Modalities including Master in the same server. However, if you want to distribute ABIS components among multiple servers, then copy appropriate containers to each server
depending on your design.

You can leave the appropriate folder and delete the other folders on each server. Like on Master server delete FaceTC, FaceM and other containers if exists. And same way in Face Matcher container, you can delete Master, FaceM and other containers and so on. General practice is to run each container on each server if the specification of server is like 2 x Intel E5 2680 and 156 Gigs of RAM.

Now that you have the Master and other containers, you will have to configure the settings like Master IP address, Cache path etc in t5abis.xml file:

# cat /opt/Tech5/T5-ABIS/Master/conf/t5abis.xml

If there is no DNS in your environment to resolve hostnames to IP addresses, we need to add the IP address in the hosts file of all the ABIS servers.

Get the IP addresses of all the ABIS servers including Master, Face, Iris and Finger nodes. Then add the IP addresses and hostnames of all the hosts in the /etc/hosts file as shown in the below example:

Example of /etc/hosts file

# cat /etc/hosts
####### Master, DB and BMW Nodes ##########
192.168.234.2 rac1-c3-b01-master01
192.168.234.14 rac2-c3-b01-master02
192.168.234.26 rac3-c3-b01-master03
####### Finger Nodes ######################
192.168.234.3 rac1-c3-b02-fmat01
192.168.234.15 rac2-c3-b02-ftc01
192.168.234.23 rac2-c3-b11-fintc01
192.168.234.29 rac3-c3-b04-fintc02

After editing the hosts file, you should be able to ping from Master node to all the client nodes with their hostnames and vice versa.

2.4.2. ABIS Configuration

In all the ABIS servers, we should edit the configuration files and add the Master server Ip address, (change the IP address in the below lines to the IP of that machine where you are hosting Master node: configuration file: /opt/Tech5/T5-ABIS/Master/conf/t5abis.xml)

<property name="discoverySpi">
		<bean 	class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
	<property name="ipFinder">
		<bean 	class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscovery	VmIpFinder">
				<property name="addresses">
				<list>
					<value>172.18.2.36:47500</value>
				</list>
			</property>
	</bean>
</property>
	</bean>
</property>

In the FaceTC configuration file, you should change the same value to the Master’s IP addresses well:
(Configuration file: /opt/Tech5/T5-ABIS/FaceTC/conf/t5abis.xml)

	<property name="addresses">
		<list>
			<value>172.18.2.36:47500</value>
		</list>
	</property>

In the similar way we should change the IP address in FaceM configuration file to Master’s IP address (Configuration file: /opt/Tech5/T5-ABIS/FaceM/conf/t5abis.xml)

<property name="addresses">
	<list>
		<value>172.18.2.36:47500</value>
	</list>
</property>

Also in FaceM, you should make sure the location of cache folder is already created and add the same cache location in the configuration file: (configuration file: /opt/Tech5/T5-ABIS/FaceM/conf/t5abis.xml)

<property name="t5CachePath" value="="/opt/Tech5/T5-ABIS/cache "/>

We should create a soft link of a library file in both FaceM and FaceTC by deleting the existing link that might not work due to copy of the libs from another server:

rm -rf
/opt/Tech5/T5-ABIS/FaceTC/webapps/T5CloudService/WEB-INF/native/face/libT5FaceNativeJNI.so
rm -rf /opt/Tech5/T5-ABIS/FaceM/webapps/T5CloudService/WEB-INF/native/face/libT5FaceNativeJNI.so

cd /opt/Tech5/T5-ABIS/FaceTC/webapps/T5CloudService/WEB-INF/native/face/
ln -sf libT5FaceNativeJNI.so.0.2 libT5FaceNativeJNI.so

cd /opt/Tech5/T5-ABIS/FaceM/webapps/T5CloudService/WEB-INF/native/face/
ln -sf libT5FaceNativeJNI.so.0.2 libT5FaceNativeJNI.so

Now you have created the soft links of a library file in both FaceM and FaceTC containers. In the IrisTC configuration file, you should change the same value to the Master’s IP address as well:
(Configuration file: /opt/Tech5/T5-ABIS/IrisTC/conf/t5abis.xml)

<property name="addresses">
	<list>
		<value>172.18.2.36:47500</value>
	</list>
</property>

In the similar way we should change the IP address in IrisM configuration file to Master’s IP address (Configuration file: /opt/Tech5/T5-ABIS/FaceM/conf/t5abis.xml)

<property name="addresses">
	<list>
		<value>172.18.2.36:47500</value>
	</list>
</property>

Also in IrisM, you should make sure the location of cache folder is already created and added the same cache location in the configuration file: (configuration file:
/opt/Tech5/T5-ABIS/IrisM/conf/t5abis.xml)

<property name="t5IrisCachePath" value="/opt/Tech5/T5-ABIS/cache"/>

In the FingerTC configuration file, you should change the same value to the Master’s IP address as well: (Configuration file: /opt/Tech5/T5-ABIS/FingerTC/conf/t5abis.xml)

<property name="addresses">
	<list>
		<value>172.18.2.36:47500</value>
	</list>
</property>

In the similar way we should change the IP address in FingerM configuration file to Master’s IP address (Configuration file: /opt/Tech5/T5-ABIS/FingerM/conf/t5abis.xml)

<property name="addresses">
	<list>
		<value>172.18.2.36:47500</value>
	</list>
</property>

Also in FingerM, we have to add the Finger License Path and also should make sure the location of cache folder is already created and added the same cache location in the configuration file: (configuration file: /opt/Tech5/T5-ABIS/FingerM/conf/t5abis.xml)

<property name="t5CachePath" value="/opt/Tech5/T5-ABIS/cache"/>

Once all these configurations files are updated, we can go-ahead and start the services andcheck the logs to see if there are any issues during the startup of services.

3. T5-ABIS Algorithm Parameters

3.1. Face SDK

#The path for the cache of each Modalities can be specified here:

//<property name="t5CachePath" value="/opt/Tech5/T5-ABIS/cache"/>

#This parameter indicates the Algorithm Version of FaceDetection that can be used:

//<property name="t5FaceDetectorVersion" value="101"/>

Possible values for Face Detection are : 100 & 101 . We recommend latest and greatest 101.

#This value can be set to choose FaceAlignment Algorithm Version :

//<property name="t5AlignmentVersion" value="102"/>

Possible values for Face Alignment are : 100, 101 & 102. We recommend, latest and greatest 102.

#This value can be set to choose FaceBuilder Algorithm Version :

//<property name="t5BuilderVersion" value="103"/>

Possible values:100, 101, 102 & 103. We recommend 101 as it is General/Universal.
100 = Limoncello international NN
101 = IrisCream latest international algorithm
102 = Mobile phone NN (less accurate but light)
103 = IrishCream Indonesia/Asia special NN

#This value can be set to choose FaceDetector Algorithm Confidence value:

//<property name="t5FaceDetectoConfidence" value="0.6f"/>

#This value can be set to choose FaceMatcher Builder Algorithm Version :

//<property name="mBuilderVersion" value="103"/>

Note: This must be exactly the same as the value set for t5BuilderVersion
Possible values for builder are 100, 101, 102 & 103, however we recommend 101 as it is General/Universal.
100 = Limoncello international NN
101 = IrisCream latest international algorithm
102 = Mobile phone NN (less accurate but light)
103 = IrishCream Indonesia/Asia special NN

#This value can be set to load number of Faces that can be loaded into matcher:

//<property name="mMatcherFirListHint" value="10000000"/>

#This value can be set to choose Builder specific module:

//<property name="mMatcherTableCode" value="id"/>

Possible values are id & gn, select the version depending on the builder version that you selected.
If builder is 103 the table code should be “gn”
If builder is 100 the table code should be “id”
If builder is 102 the table code should be “gn”
If builder is 101 the table code should be “id”

Example:
Algorithm Versions to choose depending on specific NN Combinations

3.2. Finger SDK

#That the cache of Modalities :
#This value can be number of cores in the server, it will use those many cores during
Template Creation://
#Path to lic file for Finger SDK

//<property name="t5FingerLicensePath"
value="/opt/Tech5/tech5_gallery_matcher.lic"/>

#This value can be set to choose Finger Matcher mode, it will load specific templates depending on the use case:

//<!-- identification mode { 0- fast mode , 1 slow mode } will be used only on Matcher ..
need to set only in matcher →
//<property name="t5FingerIdentificationMode" value="1"/>

#This value can be set to choose N number of Fingers that has to be stored in the cache:

//<property name="t5FingerStoreN" value="10"/>

#This value can be set to choose M number of Fingers that has to be loaded into memory for matching:

//<property name="t5FingerLoadM" value="10"/>

#Possible options to choose for M and N are
2-RT,LT
4-RT,RI,LT,LI
6-RT,RI,RM,LT,LI,LM
10-all 10 fingers

#This value can be set to choose Finger Matching mode:

//<property name="t5FingerMatchingMode" value="1"/>

public static final int NORMAL_MATCHING_MODE = 0;
public static final int CHECK_MIX_FINGER_MATCHING_MODE = 1;
public static final int CHECK_MIX_SLAP_MATCHING_MODE = 2;
public static final int CHECK_MIX_HAND_MATCHING_MODE = 3;

#This value can be set to choose Finger Matching speed(depending on the compute resources available):

//<property name="t5FingerSearchSpeed" value="0"/>

#Values to choose for Matching speed depending on the use case:
lowest matching speed but highest accuracy
public static int LOW_MATCH_SPEED = 0;
normal speed
public static int NORMAL_MATCH_SPEED = 1;
high speed, lower accuracy
public static int HIGH_MATCH_SPEED = 2;
highest speed, lowest accuracy
public static int HIGHEST_MATCH_SPEED = 3;

#This value can be set to choose rotation tolerance for non thumb fingers:

//<property name="t5FingerMaxAngle" value="50"/>

#This value can be set to choose rotation tolerance for thumb fingers:

//<property name="t5FingerMaxAngleThumb" value="50"/>

4. Startup Procedure

After editing the above configuration files mapping to the correct IP address and the cache folder, now you can start the services on each server with the below commands.

Exporting Paths

We should export the LD Library paths before starting the services with the below command:

# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/:/usr/lib64/:/usr/lib/:/usr/local/lib64/:

Starting Services

Step1: Starting Master Service

# /opt/Tech5/T5-ABIS/Master/bin/catalina.sh start

Check the logs in the

# tail -F /opt/Tech5/T5-ABIS/Master/logs/ T5Service.log

If all good, the service starts without any error message and it says READY.
Move on and start the Template Creator service.

Step2: Starting FaceTC service

# /opt/Tech5/T5-ABIS/FaceTC/bin/catalina.sh start

Check the logs in the

# tail -F /opt/Tech5/T5-ABIS/FaceTC/logs/ T5Service.log

It should start the service without any error message and log should say READY at the end.
Move on and start the Matcher service.

Step3: Starting FaceM service

# /opt/Tech5/T5-ABIS/FaceM/bin/catalina.sh start

Check the logs in the

# tail -F /opt/Tech5/T5-ABIS/FaceM/logs/T5Service.log

If all good, the service starts without any error message and it says READY.

Step4: Starting IrisTC service

# /opt/Tech5/T5-ABIS/IrisTC/bin/catalina.sh start

Check the logs in the

# tail -F /opt/Tech5/T5-ABIS/IrisTC/logs/T5Service.log

It should start the service without any error message and log should say READY at the end.
Move on and start the Matcher service.

Step5: Starting IrisM service

# /opt/Tech5/T5-ABIS/IrisM/bin/catalina.sh start

Check the logs in the

# tail -F /opt/Tech5/T5-ABIS/IrisM/logs/T5Service.log

If all good, the service starts without any error message and it says READY.

Step6: Starting FingerTC service

# /opt/Tech5/T5-ABIS/FingerTC/bin/catalina.sh start

Check the logs in the

# tail -F /opt/Tech5/T5-ABIS/FingerTC/logs/T5Service.log

It should start the service without any error message and log should say READY at the end.
Move on and start the Matcher service.

Step7: Starting FingerM service

# /opt/Tech5/T5-ABIS/FingerM/bin/catalina.sh start

Check the logs in the

# tail -F /opt/Tech5/T5-ABIS/FingerM/logs/T5Service.log

If all good, the service starts without any error message and it says READY.

GetStatus Page

Then you can try to access the stats page with the Master’s IP address:
http:// 172.18.2.36 :8080/T5CloudService/1.0/getStatus
This should show all the nodes and modalities here and now we can start enrolling and identifying records to your new ABIS System.

RestAPI calls can be sent to the below address and ABIS will handle calls:
http:// 172.18.2.36 :8080/T5CloudService/1.0/processRequest

5. Testing Procedure

We have an utility which can be used to Enroll/Identify records into the new ABIS Search Engine. Let’s discuss on how to enroll and Identify records using the Utility.

Download Utility

Utility can be downloaded from the FTP Url: ftp://ftp.tech5.tech/T5-ABIS/T5AbisUtility/

Utility is written in Java and hence we can run it on any Windows or Linux machine where Java 8 or higher version is installed.

Also this util has 9 Parameters(explained below) and it can be customized according to our needs and depending on the the operation that we want to run/test.
Format of the Util

java -jar AbisUtil.jar Param1 Param2 Param3 Param4 Param5 Param6 Param7 Param8 Param9

Parameters Explained

Param1 : url = “http://testapi.tech5.tech:8080/T5CloudService/1.0/processRequest
Param2 : enroll = We should Mark this true if you are enrolling a record and make parameter 2 false. Either 1 or 2 can be true, other param should be false.
Param3 : identify = We should Mark this true if you are identifying a record and make parameter1 false.
Param4 : includeIris = We can mark this as True if you want to include Iris in your currentoperation.
Param5 : includeFace = We can mark this as True if you want to include Face in your current operation.
Param6 : path = Path to the folder where Biometric Records are there which has to be enrolled or identified “D:\Tech5\MBAP\Data”
Param7 : writeJson= If we use true here, all the json responses and requests will be saved to the disk for current operation, this is used for troubleshooting purpose like what’s wrong with the submitted data etc.
Param8 : isTemplate= false THis can be false as you will not be using templates for now. It will be useful to create millions of templates before enrolling.
Param9 : includeFinger = We can mark this as True if you want to include Face in your current operation.

Examples:

➔ Enrolling Face Records Present in OneProbe folder:

java -jar AbisUtil.jar
http://testapi.tech5.tech:8080/T5CloudService/1.0/processRequest"
true false false true “C:\Users\Administrator\Documents\EnrollTools\GTData\OneProbe” false
false false

➔ Enrolling Iris Records Present in OneProbe folder:

java -jar AbisUtil.jar “http://testapi.tech5.tech:8080/T5CloudService/1.0/processRequest
true false true false “C:\Users\Administrator\Documents\EnrollTools\GTData\OneProbe” false
false false

➔ Enrolling Finger Records Present in OneProbe folder:
java -jar AbisUtil.jar “http://testapi.tech5.tech:8080/T5CloudService/1.0/processRequest
true false false false “C:\Users\Administrator\Documents\EnrollTools\GTData\OneProbe” false
false true

❖ Identifying Face Records Present in OneProbe folder:

java -jar AbisUtil.jar “http://testapi.tech5.tech:8080/T5CloudService/1.0/processRequest
false true false true “C:\Users\Administrator\Documents\EnrollTools\GTData\OneProbe” false
false false

❖ Identifytrue “C:\Users\Administrator\Documents\EnrollTools\GTData\OneProbe” false
false false
➔ Enroll in OneProbe foldering Iris Records Present:

java -jar AbisUtil.jar “http://testapi.tech5.tech:8080/T5CloudService/1.0/processRequest
false true true false “C:\Users\Administrator\Documents\EnrollTools\GTData\OneProbe” false
false false

❖ Identifying Finger Records Present in OneProbe folder:
java -jar AbisUtil.jar “http://testapi.tech5.tech:8080/T5CloudService/1.0/processRequest
false true false false “C:\Users\Administrator\Documents\EnrollTools\GTData\OneProbe” false
false true

Testing ABIS with Utility

Lets run the Util and use the sample data provided in FTP:

a) We have sample data in the FTP which can be downloaded and tested using the App for Enroll and Identification.
b) Download the Util from: [ftp:// ftp.tech5.tech/T5-ABIS/T5AbisUtility/](ftp://%20ftp.tech5.tech/T5-ABIS/T5AbisUtility/)
c) And then download Sample data: [ftp:// ftp.tech5.tech/T5-	ABIS/T5AbisUtility/TestData.rar](ftp://%20ftp.tech5.tech/T5-%09ABIS/T5AbisUtility/TestData.rar)
d) Now extract the data in TestData.rar and save the Utility and TestData folder in same location on your computer.
e) Then we should format the AbisUtil.jar to Enroll Face/Iris records to the system and that command will be some like this:

java -jar AbisUtil.jar “http://testapi.tech5.tech:8080/T5CloudService/1.0/processRequest” true
false true true “TestData” false false false

f) Here we are telling the Util to do Identification with Face/Iris by marking those 

Parameters as true and rest all will be false.
g) Now run this in the command prompt from the same folder where both AbisUtil.jar and TestData folder are present:
IMG

Looks like the data got enrolled into the ABIS search engine successfully

h) We have to format the command to do Identification instead of enroll as we did before.

Command will be like this:
java -jar AbisUtil.jar “http://testapi.tech5.tech:8080/T5CloudService/1.0/processRequest” false
true true true "
TestData" false false false

i) Lets try to do a search for the same records and make sure data is recorded without any issue:

IMG

Here we can see that we got a Hit for both Face with Matching score 20 and also Iris got a hit with Matching score of 1.0.

j) This confirms that ABIS is working fine as we were able to Enroll and Identify without any issue.

6. Procedure to stop Services gracefully

**Stopping ServicesStep1: Stop Face Matcher Service

sh /opt/Tech5/T5-ABIS/FaceM/bin/catalina.sh start

Check the logs to see if the service got stopped without any errors in the

#tail -F /opt/Tech5/T5-ABIS/FaceM/logs/ T5Service.log

Log can be checked and once it says service stopped, we can check if there are any java processes still running and we can kill it with kill -9 command. This should be done to make sure we don’t have dual processes running for any service that we are talking about.

#kill -9 `ps aux | grep java | grep FaceM | awk {'print $2'} `older are present:

Step2: Starting FaceTC service

# /opt/Tech5/T5-ABIS/FaceTC/bin/catalina.sh stop

Check the logs in

# tail -F /opt/Tech5/T5-ABIS/FaceTC/logs/T5Service.log
# kill -9 `ps aux | grep java | grep FaceTC | awk {'print $2'} `

Step3: Stopping IrisM service

# /opt/Tech5/T5-ABIS/IrisM/bin/catalina.sh stop

Check the logs in below folder

# tail -F /opt/Tech5/T5-ABIS/IrisM/logs/T5Service.log
# kill -9 `ps aux | grep java | grep IrisM | awk {'print $2'} `

Step4: Stopping IrisTC service

# /opt/Tech5/T5-ABIS/IrisTC/bin/catalina.sh stop

Check the logs in below folder

# tail -F /opt/Tech5/T5-ABIS/IrisTC/logs/T5Service.log
# kill -9 `ps aux | grep java | grep IrisTC | awk {'print $2'} `

Step5: Stopping FingerM service

# /opt/Tech5/T5-ABIS/FingerM/bin/catalina.sh stop

Check the logs in below folder

# tail -F /opt/Tech5/T5-ABIS/FingerM/logs/T5Service.log
# kill -9 `ps aux | grep java | grep FingerM | awk {'print $2'} `

Step6: Stopping FingerTC service

# /opt/Tech5/T5-ABIS/FingerTC/bin/catalina.sh stop

Check the logs in below folder

# tail -F /opt/Tech5/T5-ABIS/FingerTC/logs/T5Service.log
# kill -9 `ps aux | grep java | grep FingerTC | awk {'print $2'} `

Step6: Stopping Master service

# /opt/Tech5/T5-ABIS/Master/bin/catalina.sh stop

Check the logs in below folder

# tail -F /opt/Tech5/T5-ABIS/Master/logs/T5Service.log
# kill -9 `ps aux | grep java | grep Master | awk {'print $2'} `

Once all the services are stopped gracefully, you can start to start the services whenever needed by following the steps in “Starting services Procedure”

If you have any queries, please do contact us at support@tech5-sa.com

THANK YOU