Skip to content


Open Access

A framework of multitemplate ensemble for fingerprint verification

EURASIP Journal on Advances in Signal Processing20122012:14

Received: 5 July 2011

Accepted: 19 January 2012

Published: 19 January 2012


How to improve performance of an automatic fingerprint verification system (AFVS) is always a big challenge in biometric verification field. Recently, it becomes popular to improve the performance of AFVS using ensemble learning approach to fuse related information of fingerprints. In this article, we propose a novel framework of fingerprint verification which is based on the multitemplate ensemble method. This framework is consisted of three stages. In the first stage, enrollment stage, we adopt an effective template selection method to select those fingerprints which best represent a finger, and then, a polyhedron is created by the matching results of multiple template fingerprints and a virtual centroid of the polyhedron is given. In the second stage, verification stage, we measure the distance between the centroid of the polyhedron and a query image. In the final stage, a fusion rule is used to choose a proper distance from a distance set. The experimental results on the FVC2004 database prove the improvement on the effectiveness of the new framework in fingerprint verification. With a minutiae-based matching method, the average EER of four databases in FVC2004 drops from 10.85 to 0.88, and with a ridge-based matching method, the average EER of these four databases also decreases from 14.58 to 2.51.


fingerprint verificationmulti-template ensemblefusion ruleestablish polyhedron

1. Introduction

Researchers never stop to improve the performance of a biometrics system pursuing the lower equal-error rate (EER). Major approaches of reducing the EER can be divided into the following two categories:
  1. (1)

    Improving the performance of process steps of a biometrics system. These steps include segmentation [1], enhancement [2], extraction [3], matching [4], etc. However, there are some problems in this method. For example, the room of performance increasing is limited.

  2. (2)

    Fusing multiple sources of biometrics to increase the overall performance of a biometrics system. These sources include multiple sensors, multiple features [5], multiple matchers [6], multiple fingers [7], multiple impressions of a same finger [8], etc. Recent research results show that the most effective method to improve the performance of a biometrics system is to fuse more biometric information using ensemble learning [9]. These ensemble approaches, particularly these ensemble approaches with multiple matching algorithms, need more computing resources and more storage. Ensembles of multiple sensors and multiple biometric verifications also need various kinds of sensors. Furthermore, it is very inconvenient for users since those multiple biometric verification ensembles need to capture various feature information from users in enrollment stage and verification stage.


Currently, multiple templates' ensemble is widely used in biometrics systems. In practice, multiple fingerprint images are captured and stored in database for one finger. These fingerprint images are called multiple templates. In current multiple templates ensemble researches, there are two challenges: (1) how to choose the proper templates for ensemble; (2) how to use the multiple templates information effectively.

There are a few studies have been done to deal with the problem of template selection to solve the first challenge. Uludag et al. [10] proposed two typical methods for automatic template selection: the first one, DEND, employs a hierarchical clustering strategy to choose a template set that could be best represents the intra-class variations. The second method, MDIST, selects a template set which exhibits maximum similarity with the other fingerprints. The MDIST achieves better performance comparing with DEND in Uludag et al.'s study [10]. Lumini and Nanni [11] presented another clustering method which automatically selected the number of clusters. This method could also save memory and computational cost for a verification task. Multiple fingerprint images of a finger are acquired in order to obtain images of different regions of the finger [9]. So, when we select templates, the "ideal" templates should have these advantages: (1) The difference of these templates is big enough; (2) These templates are partially overlapping images. "Ideal" templates are shown in Figure 1.
Figure 1
Figure 1

"Ideal" templates.

For the second challenge, there are two major methodologies to use multi-template ensemble in fingerprint field: Mosaicking and Score level fusion. With mosaic [12, 13], a larger fingerprint image could be obtained from several small images. But, the major problem in creating a mosaicked image is that the alignment different impressions/pieces cannot be completely recovered. Meanwhile, with the score level fusion [9, 14, 15], a query fingerprint has some matching scores with the templates. So, the final score is to fuse these scores with different weights. However, these weights are difficult to be determined in practice.

