首页> 中国专利> 一种课堂面部数据集的构建方法及系统

一种课堂面部数据集的构建方法及系统

摘要

本发明一种课堂面部数据集的构建方法及系统,属于图像处理技术领域;所述构建方法包括构建能表明受试者唯一身份的身份标签列表,并确定受试者的基准面部图像;逐帧截取课堂监控视频画面,将同一受试者图像存储到以受试者身份标签命名的文件夹中;使用OpenCV、SSD等五个面部检测算法检测面部图像并保存;对同一文件夹中的图像做数据增强;使用训练好的DeepFace模型提取面部特征向量;基于面部特征向量,使用Density Peak Clustering聚类算法去除低质量的数据样本;对过滤后的数据进行清洗,得到所述课堂面部数据集。本发明提出的课堂面部数据集构建方法能够得到高质量的大规模数据集,同时能够有效提升面部识别模型的识别精度。

著录项

  • 公开/公告号CN116665283A

    专利类型发明专利

  • 公开/公告日2023-08-29

    原文格式PDF

  • 申请/专利权人 长春大学;

    申请/专利号CN202310946032.X

  • 申请日2023-07-31

  • 分类号G06V40/16(2022.01);G06N3/0464(2023.01);G06N3/08(2023.01);G06V10/762(2022.01);G06V10/774(2022.01);G06V10/82(2022.01);

  • 代理机构长春市吉利专利事务所(普通合伙) 22206;

  • 代理人石星星

  • 地址 130012 吉林省长春市卫星路6543号

  • 入库时间 2024-01-17 01:26:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-15

    实质审查的生效 IPC(主分类):G06V40/16 专利申请号:202310946032X 申请日:20230731

    实质审查的生效

  • 2023-08-29

    公开

    发明专利申请公布

说明书

技术领域

本发明属于图像处理技术领域,尤其涉及一种课堂面部数据集的构建方法及系统。

背景技术

大多数人脸数据集是在受控环境中收集的,人物坐在相机预定距离处,背景为中性背景。照明、室温、面部表情和姿势都是预先确定的。然而,在真实世界的环境中,人脸数量、背景环境、遮挡、光照、尺度和姿势等因素在图像之间变化很大。同时,大多数人脸数据集都是在欧洲地区收集的,在非受控环境下的亚洲人脸识别领域仍然是一个被忽视的部分。

随着人工智能的发展,AI逐渐应用于各种环境,学校也可以通过AI进行智能管理。近年来涌现了许多优秀的人脸识别模型和高质量的数据集,尽管在受控环境下采集的人脸图像识别效果较好,但在教室环境下采集的人脸图像识别效果仍然不高。由于教室中相机位置的不规则性以及相机捕捉过程中的许多变量,包括相机捕捉角度、人脸大小、姿势、表情、遮挡、年龄和光照等,所有这些因素都可能导致人脸识别困难。人脸识别的能力不仅取决于网络模型的架构,还取决于用于训练的数据集。目前用于训练最先进的人脸识别框架的大多数数据集局限于欧美人面孔或正面姿势,例如Annotated Thermal Faces in theWild Dataset (TFW),但这些数据集都没有专门设计用于亚洲人面孔。除了现有数据集中涉及的各种挑战之外,所提议的数据集的图像是在不均匀和不同的背景下拍摄的,这在大多数数据集中是缺少的。该数据集可在以下链接下载:https://github.com/Shensxf/Face-Dataset。

构建人脸数据集的常见方法包括:在实验室或摄影棚拍摄、在自然场景中拍摄、从互联网收集等。在实验室或摄影棚中拍摄的数据集,如Yale人脸数据库、AR人脸数据库,这种方法构建的数据集环境受到控制,无法反映真实的人脸识别场景。在自然场景中拍摄的数据集有Labeled Faces in the Wild (LFW)、CelebA等。这种方法可以收集更加真实的人脸数据,但控制条件较差,可能会受到光照、背景、姿势等因素的影响,数据质量可能会降低。从互联网收集的数据集包括VGG人脸数据集、MS-Celeb-1M、FaceForensics++等,这种方法可以收集大量的人脸数据,但数据质量不均,存在明显的数据偏差,需要更多的工作来过滤和清理收集到的数据集。

发明内容

本发明目的在于提供一种课堂面部数据集的构建方法及系统,以解决人脸识别领域中缺乏中国人面部数据集以及缺乏真实糟糕背景因素的技术问题。

为实现上述目的,本发明的一种课堂面部数据集的构建方法及系统的具体技术方案如下:

一种课堂面部数据集的构建方法,包括以下步骤:

