当前位置:   article > 正文

ArcFace阈值选择_arcface人脸识别两张图片的距离为多少判定为同一个人

arcface人脸识别两张图片的距离为多少判定为同一个人

ArcFace阈值选择

       最近在学习人脸识别,看了一些FaceNet和ArcFace的资料。发现这类人脸识别算法的基本思路都是把待识别人脸送入卷积神经网络得到一个embedding向量,然后与人脸库中的人脸embedding向量进行比较,一般是求这两个人脸之间的距离,如果距离小于一个阈值,那就认为这两张人脸属于同一个人。
       但是因为之前没有人脸识别方面的部署经验,所以对ArcFace最后如何选择的阈值不太清楚,搜索引擎上也没搜到相关资料。所以我研究了一下官方的代码,做了一个笔记。

       我看的是官方insightFace的pytorch实现的代码,如下:

       deepinsight/insightface

       ArcFace用的阈值选择方法其实并不是用的一个固定的值,而是用的与训练集相关的方法:

1.为阈值选择一个合适的范围集合,遍历这个集合中的阈值;
2.在1中的集合选中一个阈值后,就用这个阈值计算此时训练集的准确率,直到1中的阈值都计算完;
3.选出训练集准确率最高的阈值,将其选为最佳阈值;

       官方pytroch代码阈值选择的核心在calculate_roc函数中第90行,代码可以精简如下:

# Find the best t
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/932168
    推荐阅读
      

    闽ICP备14008679号