In this article, a framework of multitemplate ensemble for fingerprint verification is proposed. As mentioned above, in the enrollment stage, some fingerprint images are chosen and stored in database as fingerprint templates. And then, a polyhedron is created by the matching results of multiple template fingerprints and a virtual centroid of the polyhedron is given. The matching scores are also stored in the database. During the verification stage, a distance is calculated from a query fingerprint to the centroid. We add the distance into the set which is constituted by the distance between the query and templates. Finally, the framework returns a proper distance from the set as the final score of the query image and the template fingerprints. The experimental results in FVC2004 show the effectiveness and robustness of the novel framework.

This article is a significant extension from the conference version which is published in [16]. The rest of this article is organized as follows. Section 2 describes the flowchart of the framework in detail and introduces various parts of the framework detailed. Section 3 introduces two relative fingerprint matching algorithms which will be as the base matcher. Section 4 gives out the experimental results. Conclusion and future study are given in Section 5.

2. The proposed framework

A verification system includes enrollment and verification processes. The proposed framework of multitemplate ensemble also consists of the two processes. First, in the enrollment stage, some fingerprint images of the same finger are enrolled, and a template selection method is used to choose some fingerprints which are the best represent of this finger as the templates. Then, we will establish a polyhedron using the templates and get a virtual centroid of the polyhedron. The templates and the polyhedron will be stored in the database. Second, in the verification stage, a new polyhedron is established using the query and the templates fingerprint, and then a distance from the query to the centroid is calculated. Finally, a fusion rule will be used to choose a proper distance from a distance set which contains these distances between the query fingerprint and the templates and the distance between the query fingerprint and the centroid as the final score. The structure of the framework is shown in Figure 2.
Figure 2
Figure 2

Framework of multi-template ensemble for fingerprint verification.

As shown in Figure 2, the orange square is depicted in particular. In enrollment stage, when selecting templates, the number of templates is set beforehand. In this article, taking resources of computing and storing consideration, we prefer to set the number as 3. In database, we just store the feature sets of the templates and the scores among the templates. The distance describes the similarity of two fingerprints, if the two fingerprints are more similar, then the distance is shorter. Otherwise, the distance is longer. The remaining will describe each part of the framework detailed.

2.1. Enrollment stage

In this section, the template selection and the polyhedron establishment will be introduced in detail. Most systems store multiple templates of the same finger in order to represent the finger better, but when the number of templates is larger, the resource of computing and storing is needed more. While, template selection is an effective method to reduce the number of fingerprint templates in database. And in order to reduce the computing time of verification, the matching scores among the templates are also preserved in the enrollment stage.

2.1.1. Template selection

In enrollment stage, suppose the set of enrolled fingerprints of the same finger is represented as
E = { F i i =  1 , 2 , 3 , , m }

where m is the number of the enrolled fingerprints and F i is the i th fingerprint. S(F i , F j ) means similarity score of two enrolled fingerprints F i and F j . We will choose n (n < < m) fingerprints as the templates.

The template selection method is described as follows.

Step 1. For every enrolled fingerprint F a from the same finger, we will get all the matching scores S(F i , F j ) with other fingerprints F j (ji). And then the average score will be calculated as
AV E i F i = 1 m - 1 j i S ( F i , F j )

The a th fingerprint that the AVE a (F a ) is the maximum will be chosen as the first template fingerprint.

Step 2. For the second template fingerprint, the fingerprint F b that the S(F a , F b ) is minimum will be chosen as the second template. In this step, we only calculate these scores between the a th fingerprint and the others.

Step 3. For the third template fingerprint, the fingerprint F c which is farthest to the F a and F b will be chosen. The farthest is defined that 1 2 ( S ( F a , F c ) + S ( F b , F c ) ) is the minimum. These matching scores S(F a , F c ) and S(F b ,F c ) (ca and cb) are accepted, and then we calculate the minimum value
1 2 ( S ( F a , F c ) + S ( F b , F c ) ) c a & & c b & & c [ 1 , m ]

and the F c is as the third template.

Step n. For the n th template fingerprint, the matching scores between the remaining fingerprints with the former n - 1 template fingerprint are calculated. And then we get the minimum
1 n - 1 ( S ( F a , F n ) + S ( F b , F n ) + + S ( F n - 1 , F n ) ) n a & & n b . . . . n n - 1 & & n [ 1 , m ]

and the F n is as the n th template.

2.1.2. Establish polyhedron

As shown in Figure 3, we take three templates as an example. In this case, the three templates selected from FVC2004DB4 are all chosen by using the template selection method.
Figure 3
Figure 3

