本发明涉及视频监控技术领域,尤其涉及一种人脸定位方法及装置。
背景技术:
随着交通领域的不断发展,智能化交通时代已经到来。从基础要求的车牌识别开始,慢慢延伸出各种针对车辆和车内驾驶室智能的应用。作为驾驶室内智能的主体,驾驶室人员的人脸定位,至关重要。一方面驾驶室人员人脸信息可用于公安刑侦,另一方面,遮阳板,安全带,开车打电话等等智能分析,也都依赖于人脸的定位。
因此,如何实现针对驾驶室内人员的人脸定位成为智能交通邻域一个亟待解决的技术问题。
技术实现要素:
本发明提供一种人脸定位方法及装置,以提高人脸定位的准确性。
根据本发明的第一方面,提供一种人脸定位方法,包括:
对监控图像中的目标车辆进行车牌识别;
根据所述目标车辆的车牌位置以及所述监控图像中车道线的位置确定所述目标车辆所在车道;
根据所述目标车辆所在车道的车道线角度确定所述目标车辆的车辆角度;其中,所述车道线角度以及车辆角度分别为车道线以及车辆中轴线与指定坐标轴的夹角;
根据所述目标车辆的车牌宽度、车辆角度、车牌中心点位置以及预先训练好的人脸位置拟合模型,对所述目标车辆进行人脸定位。
根据本发明的第二方面,提供一种人脸定位装置,其特征在于,包括:
车牌识别单元,用于对监控图像中的目标车辆进行车牌识别;
第一确定单元,用于根据所述目标车辆的车牌位置以及所述监控图像中车道线的位置确定所述目标车辆所在车道;
第二确定单元,用于根据所述目标车辆所在车道的车道线角度确定所述目标车辆的车辆角度;其中,所述车道线角度以及车辆角度分别为车道线以及车辆中轴线与指定坐标轴的夹角;
定位单元,用于根据所述目标车辆的车牌宽度、车辆角度、车牌中心点位置以及预先训练好的人脸位置拟合模型,对所述目标车辆进行人脸定位。
应用本发明公开的技术方案,通过对监控图像中的目标车辆进行车牌识别,并根据目标车辆的车牌位置以及监控图像中车道线的位置确定所述目标车辆所在车道,根据目标车辆所在车道的车道线角度确定目标车辆的车辆角度,进而,根据目标车辆的车牌宽度、车辆角度、车牌中心点位置以及预先训练好的人脸位置拟合模型,对目标车辆进行人脸定位,提高了人脸定位的准确性。
附图说明
图1是本发明实施例提供的一种人脸定位方法的流程示意图;
图2是本发明实施例提供的一种具体场景的示意图;
图3是本发明实施例提供的一种人脸定位装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种人脸定位方法的流程示意图,其中,该车辆特征提取方法可以应用于智能交通领域的视频监控系统,如图1所示,该人脸定位方法可以包括以下步骤:
需要说明的是,步骤101~步骤104的执行主体可以为视频监控系统中的后台服务器,或后台服务器的处理器,如cpu(centerprocessunit,中央处理单元),为便于描述,以下以步骤101~步骤104的执行主体为后台服务器为例进行说明。
步骤101、对监控图像中的目标车辆进行车牌识别。
本发明实施例中,目标车辆并不特指某一固定的车辆,而是可以指代监控图像中任一需要进行驾驶员人脸定位的车辆,本发明实施例后续不再复述。
本发明实施例中,后台服务器对监控图像中目标车辆的车牌识别可以包括对目标车辆的车牌在监控图像中的位置以及车牌宽度进行识别,其具体实现可以参见现有技术中的相关实现,本发明实施例在此不做赘述。
步骤102、根据目标车辆的车牌位置以及监控图像中车道线的位置确定目标车辆所在车道。
本发明实施例中,为了实现对目标车辆的驾驶员的人脸定位,还需要对监控图像进行车道线标定,并确定监控图像中各车道线的直线公式。
举例来说,假设监控图像中存在n(n为大于2的正整数)条车道线,对于任一车道线,可以以该车道线上任意两点的在监控图像中的坐标(其中,可以以监控图像左上角为坐标原点,水平向右为x轴正向,竖直向下为y轴正向建立坐标系)对该车道线进行标定,假设对于车道线i(1≤i≤n),其车道线上两点的坐标分别为(xi1,yi1),(xi2,yi2),则该车道线i可以表示为(xi1,yi1),(xi2,yi2)。
在完成上述车道线标定之后,可以进一步确定该车道线的直线公式。
其中,以上述车道线i为例,根据该车道线i上两点的坐标(xi1,yi1),(xi2,yi2)可知车道线i的直线公式如下:
进而,得到y=ax+b;其中,
值得说明的是,在本发明实施例中,考虑到道路上部署的用于车辆监控的摄像机(以下以卡口摄像机为例)一般安装完后就固定了,成像场景固定不变,因此,只需要在卡口摄像机安装后进行一次车道线标定即可。
本发明实施例中,后台服务器对监控图像中的目标车辆进行车牌识别之后,可以根据目标车辆的车牌位置以及监控图像中车道线的位置确定目标车辆所在的车道。
作为一种可选的实施方式,上述步骤102中,根据目标车辆的车牌位置以及监控图像中车道线的位置确定目标车辆所在车道,可以包括:
确定监控图像中经过目标车辆的车牌中心点的水平方向的目标直线与各车道线的交点的横坐标;
根据目标车辆的车牌中心点的横坐标以及各交点的横坐标确定目标车辆所在的车道;其中,目标直线与目标车辆所在车道的其中一条车道的交点的横坐标大于目标车辆的车牌中心的横坐标,目标直线与目标车辆所在车道的另一条车道的交点的横坐标小于目标车辆的车牌中心的横坐标。
本发明实施例中,考虑到车辆在道路上行驶过程中,车辆通常会行驶在所在车道的两条车道线之间,而车辆的车牌一般处于车前脸中间位置,因此,车辆的车牌中心点一般也处于车辆所在车道的两条车道线之间,因此,可以根据车辆的车牌中心位置确定车辆两侧相邻的共两条车道线,进而,确定车辆所在的车道。
相应地,在该实施方式中,后台服务器确定了监控图像中目标车辆的车牌位置之后,可以根据车牌中心点的坐标以及监控图像内各车道线的直线公式,确定监控图像中经过该目标车辆的车牌中心点的水平方向的直线(本文中称为目标直线)与各车道线的交点的横坐标,进而,后台服务器可以将各交点中横坐标大于车牌中心点的横坐标,且二者差值的绝对值最小的交点,以及横坐标小于车牌中心点的横坐标,且二者差值的绝对值最小的交点确定为目标直线分别与目标车辆所在车道的两条车道线的交点,并根据该两个交点所属的车道线确定目标车辆所在的车道。
应该认识到,上述通过确定目标直线与各车道线的交点的横坐标,并比较各交点的横坐标以及目标车辆的车牌中心点的横坐标大小来确定目标车辆所在车道的方式仅仅属于本发明实施例所提供的技术方案中确定目标车辆所在车道的一种具体示例,而并不是对本发明保护范围的限定,即本发明实施例提供的技术方案中也可以通过其它方式确定目标车辆所在车道,例如,后台服务器可以分别确定目标车辆的车牌中心点到车牌中心点两侧的车道线的距离,对于车牌中心点左侧(或右侧)的各车道线,将车牌中心点到该车道线的距离最短的车道线确定为目标车辆所在车道的车道线,进而,根据该两条车道线确定目标车辆所在车道,其具体实现在此不做赘述。
此外,需要说明的是,在本发明实施例中,若目标车辆的车牌中心点落在某一车道线上,则后台服务器可以直接将车牌中心点所在车道线左侧(参照车辆行驶方向,下同)的车道确定为目标车辆所在的车道(驾驶室位于车辆左侧的情况)或将车牌中心点所在车道线右侧)的车道确定为目标车辆所在的车道(驾驶室位于车辆右侧的情况),或者,后台服务器也可以根据车辆中轴线上从车牌中心点向车辆正后方延伸的部分相对于车牌中心点落在的车道线的方位确定目标车辆所在车道,若车辆中轴线上从车牌中心点向车辆正后方延伸的部分在车牌中心点落在的车道线的左侧,则将车牌中心点左侧的车道确定为目标车辆所在的车道;否则,将车牌中心点右侧的车道确定为目标车辆所在的车道,其具体实现在此不做赘述。
步骤103、根据目标车辆所在车道的车道线角度确定目标车辆的车辆角度;其中,车道线角度以及车辆角度分别为车道线以及车辆中轴线与指定坐标轴的夹角。
本发明实施例中,可以将车道线与指定坐标轴(x轴或y轴)的夹角确定为车道线角度,将车辆中轴线与该指定坐标轴的夹角确定为车辆角度。
本发明实施例中,后台服务器确定了目标车辆所在车道之后,可以先确定目标车辆所在车道的两条车道线的车道线角度,并利用车辆中轴线通常位于两条车道线之间的特点,根据目标车辆所在车道的两条车道线的车道线角度确定目标车辆的车辆角度。
作为一种可选的实施方式,上述步骤103中,当指定坐标轴为横坐标轴(即x轴)时,根据目标车辆所在车道的车道线角度确定目标车辆的车辆角度,可以包括:
通过以下公式实现根据目标车辆所在车道的车道线角度确定目标车辆的车辆角度:
其中,anglecar为车辆角度,angler为目标车辆所在车道沿所述目标车辆行驶方向的右侧车道线的车道线角度,anglel为目标车辆所在车道沿目标车辆行驶方向的左侧车道线的车道线角度,lpx为目标车牌的车牌中心的横坐标,xr为目标直线与目标车辆所在车道沿目标车辆行驶方向的右侧车道线的交点的横坐标,xl为目标直线与目标车辆所在车道沿目标车辆行驶方向的左侧车道线的交点的横坐标,目标直线为经过目标车辆的车牌中心点的水平方向的直线。
值得说明的是,上述虽然以指定坐标轴为横坐标轴为例进行了说明,但是本发明实施例中也可以将纵坐标轴设定为指定坐标轴,其具体实现在此不做赘述。
步骤104、根据目标车辆的车牌宽度、车辆角度、车牌中心点位置以及预先训练好的人脸位置拟合模型,对目标车辆进行人脸定位。
本发明实施例中,为了实现对目标车辆的驾驶员的人脸定位,需要预先进行人脸位置拟合模型训练,该人脸位置拟合模型的输入参数可以包括车辆角度以及车牌中心点的纵坐标,输出参数分别为人脸位置的横坐标与车牌中心点的横坐标的差值的绝对值与车牌宽度的比值,以及人脸位置的纵坐标与车牌中心点的纵坐标的差值的绝对值与车牌宽度的比值,训练样本可以为通过人工或其它方式进行了人脸位置标定的同一卡口摄像机的监控图像。
相应地,在本发明实施例中,当后台服务器确定了目标车辆的车辆角度之后,可以将目标车辆的车辆角度以及目标车辆的车牌中心点的纵坐标输入到预先训练好的人脸位置拟合模型中,得到目标车辆的驾驶员人脸位置的横坐标与车牌中心点的横坐标的差值的绝对值与车牌宽度的比值,以及人脸位置的纵坐标与车牌中心点的纵坐标的差值的绝对值与车牌宽度的比值,进而,根据车牌中心点的坐标、车牌宽度以及所确定的比值,分别确定人脸位置的横坐标和纵坐标。
作为一种可选的实施方式,上述步骤104中,根据目标车辆的车牌宽度、车辆角度、车牌中心点位置以及预先训练好的人脸位置拟合模型,对目标车辆进行人脸定位,包括:
通过以下公式实现对所述目标车辆进行人脸定位:
ratiow=f1(anglecar,lpy)
=a1*anglecar2+b1*anglecar*lpy+c1*anglecar+d1*lpy+e1*lpy2+f1ratioh=f2(anglecar,lpy)
=a2*anglecar2+b2*anglecar*lpy+c2*anglecar+d2*lpy+e2*lpy2+f2
facex=lpx+ratiow*lpw
facey=lpy+ratioh*lpw
其中,anglecar为车辆角度,lpw为目标车辆的车牌宽度,lpx为目标车辆的车牌中心点的横坐标,lpy为目标车辆的车牌中心点的纵坐标,ratiow为人脸位置的横坐标与目标车辆的车牌中心点的横坐标二者之间的差值与目标车辆的车牌宽度的比例,ratioh为人脸位置的纵坐标与目标车辆的车牌中心点的纵坐标二者之间的差值与目标车辆的车牌宽度的比例,facex为人脸位置的横坐标,facey为人脸位置的纵坐标,a1、b1、c1、d1、e1、f1、a2、b2、c2、d2、e2以及f2为通过样本训练确定的常数。
在该实施方式中,可以分别通过样本训练用于确定人脸位置的横坐标与车牌中心点的横坐标的差值的绝对值与车牌宽度的比值的人脸位置拟合模型(即f1(anglecar,lpy))以及确定人脸位置的纵坐标与车牌中心点的纵坐标的差值的绝对值与车牌宽度的比值的人脸位置拟合模型(即f2(anglecar,lpy)),并利用训练好的人脸位置拟合模型,根据所确定的目标车辆的车辆角度以及车牌中心点的纵坐标确定目标车辆的驾驶员人脸位置的横坐标与车牌中心点的横坐标的差值的绝对值与车牌宽度的比值,以及人脸位置的纵坐标与车牌中心点的纵坐标的差值的绝对值与车牌宽度的比值,进而,根据车牌中心点的坐标、车牌宽度以及所确定的比值,分别确定人脸位置的横坐标和纵坐标。
需要说明的是,上述流程中虽然通过目标车辆的车牌宽度、车辆角度以及车牌中心点的纵坐标实现人脸定位,但是本发明实施例并不限于此,在本发明实施例中,当车辆角度以及车道线角度均以纵坐标轴为参照时(即上述指定坐标轴为纵坐标轴时),后台服务器也可以通过目标车辆的车牌宽度(或车牌高度)、车辆角度以及车牌中心点的横坐标实现人脸定位,其具体实现在此不再赘述。
进一步地,在本发明实施例中,考虑到不同类型的车辆,驾驶室的位置相对于车牌而言,可能会存在明显差异。例如,对于大型车(黄色车牌)和小型车(蓝色车牌),驾驶室的位置相对于车牌而言,存在明显差异。
相应地,作为一种可选的实施方式,在本发明实施例中,不同车辆类型对应的人脸位置拟合模型不同;
上述根据目标车辆的车牌宽度、车辆角度、车牌中心位置以及预先训练好的人脸位置拟合模型,对目标车辆进行人脸定位,包括:
根据目标车辆的车牌宽度、车辆角度、车牌中心位置以及预先训练好的目标车辆的车辆类型对应的人脸位置拟合模型,对目标车辆进行人脸定位。
在该实施方式中,为了提高人脸定位的准确性,对于不同类型的车辆,可以训练不同的人脸位置拟合模型(即f1(anglecar,lpy)以及f2(angleca,rlpy)中的常数不完全相同)。
相应地,当后台服务器需要对目标车辆进行驾驶员人脸定位时,还需要确定目标车辆的类型(如大型车或小型车,或者其它类型),进而,在后台服务器确定了目标车辆的车辆角度之后,可以根据车辆角度、车牌宽度、车牌中心点的纵坐标以及目标车辆的车辆类型对应的人脸位置拟合模型对目标车辆进行人脸定位。
可见,在图1所示的方法流程中,通过对监控图像进行车道线标定,并根据目标车辆的车牌位置确定目标车辆所在车道,进而,根据目标车辆所在车道的车道线确定目标车辆的车辆角度,并根据目标车辆的车辆角度、车牌宽度、车牌中心点位置以及预先训练好的人脸位置拟合模型对目标车辆进行人脸定位,提高了车辆驾驶室人脸定位的准确性。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行描述。
请参见图2,为本发明实施例提供的一种具体应用场景的示意图,基于图2所示场景,本发明实施例提供的人脸定位方案实现流程如下(以对图2所示场景中最前列左侧(参照车辆行驶方向)车辆(该实施例中称为目标车辆)进行人脸定位为例):
1、对于任一车道线,识别该车道线上任意两点的坐标(xi1,yi1),(xi2,yi2);其中,i表示车道线序号,在图2中以车辆行驶方向的最左侧车道线为车道线1为例,i=1,2,3,4,5。
例如,对于车道线1,该两点的坐标可以表示为(x11,y11),(x12,y12)
2、根据所识别的车道线上的两点的坐标,确定车道线的直线公式:
进而,得到y=ax+b;其中,
3、对目标车辆进行车牌识别,以获取目标车辆的车牌类型、车牌宽高以及车牌中心点坐标。
4、确定目标车辆所在车道。
在该实施例中,在确定了目标车牌的车牌中心点坐标(假设为(lpx,lpy))之后,可以确定经过车牌中心点的水平方向的直线(即y=lpy)与各车道线的交点的横坐标,假设分别为(x1,x2,x3,x4,x5),并根据lpx在(x1,x2,x3,x4,x5)中所处的位置(按大小排序的位置)确定目标车辆所在的车道以及邻近的两条车道线。
在该实施例中,x3<lpx<x4,即目标车辆处于车道线3与车道线4之间的车道。
5、计算车道线3和车道线4的车道线角度angle3和angle4,并根据车道线3和车道线4的车道线角度,利用以下公式计算目标车辆的车辆角度anglecar(以指定坐标轴为x轴为例):
6、根据目标车辆的车牌类型确定目标车辆的车辆类型(在该实施例中,以车辆类型包括大型车或小型车为例),并将目标车辆的车辆角度anglecar以及车牌中心点纵坐标输入到预先训练好的与目标车辆的车辆类型对应的人脸位置拟合模型:
ratiow=f1(anglecar,lpy)
=a1*anglecar2+b1*anglecar*lpy+c1*anglecar+d1*lpy+e1*lpy2+f1ratioh=f2(anglecar,lpy)
=a2*anglecar2+b2*anglecar*lpy+c2*anglecar+d2*lpy+e2*lpy2+f2
在确定了ratiow和ratioh之后,可以根据目标车辆的车牌宽度(假设为lpw)以及车牌中心点的坐标,利用以下公式计算人脸位置坐标(facex,facey):
facex=lpx+ratiow*lpw
facey=lpy+ratioh*lpw
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过对监控图像中的目标车辆进行车牌识别,并根据目标车辆的车牌位置以及监控图像中车道线的位置确定所述目标车辆所在车道,根据目标车辆所在车道的车道线角度确定目标车辆的车辆角度,进而,根据目标车辆的车牌宽度、车辆角度、车牌中心点位置以及预先训练好的人脸位置拟合模型,对目标车辆进行人脸定位,提高了人脸定位的准确性。
请参见图3,为本发明实施例提供的一种人脸定位装置的结构示意图,其中,该人脸定位装置可以应用于视频监控系统,如应用于上述方法实施例中的后台服务器,如图3所示,该人脸定位装置可以包括:
车牌识别单元310,用于对监控图像中的目标车辆进行车牌识别;
第一确定单元320,用于根据所述目标车辆的车牌位置以及所述监控图像中车道线的位置确定所述目标车辆所在车道;
第二确定单元330,用于根据所述目标车辆所在车道的车道线角度确定所述目标车辆的车辆角度;其中,所述车道线角度以及车辆角度分别为车道线以及车辆中轴线与指定坐标轴的夹角;
定位单元340,用于根据所述目标车辆的车牌宽度、车辆角度、车牌中心点位置以及预先训练好的人脸位置拟合模型,对所述目标车辆进行人脸定位。
在可选实施例中,所述第一确定单元320,具体用于确定所述监控图像中经过所述目标车辆的车牌中心点的水平方向的目标直线与各车道线的交点的横坐标;根据所述目标车辆的车牌中心点的横坐标以及各交点的横坐标确定所述目标车辆所在的车道;其中,所述目标直线与所述目标车辆所在车道的其中一条车道的交点的横坐标大于所述目标车辆的车牌中心的横坐标,所述目标直线与所述目标车辆所在车道的另一条车道的交点的横坐标小于所述目标车辆的车牌中心的横坐标。
在可选实施例中,所述第二确定单元330,具体用于通过以下公式实现根据所述目标车辆所在车道的车道线角度确定所述目标车辆的车辆角度:
其中,anglecar为车辆角度,angler为所述目标车辆所在车道沿所述目标车辆行驶方向的右侧车道线的车道线角度,anglel为所述目标车辆所在车道沿所述目标车辆行驶方向的左侧车道线的车道线角度,lpx为所述目标车牌的车牌中心的横坐标,xr为目标直线与所述目标车辆所在车道沿所述目标车辆行驶方向的右侧车道线的交点的横坐标,xl为所述目标直线与所述目标车辆所在车道沿所述目标车辆行驶方向的左侧车道线的交点的横坐标,所述目标直线为经过所述目标车辆的车牌中心点的水平方向的直线,所述指定坐标轴为横坐标轴。
在可选实施例中,所述定位单元340,具体用于通过以下公式实现对所述目标车辆进行人脸定位:
ratiow=f1(anglecar,lpy)
=a1*anglecar2+b1*anglecar*lpy+c1*anglecar+d1*lpy+e1*lpy2+f1ratioh=f2(anglecar,lpy)
=a2*anglecar2+b2*anglecar*lpy+c2*anglecar+d2*lpy+e2*lpy2+f2
facex=lpx+ratiow*lpw
facey=lpy+ratioh*lpw
其中,anglecar为车辆角度,lpw为所述目标车辆的车牌宽度,lpx为所述目标车辆的车牌中心点的横坐标,lpy为所述目标车辆的车牌中心点的纵坐标,ratiow为人脸位置的横坐标与所述目标车辆的车牌中心点的横坐标二者之间的差值与所述目标车辆的车牌宽度的比例,ratioh为人脸位置的纵坐标与所述目标车辆的车牌中心点的纵坐标二者之间的差值与所述目标车辆的车牌宽度的比例,facex为人脸位置的横坐标,facey为人脸位置的纵坐标,a1、b1、c1、d1、e1、f1、a2、b2、c2、d2、e2以及f2为通过样本训练确定的常数。
在可选实施例中,不同车辆类型对应的人脸位置拟合模型不同;
相应地,所述定位单元340,具体用于根据所述目标车辆的车牌宽度、车辆角度、车牌中心位置以及预先训练好的所述目标车辆的车辆类型对应的人脸位置拟合模型,对所述目标车辆进行人脸定位。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是同一个物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过对监控图像中的目标车辆进行车牌识别,并根据目标车辆的车牌位置以及监控图像中车道线的位置确定所述目标车辆所在车道,根据目标车辆所在车道的车道线角度确定目标车辆的车辆角度,进而,根据目标车辆的车牌宽度、车辆角度、车牌中心点位置以及预先训练好的人脸位置拟合模型,对目标车辆进行人脸定位,提高了人脸定位的准确。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。