一种大规模人脸数据集的双阶段噪声清洗方法转让专利
申请号 : CN202111061863.6
文献号 : CN113505120B
文献日 : 2021-12-21
发明人 : 龚勋 , 陈锐 , 吴世杰
申请人 : 西南交通大学
摘要 :
权利要求 :
1.一种大规模人脸数据集的双阶段噪声清洗方法,其特征在于,包括如下步骤:S1、构建初始人脸数据集D1;
S2、检测数据集D1中的闭集噪声样本及对应的真实类别,输出含有闭集噪声的闭集噪声list文件;
S3、完成闭集噪声的重利用,生成数据集D2;
S4、将数据集D2作为输入继续进行训练,输出含有开集噪声的开集噪声list文件;
S5、根据步骤S4中的开集噪声list文件将数据集D2中的开集噪声进行删除,最终生成清洗后的干净数据集;
所述步骤S2中检测数据集D1中的闭集噪声样本及对应的真实类别具体是:将数据集D1输入到ResNet50网络中并进行训练,利用BoundaryF1 Loss函数对闭集噪声进行检测;
所述步骤S3中的完成闭集噪声的重利用,生成数据集D2,具体是:根据步骤S2输出的闭集噪声list文件,在数据集D1中将闭集噪声样本移动至对应的类别目录内,完成闭集噪声的重利用,并生成数据集D2;
所述步骤S4中输出含有开集噪声的开集噪声list文件具体是:将数据集D2输入到ResNet50网络中继续进行训练,使用NoiseDropLoss损失函数训练,训练过程中保存下每个样本的特征层与权重中心层的向量积,令样本所属类对应的向量值为cosθ,使用一个固定大小的队列不断的保存最新的cosθ以及丢弃最后的cosθ,随着训练的进行,保存下最终的队列,通过高斯混合模型拟合这组数据,并将子模型的个数设为3,得到三个高斯分布的参数,将第二个高斯分布的均值作为判断的阈值,低于该阈值的样本视为开集噪声样本,输出为开集噪声list文件;
所述的BoundaryF1 Loss函数公式如下:where if max{cos(θl+m)for all l≠yi}‑cos(θyi)>0∶yi=l;
其中,N表示一个批次中样本的数量,i表示一个批次内的第i个样本,yi和j均表示某个样本标签的类别,且yi与该第i个样本的标签对应,n表示训练集的类别总数,s为缩放因子,l代表代表所有和i样本不同的类,m为惩罚项,θyi表示第i个样本的特征向量与第yi类的类中心特征向量之间的夹角;θj表示第i个样本的特征向量与第j类的类中心特征向量之间的夹角,在归一化后的超球面上体现为测地距离;
所述NoiseDropLoss损失函数如下:其中,L代表一个批次样本的损失函数,T是一个调制函数,基于d进行判断,对不同的样本分配不同的值。
2.根据权利要求1所述的大规模人脸数据集的双阶段噪声清洗方法,其特征在于:所述步骤S1的初始人脸数据集D1是已经标注标签、进行了人脸的检测和对齐后的数据集。
3.根据权利要求1所述的大规模人脸数据集的双阶段噪声清洗方法,其特征在于:所述的高斯混合模型的概率函数如下:
其中,x代表一次观测数据,θ代表模型的所有参数,k代表第k个子模型,K代表子模型的个数,αk代表观测数据属于第k个子模型的概率,φ(x|θk)代表第k个子模型的高斯分布密度函数。
说明书 :
一种大规模人脸数据集的双阶段噪声清洗方法
技术领域
背景技术
样本被打上了类B的标签;开集噪声样本,其本身不属于训练集中的任何一个类别,但也被
打上了训练集某个类的标签。
也不能完全消除噪声。噪声样本会严重损坏所训练模型的性能,因此,亟需一种能针对大规
模人脸数据噪声,提供有效、高识别率的清洗方法。
发明内容
样本,最终对闭集噪声样本进行重利用,对开集噪声样本从训练集进行删除,解决了上述背
景技术中提到的问题。
进行检测。
数, 为缩放因子,代表所有和 样本不同的类, 为惩罚项, 表示第 个样本的特征
向量与第 类的类中心特征向量之间的夹角; 表示第 个样本的特征向量与第 类的
类中心特征向量之间的夹角,在归一化后的超球面上体现为测地距离。
完成闭集噪声的重利用,并生成数据集D2。
存下每个样本的特征层与权重中心层的向量积,令样本所属类对应的向量值为 ,使
用一个固定大小的队列不断的保存最新的 以及丢弃最后的 ,随着训练的进
行,保存下最终的队列,通过高斯混合模型拟合这组数据,并将子模型的个数设为3,得到三
个高斯分布的参数,将第二个高斯分布的均值作为判断的阈值,低于该阈值的样本视为开
集噪声样本,输出为开集噪声list文件。
模型的高斯分布密度函数。
集进行删除,能提高对噪声的识别率,采用本发明方法清洗数据集后,训练出的模型的效果
相比未清洗数据集来说在lfw精度上也大大的提高了, 经统计可以正确识别出90%以上的
噪声,实现非常好的噪声识别效果。清洗后的数据集上的模型训练结果,也大大优于未清洗
的数据集上的训练结果,在常见的测试集, 如LFW,Age‑DB,cfp‑fp上都证明了这一点。
附图说明
具体实施方式
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
用,对开集噪声样本从训练集进行删除。
集,并且已经进行了人脸的检测和对齐,可以直接用来训练神经网络模型。虽然已经进行了
样本标签的标注,但是人脸数据集庞大,数据集中有很多噪声样本,会导致所训练模型的性
能降低,因此我们要对数据集进行噪声的清洗。本实施例中我们将其中的部分样本替换为
闭集噪声,部分噪声替换为开集噪声,使用ResNet50模型提取特征,进行了实验。
件。BoundaryF1 Loss的公式如下:
为缩放因子,代表所有和 样本不同的类, 为惩罚项, 表示第 个样本的特征向量
与第 类的类中心特征向量之间的夹角; 表示第 个样本的特征向量与第 类的类中
心特征向量之间的夹角,在归一化后的超球面上体现为测地距离。
噪声本身处于目录1,属于第1类,但我们检测到他应该属于第n个类别,我们则将他移动至
第n个目录(list文件中保存的为监测到的闭集噪声样本所在的绝对路径和其对应的类
别)),完成闭集噪声的重利用,生成数据集D2。闭集噪声我们将其移动到其真实对应的类别
所在的目录内,并没有对其进行删除,所以能更好地将其利用起来用于训练模型,我们将该
部分闭集噪声处理的方法称为闭集噪声的重利用。
属类对应的向量值为 。使用一个固定大小的队列不断的保存最新的 以及丢弃
最后的 。随着训练的进行,保存下的队列q将反应出训练的状态。如果将队列画成直
方图,直方图将会呈现出两个峰。此时通过高斯混合模型拟合这组数据,并将子模型的个数
设为3,会得到三个高斯分布的参数。高斯混合模型的概率函数如下:
型的高斯分布密度函数。
提高数据集的训练效果。
现开集98以上的噪声识别率。清洗数据集后,训练出的模型的效果相比未清洗数据集来说
在lfw上提高了1~2个百分点,在其他数据集例如Age DB,CFP‑FP,CALFW,CPLFW,SLLFW上面
能有2~8个百分点。
同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本
发明的保护范围之内。