人脸识别——筛选与删除重复或近似重复数据提高人脸识别的精确度

1. 概述

人脸识别研究通常使用从网上收集的人脸图像数据集,但这些数据集可能包含重复的人脸图像。为了解决这个问题,我们需要一种方法来检测人脸图像数据集中的重复图像,并提高其质量。本文介绍了一种检测人脸图像数据集中重复图像的方法。该方法适用于从网络上收集的五个人脸图像数据集(LFW、TinyFace、Adience(已对齐)、CASIA-WebFace 和 C-MS-Celeb(已对齐))。这些去重数据集均可公开获取。还对人脸识别模型进行了实验,以研究去重复数据集的影响。

论文地址:https://arxiv.org/pdf/2401.14088.pdf
源码地址:https://github.com/dasec/dataset-duplicates

2. 重复检测方法

本文研究了精确重复(完全匹配的重复图像)和近似重复(不完全匹配但应视为重复图像)的检测方法。

所谓 “完全重复”,是指通过比较数据,两份数据完全匹配,即可识别出重复数据。为了提高计算效率,我们使用 BLAKE3 哈希算法收集一组初始数据来检测重复数据。由于相同的数据总是产生相同的哈希值,因此不会出现因哈希值而导致的假阴性,但会出现假阳性(哈希碰撞)。因此,我们引入了一个额外的步骤来检查文件数据是否与哈希值发现的重复数据集完全匹配。虽然这只是一个非常简单的检查步骤,但我们却能在所有数据集中检测到 “完全重复”(请注意,结果显示,这里应用的五个数据集在创建时并未执行此类检查)。

其次是 “近似重复”,指的是略有不同但应视为重复的相似图像,例如在人脸识别研究中。下图就是一个例子。

这种 "近乎重复 "的定义各不相同。本文根据 Python 软件包 "ImageHash "的默认设置,使用了两种图像散列方法 "pHash(感知散列)"和 “抗裁剪散列”。

与 "抗裁剪散列 "相比,"pHash "检测到的重复图像更多,这表明 "抗裁剪散列 "在某些情况下可能无法成功应用。图像散列功能检测到的重复图像集可能会重叠,因此纠正误报和合并(删除)重复图像集是去重过程的重要组成部分。

人脸识别和人脸图像质量评估模型依赖于人脸图像预处理。这些模型根据检测到的面部地标对原始人脸图像进行裁剪和对齐。本文介绍的重复检测方法对这种预处理后的人脸图像效果很好。

这是因为预处理所需的面部地标检测可能会在某些图像上失效,而且预处理/原始图像的变化可能会产生一组没有自己的重复图像。因此,应该在对未改动的原始图像进行重复检测后,再进行额外的步骤。

本文使用 ArcFace 中使用的相似性变换对人脸图像进行预处理。在检测到多张人脸的图像中,根据检测边界框的宽度和高度、与图像中心的距离以及检测器的置信度分数来选择主要人脸。所有预处理图像的宽度和高度均为 112 x 112。下图显示了一个预处理样本。

地标检测失败的人脸图像数量分别为:LFW 为 0,TinyFace 为 859(根据原始图像的检测结果,只有 4 幅重复),Adience 为 79(9 幅重复),CASIA-WebFace 为 129(2 幅重复),C-MS-Celeb 为 6。179 幅图像(351 幅重复)。这些图像在额外的重复检测步骤中不予考虑,建议在验证原始图像后作为额外步骤进行。

下表概述了所研究的数据集,显示了图像和重复图像的总数。Intra "表示主体内重复(重复集中的所有图像只属于一个主体),"Subjects-w.-intra "表示至少有一个主体内重复的主体,"Inter "表示主体间重复(重复集中的所有图像属于多个主体),"Subjects-w.-inter "表示至少有一个主体间重复的主体。Subjects-w.-inter "代表至少有一个主体间重叠的主体。

