CN110866484B - 驾驶员人脸检测方法、计算机装置及计算机可读存储介质 - Google Patents
驾驶员人脸检测方法、计算机装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110866484B CN110866484B CN201911095723.3A CN201911095723A CN110866484B CN 110866484 B CN110866484 B CN 110866484B CN 201911095723 A CN201911095723 A CN 201911095723A CN 110866484 B CN110866484 B CN 110866484B
- Authority
- CN
- China
- Prior art keywords
- detection
- face
- face candidate
- region
- detection module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/59—Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
Abstract
本发明提供一种驾驶员人脸检测方法、计算机装置及计算机可读存储介质,该方法包括获取一帧图像并输入至检测网络单元,检测网络单元包括多级检测模块,每一级检测模块获取多个人脸候选区域并进行非极大值抑制计算,计算该级检测模块输出的人脸候选区域中分类得分最高的人脸候选区域相对于历史信息的检测区域的交并比,在交并比小于交并比阈值时,应用下一级检测模块对当前级检测模块输出的人脸候选区域进行检测,在交并比大于交并比阈值时,且在对当前级检测模块输出的人脸候选区域进行非极大值抑制计算后,输出的人脸候选区域不多于一个时,输出当前级检测模块的计算结果。本发明还提供实现上述方法的计算机装置及计算机可读存储介质。本发明可以减小人脸检测的计算量。
Description
技术领域
本发明涉及图像识别的技术领域,具体地,是驾驶员人脸检测方法以及实现这种方法的计算机装置、计算机可读存储介质。
背景技术
随着智能技术的发展,通过图像识别的方式来对人员进行识别已经广泛应用在诸如安防等多个领域,其中,通过对人员的人脸进行识别是图像识别领域中的重点研究领域。
近年来,随着人工智能技术的迅猛发展,深度学习神经网络在模式识别方面取得了巨大的成功,例如在图像分类、目标检测、图像分割、语音识别以及机器翻译等多个领域都取得让人瞩目的成就。在人脸检测的应用当中,深度学习模型的性能远超传统的机器学习方法。而且,在万物互联的时代,智能化的需求使得基于深度学习模型的检测系统越来越多的部署在计算力有限的嵌入式平台上。此时,如何高效的运行各种检测系统显得尤为重要。
例如,针对驾驶员的人脸检测方法,目前比较常见的检测算法使用的是基于级联网络的算法,例如采用多级级联的网络模型实现的算法,这种算法实现了系统的检测结果从粗到精的提升,级联的层次越多,后续网络模型越大,计算量也相应增加。但是,在实际运转中,在满足工程需要的情况下,多级网络的一部分就可以达到目的。
而且,现在的人脸检测算法通常使用传统的非极大值抑制算法来滤掉一部分人脸候选区域,但是,传统的非极大值抑制算法采用的是网络输出的分类得分作为抑制标准,这种标准与真实的定位置信度并不吻合,会导致很多精准的候选区域被不精准的抑制掉。因此,现有的人脸检测系统在实际应用时,会出现效率低下、检测精度以及召回率不高的问题。
具体的,传统的非极大值抑制算法依据检测神经网络输出的分类得分进行抑制,但是,实际上,分类得分与真实的定位精度并没有很严格的吻合关系。很多情况下,传统的非极大值抑制算法会把真实准确的人脸候选区域过滤掉,降低预测精度甚至出现漏检的情况。
另外,传统的基于级联模块的人脸检测算法都只是将多级的校准计算完整执行一遍,但是,在实际运行当中,可以有选择性的进行级联层次的优化,这样,可以减少很大的计算量,而且,对最终的检测结果并没有明显的影响。此外,现有的人脸检测系统没有很好的利用帧间的目标运动信息,采用这些信息可以在一定程度上进行漏检情况下的预测补偿。
发明内容
本发明的主要目的是提供一种计算量小且对人脸区域检测召回率高的驾驶员人脸检测方法。
本发明的另一目的是提供一种实现上述驾驶员人脸检测方法的计算机装置。
本发明的再一目的是提供一种实现上述驾驶员人脸检测方法的计算机可读存储介质。
为实现本发明的主要目的,本发明提供的驾驶员人脸检测方法包括获取一帧图像并输入至多级级联的检测网络单元中,检测网络单元包括多级检测模块,其中,每一级检测模块获取多个人脸候选区域并进行非极大值抑制计算,计算该级检测模块输出的人脸候选区域中分类得分最高的一个人脸候选区域相对于历史信息的检测区域的交并比,在交并比小于交并比阈值时,应用下一级检测模块对当前级检测模块输出的人脸候选区域进行检测,在交并比大于交并比阈值时,且在对当前级检测模块输出的人脸候选区域进行非极大值抑制计算后,输出的人脸候选区域不多于一个时,输出当前级检测模块的计算结果。
由上述方案可见,当当前级的检测模块输出的人脸候选区域相对于历史信息的检测区域的交并比较大时,表示当前级输出的人脸候选区域具有较高的精度,在不需要进行下一级检测计算的情况下也能够满足检测的需求,因此,可以直接输出当前级检测获得的人脸候选区域,这样可以避免完整的执行所有检测模块,大大减少检测的计算量,从而提高人脸识别的效率。
一个优选的方案是,在交并比大于交并比阈值时,若在对当前级检测模块输出的人脸候选区域进行非极大值抑制计算后,输出的人脸候选区域多于一个时,将当前级检测模块输出的多个人脸候选区域输出至下一级检测模块并执行下一级检测。
由此可见,在对当前级检测模块输出的人脸候选区域进行非极大值抑制计算后,如果输出的人脸候选区域多于一个,仍不符合检测的需求,则执行下一级的检测计算,从而确保输出的人脸候选区域不超过一个。
进一步的方案是,计算分类得分最高的人脸候选区域的交并比包括:计算分类得分最高的人脸候选区域与历史信息的检测区域的第一交集区域,并计算分类得分最高的人脸候选区域与历史信息的检测区域的并集区域,计算第一交集区域与并集区域的比值。
由于连续多帧图像具有一定的关联性,人脸区域也应该是连续变化的,因此,应用历史信息中的检测区域作为交并比的计算基准,也就是在确定是否需要执行下一级计算时,采用上一帧图像的人脸区域信息作为基础,这样的操作可以更加准确的确定是否需要执行下一级的计算。
更进一步的方案是,对多个人脸候选区域进行非极大值抑制计算包括:计算每一个人脸候选区域相对于历史信息中的检测区域的第一定位置信度,移除第一定位置信度最高的一个人脸候选区域;计算剩余的每一人脸候选区域相对于被移除的人脸候选区域的第二定位置信度,如果第二定位置信度大于定位置信度阈值,则移除该人脸候选区域
可见,本发明并不是使用分类得分作为非极大值抑制计算的基准,提高人脸区域检测的精度,也就是提高检测的召回率。并且,当两个人脸候选区域的第二定位置信度较大,表示这两个人脸候选区域重叠部分较多,也就是两个几乎重叠的人脸候选区域,因此可以删除其中一个人脸候选区域,减少后续的计算量。
一个优选的方案是,计算人脸候选区域相对于历史信息中的检测区域的第一定位置信度包括:计算人脸候选区域与历史信息的检测区域的第二交集区域,计算第二交集区域与历史信息的检测区域之间的比值。
由此可见,通过计算当前人脸候选区域与历史信息中检测区域的交集,根据交集的面积大小来计算第一定位置信度,可以提高人脸候选区域计算的准确性,从而避免通过分类得分的方式确定人脸候选区域,提高检测的召回率。
更进一步的方案是,将一帧图像输入至多级级联的检测网络单元后,执行:获取原始图像数据,并获取历史信息置信变量,置信变量置位时,将历史信息中的检测区域进行放大后对应在原始图像上的区域作为人脸候选区域。
可见,当历史信息中包含有人脸区域的信息,则采用历史信息中的检测区域作为基础,并进行一定的放大后作为输入检测网络的人脸候选区域,这样的方式可以提高输入的人脸候选区域的准确性。
更进一步的方案是,检测网络单元的多级检测模块对图像进行识别后,判断是否检测到人脸信息,如是,将后一级检测模块输出的人脸候选区域作为历史信息保存,否则,进行预测补偿计算:使用上一次历史信息更新前后的检测区域坐标以及检测区域预测偏移量计算补偿后的人脸区域坐标。
由于进行校准后,不一定检测到人脸信息,此时通过预测补偿计算后,可以重新查找图像中可能的人脸候选区域,避免遗漏图像中的人脸候选区域,提高检测的准确性。
更进一步的方案是,进行预测补偿前,还执行:计算预测补偿的次数,如果预测补偿次数大于补偿次数阈值,则不执行预测补偿操作。
由于预测补偿次数过多会导致补偿的不准确性,当预测补偿次数过多后,将不再执行预测补偿,可以避免因预测补偿次数过多带来的不准确性的问题。
为实现上述的另一目的,本发明提供的计算机装置包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述驾驶员人脸检测方法的各个步骤。
为实现上述的再一目的,本发明提供计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述驾驶员人脸检测方法的各个步骤。
附图说明
图1是本发明驾驶员人脸检测方法实施例的流程图。
图2是本发明驾驶员人脸检测方法实施例所应用的其中一级检测模块的多个子模块结构框图。
图3是本发明驾驶员人脸检测方法实施例中改进的非极大值抑制计算方法的流程图。
图4是本发明驾驶员人脸检测方法实施例中去除重叠度高的人脸候选区域的流程图。
图5是本发明驾驶员人脸检测方法实施例中多级级联的自适应检测的流程图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
本发明的驾驶员人脸检测方法应用在智能设备上,优选的,智能设备设置有摄像装置,如摄像头等,智能设备利用摄像装置所获取的视频数据进行图像分析,进而检测图像中人脸区域的位置,为后续进行人脸识别、注意力集中程度进行分析。优选的,智能设备设置有处理器以及存储器,存储器上存储有计算机程序,处理器通过执行该计算机程序实现驾驶员人脸检测方法。
驾驶员人脸检测方法实施例:
本实施例应用人脸检测的计算机程序实现,具体的,所应用的计算机程序可以包括三个模块,分别是输入场景图像的自适应截取模块、多级级联的自适应优化检测的检测网络单元、基于历史检测信息的漏检预测补偿模块。
本实施例是获取一段视频数据,然后对视频数据中多帧图像进行识别,获取每一帧图像中的人脸区域,由于视频数据中多帧图像具有连续性,而驾驶员人脸区域在图像序列中的位置也是连续变化的,因此,本实施例充分利用图像序列的历史检测信息,在检测过程的各个步骤中通过优化多级检测模块级联组成的检测网络单元选取,舍弃了大量的非必要检测步骤,在保证精度的前提下大幅减少了计算量,这在运算能力紧张的嵌入式设备上显得尤为重要。此外,本实施例还将历史检测信息应用在非极大值抑制方法中,摆脱了传统的非极大值抑制算法将分类得分作为人脸候选区域评价标准的局限性,引入了更为精确的定位置信度的概念,使得人脸区域的选取更加精准科学。最后,本实施例漏检预测补偿步骤可以减少驾驶过程中由于检测性能不足导致的漏检情况,提高人脸区域检测的召回率。
执行本实施例的方法前,首先初始化驾驶员人脸检测系统,并读取导入多级级联的检测网络单元的模型参数,同时,初始化一个检测信息结构体用来存储检测过程中生成的历史检测信息,检测信息结构体包括检测到的人脸区域变量(人脸检测区域的左上角坐标以及右下角坐标)、该历史信息的置信变量(0、1)以及当前帧与历史信息获取帧的间隔。最后,根据驾驶员大致的人脸检测区域大小选择一个合适的尺度用来尺度变换以便后续的图像处理。其中,历史信息的置信变量只能是二进制数0或者1,当某一帧图像存在对应历史信息时,置信变量置位,即为二进制数1,如果某一帧图像为一段视频的第一帧图像,则这一帧图像往往不存在历史信息,则置信变量复位,即为二进制数0。
在初始化完后,参见图1,本实施例首先执行步骤S1,获取视频图像,并且获取其中一帧原始图像数据。然后,由自适应截取模块对所获取的图像进行截取,即截取出人脸候选区域。但如果将整张图像作为人脸候选区域输出,将导致后续的计算量巨大,因此,需要对图像进行适当的截取。本实施例采用自适应截取方式进行截取。具体的,当历史信息的置信变量复位,即为0时,将原始输入的图像作为截取后的图像。如果历史信息的置信变量置位,即为1时,则依据历史信息的检测区域进行一定程度的扩大,并以扩大后的区域对原始图像进行截取操作,此时,在原始图像上以扩大后的区域为基础进行截取,并将截取出的图像区域将作为检测网络的输入图像。
因此,需要执行步骤S2,判断历史信息中的置信变量是否置位,如是,则执行步骤S4,否则,执行步骤S3,将原始图像作为检测网络的输入图像。
如果某一帧图像前的一段时间段内,视频图像中不存在人脸信息,则这一段时间内系统将检测不到人脸的图像,也就不存在历史信息。如果某一帧图像之前的图像存在人脸信息,则该帧图像就存在对应的历史信息,也就是,将上一帧图像确定的人脸区域将作为当前帧图像的历史信息的检测区域。假设当前帧图像的历史信息中的检测区域为[x,y,w,h],其中,x表示检测区域左上角点的横坐标,y表示检测区域左上角点的纵坐标,w表示检测区域的宽度,h表示检测区域的高度。步骤S4中,可以使用一个预先设定的缩放系数β计算截取原始图像的范围,截取后的检测区域为[xnew,ynew,wnew,hnew],其中,xnew表示截取后的检测区域框左上角点的横坐标,ynew表示截取后的检测区域框左上角点的纵坐标,wnew表示截取后的检测区域框的宽度,hnew表示截取后的检测区域框的高度,上述各变量的计算如下所示:
xnew=min(x-β*w,0)
ynew=min(y-β*h,0)
wnew=(1+2*β)*w
hnew=(1+2*β)*h。
优选的,缩放系数β是一个小于或等于1的小数。
然后,执行步骤S5,应用多级级联的检测网络单元以自适应优化的检测方法对人脸区域进行检测。通常,多级级联的检测网络单元中,第一级的检测模块将对输入的图像应用全卷积神经网络进行检测,因此对一帧图像可以截取出大量的人脸候选区域,需要对多个人脸候选区域进行计算确定最优的人脸候选区域作为最终输出的人脸候选区域,因此,步骤S5就是从多个人脸候选区域中选取最优的一个,当然,也可能是没有检测到人脸信息,即步骤S5输出的结果是空。步骤S5的具体的计算方法将在下面详细说明。
在执行步骤S5后,执行步骤S6,判断是否检测到人脸信息,即判断步骤S5是否检测到人脸区域,如是,则执行步骤S7,对历史信息进行更新,即将步骤S5检测到的人脸区域作为下一帧图像的历史信息,并且输出检测结果。如果步骤S6的判断结果为否,表示步骤S5没有检测到人脸信息,这时候并不表示图像中不存在人脸,而是有可能出现漏检的情况,因此需要执行步骤S8,由漏检预测补偿模块基于历史信息对当前帧图像进行预测补偿的计算,预测补偿的计算的具体方法将在下面详细介绍。在预测补偿计算后,如果检测到人脸区域,则执行步骤S7,更新历史信息并且将检测结果输出。
本实施例中,多级级联的检测网络单元包括多级检测模块,并且上一级检测模块的输出结果将作为下一级检测模块的输入,例如,第一级检测模块对输入的原始图像进行检测后,输出多个人脸候选区域,这些人脸候选区域将输入到第二级检测模块,第二级检测模块将第一级输出的多个人脸候选区域作为自己的输入并进行检测,输出检测后的一个或者多个人脸候选区域,如果第二级检测模块仍输出多个人脸候选区域,将由第三级检测模块执行后续的计算,直到某一级检测模块输出人脸候选区域只有一个或者所有级的检测模块运行完毕为止。
每一级检测模块的结构基本相同,参见图2,每一级检测模块包括三类子模块,分别是基于深度网络的推理模块12、改进的非极大值抑制模块13以及校准模块14。其中,推理模块12由一个神经网络构成,主要用于实现人脸候选区域的类别预测以及定位,不同级的检测模块对应的推理模块12所采用的网络结构也不尽相同,一般而言,随着检测精度要求越来越高,级别越高的检测模块对应的推理模块12的计算量也就越大。推理模块12的输出结果输出至改进的非极大值抑制模块13,使用改进的非极大值抑制算法用于改善检测系统的性能。校准模块14对最终选定的人脸候选区域利用推理模块12输出的信息进行微调校准。
具体的,第一级检测模块的推理模块12是一个全卷积神经网络,用于提取原始输入的图像中的人脸候选区域,并输出大量的人脸候选区域,而后续的第二级、第三级的检测模块中,对应的推理模块12为传统的堆叠神经网络。一般而言,检测模块执行次数越多最终获取的人脸检测结果越准确,也就是执行越多级别的检测模块,获取的人脸候选区域就越精确,但是,在实际操作中,在很多情况下,只使用一级检测模块就可以获得较为准确的人脸检测区域,在这种情况下,计算量更大的二级及二级以上的检测模块显得颇为冗余。因此,本实施例引入了候选区域定位置信度、交并比来衡量每一级检测模块输出的人脸候选区域的准确程度,若交并比的值超过预设的阈值,便直接将该级检测模块的检测区域作为最终的预测结果,反之,执行下一级的检测模块。
因此,本实施例中,按照步骤S2至步骤S4的方式从原始图像中截取图像的一部分作为检测的图像,输入到第一级的检测模块,此时,第一级的检测模块的推理模块12将生成大量的人脸候选区域和边界框回归向量,然后将生成的所有人脸候选区域输入到改进的非极大值抑制模块13,最终筛选出有限的人脸候选区域。
由于传统的非极大值抑制方法的抑制依据的是各个人脸候选区域对应的分类得分。但是,实际上,人脸候选区域的分类得分与其实际的定位精度并非相互吻合。因此,应用传统的非极大值抑制方法,与真实的人脸区域具有最大重合区域的人脸候选区域可能会因为其分类得分较低的缘故而被抑制掉,这样导致最终的人脸预测区域不够精确甚至丢失。因此,本实施例的改进的非极大值抑制模块13通过利用所存储的历史信息,将传统方法中的抑制标准的由分类得分替换为与历史信息中的检测区域的重合值,也就是定位置信度,这样使得最终计算的人脸候选区域更为精确,同时也提高人脸检测的召回率。
在执行非极大值抑制算法前,首先判断当前帧图像对应的历史信息的置信变量是否置位,如置信变量若为0,则执行传统的非极大值抑制操作,如置信变量若为1,执行改进的非极大值抑制操作。下面结合图3详细介绍改进的非极大值抑制模块13对人脸候选区域计算的具体过程。
首先执行步骤S21,建立一个第一人脸候选区域集合存储当前帧图像的所有人脸候选区域,并且存储每一人脸候选区域对应的分类得分。优选的,每一个人脸候选区域与其对应的分类得分是一一对应的存储的。然后,执行步骤S22,初始化一个空的第二人脸候选区域集合用来存储当前循环检测到的人脸区域及其对应的分类得分。接着,执行步骤S23,判断当前时刻下,第一人脸候选区域集合是否为空的集合,如果是空的集合,表示当前帧图像的所有人脸候选区域都已经处理完毕,结束当前的流程。如果步骤S23的判断结果为否,表示人脸候选区域并没有计算完毕,则执行步骤S24,计算第一人脸候选区域集合中所有人脸候选区域相对于历史信息的检测区域的第一定位置信度。
本实施例的第一定位置信度是当前人脸候选区域相对于历史信息中所存储的检测区域之间交集除以历史信息中所存储的检测区域的数值。具体的,当前人脸候选区域相对于历史信息的检测区域的第一定位置信度的计算公式如下:
其中,anchor表示历史信息中所存储的检测区域,即上一帧图像确定的人脸区域,loc_score表示当前人脸候选区域Bi(i=1,…,N)相对于历史信息中所存储的检测区域的第一定位置信度,N表示第一人脸候选区域集合中人脸候选区域的数量,area(·)表示计算人脸候选区域的面积。
然后,执行步骤S25,查找多个人脸候选区域中,第一定位置信度最高的一个,并且定义一个中间变量S,将第一定位置信度最高的一个的人脸候选区域对应的分类得分赋值给S。同时,将第一定位置信度最高的一个的人脸候选区域从第一人脸候选区域集合中移除,并将第一定位置信度最高的一个的人脸候选区域存储到第二人脸候选区域集合中。
接着,执行步骤S26,遍历第一人脸候选区域集合中的所有人脸候选区域,将与第一定位置信度高度重叠的其他人脸候选区域从第一人脸候选区域集合中移除。最后,执行步骤S27,将第一定位置信度最高的人脸候选区域存储到第二人脸候选区域集合中,这样,每次执行一次遍历过程后,第二人脸候选区域集合将增加一个人脸候选区域。执行步骤S27后,返回执行步骤S23,判断第一人脸候选区域集合是否为空的集合,如果不是,将再次执行步骤S24至步骤S27,直到第一人脸候选区域集合为空的集合,才结束流程。由于经过一次遍历后,第一人脸候选区域集合中很可能还存在人脸候选区域,此时需要返回执行步骤S24至步骤S27,经过多次的遍历过程后,第二人脸候选区域集合将包含有多个人脸候选区域,且多个人脸候选区域的重叠面积并不大。
由于存储到第二人脸候选区域集合中的多个人脸候选区域都需要进行后续的计算,但由于多个人脸候选区域可能非常接近,即重叠的面积非常大,如果对每一个人脸候选区域都进行后续的计算,将导致计算量非常巨大,而且对这些重叠面积非常大的人脸候选区域进行后续的计算,往往计算出来的结果非常接近,对人脸区域检测精度影响不大。因此,本实施例对于重叠面积非常大的多个人脸候选区域,只对其中一个进行校准计算,也就是将与第一定位置信度最高的人脸候选区域重叠面积很大的多个人脸候选区域移除,从而避免后续计算时出现大量不必要的计算。
下面结合图4介绍步骤S26的计算过程,该过程实际上是移除重叠面积很大的人脸候选区域的过程。
首先,执行步骤S31,遍历第一人脸候选区域集合中的人脸候选区域,即对每一个人脸候选区域都执行一次查询。然后执行步骤S32,判断第一人脸候选区域集合中的人脸候选区域是否遍历完毕,如果已经遍历完毕,则结束移除重叠面积很大的人脸候选区域流程,否则,执行步骤S33。
计算当前人脸候选区域相对于第一定位置信度最高的人脸候选区域的第二定位置信度,此时,第二定位置信度的计算公式如式2所示:
其中,Bi(i=1,…,N)表示当前人脸候选区域,b为第一定位置信度最高人脸候选区域,loc_score1表示当前人脸候选区域相对于第一定位置信度最高的人脸候选区域的第二定位置信度,area(·)表示计算人脸候选区域的面积。
步骤S33中,判断当前人脸候选区域相对于第一定位置信度最高的人脸候选区域的第二定位置信度是否大于定位置信度阈值,如果是,则执行步骤S34,将当前人脸候选区域的分类得分与中间变量S进行比较,将当前人脸候选区域的分类得分与中间变量S两者中的较大一个赋值给中间变量S,并且将当前人脸候选区域从第一人脸候选区域集合中移除。当步骤S33的判断结果为否,则返回执行步骤S32,再次判断人脸候选区域是否遍历完毕。
可见,通过上述的操作,如果一帧图像中出现的多个人脸候选区域存在较大的重叠面积,多个重叠面积较大的多个人脸候选区域中只会保留其中一个,即只保留定位置信度最高的一个人脸候选区域,并且移除其他几个重叠面积较大的人脸候选区域。这样,第一人脸候选区域集合中将移除大量重叠面积较大的人脸候选区域,后续的校准计算时,可以不对大量面积重叠的人脸候选区域进行校准计算,大大减少计算量。
执行改进的非极大值抑制算法之后,获取多个人脸候选区域,此时需要对剩下的多个人脸候选区域进行校准,即由校准模块14执行校准计算,例如对人脸候选区域进行微调。
由于多级级联的检测网络单元对人脸区域的检测是实现从粗到精的检测效果,即很多情况下,系统的检测精度会随着级联的级数的增加而逐渐增加,但是,在实际应用中,很多时候并不需要完整的运行多级检测模块,使用多级检测模块中的一部分甚至第一级的检测模块,就可以获取满足工程需要的检测结果。为此,针对这种情况,本实施例将自适应选取人脸候选区域的检测模块的级联层次,也就是在当前一级检测计算后,根据检测的结果决定是否需要执行下一级的检测计算,这样,在保证检测精度的前提下,大大减少多级的检测模块的计算量,提高人脸区域获取的效率。
由于本实施例所针对的场景为驾驶员的人脸检测,原则上每一帧图像最多输出一个人脸区域,所以本实施例在检测模块级联层次的自适应选取中,引入交并比作为确定级联级数的参考。
参见图5,在进行自适应检测模块的级数选取操作时,首先执行步骤S41,接收人脸候选区域的图像,步骤S41所接收的人脸候选区域是当前级检测模块执行非极大值抑制计算后的第二人脸候选区域集合所存储的多个人脸候选区域。
然后,执行步骤S42,对所接收到的多个人脸候选区域进行下一级的检测计算。当然,如果人脸候选区域没有执行过任何一级的检测计算,则下一级的检测计算就是第一级的检测模块计算。
接着,执行步骤S43,计算第二人脸候选区域集合中,分类得分最高的一个人脸候选区域相对于历史信息中的检测区域的交并比,并判断计算的交并比是否大于交并比阈值。本实施例中,交并比的计算公式如下:
其中,A,B分别表示两个不同的人脸区域,AΙ B表示两个人脸区域的重叠区域,AYB表示两个人脸区域的并集,area(·)表示求取人脸区域的面积。具体的,A可以是多个人脸候选区域中分类得分最高的人脸候选区域,B可以是历史信息中的检测区域。
本实施例中,可以预先设定交并比阈值,例如为60%,如果分类得分最高的人脸候选区域与历史信息的检测区域的交并比大于交并比阈值,表示分类得分最高的人脸候选区域与历史信息中的检测区域非常接近,则执行步骤S44,再次使用改进的非极大值抑制算法对当前多个人脸候选区域进行非极大值抑制计算,即对多个人脸候选区域再次执行步骤S21至步骤S27的计算。
然后,执行步骤S45,判断再次经过改进的非极大值抑制计算后,输出的人脸候选区域是否不多于一个,如不是,则表示当前输出的人脸候选区域的数量是二个以上,则不符合最多只输出一个人脸候选区域的要求,返回执行步骤S42,将步骤S44输出的多个人脸候选区域作为下一级检测模块的输入,并且执行下一级检测计算。如果步骤S45的判断结果为是,表示当前输出最多只有一个人脸候选区域,执行步骤S46,将该级计算后获得的人脸候选区域作为最终输出作为检测结果。
如果步骤S43的判断结果为否,表示分类得分最高的一个人脸候选区域相对于历史信息中的检测区域的交并比不大于交并比阈值,则返回执行步骤S42,执行下一级的检测计算。
可见,经过上述的计算后,最终输出的人脸候选区域只有一个或者没有输出人脸候选区域,如果输出一个人脸候选区域,则可以将该人脸候选区域作为最终的人脸区域,并更新历史信息,即将当前帧的人脸区域作为下一帧图像的历史信息中的检测区域。
当然,在一些情况下可能检测不到人脸候选区域,例如驾驶员的头部转动后不容易被识别,此时,并不代表该帧图像中不存在人脸,为了避免出现漏检的情况,本实施例针对没有输出人脸区域的情况进行预测补偿。由于在驾驶员驾驶过程当中,帧间人脸区域的变化是较小的,因此,可以利用历史信息中存储的人脸检测区域的运动趋势预测当前帧的人脸区域的变化情况。
本实施例中,预测补偿是在历史信息中引入运动预测变量来存储人脸检测区域的变化趋势并且在预测补偿计算过程中指导人脸检测区域的位置预测。具体的,运动预测变量的更新公式如下:
motion_x=ceil(momentum*motion_x+(xnew-xold))
motion_y=ceil(momentum*motion_y+(ynew-yold))
其中,motion_x、motion_y分别表示预测变量中人脸检测区域左上角横坐标与纵坐标的预测偏移量,这两个变量在初始的时候可以设定为0,momentum表示继承更新前预测偏移量的继承比重,继承比重是一个预先设定的值。xold,yold表示上一次历史信息更新前的检测区域左上角的坐标,xnew,ynew表示上一次历史信息更新后检测区域左上角的坐标,ceil(·)表示一个取整函数。
但是,由于历史信息的确信度会随着时间的流逝而快速衰减,所以,本实施例需要使用一个控制策略来决定是否在当前帧执行预测补偿的操作,即增加一个计数变量,在历史信息获得更新之后,将其初始化为0,每进行一次预测补偿操作,计数变量值增加一次,这样,当计数变量值大于预设的补偿次数阈值时,即使当前帧未检测到驾驶员人脸信息,也不会进行预测补偿的操作,这样可以在提高召回率的同时,尽可能提高人脸检测的精度。
可见,本实施例使用第一定位置信度作为非极大值抑制计算的参考指标,避免使用传统的非极大值抑制计算所使用的分类得分作为计算的参考指标,提高人脸识别的精度。并且,在检测计算过程中,根据交并比的计算结果确定多级检测模块的级联级数,可以在不明显降低计算精度的情况下节省计算量,提高人脸检测的效率。
应用本实施例在实际场景进行测试,实验所用的数据均为实测获取的1800幅车内图像,包含了一段时间内(包含驾驶员上下车)驾驶车内的所有图片。实验所用的检测模块共包含三级,下面的表格显示了传统的级联检测方法与本实施例的计算方法的对比数据。
从上表可以看出,在检测效果上,本实施例在精度和召回率上均取得了一定程度的提升,在计算量上,所有的级联检测模块的调用执行次数都减少了很多,也就是大大提升了人脸检测的效率。
计算机装置实施例:
本实施例的计算机装置可以是智能设备,例如具有图像处理能力的车载监视仪器等,该计算机装置包括有处理器、存储器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述驾驶员人脸检测方法的各个步骤。
例如,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明的各个模块。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
本发明所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
计算机可读存储介质:
上述计算机装置所存储的计算机程序如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述驾驶员人脸检测方法的各个步骤。
其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
最后需要强调的是,本发明不限于上述实施方式,例如定位置信度计算公式的变化,或者检测网络单元所使用的级联级数的变化等,这些改变也应该包括在本发明权利要求的保护范围内。
Claims (9)
1.驾驶员人脸检测方法,包括:
获取一帧图像并输入至多级级联的检测网络单元中,所述检测网络单元包括多级检测模块;
其特征在于:
每一级所述检测模块获取多个人脸候选区域并进行非极大值抑制计算,计算该级检测模块输出的人脸候选区域中分类得分最高的一个人脸候选区域相对于历史信息的检测区域的交并比,在所述交并比小于交并比阈值时,应用下一级检测模块对当前级检测模块输出的人脸候选区域进行检测,在所述交并比大于所述交并比阈值时,且在对当前级检测模块输出的人脸候选区域进行非极大值抑制计算后,输出的人脸候选区域不多于一个时,输出当前级检测模块的计算结果;
其中,对多个人脸候选区域进行非极大值抑制计算包括:
计算每一个所述人脸候选区域相对于历史信息中的检测区域的第一定位置信度,移除第一定位置信度最高的一个人脸候选区域;
计算剩余的每一人脸候选区域相对于被移除的人脸候选区域的第二定位置信度,如果第二定位置信度大于定位置信度阈值,则移除该人脸候选区域。
2.根据权利要求1所述的驾驶员人脸检测方法,其特征在于:
在所述交并比大于所述交并比阈值时,若在对当前级检测模块输出的人脸候选区域进行非极大值抑制计算后,输出的人脸候选区域多于一个时,将当前级检测模块输出的多个人脸候选区域输出至下一级检测模块并执行下一级检测。
3.根据权利要求1或2所述的驾驶员人脸检测方法,其特征在于:
计算分类得分最高的所述人脸候选区域相对于历史信息的检测区域的交并比包括:计算分类得分最高的所述人脸候选区域与历史信息的检测区域的第一交集区域,并计算分类得分最高的所述人脸候选区域与历史信息的检测区域的并集区域,计算所述第一交集区域与所述并集区域的比值。
4.根据权利要求1所述的驾驶员人脸检测方法,其特征在于:
计算所述人脸候选区域相对于历史信息中的检测区域的第一定位置信度包括:计算所述人脸候选区域与历史信息的检测区域的第二交集区域,计算所述第二交集区域与历史信息的检测区域之间的比值。
5.根据权利要求1或2所述的驾驶员人脸检测方法,其特征在于:
将一帧图像输入至多级级联的检测网络单元后,执行:获取历史信息置信变量,所述置信变量置位时,将所述历史信息中的检测区域进行放大后对应在所述图像上的区域作为所述人脸候选区域。
6.根据权利要求1或2所述的驾驶员人脸检测方法,其特征在于:
所述检测网络单元的多级检测模块对图像进行识别后,判断是否检测到人脸信息,如是,将最后一级检测模块输出的所述人脸候选区域作为历史信息保存,否则,进行预测补偿计算:使用上一次历史信息更新前后的检测区域坐标以及检测区域预测偏移量计算补偿后的人脸区域坐标。
7.根据权利要求6所述的驾驶员人脸检测方法,其特征在于:
进行预测补偿前,还执行:计算预测补偿的次数,如果预测补偿次数大于补偿次数阈值,则不执行预测补偿操作。
8.计算机装置,其特征在于,包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述驾驶员人脸检测方法的各个步骤。
9.计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述驾驶员人脸检测方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911095723.3A CN110866484B (zh) | 2019-11-11 | 2019-11-11 | 驾驶员人脸检测方法、计算机装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911095723.3A CN110866484B (zh) | 2019-11-11 | 2019-11-11 | 驾驶员人脸检测方法、计算机装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110866484A CN110866484A (zh) | 2020-03-06 |
CN110866484B true CN110866484B (zh) | 2022-09-09 |
Family
ID=69654802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911095723.3A Active CN110866484B (zh) | 2019-11-11 | 2019-11-11 | 驾驶员人脸检测方法、计算机装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866484B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582040B (zh) * | 2020-04-13 | 2023-10-13 | 武汉理工大学 | 一种船舶驾驶舱的人员定位方法、系统和存储介质 |
CN114445622A (zh) * | 2022-01-14 | 2022-05-06 | 支付宝(杭州)信息技术有限公司 | 一种目标检测方法、装置、设备及处理器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016179808A1 (en) * | 2015-05-13 | 2016-11-17 | Xiaoou Tang | An apparatus and a method for face parts and face detection |
CN106909888A (zh) * | 2017-01-22 | 2017-06-30 | 南京开为网络科技有限公司 | 应用于移动设备端的人脸关键点跟踪系统及方法 |
CN107688786A (zh) * | 2017-08-30 | 2018-02-13 | 南京理工大学 | 一种基于级联卷积神经网络的人脸检测方法 |
CN107871102A (zh) * | 2016-09-23 | 2018-04-03 | 北京眼神科技有限公司 | 一种人脸检测方法及装置 |
CN108875624A (zh) * | 2018-06-13 | 2018-11-23 | 华南理工大学 | 基于多尺度的级联稠密连接神经网络的人脸检测方法 |
CN110189255A (zh) * | 2019-05-29 | 2019-08-30 | 电子科技大学 | 基于两级检测的人脸检测方法 |
CN110321841A (zh) * | 2019-07-03 | 2019-10-11 | 成都汇纳智能科技有限公司 | 一种人脸检测方法及系统 |
-
2019
- 2019-11-11 CN CN201911095723.3A patent/CN110866484B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016179808A1 (en) * | 2015-05-13 | 2016-11-17 | Xiaoou Tang | An apparatus and a method for face parts and face detection |
CN107871102A (zh) * | 2016-09-23 | 2018-04-03 | 北京眼神科技有限公司 | 一种人脸检测方法及装置 |
CN106909888A (zh) * | 2017-01-22 | 2017-06-30 | 南京开为网络科技有限公司 | 应用于移动设备端的人脸关键点跟踪系统及方法 |
CN107688786A (zh) * | 2017-08-30 | 2018-02-13 | 南京理工大学 | 一种基于级联卷积神经网络的人脸检测方法 |
CN108875624A (zh) * | 2018-06-13 | 2018-11-23 | 华南理工大学 | 基于多尺度的级联稠密连接神经网络的人脸检测方法 |
CN110189255A (zh) * | 2019-05-29 | 2019-08-30 | 电子科技大学 | 基于两级检测的人脸检测方法 |
CN110321841A (zh) * | 2019-07-03 | 2019-10-11 | 成都汇纳智能科技有限公司 | 一种人脸检测方法及系统 |
Non-Patent Citations (1)
Title |
---|
《HyperFace: A Deep Multi-task Learning Framework for Face Detection, Landmark Localization, Pose Estimation, and Gender Recognition》;Rajeev Ranjan 等;《arXiv:1603.01249v3》;20171206;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110866484A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110414507B (zh) | 车牌识别方法、装置、计算机设备和存储介质 | |
CN109753913B (zh) | 计算高效的多模式视频语义分割方法 | |
CN111814902A (zh) | 目标检测模型训练方法、目标识别方法、装置和介质 | |
CN110378837B (zh) | 基于鱼眼摄像头的目标检测方法、装置和存储介质 | |
CN110866484B (zh) | 驾驶员人脸检测方法、计算机装置及计算机可读存储介质 | |
CN111091101B (zh) | 基于一步法的高精度行人检测方法、系统、装置 | |
CN111401196A (zh) | 受限空间内自适应人脸聚类的方法、计算机装置及计算机可读存储介质 | |
CN111191535B (zh) | 基于深度学习的行人检测模型构建方法及行人检测方法 | |
CN112884147B (zh) | 神经网络训练方法、图像处理方法、装置及电子设备 | |
CN112132130B (zh) | 一种面向全场景的实时性车牌检测方法及系统 | |
CN113780243A (zh) | 行人图像识别模型的训练方法、装置、设备以及存储介质 | |
CN115147598A (zh) | 目标检测分割方法、装置、智能终端及存储介质 | |
CN114743130A (zh) | 多目标行人跟踪方法及系统 | |
CN111931572B (zh) | 一种遥感影像的目标检测方法 | |
CN110799984A (zh) | 跟踪控制方法、设备、计算机可读存储介质 | |
CN111507999B (zh) | 一种基于fdsst算法的目标追踪方法及装置 | |
CN110046623B (zh) | 一种图像特征点提取方法和相机 | |
CN114140822A (zh) | 行人重识别方法及装置 | |
CN113807407B (zh) | 目标检测模型训练方法、模型性能检测方法及装置 | |
CN110580706A (zh) | 一种视频背景模型的提取方法及装置 | |
CN113963204A (zh) | 一种孪生网络目标跟踪系统及方法 | |
CN113112525A (zh) | 目标跟踪方法、网络模型及其训练方法、设备和介质 | |
CN111597979B (zh) | 一种目标对象聚类方法及装置 | |
CN113343918A (zh) | 一种电力设备识别方法、系统、介质及电子设备 | |
CN113129332A (zh) | 执行目标对象跟踪的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |