<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn>
<issn pub-type="ppub">0868-4952</issn>
<issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFO1228</article-id>
<article-id pub-id-type="doi">10.15388/Informatica.2019.213</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>Latent Fingerprint Matching Using Distinctive Ridge Points</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Castillo-Rosado</surname><given-names>Katy</given-names></name><email xlink:href="krosado@cenatav.co.cu">krosado@cenatav.co.cu</email><xref ref-type="aff" rid="j_info1228_aff_001"/><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>K. Castillo-Rosado</bold> is a graduate of computer sciences from the Havana University, in 2012. She is a PhD student at the Advanced Technologies Application Center (CENATAV) in the Biometrics Department. Her research interests are automatic fingerprint recognition, latent fingerprint identification, image and video processing, feature extraction and pattern recognition, among others.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Hernández-Palancar</surname><given-names>José</given-names></name><email xlink:href="jpalancar@cenatav.co.cu">jpalancar@cenatav.co.cu</email><xref ref-type="aff" rid="j_info1228_aff_001"/><bio>
<p><bold>J. Hernández-Palancar</bold> received his BS degree in computer sciences from the Havana University, Cuba, in 1990 and his PhD from the same university, in 1997. Currently, he works in the Advanced Technologies Application Center (CENATAV), Cuba, where he is a senior researcher and director of this Research Center. In CENATAV his research interests focus on parallel processing applied to data mining, pattern recognition algorithms, and biometrics.</p></bio>
</contrib>
<aff id="j_info1228_aff_001"><institution>Advanced Technologies Application Center (CENATAV)</institution>, 7ma A ♯21406 b/ 214 and 216, Siboney, Playa, P.C. 12200, Havana, <country>Cuba</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2019</year></pub-date>
<pub-date pub-type="epub"><day>1</day><month>1</month><year>2019</year></pub-date><volume>30</volume><issue>3</issue><fpage>431</fpage><lpage>454</lpage>
<history>
<date date-type="received"><month>3</month><year>2018</year></date>
<date date-type="accepted"><month>4</month><year>2019</year></date>
</history>
<permissions><copyright-statement>© 2019 Vilnius University</copyright-statement><copyright-year>2019</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>The way that forensic examiners compare fingerprints highly differs from the behaviour of current automatic fingerprint identification algorithms. Experts usually use all the information in the fingerprint, not only minutiae, while automatic algorithms don’t. Partial (especially latent) fingerprint matching algorithms still report low accuracy values in comparison to those achieved by experts. This difference is mainly due to the features used in each case. In this work, a novel approach for matching partial fingerprints is presented. We introduce a new fingerprint feature, named Distinctive Ridge Point (DRP), combined with an improved triangle-based representation which also uses minutiae. The new feature describes the neighbouring ridges of minutiae in a novel way. A modified version of a fingerprint matching algorithm presented in a previous work is used for matching two triangular representations of minutiae and DRPs. The experiments conducted on NIST27 database with a background added of 29000 tenprint impressions from NIST14 and NIST4 databases showed the benefits of this approach. The results show that using the proposal we achieved an accuracy of 70.9% in rank-1, improving in an 11% the accuracy obtained using minutiae and the reference point. This result is comparable with the best accuracy reached in the state of the art while the amount of features is reduced.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>fingerprint matching</kwd>
<kwd>latent fingerprint</kwd>
<kwd>Automatic Fingerprint Identification Systems (AFIS)</kwd>
<kwd>minutia</kwd>
<kwd>extended features</kwd>
<kwd>delaunay triangulation</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_info1228_s_001">
<label>1</label>
<title>Introduction</title>
<p>Biometrics studies the use of biological characteristics for automatic authentication. Fingerprints are one of the oldest and most used biometric traits, either in civilian or forensic applications. Depending on the fingerprints acquisition methodology, they can be classified into three types: plain (Fig. <xref rid="j_info1228_fig_001">1</xref>(a)), rolled (Fig. <xref rid="j_info1228_fig_001">1</xref>(b)) and latent (Fig. <xref rid="j_info1228_fig_001">1</xref>(c)) impressions. In order to obtain the entire fingerprint pattern, rolled impressions are acquired by rolling the finger nail to nail, while plain impressions are obtained by pressing down the finger on a flat surface, without rolling it. Rolled and plain fingerprints are expected to have high quality due to their supervised capture. This is different for latent impressions, which are normally partial fingerprints and present low quality, because they are lifted from surfaces of objects inadvertently touched by a person in a crime scene (Maltoni <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_027">2009</xref>).</p>
<fig id="j_info1228_fig_001">
<label>Fig. 1</label>
<caption>
<p>Fingerprint classification depending on the acquisition methodology.</p>
</caption>
<graphic xlink:href="info1228_g001.jpg"/>
</fig>
<p>Automatic Fingerprint Identification Systems (AFIS) are used for solving crimes, for attendance system, for access control and so on. Fingerprint matching is an important stage in AFIS flow steps. Fingerprint features are separated in three levels depending on which scale was used to analyze the ridges pattern. Minutiae are the most used features (ridge endings and ridge bifurcations) for fingerprint recognition.</p>
<p>Although there are several advances in fingerprint matching, when the available fingerprint minutiae decrease, matching algorithms performance falls dramatically (Chen <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_009">2013</xref>; Ahmed <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_001">2016</xref>). There are many cases in which only a partial fingerprint image can be obtained, e.g. when compact silicon chip-based sensors are used, when latent fingerprints from crime scenes are processed, and others (Fang <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_013">2007</xref>). In these cases, where the minutiae count is low, the use of other features extracted from the ridges pattern flow is needed (Sankaran <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_039">2014</xref>).</p>
<p>In this work we propose a new fingerprint feature and representation for improving the partial fingerprint matching accuracy. Our main contributions are the following. (1) We introduce a new set of points describing ridges around minutiae alongside a triangular representation modified for taking advantage of the new features. This representation describes a more extensive area than the one obtained with only minutiae. (2) In addition, a set of triangle discriminative features for reducing false positives is defined. (3) Also, some improvements have been incorporated to a matching algorithm from literature, for comparing two proposed representations. With our proposal, we were able to achieve an accuracy similar to the best of the state of the art, while the amount of features is smaller.</p>
<p>The structure of this work is described below. A brief review of the existing partial fingerprint matching features is given in Section <xref rid="j_info1228_s_002">2</xref>. The fingerprint features and the proposed representation are discussed in Section <xref rid="j_info1228_s_005">3</xref>. In Section <xref rid="j_info1228_s_017">4</xref>, the effectiveness of this approach is evaluated. Finally, conclusions and possible future works are presented.</p>
</sec>
<sec id="j_info1228_s_002">
<label>2</label>
<title>Related Work</title>
<p>The main task of AFIS is the fingerprint matching process. There is a need for matching algorithms ready for dealing with partial fingerprint queries that present a small number of minutiae, especially for latent impression cases (Sankaran <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_039">2014</xref>). In order to gain accuracy, some other features besides minutiae must be used. Some approaches have been proposed in partial fingerprint matching, for both cases, good and bad (latent) quality impressions.</p>
<sec id="j_info1228_s_003">
<label>2.1</label>
<title>Good Quality Partial Fingerprint Matching</title>
<p>For partial fingerprints of good quality, different features had been used along with minutiae. Secondary features (euclidean distance and orientation difference) calculated from each minutia and its two nearest neighbours have been proposed (Jea and Govindaraju, <xref ref-type="bibr" rid="j_info1228_ref_023">2005</xref>).</p>
<p>Representative ridge points (<inline-formula id="j_info1228_ineq_001"><alternatives>
<mml:math><mml:mi mathvariant="italic">RRPs</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{RRPs}$]]></tex-math></alternatives></inline-formula>) were proposed for describing ridges (Fang <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_013">2007</xref>). These points are sampled one by one from each minutia and along the ridge associated to the minutia. These points are represented with their location, orientation and index. The idea is to use these <inline-formula id="j_info1228_ineq_002"><alternatives>
<mml:math><mml:mi mathvariant="italic">RRPs</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{RRPs}$]]></tex-math></alternatives></inline-formula> along with minutiae with the minutiae-based matching algorithms by modifying two constraints: minutiae can only match with minutiae, and, two <inline-formula id="j_info1228_ineq_003"><alternatives>
<mml:math><mml:mi mathvariant="italic">RRPs</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{RRPs}$]]></tex-math></alternatives></inline-formula> can only match if they have the same index. In cases where the minutiae count is very low, these points do not provide enough discriminative information. Besides, with these points only the ridges along minutiae are represented. Ridge shape features (RSFs) were used along minutiae for partial fingerprint matching (Lee <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_025">2017</xref>). These features are extracted from convex and concave edges that appear in ridges. First, a minutiae matching stage is performed by comparing both minutiae and the RSFs in their local neighbourhood. Then, a second matching stage is performed using only the RSFs extracted in the overlapped area obtained by the previous stage. Finally, the global score is calculated by combining the two computed scores.</p>
<p>The minutiae types have been used in different approaches. A representation based on three Delaunay triangulations: i) for all minutiae, ii) for only minutiae endings and iii) for only minutiae bifurcations was proposed (Girgis <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_018">2009</xref>). Also, it was proposed to partition each minutiae set into two sets: the terminations and the bifurcations, and then finding the two farthest bifurcation minutiae in the partial fingerprint, for matching them with two minutiae from the template (Asha and Chellappan, <xref ref-type="bibr" rid="j_info1228_ref_004">2013</xref>). Due to the skin elasticity, when the pressure intensity varies, minutiae extraction algorithms can make mistakes in the minutiae type estimation process. This implies that an algorithm based on this feature is not a reliable option. The fingerprint area information combined with minutiae in a fusion scheme was proposed by Chen <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1228_ref_009">2013</xref>), based on a study of the influence of the fingerprint area in partial fingerprint recognition.</p>
<p>Deep neural networks have been used for extracting features in fingerprints. The combination of global and local deep features around minutiae was proposed (Zhang <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_042">2017</xref>). GlobalNet, a CNN based on ResNet is proposed for extracting global features from the fingerprints and projecting them into the Euclidean space (Zhang and Feng, <xref ref-type="bibr" rid="j_info1228_ref_041">2017</xref>). By using MinutiaNet, deep features around each minutia are extracted into the Euclidean space. First, the query is matched against each impression on the database by comparing the global features, then a minutiae-based matching is performed against the one with the highest global-based score. Finally, a fusion of both scores is calculated. In another work, first an alignment of the partial fingerprints based on phase-only correlation and polar Fourier transform is made (Qin <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_036">2017</xref>). Then, a deep network is proposed for extracting a fixed-length feature vector from each overlapped region. The similarity score is calculated by comparing these two vectors.</p>
<p>Some features describing texture information have been proposed to be used in partial fingerprint recognition (Mathur <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_028">2016</xref>; Aravindan and Anzar, <xref ref-type="bibr" rid="j_info1228_ref_002">2017</xref>). For all these cases, the fingerprint impressions need to have a similar texture for obtaining a reliable correspondence. However, comparing impressions with different textures is commonly needed (impressions acquired from different scanners, or by using ink on different surfaces).</p>
</sec>
<sec id="j_info1228_s_004">
<label>2.2</label>
<title>Latent Fingerprint Matching</title>
<p>In the case of bad quality partial fingerprints or latent fingerprints, there have been some improvements in the past few years (Sankaran <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_039">2014</xref>; Ezhilmaran and Adhiyaman, <xref ref-type="bibr" rid="j_info1228_ref_012">2017</xref>). The bad quality of these impressions restricts the universe of features to be used for latent fingerprint algorithms. Despite this fact, the little amount of minutiae found in this type of fingerprints has forced the researchers to look for other features.</p>
<p>The manually marked minutia (position and direction) is a feature utilized by every approach. In cases where minutiae are the only features used, accuracy is increased by adopting other strategies. The fusion of rolled and plain fingerprints at three different levels: feature, rank and score levels was tested, obtaining the best results for the score-level fusion (Feng <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_015">2009</xref>). Also, a score-level fusion of manually marked minutiae and automatically extracted minutiae was proposed (Paulino <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_034">2010</xref>). Additionally, a latent identification framework where multiple latent examiners and the AFIS can work in conjunction with each other was proposed (Arora <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_003">2015</xref>). Furthermore, a Minutia Spherical Coordinate Code (MSCC) was presented by Zheng and Yang (<xref ref-type="bibr" rid="j_info1228_ref_043">2015</xref>). MSCC is a modified version of the Minutiae Cylinder Code (MCC) matching algorithm (Cappelli <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_007">2010</xref>). This version allowed an improvement in feature size while the reached accuracy values were equal or better than the original MCC. Bezier ridge descriptors have been used for enhancing the latent fingerprint impressions. Then, by using minutiae as keys, a MapReduce process is proposed to recover the latent mate template from the database (Reddy, <xref ref-type="bibr" rid="j_info1228_ref_037">2016</xref>). As it was already mentioned, due to the little amount of minutiae and their scattering, the matching accuracy of these proposals is still low. Recently, a clustering approach for obtaining the global minutiae pair matching was proposed (Medina-Pérez <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_029">2016</xref>). The proposal does not depend on the minutiae descriptors used for obtaining the minutiae pairs similarity. First, a local matching is performed, then the matching pairs are clustered for decreasing the problems of global deformations. The obtained clusters are merged and a Thin-Plate Spline (TPS) model is generated for searching new matching minutiae pairs. Finally, the global similarity score is calculated.</p>
<p>The orientation map is a feature used for fingerprint matching, too. Paulino <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1228_ref_035">2013</xref>) proposed a descriptor-based Hough transform alignment algorithm for aligning and measuring fingerprints similarity using minutiae and orientation fields. Also, the full fingerprint minutiae set with respect to the query latent minutiae set was reduced with the latent orientation field information (Krish <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_024">2014</xref>).</p>
<p>In another case, besides the orientation field, the frequency field is also used (Liu <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_026">2013</xref>). The ridge orientation and ridge frequency of the latent fingerprints are improved by incorporating a “feedback from exemplar” and with the enhanced features, the candidates list is updated and resorted.</p>
<p>In addition to edited minutiae and the orientation map, Jain and Feng (<xref ref-type="bibr" rid="j_info1228_ref_022">2011</xref>) also used ridge wavelength maps, singularities, ridge quality maps and fingerprint skeletons, showing how far the accuracy can go when a large group of extended features are used. These features are regarded as extended features (CDEFFS, <xref ref-type="bibr" rid="j_info1228_ref_008">2008</xref>). Their experiments showed that Level 1 (ridge quality map and ridge flow map) and Level 2 (ridge skeleton) features were the most effective for improving the accuracy.</p>
<p>Recently, other strategies have been proposed, like a descriptor formed by concatenating the resultant descriptors extracted with 14 trained ConvNets with multiple fingerprint local patches at different scales and regions around minutiae (Cao and Jain, <xref ref-type="bibr" rid="j_info1228_ref_006">2017</xref>). Three minutiae templates are used, two minutiae templates extracted using different fingerprint preprocessing algorithms, and a texture template, all three providing complementary information. For latent fingerprints, the texture template is represented by extracting two virtual minutiae from each non-overlapped block of <inline-formula id="j_info1228_ineq_004"><alternatives>
<mml:math><mml:mn>16</mml:mn><mml:mo>×</mml:mo><mml:mn>16</mml:mn></mml:math>
<tex-math><![CDATA[$16\times 16$]]></tex-math></alternatives></inline-formula>. For reference prints, just one virtual minutia is extracted from each block. The descriptors are extracted from all three minutiae sets.</p>
<p>For both cases, partial fingerprint images of good and bad quality, there are proposals using some Level 3 extended features (e.g. pores) (Zhang <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_040">2018</xref>). This level of features is highly dependent on the quality of the query and the enrolled fingerprints. Therefore, despite the fact that they can improve the accuracy of the matching algorithms, the quality of fingerprint images needs to be enhanced before these features can really play a more important role (Chen and Jain, <xref ref-type="bibr" rid="j_info1228_ref_010">2007</xref>; Jain and Feng, <xref ref-type="bibr" rid="j_info1228_ref_022">2011</xref>; Jain, <xref ref-type="bibr" rid="j_info1228_ref_021">2011</xref>).</p>
<p>The merge of features beyond minutiae, that can be marked by experts or inferred from the interaction with them, has provided a new area for developing latent matching algorithms with betters results (Jain, <xref ref-type="bibr" rid="j_info1228_ref_021">2011</xref>), and the new generation of AFIS needs to be prepared for it.</p>
<p>Considering the main difficulties still presented by the state of the art proposals regarding the latent fingerprint matching algorithms, in this article, we propose to use a group of distinctive ridge points in addition to the minutiae. At other occasions, points have been extracted from the minutiae, but on the minutia ridge. In this case, points are extracted both from the ridges along minutiae and from the neighbouring ridges. The main objective of these points is to describe in a compact manner the minutiae neighbouring ridges, and in this way incorporating new discriminative information to the representation. This is important, due to the low amount of minutiae present in latent fingerprints. The relationships between the points and the minutiae are represented by a state of the art representation, based on the well-known Delaunay Triangulation. Some new features, based specifically on the new points, are incorporated into these triangles.</p>
</sec>
</sec>
<sec id="j_info1228_s_005">
<label>3</label>
<title>Proposed Approach</title>
<p>Ridges are always present in a fingerprint impression, no matter how small the area could be. For manually comparing two impressions, experts use all ridges besides minutiae. Consequently, extracting features describing the ridges flow is a wise choice and this is the guide of what is presented below.</p>
<sec id="j_info1228_s_006">
<label>3.1</label>
<title>Distinctive Ridge Points Features</title>
<p>Throughout history it has been shown that minutiae are one of the most discriminative features extracted from fingerprints. Therefore, it is smart to think that minutiae should be integrated in every fingerprint representation, even if they are just a few. In addition, minutiae are very easy to manually mark by experts.</p>
<p>Ridges are always present in any fingerprint area, no matter how small it is. Furthermore, using them as a feature for the matching stage should increase the accuracy in comparison with the minutiae-based matching algorithms. One simple way for representing ridges is using points belonging to each ridge. Therefore, a high resolution image is not needed for obtaining a reliable set of points. By using ridge points, only a thin line of the ridges is needed. In this way, the interaction with experts is very easy, which is extremely needed for latent fingerprint matching (Arora <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_003">2015</xref>).</p>
<p>Some approaches where the skeleton ridges are used have been proposed. In some cases each ridge is defined as a list of equidistant points, or many points from ridges are extracted as texture features (Feng <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_014">2005</xref>; Jain and Feng, <xref ref-type="bibr" rid="j_info1228_ref_022">2011</xref>; Aravindan and Anzar, <xref ref-type="bibr" rid="j_info1228_ref_002">2017</xref>). Using all or many points of each ridge is a very computationally expensive option. In the other cases, a group of points is selected. One of the ways in where the points are selected needs a very good quality from the image (concave and convex edges from ridges) (Lee <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_025">2017</xref>), and in the other one just a group of points from ridges along each minutiae are extracted (Fang <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_013">2007</xref>), furthermore, the minutiae neighbourhood is not described entirely. In order to obtain a balance between accuracy and efficiency, a set of distinctive ridge points is proposed (<inline-formula id="j_info1228_ineq_005"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula>) in this work.</p>
<p>As stated above, a group of distinctive points besides minutiae is extracted. These points, unlike other approaches, are extracted from neighbouring ridges of all minutiae, and also from ridges to which minutiae belong. These distinctive points are projections and extensions of minutiae. The projections are those points found by projecting the minutiae on the neighbouring ridges depending on their direction. The extensions are points extracted from each minutia in its own ridge or from the minutiae projections. The amount of projections or extensions is a pre-defined number. These points describe the whole fingerprint area presented in the image. At the same time, they have discriminative power. Finally, the <inline-formula id="j_info1228_ineq_006"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> is the set that results from the union of the minutiae, the projections and the extensions. Formally, our <inline-formula id="j_info1228_ineq_007"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> proposal is defined as follows.</p>
<p>Let <inline-formula id="j_info1228_ineq_008"><alternatives>
<mml:math><mml:mi mathvariant="italic">M</mml:mi><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$M=\{{m_{1}},{m_{2}},\dots ,{m_{mc}}\}$]]></tex-math></alternatives></inline-formula> be the set of minutiae extracted from a fingerprint image and <inline-formula id="j_info1228_ineq_009"><alternatives>
<mml:math><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">c</mml:mi></mml:math>
<tex-math><![CDATA[$mc$]]></tex-math></alternatives></inline-formula> the amount of minutiae. Each minutia <inline-formula id="j_info1228_ineq_010"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{i}}$]]></tex-math></alternatives></inline-formula> is a tuple <inline-formula id="j_info1228_ineq_011"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[${m_{i}}=\langle {x_{i}},{y_{i}},{\theta _{i}}\rangle $]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1228_ineq_012"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${x_{i}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_013"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${y_{i}}$]]></tex-math></alternatives></inline-formula> are the minutia coordinates and <inline-formula id="j_info1228_ineq_014"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\theta _{i}}$]]></tex-math></alternatives></inline-formula> is the minutia direction.</p>
<p>Using <italic>M</italic>, two disjoint sets are defined: <inline-formula id="j_info1228_ineq_015"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pr</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{Pr}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_016"><alternatives>
<mml:math><mml:mi mathvariant="italic">Ex</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{Ex}$]]></tex-math></alternatives></inline-formula>.</p>
<sec id="j_info1228_s_007">
<label>3.1.1</label>
<title>The <inline-formula id="j_info1228_ineq_017"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pr</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{Pr}$]]></tex-math></alternatives></inline-formula> Set</title>
<p>In order to describe the ridges around each minutia, a new set containing neighbouring ridges points is introduced.</p><statement id="j_info1228_stat_001"><label>Definition 1</label>
<title><italic>(Neighbouring ridges).</italic></title>
<p>Let <inline-formula id="j_info1228_ineq_018"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">M</mml:mi></mml:math>
<tex-math><![CDATA[${m_{i}}\in M$]]></tex-math></alternatives></inline-formula> be a minutia. The neighbouring ridge <inline-formula id="j_info1228_ineq_019"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${r_{j}}$]]></tex-math></alternatives></inline-formula> of <inline-formula id="j_info1228_ineq_020"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{i}}$]]></tex-math></alternatives></inline-formula> is the <italic>j</italic>-th intersected ridge with the tangent vector to the minutia direction <inline-formula id="j_info1228_ineq_021"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\theta _{i}}$]]></tex-math></alternatives></inline-formula>. Neighbouring ridges are enumerated from the minutia ridge in the positive and negative directions. The ridge along minutia is denoted as <inline-formula id="j_info1228_ineq_022"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${r_{0}}$]]></tex-math></alternatives></inline-formula>. 
<fig id="j_info1228_fig_002">
<label>Fig. 2</label>
<caption>
<p>Example of neighbouring ridge numeration and minutia projection.</p>
</caption>
<graphic xlink:href="info1228_g002.jpg"/>
</fig>
</p></statement>
<p>An example of the ridge enumeration can be seen in Fig. <xref rid="j_info1228_fig_002">2</xref>. For both minutiae, two ridges in the two possible directions are selected.</p><statement id="j_info1228_stat_002"><label>Definition 2</label>
<title><italic>(Projection point).</italic></title>
<p>Let <inline-formula id="j_info1228_ineq_023"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">M</mml:mi></mml:math>
<tex-math><![CDATA[${m_{i}}\in M$]]></tex-math></alternatives></inline-formula> be a minutia and let <inline-formula id="j_info1228_ineq_024"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${r_{j}}$]]></tex-math></alternatives></inline-formula> be a neighbouring ridge of <inline-formula id="j_info1228_ineq_025"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{i}}$]]></tex-math></alternatives></inline-formula>. The projection point <inline-formula id="j_info1228_ineq_026"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[${p_{ij}}=\langle {x_{ij}},{y_{ij}},{\phi _{ij}}\rangle $]]></tex-math></alternatives></inline-formula> can be defined as the intersection point of the tangent line to the minutia direction <inline-formula id="j_info1228_ineq_027"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\theta _{i}}$]]></tex-math></alternatives></inline-formula> and the <italic>j</italic>-th neighbouring ridge, where <inline-formula id="j_info1228_ineq_028"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${x_{ij}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_029"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${y_{ij}}$]]></tex-math></alternatives></inline-formula> are the projection point coordinates, <inline-formula id="j_info1228_ineq_030"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\phi _{ij}}$]]></tex-math></alternatives></inline-formula> is the orientation at the point <inline-formula id="j_info1228_ineq_031"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({x_{ij}},{y_{ij}})$]]></tex-math></alternatives></inline-formula>.</p></statement><statement id="j_info1228_stat_003"><label>Definition 3</label>
<title><italic>(Minutia projections set).</italic></title>
<p>Let <inline-formula id="j_info1228_ineq_032"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">M</mml:mi></mml:math>
<tex-math><![CDATA[${m_{i}}\in M$]]></tex-math></alternatives></inline-formula> be a minutia and let <inline-formula id="j_info1228_ineq_033"><alternatives>
<mml:math><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">c</mml:mi></mml:math>
<tex-math><![CDATA[$rc$]]></tex-math></alternatives></inline-formula> be the maximum number of neighbouring ridges intersected for each direction. The set of projection points generated from the minutia <inline-formula id="j_info1228_ineq_034"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{i}}$]]></tex-math></alternatives></inline-formula> can be denoted as <inline-formula id="j_info1228_ineq_035"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mo>−</mml:mo><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${P_{i}}=\{{p_{ij}}|-rc\leqslant j\leqslant rc\}$]]></tex-math></alternatives></inline-formula>. The point <inline-formula id="j_info1228_ineq_036"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{ij}}$]]></tex-math></alternatives></inline-formula> is incorporated to <inline-formula id="j_info1228_ineq_037"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{i}}$]]></tex-math></alternatives></inline-formula> if no minutiae or projection points already exist in the <italic>j</italic>-th ridge at a distance less than a predefined threshold <inline-formula id="j_info1228_ineq_038"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">C</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">e</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\delta _{Close}}$]]></tex-math></alternatives></inline-formula> to <inline-formula id="j_info1228_ineq_039"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{ij}}$]]></tex-math></alternatives></inline-formula>.</p></statement><statement id="j_info1228_stat_004"><label>Definition 4</label>
<title><italic>(Projection points set).</italic></title>
<p>Let <italic>M</italic> be a minutiae set, let <inline-formula id="j_info1228_ineq_040"><alternatives>
<mml:math><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">c</mml:mi></mml:math>
<tex-math><![CDATA[$rc$]]></tex-math></alternatives></inline-formula> be the maximum number of neighbouring ridges intersected for each direction and let <inline-formula id="j_info1228_ineq_041"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${P_{i}}$]]></tex-math></alternatives></inline-formula> be the projection points calculated from each minutia <inline-formula id="j_info1228_ineq_042"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{i}}$]]></tex-math></alternatives></inline-formula>. The projection points set produced from <italic>M</italic> can be defined as <inline-formula id="j_info1228_ineq_043"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pr</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∪</mml:mo><mml:mo stretchy="false">⋯</mml:mo><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$\mathit{Pr}={P_{1}}\cup {P_{2}}\cup \cdots \cup {P_{mc}}$]]></tex-math></alternatives></inline-formula>.</p></statement>
<p>A visual example for illustrating these points is given in Fig. <xref rid="j_info1228_fig_002">2</xref>. Figures <xref rid="j_info1228_fig_002">2</xref>(a) and <xref rid="j_info1228_fig_002">2</xref>(b) show the projection points generated from minutia <inline-formula id="j_info1228_ineq_044"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{i}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_045"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{j}}$]]></tex-math></alternatives></inline-formula>, respectively. Also, the ridges numbers are shown starting from <inline-formula id="j_info1228_ineq_046"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${r_{0}}$]]></tex-math></alternatives></inline-formula> (the minutia ridge) and passing through two neighbouring ridges crossing each tangent direction (red arrows) to the minutia direction (blue arrow).</p>
</sec>
<sec id="j_info1228_s_008">
<label>3.1.2</label>
<title>The <inline-formula id="j_info1228_ineq_047"><alternatives>
<mml:math><mml:mi mathvariant="italic">Ex</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{Ex}$]]></tex-math></alternatives></inline-formula> Set</title>
<p>In order to describe the ridge along each minutia, a set of points representing the minutia ridge is presented.</p><statement id="j_info1228_stat_005"><label>Definition 5</label>
<title><italic>(Extension point).</italic></title>
<p>Let <inline-formula id="j_info1228_ineq_048"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">M</mml:mi></mml:math>
<tex-math><![CDATA[${m_{i}}\in M$]]></tex-math></alternatives></inline-formula> be a minutia. The extension point <inline-formula id="j_info1228_ineq_049"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[${e_{ij}}=\langle {x_{ij}},{y_{ij}},{\phi _{ij}}\rangle $]]></tex-math></alternatives></inline-formula> can be defined as the <italic>j</italic>-th point multiple of <italic>s</italic>, found by following the minutia ridge starting from <inline-formula id="j_info1228_ineq_050"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{i}}$]]></tex-math></alternatives></inline-formula>, where <italic>s</italic> is a predefined step value. <inline-formula id="j_info1228_ineq_051"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${x_{ij}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_052"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${y_{ij}}$]]></tex-math></alternatives></inline-formula> are the point coordinates, <inline-formula id="j_info1228_ineq_053"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\phi _{ij}}$]]></tex-math></alternatives></inline-formula> is the orientation at the point <inline-formula id="j_info1228_ineq_054"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">x</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">y</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$({x_{ij}},{y_{ij}})$]]></tex-math></alternatives></inline-formula>.</p></statement><statement id="j_info1228_stat_006"><label>Definition 6</label>
<title><italic>(Extensions set given a point</italic> <inline-formula id="j_info1228_ineq_055"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${mp_{i}}$]]></tex-math></alternatives></inline-formula><italic>).</italic></title>
<p>Let <inline-formula id="j_info1228_ineq_056"><alternatives>
<mml:math><mml:mi mathvariant="italic">MP</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">Pr</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{MP}=M\cup \mathit{Pr}$]]></tex-math></alternatives></inline-formula> be the set of all minutiae and projection points. Let <inline-formula id="j_info1228_ineq_057"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">MP</mml:mi></mml:math>
<tex-math><![CDATA[${mp_{i}}\in \mathit{MP}$]]></tex-math></alternatives></inline-formula> be a minutia or a projection and let <inline-formula id="j_info1228_ineq_058"><alternatives>
<mml:math><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">c</mml:mi></mml:math>
<tex-math><![CDATA[$ec$]]></tex-math></alternatives></inline-formula> be the maximum number of extension points located for each followed branch. The set of extension points for <inline-formula id="j_info1228_ineq_059"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${mp_{i}}$]]></tex-math></alternatives></inline-formula> can be denoted as <inline-formula id="j_info1228_ineq_060"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">E</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mo>−</mml:mo><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${E_{i}}=\{{e_{ij}}|-ec\leqslant j\leqslant ec\}$]]></tex-math></alternatives></inline-formula>. The point <inline-formula id="j_info1228_ineq_061"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${e_{ij}}$]]></tex-math></alternatives></inline-formula> is added to <inline-formula id="j_info1228_ineq_062"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">E</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${E_{i}}$]]></tex-math></alternatives></inline-formula> if no minutiae, projection or extension points already exist in that ridge at a distance less than a predefined threshold <inline-formula id="j_info1228_ineq_063"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">C</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">e</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\delta _{Close}}$]]></tex-math></alternatives></inline-formula> to <inline-formula id="j_info1228_ineq_064"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${e_{ij}}$]]></tex-math></alternatives></inline-formula>.</p></statement><statement id="j_info1228_stat_007"><label>Definition 7</label>
<title><italic>(Extension points set).</italic></title>
<p>Let <inline-formula id="j_info1228_ineq_065"><alternatives>
<mml:math><mml:mi mathvariant="italic">MP</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">Pr</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{MP}=M\cup \mathit{Pr}$]]></tex-math></alternatives></inline-formula> be the set of all minutiae and projection points, let <inline-formula id="j_info1228_ineq_066"><alternatives>
<mml:math><mml:mi mathvariant="italic">c</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:mi mathvariant="italic">MP</mml:mi><mml:mo stretchy="false">|</mml:mo></mml:math>
<tex-math><![CDATA[$c=|\mathit{MP}|$]]></tex-math></alternatives></inline-formula> be the cardinality of <inline-formula id="j_info1228_ineq_067"><alternatives>
<mml:math><mml:mi mathvariant="italic">MP</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{MP}$]]></tex-math></alternatives></inline-formula>, let <inline-formula id="j_info1228_ineq_068"><alternatives>
<mml:math><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">c</mml:mi></mml:math>
<tex-math><![CDATA[$ec$]]></tex-math></alternatives></inline-formula> be the maximum number of extension points located for each followed branch, let <inline-formula id="j_info1228_ineq_069"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">E</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${E_{i}}$]]></tex-math></alternatives></inline-formula> be the extension points located for each point in <inline-formula id="j_info1228_ineq_070"><alternatives>
<mml:math><mml:mi mathvariant="italic">MP</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{MP}$]]></tex-math></alternatives></inline-formula>. The entire extension points set can be defined as the union of all minutiae and projection extensions as follows <inline-formula id="j_info1228_ineq_071"><alternatives>
<mml:math><mml:mi mathvariant="italic">Ex</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">E</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">E</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>∪</mml:mo><mml:mo stretchy="false">⋯</mml:mo><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">E</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$\mathit{Ex}={E_{1}}\cup {E_{2}}\cup \cdots \cup {E_{c}}$]]></tex-math></alternatives></inline-formula>.</p></statement>
<p>A visual example of this set is given in Fig. <xref rid="j_info1228_fig_003">3</xref>. In this case, Figs. <xref rid="j_info1228_fig_003">3</xref>(a) and <xref rid="j_info1228_fig_003">3</xref>(b) present the extension points originated from minutiae <inline-formula id="j_info1228_ineq_072"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{i}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_073"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{j}}$]]></tex-math></alternatives></inline-formula> respectively. The extension points are on the minutia ridge at a previously defined distance, and they can also be extracted from the projection points. They are numbered in appearing order. It can be noted that when errors in the preprocessing and minutiae extraction steps are produced, the extension points undergo modifications.</p>
<fig id="j_info1228_fig_003">
<label>Fig. 3</label>
<caption>
<p>Example of two minutiae extensions.</p>
</caption>
<graphic xlink:href="info1228_g003.jpg"/>
</fig>
</sec>
<sec id="j_info1228_s_009">
<label>3.1.3</label>
<title>The <inline-formula id="j_info1228_ineq_074"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> Set</title>
<p>Finally, after selecting all the points that will describe the minutiae neighbouring ridges, the <inline-formula id="j_info1228_ineq_075"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> set can be computed.</p><statement id="j_info1228_stat_008"><label>Definition 8</label>
<title><italic>(Distinctive ridge points set).</italic></title>
<p>Let <italic>M</italic>, <inline-formula id="j_info1228_ineq_076"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pr</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{Pr}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_077"><alternatives>
<mml:math><mml:mi mathvariant="italic">Ex</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{Ex}$]]></tex-math></alternatives></inline-formula> be the minutiae set, the projection points set and the extension points set, respectively. The distinctive ridges points set can be defined as <inline-formula id="j_info1228_ineq_078"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">M</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">Pr</mml:mi><mml:mo>∪</mml:mo><mml:mi mathvariant="italic">Ex</mml:mi></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}=M\cup \mathit{Pr}\cup \mathit{Ex}$]]></tex-math></alternatives></inline-formula>.</p></statement>
<p>Once defined the <inline-formula id="j_info1228_ineq_079"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula>, the general idea of the entire process is presented in Algorithm <xref rid="j_info1228_fig_004">1</xref>. First, the fingerprint image is preprocessed, the ridges skeleton image (<inline-formula id="j_info1228_ineq_080"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">k</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">l</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">I</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[$ske{l_{I}}$]]></tex-math></alternatives></inline-formula>) and minutiae set (<italic>M</italic>) are obtained (line 2). Then, the minutiae projections (<inline-formula id="j_info1228_ineq_081"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pr</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{Pr}$]]></tex-math></alternatives></inline-formula>) are generated (from line 3 to line 11), by ensuring that no two points whose distance is smaller than <inline-formula id="j_info1228_ineq_082"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">C</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">e</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\delta _{Close}}$]]></tex-math></alternatives></inline-formula> threshold are generated (line 7). Depending on how much information about ridges is needed around each minutiae, extension points can be extracted or not from minutiae projections. So, the <inline-formula id="j_info1228_ineq_083"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">MP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{MP}}}$]]></tex-math></alternatives></inline-formula> set for locating extension points is created, with minutiae and minutiae projections (line 13) or only with minutiae (line 15). Extension points are selected using <inline-formula id="j_info1228_ineq_084"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">MP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{MP}}}$]]></tex-math></alternatives></inline-formula> set (from line 17 to line 25) and no two points whose distance is smaller than <inline-formula id="j_info1228_ineq_085"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">C</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">e</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\delta _{Close}}$]]></tex-math></alternatives></inline-formula> threshold are generated (line 21). Finally, the resultant set <inline-formula id="j_info1228_ineq_086"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> is the union of all three sets (<italic>M</italic>, <inline-formula id="j_info1228_ineq_087"><alternatives>
<mml:math><mml:mi mathvariant="italic">Pr</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{Pr}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1228_ineq_088"><alternatives>
<mml:math><mml:mi mathvariant="italic">Ex</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{Ex}$]]></tex-math></alternatives></inline-formula>).</p>
<fig id="j_info1228_fig_004">
<label>Algorithm 1</label>
<caption>
<p><inline-formula id="j_info1228_ineq_089"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> feature extraction pseudo-code.</p>
</caption>
<graphic xlink:href="info1228_g004.jpg"/>
</fig>
</sec>
</sec>
<sec id="j_info1228_s_010">
<label>3.2</label>
<title>Fingerprint Triangle-Based Representation</title>
<p>Triangle-based representations are used in many approaches for fingerprint matching and indexing (Muñoz-Brise no <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_031">2013</xref>; Gago-Alonso <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_016">2013</xref>; Jain and Prasad, <xref ref-type="bibr" rid="j_info1228_ref_020">2015</xref>; Sandhya <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_038">2016</xref>). Due to the relation between minutiae and the geometrical information that can be described with triangles, the results reached with this type of representation have been very effective.</p>
<p>Due to the small size of latent impressions, the use of local structures for describing the impressions is needed. By using local sub-structures for representing fingerprints, the same sub-structures should be generated for both the latent impression and its mate impression.</p>
<p>In the present work a new fingerprint representation based on the expanded triangle set defined by Gago-Alonso <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1228_ref_016">2013</xref>) is proposed.</p>
<p>The expanded triangle set (Gago-Alonso <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_016">2013</xref>) represents accurately a fingerprint impression. When the amount of minutiae is low (latent impressions), the triangle set structure generated for these cases greatly differs from the triangle set structure constructed from a much bigger minutiae set (tenprint impressions), despite the fact that the latent minutiae set could be a subset of the minutiae extracted from the tenprint. This is the main motivation for introducing the new fingerprint representation.</p>
<p>For solving this problem, the new representation is build by the union of local triangle representations (one for each minutia) and the triangles for only minutiae. Each local representation, with its respective minutia as the centre, contains the triangles formed by all the points (minutiae, projections and extensions) in its neighbourhood. This technique provides a representation with a structure more robust to the changes in the amount of minutiae.</p>
<sec id="j_info1228_s_011">
<label>3.2.1</label>
<title>The Proposed Triangle Set</title>
<p>After the <inline-formula id="j_info1228_ineq_090"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> set is extracted, a neighbours set is defined from each minutia point.</p><statement id="j_info1228_stat_009"><label>Definition 9.</label>
<p>Let <inline-formula id="j_info1228_ineq_091"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> be the distinctive ridge points describing the fingerprint rides, let <inline-formula id="j_info1228_ineq_092"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:mi mathvariant="italic">M</mml:mi></mml:math>
<tex-math><![CDATA[${m_{i}}\in M$]]></tex-math></alternatives></inline-formula> be a minutia and let <italic>ϵ</italic> be a predefined threshold. The neighbours set for <inline-formula id="j_info1228_ineq_093"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{i}}$]]></tex-math></alternatives></inline-formula> can be considered as <inline-formula id="j_info1228_ineq_094"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub><mml:mspace width="2.5pt"/><mml:mtext>and</mml:mtext><mml:mspace width="2.5pt"/><mml:mtext>euclidean</mml:mtext><mml:mtext>Distance</mml:mtext><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩽</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${N_{i}}=\{{n_{ij}}|{n_{ij}}\in {S_{\mathit{DRP}}}\hspace{2.5pt}\text{and}\hspace{2.5pt}\text{euclidean}\text{Distance}({m_{i}},{n_{ij}})\leqslant \epsilon \}$]]></tex-math></alternatives></inline-formula>.</p></statement>
<p>In order to increase the probability of obtaining a partial fingerprint representation with similar structure to its mate tenprint representation, and to also be able to describe the ridge patterns present on the impression, a more representative triangle set is finally defined.</p><statement id="j_info1228_stat_010"><label>Definition 10.</label>
<p>Let <inline-formula id="j_info1228_ineq_095"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${N_{i}}$]]></tex-math></alternatives></inline-formula> be the neighbours set for the minutia <inline-formula id="j_info1228_ineq_096"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">m</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${m_{i}}$]]></tex-math></alternatives></inline-formula>, let <inline-formula id="j_info1228_ineq_097"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">M</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{M}}$]]></tex-math></alternatives></inline-formula> be the expanded triangle set for the minutiae set <italic>M</italic> and let <inline-formula id="j_info1228_ineq_098"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{i}}$]]></tex-math></alternatives></inline-formula> be the expanded triangle set for the neighbourhood <inline-formula id="j_info1228_ineq_099"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">N</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${N_{i}}$]]></tex-math></alternatives></inline-formula>. The final <inline-formula id="j_info1228_ineq_100"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> triangle set can be defined as <inline-formula id="j_info1228_ineq_101"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">M</mml:mi></mml:mrow></mml:msub><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>∪</mml:mo><mml:mo stretchy="false">⋯</mml:mo><mml:mo>∪</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{\mathit{DRP}}}={T_{M}}\cup {T_{1}}\cup \cdots \cup {T_{mc}}$]]></tex-math></alternatives></inline-formula>.</p></statement>
<p>A visual example of this set can be seen in Fig. <xref rid="j_info1228_fig_005">4</xref>, where minutiae are the blue points and the points describing the ridges around minutiae are the red ones.</p>
<fig id="j_info1228_fig_005">
<label>Fig. 4</label>
<caption>
<p>Example of the <inline-formula id="j_info1228_ineq_102"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> triangle set.</p>
</caption>
<graphic xlink:href="info1228_g005.jpg"/>
</fig>
</sec>
<sec id="j_info1228_s_012">
<label>3.2.2</label>
<title>Triangle Features</title>
<p>For triangle matching algorithms usually a features vector is calculated from each triangle in order to perform the comparison. Features vectors must be invariant for all the impressions generated from the same finger, despite the differences between them.</p><statement id="j_info1228_stat_011"><label>Definition 11.</label>
<p>Let <inline-formula id="j_info1228_ineq_103"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${T_{\mathit{DRP}}}=\{{t_{1}},{t_{2}},\dots ,{t_{k}}\}$]]></tex-math></alternatives></inline-formula> be the entire triangle set proposed for representing the discriminative ridge points, where <inline-formula id="j_info1228_ineq_104"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${t_{i}}=({p_{1}},{p_{2}},{p_{3}})$]]></tex-math></alternatives></inline-formula>, with <inline-formula id="j_info1228_ineq_105"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{1}},{p_{2}},{p_{3}}$]]></tex-math></alternatives></inline-formula> being the points forming the triangle and <inline-formula id="j_info1228_ineq_106"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{i}}\in {S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula>. The points are ordered using their opposite triangle sides length. The triangle feature set for matching is denoted as <inline-formula id="j_info1228_ineq_107"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">F</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${F_{T}}=\{{f_{1}},{f_{2}},\dots ,{f_{k}}\}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1228_ineq_108"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${f_{i}}=f({t_{i}})$]]></tex-math></alternatives></inline-formula> is the feature vector obtained from the triangle <inline-formula id="j_info1228_ineq_109"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{i}}$]]></tex-math></alternatives></inline-formula> using a features function.</p></statement>
<p>The function used for calculating the triangles features is denoted as: 
<disp-formula id="j_info1228_eq_001">
<label>(1)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mi mathvariant="italic">f</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">t</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ f(t)=({s_{t}},{\beta _{1}},{\beta _{2}},{\beta _{3}},{d_{1}},{d_{2}},{d_{3}},{\rho _{1}},{\rho _{2}},{\rho _{3}},{\tau _{1}},{\tau _{2}},{\tau _{3}},{\sigma _{1}},{\sigma _{2}},{\sigma _{3}},{\Phi _{1}},{\Phi _{2}},{\Phi _{3}}),\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1228_ineq_110"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${s_{t}}$]]></tex-math></alternatives></inline-formula> is the triangle sign, <inline-formula id="j_info1228_ineq_111"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\beta _{i}}$]]></tex-math></alternatives></inline-formula> is the relative direction of <inline-formula id="j_info1228_ineq_112"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1228_ineq_113"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${d_{i}}$]]></tex-math></alternatives></inline-formula> is the length of the <italic>i</italic>-th segment, <inline-formula id="j_info1228_ineq_114"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\rho _{i}}$]]></tex-math></alternatives></inline-formula> is a label representing the relative position of <inline-formula id="j_info1228_ineq_115"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> regarding a reference point, <inline-formula id="j_info1228_ineq_116"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\tau _{i}}$]]></tex-math></alternatives></inline-formula> is the <inline-formula id="j_info1228_ineq_117"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> type, <inline-formula id="j_info1228_ineq_118"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\sigma _{i}}$]]></tex-math></alternatives></inline-formula> represent whether the points of a segment belong to the same sub-ridge or not and depending on the point type <inline-formula id="j_info1228_ineq_119"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\Phi _{i}}={\theta _{i}}$]]></tex-math></alternatives></inline-formula> when the point <inline-formula id="j_info1228_ineq_120"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> is a minutia and <inline-formula id="j_info1228_ineq_121"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\Phi _{i}}={\phi _{i}}$]]></tex-math></alternatives></inline-formula> for the other cases, the features are ordered using the triangle sides length.</p>
<p>The triangle sign <inline-formula id="j_info1228_ineq_122"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${s_{t}}$]]></tex-math></alternatives></inline-formula> (Bhanu and Tan, <xref ref-type="bibr" rid="j_info1228_ref_005">2003</xref>) is a feature invariant to rotation, and it is used to avoid the mirror effect (a left loop is mated with a right loop).</p>
<p>The relative direction <inline-formula id="j_info1228_ineq_123"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\beta _{i}}$]]></tex-math></alternatives></inline-formula> (Gago-Alonso <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_016">2013</xref>) is the angle intersecting the segment denoted by the direction/orientation of the point <inline-formula id="j_info1228_ineq_124"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> and the opposite side to this point.</p>
<p>The length <inline-formula id="j_info1228_ineq_125"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${d_{i}}$]]></tex-math></alternatives></inline-formula> (Germain <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_017">1997</xref>) is the euclidean distance between the points describing the <italic>i</italic>-th segment. This feature is used for measuring the triangle similarity in the matching stage.</p>
<p>The label <inline-formula id="j_info1228_ineq_126"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\rho _{i}}$]]></tex-math></alternatives></inline-formula> is a label describing the relative position of the point <inline-formula id="j_info1228_ineq_127"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> with respect to the reference point (Muñoz-Brise no <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_032">2014</xref>). This should provide enough information to avoid false matches between features located in different places of the impressions.</p>
<p>The feature <inline-formula id="j_info1228_ineq_128"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\tau _{i}}$]]></tex-math></alternatives></inline-formula> describes the point type, whether it is a minutia (value 0), a minutiae projection (value 1), a minutiae extension (value 2) or an extension of a minutia projection (value 3). This feature will ensure that minutiae can only mate with minutiae, projection points only with projection points, and so on.</p>
<p>A sub-ridge is a part of a ridge, where the ending points of a sub-ridge are minutiae or the ridge comes to an end. The feature <inline-formula id="j_info1228_ineq_129"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\sigma _{i}}$]]></tex-math></alternatives></inline-formula> indicates if two points are found in the same sub-ridge. This feature can eliminate some false positive matches.</p>
<fig id="j_info1228_fig_006">
<label>Algorithm 2</label>
<caption>
<p>The fingerprint model pseudo-code.</p>
</caption>
<graphic xlink:href="info1228_g006.jpg"/>
</fig>
<p>A model representation to be used by the matching algorithm in this work is defined as follows.</p><statement id="j_info1228_stat_012"><label>Definition 12.</label>
<p>Let <inline-formula id="j_info1228_ineq_130"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> be the points set describing the continuities and discontinuities of the fingerprint ridges pattern, let <inline-formula id="j_info1228_ineq_131"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_132"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">F</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${F_{T}}$]]></tex-math></alternatives></inline-formula> be the triangle set proposed and the set of triangles features calculated respectively. The model representation of a given fingerprint impression can be defined as <inline-formula id="j_info1228_ineq_133"><alternatives>
<mml:math><mml:mi mathvariant="italic">M</mml:mi><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">F</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$M=\langle {S_{\mathit{DRP}}},{T_{\mathit{DRP}}},{F_{T}}\rangle $]]></tex-math></alternatives></inline-formula>.</p></statement>
<p>Once the representation of the fingerprint is defined, a general idea of the method is presented in Algorithm <xref rid="j_info1228_fig_006">2</xref>. First, the expanded triangles from minutiae set are calculated (line 2 and 3). Then, for each minutia the neighbouring points are located (line 5) and the expanded triangle set for those points is obtained (line 6). Each new triangle (adding distinctive information to the representation) is incorporated to the final set of triangles (from line 7 to line 11). Finally, the triangles features set is computed (from line 13 to line 17) and the model is returned.</p>
</sec>
</sec>
<sec id="j_info1228_s_013">
<label>3.3</label>
<title>Fingerprint Matching</title>
<p>The matching stage performs the comparison between two models. Let <inline-formula id="j_info1228_ineq_134"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">M</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">F</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[${M_{q}}=\langle {S_{q}},{T_{q}},{F_{q}}\rangle $]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_135"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">M</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">F</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[${M_{t}}=\langle {S_{t}},{T_{t}},{F_{t}}\rangle $]]></tex-math></alternatives></inline-formula> be the query and template models, respectively. The matching algorithm proposed to be used is an enhanced version of the algorithm presented by Hernández-Palancar <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1228_ref_019">2014</xref>). This algorithm is modified according to the intrinsic properties of the introduced representation.</p>
<p>The algorithm’s general idea is to build a similarity graph from the local correspondences found by using the triangles set. From this similarity graph, the spanning tree of every connected component is selected. Then, the spanning trees with similar transformation are merged. Finally, a similarity score between the two models is calculated. The specific modifications and the algorithm idea are presented in this subsection.</p>
<sec id="j_info1228_s_014">
<label>3.3.1</label>
<title>Corresponding Triangles</title>
<p>Let <inline-formula id="j_info1228_ineq_136"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">F</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${f_{q}}\in {F_{q}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_137"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">F</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${f_{t}}\in {F_{t}}$]]></tex-math></alternatives></inline-formula> be the features vector of the triangles <inline-formula id="j_info1228_ineq_138"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{q}}\in {T_{q}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_139"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{t}}\in {T_{t}}$]]></tex-math></alternatives></inline-formula>, respectively. The function <inline-formula id="j_info1228_ineq_140"><alternatives>
<mml:math><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$g({f_{q}},{f_{t}})$]]></tex-math></alternatives></inline-formula> is defined as follows: 
<disp-formula id="j_info1228_eq_002">
<label>(2)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfenced separators="" open="{" close=""><mml:mrow><mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left"><mml:mtr><mml:mtd class="array"><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd><mml:mtd class="array"><mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left"><mml:mtr><mml:mtd class="array"><mml:mtext mathvariant="bold">if</mml:mtext><mml:mspace width="2.5pt"/><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mspace width="2.5pt"/><mml:mtext mathvariant="bold">and</mml:mtext><mml:mspace width="2.5pt"/><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mo>⩽</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:msub><mml:mspace width="2.5pt"/><mml:mtext mathvariant="bold">and</mml:mtext><mml:mspace width="2.5pt"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mo>∃</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">|</mml:mo><mml:mspace width="2.5pt"/><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo><mml:mspace width="2.5pt"/><mml:mtext mathvariant="bold">and</mml:mtext><mml:mspace width="2.5pt"/><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mspace width="2.5pt"/><mml:mtext mathvariant="bold">and</mml:mtext><mml:mspace width="2.5pt"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mspace width="2.5pt"/><mml:mtext mathvariant="bold">and</mml:mtext><mml:mspace width="2.5pt"/><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>⩽</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo></mml:mtd><mml:mtd class="array"><mml:mtext>otherwise</mml:mtext><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ g({f_{q}},{f_{t}})=\left\{\begin{array}{l@{\hskip4.0pt}l}1,& \begin{array}[t]{l}\textbf{if}\hspace{2.5pt}{{s_{t}}_{q}}={{s_{t}}_{t}}\hspace{2.5pt}\textbf{and}\hspace{2.5pt}|{{\beta _{i}}_{q}}-{{\beta _{i}}_{t}}|\leqslant {\delta _{\beta }}\hspace{2.5pt}\textbf{and}\hspace{2.5pt}\\ {} \{\exists i|\hspace{2.5pt}{{\rho _{i}}_{q}}={{\rho _{i}}_{t}}\}\hspace{2.5pt}\textbf{and}\hspace{2.5pt}{{\tau _{i}}_{q}}={{\tau _{i}}_{t}}\hspace{2.5pt}\textbf{and}\hspace{2.5pt}\\ {} {{\sigma _{i}}_{q}}={{\sigma _{i}}_{t}}\hspace{2.5pt}\textbf{and}\hspace{2.5pt}{d_{\Phi }}({{\Phi _{i}}_{q}}-{{\Phi _{i}}_{t}})\leqslant {\delta _{\Phi }}\end{array}\\ {} 0,& \text{otherwise},\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1228_ineq_141"><alternatives>
<mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>3</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$i\in \{1,2,3\}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1228_ineq_142"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\delta _{\beta }}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_143"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\delta _{\Phi }}$]]></tex-math></alternatives></inline-formula> are predefined thresholds. The function <inline-formula id="j_info1228_ineq_144"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Φ</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${d_{\Phi }}$]]></tex-math></alternatives></inline-formula> calculates the difference between two directions when <inline-formula id="j_info1228_ineq_145"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${{\tau _{i}}_{q}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_146"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${{\tau _{i}}_{t}}$]]></tex-math></alternatives></inline-formula> indicate that the points are minutiae, and the difference between orientations (in the double angle space) for other cases (Maltoni <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_027">2009</xref>).</p>
<p>The function <inline-formula id="j_info1228_ineq_147"><alternatives>
<mml:math><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$g({f_{q}},{f_{t}})=1$]]></tex-math></alternatives></inline-formula> (equation (<xref rid="j_info1228_eq_002">2</xref>)) indicates that triangles <inline-formula id="j_info1228_ineq_148"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{q}}\in {T_{q}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_149"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{t}}\in {T_{t}}$]]></tex-math></alternatives></inline-formula> are corresponding.</p>
<p>The size of the proposed triangles set is higher than the previous version because of the amount of points and the minutiae neighbourhoods triangles included. Therefore, for eliminating false positive matches another constraint is incorporated to the algorithm. In order to reduce the set of corresponding triangles, a measure of the similarity between the triangles is used. For this, the ratio <inline-formula id="j_info1228_ineq_150"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${r_{i}}$]]></tex-math></alternatives></inline-formula> between the points of the <italic>i</italic>-th triangle side is calculated using the distance <inline-formula id="j_info1228_ineq_151"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${{d_{i}}_{q}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_152"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${{d_{i}}_{t}}$]]></tex-math></alternatives></inline-formula> from <inline-formula id="j_info1228_ineq_153"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">F</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${f_{q}}\in {F_{q}}$]]></tex-math></alternatives></inline-formula>, and <inline-formula id="j_info1228_ineq_154"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">F</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${f_{t}}\in {F_{t}}$]]></tex-math></alternatives></inline-formula>, respectively with the equation (<xref rid="j_info1228_eq_003">3</xref>). 
<disp-formula id="j_info1228_eq_003">
<label>(3)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" stretchy="false">/</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {{r_{i}}_{qt}}={{d_{i}}_{q}}/{{d_{i}}_{t}},\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1228_ineq_155"><alternatives>
<mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>3</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$i\in \{1,2,3\}$]]></tex-math></alternatives></inline-formula>.</p>
<p>All corresponding sides for similar triangles have the same proportion, so the difference between each pair of proportion values is obtained (equation (<xref rid="j_info1228_eq_004">4</xref>)) for deciding if the triangles are similar or not. 
<disp-formula id="j_info1228_eq_004">
<label>(4)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">|</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">r</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">|</mml:mo><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ {d{f_{i}}_{qt}}=|{{r_{i}}_{qt}}-{{r_{j}}_{qt}}|,\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1228_ineq_156"><alternatives>
<mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo stretchy="false">∈</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>2</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mn>3</mml:mn><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[$i\in \{1,2,3\}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_157"><alternatives>
<mml:math><mml:mi mathvariant="italic">j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$j=1$]]></tex-math></alternatives></inline-formula> if <inline-formula id="j_info1228_ineq_158"><alternatives>
<mml:math><mml:mi mathvariant="italic">i</mml:mi><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math>
<tex-math><![CDATA[$i=3$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_159"><alternatives>
<mml:math><mml:mi mathvariant="italic">j</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">i</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$j=i+1$]]></tex-math></alternatives></inline-formula>, otherwise.</p>
<p>Let function <inline-formula id="j_info1228_ineq_160"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$h({d{f_{1}}_{qt}},{d{f_{2}}_{qt}},{d{f_{3}}_{qt}})$]]></tex-math></alternatives></inline-formula> be defined as follows: 
<disp-formula id="j_info1228_eq_005">
<label>(5)</label><alternatives>
<mml:math display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfenced separators="" open="{" close=""><mml:mrow><mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left"><mml:mtr><mml:mtd class="array"><mml:mn>1</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext mathvariant="bold">if</mml:mtext><mml:mspace width="2.5pt"/><mml:mo movablelimits="false">max</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mo movablelimits="false">max</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo mathvariant="normal">&lt;</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array"><mml:mn>0</mml:mn><mml:mo mathvariant="normal">,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd class="array"><mml:mtext>otherwise</mml:mtext><mml:mo mathvariant="normal">,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:mtd></mml:mtr></mml:mtable></mml:math>
<tex-math><![CDATA[\[ h({d{f_{1}}_{qt}},{d{f_{2}}_{qt}},{d{f_{3}}_{qt}})=\left\{\begin{array}{l@{\hskip4.0pt}l}1,\hspace{1em}& \textbf{if}\hspace{2.5pt}\max (\max ({d{f_{1}}_{qt}},{d{f_{2}}_{qt}}),{d{f_{3}}_{qt}})<{\delta _{df}},\\ {} 0,\hspace{1em}& \text{otherwise},\end{array}\right.\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1228_ineq_161"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\delta _{df}}$]]></tex-math></alternatives></inline-formula> is a predefined threshold.</p>
<p>Two triangles <inline-formula id="j_info1228_ineq_162"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{q}}\in {T_{q}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_163"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{t}}\in {T_{t}}$]]></tex-math></alternatives></inline-formula> are similar enough if <inline-formula id="j_info1228_ineq_164"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$h({d{f_{1}}_{qt}},{d{f_{2}}_{qt}},{d{f_{3}}_{qt}})=1$]]></tex-math></alternatives></inline-formula>.</p><statement id="j_info1228_stat_013"><label>Definition 13</label>
<title><italic>(Corresponding triangles pair).</italic></title>
<p>Let <inline-formula id="j_info1228_ineq_165"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{qj}}\in {T_{q}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_166"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{tl}}\in {T_{t}}$]]></tex-math></alternatives></inline-formula> be triangles in the query and the template, respectively, let <inline-formula id="j_info1228_ineq_167"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${d{f_{i}}_{qt}}$]]></tex-math></alternatives></inline-formula> be the ratios for these triangles. The pair <inline-formula id="j_info1228_ineq_168"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {t_{qj}},{t_{tl}}\rangle $]]></tex-math></alternatives></inline-formula> represents two corresponding triangles if <inline-formula id="j_info1228_ineq_169"><alternatives>
<mml:math><mml:mi mathvariant="italic">g</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$g({f_{qj}},{f_{tl}})=1$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_170"><alternatives>
<mml:math><mml:mi mathvariant="italic">h</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:msub><mml:mrow><mml:mi mathvariant="italic">f</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$h({d{f_{1}}_{qt}},{d{f_{2}}_{qt}},{d{f_{3}}_{qt}})=1$]]></tex-math></alternatives></inline-formula>.</p></statement>
<p>Finally, all corresponding triangles between two impressions can be organized as follows. <statement id="j_info1228_stat_014"><label>Definition 14</label>
<title><italic>(Corresponding triangles set).</italic></title>
<p>The set of all corresponding triangles between two fingerprint models can be defined as <inline-formula id="j_info1228_ineq_171"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">n</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">m</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${T_{c}}=\{\langle {t_{q1}},{t_{t1}}\rangle ,\langle {t_{q2}},{t_{t2}}\rangle ,\dots ,\langle {t_{qn}},{t_{tm}}\rangle \}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1228_ineq_172"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{qj}}\in {T_{q}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1228_ineq_173"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{tl}}\in {T_{t}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_174"><alternatives>
<mml:math><mml:mo fence="true" stretchy="false">⟨</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">⟩</mml:mo></mml:math>
<tex-math><![CDATA[$\langle {t_{qj}},{t_{tl}}\rangle $]]></tex-math></alternatives></inline-formula> is a pair of corresponding triangles.</p></statement></p>
</sec>
<sec id="j_info1228_s_015">
<label>3.3.2</label>
<title>General Idea for the Fingerprint Matcher</title>
<fig id="j_info1228_fig_007">
<label>Algorithm 3</label>
<caption>
<p>The fingerprint model pseudo-code.</p>
</caption>
<graphic xlink:href="info1228_g007.jpg"/>
</fig>
<p>The matching method used is a previous work (Hernández-Palancar <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_019">2014</xref>) with the explained modifications added. The general idea of the algorithm is presented in Algorithm <xref rid="j_info1228_fig_007">3</xref>. The steps are roughly explained. More specific details of the algorithm are explained in the original article.</p>
<p>First, the corresponding triangles set is obtained (line 2). The correlation tuples set <inline-formula id="j_info1228_ineq_175"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo fence="true" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mo>…</mml:mo><mml:mo mathvariant="normal">,</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">e</mml:mi></mml:mrow></mml:msub><mml:mo fence="true" stretchy="false">}</mml:mo></mml:math>
<tex-math><![CDATA[${T_{c}}=\{{ct_{1}},{ct_{2}},\dots ,{ct_{e}}\}$]]></tex-math></alternatives></inline-formula> is created (line 3), where <inline-formula id="j_info1228_ineq_176"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">α</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub><mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[${ct_{i}}=({\alpha _{i}},\overline{{{p_{j}}_{q}}{{p_{k}}_{q}}},\overline{{{p_{j}}_{t}}{{p_{k}}_{t}}})$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_info1228_ineq_177"><alternatives>
<mml:math><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$k=1$]]></tex-math></alternatives></inline-formula> if <inline-formula id="j_info1228_ineq_178"><alternatives>
<mml:math><mml:mi mathvariant="italic">j</mml:mi><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math>
<tex-math><![CDATA[$j=3$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_179"><alternatives>
<mml:math><mml:mi mathvariant="italic">k</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">j</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$k=j+1$]]></tex-math></alternatives></inline-formula>, otherwise, <inline-formula id="j_info1228_ineq_180"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">α</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">i</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${\alpha _{i}}$]]></tex-math></alternatives></inline-formula> is the normalized difference between the <italic>i</italic>-th interior angles of <inline-formula id="j_info1228_ineq_181"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{q}}\in {T_{q}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_182"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">∈</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${t_{t}}\in {T_{t}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_183"><alternatives>
<mml:math><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">q</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math>
<tex-math><![CDATA[$\overline{{{p_{j}}_{q}}{{p_{k}}_{q}}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1228_ineq_184"><alternatives>
<mml:math><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="italic">p</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo accent="true">‾</mml:mo></mml:mover></mml:math>
<tex-math><![CDATA[$\overline{{{p_{j}}_{t}}{{p_{k}}_{t}}}$]]></tex-math></alternatives></inline-formula> are the triangles sides. Then the set <inline-formula id="j_info1228_ineq_185"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">c</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${T_{c}}$]]></tex-math></alternatives></inline-formula> is reduced by keeping the tuples with the most probable value of relative rotation (line 4). The similarity graph <inline-formula id="j_info1228_ineq_186"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">G</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">s</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${G_{s}}$]]></tex-math></alternatives></inline-formula> is constructed using the correlation tuples, where each vertex from it represents a pair of corresponding points and the edges represent the corresponding triangles sides (line 5). A visual example can be seen in Fig. <xref rid="j_info1228_fig_008">5</xref>, where a similarity graph is constructed from a pair of corresponding triangles.</p>
<fig id="j_info1228_fig_008">
<label>Fig. 5</label>
<caption>
<p>Example of a similarity sub-graph.</p>
</caption>
<graphic xlink:href="info1228_g008.jpg"/>
</fig>
<p>Kruskal algorithm is used for obtaining the spanning forest from the similarity graph (spanning tree of every connected component) (Cormen <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_011">2009</xref>) (line 6). When the entire set of spanning trees is obtained and ordered in descending order using the amount of edges, a strategy for merging the trees with similar transformation is performed (line 7). Finally, a similarity score between the two compared models is calculated and returned using the final similarity graph (lines 8 and 9).</p>
</sec>
</sec>
<sec id="j_info1228_s_016">
<label>3.4</label>
<title>Proposed Matching Scheme</title>
<p>In latent scenario, experts are expected to be part of the feature extraction and matching processes. By using this as an advantage, a matching scheme that takes into account the expert judgement is proposed.</p>
<p>The proposed features improve the fingerprint representation in cases where minutiae are not discriminative enough. In other cases, they are redundant information. Due to the fact that minutiae matching algorithms obtain reliable results when minutiae number is high enough or when the extracted minutiae have a high discriminative value, <inline-formula id="j_info1228_ineq_187"><alternatives>
<mml:math><mml:mi mathvariant="italic">DRP</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{DRP}$]]></tex-math></alternatives></inline-formula> features are intended to be used in a later stage than minutiae matcher step. They are used when the expected result can not be obtained using only minutiae.</p>
<p>In Fig. <xref rid="j_info1228_fig_009">6</xref> a flow chart shows the proposed matching scheme, where experts decide whether a latent fingerprint mate found by the minutia matcher is the true positive or not. In cases where the minutiae matcher does not find the template fingerprint, the <inline-formula id="j_info1228_ineq_188"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> matcher is called for finding the mate fingerprint.</p>
<fig id="j_info1228_fig_009">
<label>Fig. 6</label>
<caption>
<p>Matching scheme with experts work incorporated.</p>
</caption>
<graphic xlink:href="info1228_g009.jpg"/>
</fig>
</sec>
</sec>
<sec id="j_info1228_s_017">
<label>4</label>
<title>Experimental Results</title>
<p>In this section, two experiments using three well known databases were carried out. Both experiments showed the discriminative power incorporated to the fingerprint representation using the proposed approach. The results were measured by using the identification rate obtained for the search of suspects linked to crime scenes. Final results were also shown for each of the latent impressions quality levels specified in the database description (good, bad and ugly).</p>
<sec id="j_info1228_s_018">
<label>4.1</label>
<title>Database and Experimental Scenarios</title>
<p>Three experiments were designed for testing the proposal performance. Both experiments were conducted using the NIST27 database, for calculating the accuracy in a latent fingerprint identification scenario. The NIST27 database is integrated by 258 latent impressions and 258 tenprint impressions. Latent impressions were classified by experts in three quality levels: Good, Bad and Ugly. The dataset has one repeated tenprint impression (Mikaelyan and Bigün, <xref ref-type="bibr" rid="j_info1228_ref_030">2012</xref>), so 257 tenprint impressions were used in this work. For both experiments, the background added was of 27000 and 2000 impressions taken from NIST14 and NIST4 databases, respectively.</p>
<p>The first experiment was performed using the ground true minutiae given in the NIST27 database for both latent and tenprint impressions. For latent impressions, minutiae were edited by experts without seeing their mated fingerprints, while for tenprint impressions, minutiae were automatically extracted and then they were fixed by the experts. After preprocessing steps, in the skeleton image obtained, ridge ending positions and ridge bifurcation positions are displaced with respect to the original fingerprint image. Therefore, edited minutiae were not located on the skeleton fingerprint ridges. Accordingly, a coordinates relocation was needed in order to extract the <inline-formula id="j_info1228_ineq_189"><alternatives>
<mml:math><mml:mi mathvariant="italic">DRP</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{DRP}$]]></tex-math></alternatives></inline-formula> points. For this, a correspondence step between edited minutiae and the automatic extracted minutiae was performed. Preprocessing and minutiae extraction processes were carried out using Verifinger 4.2 (Neurotechnology, <xref ref-type="bibr" rid="j_info1228_ref_033">2004</xref>). When a minutiae pair matched, the edited minutia <inline-formula id="j_info1228_ineq_190"><alternatives>
<mml:math><mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo><mml:mi mathvariant="italic">x</mml:mi><mml:mo mathvariant="normal">,</mml:mo><mml:mi mathvariant="italic">y</mml:mi><mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math>
<tex-math><![CDATA[$(x,y)$]]></tex-math></alternatives></inline-formula> coordinates were relocated. Minutiae from fingerprint images in NIST14 and NIST4 databases were extracted with Verifinger 4.2 (Neurotechnology, <xref ref-type="bibr" rid="j_info1228_ref_033">2004</xref>).</p>
<p>The second experiment was conducted using the edited minutiae relocated for latent fingerprints and the automatic minutiae extracted with Verifinger 4.2 (Neurotechnology, <xref ref-type="bibr" rid="j_info1228_ref_033">2004</xref>) for all tenprint impressions. Due to the extraction problems present in this algorithm, the region of interest (<inline-formula id="j_info1228_ineq_191"><alternatives>
<mml:math><mml:mi mathvariant="italic">ROI</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{ROI}$]]></tex-math></alternatives></inline-formula>) is detected before the features extraction step. The segmentation process was performed using an algorithm developed by our research group.</p>
<p>In the third experiment the rank-1 identification rate for the proposed approach is compared with the rank-1 accuracy reported for other approaches in the state of the art. The features and the database used in each case are also presented.</p>
<p>The proposed matching scheme is used in the experiments. Fingerprint impressions on top of the candidate list using only minutiae and reference point, in addition to those using the proposed features and representation, fall into rank-1 when this scheme is used. The rest of the candidate list is ordered by the similarity score computed by the proposed matching algorithm. Skeleton images for latent fingerprints were provided by the authors of a previous proposal (Jain and Feng, <xref ref-type="bibr" rid="j_info1228_ref_022">2011</xref>). The minutiae for the relocation step were extracted using Verifinger 4.2 (Neurotechnology, <xref ref-type="bibr" rid="j_info1228_ref_033">2004</xref>) for both latent and template impressions.</p>
</sec>
<sec id="j_info1228_s_019">
<label>4.2</label>
<title>Matching Accuracy</title>
<p>Figures <xref rid="j_info1228_fig_010">7</xref>(a) and <xref rid="j_info1228_fig_010">7</xref>(b) show the performance for the current proposal using tenprint edited minutiae and tenprint automatic extracted minutiae, respectively. In both figures, three CMC curves are plotted for representing the identification rate on three different scenarios: i) the matching algorithm presented by Hernández-Palancar <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1228_ref_019">2014</xref>) using minutiae (Min) and reference point (RP), ii) the current proposal using minutiae (Min), reference point (RP), minutiae projections (Pr) and minutiae extensions (Em) and iii) the current proposal using minutiae (Min), reference point (RP), minutiae projections (Pr), minutiae extensions (Em) and extensions from projections (Ep).</p>
<fig id="j_info1228_fig_010">
<label>Fig. 7</label>
<caption>
<p>CMC graphics for manually marked and automatically extracted minutiae from template impressions.</p>
</caption>
<graphic xlink:href="info1228_g010.jpg"/>
</fig>
<p>Both experiments showed that the use of <inline-formula id="j_info1228_ineq_192"><alternatives>
<mml:math><mml:mi mathvariant="italic">DRP</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{DRP}$]]></tex-math></alternatives></inline-formula> points along with the proposed matching scheme outperforms the algorithm using only minutiae and reference points. In the graphics, it can be seen that the rank-1 accuracy is increased when the proposed representation is being used.</p>
<p>Also, it should be noted that the impact of the features and the representation proposed is considerably greater when minutiae are automatically extracted from tenprint impressions. When minutiae are automatically extracted there are more missed or spurious minutiae. This experiment indicates that in a scenario where more problems with the minutiae exist, the distinctive points extracted from ridges add reliable and exclusive information to the representation. This is an important behaviour because minutiae automatically extracted from database impressions is the most probable scenario, due to the large size of templates databases.</p>
<p>For the experimental results, the parameters values for extracting the features were <inline-formula id="j_info1228_ineq_193"><alternatives>
<mml:math><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$ec=1$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1228_ineq_194"><alternatives>
<mml:math><mml:mi mathvariant="italic">p</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math>
<tex-math><![CDATA[$pr=1$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1228_ineq_195"><alternatives>
<mml:math><mml:mi mathvariant="italic">s</mml:mi><mml:mo>=</mml:mo><mml:mn>39</mml:mn></mml:math>
<tex-math><![CDATA[$s=39$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_196"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">Close</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>13</mml:mn></mml:math>
<tex-math><![CDATA[${\delta _{\mathit{Close}}}=13$]]></tex-math></alternatives></inline-formula>. For generating the representation, the parameters values were set as follows: <inline-formula id="j_info1228_ineq_197"><alternatives>
<mml:math><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mo>=</mml:mo><mml:mn>100</mml:mn></mml:math>
<tex-math><![CDATA[$\epsilon =100$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1228_ineq_198"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">β</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>20</mml:mn></mml:math>
<tex-math><![CDATA[${\delta _{\beta }}=20$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1228_ineq_199"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">d</mml:mi><mml:mi mathvariant="italic">f</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.25</mml:mn></mml:math>
<tex-math><![CDATA[${\delta _{df}}=0.25$]]></tex-math></alternatives></inline-formula>. These were the optimal parameters found and they were experimentally found. The amount of points derived from each minutia is not high because of the small <inline-formula id="j_info1228_ineq_200"><alternatives>
<mml:math><mml:mi mathvariant="italic">ROI</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{ROI}$]]></tex-math></alternatives></inline-formula> of latent impressions. Therefore, for obtaining neighbourhood representations with similar geometric relations from the same minutia in the query and the template impressions, the group of points in that neighbourhood should not be too large.</p>
<p>When extensions are extracted from both minutiae and projections, better results are reached at the top of the candidate list. However, when extensions are extracted only from minutiae, results become more consistent than in the previous case. This is related with the fact that the negative impact of non-linear distortions in latent impressions increases as the sub-structures size grows.</p>
<p>When edited minutiae for tenprints are used, the extensions of projections have a positive impact at the top of the candidate list, despite the minutiae coordinates relocation. This is because of the features information in this case is more reliable than the automatic process case. When the extraction process is automatic, the preprocessing step errors cause spurious minutiae. Finally, more false positives occur when more points are calculated from those false minutiae.</p>
<p>The accuracy reached using manually marked minutiae and reference point is considerably higher than the accuracy obtained using automatically extracted minutia and reference point. Despite this fact, the identification rate obtained until rank-20 for the candidate list in both cases using the proposed approach is quite similar. This proves the consistency of the proposed algorithm.</p>
<p>Figures <xref rid="j_info1228_fig_011">8</xref>(a), <xref rid="j_info1228_fig_011">8</xref>(b) and <xref rid="j_info1228_fig_011">8</xref>(c) show the identification rates for each of the quality levels separately (good, bad and ugly) for the case of automatically extracted minutiae. The proposed scheme outperforms the accuracy levels obtained by the minutiae and reference point matching algorithm as expected. In these cases, the impact of adding new information besides minutiae and reference point is more visible. This is due to the common errors that have the automatic minutiae extraction algorithms. For the three cases, when no extensions from the projections are used, the results are slightly better. This is caused because when the amount of points increases, more similar triangles between two different impressions are found which implies an increase in the false positive correspondences.</p>
<fig id="j_info1228_fig_011">
<label>Fig. 8</label>
<caption>
<p>CMC for latent impressions of good, bad and ugly qualities, with minutiae automatically extracted for tenprint impressions.</p>
</caption>
<graphic xlink:href="info1228_g011.jpg"/>
</fig>
<fig id="j_info1228_fig_012">
<label>Fig. 9</label>
<caption>
<p>CMC for latent impressions of good, bad and ugly qualities, with minutiae manually marked for tenprint impressions.</p>
</caption>
<graphic xlink:href="info1228_g012.jpg"/>
</fig>
<p>Figures <xref rid="j_info1228_fig_012">9</xref>(a), <xref rid="j_info1228_fig_012">9</xref>(b) and <xref rid="j_info1228_fig_012">9</xref>(c) show the identification rates for each of the quality levels for manually marked minutiae. In this case, also by using the <inline-formula id="j_info1228_ineq_201"><alternatives>
<mml:math><mml:msub><mml:mrow><mml:mi mathvariant="italic">S</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">DRP</mml:mi></mml:mrow></mml:msub></mml:math>
<tex-math><![CDATA[${S_{\mathit{DRP}}}$]]></tex-math></alternatives></inline-formula> the best results are reached. The biggest improvement in accuracy added by the proposed scheme is observed for ugly latent impressions, and the worst performance for minutiae and reference point only is obtained. For these cases, as the edited minutiae are used for tenprint impressions, less errors in minutiae are found. This is why, the accuracy of the algorithm only using minutiae and reference point is better. The performance of the algorithm using or not extensions in projections is similar at the one for the automatically extracted minutiae. But also in these cases, edited minutiae in tenprints have their position moved from ridges, due to the preprocessing steps. Therefore, the represented relationships between the new points and the minutiae in some cases are affected, as can be seen for bad quality latent impressions.</p>
<p>Figure <xref rid="j_info1228_fig_013">10</xref> shows the scalability of the proposed algorithm when the background impressions amount increases to 313845. Besides the images from NIST27, NIST4 and NIST14 (29257), 284,588 rolled ink impressions from the Cuban AFIS database are added. In the figure, it can be seen how the proposed scheme outperforms the algorithm using minutiae and reference point. Also, a rank-1 comparison between the accuracy obtained for the proposed approach and the rank-1 recognition rate for some reported works is presented in Table <xref rid="j_info1228_tab_001">1</xref>. Furthermore, the features and the database size used in each case are presented.</p>
<fig id="j_info1228_fig_013">
<label>Fig. 10</label>
<caption>
<p>CMC graphic for manually marked minutiae from template impressions, for 313845 impressions as background.</p>
</caption>
<graphic xlink:href="info1228_g013.jpg"/>
</fig>
<p>In the case of latent fingerprints, minutiae, due to the low amount presented, have a limit in terms of reliability and identifying value. This is the main reason why other features have to be selected. In this approach a set of features is proposed which can be easily inferred from the interaction with experts. Also, these features add to the representation a high discriminating value. Due to the used representation (linear growth), the matching algorithm still maintains its high efficiency and its ability to be used in real time applications. It can be seen that the accuracy achieved by Jain and Feng (<xref ref-type="bibr" rid="j_info1228_ref_022">2011</xref>) is higher than the accuracy reached by the proposed approach, but these values are quite close. Besides, the amount of features used by the proposed approach is smaller than (Jain and Feng, <xref ref-type="bibr" rid="j_info1228_ref_022">2011</xref>) proposal.</p>
<table-wrap id="j_info1228_tab_001">
<label>Table 1</label>
<caption>
<p>Rank-1 recognition rate for reported results in NIST27.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Method used</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Features size</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Gallery</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Rank-1</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">(Jain and Feng, <xref ref-type="bibr" rid="j_info1228_ref_022">2011</xref>)</td>
<td style="vertical-align: top; text-align: left">Manually marked minutiae, singularities, ridge quality map, ridge flow map, ridge wavelength map and fingerprint skeleton</td>
<td style="vertical-align: top; text-align: left">29,257</td>
<td style="vertical-align: top; text-align: left">74%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Proposed Approach</td>
<td style="vertical-align: top; text-align: left">Manually marked minutiae, reference point and <inline-formula id="j_info1228_ineq_202"><alternatives>
<mml:math><mml:mi mathvariant="italic">DRP</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{DRP}$]]></tex-math></alternatives></inline-formula> points</td>
<td style="vertical-align: top; text-align: left">29,257</td>
<td style="vertical-align: top; text-align: left">70.9%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">(Medina-Pérez <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_029">2016</xref>) (Cylinder-Codes)</td>
<td style="vertical-align: top; text-align: left">Manually marked minutiae</td>
<td style="vertical-align: top; text-align: left">29,257</td>
<td style="vertical-align: top; text-align: left">68.6%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">(Medina-Pérez <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_029">2016</xref>) (m-triplets)</td>
<td style="vertical-align: top; text-align: left">Manually marked minutiae</td>
<td style="vertical-align: top; text-align: left">29,257</td>
<td style="vertical-align: top; text-align: left">68.2%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">Proposed Approach</td>
<td style="vertical-align: top; text-align: left">Manually marked minutiae for latent impressions and automatically extracted for templates, reference point and <inline-formula id="j_info1228_ineq_203"><alternatives>
<mml:math><mml:mi mathvariant="italic">DRP</mml:mi></mml:math>
<tex-math><![CDATA[$\mathit{DRP}$]]></tex-math></alternatives></inline-formula> points</td>
<td style="vertical-align: top; text-align: left">29,257</td>
<td style="vertical-align: top; text-align: left">64.34%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">(Medina-Pérez <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_029">2016</xref>) (NMD)</td>
<td style="vertical-align: top; text-align: left">Manually marked minutiae</td>
<td style="vertical-align: top; text-align: left">29,257</td>
<td style="vertical-align: top; text-align: left">64.0%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">(Hernández-Palancar <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_019">2014</xref>)</td>
<td style="vertical-align: top; text-align: left">Manually marked minutiae and reference point</td>
<td style="vertical-align: top; text-align: left">29,257</td>
<td style="vertical-align: top; text-align: left">59%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">(Paulino <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_035">2013</xref>)</td>
<td style="vertical-align: top; text-align: left">Manually marked minutiae and orientation field</td>
<td style="vertical-align: top; text-align: left">31,998</td>
<td style="vertical-align: top; text-align: left">53.5%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">(Jain and Feng, <xref ref-type="bibr" rid="j_info1228_ref_022">2011</xref>)</td>
<td style="vertical-align: top; text-align: left">Manually marked minutiae and singularities</td>
<td style="vertical-align: top; text-align: left">29,257</td>
<td style="vertical-align: top; text-align: left">50%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">(Zheng and Yang, <xref ref-type="bibr" rid="j_info1228_ref_043">2015</xref>) MSCC + MCC</td>
<td style="vertical-align: top; text-align: left">Manually marked minutiae</td>
<td style="vertical-align: top; text-align: left">32,062</td>
<td style="vertical-align: top; text-align: left">49.2%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">(Zheng and Yang, <xref ref-type="bibr" rid="j_info1228_ref_043">2015</xref>) MSCC</td>
<td style="vertical-align: top; text-align: left">Manually marked minutiae</td>
<td style="vertical-align: top; text-align: left">32,062</td>
<td style="vertical-align: top; text-align: left">42.2%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left">(Paulino <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1228_ref_034">2010</xref>)</td>
<td style="vertical-align: top; text-align: left">Automatic &amp; manually marked minutiae</td>
<td style="vertical-align: top; text-align: left">27,258</td>
<td style="vertical-align: top; text-align: left">48%</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">(Jain and Feng, <xref ref-type="bibr" rid="j_info1228_ref_022">2011</xref>)</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Manually marked minutiae</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">29,257</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">34.9%</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="j_info1228_s_020">
<label>5</label>
<title>Conclusions and Future Work</title>
<p>In this work novel fingerprint features for partial to full fingerprint matching were proposed. A triangle-based representation from a new set of points was defined. The experiments were carried out using the NIST27 latent database. The present work was compared with another approach based on minutiae and reference point. Also, the rank-1 identification rate was compared with other rank-1 approaches from literature. Results showed the advantages obtained by using the approach introduced.</p>
<p>Experimental results proved that the presented approach is robust to the absence of minutiae and the coordinates distortions between the query and the template. The reached accuracy values for each of the three quality levels were increased with respect to the minutiae matching algorithm. The global accuracy is comparable with the best result of the state of the art. Moreover, while the proposal describes the discriminative areas from fingerprints, the amount of features used by the representation is lower than those proposed in other works. Besides, the defined features can be easily extracted from the interaction with experts.</p>
<p>Future works will be aimed at decreasing the ridge points dependence with minutiae. Besides, other research lines are directed to reduce the negative impact of non-linear distortion on the proposed algorithm. In this way, better accuracy values for latent fingerprint impressions of low quality are pursued. These researches are consistent with the objective of eliminating the existing differences between automatic matching algorithms and latent experts work.</p>
</sec>
</body>
<back>
<ref-list id="j_info1228_reflist_001">
<title>References</title>
<ref id="j_info1228_ref_001">
<mixed-citation publication-type="chapter"><string-name><surname>Ahmed</surname>, <given-names>S.B.</given-names></string-name>, <string-name><surname>Razzak</surname>, <given-names>M.I.</given-names></string-name>, <string-name><surname>Alhaqbani</surname>, <given-names>B.</given-names></string-name> (<year>2016</year>). <chapter-title>The minutiae based latent fingerprint recognition system</chapter-title>. In: <source>Proceedings of the International Conference on Internet of Things and Cloud Computing</source>, <conf-loc>Cambridge, UK</conf-loc>, pp. <fpage>49:1</fpage>–<lpage>49:9</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Aravindan</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Anzar</surname>, <given-names>S.M.</given-names></string-name> (<year>2017</year>). <article-title>Robust partial fingerprint recognition using wavelet SIFT descriptors</article-title>. <source>Pattern Analysis and Applications</source>, <volume>20</volume>(<issue>4</issue>), <fpage>963</fpage>–<lpage>979</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_003">
<mixed-citation publication-type="chapter"><string-name><surname>Arora</surname>, <given-names>S.S.</given-names></string-name>, <string-name><surname>Cao</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Jain</surname>, <given-names>A.K.</given-names></string-name>, <string-name><surname>Michaud</surname>, <given-names>G.</given-names></string-name> (<year>2015</year>). <chapter-title>Crowd powered latent fingerprint identification: fusing AFIS with examiner markups</chapter-title>. In: <source>ICB</source>, <conf-loc>Phuket, Thailand</conf-loc>, pp. <fpage>363</fpage>–<lpage>370</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_004">
<mixed-citation publication-type="chapter"><string-name><surname>Asha</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Chellappan</surname>, <given-names>C.</given-names></string-name> (<year>2013</year>). <chapter-title>Partial fingerprint matching using minutiae subset</chapter-title>. In: <source>Proceedings of ICACNI</source>, <conf-loc>Raipur, Chhattisgarh, India</conf-loc>, pp. <fpage>445</fpage>–<lpage>452</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_005">
<mixed-citation publication-type="journal"><string-name><surname>Bhanu</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Tan</surname>, <given-names>X.</given-names></string-name> (<year>2003</year>). <article-title>Fingerprint indexing based on novel features of minutiae triplets</article-title>. <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>, <volume>25</volume>(<issue>5</issue>), <fpage>616</fpage>–<lpage>622</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_006">
<mixed-citation publication-type="other"><string-name><surname>Cao</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Jain</surname>, <given-names>A.K.</given-names></string-name> (2017). Automated latent fingerprint recognition. <italic>CoRR</italic>, abs/1704.01925.</mixed-citation>
</ref>
<ref id="j_info1228_ref_007">
<mixed-citation publication-type="journal"><string-name><surname>Cappelli</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Ferrara</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Maltoni</surname>, <given-names>D.</given-names></string-name> (<year>2010</year>). <article-title>Minutia cylinder-code: a new representation and matching technique for fingerprint recognition</article-title>. <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>, <volume>32</volume>(<issue>12</issue>), <fpage>2128</fpage>–<lpage>2141</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_008">
<mixed-citation publication-type="other"><string-name><surname>CDEFFS</surname></string-name> (2008). <italic>Data Format for the Interchange of Fingerprint, Facial, &amp; Other Biometric Information</italic>. WORKING DRAFT Version 0.2.</mixed-citation>
</ref>
<ref id="j_info1228_ref_009">
<mixed-citation publication-type="other"><string-name><surname>Chen</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>Y.</given-names></string-name> (2013). A fusion method for partial fingerprint recognition. <italic>IJPRAI</italic>, <italic>27</italic>(6).</mixed-citation>
</ref>
<ref id="j_info1228_ref_010">
<mixed-citation publication-type="chapter"><string-name><surname>Chen</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Jain</surname>, <given-names>A.K.</given-names></string-name> (<year>2007</year>). <chapter-title>Dots and incipients: extended features for partial fingerprint matching</chapter-title>. In: <source>Biometric Symposium</source>, pp. <fpage>1</fpage>–<lpage>6</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_011">
<mixed-citation publication-type="book"><string-name><surname>Cormen</surname>, <given-names>T.H.</given-names></string-name>, <string-name><surname>Leiserson</surname>, <given-names>C.E.</given-names></string-name>, <string-name><surname>Rivest</surname>, <given-names>R.L.</given-names></string-name>, <string-name><surname>Stein</surname>, <given-names>C.</given-names></string-name> (<year>2009</year>). <source>Introduction to Algorithms</source> <edition>3</edition>rd ed. <publisher-name>The MIT Press</publisher-name>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_012">
<mixed-citation publication-type="journal"><string-name><surname>Ezhilmaran</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Adhiyaman</surname>, <given-names>M.</given-names></string-name> (<year>2017</year>). <article-title>A review study on latent fingerprint recognition techniques</article-title>. <source>Journal of Information and Optimization Sciences</source>, <volume>38</volume>(<issue>3–4</issue>), <fpage>501</fpage>–<lpage>516</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_013">
<mixed-citation publication-type="chapter"><string-name><surname>Fang</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Srihari</surname>, <given-names>S.N.</given-names></string-name>, <string-name><surname>Srinivasan</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Phatak</surname>, <given-names>P.</given-names></string-name> (<year>2007</year>). <chapter-title>Use of ridge points in partial fingerprint matching</chapter-title>. In: <source>Biometric Technology for Human Identification IV: Proc. of SPIE</source>, Vol. <volume>6539</volume>, pp. <fpage>65390D</fpage>–<lpage>1–65390D-9</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_014">
<mixed-citation publication-type="chapter"><string-name><surname>Feng</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Ouyang</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Su</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Cai</surname>, <given-names>A.</given-names></string-name> (<year>2005</year>). <chapter-title>An exact ridge matching algorithm for fingerprint verification</chapter-title>. In: <source>IWBRS</source>, <conf-loc>Beijing, China</conf-loc>, pp. <fpage>103</fpage>–<lpage>110</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_015">
<mixed-citation publication-type="chapter"><string-name><surname>Feng</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Yoon</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Jain</surname>, <given-names>A.K.</given-names></string-name> (<year>2009</year>). <chapter-title>Latent fingerprint matching: fusion of rolled and plain fingerprints</chapter-title>. In: <source>ICB, Alghero, Italy, Proceedings</source>, pp. <fpage>695</fpage>–<lpage>704</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_016">
<mixed-citation publication-type="journal"><string-name><surname>Gago-Alonso</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Hernández-Palancar</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Rodríguez-Reina</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Muñoz-Brise no</surname>, <given-names>A.</given-names></string-name> (<year>2013</year>). <article-title>Indexing and retrieving in fingerprint databases under structural distortions</article-title>. <source>Expert Systems with Applications</source>, <volume>40</volume>(<issue>8</issue>), <fpage>2858</fpage>–<lpage>2871</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_017">
<mixed-citation publication-type="journal"><string-name><surname>Germain</surname>, <given-names>R.S.</given-names></string-name>, <string-name><surname>Califano</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Colville</surname>, <given-names>S.</given-names></string-name> (<year>1997</year>). <article-title>Fingerprint matching using transformation parameter clustering</article-title>. <source>Computing in Science &amp; Engineering</source>, <volume>4</volume>(<issue>4</issue>), <fpage>42</fpage>–<lpage>49</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_018">
<mixed-citation publication-type="journal"><string-name><surname>Girgis</surname>, <given-names>M.R.</given-names></string-name>, <string-name><surname>Sewisy</surname>, <given-names>A.A.</given-names></string-name>, <string-name><surname>Mansour</surname>, <given-names>R.F.</given-names></string-name> (<year>2009</year>). <article-title>A robust method for partial deformed fingerprints verification using genetic algorithm</article-title>. <source>Expert Systems with Applications</source>, <volume>36</volume>(<issue>2</issue>), <fpage>2008</fpage>–<lpage>2016</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_019">
<mixed-citation publication-type="other"><string-name><surname>Hernández-Palancar</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Muñoz-Brise no</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Gago-Alonso</surname>, <given-names>A.</given-names></string-name> (2014). Using a triangular matching approach for latent fingerprint and palmprint identification. <italic>IJPRAI</italic>, <italic>28</italic>(7).</mixed-citation>
</ref>
<ref id="j_info1228_ref_020">
<mixed-citation publication-type="chapter"><string-name><surname>Jain</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Prasad</surname>, <given-names>M.V.N.K.</given-names></string-name> (<year>2015</year>). <chapter-title>Clustering based fingerprint indexing using triangle spiral</chapter-title>. In: <source>11th International Conference on Signal-Image Technology &amp; Internet-Based Systems, SITIS</source>, <conf-loc>Thailand</conf-loc>, pp. <fpage>81</fpage>–<lpage>88</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_021">
<mixed-citation publication-type="other"><string-name><surname>Jain</surname>, <given-names>A.K.</given-names></string-name> (2011). <italic>Automatic Fingerprint Matching Using Extended Feature Set</italic>. Tech. rep., Department of Computer Science, Michigan State University.</mixed-citation>
</ref>
<ref id="j_info1228_ref_022">
<mixed-citation publication-type="journal"><string-name><surname>Jain</surname>, <given-names>A.K.</given-names></string-name>, <string-name><surname>Feng</surname>, <given-names>J.</given-names></string-name> (<year>2011</year>). <article-title>Latent fingerprint matching</article-title>. <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>, <volume>33</volume>(<issue>1</issue>), <fpage>88</fpage>–<lpage>100</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_023">
<mixed-citation publication-type="journal"><string-name><surname>Jea</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Govindaraju</surname>, <given-names>V.</given-names></string-name> (<year>2005</year>). <article-title>A minutia-based partial fingerprint recognition system</article-title>. <source>Pattern Recognition</source>, <volume>38</volume>(<issue>10</issue>), <fpage>1672</fpage>–<lpage>1684</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_024">
<mixed-citation publication-type="chapter"><string-name><surname>Krish</surname>, <given-names>R.P.</given-names></string-name>, <string-name><surname>Fiérrez</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Ramos-Castro</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Ortega-Garcia</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Bigün</surname>, <given-names>J.</given-names></string-name> (<year>2014</year>). <chapter-title>Pre-registration for improved latent fingerprint identification</chapter-title>. In: <source>22nd ICPR</source>, <conf-loc>Stockholm, Sweden</conf-loc>, pp. <fpage>696</fpage>–<lpage>701</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_025">
<mixed-citation publication-type="journal"><string-name><surname>Lee</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Cho</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Choi</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>J.</given-names></string-name> (<year>2017</year>). <article-title>Partial fingerprint matching using minutiae and ridge shape features for small fingerprint scanners</article-title>. <source>Expert Systems with Applications</source>, <volume>87</volume>, <fpage>183</fpage>–<lpage>198</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_026">
<mixed-citation publication-type="chapter"><string-name><surname>Liu</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Arora</surname>, <given-names>S.S.</given-names></string-name>, <string-name><surname>Cao</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Jain</surname>, <given-names>A.K.</given-names></string-name> (<year>2013</year>). <chapter-title>A feedback paradigm for latent fingerprint matching</chapter-title>. In: <source>ICB</source>, <conf-loc>Madrid, Spain</conf-loc>, pp. <fpage>1</fpage>–<lpage>8</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_027">
<mixed-citation publication-type="book"><string-name><surname>Maltoni</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Maio</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Jain</surname>, <given-names>A.K.</given-names></string-name>, <string-name><surname>Prabhakar</surname>, <given-names>S.</given-names></string-name> (<year>2009</year>). <source>Handbook of Fingerprint Recognition</source> <edition>2</edition>nd ed. <publisher-name>Springer Publishing Company, Incorporated</publisher-name>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_028">
<mixed-citation publication-type="chapter"><string-name><surname>Mathur</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Vjay</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Shah</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Das</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Malla</surname>, <given-names>A.</given-names></string-name> (<year>2016</year>). <chapter-title>Methodology for partial fingerprint enrollment and authentication on mobile devices</chapter-title>. In: <source>ICB</source>, <conf-loc>Halmstad, Sweden</conf-loc>, <conf-date>June 13–16</conf-date>, pp. <fpage>1</fpage>–<lpage>8</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_029">
<mixed-citation publication-type="journal"><string-name><surname>Medina-Pérez</surname>, <given-names>M.A.</given-names></string-name>, <string-name><surname>Moreno</surname>, <given-names>A.M.</given-names></string-name>, <string-name><surname>Ferrer-Ballester</surname>, <given-names>M.A.</given-names></string-name>, <string-name><surname>García-Borroto</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Loyola-González</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Robles</surname>, <given-names>L.A.</given-names></string-name> (<year>2016</year>). <article-title>Latent fingerprint identification using deformable minutiae clustering</article-title>. <source>Neurocomputing</source>, <volume>175</volume>, <fpage>851</fpage>–<lpage>865</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_030">
<mixed-citation publication-type="chapter"><string-name><surname>Mikaelyan</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Bigün</surname>, <given-names>J.</given-names></string-name> (<year>2012</year>). <chapter-title>Ground truth and evaluation for latent fingerprint matching</chapter-title>. In: <source>IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops</source>. <conf-loc>Providence, RI, USA</conf-loc>, pp. <fpage>83</fpage>–<lpage>88</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_031">
<mixed-citation publication-type="journal"><string-name><surname>Muñoz-Brise no</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Gago-Alonso</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Hernández-Palancar</surname>, <given-names>J.</given-names></string-name> (<year>2013</year>). <article-title>Fingerprint indexing with bad quality areas</article-title>. <source>Expert Systems with Applications</source>, <volume>40</volume>(<issue>5</issue>), <fpage>1839</fpage>–<lpage>1846</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_032">
<mixed-citation publication-type="chapter"><string-name><surname>Muñoz-Brise no</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Gago-Alonso</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Hernández-Palancar</surname>, <given-names>J.</given-names></string-name> (<year>2014</year>). <chapter-title>Using reference point as feature for fingerprint indexing</chapter-title>. In: <source>Proceedings of the 19th Iberoamerican Congress, CIARP</source>, <conf-loc>Puerto Vallarta, Mexico</conf-loc>, pp. <fpage>367</fpage>–<lpage>374</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_033">
<mixed-citation publication-type="other"><string-name><surname>Neurotechnology</surname></string-name> (2004). VeriFinger 4.2 SDK. <uri>http://www.neurotechnology.com/download/VF_42_SDK.pdf</uri>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_034">
<mixed-citation publication-type="chapter"><string-name><surname>Paulino</surname>, <given-names>A.A.</given-names></string-name>, <string-name><surname>Jain</surname>, <given-names>A.K.</given-names></string-name>, <string-name><surname>Feng</surname>, <given-names>J.</given-names></string-name> (<year>2010</year>). <chapter-title>Latent fingerprint matching: fusion of manually marked and derived minutiae</chapter-title>. In: <source>Proceedings of the 23rd SIBGRAPI</source>, <conf-loc>Gramado, Brazil</conf-loc>, pp. <fpage>63</fpage>–<lpage>70</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_035">
<mixed-citation publication-type="journal"><string-name><surname>Paulino</surname>, <given-names>A.A.</given-names></string-name>, <string-name><surname>Feng</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Jain</surname>, <given-names>A.K.</given-names></string-name> (<year>2013</year>). <article-title>Latent fingerprint matching using descriptor-based hough transform</article-title>. <source>IEEE Transactions on Information Forensics and Security</source>, <volume>8</volume>(<issue>1</issue>), <fpage>31</fpage>–<lpage>45</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_036">
<mixed-citation publication-type="chapter"><string-name><surname>Qin</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Tang</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Guo</surname>, <given-names>T.</given-names></string-name> (<year>2017</year>). <chapter-title>Partial fingerprint matching via phase-only correlation and deep convolutional neural network</chapter-title>. In: <source>Proceedings of the 24th International Conference, ICONIP 2017</source>, <conf-loc>Guangzhou, China</conf-loc>, pp. <fpage>602</fpage>–<lpage>611</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_037">
<mixed-citation publication-type="chapter"><string-name><surname>Reddy</surname>, <given-names>Y.B.</given-names></string-name> (<year>2016</year>). <chapter-title>Latent fingerprint matching in large databases using high performance computing</chapter-title>. In: <source>International Conference on Computing, Networking and Communications, ICNC</source>, <conf-loc>Kauai, HI, USA</conf-loc>, pp. <fpage>1</fpage>–<lpage>5</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_038">
<mixed-citation publication-type="journal"><string-name><surname>Sandhya</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Prasad</surname>, <given-names>M.V.N.K.</given-names></string-name>, <string-name><surname>Rao</surname>, <given-names>C.R.</given-names></string-name> (<year>2016</year>). <article-title>Generating cancellable fingerprint templates based on Delaunay triangle feature set construction</article-title>. <source>IET Biometrics</source>, <volume>5</volume>(<issue>2</issue>), <fpage>131</fpage>–<lpage>139</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_039">
<mixed-citation publication-type="journal"><string-name><surname>Sankaran</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Vatsa</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Singh</surname>, <given-names>R.</given-names></string-name> (<year>2014</year>). <article-title>Latent fingerprint matching: a survey</article-title>. <source>IEEE Access</source>, <volume>2</volume>, <fpage>982</fpage>–<lpage>1004</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_040">
<mixed-citation publication-type="book"><string-name><surname>Zhang</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Lu</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>L.</given-names></string-name> (<year>2018</year>). <source>Advanced Biometrics. High Resolution Partial Fingerprint Alignment</source>. <publisher-name>Springer International Publishing</publisher-name>, pp. <fpage>15</fpage>–<lpage>40</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_041">
<mixed-citation publication-type="chapter"><string-name><surname>Zhang</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Feng</surname>, <given-names>J.</given-names></string-name> (<year>2017</year>). <chapter-title>High-resolution mobile fingerprint matching via deep joint KNN-triplet embedding</chapter-title>. In: <source>Proceedings of the AAAI Conference on Artificial Intelligence</source>, <conf-loc>San Francisco, USA</conf-loc>, pp. <fpage>5019</fpage>–<lpage>5020</lpage>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_042">
<mixed-citation publication-type="other"><string-name><surname>Zhang</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Xin</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Feng</surname>, <given-names>J.</given-names></string-name> (2017). Combining global and minutia deep features for partial high-resolution fingerprint matching. <italic>Pattern Recognition Letters</italic>.</mixed-citation>
</ref>
<ref id="j_info1228_ref_043">
<mixed-citation publication-type="chapter"><string-name><surname>Zheng</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Yang</surname>, <given-names>C.</given-names></string-name> (<year>2015</year>). <chapter-title>Latent fingerprint match using Minutia Spherical Coordinate Code</chapter-title>. In: <source>ICB</source>, <conf-loc>Phuket, Thailand</conf-loc>, pp. <fpage>357</fpage>–<lpage>362</lpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>