Candidate Features for Quality Assessment 

Martin Olsen 

Hochschule Darmstadt – CASED 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 1 
 

 

Quality Features For NFIQ 2.0 

 Requirements 

 Based on publically available algorithms 

 Standardized interface (inputs and outputs) 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 2 
 

 

 

 

Implemented Quality Features 

 More than 30 features identified and tested on multiple datasets 

 NFIQ 

 Implemented from ISO/IEC TR 29794-4 

 Frequency Domain Analysis 

 Local Clarity Score 

 Orientation Certainty Level 

 Orientation Flow 

 Radial Power Spectrum 

 Ridge Valley Uniformity 

 Gabor filter 

 Ridge line count 

 Gabor (Shen et al., Quality Measures of Fingerprint Images, 2001) 

 Minutiae count in region of interest 

 FingerJetFX 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 3 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

br 1; bc = 1; 

for r blkoffset+1:blksz:rows (blksz+blkoffset 1)

for c blkoffset+1:blksz:cols (blksz+blkoffset 1

blkim im(r:r+blksz 1, c:c+blksz 1);

maskB1 maskim(r:r+blksz 1, c:c+blksz 1);

maskBseg(br,bc) allfun(maskB1);

[cova covb covc] covcoef(blkim);

ocls(br,bc) = ocl(cova, covb, covc);

bc bc+1;

end

br br+1; bc 1;

end

ocls(not(maskBseg)) NaN; % mask the background block

orientationCertaintyLevel mean(ocls(~isnan(ocls))); 

function [orientationCertaintyLevel] = compOcl(im, maskim 

allfun = inline('all(x(:))'); 

[rows cols] = size(im); 

eblksz = ceil(sqrt(sum(v1sz.^2))); 

blkoffset = ceil((eblksz - blksz)/2); 

mapsize = fix(([rows cols] - (eblksz - blksz))./blksz 

maskBseg = false(mapsize); 

ocls = zeros(mapsize); 

= 

= - -

= - -

= - -

= - -

= 

= 

=

 = = 

= 

= 

end 

std::list<NFIQ::QualityFeatureResult> Orient

const NFIQ::FingerprintImageData & finge

{ 

std::list<NFIQ::QualityFeatureResult> fe

// check if input image has 500 dpi 

if (fingerprintImage.m_ImageDPI != NFIQ

throw NFIQ::NFIQException(NFIQ::e

Mat img; 

try 

{ 

// get matrix from fingerprint image 

img = Mat(fingerprintImage.m_ImageHe

 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 

OCL input parameters

Name Default Description 

I - Input image 

Bh 32 Block height in pixels

Bw 32 Block width in pixels 

Imask Segmentation mask 

Page: 4

- 

Feature Example 

Orientation Certainty Level 

 See NFIQ 2.0 project page at 

http://www.nist.gov/itl/iad/ig/development_nfiq_2.cfm 

 ISO/IEC 29794-4:2010 

 Block wise approach 

} 
 

 

Orientation Certainty Level 

Algorithm → Covariance

1. Compute the intensity gradient of each block

2. Compute the covariance matrix from the gradients

 dx dy = gradient(B)

C =

1

N

dx

dy dx dy =

a c

c d

N

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 5 
 

 

Orientation Certainty Level 

Algorithm → Eigenvalue computation

λmin =

a + b − a − b 

2 + 4c2

2

λmax=

a + b + a − b 

2 + 4c2

2

3. Compute the eigenvalues to obtain OCL for each block

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 6 
 

 

 

Orientation Certainty Level 

Algorithm → Computing the quality score

 Local orientation certainty level

 A ratio in the interval [0, 1] where 1 is highest certainty level and 0 is lowest.

OCL = 1 −

λmin

λmax

OCL 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 7 
 

 

 

Shaping of Gabor filter according to 

detected ridge-line frequency 

 Feedback from previous workshop at IBPC ’12 to use: 

 Dynamic filter bank based on detected ridgeline frequency 

 In progress using ridgeline counting and detected frequency peak 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 8 
 

 

Actionable Quality 

Providing more than a quality value 

 Detectors 

 Centeredness (based on singularity position) 

 Wetness/pressure 

 Completeness 

 Ghostprints 

 Motivation: 

 “It would be useful to have a detector for too dry/wet fingers, too low/high pressure, 

and out-of-center fingerprints.” – Greg Cannon during IBPC ’12 NFIQ 2.0 workshop

 Reply back then was: “Whether this can be detected or not depends on the training 

data. Contributions of finger images that are known to have low/high pressure etc. 

are welcome”.

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 9 
 

 

 

Data collection for wet/dry detection 

Overview 

 5 fingerprint sensors (optical) 

 33 subjects 

 4 impressions/finger/sensor 

 6600 images total 

 4 types of treatment 

 No treatment 

 alcohol-dried 

 crème-moisturized 

 water 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 10 
 

 

 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 

Data collection for wet/dry detection 

Examples 

 Objective measurement of skin moisture level 

62.5% 84.6% 99.9% 

Page: 11 
 

 

 

 

Observations on wet/dry impressions 

• Wet fingerprints are generally handled well by recent 

sensors 

• Dry fingerprints cause degradation in comparison 

score 

Older generation sensor New generation sensor 

See master thesis by Marek Dusio (DTU) – to be published in June 2013 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 12 
 

 

NFIQ 2.0 Lite 

 Motivation: 

 Execution speed of feature extraction is important in some applications (even though 

processors are getting faster and faster). Aim at 125–150 ms for inclusion of quality 

assessment into auto-capture loop of sensors. – IBPC ‘12

 Potential solution: 

 Pre-compute a lookup table which can speed up the quality assessment 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 13 
 

 Page: 14

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 

NFIQ 2.0 Lite 

Machine Learning approach 

 Two stage process 

 Clustering using Self-Organizing Map 

 Prediction using Random Forest 

To be published by Martin Aastrup Olsen, Anton Makarov, Elham Tabassi, Christoph Busch 
 

 

 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 15 

SOM example 

Blocksize: 24 x 24 px 

SOM units: 32 x 32 

To be published by Martin Aastrup Olsen, Anton Makarov, Elham Tabassi, Christoph Busch 
 

 

 

SOM activation histogram 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 16 

• 64 images with 

highest comparison 

score 

• 64 images producing 

false non-match at 

FNMR = 10^-4 

• Difference between 

histograms. 

To be published by Martin Aastrup Olsen, Anton Makarov, Elham Tabassi, Christoph Busch 
 

 

Performance indication 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 17 

• FNMR vs. score threshold for each level of quality 
 

 

Contact 

Hochschule Darmstadt - CASED 

Martin Aastrup Olsen 

martin.olsen@cased.de 

Gjøvik University College - NISlab 

Martin Aastrup Olsen 

martin.olsen@hig.no 

NFIQ 2.0 Workshop 

Winchester U.K., April 26, 2013 Page: 18