LFW、TinyFace 和 Adience 各包含不到 20,000 张人脸图像;CASIA-WebFace 和 C-MS-Celeb 分别包含 494,414 和 6,464,016 张人脸图像;只有 LFW 有极少量的重复;CASIA-WebFace 和 C-MS-Celeb 包含超过 20,000 张人脸图像。TinyFace 还包含 153428 张非人脸图像,本文不考虑这些图像。CASIA-WebFace 中重复图像的绝对数量高于较小的数据集,但重复图像占人脸图像总数的比例相对较低。(不包括 LFW)。

C-MS-Celeb 是 MS-Celeb1M 的子集,带有干净的主题标签。本文使用的是 ALIGNED 版本。在所研究的所有数据集中,该数据集的重复绝对数最高,相对于人脸图像总数的重复比例也最高。在该数据集中,有 33918 张主体间重复图像同时也是主体内重复图像。因此,属于某些重复集的图像总数为 885 476 张。这种主体内/主体间重复的重叠现象在其他数据集中并不存在,因此每个数据集的总数量只是主体内和主体间数量的总和

重复检测方法可用于识别单个数据集内部以及多个数据集之间的重复数据。这种方法可以消除从不同来源收集的数据集之间的无意重复。在使用预处理图像时,数据集之间发现了新的重复数据,这些重复数据被人工识别为真阳性数据(主要是 CASIA-WebFace 和 C-MS-Celeb 之间的重复数据,在其他地方也有发现)。

3. 删除重复数据的方法

本节介绍如何从数据集中有效识别和删除重复图像。第一种方法是从重复图像集中选择并存储具有代表性的图像。这样既能消除不必要的重复,又能保留数据集中的重要信息。从包含完全相同图像的集合中选择第一张图像,按词典顺序而不是随机排序,可确保可重复性。

如果在不同类别之间发现重复图像,则通过更复杂的程序将图像重新分配到相应类别。重复的图像会与所有相关类别中不重叠的图像进行比较,然后分配到相似度最高的类别中。但是,如果平均相似度得分较低或候选类别之间的得分差距较小,则会将图像从数据集中排除,以避免错误分配。

它还能纠正误报。用于检测近似图像的图像散列技术可能会错误地将不同图像视为重复图像。为了纠正这种误报,需要使用人脸识别技术来识别实际不同的图像,并将其排除在外。这一步骤可过滤掉相似度得分低于一定阈值的图像对,从而减少误报。

纠正误报后,再次根据质量得分对图像进行排序。在此,质量得分最高的图像被选为重复图像集的代表。无法计算质量分数的图像会自动排在列表的底部,优先处理已计算分数的图像。

4. 试验

在此,我们将研究去重复如何改变人脸识别模型。人脸识别需要选择匹配和不匹配的人脸图像对。

对于配对,一种方法是为每个受试者选择所有可能的配对。然而,对于数据集中图像数量相对较多的目标,这种方法会大大增加配对的数量(一个有 N 幅图像的目标会产生 (N-(N-1))/2 对配对,每幅图像会产生 N-1 对配对)。对)。

不过,由于这些实验的目的是比较有无重叠数据集的结果,因此每幅图像的匹配对数量最好保持平衡。因此,本文为数据集中的每个对象 "循环 "选择匹配对。简单地说,就是索引 i 处的图像与下一个索引 i+1 处的图像形成匹配对。如果目标有多幅图像,最后一幅图像也会与第一幅图像配对。

因此,有两幅或两幅以上图像的目标将有与图像数量相等的匹配对,而正好有两幅图像的目标将有一幅匹配对。至于图像的顺序,则按图像路径的词典顺序升序排列。这种 "循环 "选择匹配对的方法可以用相对较少的计算资源来实现。

以下是每个数据集的配对数量,以及由于只包含单幅图像而被排除在外的目标数量。

  • TinyFace:11 881 人(153 人被排除在外)。
  • 人数:18 093 人(815 人不包括在内)
  • CASIA-WebFace:494 284(不包括目标 0)
  • C-MS-Celeb:6 457 562 人(123 人被排除在外)

对于每个数据集,随机抽取与匹配数据对数量相等的非匹配数据对。MagFace 模型用于人脸识别。然后使用相似性分数来评估人脸识别的错误非匹配率 (FNMR)、错误匹配率 (FMR) 和相等错误率 (EER) 的性能。

