本发明涉及计算机技术领域,特别涉及一种基于深度学习人脸识别的照片管理方法和系统。
背景技术:
模式识别是计算机视觉的一个重要领域,目前在该领域已经取得长足的进步和发展,其中人脸识别更是可以为我们的生活提供便利,提高我们的生活质量。目前,在人脸识别方面已经有多项发明专利,但这些专利很多都是采用传统的识别方法,即通过如提取几何特征、基于模板识别、基于模型识别等。主流的算法有特征脸等。这些算法的共同特点都是先人工定义特征,然后进行训练与学习,最后生成一个可以识别人脸的模型。但这种传统的提取图像特征方法,是由特征来决定方法最终的识别准确度,但好的特征是需要有很好的先验知识和设计经验,在实际系统开发中很难设计出最优的具有区分度的特征。并且传统的提取图像特征方法计算量非常大,且目前为止效果并不是很理想。
卷积神经网络是近年发展起来,并已经被广泛应用在许多图像分类问题的一种深度学习方法。卷积神经网络与传统的人脸识别方法不同,它是通过直接作用于输入样本,用样本来训练网络并最终实现分类任务的。它是非参数型的人脸识别方法,可以省去传统方法中建模、参数估计以及参数检验、重建模型等的一系列复杂过程。
随着生活水平和相机技术的提高,越来越多的人喜欢用拍照的方式记录自己的日常生活、外出活动时的美好瞬间。然而,在整理照片的时候,手动整理照片则是一件非常繁琐而枯燥的事情,因此人脸识别在这个场景可以为我们带来极大便利。设计一种能根据人物对照片进行自动分类管理的方法和系统,会为人们提供很好的体验并且提高整理照片的效率。由于一般对照片进行整理时,照片数量都较大,所以要求照片管理的系统具有准确分类效果的同时,还要有较高的处理速度。
技术实现要素:
本发明的目的在于提供一种基于深度学习人脸识别的照片管理方法和系统,能够快速准确地将众多的人物照片根据人脸识别的结果进行分类管理,节省用户整理照片的时间。
本发明解决其技术问题所采用的技术方案是:
构造一种基于深度学习人脸识别的照片管理方法,其中,包括步骤:
S1、在服务器上进行人脸识别模型的训练:
S1.1、采集用于训练的人物照片并根据不同人物进行分类;
S1.2、对S1.1采集到的人物照片进行人脸检测得到直接训练数据;
S1.3、利用深度学习方法对S1.2得到的直接训练数据进行训练得到人脸识别模型;
S2 在PC主机上进行人物照片自动归类管理:
S2.1、在PC主机上收集待分类照片;
S2.2、将S1.1中收集的待分类照片发送到服务器中;
S2.3、服务器利用S1.3中训练好的识别模型对接收到的照片进行逐张分类并向PC主机返回其对应的标签;
S2.4、PC主机根据收到的服务器返回的标签将待分类照片归档入不同文件夹中。
本发明所述的方法,其中,所述步骤S1.1所述用于训练的人物照片包括多个不同人物,同一人物具有多张照片并且具有相同的类标签。
本发明所述的方法,其中,所述步骤S1.2所述人脸检测只保存仅包含一张人脸的照片作为直接训练数据;所述作为直接训练数据的照片为只包括脸部区域的照片。
本发明所述的方法,其中,所述步骤S1.3进一步具体为通过卷积神经网络的深度学习模型进行训练得到人脸识别模型,所述人脸识别模型的输出层类别数与所述训练数据的类别数相同。
本发明所述的方法,其中,所述步骤S2.1所述待分类照片的场景中可能不包括人物,也可能包括存在于训练数据中的人物。所述步骤S2.2所述服务器为步骤S1中训练人脸识别模型的服务器。
本发明所述的方法,其中,所述步骤S2.3包括:
S2.3.1、服务器对接收到的每张照片进行人脸检测,如果只检测到一张人脸,则进行步骤S2.3.2;如果检测到多张人脸或未检测到人脸,则将当前照片标记“未知”标签并返回给PC主机;
S2.3.2、将检测到的人脸区域照片作为步骤S1.3训练得到的人脸识别模型的输入进行分类,得到输出标签并返回给PC主机。
S2.3.3、将检测到的人脸区域照片作为步骤S1.3训练得到的人脸识别模型的输入进行分类,得到输出标签并返回给PC主机。
本发明所述的方法,其中,所述步骤S2.4所述不同文件夹为只包含同一人物照片的文件夹。
本发明还提供了一种基于深度学习人脸识别的照片管理系统,其中,包括以下模块:
照片获取模块,得到用于归档的待分类照片;
照片显示模块,用于显示获取的待分类照片;
发送模块,用于将照片从PC主机发送到服务器;
照片分类模块,服务器将待分类照片进行分类;
照片归档模块,根据返回的标签将待分类照片进行归档。
本发明所述的系统,其中,所述照片获取模块进一步具体为:获取的待分类照片的场景中可能不包括人物,也可能包括存在于训练数据中的人物。
本发明所述的系统,其中,所述照片分类模块根据本发明所述的方法中的步骤S2.3述方法进行分类
本发明所述的系统,其中,所述照片归档模块进一步包括:
特定人物照片归档模块:根据系统的设定,只对返回的特定标签对应的照片进行选择归档;
多人物照片归档模块:根据系统的设定,对返回的人物标签中感兴趣的标签对应的照片进行归档。
与现有技术相比,本发明提供的方法和系统具有以下优点和有益效果:
(1)利用人脸识别技术对用户的照片根据人物进行归档管理,可以根据用户的选择挑选出指定人物的照片,极大方便用户对生活照片的管理,为用户提供较好的操作体验。
(2)对于人脸识别技术,本发明采用基于卷积神经网络的方法训练人脸数据,克服传统复杂的特征提取设计,并且具有自动特征学习能力,识别模型的泛化效果好,识别准确率高。而且本发明采用开源的Caffe网络框架,该框架具有模块化、速度快等优点,方便使用者对网络结构模型进行优化。
(3)本发明的训练过程在服务器上进行,这种离线训练模式,可以利用强大的服务器资源来节省训练时间,同时也降低系统在PC端所占用内存,便于迁移使用。
附图说明
图1为本发明实施例的基于深度学习人脸识别的照片管理方法在服务器上进行人脸识别模型训练的流程图。
图2为本发明实施例的基于深度学习人脸识别的照片管理方法在PC主机上进行人物照片自动归类管理的流程图。
图3为本发明实施例的基于深度学习人脸识别的照片管理系统的原理框图。
图4为图3中照片归档模块原理框图。
具体实施方式
下面将结合附图及实施例,对本发明进一步地详细说明,但本发明的实施方式不限于此。
本发明实施例提供的一种基于深度学习人脸识别的照片管理方法,包括以下步骤:
S1、在服务器上进行人脸识别模型的训练,如图1所示:
S1.1、采集用于训练的人物照片并根据不同人物进行分类;
采集的用于训练的人物照片包括多个不同人物,同一人物具有多张照片并且具有相同的类标签。本实施例从网上收集了100个亚洲明星的照片,并且对其分别定义了0到99的标签。每个明星有500张照片,我们使用350作为训练照片,150张作为测试照片,最终训练集有35000张照片,测试集有15000张照片;
S1.2、对步骤S1.1采集到的人物照片进行人脸检测得到直接训练数据;
进行人脸检测时,本实施例只保留仅包含一张人脸的照片中的脸部区域作为训练数据;
S1.3、利用深度学习模型对S1.2得到的直接训练数据进行训练得到人脸识别模型;
本实施例采用了卷积神经网络的深度学习模型进行人脸识别模型的训练,根据经典的CaffeNet网络结构模型来构建实施例的网络结构,并对网络结构进行微调,改变全连接层的卷积核数目以及网络的输出类别数目。对于网络结构的训练,本实施例采用开源的Caffe网络框架来训练卷积神经网络模型,具体参考文献(Caffe: Convolutional Architecture for Fast Feature Embedding.Jia, Yangqing and Shelhamer, Evan and Donahue, Jeff and Karayev, Sergey and Long, Jonathan and Girshick, Ross and Guadarrama, Sergio and Darrell, Trevor.2014),训练完成后,就得到了最终的最优网络结构模型,可供接下来的人脸分类工作使用;
S2、在PC主机上进行人物照片自动归类管理,如图2所示:
S2.1、在PC主机上收集待分类照片;其中,待分类照片的场景中可能不包含人物,也可能包含存在于训练数据中的人物。
S2.2、将S1.1中收集的待分类照片发送到服务器中;该服务器中保存有根据训练数据预先训练好的人脸分类的模型。
S2.3、服务器利用S1.3中训练好的识别模型对接收到的照片进行逐张分类并向PC主机返回其对应的标签;具体包括步骤:
S2.3.1、服务器对接收到的每张照片进行人脸检测,如果只检测到一张人脸,则进行步骤S2.3.2;如果检测到多张人脸或未检测到人脸,则将当前照片标记“未知”标签并返回给PC主机;
S2.3.3、将检测到的人脸区域照片作为步骤S1.3训练得到的人脸识别模型的输入进行分类,得到输出标签并返回给PC主机。
S2.4、PC主机根据收到的服务器返回的标签将待分类照片归档入不同文件夹中,每一个不同的文件夹中只包含同一人物的照片。
在本发明的另一实施例中,还提供了一种基于深度学习人脸识别的照片管理系统,如图3所示,包括以下模块:照片获取模块10,用于得到将要归档的待分类照片;照片显示模块20,用于查看选择的待分类照片;发送模块30,用于将照片从PC主机发送到服务器;照片分类模块40,服务器将待分类照片进行分类;照片归档模块50,根据返回的标签将待分类照片进行归档。
其中,所述照片获取模块进一步具体为:可选择一个文件夹的照片,也可根据用户需要选择指定数目的照片,并且获取的待分类照片的场景中可能不包括人物,也可能包括存在于训练数据中的人物。
所述照片分类模块根据前一实施例的步骤S2.3的方法进行分类。
所述照片归档模块50进一步包括:
特定人物照片归档模块51:根据系统的设定,只对返回的特定标签对应的照片进行选择归档;
多人物照片归档模块52:根据系统的设定,对返回的人物标签中感兴趣的标签对应的照片进行归档。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所做的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。