CMC曲线

CMC曲线(累计匹配曲线)

CMC曲线在人脸识别,行人重识别等领域使用的非常多,但却很少有文章去详细的介绍CMC曲线,这是我在researchgate网页上某个博主主页上找到的关于CMC曲线的介绍,个人觉得通过例子讲解的形式来介绍CMC使得更加通俗易懂,让人一看就明白。以下是原文:

I think that understanding a CMC curve is much easierby using an example.

Shortly speaking, imagine that you have 5 classes.For simplicity, imagine you have one test per class. Each test produces a scorewhen compared to each class. Let's start from test1 which belongs to class1:

As your similarity measure, here, is Euclidian distance,the more distance a test has compared to a class, the less similarity isobtained. Without loss of generality, let's suppose that the distance measuresare calibrated and normalized in terms of similarity scores.  

If the score between test1 and class1 is larger than theother 4 classes (or the Euclidian distance between test1 and class1 is lessthan the other 4 classes), class 1 is recognized in the first rank. As an example,let's suppose the following similarity scores (not Euclidian distances):

Test1 VS class 1= .95

Test1 VS class 2= .7

Test1 VS class 3= .9

Test1 VS class 4= .72

扫描二维码关注公众号,回复: 5334394 查看本文章

Test1 VS class 5= .3

What do these scores say? These similarity scores saythat test 1 is more similar to class 1 than the other classes. So, test 1 iscorrectly recognized in the first rank.

Let's suppose that test2, test 3, test 4 and test 5 arealso recognized in the first rank.

So, we can conclude that we have a perfect CMC curve(y-x). because all of the 5 test are correctly recognized. A perfect CMC curveis as following:

Rank 1: 100%

Rank2: 100%

...

Rank 5:100%

Now, let's suppose the following situation:

Test1 VS class 1= .9

Test1 VS class 2= .95

Test1 VS class 3= .4

Test1 VS class 4= .72

Test1 VS class 5= .3

What do these scores say? They say that test 1 is moresimilar to class 2 than class 1 (This is a mismatch and it is not correct!).So, the correct match (.9) is not the top match here (the top match is .95which is a mismatch). In other words, test 1 is not recognized as the topmatch, but it is recognized among top "two matches" (the top twomatches are .95 and .9). This is what rank 2 recognition means!

Now, if test 1 is recognized among top two matches butthe other tests (i.e., test 2, test 3,... test 5) are recognized in the firstrank (Rank 1), the first rank recognition rate is 80% (test 1 is not among thetop matches, i,e, 1 out of 5 is incorrect in first rank recognition whichyields 80%) but the second rank recognition rate is 100%, because all of thetests are correctly recognized among the top "two matches". Some ofthem are recognized in the first rank (test 2, test 3, test 4, and test 5)while some of them are recognized in the second rank (test 1). So, the secondrank recognition rate is 100%.

So, the CMC curve will be as following:

Rank1  80% (tests 2,3,4,5 are among the N=1 topmatches )

Rank2 100% (tests 1,2,3,4,5 are among the N=2 topmatches )

Rank3 100%  (tests 1,2,3,4,5 are among the N=3 topmatches )

...

Rank 5 100%  (tests 1,2,3,4,5 are among the N=5 topmatches )

Now, consider that test1, test 2, test 3 are recognizedin the first rank, test 4 is recognized in the second rank and test 5 isrecognized in the fourth rank. what is the CMC curve>? Here is the answer:

Rank 1:  60% (tests 1,2,3 are among the N=1 topmatches )

Rank 2: 80% (test 1,2 ,3 ,4 are among N=2 top matches)

Rank 3: 80% (test 1,2 ,3 ,4 are among N=3 topmatches)

Rank 4: 100% (test 1,2 ,3 ,4 and 5 are among N=4 topmatches) 

Rank 5: 100% (test 1,2 ,3 ,4 and 5 are among N=5 topmatches)

Reference:

Grother, Patrick, Ross J. Micheals, and P. JonathonPhillips. "Face recognition vendor test 2002 performance metrics."Audio-and Video-Based Biometric Person Authentication. Springer BerlinHeidelberg, 2003.

Good Luck,

Reza.

CMC

CMC曲线是算一种top-k的击中概率,主要用来评估闭集中rank的正确率。举个很简单的例子,假如在人脸识别中,底库中有100个人,现在来了1个待识别的人脸(假如label为m1),与底库中的人脸比对后将底库中的人脸按照得分从高到低进行排序,我们发现:

    如果识别结果是m1、m2、m3、m4、m5……,则此时rank-1的正确率为100%;rank-2的正确率也为100%;rank-5的正确率也为100%;
    如果识别结果是m2、m1、m3、m4、m5……,则此时rank-1的正确率为0%;rank-2的正确率为100%;rank-5的正确率也为100%;
    如果识别结果是m2、m3、m4、m5、m1……,则此时rank-1的正确率为0%;rank-2的正确率为0%;rank-5的正确率为100%;

同理,当待识别的人脸集合有很多时,则采取取平均值的做法。例如待识别人脸有3个(假如label为m1,m2,m3),同样对每一个人脸都有一个从高到低的得分,

    比如人脸1结果为m1、m2、m3、m4、m5……,人脸2结果为m2、m1、m3、m4、m5……,人脸3结果m3、m1、m2、m4、m5……,则此时rank-1的正确率为(1+1+1)/3=100%;rank-2的正确率也为(1+1+1)/3=100%;rank-5的正确率也为(1+1+1)/3=100%;
    比如人脸1结果为m4、m2、m3、m5、m6……,人脸2结果为m1、m2、m3、m4、m5……,人脸3结果m3、m1、m2、m4、m5……,则此时rank-1的正确率为(0+0+1)/3=33.33%;rank-2的正确率为(0+1+1)/3=66.66%;rank-5的正确率也为(0+1+1)/3=66.66%;
 

How is CMC produced (recognition rate vs Rank) for unknown faces?.Available from:https://www.researchgate.net/post/How_is_CMC_produced_recognition_rate_vs_Rank_for_unknown_faces [accessed Jun 28, 2017].

猜你喜欢

转载自blog.csdn.net/dashan8608/article/details/85004122