步骤S1、创建能够表明唯一人物身份信息的身份标签列表,并确定各人物的基准面部图像;

步骤S2、从课堂监控视频中,按帧截图图像,建立图像数据集;

步骤S3、根据按帧截取的图像,手动将同一身份标签的人脸图像存储在同一文件夹中;

步骤S4、对同一文件夹中的人脸图像使用人脸检测算法进行人脸检测及裁剪,并将检测到的面部图像保存,通过该方法初次扩大数据样本量;

步骤S5、对面部图像进行数据增强,包括翻转、旋转、缩放、像素平移、随机裁剪、添加噪声像素、调整亮度、扭曲图像等操作,用于对数据样本量进行再次扩大;

步骤S6、使用训练好的DeepFace人脸识别模型对裁剪好的人脸图像进行特征向量提取;

步骤S7、基于所述步骤S6中的 DeepFace模型提取的特征向量,使用Density PeakClustering聚类算法对同一文件夹中的人脸图像进行聚类,通过聚类结果过滤掉低质量的面部图像;

步骤S8、对过滤后得到的面部图像进行数据清洗,获得课堂面部数据集。

进一步,所述步骤S1中的身份标签包括人物姓名,以人物姓名创建身份标签列表时,对同一人物的学号和姓名进行姓名合并。

进一步,所述步骤S3中从视频帧截取图像时,应一帧截取一张图像;含有同一身份标签的面部图像手动存储在以人物学号姓名命名的文件夹中,同一受试者至少保存一百张含有面部区域的图像。

进一步,所述步骤S4中的人脸检测算法包括OpenCV或SSD或DLib或MTCNN或Mediapipe或Retinaface算法。

进一步,所述步骤S7中采用Density Peak Clustering聚类算法对人脸图像进行聚类具体包括以下步骤:

步骤S7-1、从人脸图像中提取特征向量,在同一受试者身份标签命名的文件夹中,使用DeepFace人脸识别模型提取面部图像的特征向量,并将特征向量保存到文件中,关键代码如下:

result = DeepFace.represent(image, model=model)

feature_vector = result['representations'][0, :];

步骤S7-2、使用DeepFace模型获得面部图像特征的余弦距离和欧式距离,将两个距离取平均值作为计算距离;

步骤S7-3、通过设置 eps 和 min_samples 参数来控制聚类的精度和密度,关键代码如下:

db = DBSCAN(eps=0.5, min_samples=5).fit(features);

根据计算距离的结果计算密度,形成一个密度估计值,密度定义为在指定距离阈值内的数据点数量;

步骤S7-4、根据计算得到的密度估计值,选择具有较高密度的数据点作为密度峰点;

步骤S7-5、对于每个密度峰点,根据其邻近样本的密度和距离关系,将其分配给不同的聚类簇,如果两张人脸图像的特征向量被分配到相同的密度峰点所代表的聚类簇中,则归为一类。

进一步,所述步骤S5中的数据增强包括以下步骤:

步骤S5-1、将图像水平或垂直翻转,生成镜像样本,以增加数据集的多样性;

步骤S5-2、以不同角度旋转图像,如顺时针或逆时针旋转一定角度,以模拟人脸在不同朝向的情况;

步骤S5-3、通过放大或缩小图像,模拟远近距离的效果,增加数据集的丰富性;

步骤S5-4、对图像进行平移,以模拟人脸在图像中的位置变化;

步骤S5-5、随机裁剪图像的一部分或按照特定比例裁剪,以模拟不同的视野或局部信息;

步骤S5-6、向图像中添加随机噪声,如高斯噪声或椒盐噪声,以增强模型对噪声的鲁棒性;

步骤S5-7、改变图像的亮度、对比度和色彩饱和度等参数,生成不同光照条件下的样本;

步骤S5-8、应用平移、旋转、缩放和错切等变换来扭曲图像形状,以增加数据集的多样性。

进一步,所述步骤S8中的数据清洗包括去除图像中含其他受试者的图像、图像中存在严重曝光的图像、含受试者面部但小于1/3面部的图像。

本发明还提供了一种课堂面部数据集的构建系统,包括:

身份模块:用于构建能表明学生唯一身份信息的身份标签列表,身份标签包括学号和姓名;

截取模块:用于根据监控视频按帧截取图像,并根据身份标签将截取到的图像存储在同一文件夹中;

面部检测及对齐模块:在同一文件夹内,使用人脸检测算法对图像中的面部区域检测并对齐;

特征提取模块:用于使用训练好的DeepFace人脸识别模块对面部图像进行特征提取,得到面部特征向量;

聚类模块:用于所提取的面部特征向量,使用Density Peak Clustering聚类算法对面部图像进行聚类,去除低质量的面部图像;