Process of establish polyhedron. (a) Multiple templates. (b) Matching within templates. (c) Establish polyhedron.

T1, T2, T3 indicate the three templates, L12, L13, L23 indicate the similarity distance among the three templates. Next, process of establish polyhedron is described in detail.

Template set is represented as
T = { F i i = 1 , 2 , , n }
where n is the number of the template fingerprints. The set of similarities within templates is represented as
I = { S ( F i , F j ) F i , F j T }
Suppose every template F i is a point r i in an n - 1 dimensional space, it can be represented as
r i ( x i 1 , x i 2 , . . . , x i ( n - 1 ) )
Considering the distance between F i and F j in an n - 1-dimensional space,
l i j = r i r j = k = 1 n - 1 ( x i k - x j k ) 2
Because the centroid of regular polyhedron is its geometrical center [17], the centroid of T in an n - 1-dimensional space is
r c 1 n i = 1 n x i 1 , 1 n i = 1 n x i 2 , . . . , 1 n i = 1 n x i ( n - 1 )

2.2. Verification stage

In this section, a distance calculated from query to centroid and a fusion rule will be introduced in detail.

When a query image is presented, the matching proceeds as follows:

  • The query image and each template of the same finger stored in database are matched to generate matching scores, and these scores are translated to distance using a proper distance expression;

  • Computing the distance from query image to the centroid, and output the distance.

  • Choosing a perfect distance and translating it to score using the inverse distance expression as the final score.

2.2.1. A distance calculated from query to centroid

When a query fingerprint is coming, the process of a distance calculated from query to centroid is shown in Figure 4.
Figure 4
Figure 4

Process of a distance calculated from query to centroid. (a) A query fingerprint. (b) Matching between query and templates. (c) Establish polyhedron.

Q indicates the query fingerprint, D*1, D*2, D*3 indicate the similarity distance between the query and templates, and D*cindicates the distance between the query and the centroid.

In verification stage, a set of matching scores can be calculated between query image Q and every template fingerprint. The set is represented as
V = { S ( F i , Q ) F i T }
Because the query becomes a member of the polyhedron, the dimension of the polyhedron should be plus one dimension. And the point r i of template F i be represented as
r i ( x i 1 , x i 2 , . . . , x i ( n - 1 ) , 0 )
The centroid of T in an n-dimensional space is
r c 1 n i = 1 n x i 1 , 1 n i = 1 n x i 2 , . . . , 1 n i = 1 n x i ( n - 1 ) , 0
So, the query image F* is r* in an n-dimensional space, it can be represented as
r * ( x * 1 , x * 2 , . . . , x * ( n - 1 ) , x * n )
The distance from F i to F* will be
d * i = r * r i = k = 1 n ( x * k - x i k ) 2
The distance from F* to the centroid will be
d * c = r * r c = k = 1 n ( x * k - 1 n i = 1 n x i k ) 2
d * c 2 = k = 1 n 1 n ( n x * k - i = 1 n x i k ) 2 = 1 n 2 k = 1 n ( ( x * k - x 1 k ) + ( x * k - x 2 k ) + + ( x * k - x n k ) ) 2 = 1 n 2 k = 1 n ( ( x * k - x 1 k ) 2 + ( x * k - x 2 k ) 2 + + ( x * k - x n k ) 2 + 2 i = j + 1 n j = 1 n - 1 ( x * k - x i k ) ( x * k - x j k ) ) 2 = 1 n 2 k = 1 n d * k 2 + k = 1 n - 1 i = j + 1 n j = 1 n - 1 ( ( x * k - x i k ) 2 + ( x * k - x j k ) 2 - ( x i k - x j k ) 2 ) = 1 n 2 i = 1 n d * i 2 + i = j + 1 n j = 1 n - 1 ( d * i 2 + d * j 2 - l i j 2 ) = 1 n 2 n i = 1 n d * i 2 - i = j + 1 n j = 1 n - 1 l i j 2
d * c = 1 n n i = 1 n d * i 2 - i = j + 1 n j = 1 n - 1 l i j 2
Because n is const in an instance, the final result
n i = 1 n d * i 2 - i = j + 1 n j = 1 n - 1 l i j 2

