CN110723073B - 一种汽车a柱透视方法 - Google Patents

一种汽车a柱透视方法 Download PDF

Info

Publication number
CN110723073B
CN110723073B CN201910996968.7A CN201910996968A CN110723073B CN 110723073 B CN110723073 B CN 110723073B CN 201910996968 A CN201910996968 A CN 201910996968A CN 110723073 B CN110723073 B CN 110723073B
Authority
CN
China
Prior art keywords
driver
image
head
plane
face
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
Application number
CN201910996968.7A
Other languages
English (en)
Other versions
CN110723073A (zh
Inventor
秦学斌
景宁波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Science and Technology
Original Assignee
Xian University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian University of Science and Technology filed Critical Xian University of Science and Technology
Priority to CN201910996968.7A priority Critical patent/CN110723073B/zh
Publication of CN110723073A publication Critical patent/CN110723073A/zh
Application granted granted Critical
Publication of CN110723073B publication Critical patent/CN110723073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R1/00Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q9/00Arrangement or adaptation of signal devices not provided for in one of main groups B60Q1/00 - B60Q7/00, e.g. haptic signalling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/08Projecting images onto non-planar surfaces, e.g. geodetic screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/20Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of display used
    • B60R2300/202Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of display used displaying a blind spot scene on the vehicle part responsible for the blind spot
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/30Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of image processing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/80Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the intended use of the viewing arrangement
    • B60R2300/802Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the intended use of the viewing arrangement for monitoring and displaying vehicle exterior blind spot views
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mechanical Engineering (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种汽车A柱透视方法,包括步骤:将获取的驾驶员头部的深度图像和RGB图像配准且进行脸部特征识别,当识别到驾驶员脸部特征时,获取驾驶员脸部重心的三维坐标,当未识别到驾驶员脸部特征时,采用粒子滤波器跟踪驾驶员头部,获取驾驶员头部重心的三维坐标;以驾驶员脸部重心三维坐标作为球面模型的球心,将鱼眼视频流数据校正后生成球面图像且生成透视图像;以驾驶员头部重心三维坐标作为球面模型的球心,将鱼眼视频流数据校正后生成球面图像且生成透视图像;当驾驶员头部移动超出预先设定的范围时,报警模块发出警报。本发明能够随时以驾驶员视点为中心获取透视图像,有效地避免了驾驶员在行驶过程中遇到的障碍,提高了驾驶安全。

Description

一种汽车A柱透视方法
技术领域
本发明属于汽车安全技术领域,具体涉及一种汽车A柱透视方法。
背景技术
汽车A柱作为车身关键承力结构,由于存在强度的要求,使A柱具有一定的宽度,导致汽车在行驶时,A柱的宽度会遮挡驾驶员一部分视线,造成视野盲区,尤其在向驾驶员一侧转弯时,容易发生事故。
现有技术中,为了解决以上问题,开始采用汽车盲区透视系统来辅助驾驶员观察路况,例如,申请号为201710047056.6的中国发明专利,公开了一种基于深度数据和鱼眼图像的汽车A柱盲区透视方法,在汽车A柱安装深度摄像头和鱼眼摄像头,建立驾驶员与A柱外场景的深度图,将A柱外的场景在显示屏上形成透视图像,克服了呈现在显示屏上的画面缺乏立体真实感的缺陷,但是在识别驾驶员脸部时,识别特征类型单一,未将脸部特征分为全局特征与局部特征分别识别与融合处理,识别的准确率有待提高,并且,在未识别到驾驶员脸部时,缺乏处理措施,在驾驶时,容易造成一定的交通事故,因此,有必要克服上述缺陷,提高驾驶安全。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种汽车A柱透视方法,其通过视觉传感器获取驾驶员头部图像,进行驾驶员脸部特征识别,当检测到驾驶员脸部特征时,获取驾驶员脸部重心的三维坐标和驾驶员脸部平面法线方向;当未检测到驾驶员脸部特征时,采用粒子滤波器跟踪驾驶员头部位置,获取驾驶员头部重心的三维坐标和驾驶员头部平面法线方向;基于获取的驾驶员脸部重心三维坐标或头部重心三维坐标构建球面模型,通过鱼眼相机获取汽车A柱外场景的鱼眼视频流数据且生成球面图像,再将球面图像生成透视图像,能够随时以驾驶员视点为中心获取透视图像,有效地避免了驾驶员在行驶过程中遇到的障碍,设计新颖,使用效果好,便于推广使用。
为解决上述技术问题,本发明采用的技术方案是:一种汽车A柱透视方法,方法包括步骤:
步骤S1、通过视觉传感器获取驾驶员头部的深度图像和RGB图像并传输给图像处理器;
步骤S2、图像处理器对驾驶员头部的深度图像和RGB图像进行配准;
步骤S3、图像处理器基于配准后的图像,对驾驶员脸部特征进行识别,当识别到驾驶员脸部特征时,获取驾驶员脸部重心的三维坐标和驾驶员脸部平面法线方向,并执行步骤S4;当未识别到驾驶员脸部特征时,采用粒子滤波器跟踪驾驶员头部位置,获取驾驶员头部重心的三维坐标和驾驶员头部平面法线方向,并执行步骤S5;
步骤S4、图像处理器以步骤S3中获取的驾驶员脸部重心三维坐标作为球面模型的球心,构建球面模型;通过鱼眼相机获取汽车A柱外场景的鱼眼视频流数据并传输给图像处理器,将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像;根据驾驶员脸部平面法线方向,将球面图像生成透视图像,执行步骤S6;
步骤S5、图像处理器以步骤S3中获取的驾驶员头部重心三维坐标作为球面模型的球心,构建球面模型;通过鱼眼相机获取汽车A柱外场景的鱼眼视频流数据并传输给图像处理器,将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像;根据驾驶员头部平面法线方向,将球面图像生成透视图像,执行步骤S6;
步骤S6、图像处理器将透视图像传输给显示屏进行显示,图像处理器实时检测驾驶员头部移动是否超出预先设定的范围,当驾驶员头部移动超出预先设定的范围时,图像处理器发出信号给报警模块,报警模块发出警报。
上述的一种汽车A柱透视方法,在步骤S1之后步骤S2之前,还对深度图像和RGB图像进行高斯滤波处理。
上述的一种汽车A柱透视方法,所述视觉传感器为Kinect v2传感器。
上述的一种汽车A柱透视方法,步骤S2中所述图像处理器对驾驶员头部的深度图像和RGB图像进行配准时,采用预先存储在图像处理器中的旋转矩阵R'和平移矩阵T'进行配准;所述旋转矩阵R'和平移矩阵T'的获取的过程为:
步骤S201、采用棋盘格的方式,通过视觉传感器获取棋盘格的RGB图像并存储在图像处理器中,再获取棋盘格的RGB图像上的角点位置;
步骤S202、采用棋盘格的方式,通过视觉传感器获取棋盘格的深度图像并存储在图像处理器中,再获取棋盘格的深度图像上的角点位置,其中,获取棋盘格的深度图像上的角点位置的具体方法为:将棋盘格的深度图像转换为二值图像,在二值图像上手动点击角点且将手动点击的角点位置作为初始角点的位置,基于初始角点的位置,采用最小二乘法获取多条水平方向上的直线和多条竖直方向上的直线,将获取的多条直线作为边缘线的初始值,以每条线为中心线,选择10个像素带宽的白色点区域像素优化初始边缘线,将最优边缘线的交点位置确定为棋盘格的深度图像上的角点位置;
步骤S203、将存储的棋盘格的RGB图像上的角点位置和存储的棋盘格的深度图像上的角点位置映射到世界坐标系中,通过旋转和平移使棋盘格的RGB图像上的角点位置和棋盘格的深度图像上的角点位置达到重合状态,计算出旋转矩阵R'和平移矩阵T'。
上述的一种汽车A柱透视方法,步骤S3中所述图像处理器基于配准后的图像,对驾驶员脸部特征进行识别的具体过程为:
步骤S3A1、驾驶员脸部全局特征的提取:所述图像处理器先对配准后的图像进行Gabor变换,再对Gabor变换的输出结果应用Zernike矩的离散形式,提取出驾驶员脸部全局特征;
步骤S3A2、驾驶员脸部局部特征的提取:所述图像处理器先对配准后的图像进行高斯滤波,再采用梯度直方图对高斯滤波后的图像进行形状信息描述,并基于相邻图像块的重叠计算去除光照变化和偏移对特征的影响,提取出驾驶员脸部局部特征;
步骤S3A3、所述图像处理器将提取的驾驶员脸部全局特征和驾驶员脸部局部特征进行融合,形成驾驶员脸部的融合特征;
步骤S3A4、所述图像处理器采用支持向量机分类器对驾驶员脸部融合特征进行二分类,分为是驾驶员脸部特征和非驾驶员脸部特征两类。
上述的一种汽车A柱透视方法,步骤S3中所述采用粒子滤波器跟踪驾驶员头部位置,获取驾驶员头部重心的三维坐标和驾驶员头部平面法线方向的具体过程为:
S3B1、粒子群初始化:采用M'个粒子的随机集合
Figure GDA0002942054930000051
表示驾驶员头部的状态空间分布,其中,
Figure GDA0002942054930000052
为驾驶员头部在t时刻第m'个粒子的位置和驾驶员头部平面法线方向,m'的取值为1~M'的自然数;粒子的后验概率密度分布bel(Xt)为
Figure GDA0002942054930000053
at-1为驾驶员头部t时刻上一时刻所执行的动作,ot-1为驾驶员头部t时刻上一时刻所获得的观察信息;
步骤S3B2、粒子状态更新:根据驾驶员头部上一时刻所执行的动作更新每个粒子
Figure GDA0002942054930000054
的状态,得到新的粒子簇
Figure GDA0002942054930000055
其中,dt-1为驾驶员头部通过执行at-1后得到的位置变化矢量,R2为二维空间;
Figure GDA0002942054930000056
为驾驶员头部在t-1时刻第m'个粒子的位置和驾驶员头部平面法线方向;
步骤S3B3、获取观察信息并计算粒子权重值:通过视觉传感器获取观察信息ot来更新驾驶员头部可能位置的粒子的后验概率密度分布bel(Xt),用Et表示t时刻观察信息和执行的动作带有的噪音误差,根据公式
Figure GDA0002942054930000057
对获得的观察信息ot重新计算每个粒子的权重值
Figure GDA0002942054930000058
步骤S3B4、基于粒子权重值重采样:粒子滤波器根据每个粒子的权重值对粒子簇
Figure GDA0002942054930000059
进行随机重采样,当粒子落在噪音误差Et外时,粒子权重值始终为0,落在噪音误差外的粒子不会被采集到,当粒子落在噪音误差Et内时,落在噪音误差内的粒子以相等的概率被采集组成新的粒子集合;
步骤S3B5、将粒子的权重值作为粒子的后验概率密度用于估算粒子的后验概率密度分布,实时更新粒子的状态,按照步骤S3B2~步骤S3B5进行迭代,直到达到预设的最大迭代次数,获取得到驾驶员头部位置和驾驶员头部平面法线方向。
上述的一种汽车A柱透视方法,步骤S4中所述将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像是依次通过校正径向误差、切向误差和光心误差后生成球面图像;步骤S4中所述根据驾驶员脸部平面法线方向,将球面图像生成透视图像的具体过程为:将驾驶员脸部平面法线方向归一化向量设为(xface,yface,zface),基于驾驶员脸部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000061
并以所述极坐标
Figure GDA0002942054930000062
为透视图像的中心点的极坐标,将球面图像生成透视图像;其中,θs为透视图像的中心点对应的天顶角,
Figure GDA0002942054930000063
为透视图像的中心点对应的方位角。
上述的一种汽车A柱透视方法,步骤S4中所述基于驾驶员脸部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000064
的具体过程为:
步骤S401、将驾驶员脸部平面设置为透视图像平面S2,透视图像平面S2的中心点为(xface,yface,zface),将与Z轴垂直且中心点为(0,0,1)的平面设置为透视图像平面S1,计算将透视图像平面S2的中心点(xface,yface,zface)旋转到与透视图像平面S1的中心点(0,0,1)重合时的旋转矩阵Rrot为:
Figure GDA0002942054930000071
其中,α为绕x轴旋转的角度,β为绕y轴旋转的角度,γ为绕z轴旋转的角度;
步骤S402、构建透视图像平面S2上的任意一点旋转到透视图像平面S1上时,对应在透视图像平面S1上的点的极坐标公式,具体方法为:
步骤S4021、设在透视图像平面S2上的任意一点的三维坐标为(x3d2,y3d2,z3d2),将透视图像平面S2上的任意一点在三维坐标系下的坐标(x3d2,y3d2,z3d2)归一化后,得到的坐标(x'3d2,y'3d2,z'3d2)为:
Figure GDA0002942054930000072
步骤S4022、将透视图像平面S2上归一化后的坐标为(x'3d2,y'3d2,z'3d2)的点旋转到透视图像平面S1上,对应的点的坐标
Figure GDA0002942054930000073
Figure GDA0002942054930000074
对应的点的极坐标
Figure GDA0002942054930000075
的公式为
Figure GDA0002942054930000076
步骤S403、根据步骤402构建的极坐标公式,确定出基于驾驶员脸部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000077
的计算公式为:θs=arccoszface
Figure GDA0002942054930000078
上述的一种汽车A柱透视方法,步骤S5中所述将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像是依次通过校正径向误差、切向误差和光心误差后生成球面图像;步骤S5中所述根据驾驶员头部平面法线方向,将球面图像生成透视图像的具体过程为:将驾驶员头部平面法线方向归一化向量设为(xhead,yhead,zhead),基于驾驶员头部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000081
并以所述极坐标
Figure GDA0002942054930000082
为透视图像的中心点的极坐标,将球面图像生成透视图像;其中,θh为透视图像的中心点对应的天顶角,
Figure GDA0002942054930000083
为透视图像的中心点对应的方位角。
上述的一种汽车A柱透视方法,步骤S5中所述基于驾驶员头部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000084
的具体过程为:
步骤S501、将驾驶员头部平面设置为透视图像平面S2,透视图像平面S2的中心点为(xhead,yhead,zhead),将与Z轴垂直且中心点为(0,0,1)的平面设置为透视图像平面S1,计算将透视图像平面S2的中心点(xhead,yhead,zhead)旋转到与透视图像平面S1的中心点(0,0,1)重合时的旋转矩阵Rrot为:
Figure GDA0002942054930000085
其中,α为绕x轴旋转的角度,β为绕y轴旋转的角度,γ为绕z轴旋转的角度;
步骤S502、构建透视图像平面S2上的任意一点旋转到透视图像平面S1上时,对应在透视图像平面S1上的点的极坐标公式,具体方法为:
步骤S5021、设在透视图像平面S2上的任意一点的三维坐标为(x3c2,y3c2,z3c2),将透视图像平面S2上的任意一点在三维坐标系下的坐标(x3c2,y3c2,z3c2)归一化后,得到的坐标(x'3c2,y'3c2,z'3c2)为:
Figure GDA0002942054930000091
步骤S5022、将透视图像平面S2上归一化后的坐标为(x'3c2,y'3c2,z'3c2)的点旋转到透视图像平面S1上,对应的点的坐标(x3c1,y3c1,z3c1)为
Figure GDA0002942054930000092
对应的点的极坐标
Figure GDA0002942054930000093
的公式为
Figure GDA0002942054930000094
步骤S503、根据步骤402构建的极坐标公式,确定出基于驾驶员头部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000095
的计算公式为:θh=arccoszhead
Figure GDA0002942054930000096
本发明与现有技术相比具有以下优点:
1、本发明通过视觉传感器获取驾驶员头部图像,进行驾驶员脸部特征识别,当检测到驾驶员脸部特征时,获取驾驶员脸部重心的三维坐标和驾驶员脸部平面法线方向;当未检测到驾驶员脸部特征时,采用粒子滤波器跟踪驾驶员头部位置,获取驾驶员头部重心的三维坐标和驾驶员头部平面法线方向;基于获取的驾驶员脸部重心三维坐标或头部重心三维坐标构建球面模型,通过鱼眼相机获取汽车A柱外场景的鱼眼视频流数据且生成球面图像,再将球面图像生成透视图像,能够随时以驾驶员视点为中心获取透视图像,有效地避免了驾驶员在行驶过程中遇到的障碍,设计新颖,使用效果好,便于推广使用。
2、本发明在驾驶员脸部识别时采用全局特征与局部特征相结合构成的融合特征进行识别,相比于采用单一类型特征,全局特征与局部特征相结合的方式构成融合特征之间的互补,提高了特征的多样性,能够有效提高识别的准确率。
3、本发明在未识别到驾驶员脸部时,采用粒子滤波器跟踪驾驶员头部位置,能够及时有效地更新驾驶员头部位置信息。
4、本发明通过鱼眼相机的设置,将盲区外路况扩大观察视线,用于获取汽车A柱外场景的鱼眼视频流数据,能够更好地辅助驾驶员行驶。
5、本发明在生成透视图像时,应用了驾驶员脸部重心三维坐标与头部重心三维坐标构建球面模型,基于驾驶员脸部平面法线方向归一化向量或驾驶员头部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标,并以该极坐标为透视图像的中心点的极坐标,将球面图像生成透视图像,方法设计新颖合理,能够有效地生成透视图像并显示在显示屏上,便于驾驶员观察,能够有效提高驾驶安全。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的方法流程框图;
图2为本发明的带孔棋盘格板的结构示意图;
图3A为本发明的棋盘格的RGB图像;
图3B为本发明的棋盘格的深度图像;
图4为本发明的棋盘格的深度图像转换的二值图像;
图5为本发明的手动点击获取角点位置示意图;
图6为本发明的最优边缘线及交点位置示意图;
图7为本发明的区域块的示意图;
图8为本发明的驾驶员脸部正对深度相机的三维示意图;
图9为本发明的以深度相机为原点坐标系中,驾驶员头部上任意一点对应的三维坐标;
图10为本发明驾驶员脸部在Pitch、Roll和Yaw三个方向的旋转角度示意图;
图11为本发明的基于球面图像的透视图像模型示意图;
图12为本发明的透视图像平面S1与透视图像平面S2的旋转示意图;
图13为实现本发明的方法采用的硬件的连接关系示意图。
具体实施方式
如图1所示,一种汽车A柱透视方法,包括步骤:
步骤S1、通过视觉传感器获取驾驶员头部的深度图像和RGB图像并传输给图像处理器;
本实施例中,在步骤S1之后步骤S2之前,还对深度图像和RGB图像进行高斯滤波处理。
本实施例中,所述视觉传感器为Kinect v2传感器,Kinect v2传感器包括RGB相机、深度相机和红外光发射器,深度图像通过深度相机和红外光发射器获取,RGB图像通过RGB相机获取。
步骤S2、图像处理器对驾驶员头部的深度图像和RGB图像进行配准;
本实施例中,步骤S2中所述图像处理器对驾驶员头部的深度图像和RGB图像进行配准时,采用预先存储在图像处理器中的旋转矩阵R'和平移矩阵T'进行配准;所述旋转矩阵R'和平移矩阵T'的获取的过程为:
步骤S201、采用棋盘格的方式,通过视觉传感器获取棋盘格的RGB图像并存储在图像处理器中,再获取棋盘格的RGB图像上的角点位置;
具体实施时,带孔棋盘格如图2所示,棋盘格的RGB图像如图3A所示。
步骤S202、采用棋盘格的方式,通过视觉传感器获取棋盘格的深度图像并存储在图像处理器中,再获取棋盘格的深度图像上的角点位置,其中,获取棋盘格的深度图像上的角点位置的具体方法为:将棋盘格的深度图像转换为二值图像,在二值图像上手动点击角点且将手动点击的角点位置作为初始角点的位置,基于初始角点的位置,采用最小二乘法获取多条水平方向上的直线和多条竖直方向上的直线,将获取的多条直线作为边缘线的初始值,以每条线为中心线,选择10个像素带宽的白色点区域像素优化初始边缘线,将最优边缘线的交点位置确定为棋盘格的深度图像上的角点位置;
具体实施时,棋盘格的深度图像如图3B所示,棋盘格的深度图像转换的二值图像如图4所示,在二值图像上手动点击角点位置如图5所示,采用最小二乘法获取的水平方向上的直线为5条,采用最小二乘法获取的竖直方向上的直线为8条,将获取的5+8=13条直线作为边缘线的初始值,通过对每条线为中心线的10个像素带宽的白色点区域内点集合进行迭代,获取每条线为中心线的10个像素带宽的白色点区域内的最优边缘线,最优边缘线的交点位置即为棋盘格的深度图像上角点位置,
其中,第k条直线为中心线的10个像素带宽的白色点区域点的集合rk表示为
Figure GDA0002942054930000131
且满足Cak=λak
Figure GDA0002942054930000132
为以第k条直线为中心线的10个像素带宽的白色点区域内的第m个点,m为1~M的自然数,M为第k条直线为中心线的10个像素带宽的白色点区域点的总个数,C为点的集合rk的协方差矩阵且
Figure GDA0002942054930000133
λ为点的集合rk的协方差矩阵C的特征值,ak为点的集合集rk的协方差矩阵C中最小特征值对应的特征向量。
本实施例中,以13条直线为中心线的10个像素带宽的白色点区域内的最优边缘线及其交点位置如图6所示;
步骤S203、将存储的棋盘格的RGB图像上的角点位置和存储的棋盘格的深度图像上的角点位置映射到世界坐标系中,通过旋转和平移棋盘格的RGB图像上的角点位置和棋盘格的深度图像上的角点位置达到重合状态,计算出旋转矩阵R'和平移矩阵T'。
步骤S3、图像处理器基于配准后的图像,对驾驶员脸部特征进行识别,当识别到驾驶员脸部特征时,获取驾驶员脸部重心的三维坐标和驾驶员脸部平面法线方向,并执行步骤S4;当未识别到驾驶员脸部特征时,采用粒子滤波器的目标跟踪算法,获取驾驶员头部重心的三维坐标和驾驶员脸部平面法线方向,并执行步骤S5;
本实施例中,步骤S3中所述图像处理器基于配准后的图像,对驾驶员脸部特征进行识别的具体过程为:
步骤S301、驾驶员脸部全局特征的提取:所述图像处理器先对配准后的图像进行Gabor变换,再对Gabor变换的输出结果应用Zernike矩的离散形式,提取出驾驶员脸部全局特征;
具体实施时,全局特征是为了体现驾驶员脸部的整体特征,对Gabor变换的输出结果中的第v个滤波图像应用Zernike矩的离散形式,获得驾驶员脸部全局特征的第v个全局特征为:
Figure GDA0002942054930000141
其中,n为Zernike矩中的阶数参数,m″为Zernike矩中的角度重复参数,v的取值为1~V的自然数,V为Gabor变换的输出结果中滤波图像的总个数,x为Gabor变换的输出结果中的第v个滤波图像的像素点的横坐标,y为Gabor变换的输出结果中的第v个滤波图像的像素点的纵坐标,λ'为归一化因子且λ'=2πN/4,Gabor变换的输出结果中的第v个滤波图像的大小为N×N,N的取值为偶数,Gv(x,y)为Gabor变换的输出结果中的第v个滤波图像,Rn,m″xy)为Zernike矩的径向多项式且Rn,m″xy)为:
Figure GDA0002942054930000142
其中,s为Gabor变换的尺度,ρxy为图像中心与像素点(x,y)之间的距离且ρxy为:
Figure GDA0002942054930000143
其中,e为自然对数,j为虚数单位,θxy为像素点(x,y)的相位且θxy为:
Figure GDA0002942054930000151
具体实施时,取Gabor变换的3个方向和尺度s,即3×3=9个滤波图像应用Zernike矩的离散形式,共获得具有9个维度的全局特征向量。
步骤S302、驾驶员脸部局部特征的提取:所述图像处理器先对配准后的图像进行高斯滤波,再采用梯度直方图对高斯滤波后的图像进行形状信息描述,并基于相邻图像块的重叠计算去除光照变化和偏移对特征的影响,提取出驾驶员脸部局部特征;
具体实施时,局部特征是为了体现驾驶员脸部的细节特征,采用梯度直方图对高斯滤波后的图像进行形状信息描述,即采用梯度和边缘密度方向分布描述驾驶员脸部局部特征,具体过程为:计算高斯滤波后的图像的梯度幅值与方向,在水平和垂直方向上基于一维离散算子进行卷积运算,水平方向上一维卷积核Sx=[-1 0 1],垂直方向上一维卷积核Sy=[-1 0 1]',高斯滤波后的图像与水平方向上的一维卷积核进行运算得到水平方向梯度幅值Gx(x,y),高斯滤波后的图像与垂直方向上的一维卷积核进行卷积运算得到垂直方向梯度幅值Gx(x,y),梯度方向为
Figure GDA0002942054930000152
具体实施时,基于相邻图像块的重叠计算去除光照变化和偏移对特征的影响的具体过程为:首先,如图7所示,固定每个区域块的大小,每个区域块由2×2个格组成,以每个区域块每次重叠50%的方式进行滑动(即每次滑动一格的距离),横向滑动两次得到3个区域块,纵向滑动两次得到3个区域块,横向和纵向上均能获取9个区域块;然后,将每个区域块的梯度方向在[0,360°]上分为9个BIN快,每个BIN快对应梯度直方图每一个维度,幅值最大的区域块计算所得的梯度方向为主方向,主方向旋转到0°,即水平向右,此时,每个区域块计算8个方向的梯度;驾驶员脸部的9个区域块获得8×9=72个维度的局部特征向量;将梯度幅值按照三个参数,即x方向,y方向和梯度的角度空间,投影到梯度直方图中,计算各直方图在区域块中的密度,根据密度对各个区域块的梯度直方图进行归一化处理,从而消除光照变化和偏移对局部特征的影响,提取出驾驶员脸部局部特征。
S303、所述图像处理器将提取的驾驶员脸部全局特征和驾驶员脸部局部特征进行融合,形成驾驶员脸部的融合特征;
具体实施时,将获取的9个维度的全局特征向量和72个维度的局部特征向量进行融合,形成9+72=81维面部的特征向量,融合后的特征保留了原有特征的描述能力,并能很好的表征驾驶员脸部的结构和关键点信息。
S304、所述图像处理器采用支持向量机分类器对驾驶员脸部融合特征进行二分类,分为是驾驶员脸部特征和非驾驶员脸部特征两类。
具体实施时,采用1000个样本数据进行支持向量机分类器的训练,其中,800个人脸样本和200个非人脸样本,将每个样本提取的81维融合特征作为支持向量机分类器的输入数据,支持向量机分类器的输出为是驾驶员脸部特征和非驾驶员脸部特征两类。支持向量机分类器的输出为是驾驶员脸部特征,即识别到了驾驶员脸部特征,支持向量机分类器的输出为是非驾驶员脸部特征,即未识别到了驾驶员脸部特征。
具体实施时,获取驾驶员脸部重心的三维坐标和驾驶员脸部平面法线方向的具体过程为:如图8所示,驾驶员脸部正对深度相机,当支持向量机分类器的输出为是驾驶员脸部特征时,基于Kinect v2传感器中的库函数Get3DPose函数获取驾驶员脸部朝向的三维信息,以及驾驶员脸部在Pitch(俯仰角)、Roll(偏航角)和Yaw(翻滚角)三个方向的旋转角度;以深度相机为原点,构建的三维坐标如图9所示,图9中,r为径向距离且r=1,θ为天顶角,
Figure GDA0002942054930000171
为方位角,当驾驶员在空间运动时,获取驾驶员脸部重心在三维空间中的坐标(xh,yh,zh),根据公式
Figure GDA0002942054930000172
Figure GDA0002942054930000173
Figure GDA0002942054930000174
计算得到驾驶员脸部重心的三维坐标(x',y',z');驾驶员脸部在Pitch(俯仰角)、Roll(偏航角)和Yaw(翻滚角)三个方向的旋转角度如图10所示;基于驾驶员脸部在Pitch(俯仰角)、Roll(偏航角)和Yaw(翻滚角)三个方向的旋转角度确定驾驶员脸部所在平面,确定出驾驶员脸部平面法线方向。
本实施例中,步骤S3中所述采用粒子滤波器跟踪驾驶员头部位置,获取驾驶员头部重心的三维坐标和驾驶员头部平面法线方向的具体过程为:
S3B1、粒子群初始化:采用M'个粒子的随机集合
Figure GDA0002942054930000175
表示驾驶员头部的状态空间分布,其中,
Figure GDA0002942054930000176
为驾驶员头部在t时刻第m'个粒子的位置和驾驶员头部平面法线方向,m'的取值为1~M'的自然数;粒子的后验概率密度分布bel(Xt)为
Figure GDA0002942054930000177
at-1为驾驶员头部t时刻上一时刻所执行的动作,ot-1为驾驶员头部t时刻上一时刻所获得的观察信息;
步骤S3B2、粒子状态更新:根据驾驶员头部上一时刻所执行的动作更新每个粒子
Figure GDA0002942054930000178
的状态,得到新的粒子簇
Figure GDA0002942054930000179
其中,dt-1为驾驶员头部通过执行at-1后得到的位置变化矢量,R2为二维空间;
Figure GDA00029420549300001710
为驾驶员头部在t-1时刻第m'个粒子的位置和驾驶员头部平面法线方向;
步骤S3B3、获取观察信息并计算粒子权重值:通过视觉传感器获取观察信息ot来更新驾驶员头部可能位置的粒子的后验概率密度分布bel(Xt),用Et表示t时刻观察信息和执行的动作带有的噪音误差,根据公式
Figure GDA0002942054930000181
对获得的观察信息ot重新计算每个粒子的权重值
Figure GDA0002942054930000182
步骤S3B4、基于粒子权重值重采样:粒子滤波器根据每个粒子的权重值对粒子簇
Figure GDA0002942054930000183
进行随机重采样,当粒子落在噪音误差Et外时,粒子权重值始终为0,落在噪音误差外的粒子不会被采集到,当粒子落在噪音误差Et内时,落在噪音误差内的粒子以相等的概率被采集组成新的粒子集合;
步骤S3B5、将粒子的权重值作为粒子的后验概率密度用于估算粒子的后验概率密度分布,实时更新粒子的状态,按照步骤S3B2~步骤S3B5进行迭代,直到达到预设的最大迭代次数,获取得到驾驶员头部位置和驾驶员头部平面法线方向,即获得了驾驶员头部重心的三维坐标和驾驶员头部平面法线方向。
步骤S4、图像处理器以步骤S3中获取的驾驶员脸部重心三维坐标作为球面模型的球心,构建球面模型;通过鱼眼相机获取汽车A柱外场景的鱼眼视频流数据并传输给图像处理器,将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像;根据驾驶员脸部平面法线方向,将球面图像生成透视图像,执行步骤S6;
具体实施时,以驾驶员脸部重心为球心,构建球面模型,驾驶员头部重心O如图11所示,球面模型的半径rs如图11所示,默认rs=1。
本实施例中,步骤S4中所述将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像是依次通过校正径向误差、切向误差和光心误差后生成球面图像;步骤S4中所述根据驾驶员脸部平面法线方向,将球面图像生成透视图像的具体过程为:将驾驶员脸部平面法线方向归一化向量设为(xface,yface,zface),基于驾驶员脸部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000191
并以所述极坐标
Figure GDA0002942054930000192
为透视图像的中心点的极坐标,将球面图像生成透视图像;其中,θs为透视图像的中心点对应的天顶角,
Figure GDA0002942054930000193
为透视图像的中心点对应的方位角。
具体实施时,透视图像上点的极坐标与球面图像上点的极坐标一一对应。
本实施例中,步骤S4中所述基于驾驶员脸部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000194
的具体过程为:
步骤S401、将驾驶员脸部平面设置为透视图像平面S2,透视图像平面S2的中心点为(xface,yface,zface),将与Z轴垂直且中心点为(0,0,1)的平面设置为透视图像平面S1,计算将透视图像平面S2的中心点(xface,yface,zface)旋转到与透视图像平面S1的中心点(0,0,1)重合时的旋转矩阵Rrot为:
Figure GDA0002942054930000195
其中,α为绕x轴旋转的角度,β为绕y轴旋转的角度,γ为绕z轴旋转的角度;
步骤S402、构建透视图像平面S2上的任意一点旋转到透视图像平面S1上时,对应在透视图像平面S1上的点的极坐标公式,具体方法为:
步骤S4021、设在透视图像平面S2上的任意一点的三维坐标为(x3d2,y3d2,z3d2),将透视图像平面S2上的任意一点在三维坐标系下的坐标(x3d2,y3d2,z3d2)归一化后,得到的坐标
Figure GDA0002942054930000201
为:
Figure GDA0002942054930000202
步骤S4022、将透视图像平面S2上归一化后的坐标为(x'3d2,y'3d2,z'3d2)的点旋转到透视图像平面S1上,对应的点的坐标
Figure GDA0002942054930000203
Figure GDA0002942054930000204
对应的点的极坐标
Figure GDA0002942054930000205
的公式为
Figure GDA0002942054930000206
步骤S403、根据步骤402构建的极坐标公式,确定出基于驾驶员脸部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000207
的计算公式为:θs=arccoszface
Figure GDA0002942054930000208
具体实施时,透视图像平面S1如图12所示,透视图像平面S2如图12所示,透视图像平面S2上的中心点旋转到与透视图像S1上的中心点重合的旋转方向如图12所示,驾驶员脸部重心Oh在透视图像平面如图11所示。
步骤S5、图像处理器以步骤S3中获取的驾驶员头部重心三维坐标作为球面模型的球心,构建球面模型;通过鱼眼相机获取汽车A柱外场景的鱼眼视频流数据并传输给图像处理器,将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像;根据驾驶员头部平面法线方向,将球面图像生成透视图像,执行步骤S6;
本实施例中,步骤S5中所述将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像是依次通过校正径向误差、切向误差和光心误差后生成球面图像;步骤S5中所述根据驾驶员头部平面法线方向,将球面图像生成透视图像的具体过程为:将驾驶员头部平面法线方向归一化向量设为(xhead,yhead,zhead),基于驾驶员头部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000211
并以所述极坐标
Figure GDA0002942054930000212
为透视图像的中心点的极坐标,将球面图像生成透视图像;其中,θh为透视图像的中心点对应的天顶角,
Figure GDA0002942054930000213
为透视图像的中心点对应的方位角。
具体实施时,透视图像上点的极坐标与球面图像上点的极坐标一一对应。
本实施例中,步骤S5中所述基于驾驶员头部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000214
的具体过程为:
步骤S501、将驾驶员头部平面设置为透视图像平面S2,透视图像平面S2的中心点为(xhead,yhead,zhead),将与Z轴垂直且中心点为(0,0,1)的平面设置为透视图像平面S1,计算将透视图像平面S2的中心点(xhead,yhead,zhead)旋转到与透视图像平面S1的中心点(0,0,1)重合时的旋转矩阵Rrot为:
Figure GDA0002942054930000221
其中,α为绕x轴旋转的角度,β为绕y轴旋转的角度,γ为绕z轴旋转的角度;
步骤S502、构建透视图像平面S2上的任意一点旋转到透视图像平面S1上时,对应在透视图像平面S1上的点的极坐标公式,具体方法为:
步骤S5021、设在透视图像平面S2上的任意一点的三维坐标为(x3c2,y3c2,z3c2),将透视图像平面S2上的任意一点在三维坐标系下的坐标(x3c2,y3c2,z3c2)归一化后,得到的坐标(x'3c2,y'3c2,z'3c2)为:
Figure GDA0002942054930000222
步骤S5022、将透视图像平面S2上归一化后的坐标为(x'3c2,y'3c2,z'3c2)的点旋转到透视图像平面S1上,对应的点的坐标(x3c1,y3c1,z3c1)为
Figure GDA0002942054930000223
对应的点的极坐标
Figure GDA0002942054930000224
的公式为
Figure GDA0002942054930000225
步骤S503、根据步骤402构建的极坐标公式,确定出基于驾驶员头部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure GDA0002942054930000226
的计算公式为:θh=arccoszhead
Figure GDA0002942054930000227
本实施例中,透视图像平面S1如图12所示,透视图像平面S2如图12所示,透视图像平面S2上的中心点旋转到与透视图像S1上的中心点重合的旋转方向如图12所示。
步骤S6、图像处理器将透视图像传输给显示屏进行显示,图像处理器实时检测驾驶员头部移动是否超出预先设定的范围,当驾驶员头部移动超出预先设定的范围时,图像处理器发出信号给报警模块,报警模块发出警报。
具体实施时,实现本发明的方法采用的硬件的连接关系示意图如图13所示;Kinect v2传感器设置于汽车A柱上且与汽车正前方向呈45°角,镜头朝向汽车内,当驾驶员在观察汽车A柱时,能够很好的检测到驾驶员脸部和头部,鱼眼相机设置于汽车A柱上,镜头朝向汽车外;Kinect v2传感器的输出端和鱼眼相机的输出端通过USB线与图像处理器的USB接口连接,图像处理器的输出端通过蓝牙与报警模块相连,当图像处理器检测到驾驶员头部超出Kinect v2传感器的视角范围时,图像处理器通过蓝牙发出信号给报警模块,报警模块发出警报。
所述图像处理器采用计算机,所述显示屏采用柔性屏。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。

Claims (10)

1.一种汽车A柱透视方法,其特征在于,该方法包括以下步骤:
步骤S1、通过视觉传感器获取驾驶员头部的深度图像和RGB图像并传输给图像处理器;
步骤S2、图像处理器对驾驶员头部的深度图像和RGB图像进行配准;
步骤S3、图像处理器基于配准后的图像,对驾驶员脸部特征进行识别,当识别到驾驶员脸部特征时,获取驾驶员脸部重心的三维坐标和驾驶员脸部平面法线方向,并执行步骤S4;当未识别到驾驶员脸部特征时,采用粒子滤波器跟踪驾驶员头部位置,获取驾驶员头部重心的三维坐标和驾驶员头部平面法线方向,并执行步骤S5;
步骤S4、图像处理器以步骤S3中获取的驾驶员脸部重心三维坐标作为球面模型的球心,构建球面模型;通过鱼眼相机获取汽车A柱外场景的鱼眼视频流数据并传输给图像处理器,将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像;根据驾驶员脸部平面法线方向,将球面图像生成透视图像,执行步骤S6;
步骤S5、图像处理器以步骤S3中获取的驾驶员头部重心三维坐标作为球面模型的球心,构建球面模型;通过鱼眼相机获取汽车A柱外场景的鱼眼视频流数据并传输给图像处理器,将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像;根据驾驶员头部平面法线方向,将球面图像生成透视图像,执行步骤S6;
步骤S6、图像处理器将透视图像传输给显示屏进行显示,图像处理器实时检测驾驶员头部移动是否超出预先设定的范围,当驾驶员头部移动超出预先设定的范围时,图像处理器发出信号给报警模块,报警模块发出警报。
2.按照权利要求1所述的一种汽车A柱透视方法,其特征在于:在步骤S1之后步骤S2之前,还对深度图像和RGB图像进行高斯滤波处理。
3.按照权利要求1所述的一种汽车A柱透视方法,其特征在于:所述视觉传感器为Kinect v2传感器。
4.按照权利要求1所述的一种汽车A柱透视方法,其特征在于:步骤S2中所述图像处理器对驾驶员头部的深度图像和RGB图像进行配准时,采用预先存储在图像处理器中的旋转矩阵R'和平移矩阵T'进行配准;所述旋转矩阵R'和平移矩阵T'的获取的过程为:
步骤S201、采用棋盘格的方式,通过视觉传感器获取棋盘格的RGB图像并存储在图像处理器中,再获取棋盘格的RGB图像上的角点位置;
步骤S202、采用棋盘格的方式,通过视觉传感器获取棋盘格的深度图像并存储在图像处理器中,再获取棋盘格的深度图像上的角点位置,其中,获取棋盘格的深度图像上的角点位置的具体方法为:将棋盘格的深度图像转换为二值图像,在二值图像上手动点击角点且将手动点击的角点位置作为初始角点的位置,基于初始角点的位置,采用最小二乘法获取多条水平方向上的直线和多条竖直方向上的直线,将获取的多条直线作为边缘线的初始值,以每条线为中心线,选择10个像素带宽的白色点区域像素优化初始边缘线,将最优边缘线的交点位置确定为棋盘格的深度图像上的角点位置;
步骤S203、将存储的棋盘格的RGB图像上的角点位置和存储的棋盘格的深度图像上的角点位置映射到世界坐标系中,通过旋转和平移使棋盘格的RGB图像上的角点位置和棋盘格的深度图像上的角点位置达到重合状态,计算出旋转矩阵R'和平移矩阵T'。
5.按照权利要求1所述的一种汽车A柱透视方法,其特征在于:步骤S3中所述图像处理器基于配准后的图像,对驾驶员脸部特征进行识别的具体过程为:
步骤S3A1、驾驶员脸部全局特征的提取:所述图像处理器先对配准后的图像进行Gabor变换,再对Gabor变换的输出结果应用Zernike矩的离散形式,提取出驾驶员脸部全局特征;
步骤S3A2、驾驶员脸部局部特征的提取:所述图像处理器先对配准后的图像进行高斯滤波,再采用梯度直方图对高斯滤波后的图像进行形状信息描述,并基于相邻图像块的重叠计算去除光照变化和偏移对特征的影响,提取出驾驶员脸部局部特征;
步骤S3A3、所述图像处理器将提取的驾驶员脸部全局特征和驾驶员脸部局部特征进行融合,形成驾驶员脸部的融合特征;
步骤S3A4、所述图像处理器采用支持向量机分类器对驾驶员脸部融合特征进行二分类,分为是驾驶员脸部特征和非驾驶员脸部特征两类。
6.按照权利要求1所述的一种汽车A柱透视方法,其特征在于:步骤S3中所述采用粒子滤波器跟踪驾驶员头部位置,获取驾驶员头部重心的三维坐标和驾驶员头部平面法线方向的具体过程为:
S3B1、粒子群初始化:采用M'个粒子的随机集合
Figure FDA0002942054920000031
表示驾驶员头部的状态空间分布,其中,
Figure FDA0002942054920000032
为驾驶员头部在t时刻第m'个粒子的位置和驾驶员头部平面法线方向,m'的取值为1~M'的自然数;粒子的后验概率密度分布bel(Xt)为
Figure FDA0002942054920000041
at-1为驾驶员头部t时刻上一时刻所执行的动作,ot-1为驾驶员头部t时刻上一时刻所获得的观察信息;
步骤S3B2、粒子状态更新:根据驾驶员头部上一时刻所执行的动作更新每个粒子
Figure FDA0002942054920000042
的状态,得到新的粒子簇
Figure FDA0002942054920000043
其中,dt-1为驾驶员头部通过执行at-1后得到的位置变化矢量,R2为二维空间;
Figure FDA0002942054920000044
为驾驶员头部在t-1时刻第m'个粒子的位置和驾驶员头部平面法线方向;
步骤S3B3、获取观察信息并计算粒子权重值:通过视觉传感器获取观察信息ot来更新驾驶员头部可能位置的粒子的后验概率密度分布bel(Xt),用Et表示t时刻观察信息和执行的动作带有的噪音误差,根据公式
Figure FDA0002942054920000045
对获得的观察信息ot重新计算每个粒子的权重值
Figure FDA0002942054920000046
步骤S3B4、基于粒子权重值重采样:粒子滤波器根据每个粒子的权重值对粒子簇
Figure FDA0002942054920000047
进行随机重采样,当粒子落在噪音误差Et外时,粒子权重值始终为0,落在噪音误差外的粒子不会被采集到,当粒子落在噪音误差Et内时,落在噪音误差内的粒子以相等的概率被采集组成新的粒子集合;
步骤S3B5、将粒子的权重值作为粒子的后验概率密度用于估算粒子的后验概率密度分布,实时更新粒子的状态,按照步骤S3B2~步骤S3B5进行迭代,直到达到预设的最大迭代次数,获取得到驾驶员头部位置和驾驶员头部平面法线方向。
7.按照权利要求1所述的一种汽车A柱透视方法,其特征在于:步骤S4中所述将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像是依次通过校正径向误差、切向误差和光心误差后生成球面图像;步骤S4中所述根据驾驶员脸部平面法线方向,将球面图像生成透视图像的具体过程为:将驾驶员脸部平面法线方向归一化向量设为(xface,yface,zface),基于驾驶员脸部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure FDA0002942054920000051
并以所述极坐标
Figure FDA0002942054920000052
为透视图像的中心点的极坐标,将球面图像生成透视图像;其中,θs为透视图像的中心点对应的天顶角,
Figure FDA0002942054920000053
为透视图像的中心点对应的方位角。
8.按照权利要求7所述的一种汽车A柱透视方法,其特征在于:步骤S4中所述基于驾驶员脸部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure FDA0002942054920000054
的具体过程为:
步骤S401、将驾驶员脸部平面设置为透视图像平面S2,透视图像平面S2的中心点为(xface,yface,zface),将与Z轴垂直且中心点为(0,0,1)的平面设置为透视图像平面S1,计算将透视图像平面S2的中心点(xface,yface,zface)旋转到与透视图像平面S1的中心点(0,0,1)重合时的旋转矩阵Rrot为:
Figure FDA0002942054920000055
其中,α为绕x轴旋转的角度,β为绕y轴旋转的角度,γ为绕z轴旋转的角度;
步骤S402、构建透视图像平面S2上的任意一点旋转到透视图像平面S1上时,对应在透视图像平面S1上的点的极坐标公式,具体方法为:
步骤S4021、设在透视图像平面S2上的任意一点的三维坐标为(x3d2,y3d2,z3d2),将透视图像平面S2上的任意一点在三维坐标系下的坐标(x3d2,y3d2,z3d2)归一化后,得到的坐标(x'3d2,y'3d2,z'3d2)为:
Figure FDA0002942054920000061
步骤S4022、将透视图像平面S2上归一化后的坐标为(x'3d2,y'3d2,z'3d2)的点旋转到透视图像平面S1上,对应的点的坐标
Figure FDA00029420549200000610
Figure FDA0002942054920000062
对应的点的极坐标
Figure FDA0002942054920000063
的公式为
Figure FDA0002942054920000064
步骤S403、根据步骤402构建的极坐标公式,确定出基于驾驶员脸部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure FDA0002942054920000065
的计算公式为:θs=arccoszface
Figure FDA0002942054920000066
9.按照权利要求1所述的一种汽车A柱透视方法,其特征在于:步骤S5中所述将获取到的鱼眼视频流数据基于球面模型进行误差校正后生成球面图像是依次通过校正径向误差、切向误差和光心误差后生成球面图像;步骤S5中所述根据驾驶员头部平面法线方向,将球面图像生成透视图像的具体过程为:将驾驶员头部平面法线方向归一化向量设为(xhead,yhead,zhead),基于驾驶员头部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure FDA0002942054920000067
并以所述极坐标
Figure FDA0002942054920000068
为透视图像的中心点的极坐标,将球面图像生成透视图像;其中,θh为透视图像的中心点对应的天顶角,
Figure FDA0002942054920000069
为透视图像的中心点对应的方位角。
10.按照权利要求9所述的一种汽车A柱透视方法,其特征在于:步骤S5中所述基于驾驶员头部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure FDA0002942054920000071
的具体过程为:
步骤S501、将驾驶员头部平面设置为透视图像平面S2,透视图像平面S2的中心点为(xhead,yhead,zhead),将与Z轴垂直且中心点为(0,0,1)的平面设置为透视图像平面S1,计算将透视图像平面S2的中心点(xhead,yhead,zhead)旋转到与透视图像平面S1的中心点(0,0,1)重合时的旋转矩阵Rrot为:
Figure FDA0002942054920000072
其中,α为绕x轴旋转的角度,β为绕y轴旋转的角度,γ为绕z轴旋转的角度;
步骤S502、构建透视图像平面S2上的任意一点旋转到透视图像平面S1上时,对应在透视图像平面S1上的点的极坐标公式,具体方法为:
步骤S5021、设在透视图像平面S2上的任意一点的三维坐标为(x3c2,y3c2,z3c2),将透视图像平面S2上的任意一点在三维坐标系下的坐标(x3c2,y3c2,z3c2)归一化后,得到的坐标(x'3c2,y'3c2,z'3c2)为:
Figure FDA0002942054920000073
步骤S5022、将透视图像平面S2上归一化后的坐标为(x'3c2,y'3c2,z'3c2)的点旋转到透视图像平面S1上,对应的点的坐标(x3c1,y3c1,z3c1)为
Figure FDA0002942054920000074
对应的点的极坐标
Figure FDA0002942054920000075
的公式为
Figure FDA0002942054920000081
步骤S503、根据步骤402构建的极坐标公式,确定出基于驾驶员头部平面法线方向归一化向量计算驾驶员视点从鱼眼图像投影到球面模型上时在球面模型上的极坐标
Figure FDA0002942054920000082
的计算公式为:θh=arccoszhead
Figure FDA0002942054920000083
CN201910996968.7A 2019-10-19 2019-10-19 一种汽车a柱透视方法 Active CN110723073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910996968.7A CN110723073B (zh) 2019-10-19 2019-10-19 一种汽车a柱透视方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910996968.7A CN110723073B (zh) 2019-10-19 2019-10-19 一种汽车a柱透视方法

Publications (2)

Publication Number Publication Date
CN110723073A CN110723073A (zh) 2020-01-24
CN110723073B true CN110723073B (zh) 2021-05-11

Family

ID=69221656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910996968.7A Active CN110723073B (zh) 2019-10-19 2019-10-19 一种汽车a柱透视方法

Country Status (1)

Country Link
CN (1) CN110723073B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201736897U (zh) * 2010-08-04 2011-02-09 胡喆 A柱视野盲区消除装置
CN102501800A (zh) * 2011-10-28 2012-06-20 深圳市路畅科技有限公司 一种汽车驾驶员视角盲区补偿系统
CN106915303A (zh) * 2017-01-22 2017-07-04 西安科技大学 基于深度数据和鱼眼图像的汽车a柱盲区透视方法
DE102018201631A1 (de) * 2018-02-02 2019-08-08 Continental Engineering Services Gmbh Verfahren und system zum erzeugen einer virtuellen darstellung zur erweiterung des sichtfelds in einem fahrzeug

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060176368A1 (en) * 2005-02-07 2006-08-10 Wen-Cheng Yang Visual watching device for an automobile for detecting the dead angle caused by a front post

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201736897U (zh) * 2010-08-04 2011-02-09 胡喆 A柱视野盲区消除装置
CN102501800A (zh) * 2011-10-28 2012-06-20 深圳市路畅科技有限公司 一种汽车驾驶员视角盲区补偿系统
CN106915303A (zh) * 2017-01-22 2017-07-04 西安科技大学 基于深度数据和鱼眼图像的汽车a柱盲区透视方法
DE102018201631A1 (de) * 2018-02-02 2019-08-08 Continental Engineering Services Gmbh Verfahren und system zum erzeugen einer virtuellen darstellung zur erweiterung des sichtfelds in einem fahrzeug

Also Published As

Publication number Publication date
CN110723073A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
WO2021004312A1 (zh) 一种基于双目立体视觉系统的车辆智能测轨迹方法
CN110660186B (zh) 基于雷达信号在视频图像中识别目标对象的方法及装置
CN109544615B (zh) 基于图像的重定位方法、装置、终端及存储介质
CN107665506B (zh) 实现增强现实的方法及系统
CN104484668B (zh) 一种无人机多重叠遥感影像的建筑物轮廓线提取方法
EP2874097A2 (en) Automatic scene parsing
CN107665505B (zh) 基于平面检测实现增强现实的方法及装置
JP5105481B2 (ja) 車線検出装置、車線検出方法、及び車線検出プログラム
CN107665507B (zh) 基于平面检测实现增强现实的方法及装置
US20190311209A1 (en) Feature Recognition Assisted Super-resolution Method
CN103810475A (zh) 一种目标物识别方法及装置
CN110148177A (zh) 用于确定相机的姿态角的方法、装置、计算设备、计算机可读存储介质以及采集实体
CN113743385A (zh) 一种无人船水面目标检测方法、装置及无人船
EP3185212B1 (en) Dynamic particle filter parameterization
CN115375857B (zh) 三维场景重建方法、装置、设备及存储介质
CN113537047A (zh) 障碍物检测方法、装置、交通工具及存储介质
CN112348890A (zh) 一种空间定位方法、装置及计算机可读存储介质
CN113313824B (zh) 一种三维语义地图构建方法
CN111833443A (zh) 自主机器应用中的地标位置重建
Ramirez et al. Panoramic stitching for driver assistance and applications to motion saliency-based risk analysis
CN110723073B (zh) 一种汽车a柱透视方法
CN110992291A (zh) 基于三目视觉的测距方法、系统及存储介质
CN115953471A (zh) 室内场景多尺度矢量图像检索与定位方法、系统及介质
CN114463832A (zh) 一种基于点云的交通场景视线追踪方法及系统
CN113011212B (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