增强模块:用于对面部图像进行数据增强,改善图像的质量,增加图像样本的多样性,由此获取所属课堂面部数据集。

本发明的一种课堂面部数据集的构建方法及系统具有以下优点:利用本发明方法或系统构建的面部数据集训练人脸识别模型,DeepFace在不使用本发明提出的数据集识别课堂面部图像的准确率低于70%,使用本方法创建的数据集能够有效提升模型的识别精度,提高模型的鲁棒性。

附图说明

图1为本发明实施例提供的一种课堂面部数据集的构建方法流程图。

图2为实施例1中从数据集中随机选择了16张图片进行展示。被拍摄对象包括小学、中学、高中和大学的学生,这些图片在性质上是多样的,包括光照变化、角度差异、有遮挡以及戴眼镜的被拍摄对象等(为避免侵犯个人肖像权,图2进行了打码处理)。

图3为实施例1中统计数据的特征统计图((a)显示了数据集中男性和女性所占比例的统计情况,(b)显示了数据集中女性特征的统计情况,(c)显示了数据集中男性特征的统计情况)。

具体实施方式

为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种课堂面部数据集的构建方法及系统做进一步详细的描述。

由于教室监控摄像头的位置不固定,通过监控视频捕捉到的人脸角度也不同。基于深度学习的人脸验证模型在受控环境中取得了良好的结果,但在非受控环境下的人脸验证能力仍有很大的改进空间。模型的性能不仅取决于网络的结果,还取决于数据集的质量和多样性。目前在非受控环境中的亚洲人脸数据集不足,因此,本发明在非受控的教室环境中构建了一个中国人脸数据集(UCEC-Face),该数据集由35个真实的教室监控视频收集而成。UCEU-Dataset包含130位受试者的7395张图像,其中包括44名男性和86名女性。为了验证现有人脸验证模型在亚洲人脸验证方面仍有改进的空间,我们进一步利用OpenFace、ArcFace等四个模型进行人脸验证,以及利用VGG-Face模型对UCEC-Face进行性别、表情和年龄识别。实验结果表明,本发明构建的UCEC-Face更具挑战性,在人脸验证任务中更难进行验证,因为它更接近真实环境,而现有模型在该数据集上取得的最佳结果仅达到69.7%,远低于其他数据集识别结果的平均准确率。

如图1所示,本发明提出的课堂面部数据集的构建方法,能够构建一个大规模的课堂面部数据集,通过此面部数据集,可以用于开发各种情况下人脸识别模型、面部特征识别模型等,能够有效提升人脸识别模型的泛化性和鲁棒性,通过创建受试者的身份标签列表,可以根据受试者的特征进行面部图像的收集,使数据集样本分布更加均衡;使用面部检测算法对受试者面部区域进行检测并保存,可以得到更多可靠的数据样本,有效扩大数据量;使用不同的数据增强方法对数据集做进一步的样本扩大操作,增大数据量,能有效提供人脸识别模型的性能;使用训练好的DeepFace模型对面部图像进行面部特征向量的提取,并使用Density Peak Clustering聚类算法对面部图像进行聚类,去除低质量的数据样本,得到高质量的面部数据集。

一种课堂面部数据集的构建系统,可以用于实现实施例1方法,该系统可以有软件、硬件或软硬件结合的方式实现,该系统可以集成在终端,例如边缘设备、电脑、手机及平板等。所述课堂面部数据集的构建系统包括:

身份模块:用于构建能表明学生唯一身份信息的身份标签列表,身份标签包括学号和姓名;

截取模块:用于根据监控视频按帧截取图像,并根据身份标签将截取到的图像存储在同一文件夹中;

面部检测及对齐模块:在同一文件夹内,使用人脸检测算法对图像中的面部区域检测并对齐;

特征提取模块:用于使用训练好的DeepFace人脸识别模块对面部图像进行特征提取,得到面部特征向量;

聚类模块:用于所提取道德面部特征向量,使用Density Peak Clustering聚类算法对面部图像进行聚类,去除低质量的面部图像;

增强模块:用于对面部图像进行数据增强,改善图像的质量,增加图像样本的多样性,由此获取所属课堂面部数据集。

实施例1::

如图1所示,是本发明实施例提供的一种课堂面部数据集的构建方法流程图,需要说明的是,本流程图仅展示了本实施例所述方法的逻辑顺序。在不与本申请技术方案冲突的前提下,在本发明的其他实施例中,可以按照不同于图1所示的顺序完成所描述或展示的步骤。