The final matching result will be given if we decide the distance expression. For example, the inverse of similarity S(F i , F j ) is a naïve choice of distance expression. In this article, we use the distance expression 1 - s 1 + s to compute the final matching result. In [16], we have confirmed that the distance expression 1 - s 1 + s is good.

2.2.2. Fusion rule

Now, we have got all the distance. For the geometric architecture which was built by the distance among the templates, there are two different statuses showing in Figure 5.
Figure 5
Figure 5

Two different statuses.

In Figure 4, the Q, T1, T2, T3, C means query image, template 1, template 2, template 3, centroid, respectively. These red lines mean the distance from query image to the template fingerprints. The green line means the distance from query image to the centroid of this geometric architecture. In Figure 5a, the length of red line is similar, so the green line is shortest. But in Figure 5b, the query image is more similar with template 2, and the black line is shortest. We all know that the more short of the length, the more similar. So, in this stage, we will use the Min rule to get the minimum distance from all the distance. And in the geometric architecture, we will get the shortest line.

Sometimes, we could get the distance between the query and templates, however, the geometric architecture could not be built because the distance cannot meet the rule of polyhedron. So, the distance between the query and the centorid cannot exist. In this case, we get the minimum distance between the query fingerprint and the templates as the final result.

3. Relative fingerprint matching algorithm

In this section, two base matchers that include minutiae-based algorithm [18] and ridge-based algorithm [19] will be introduced briefly. And in the experiment, the results are given based on the two base matchers.

3.1. Minutiae-based fingerprint matching algorithm

We choose a typical minutiae-based matching algorithm, which matches the fingerprint images using both the local and global structures of minutiae [18]. The process of the minutiae-based matching algorithm is shown in Figure 6. The local structure of a minutia is rotation and translation invariant because it consists of the direction and location relative to some other minutiae. It is used to find the correspondence of two minutiae sets and to increase the reliability of the global matching. Moreover, the local structure can tolerate some deformation because it is formed from only a small area of the fingerprint. So, the local structures can be directly used for matching and the best matched local structures will provide the correspondences for aligning the global structure of the minutiae. The global structure of minutiae reliably determines the uniqueness of fingerprint. The aligned global structure together with the result of the local structure matching finally determines whether the two fingerprints are acquired from the same finger. Therefore, the local and global structures of minutiae together provide a solid basis for reliable and robust minutiae matching.
Figure 6
Figure 6

Minutiae-based matching algorithm.

3.2. Ridge-based fingerprint matching algorithm

The ridge-based algorithm [19] chosen in this article consists of three stages: preprocessing, alignment, and matching, whose process is shown in Figure 7. In the preprocessing stage, ridges are extracted by sampling equidistantly from the thinned image. The relations between ridges and minutiae are established. In the alignment stage, a set of N initial substructure pairs is found using a novel approach. In the matching stage, for each of the N initial substructure pairs, ridge matching is performed to produce a matching score. Finally, the maximum of the N scores is used as the final matching score of the two fingerprints. The alignment algorithm focuses on how to choose a reliable local feature pair as the datum mark of matching. This is accomplished first by defining a substructure that contains as much local information (one minutia and several ridges) as possible, and second by finding the substructure pair which have the most consistent substructure pairs around. In the matching algorithm, during the process of ridge matching, minutiae are also paired, and the matching score is computed according to both the matched minutiae and the matched ridges.
Figure 7
Figure 7

Ridge-based matching algorithm.

4. Experimental results

In this section, we present results on fingerprint database FVC2004 database. This database has four sub-databases: DB1, DB2, DB3, and DB4. Each sub-database consists of fingerprint impressions obtained from 100 non-habituated, cooperative subjects, and every subject was asked to provide eight impressions of the same finger.

The performance of a biometric system is often measured in terms of False Acceptance Rate (FAR) and False Rejection Rate (FRR). FAR and FRR are defined as
FAR = p ( D 1 ω 2 )
FRR = p ( D 2 ω 1 )

where ω1 and ω2 represent the classes of true genuine matches and impostor matches, respectively, D1 and D2 denote the decisions of genuine matches and impostor matches, respectively. The EER is computed as the point where FAR(t) = FRR(t), usually we use EER to evaluate the biometric system [20]. And the performance of the biometric system can also be shown as a receiver operating characteristic (ROC) curve that plots the FRR against the FAR at different thresholds on the matching score. In the experimental results, we will show out the performance of a fingerprint verification system by using the EER and ROC, respectively.