下表显示了结果。可以看出,有重复和无重复的变体之间主要存在微小差异,在不同情况下,去除重复的变体会增加或减少错误率。

5.总结

本文介绍了一种基于哈希函数的重复人脸图像检测方法。它还提出了如何在预处理过的人脸图像和原始图像上使用这一方法。利用这些方法,我们检测了通过网络搜刮收集的五个具有代表性的人脸图像数据集的重复图像。

除 LFW 数据集外,每个数据集中都有超过 1%的图像被认为是重复图像,从数百到数十万不等。大多数重复图像属于一个数据集目标(目标内重复),但也有一些,尤其是在 C-MS-Celeb 数据集中,属于多个目标(目标间重复)。

它还展示了如何从数据集中有效识别和删除重复图像。本研究提出了减少假阳性重复图像、为每个重复图像集选择最高质量的人脸图像以及将去重复人脸图像分配给目标间重复图像集中最适合的目标(如果不确定,则不分配)等建议。它还显示了去重在人脸识别模型中的影响。

如本文所示,典型的人脸识别人脸图像数据集包含大量重复图像,这一事实表明,网络抓取的人脸图像数据集出现重复图像的风险很高,今后在构建数据集时应考虑实施重复图像过滤器。

请注意,本文所涉及的五个数据集的重复数据集可在 GitHub 上获取。
https://github.com/dasec/dataset-duplicates

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/652521.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

有趣的css - 双开门按钮

大家好,我是 Just,这里是「设计师工作日常」,今天分享的是一个双开门的按钮,交互效果比较强,但是实现很简单,快学起来吧。 最新文章通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码cs…

充电宝哪家好用推荐?买什么充电宝性价比高?2024年充电宝排行榜

说实话,我其实是个手机重度使用者,买过的充电宝也有无数款了,每次手机没电的时候插座都离得不是特别近,不是要下床充电就是要固定在一个位置充电感觉怪麻烦的,但是有了充电宝后可以在床上玩手机都不用担心手机没电&…

惯性测量单元M-G366PDG提供低误差系数的解决方案

人形机器人、自动驾驶的快速发展,促成了惯性测量单元(IMU)的爆火市场。据相关研究报告统计,IMU全球市场规模从2018年的99.94亿美元增加至2021年的135.95亿美元预计2027年将达到222.53亿美元,2021年至2027年复合增长率达8.56%。而由于智能技术…

VUE3+TS+elementplus创建table,纯前端的table

一、前言 开始学习前端,直接从VUE3开始,从简单的创建表格开始。因为自己不是专业的程序员,编程主要是为了辅助自己的工作,提高工作效率,VUE的基础知识并不牢固,主要是为了快速上手,能够做出一些…

免费,Python蓝桥杯等级考试真题--第13级(含答案解析和代码)

Python蓝桥杯等级考试真题–第13级 一、 选择题 答案:C 解析:正向下标由0开始,下标3代表第四个元素,故答案为C。 答案:A 解析:range(0,4)的取前不取后,元组的符号是小括…

AI大模型在测试中的深度应用与实践案例

文章目录 1. 示例项目背景2. 环境准备3. 代码实现3.1. 自动生成测试用例3.2. 自动化测试脚本3.3. 性能测试3.4. 结果分析 4. 进一步深入4.1. 集成CI/CD管道4.1.1 Jenkins示例 4.2. 详细的负载测试和性能监控4.2.1 Locust示例 4.3. 测试结果分析与报告 5. 进一步集成和优化5.1. …

Transformer模型的简单学习

前言 Transformer 来源于一篇论文:Attention is all you need TRM在做一件什么事情呢?其实一开始它是被用于机器翻译的: 更详细的: 更详细的: 从上图可以看出,一个Encoders 下面包含了 n 个 Encoder&…

triton之paged attention