中国学生在无控制的教室环境中的面部数据集(UCEC-Face)是通过购买不同学校的教室监控视频获得的,我们对监控视频进行了筛选,得到了符合无控制环境条件的35个监控视频。在此基础上,进行了手动筛选和数据增强操作。所提出的数据集包含了不同姿势、光照、表情和场景的变化,使数据集符合无约束环境。所提出的数据集包括130位个体,其中包含44名男性和86名女性。UCEC-Face数据集仅供研究目的使用。数据集的一部分图像如图2所示。

学生们的课堂视频是通过https://so.vjshi.com/ 购买获得的。我们对35个合格的监控视频进行逐帧截图,这些视频包含学生的各种活动,如听、唱、写、说等。在逐帧截图后,我们获得了189,369张图像。其中一些图像是无效的,无效情况包括:截取图像中没有面部区域、严重遮挡、重复等。经过手动筛选去除这些无效图像后,我们对筛选后的图像进行数据增强,最终获得了7,395张图像。然后我们对这些图像进行分类,最终分类出130个主题,一个主题的图像最多包含85张图像,最少包含25张图像,其中69.2%的主题包含60张人脸图像(有关统计数据请参见图3)。表1显示了所提议数据集中包含的一些特征。接下来,我们将介绍在所提议的人脸数据集上进行的实验。

表1:该数据集的特征总结如下:男性图像中,48%是正面图像,52%是非正面图像;所有图像都存在光照变化;25%的主题戴眼镜;16%的图像存在面部遮挡。女性图像中,30%是正面图像,70%是非正面图像;所有图像都存在光照变化;24%的主题戴眼镜;37%的图像存在面部遮挡。

表1

参考图1,一种课堂面部数据集的构建方法,包括以下步骤:

步骤S1:创建受试者的身份标签列表,并确定各个受试者的一张基准面部图像;所述身份标签指受试者所在班级的学号和姓名。

用于训练人脸识别模型的数据集,需要大量的受控环境和非受控环境的数据样本。受控环境的数据样本是指受试者面部图像的拍摄环境是可控的,不包含一些变化,例如光线、遮挡、亮度等。非受控环境的数据样本是指受试者面部图像的拍摄环境是基于真实环境下拍摄的,包含光线、遮挡、亮度等变化。本发明实施例采用课堂监控视频逐帧截取的方式进行面部图像采集,所获得的课堂面部数据集更接近真实环境,能够提升人脸识别模型的泛化性和鲁棒性。本发明实施例选择学生作为课堂面部数据集的受试者,对于学生,通常可以根据学生的学号和姓名确定其唯一身份,因此,在本发明实施例中,使用学号和姓名作为受试者的身份标签。

步骤S2、从课堂监控视频中,按帧截图图像,建立图像数据集。

步骤S3、根据按帧截取的图像,手动将同一身份标签的人脸图像存储在同一文件夹中。

步骤S4:对同一文件夹中的人脸图像,分别使用OpenCV、SSD、DLib、MTCNN、Mediapipe或Retinaface算法对图像中的面部区域进行检测,并将检测到的面部图像保存。

OpenCV是一个开源的计算机视觉库,提供了许多用于图像处理和计算机视觉任务的函数和工具,OpenCV提供了已经训练好的Haar级联分类器模型文件,可以通过cv2.CascadeClassifier类加载这些模型,可以用于从静态图像或视频中检测面部区域。

SSD(Single Shot MultiBox Detector)是一种目标检测算法,它通过在图像上应用一系列不同大小和宽高比的卷积滑动窗口,利用卷积神经网络来同时预测多个目标的边界框和类别。SSD算法在速度和准确性之间取得了良好的平衡,被广泛应用于实时目标检测任务。

DLib是一个机器学习工具包,其中包含了许多用于图像处理和计算机视觉任务的算法和工具。DLib中的人脸检测算法使用了基于HOG(Histogram of Oriented Gradients)特征和级联分类器的方法,能够高效地检测出图像中的人脸区域。

MTCNN(Multi-task Cascaded Convolutional Networks)是一种用于人脸检测和对齐的深度学习算法。它由三个级联的卷积神经网络组成,分别用于人脸区域的粗略检测、人脸区域的精确检测和人脸关键点的定位。

Mediapipe是Google开发的一个跨平台的机器学习框架,用于构建实时应用程序。它提供了一系列用于图像和视频处理的模块,包括人脸检测和关键点定位等功能,Mediapipe中的人脸检测模块基于SSD算法。

Retinaface是一种用于人脸检测和关键点定位的深度学习算法。它通过在不同尺度的图像金字塔上应用一系列卷积和回归操作,同时预测人脸区域的边界框、关键点位置和人脸的姿态。