In these experiments, a minutiae- and a ridge-based matching method are used as the base matchers of the fingerprint verification system, and Table 1 lists EERs of the two base matchers.
Table 1

EER of the two base matchers



















4.1. Template selection results

In this section, the proposed template selection is compared to MDIST [10] template selection. Uludag et al. [10] proposed two methods for template selection: DENT and MDIST, but MDIST method gets a better performance than DEND in their study. Lumini and Nanni [11] presented a novel clustering method for template selection, and this method is better than MDIST in their study. While this clustering method is depicted simply, we cannot reappear, so we select the MDIST as comparison.

When we carry out our experiments, each sub-database is divided into two subsets called template and query databases. Images selected by using template selection methods constitute the template database and the remaining images of the finger constitute the query database. A maximum matching score is chosen from all scores between a query fingerprint and templates as final score. We perform a comparison among the following methods for the same template selection:

Double-templates (DT): two images are selected as the templates, six images as the query images. And there will be 200 images in the template database, 600 images in the query database.

Three-templates (TT): three images are selected as the templates, five images as the query images. And there will be 300 images in the template database, 500 images in the query database.

Four-templates (FT): four images are selected as the templates, four images as the query images. And there will be 400 images in the template database, 400 images in the query database.

In Table 2, we use minutiae-based method, for DT, TT, FT, our proposed template selection method outperforms the MDIST, and the average EERs is lower than original matcher. In our proposed template method, with the number increasing of templates, the EERs are more lower, but, in MDIST, the EERs are more higher. In Table 3, for ridge-based method, it shows the same characteristic. ROC curve on FVC2004DB1 is given in Figure 8, the base matcher is minutiae-based method and shows such an improvement in matching accuracy results by using our proposed template selection method.
Table 2

The EERs of template selection using minutiae-based method



















































Table 3

The EERs of template selection using ridge-based method



















































Figure 8
Figure 8

ROC curve of our proposed TS on FVC2004DB1.

Our proposed template selection method is better than MDIST. The reasons may be that the templates selected by our proposed method have a perfect complementary, while the templates selected by MDIST may be a high similarity and their differences are small.

4.2. Verification results

In this section, we will show the EERs of our proposed framework using minutiae- and ridge-based methods.

DT-framework, TT-framework, FT-framework mean our proposed framework using double templates, three templates, and four templates, respectively.

In Table 4, we use minutiae-based method as the base matcher, compared to Table 2, for the same templates, our proposed framework has a more performance than only using template selection method. And for ridge-based method, it shows the same characteristic in Table 5. From the ROC curve on FVC2004DB1 in Figure 9, we will show out the performance improving clearly.
Table 4

The EERs of our proposed framework using minutiae-based method

























Table 5

The EERs of our proposed framework using ridge-based method

























Figure 9
Figure 9

ROC curve of our proposed framework on FVC2004DB1.

Finally, although, with the number increasing of templates, the EERs are lower, but the resource of computing and storing is increasing. So, this is a trade-off between performance and resource. For guaranteeing the verification accuracy and resource saving, we recommend to use three templates.

5. Conclusions

The main contributions of this article to the fingerprint verification are (1) a template selection method is proposed, and this method is more robust and effective than the MDIST. (2) A polyhedron is established by using matching scores among templates, and gets a virtual centroid of the polyhedron. When a query image is inputted, a distance between the query image and the centroid is calculated, and then a distance is chosen from all the distances as the final score. (3) A complete framework for the fingerprint verification system is built based on these two steps.

The experiment of this framework is carried out on the FVC2004DB4 database. Due to the number of fingerprint images in the database the experiment results only represent the functionality of the framework. Future study is to be done on more samples to further verify the performance of both the new template selection method and the proposed framework.



This study was partly supported by the National Natural Science Foundation of China under Grant No. 61070097, 61173069 and the Research Fund for the Doctoral Program of Higher Education under Grant No. 20100131110021.

Authors’ Affiliations

