【问题标题】:How can I evaluate FaceNet embeddings for face verification on LFW?如何评估 FaceNet 嵌入以在 LFW 上进行人脸验证?
【发布时间】:2018-06-07 04:33:31
【问题描述】:

我正在尝试创建一个能够在 lfw 数据集上评估模型的脚本。作为一个过程,我正在读取一对图像(使用 LFW 注释列表),跟踪和裁剪人脸,对齐并通过预训练的 facenet 模型(.pb 使用 tensorflow)并提取特征。特征向量大小 = (1,128),输入图像为 (160,160)。

为了评估验证任务,我使用的是连体架构。也就是说,我从两个相同的模型([2 x facenet] 传递一对图像(相同或不同的人),这相当于从单个网络传递一批大小为 2 的图像)并计算欧几里得距离嵌入。最后,我正在训练一个线性 SVM 分类器,以在嵌入距离较小时提取 0,否则使用对标签提取 1。通过这种方式,我试图学习测试时要使用的阈值。

使用这种架构,我的得分最高为 60%。另一方面,在其他模型(例如 vgg-face)上使用相同的架构,其中的特征是 4096 [fc7:0](不是嵌入),我得到了 90%。我绝对无法复制我在网上看到的分数(99.x%),但是使用嵌入的分数非常低。一般管道有问题吗?如何评估嵌入以进行验证?

【问题讨论】:

    标签: tensorflow computer-vision face


    【解决方案1】:

    没关系,方法是正确的,在线可用的 facenet 模型训练不佳,这就是得分不佳的原因。由于该模型是在另一个数据集上训练的,而不是论文中描述的原始数据集(显然),因此验证分数将低于预期。但是,如果您将一个恒定阈值设置为所需值,您可能会增加真阳性,但会牺牲 f1 分数。

    【讨论】:

      【解决方案2】:

      您可以使用相似性搜索引擎。使用近似的 kNN 搜索库(如 Faiss 或 Nmslib)、云就绪的相似性搜索开源工具(如 Milvus)或生产就绪的托管服务(如 Pinecone.io)。

      【讨论】:

        猜你喜欢
        • 2020-10-09
        • 2021-03-12
        • 2018-06-07
        • 2018-02-16
        • 1970-01-01
        • 2019-03-29
        • 1970-01-01
        • 2020-06-15
        • 2016-11-26
        相关资源
        最近更新 更多