需要注意的是,通常人脸检测的边界框会紧贴着人脸的边缘,这可能导致面部识别的其他特征超出了检测框的范围。因此,在本发明实施例中,可以将人脸检测框的长和宽同时扩大100像素,从而保留更多面部特征。

步骤S5、对面部图像进行数据增强,包括翻转、旋转、缩放、像素平移、随机裁剪、添加噪声像素、调整亮度、扭曲图像等操作;

所述步骤S5中的数据增强包括以下步骤:

步骤S5-1、将图像水平或垂直翻转,生成镜像样本;

步骤S5-2、以不同角度旋转图像,以模拟人脸在不同朝向的情况;

步骤S5-3、通过放大或缩小图像,模拟远近距离的效果;

步骤S5-4、对图像进行平移,以模拟人脸在图像中的位置变化;

步骤S5-5、随机裁剪图像的一部分或按照特定比例裁剪,以模拟不同的视野或局部信息;

步骤S5-6、向图像中添加随机噪声,如高斯噪声或椒盐噪声;

步骤S5-7、改变图像的亮度、对比度和色彩饱和度参数,生成不同光照条件下的样本;

步骤S5-8、应用平移、旋转、缩放和错切等变换来扭曲图像形状。

步骤S6、使用训练好的DeepFace人脸识别模型对裁剪好的人脸图像进行特征向量提取;

本发明实施例使用在GitHub上公开训练好的DeepFace模型对面部图像提取特征向量,DeepFace使用卷积神经网络来提取人脸区域的特征。通过将人脸图像输入到网络中,网络会经过一系列卷积、池化和全连接层等操作,最终得到一个固定长度的特征向量。为了使特征向量具有更好的可比性和鲁棒性,对提取到的特征向量进行归一化操作。

步骤S7、基于所述步骤S6中的 DeepFace模型提取的特征向量,使用Density PeakClustering聚类算法对同一文件夹中的人脸图像进行聚类,通过聚类结果过滤掉低质量的面部图像;

所述步骤S7中采用Density Peak Clustering聚类算法对人脸图像进行聚类具体包括以下步骤:

步骤S7-1、从人脸图像中提取特征向量,在同一受试者身份标签命名的文件夹中,使用DeepFace人脸识别模型提取面部图像的特征向量,并将特征向量保存到文件中;

步骤S7-2、使用DeepFace模型获得面部图像特征的余弦距离和欧式距离,将两个距离取平均值作为计算距离;

步骤S7-3、通过设置 eps 和 min_samples 参数来控制聚类的精度和密度,并根据计算距离的结果计算密度,形成一个密度估计值,密度定义为在指定距离阈值内的数据点数量;

步骤S7-4、根据计算得到的密度估计值,选择具有较高密度的数据点作为密度峰点;

步骤S7-5、对于每个密度峰点,根据其邻近样本的密度和距离关系,将其分配给不同的聚类簇,如果两张人脸图像的特征向量被分配到相同的密度峰点所代表的聚类簇中,则归为一类;

步骤S8、对过滤后得到的面部图像进行数据清洗,获得课堂面部数据集。

本发明提出的课堂面部数据集的构建方法,能够构建一个大规模的课堂面部数据集,通过此面部数据集,可以用于开发各种情况下人脸识别模型、面部特征识别模型等,能够有效提升人脸识别模型的泛化性和鲁棒性,通过创建受试者的身份标签列表,可以根据受试者的特征进行面部图像的收集,使数据集样本分布更加均衡;使用面部检测算法对受试者面部区域进行检测并保存,可以得到更多可靠的数据样本,有效扩大数据量;使用不同的数据增强方法对数据集做进一步的样本扩大操作,增大数据量,能有效提供人脸识别模型的性能;使用训练好的DeepFace模型对面部图像进行面部特征向量的提取,并使用Density Peak Clustering聚类算法对面部图像进行聚类,去除低质量的数据样本,得到高质量的面部数据集。

为了验证通过本发明提出的方法构建的数据集能够提升DeepFace模型的识别精度,分别使用AT&T数据集、CASIA数据集、CELAB数据集、MFace数据集及基于本发明构建的UCEC-Face数据集测试DeepFace模型的识别精度,得到的识别精度分别为:65.3%、56.8%、60.4%、68.3%、27.2%,由于AT&T数据集、CASIA数据集、CELAB数据集、MFace数据集都是在受控环境下收集的,而UCEC-Face是基于本发明在非受控环境下收集的数据集,因此可以得出使用所述发明构建的数据集对模型进行训练,能够有效提升模型的识别精度,提高模型的鲁棒性。

可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号