School of Computer Science and Technology, Shandong University, Jinan, China


  1. Ong TS, Andrew TBJ, David NCL, Sek YW: Fingerprint images segmentation using two stages coarse to fine discrimination technique. Ai 2003. Adv Artif Intell 2003, 2903: 624-632.MathSciNetGoogle Scholar
  2. Hong L, Wan YF, Jain A: Fingerprint image enhancement: algorithm and performance evaluation. IEEE Trans Pattern Anal Mach Intell 1998, 20(8):777-789. 10.1109/34.709565View ArticleGoogle Scholar
  3. Farina A, Kovacs-Vajna ZM, Leone A: Fingerprint minutiae extraction from skeletonized binary images. Pattern Recognit 1999, 32(5):877-889. 10.1016/S0031-3203(98)00107-1View ArticleGoogle Scholar
  4. Tico M, Kuosmanen P: Fingerprint matching using an orientation-based minutia descriptor. IEEE Transact Pattern Anal Mach Intell 2003, 25(8):1009-1014. 10.1109/TPAMI.2003.1217604View ArticleGoogle Scholar
  5. Jain AK, Ross A, Prabhakar S: A hybrid fingerprint matching using minutiae and texture features. In Proc Int Conf Image. Thessaloniki, Greece; 2001:282-285.Google Scholar
  6. Ross A, Jain A, Reisman J: A hybrid fingerprint matcher. Pattern Recognit 2003, 36(7):1661-1673. 10.1016/S0031-3203(02)00349-7View ArticleGoogle Scholar
  7. Jain AK, Prabhakar S, Ross A: Fingerprint matching: data acquisition and performance evaluation. MSU Technical Report TR99-14 1999.Google Scholar
  8. Yang CY, Zhou J: A comparative study of combining multiple enrolled samples for fingerprint verification. Pattern Recognit 2006, 39(11):2115-2130. 10.1016/j.patcog.2006.05.008View ArticleGoogle Scholar
  9. Maltoni D, Maio D, Jain AK, Prabhakar S: Handbook of Fingerprint Recognition. Springer, New York; 2003.Google Scholar
  10. Uludag U, Ross A, Jain A: It biometric template selection: a case study in fingerprint. Pattern Recognit 2004, 37(7):1533-1542. 10.1016/j.patcog.2003.11.012View ArticleGoogle Scholar
  11. Lumini A, Nanni L: A clustering method for automatic biometric template selection. Pattern Recognit 2006, 39(3):495-497. 10.1016/j.patcog.2005.11.004View ArticleGoogle Scholar
  12. Jain A, Ross A: Fingerprint mosaicking, in 2002 IEEE Int. In Conf Acoustics, Speech, Signal Process. Orlando, FL, USA; 2002:4064-4067.Google Scholar
  13. Choi K, Choi HS, Lee S, Kim J: Fingerprint image mosaicking by recursive ridge mapping. IEEE Trans Syst Man Cyber Part B Cybern 2007, 37(5):1191-1203.View ArticleGoogle Scholar
  14. Jain AK, Prabhakar S, Chen SY: Combining multiple matchers for a high security fingerprint verification system. Pattern Recognit Lett 1999, 20(11-13):1371-1379. 10.1016/S0167-8655(99)00108-7View ArticleGoogle Scholar
  15. Fronthaler H, Kollreider K, Bigun J: Fingerprint image-quality estimation and its application to multialgorithm verification. IEEE Trans Inf Forensics Secur 2008, 3(2):331-338.View ArticleGoogle Scholar
  16. Ren CX, Yin YL, Ma J, Yang GP: A novel method of score level fusion using multiple impressions for fingerprint verification. In 2009 IEEE Conf Syst Man (Smc 2009). Volume 1-9. San Antonio, TX; 2009:5051-5056.Google Scholar
  17. Grünbaum B, Shephard G: Rotation and winding numbers for planar polygons and curves. Trans Am Math Soc 1990, 322: 169-188. 10.2307/2001527View ArticleGoogle Scholar
  18. Jiang XD, Yau WY: Fingerprint minutiae matching based on the local and global structures. In 15th Conf Pattern Recognit. Volume 2. Barcelona, Spain; 2000:1038-1041.Google Scholar
  19. Feng JJ, Ouyang Z, Cai AN: Fingerprint matching using ridges. Pattern Recognit 2006, 39(11):2131-2140. 10.1016/j.patcog.2006.05.001View ArticleGoogle Scholar
  20. Wayman JL, Jain AK, Maltoni D, Maio D: Biometric Systems-Technology, Design and Performance Evaluation. Springer, New York; 2005.Google Scholar


© Yin et al; licensee Springer. 2012

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.