一 原理 图解大模型计算加速系列之:vLLM核心技术PagedAttention原理 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/691038809 二 源码分析 1 测试参数设置 test_paged_attention(num_seqs32,num_heads(64, 64),head_size64,block_size16,dtypetorch.float16,…

【ARM+Codesys案例】RK3568 +Codesys 软PLC方案在电镀生产线的应用

1 电镀生产简介 电镀是一种比较重要的工艺,产品经过电镀工艺处理后,不仅产品质量获得提高,产品性能也会大幅度提高,同时延长了产品的使用时间。电镀生产线是指按一定的电镀生产工艺要求,将有关的各种电镀处理槽、电镀行车运动装置…

ubuntu移动硬盘重命名

因为在ubuntu上移动硬盘的名字是中文的,所以想要改成英文的。 我的方法: 将移动硬盘插到windows上,直接右键重命名。再插到ubuntu上名字就改变了。 别人的方法: ubuntu下如何修改U盘名字-腾讯云开发者社区-腾讯云 在自带的软件…

安卓获取内部存储信息

目录 前言获取存储容量 前言 原生系统设置里的存储容量到底是怎么计算的,跟踪源码,涉及到VolumeInfo、StorageManagerVolumeProvider、PrivateStorageInfo、StorageStatsManager......等等,java上层没有办法使用简单的api获取到吗&#xff1f…

力扣239. 滑动窗口最大值

Problem: 239. 滑动窗口最大值 文章目录 题目描述思路复杂度Code 题目描述 思路 1.编写实现优先队列类: 1.1.实现push(int n):将元素n添加到队列尾,同时将n前面大于n的元素删除 1.2.实现int max():将队列头元素取出(由于实现了push所以此时队…

「光储充放」一体充电站-一文读懂光储充放充电站

“光储充放”一体充电站作为一种储能充电的新形式渐渐走进人们的生活,全国很多地区都开始陆续投放运营“光储充放”一体充电站,今天的这篇文章,就带大家全面了解“光储充放”这一新型充电站。 头图来源 | 视觉中国 01 政策背景 早在2020年…

AI大模型实现德语口语练习

利用AI大模型实现德语口语练习的应用需要整合多种技术和资源,以确保学生能够获得全面、互动和有效的学习体验。以下是实现德语口语练习应用的详细流程和技术要点。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 实现流程 …

人脸防欺骗——基于皮肤斑块的快速安全的生物识别实现人脸识别防欺骗方法

1. 概述 深度学习的进步促使面部识别技术在许多领域得到应用,例如在线身份验证(eKYC)和电子设备的安全登录。面部识别是一种生物识别技术,对安全性要求很高。近年来,为了提高人脸识别技术的可靠性,人们引入…

12.Redis之补充类型渐进式遍历

1.stream 官方文档的意思, 就是 stream 类型就可以用来模拟实现这种事件传播的机制~~stream 就是一个队列(阻塞队列)redis 作为一个消息队列的重要支撑属于是 List blpop/brpop 升级版本.用于做消息队列 2.geospatial 用来存储坐标 (经纬度)存储一些点之后,就可以让用户给定…

boot项目中定时任务quartz

最近换项目组,发现项目中定时任务使用的是quartz框架,上一篇文章[springboot定时任务]也是使用的quartz,只不过实现方式不同,于是整理下 定时任务常用方法有Quartz,Spring自带的Schedule框架 Quartz基础知识 quartz…

深圳比创达EMC|EMI电磁干扰行业:行业发展的关键与挑战

在当今的高科技时代,电子产品无处不在,它们为我们的生活带来了极大的便利。然而,随着电子设备的普及和集成度的提高,电磁干扰(EMI)问题也日益凸显。 一、EMI电磁干扰行业:无处不在的挑战 电磁…

【全开源】宇鹿家政系统(FastAdmin+ThinkPHP+原生微信小程序)

:助力家政行业数字化升级 一、引言:家政服务的新篇章 随着移动互联网的普及和人们生活水平的提高,家政服务的需求日益增长。为了满足这一市场需求,并推动家政行业的数字化升级,我们特别推出了家政小程序系统源码。这…

不聚焦情绪,不精神内耗:成长的自我修炼

在我们的人生旅途中,总会遇到各种各样的困境和挑战。如何在逆境中保持积极的心态,专注于个人成长,是每一个人都需要面对和思考的问题。这篇文章将探讨如何不抱怨、不指责、不聚焦情绪、不精神内耗,专注于解决困境和个人成长。 问…