本发明涉及面部识别领域,特别是涉及车辆驾驶环境下的人员面部识别,并通过识别的人员信息调整该人员在车辆内的坐姿。
背景技术:
人脸识别:是基于人的脸部特征信息进行身份识别的一种生物识别技术。被广泛的应用于人类生活的各个方面。在车辆驾驶领域,因每人的性别、身高、体重等原因,不是一种驾驶或乘座的座椅调整位置是适用于每个人的。因此人们只能通过一些设置在车辆内部的按钮等装置调整座椅姿势,包括坐椅,后背靠垫的高度,坐椅的前后位置,后背靠垫的倾斜角度等;虽然现有的按钮等实现了人机交互友好,调整不需要使用太多的力气,甚至将调整控制装置集成在车辆的中控显示屏中,但因每次上车都需要调整,仍然会带来不便。现有技术中出现了坐椅记忆功能,车辆内人员可以预先调整好适合自己坐姿的坐椅、后背等的各参数,形成一参数组,车辆控制系统将该参数组存入程序之中。当该人员进入车内时,只需要选择适合自己坐姿的该参数组,车辆会自动调整到预先设置的参数位置。这一方式虽然极大的简化了调整步骤,但也存在缺点:1.可设置的人员数量有限,往往只能记忆几组人员信息;当有其他未设置参数组的人员在车辆上时,无法自动完成调整;2)仍然需要人员去选择适合自己的参数组选项,因此调整不便没有得到根本的转变。
现有技术中存在有神经网络分类器,对人脸图像进行识别认证的技术,借助神经网络机器识别车辆内的人员信息,从而能够对坐椅、靠背等的参数组进行调整,达到自动的,不需要人员选择的调整机构。这一技术的关键是神经网络分类器的识别准确度。为了提高其识别准确度,必须要提高训练的精度。现有技术中在采用神经网络进行训练过程的过程中,训练集一个人算是一类。在训练过程中,监督函数一般使用softmax或其改进算法。对于分类模型训练,占用显存主要是网络的分类器部分,而需要分类的类目数量越多,占用显存越多,故由于受到显存等硬件设备限制,使用softmax监督函数的方法无法训练类目为几十万的大分类模型。对此,提出一种新方法,使得利用softmax或其改进函数能训练大分类模型。
如图1所示,传统方法中,每块显卡共享同一数据输入和相同的分类器;一般在工业界,一个可以商用的人脸识别模型,往往是在上百万甚至是上千万人的训练集上的训练产物,但是,一般在单条显存为12g的显卡上,当特征向量维度为512维时,分类器的数量一般最大在30万左右,否则会面临显存溢出等问题。大训练集和显存限制成为了人脸识别模型训练中的主要矛盾。
技术实现要素:
鉴于此,为了解决了上述技术问题,本发明提供了一种利用神经网络的识别人员信息调整车辆人员坐姿的技术。该技术利用了神经网络对车辆内人员进行识别,极大的提高识别人的数量。利用神经网络进行人脸识别,通过人脸识别技术将目前进入车辆内的人员与预存的人员信息进行比对,根据比对结果,调取预存的结果对应的参数组,对坐椅的坐姿进行调整。此外,为了达到高速,较大程度的满足对比结果的正确性,则需要该神经网络能够满足识别准确度的更高要求,特别是在本发明的应用环境之中。本发明特别创新一种可解决车辆内人员人脸识别的神经网络识别技术,以满足该应用环境的需要。
本发明的一个方面,是提供一种车辆内人员坐姿调整系统,其包括有传感器激活单元,存储器单元,认证系统单元,座位调整单元等;所述传感器激活单元用于检测车辆内是否有人员位于座位上;所述存储器单元用于存储预存的多个车辆人员信息;所述认证系统单元用于把该人员的信息与所述存储器的多个车辆人员信息进行比对匹配;所述认证系统单元包括神经网络单元;所述神经网络单元包括数据输入层、特征融合层、分类器和损失函数;
所述数据输入层不停的遍历训练样本图像;
所述特征融合层提取每一张图的深度特征;
所述分类器对所述样本图像进行分类;
所述损失函数再依据分类结果和所述样本图像的真实标签作比对;
所述分类器包括多个分类器,不同的分类器对所述样本图像的不同内容进行分类;
所述神经网络单元还包括检测装置,用于检测所述系统中显卡的数量和大小,每个显卡训练不同的分类器,根据显卡的数量和大小,将所述样本图像分别分配给每个显卡;
所述座位调整单元根据认证系统单元输出的结果调整座位参数。
优选的,在训练过程中,不同的分类器之间不通信,不同分类器之间参数互不更新。
优选的,每块显卡分别建立存储模型。
优选的,每块显卡的输入数据有所交叠,所述显卡的输入数据包括所述样本图像及所述样本图像的真实标签。
优选的,所述特征融合层为特征提取单元。
优选的,所述检测车辆是否有人通过位于所述座位的重量传感器实现。
优选的,所述车辆人员信息包括预先输入的坐椅前后位置坐标,靠背倾斜角度等,由所述坐椅前后位置,靠背倾斜角度作为所述座位参数。
本发明的另一方面,提供一种车辆内人员坐姿调整方法,该识别方法使用了前述的技术方案中任一项所述的车辆内人员坐姿调整系统。
本发明的发明点包括但不限于以下几点:
(1)不同的分类器对应不同的数据,有效解决了在训练人脸识别模型中,因为显存限制而无法训练大规模人脸数据集的问题;在人脸识别训练这一特殊领域,将显存与不同的分类器相对应,这是本发明的发明点之一。
(2)训练过程中,每块显卡的分类器有着不同的参数,互不通信,要让每块卡的分类器参数互不更新,同时,每块卡都有独立的存储模型;现有技术中对于每块显卡并没有严格的区分,对显卡间的通信并没有限定。本发明将每块显卡设定为独立的,具有独立的存储模型,保证了训练的独立性,更利于大数据量的人脸识别通信。这是本发明的发明点之一
(3)每块显卡的输入数据有所交叠;训练过程中,由于一个类别在多张卡的分类器上,在整个特征提取网络拟合数据集的时候,不同卡的分类器之间的差异性在一定程度上被降低,故使得网络更好收敛,同时特征表达更加充分。使得特征提取网络更加充分的拟合训练数据,提升网络的鲁棒性。这是本发明的发明点之一。
(4)本发明的目的其中包括了提供一种用于车辆上的人脸识别装置,其中人脸识别装置采用了先进的神经网络训练模型。该训练模型能够解决该应用(需要足够多的人脸样本)所必须的大训练集和显存限制的问题。从而能够高反应度、高准确率的识别驾驶员人脸图像。本发明将该先进的神经网络与车辆上的人脸识别系统相结合,采用该神经网络恰好能满足在该应用领域中需要大量人脸数据进行训练,同时又满足了需要较高的认证准确度的要求。这是本发明的发明点之一。
附图说明
图1是示出传统方法中人脸识别模型的训练方法流程图;
图2是示出确认认证的过程的流程图;
图3是本发明中示出的人脸识别模型训练方法流程图。
具体实施方式
本发明可以以多种方式实现,包括作为过程;装置;一个系统;物质的组成;计算机程序产品,包含在计算机可读存储介质上;和/或处理器,例如处理器,被配置为执行存储在耦合到处理器的存储器上和/或由耦合到处理器的存储器提供的指令。在本说明书中,这些实现或本发明可以采用的任何其他形式可以称为技术。通常,可以在本发明的范围内改变所公开的过程的步骤的顺序。除非另有说明,否则诸如处理器或被描述为被配置为执行任务的存储器的组件可以被实现为临时配置为在给定时间执行任务的通用组件或者被制造为执行任务的特定组件。任务。如这里所使用的,术语“处理器”指的是被配置为处理数据的一个或多个设备,电路和/或处理核,例如计算机程序指令。
下面提供本发明的一个或多个实施例的详细描述以及说明本发明原理的附图。
表1是示出车辆内人员信息数据库的实施例的图。在一些实施例中,车辆内人员信息数据库包括表1的车辆内人员信息数据库。在所示的示例中,车辆内人员信息数据库包括用于一组车辆内人员中的每一个的id序号,姓名,图像数据。在一些实施例中,图像数据包括来自面向车辆内人员的相机的图像数据。在一些实施例中,存储原始图像数据。在一些实施例中,存储压缩图像数据。在一些实施例中,存储经处理(例如,裁剪,颜色平衡,傅立叶变换,滤波,增强等)的图像数据。在一些实施例中,为图像数据存储导出的图像数据(例如,面部数据,面部参数等)。在一些实施例中,还可以包括有重量信息,重量信息通过车辆内人员座椅重量传感器收集的信息得到(未在表1中体现)。这些信息作为数据库中的数据存储在系统的存储单元中。此外,还存储有表示座位坐姿的参数组。在一些实施命名,该参数组可以包括但不限于坐椅的位置坐标,靠背的倾斜角度。
表1车辆内人员信息数据库
图2是示出用于基于接收数据确认认证的过程的流程图。在一些实施方案中,图2的过程包括:在所示的示例中,确定是否开始认证,该确定是否开始认证是通过一传感器激活单元101执行的。具体的,例如可以通过体重检测器检测驾驶位坐椅的重量以决定是否激活认证程序。此处坐椅可以是驾驶员,也可以是副驾驶,还可以是后排坐椅。在一些实施例中,确定驾驶员是否被认证包括将面部数据与存储的面部数据进行比较,这一过程是通过接收存储器单元102执行的。具体的是将摄像头拍摄的人脸部图像与上述的存储在系统中的存储单元中的数据进行比较,该比较过程包括了下述的神经网络模型系统。为此,摄像头例如位于车内的各座位上方,也可以位于车内其他适当的位置,以能拍摄到车辆内人员的脸部图像的位置为佳。下述的神经网络模型系统是识别车辆内人员信息的核心关键部件或步骤。在一些实施例中,通过认证系统单元103确定车辆内人员是否被认证包括还包括将传感器数据与接收的传感器数据进行比较。在一些实施例中,确定车辆内人员是否被认证包括确定车辆内人员信息数据库中的任何条目都不匹配传感器数据和面部数据(例如,因此车辆内人员未被认证)。在一些实施例中,确定车辆内人员是否被认证包括确定驾驶员信息数据库中的一个或多个条目与传感器数据或面部数据中的一个匹配。在一些实施例中,该匹配包括预先设定一个匹配度相关的阈值,当处理结果高于该阈值时,说明匹配度符合要求,该驾驶员是登记在该车辆的驾驶员;或处理结果等于或小于该阈值时,说明匹配度不符合要求,该驾驶员不是登记在该车辆的驾驶员。对于该阈值的选择,体现出神经网络的先进与否。本申请使用的神经网络,可将阈值设在较高的,典型的如0.95(满分为1)。
在一些实施例中,确定车辆内人员已经被认证,则激活座位调整单元104,根据认证系统单元输出的结果调整座位参数。具体的调整座位参数的方法可以采用现有技术中的控制装置,控制与坐位、靠背相连的机械结构进行调整。所述的参数包括具体的坐位的几何坐标位置,靠背的倾斜角度等。在一些实施例中,调整的参数也可以包括其他车辆内设施,例如影音娱乐系统。这些影音娱系统是指根据每人的偏好,预先存储在对应每人的存储器中作为所述参数组中的一类参数。如果认证失败,则结束认证过程。
在认证系统单元103中包括有神经网络系统进行认证,其通过设定一定的阈值以检测实际驾驶员的图像阈值是否超过了预设的阈值。此外,该认证系统单元103还可以包括辅助认证系统单元,通过请求附加数据进行认证。在一些实施例中,附加数据包括语音数据。在一些实施例中,请求附加数据包括提示给出语音数据样本(例如,“说你好”)。在各种实施例中,附加数据包括指纹数据,密码数据,磁条数据(例如,从刷卡识别卡),射频识别数据(例如,来自具有射频识别标签的识别卡)或任何其他适当的附加数据。数据。在神经网络系统进行图像识别的基础上,再辅助以其他传感器的信息,例如人的体重,特别是人的声纹信息,对提高认证的准确度有很大的帮助,这也是本发明的发明点之一。
实施例2
本实施例提供一种人脸识别系统,具体包括人脸识别模型,其采用深度学习方法训练得到,网络模型由数据输入层、特征融合层、分类器和损失函数构成,其中损失函数为softmax函数。
所述数据输入层不停的遍历训练样本图像;所述特征融合层提取每一张图的深度特征;
所述分类器对所述样本图像进行分类;所述损失函数再依据分类结果和所述样本图像的真实标签作比对。
上述系统还包括检测装置,用于检测系统中显卡的数量和大小,根据显卡的数量和大小,训练集中的数据被分配给每个显卡相应数量的数据;具体分配规则如下:如果检测到有n个显卡,并且每个显卡的显存大小相同,就将训练集中的数据n等分分给每个显卡,如果每个显卡的显存并不相同,则依据显存大小进行分配,例如,有的显卡的显存为12g,有的为6g,则12g显卡分配的数据量为6g显卡的一倍。并且要求每个显卡分配的训练集数据或是训练的分类器数量不能超过其上限;一般在单条显存为12g的显卡上,当特征向量维度为512维时,分类器的类别数量一般最大在30万左右。
每个显卡对应不同的训练集数据,而每个分类器也相应对应不同的训练集数据,在训练过程中,要求分类器不通信,由于每块显卡上分类器是不同的,相互通信反而会影响模型的训练。训练过程中,使用随机梯度下降法计算损失,同时,每块卡分别存储各自的模型参数。
如图2所示,为本发明的人脸识别模型,训练集数据根据显卡的数量及大小相应的分为若干数据集,每个显卡训练不同的分类器,但所有显卡或分类器共有相同的特征提取单元。
每个数据集之间并不相同,例如,最终输出的特征向量为512维特征向量,每个训练集数据包括所有图像本身以及标识出的脸型,头发,眉毛,眼睛,鼻子,嘴巴,肤色等512维特征向量中的一部分,例如:
第一显卡包括所有图像本身以及标识出眼睛的相关标识数据;
第二显卡包括所有图像本身以及标识出的头发相关标识数据;
第三显卡包括所有图像本身以及标识出的脸型相关标识数据;
……
第n显卡包括所有图像本身以及标识出的嘴巴相关标识数据;
第n+1显卡包括所有图像本身以及标识出的鼻子相关标识数据;
其中第一显卡训练的分类器包括第一分类器,第二分类器……;第一分类器具体用于分类眼睛的颜色,第二分类器用于分类单眼皮,双眼皮。
以上数据中,头发的相关数据可以包括发型,头发的颜色等,眼睛的相关数据可以包括眼睛大小,眼睛的颜色,眼睛的形状,单眼皮双眼皮等,嘴巴的相关数据可以包括嘴巴的形状,嘴唇的颜色等。
在一般训练系统中,多机器或多显卡训练模型时,有多种存储模型的方案。比如,每块卡分别完成一次图像的前向和反向传播,在互相通信更新参数,存储模型时只存第一块卡的参数;或者把所有卡的特征提取层的输出都集中到第一块卡上完成前向传播,等反向传播时,再将各参数分发到对应卡上,存储模型时只存第一块卡的参数;
但由于本发明中,每块卡的分类器有着不同的参数,故不能使用集中-分发操作,也不能单纯的存储第一块卡的模型参数。对此,需要修改训练系统的训练逻辑。在训练过程中,要让每块卡的分类器参数互不更新,同时,每块卡都有独立的存储模型。
以上方案中由于不同的分类器对应不同的数据,有效解决了在训练人脸识别模型中,因为显存限制而无法训练大规模人脸数据集的问题。
实施例3
本实施例提供一种人脸识别模型的训练方法,所述方法由人脸识别训练系统实施。
步骤s1:人脸识别训练系统的检测装置检测系统中显卡的数量和大小,根据显卡的数量和显存大小,将训练集中相应数量的数据输入给每块显卡。当训练集类别数量除以显卡数小于分类器最大分类数目时,一般会令每块显卡之间的输入数据有交叠。举例来说,假设有8张显卡,训练集有80万个类别,所谓交叠,即在保证每张卡的分类器平均分到10万个类别后,随机从其它7张卡长抽取20万个类别添加到本张卡的分类器上,这样每个类别至少存在两张卡上,即不同卡的分类器存在弱耦合关系。训练过程中,由于一个类别在多张卡的分类器上,在整个特征提取网络拟合数据集的时候,不同卡的分类器之间的差异性在一定程度上被降低,故使得网络更好收敛,同时特征表达更加充分。总之,交叠的数据能使得特征提取网络更加充分的拟合训练数据,提升网络的鲁棒性。
步骤s2:人脸识别模型的特征融合层提取每一张图像的深度特征,输入分类器进行分类,人脸识别模型的损失函数层再依据分类结果和样本(即每一张图像)真实标签作比对,反向传播更新各层参数;这里的特征融合层具体为特征提取网络。
在步骤s1中,在训练过程中,训练集中一个人被当作一类,当系统检测到训练集人数超过各显卡显存之和时,如当训练集人数增加时,只需要对应增加显卡数量,即可以完成模型训练,提升模型性能。这里创造性的提出将一个人被当作一类,从而可以以增加显示数量方式应对训练集人数的增加。
在步骤s2中,特征提取网络根据每块显卡被输入的具体数据,对应的提取相应的特征,例如,第一显卡被输入的数据为所有图像本身以及眼睛相关标识数据,特征提取层需要从每张图像中提取眼睛相关的深度特征,然后将这些深度特征输入到第一显卡训练的分类器中进行分类训练。
尽管为了清楚理解的目的已经在一些细节上描述了前述实施例,但是本发明不限于所提供的细节。存在许多实现本发明的替代方式。所公开的实施例是说明性的而非限制性的。