CN108345869B - 基于深度图像和虚拟数据的驾驶人姿态识别方法 - Google Patents
基于深度图像和虚拟数据的驾驶人姿态识别方法 Download PDFInfo
- Publication number
- CN108345869B CN108345869B CN201810195342.1A CN201810195342A CN108345869B CN 108345869 B CN108345869 B CN 108345869B CN 201810195342 A CN201810195342 A CN 201810195342A CN 108345869 B CN108345869 B CN 108345869B
- Authority
- CN
- China
- Prior art keywords
- driver
- head
- image
- posture
- model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000006870 function Effects 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 42
- 238000013508 migration Methods 0.000 claims abstract description 36
- 230000005012 migration Effects 0.000 claims abstract description 36
- 238000012549 training Methods 0.000 claims abstract description 22
- 238000009877 rendering Methods 0.000 claims abstract description 15
- 230000001815 facial effect Effects 0.000 claims abstract description 14
- 238000010276 construction Methods 0.000 claims abstract description 8
- 238000013136 deep learning model Methods 0.000 claims abstract description 7
- 230000004886 head movement Effects 0.000 claims abstract description 6
- 230000011731 head segmentation Effects 0.000 claims abstract description 3
- 238000003062 neural network model Methods 0.000 claims abstract description 3
- 238000012545 processing Methods 0.000 claims abstract description 3
- 238000001514 detection method Methods 0.000 claims description 19
- 238000012360 testing method Methods 0.000 claims description 13
- 238000013135 deep learning Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000013527 convolutional neural network Methods 0.000 claims description 8
- 210000002310 elbow joint Anatomy 0.000 claims description 6
- 238000011478 gradient descent method Methods 0.000 claims description 6
- 210000002478 hand joint Anatomy 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 6
- 210000000323 shoulder joint Anatomy 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 4
- 239000003086 colorant Substances 0.000 claims description 3
- 239000011521 glass Substances 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 claims description 2
- 230000009471 action Effects 0.000 claims description 2
- 230000005284 excitation Effects 0.000 claims description 2
- 238000013526 transfer learning Methods 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 claims description 2
- 238000013528 artificial neural network Methods 0.000 claims 1
- 238000006243 chemical reaction Methods 0.000 claims 1
- 239000010410 layer Substances 0.000 description 32
- 238000000605 extraction Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
Images
Classifications
-
- 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
- G06V20/597—Recognising the driver's state or behaviour, e.g. attention or drowsiness
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于深度图像和虚拟数据的驾驶人姿态识别方法,驾驶人关节点检测:将驾驶人深度图像和关节点标签作为深度学习框架Caffe的输入,训练深度卷积神经网络模型;利用深度学习模型检测图像中驾驶人的关节点位置。虚拟驾驶人头部姿态数据集构建:利用三维建模软件的建模功能Modeling构建驾驶人模型;利用动画功能Animation设置驾驶人头部运动;利用渲染功能Rendering批量渲染驾驶人图像;对驾驶人图像进行头部分割处理,构建虚拟驾驶人头部姿态数据集。驾驶人头部姿态分析:利用由虚拟驾驶人头部姿态数据集构建过程获取的虚拟驾驶人头部姿态数据,采用迁移学习的方法,训练深度迁移学习模型;根据深度迁移学习模型,估计目标域图像中驾驶人头部姿态,并检测其面部特征点位置。
Description
技术领域
本发明涉及涉及计算机视觉和车辆辅助驾驶领域,更具体地说,涉及一种基于深度图像和虚拟数据的驾驶人姿态识别方法。
背景技术
驾驶人姿态识别是车辆辅助驾驶领域中的一个重要的研究课题,是人体姿态识别技术在真实场景的应用。基于图像的驾驶人姿态识别是指在一副给定驾驶人图像中检测驾驶人的上半身关节点、估计头部姿态、以及检测面部特征点。计算机可以对驾驶人姿态进行分析,最终实现对于驾驶人危险行为发出警告,达到提醒驾驶人的目的。
基于图像的驾驶人姿态识别的输入通常为可见光图像。从图像中提取人体各个部位特征,如颜色、边缘、轮廓、形状等,求解构造的人体模型的各种参数,或者直接学习构造人体特征与人体姿态之间的映射。然而,这种基于可见光图像的人体姿态识别方法存在以下不足:其一,易受光照变化的影响,驾驶室光线明暗变化大,白天较亮,夜晚较暗,人体的外观特征会变得不可辨识;其二,易受到复杂背景的影响,驾驶室环境复杂,极易与人体产生相似的纹理特征,产生误检。其三,人体的体型着装差异变化多,人体关节自由度大,姿态变化多,对识别算法的准确性产生严重的影响。
基于图像的驾驶人姿态识别过程中包括两个关键步骤:特征提取和分类器(回归器)训练。特征提取是指提取图像中最能描述人体姿态的信息。Yang Yi和Ramanan Deva提取人体各部位HOG特征,实现精确的关节点检测和人体姿态估计。为了保证算法的精确性,必须提取鲁棒的特征表示,所以需要大量的计算和测试工作。但是这些工作都由人工完成,不仅需要大量的时间,而且非常依赖每个人的经验。分类器训练是指在已确定的特征的基础上,寻找一系列规则,用这些规则来判定当前图像中人体的姿态。确定规则的过程称为(机器)学习的过程,目前较主流的分类器(回归器)包括支持向量机(SVM)、最大熵方法和基于Adaboost的方法。但是这些方法都是“浅层”的学习方法,只能学习单层特征,不能充分学习图像的多层次结构的特征。
深度学习方法可以自动学习多层次结构的特征,但是深度模型训练需要海量带标签数据的支持,才能充分挖掘数据更加本质的特征。而带标签数据的获取通常是通过人工完成,这部分工作相当费时且标注误差因人而异。目前,很多研究人员从合成虚拟数据中提取特征应用到真实世界的数据中,但很难消除虚拟数据特性与真实应用场景的差异。
发明内容
本发明的目的在于针对上述驾驶人姿态识别技术中,人工提取图像特征费时低效,浅层学习方法不能学习图像多层次结构特征,虚拟数据特性与真实应用场景差异较大的问题,提供一种基于深度图像和虚拟数据的驾驶人姿态识别方法。
实现本发明目的的技术解决方案为:基于深度图像的驾驶人姿态识别方法,包括驾驶人关节点检测、虚拟驾驶人头部姿态数据集构建和驾驶人头部姿态分析三个过程:
驾驶人关节点检测过程包括以下步骤:
1)将驾驶人深度图像和关节点标签作为深度学习框架Caffe的输入,训练深度卷积神经网络模型;
2)利用检测正确率最高的深度学习模型,检测图像中驾驶人的关节点位置。
虚拟驾驶人头部姿态数据集构建过程包括以下步骤:
3)利用三维建模软件的建模功能(Modeling)构建驾驶人模型;
4)利用三维建模软件的动画功能(Animation)设置驾驶人头部运动;
5)利用三维建模软件的渲染功能(Rendering)批量渲染驾驶人图像;
6)对驾驶人图像进行头部分割处理,构建虚拟驾驶人头部姿态数据集。
驾驶人头部姿态分析过程包括以下步骤:
7)利用由虚拟驾驶人头部姿态数据集构建过程获取的虚拟驾驶人头部姿态数据,采用迁移学习的方法,训练深度迁移学习模型;
8)根据深度迁移学习模型,估计目标域图像中驾驶人头部姿态,并检测其面部特征点位置。
上述方法中,所述步骤1)中的驾驶人深度图像可以通过双目视觉设备或者红外结构光投影设备得到;
上述方法中,所述步骤1)中的关节点标签通过标记得到;
上述方法中,所述步骤1)包括以下具体步骤:
11)将驾驶人深度图像和关节点标签转化为HDF5格式,作为深度学习框架Caffe的输入;
12)采用多个卷积层、池化层、全连接层构建深度卷积神经网络;
13)采用平方差损失函数微调深度卷积神经网络,训练深度学习模型。
上述方法中,所述步骤2)包括以下具体步骤:
21)从所有深度学习模型中,根据所有测试结果,选择具有最大检测正确率的模型;
22)利用选择的模型,检测图像中驾驶人的关节点位置,包括驾驶人头部、颈部、腰部、右肩关节、右肘关节、右手关节、左肩关节、左肘关节、左手关节。
上述方法中,所述步骤3)包括以下具体步骤:
31)利用三维建模软件的建模功能(Modeling)构建不同着装、发型、佩戴不同眼镜的人物模型和汽车模型;
32)调整人物姿态为驾驶人姿态,合并人物模型和汽车模型,模拟驾驶人场景。
上述方法中,所述步骤4)包括以下具体步骤:
41)利用偏航角、俯仰角、翻滚角三个角度来描述驾驶人头部姿态,称为姿态角;
42)利用三维建模软件的动画功能(Animation)设置驾驶人头部不同姿态角的运动;
上述方法中,所述步骤5)包括以下具体步骤:
51)在驾驶人面部特征点位置放置不同颜色的球体表示驾驶人面部特征点标签,包括左眼、右眼、鼻尖、左嘴角和右嘴角;
52)利用三维建模软件的渲染功能(Rendering)批量渲染驾驶人不同头部旋转角度下的图像,包括驾驶人彩色图像、深度图像、带面部特征点标签的图像,并将头部姿态角和面部特征点位置坐标写入txt文件中;
上述方法中,所述步骤6)包括以下具体步骤:
61)根据带面部特征点标签的图像和面部特征点坐标信息,可以确定驾驶人头部位置;
62)分割驾驶人彩色图像和深度图像,提取驾驶人头部图像,构建虚拟驾驶人头部姿态数据集。
上述方法中,所述步骤7)包括以下具体步骤:
71)将步骤62)获取的虚拟驾驶人头部姿态数据集作为迁移学习的源域,将大量无标注的真实驾驶人头部姿态数据和少量带有标签的真实数据作为目标域;
72)将源域数据作为训练集,将带标签的目标域数据作为测试集,转化为HDF5格式,作为深度学习框架Caffe的输入;
73)采用多个卷积层、池化层、全连接层构建深度迁移学习网络;
74)采用平方差损失函数微调深度迁移学习网络,训练深度迁移学习网络模型;
75)选择检测准确率最高的模型,测试真实驾驶人头部图像;
76)从测试结果中,筛选可信度高的图像,加入目标域数据中,扩充数据量;
77)跳到步骤72),迭代更新深度迁移学习网络,直至收敛。
所述步骤8)包括以下具体步骤:
81)从步骤76)获得的所有深度迁移学习模型中,根据所有测试结果,选择具有最大检测正确率的模型;
82)利用选择的模型,估计目标域图像中驾驶人头部姿态角,并检测其面部特征点位置。
本发明与现有技术相比,其显著优点:其一,深度图像具有颜色无关特性,包含物体深度信息,当驾驶室光照变化较大或者光照较弱的环境下,本发明仍然能够对驾驶人姿态辨识;其二,不易受到复杂的背景的影响,即使当背景纹理很丰富时,仍然能够有效的将目标与背景进行区分,从而减小误检数目;其三,不易受到驾驶人复杂的体型着装差异,人体关节自由度,姿态变化的影响,检测准确率高;其四,基于深度学习的特征提取方法可以自动地提取具有结构层次的特征,大大减少了人工设置特征带来的费时和低效性的同时,提高了检测准确率;其五,利用虚拟数据模拟真实场景,可以有效地扩充训练集数据,利用深度迁移学习的思想,可以有效降低虚拟数据特性与真实应用场景存在的差异。
附图说明
图1是驾驶人深度图像。
图2是驾驶人关节点表示。
图3是驾驶人关节点检测过程。
图4是虚拟驾驶人头部姿态数据集构建过程。
图5是驾驶人头部姿态角表示。
图6是驾驶人面部特征点表示。
图7是驾驶人头部姿态分析过程。
具体实施方式
下面结合附图对本发明作进一步说明。
本发明的驾驶人姿态识别方法包括驾驶人关节点检测、虚拟驾驶人头部姿态数据集构建和驾驶人头部姿态分析三个主要过程。
本发明的数据源为从深度图像采集设备得到的驾驶人深度图像,如图1所示。深度图像上的每个像素点的值表示该物点到相机投影中心的距离,通过该值可以得到驾驶人的形状信息以及三维位置信息。深度图像可以由双目视觉装置获得或者结构光投影装置获得。
驾驶人关节点检测过程是指检测图像中驾驶人关节点位置,驾驶人关节点是指驾驶人头部、颈部、腰部、右肩关节、右肘关节、右手关节、左肩关节、左肘关节、左手关节,如图2所示。检测过程如图3所示,包括以下具体步骤:
将驾驶人深度图像与关节点标签转化为HDF5格式数据过程31。调整驾驶人深度图像大小为120×96,关节点标签是人工标定的关节点像素坐标,用(x,y)表示。利用Python开源库h5py将驾驶人深度图像与对应的关节点标签转化为HDF5格式数据,作为深度学习框架Caffe的输入数据格式。
驾驶人关节点深度模型训练过程32。卷积神经网络采用了一种端到端的模型训练方式,通过传统的梯度下降方法训练模型中的参数,自动学习图像中具有层次结构的特征。网络基本结构由输入层、多次交替的卷积层和池化层、一个或者多个全连接层以及输出层构成。在输出层应用平方差损失函数,通过反向传播方式微调深度卷积神经网络,直至收敛。比较每个模型的测试准确率,选择准确率最高的模型作为驾驶人关节点深度模型。
驾驶人关节点检测过程33。将待测试驾驶人图像转化为HDF5格式,作为驾驶人关节点深度模型的输入,得到与待测驾驶人图像对应的关节点坐标,连接相邻关节点得到驾驶人姿态。
虚拟驾驶人头部姿态数据集构建过程是指利用三维建模软件构建虚拟驾驶人头部姿态数据集,如图4所示。包括以下具体步骤:
构建驾驶人场景模型过程41。利用三维建模软件(如3DSMAX)的建模功能(Modeling)构建不同着装、发型、佩戴不同眼镜的人物模型和汽车模型,亦可从网上模型库中下载人物模型和汽车模型。调整人物模型大小与汽车模型相符,将其姿态调整为驾驶人开车姿势,合并人物模型与汽车模型,模拟驾驶人驾驶汽车场景。
设置驾驶人头部运动过程42。利用三维建模软件的动画功能(Animation)设置好驾驶人模型头部的起始姿态、结束姿态以及关键姿态,动画模块会自动平滑处理一系列的符合人体运动学的头部运动,模拟驾驶人头部的旋转动作。
批量渲染虚拟驾驶人图像过程43。在驾驶人模型的左眼、右眼、鼻尖、左嘴角和右嘴角位置放置不同颜色的球体表示驾驶人面部特征点标签。在驾驶室反光镜处放置摄像机模拟现实中的深度摄像机,摄像机镜头对准驾驶人,以摄像机视角批量渲染驾驶人不同头部旋转角度下的图像,包括驾驶人彩色图像、深度图像、带面部特征点标签的图像,并将头部姿态角和面部特征点位置坐标写入txt文件中。
提取虚拟驾驶人头部图像过程44。根据带面部特征点标签的图像和面部特征点坐标信息,确定驾驶人头部位置,分割驾驶人彩色图像和深度图像,提取100×100大小的驾驶人头部图像,构建虚拟驾驶人头部姿态数据集。同时将头部姿态角度和面部特征点坐标归一化写入txt文件中。
驾驶人头部姿态分析过程是指估计驾驶人头部姿态角和检测驾驶人面部特征点位置,驾驶人头部姿态角指驾驶人头部的偏航角(Yaw)、俯仰角(Pitch)和翻滚角(Roll),如图5所示,驾驶人面部特征点指驾驶人的左眼、右眼、鼻尖、左嘴角和右嘴角,如图6所示。分析过程如图7所示,包括以下具体步骤:
初始化源域和目标域数据集过程71。本发明采用深度迁移学习的方法解决虚拟数据的与真实数据之间的特性差异。将过程44构建的大量带标签的虚拟驾驶人头部深度图像作为源域,用χs={(xsi,ysi)|i=1,2,...,Ns}表示,其中Ns表示源域样本数量,xsi表示驾驶人头部深度图像,ysi表示xsi的头部姿态空间角度和面部特征点空间位置坐标;将大量无标签的真实驾驶人头部深度图像(少数部分带标签)作为目标域,其中目标域的带标注样本定义为χt={(xti,yti)|i=1,2,...,Nt}。采用直推式迁移学习的方法进行特征迁移。
初始训练深度迁移学习网络过程72。将大量带标签的源域样本和少量具有标签的目标域样本作为训练集,利用深度迁移学习网络初始网络权重参数和偏置参数。网络结构包含一个输入层、多个中间层和一个输出层。每一层可以表示为一个非线性映射的过程,样本x在第m层的输出计算公式如下:
其中,表示网络的m层和m-1层之间的权重矩阵,表示偏移参数,p(m)表示m层的节点数目,表示非线性激励函数,通常使用tanh、sigmoid或者ReLU函数。在第一层,假设h(0)=x,p(0)=d。在中间隐含层的特征空间中,任意两个样本之间的距离度量可以通过平方欧氏距离来表示,计算公式如下:
采用最大平均差异衡量源域与目标域在第m层的分布差异,计算公式如下:
此时,深度迁移学习网络的中间层m的损失函数定义为:
其中,α(α>0)、γ(γ>0)和β表示正则化参数;||Z||F表示矩阵Z的Frobenius范数;表示数据的紧致性度量,用表示数据的可分性度量。采用随机梯度下降方法来优化得到参数W(m)和b(m)。
为了最大化利用隐含层的判别信息,联合优化网络隐含层与最高层的损失函数,整个网络的目标函数计算公式如下:
其中,
其中,J(m)和J(M)分别表示第m(m=1,2,...,M-1)层的损失函数和最高层的损失函数;函数h(x)=max(x,0)用于测量损失;τ(m)表示正阈值,用于控制第m层损失函数J(m),表示其在学习过程中的重要性;ω(m)用于平衡最高层与隐含层的损失重要性;在学习过程中,如果第m层损失函数小于阈值τ(m),式(5)的第二项为0。采用梯度下降方法来迭代更新参数W(m)和b(m),直到网络达到终止条件。
迭代更新网络过程73。将带标签的目标域加入训练集,更新网络权重参数和偏置参数。将得到的深度迁移模型测试无标签的真实驾驶人图像,筛选出可信度高的样本,加入训练集,迭代更新网络权重参数和偏置参数,直至收敛,得到驾驶人头部深度迁移模型。
驾驶人头部分析过程74。将待测试驾驶人头像图像转化为HDF5格式,作为驾驶人头部深度迁移模型的输入,得到与待测驾驶人头部图像对应的姿态角和特征点坐标。
相比于目前最较先进的深度网络AlexNet和GoogleNet,本发明设计的深度卷积神经网络,取得了至少12%的检测正确率提升。本发明采用计算机动画软件批量渲染虚拟数据的方法,能够很好地解决缺少大量带标签数据的问题。通过深度迁移学习方法,本发明能够很好地在虚拟数据中学习模型应用到真实数据。
Claims (8)
1.一种基于深度图像和虚拟数据的驾驶人姿态识别方法,其特征在于:包括驾驶人关节点检测、虚拟驾驶人头部姿态数据集构建和驾驶人头部姿态分析三个过程;
驾驶人关节点检测过程,包括以下步骤:
1)将驾驶人深度图像和关节点标签作为深度学习框架Caffe的输入,训练深度卷积神经网络模型;
2)利用检测正确率最高的深度学习模型,检测图像中驾驶人的关节点位置;
虚拟驾驶人头部姿态数据集构建过程,包括以下步骤:
3)利用三维建模软件的建模功能Modeling构建驾驶人模型;
4)利用三维建模软件的动画功能Animation设置驾驶人头部运动;
5)利用三维建模软件的渲染功能Rendering批量渲染驾驶人图像;
6)对驾驶人图像进行头部分割处理,构建虚拟驾驶人头部姿态数据集;包括以下具体步骤:
61)根据带面部特征点标签的图像和面部特征点坐标信息,确定驾驶人头部位置;
62)分割驾驶人彩色图像和深度图像,提取驾驶人头部图像,构建虚拟驾驶人头部姿态数据集;提取的驾驶人头部图像大小为100×100,同时将头部姿态角度和面部特征点坐标归一化写入txt文件中;
驾驶人头部姿态分析过程,包括以下步骤:
7)利用由虚拟驾驶人头部姿态数据集构建过程获取的虚拟驾驶人头部姿态数据,采用迁移学习的方法,训练深度迁移学习模型;包括以下具体步骤:
71)将步骤62)获取的虚拟驾驶人头部姿态数据集作为迁移学习的源域,将大量无标注的真实驾驶人头部姿态数据和少量带有标签的真实数据作为目标域;采用深度迁移学习的方法解决虚拟数据与真实数据之间的特性差异;源域用χs={(xsi,ysi)|i=1,2,...,Ns}表示,其中Ns表示源域样本数量,xsi表示驾驶人头部深度图像,ysi表示xsi的头部姿态空间角度和面部特征点空间位置坐标;目标域中带标注样本定义为χt={(xti,yti)|i=1,2,...,Nt},采用直推式迁移学习的方法进行特征迁移;
72)将源域数据作为训练集,将带标签的目标域数据作为测试集,转化为HDF5格式,作为深度学习框架Caffe的输入;
73)采用多个卷积层、池化层、全连接层构建深度迁移学习网络;利用深度迁移学习网络初始网络权重参数和偏置参数;网络结构包含一个输入层、多个中间层和一个输出层;每一层表示为一个非线性映射的过程,样本x在第m层的输出计算公式如下:
其中,表示网络的m层和m-1层之间的权重矩阵,表示偏移参数,p(m)表示m层的节点数目,表示非线性激励函数,使用tanh、sigmoid或者ReLU函数;在第一层,假设h(0)=x,p(0)=d;在中间隐含层的特征空间中,任意两个样本之间的距离度量通过平方欧氏距离来表示,计算公式如下:
采用最大平均差异衡量源域与目标域在第m层的分布差异,计算公式如下:
此时,深度迁移学习网络的中间层m的损失函数定义为:
其中,α(α>0)、γ(γ>0)和β表示正则化参数;||Z||F表示矩阵Z的Frobenius范数;表示数据的紧致性度量,用表示数据的可分性度量;采用随机梯度下降方法来优化得到参数W(m)和b(m);
联合优化网络隐含层与最高层的损失函数,计算整个网络的目标函数,计算公式如下:
其中,
其中,J(m)和J(M)分别表示第m(m=1,2,...,M-1)层的损失函数和最高层的损失函数;函数h(x)=max(x,0)用于测量损失;τ(m)表示正阈值,用于控制第m层损失函数J(m),表示其在学习过程中的重要性;ω(m)用于平衡最高层与隐含层的损失重要性;在学习过程中,如果第m层损失函数小于阈值τ(m),式(5)的第二项为0,采用梯度下降方法来迭代更新参数W(m)和b(m),直到网络达到终止条件;
74)采用平方差损失函数微调深度迁移学习网络,训练深度迁移学习网络模型;
75)选择检测准确率最高的模型,测试真实驾驶人头部图像;
76)从测试结果中,如果图像中驾驶人关节点坐标和头部姿态角度与真实值的差值小于设定的阈值,将该图像选为可信度高的图像,加入目标域数据中,扩充数据量;
77)返回步骤72),迭代更新深度迁移学习网络,直至收敛;
8)根据深度迁移学习模型,估计目标域图像中驾驶人头部姿态,并检测其面部特征点位置。
2.根据权利要求1所述的驾驶人姿态识别方法,其特征在于:所述步骤1)中驾驶人深度图像通过双目视觉设备或者红外结构光投影设备得到,在图像上的关节点设置标签得到关节点标签。
3.根据权利要求1或2所述的驾驶人姿态识别方法,其特征在于:所述步骤1)包括以下具体步骤:
11)将驾驶人深度图像和关节点标签转化为HDF5格式,作为深度学习框架Caffe的输入,调整驾驶人深度图像大小为120×96,关节点标签是标定的关节点像素坐标,用(x,y)表示;数据转化工具是Python开源库h5py;
12)采用多个卷积层、池化层、全连接层构建深度卷积神经网络;卷积神经网络采用端到端的模型训练方式,通过传统的梯度下降方法训练模型中的参数,自动学习图像中具有层次结构的特征;网络基本结构由输入层、多次交替的卷积层和池化层、一个或者多个全连接层以及输出层构成;
13)采用平方差损失函数微调深度卷积神经网络,训练深度学习模型;在输出层应用平方差损失函数,通过反向传播方式微调深度卷积神经网络,直至收敛。
4.根据权利要求1或2所述的驾驶人姿态识别方法,其特征在于:所述步骤2)包括以下具体步骤:
21)从所有深度学习模型中,根据所有测试结果,选择具有最大检测正确率的模型,将检测正确率最高的模型作为驾驶人关节点深度模型;
22)利用选择的模型,检测图像中驾驶人的关节点位置,包括驾驶人头部、颈部、腰部、右肩关节、右肘关节、右手关节、左肩关节、左肘关节、左手关节;将待测试驾驶人图像转化为HDF5格式,作为驾驶人关节点深度模型的输入,得到与待测驾驶人图像对应的关节点坐标,连接相邻关节点得到驾驶人姿态。
5.根据权利要求1所述的驾驶人姿态识别方法,其特征在于:所述步骤3)包括以下具体步骤:
31)利用三维建模软件的建模功能Modeling构建不同着装、发型、佩戴不同眼镜的人物模型和汽车模型,或从网上模型库中下载人物模型和汽车模型;
32)调整人物姿态为驾驶人姿态,合并人物模型和汽车模型,模拟驾驶人场景。
6.根据权利要求1所述的驾驶人姿态识别方法,其特征在于:所述步骤4)包括以下具体步骤:
41)利用偏航角、俯仰角、翻滚角三个角度来描述驾驶人头部姿态,称为姿态角;
42)利用三维建模软件的动画功能Animation设置驾驶人头部不同姿态角的运动;设置好驾驶人模型头部的起始姿态、结束姿态以及关键姿态,动画模块自动平滑处理一系列符合人体运动学的头部运动,模拟驾驶人头部的旋转动作。
7.根据权利要求1所述的驾驶人姿态识别方法,其特征在于:所述步骤5)包括以下具体步骤:
51)在驾驶人面部特征点位置放置不同颜色的球体表示驾驶人面部特征点标签,包括左眼、右眼、鼻尖、左嘴角和右嘴角;
52)利用三维建模软件的渲染功能Rendering批量渲染驾驶人不同头部旋转角度下的图像,包括驾驶人彩色图像、深度图像、带面部特征点标签的图像,并将头部姿态角和面部特征点位置坐标写入txt文件中;在驾驶室反光镜处放置摄像机模拟现实中的深度摄像机,摄像机镜头对准驾驶人,以摄像机视角进行批量渲染操作。
8.根据权利要求1所述的驾驶人姿态识别方法,其特征在于:所述步骤8)包括以下具体步骤:
81)从步骤7)获得的所有深度迁移学习模型中,根据所有测试结果,选择具有最大检测正确率的模型;
82)利用选择的模型,估计目标域图像中驾驶人头部姿态角,并检测其面部特征点位置;将待测试驾驶人头像图像转化为HDF5格式,作为驾驶人头部深度迁移模型的输入,得到与待测驾驶人头部图像对应的姿态角和特征点坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810195342.1A CN108345869B (zh) | 2018-03-09 | 2018-03-09 | 基于深度图像和虚拟数据的驾驶人姿态识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810195342.1A CN108345869B (zh) | 2018-03-09 | 2018-03-09 | 基于深度图像和虚拟数据的驾驶人姿态识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108345869A CN108345869A (zh) | 2018-07-31 |
CN108345869B true CN108345869B (zh) | 2022-04-08 |
Family
ID=62957004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810195342.1A Active CN108345869B (zh) | 2018-03-09 | 2018-03-09 | 基于深度图像和虚拟数据的驾驶人姿态识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108345869B (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795969B (zh) * | 2018-08-02 | 2022-10-14 | 上海汽车集团股份有限公司 | 安全带佩戴识别方法、装置及电子设备 |
CN109190674B (zh) * | 2018-08-03 | 2021-07-20 | 百度在线网络技术(北京)有限公司 | 训练数据的生成方法及装置 |
JP2022500783A (ja) | 2018-09-21 | 2022-01-04 | ポジション イメージング, インコーポレイテッドPosition Imaging, Inc. | 機械学習支援による自己改善型オブジェクト識別システム及び方法 |
CN111288956B (zh) * | 2018-12-07 | 2022-04-22 | 顺丰科技有限公司 | 一种目标姿态确定方法、装置、设备和存储介质 |
CN109753906B (zh) * | 2018-12-25 | 2022-06-07 | 西北工业大学 | 基于域迁移的公共场所异常行为检测方法 |
CN111376910B (zh) * | 2018-12-29 | 2022-04-15 | 北京嘀嘀无限科技发展有限公司 | 用户行为的识别方法、识别系统及计算机设备 |
CN109688395B (zh) * | 2018-12-29 | 2020-01-14 | 北京中科寒武纪科技有限公司 | 运算方法、装置及相关产品 |
CN109782600A (zh) * | 2019-01-25 | 2019-05-21 | 东华大学 | 一种通过虚拟环境建立自主移动机器人导航系统的方法 |
CN109919034A (zh) * | 2019-01-31 | 2019-06-21 | 厦门大学 | 一种肢体动作识别与纠正辅助训练系统及方法 |
CN109934872A (zh) * | 2019-02-28 | 2019-06-25 | 天津大学 | 基于全连接网络的姿态测量方法 |
CN110111297B (zh) * | 2019-03-15 | 2021-03-30 | 浙江大学 | 一种基于迁移学习的注塑制品表面图像缺陷识别方法 |
CN109978141B (zh) * | 2019-03-28 | 2022-11-25 | 腾讯科技(深圳)有限公司 | 神经网络模型训练方法和装置、自然语言处理方法和装置 |
CN110110613B (zh) * | 2019-04-19 | 2020-04-14 | 北京航空航天大学 | 一种基于动作识别的轨道交通异常人员检测方法 |
CN110070039A (zh) * | 2019-04-23 | 2019-07-30 | 长讯通信服务有限公司 | 基于深度学习的机房机柜及主控板感知与坐标测量方法及装置 |
CN110070059B (zh) * | 2019-04-25 | 2022-07-29 | 吉林大学 | 一种基于域迁移的非结构化道路检测方法 |
CN110248093B (zh) * | 2019-06-20 | 2020-09-01 | 清华大学深圳研究生院 | 一种数据采集方法、系统和终端设备 |
US11948401B2 (en) | 2019-08-17 | 2024-04-02 | Nightingale.ai Corp. | AI-based physical function assessment system |
CN110853131A (zh) * | 2019-09-30 | 2020-02-28 | 西安交通大学 | 一种用于行为识别的虚拟视频数据生成方法 |
CN111007719B (zh) * | 2019-11-12 | 2022-08-05 | 杭州电子科技大学 | 基于领域自适应神经网络的自动驾驶转向角度预测方法 |
CN110889393A (zh) * | 2019-12-10 | 2020-03-17 | 上海芯翌智能科技有限公司 | 人体姿态估计方法及设备 |
CN111222459B (zh) * | 2020-01-06 | 2023-05-12 | 上海交通大学 | 一种视角无关的视频三维人体姿态识别方法 |
CN113490940B (zh) * | 2020-01-21 | 2024-07-23 | 深圳元戎启行科技有限公司 | 基于深度学习的场景模拟器构建方法、装置和计算机设备 |
CN111325166B (zh) * | 2020-02-26 | 2023-07-07 | 南京工业大学 | 基于投影重构和多输入多输出神经网络的坐姿识别方法 |
CN111428609A (zh) * | 2020-03-19 | 2020-07-17 | 辽宁石油化工大学 | 一种基于深度学习的人体姿态识别方法及系统 |
CN111428735B (zh) * | 2020-03-19 | 2021-06-25 | 东南大学 | 一种基于迁移学习深层网络融合模型的货车品牌分类方法 |
CN111462233B (zh) * | 2020-03-20 | 2024-02-13 | 武汉理工大学 | 一种船舶驾驶室的还原数据处理方法、系统和存储介质 |
CN113449570A (zh) * | 2020-03-27 | 2021-09-28 | 虹软科技股份有限公司 | 图像处理方法和装置 |
CN111640172A (zh) * | 2020-05-08 | 2020-09-08 | 大连理工大学 | 一种基于生成对抗网络的姿态迁移方法 |
CN111638791B (zh) * | 2020-06-03 | 2021-11-09 | 北京火山引擎科技有限公司 | 虚拟角色的生成方法、装置、电子设备及存储介质 |
CN111739005B (zh) * | 2020-06-22 | 2023-08-08 | 北京百度网讯科技有限公司 | 图像检测方法、装置、电子设备及存储介质 |
CN111832446B (zh) * | 2020-06-30 | 2022-11-08 | 东南大学 | 一种基于双视角视频数据的驾驶员姿态识别方法 |
CN111832503B (zh) * | 2020-07-20 | 2023-12-19 | 中国人民武装警察部队工程大学 | 一种基于联邦学习的分心驾驶识别方法 |
CN112116673B (zh) * | 2020-07-29 | 2022-12-09 | 西安交通大学 | 一种姿态引导下的基于结构相似性的虚拟人体图像生成方法、系统及电子设备 |
CN112307899A (zh) * | 2020-09-27 | 2021-02-02 | 中国科学院宁波材料技术与工程研究所 | 一种基于深度学习的面部姿态检测与矫正方法及系统 |
CN112287795B (zh) * | 2020-10-22 | 2023-09-01 | 北京百度网讯科技有限公司 | 异常驾驶姿态检测方法、装置、设备、车辆和介质 |
CN112560665B (zh) * | 2020-12-13 | 2022-05-13 | 同济大学 | 基于深度迁移学习实现人体姿态检测的专业舞蹈评价方法 |
CN113159146A (zh) * | 2021-04-08 | 2021-07-23 | 浙江天行健智能科技有限公司 | 样本生成、目标检测模型训练、目标检测方法及装置 |
CN113361333B (zh) * | 2021-05-17 | 2022-09-27 | 重庆邮电大学 | 一种非接触式骑行运动状态监测方法及其系统 |
CN113643419B (zh) * | 2021-06-29 | 2024-04-23 | 清华大学 | 一种基于深度学习的人体反向动力学求解方法 |
CN116150221B (zh) * | 2022-10-09 | 2023-07-14 | 浙江博观瑞思科技有限公司 | 服务于企业电商运营管理的信息交互方法及系统 |
CN116251339B (zh) * | 2023-03-14 | 2023-11-28 | 西南交通大学 | 一种基于行为识别及双目摄像测距的发球方法与装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855470A (zh) * | 2012-07-31 | 2013-01-02 | 中国科学院自动化研究所 | 基于深度图像的人体姿态估计方法 |
CN105654808A (zh) * | 2016-02-03 | 2016-06-08 | 北京易驾佳信息科技有限公司 | 一种基于实际机动车的机动车驾驶人智能化训练系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989326B (zh) * | 2009-07-31 | 2015-04-01 | 三星电子株式会社 | 人体姿态识别方法和装置 |
CN103105926A (zh) * | 2011-10-17 | 2013-05-15 | 微软公司 | 多传感器姿势识别 |
US8687880B2 (en) * | 2012-03-20 | 2014-04-01 | Microsoft Corporation | Real time head pose estimation |
CN102737235B (zh) * | 2012-06-28 | 2014-05-07 | 中国科学院自动化研究所 | 基于深度信息和彩色图像的头部姿势估计方法 |
CN104182742B (zh) * | 2013-05-20 | 2018-03-13 | 比亚迪股份有限公司 | 头部姿态识别方法及系统 |
CN103413145B (zh) * | 2013-08-23 | 2016-09-21 | 南京理工大学 | 基于深度图像的关节点定位方法 |
CN103473538B (zh) * | 2013-09-22 | 2016-09-21 | 中国科学院自动化研究所 | 一种基于样例迁移学习的人体检测方法 |
CN104715493B (zh) * | 2015-03-23 | 2018-01-19 | 北京工业大学 | 一种运动人体姿态估计的方法 |
CN107066935B (zh) * | 2017-01-25 | 2020-11-24 | 网易(杭州)网络有限公司 | 基于深度学习的手部姿态估计方法及装置 |
-
2018
- 2018-03-09 CN CN201810195342.1A patent/CN108345869B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855470A (zh) * | 2012-07-31 | 2013-01-02 | 中国科学院自动化研究所 | 基于深度图像的人体姿态估计方法 |
CN105654808A (zh) * | 2016-02-03 | 2016-06-08 | 北京易驾佳信息科技有限公司 | 一种基于实际机动车的机动车驾驶人智能化训练系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108345869A (zh) | 2018-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108345869B (zh) | 基于深度图像和虚拟数据的驾驶人姿态识别方法 | |
CN109816725B (zh) | 一种基于深度学习的单目相机物体位姿估计方法及装置 | |
CN108932500B (zh) | 一种基于深度神经网络的动态手势识别方法及系统 | |
CN106682598B (zh) | 一种基于级联回归的多姿态的人脸特征点检测方法 | |
CN109636905B (zh) | 基于深度卷积神经网络的环境语义建图方法 | |
CN104115192B (zh) | 三维近距离交互的改进或与其有关的改进 | |
CN106897670B (zh) | 一种基于计算机视觉的快递暴力分拣识别方法 | |
CN107103613B (zh) | 一种三维手势姿态估计方法 | |
Khan et al. | Comparative study of hand gesture recognition system | |
CN110688965B (zh) | 基于双目视觉的ipt模拟训练手势识别方法 | |
CN108182397B (zh) | 一种多姿态多尺度的人脸验证方法 | |
CN108256421A (zh) | 一种动态手势序列实时识别方法、系统及装置 | |
Elforaici et al. | Posture recognition using an RGB-D camera: exploring 3D body modeling and deep learning approaches | |
CN107622257A (zh) | 一种神经网络训练方法及三维手势姿态估计方法 | |
DE15864375T1 (de) | Abbilden eines körpers | |
CN106682569A (zh) | 一种基于卷积神经网络的快速交通标识牌识别方法 | |
CN112784736B (zh) | 一种多模态特征融合的人物交互行为识别方法 | |
CN108537168B (zh) | 基于迁移学习技术的面部表情识别方法 | |
CN110176016B (zh) | 一种基于人体轮廓分割与骨骼识别的虚拟试衣方法 | |
CN108345843B (zh) | 一种基于混合深度回归网络的头部姿态估计方法 | |
CN111062340B (zh) | 一种基于虚拟姿态样本合成的异常步态行为识别方法 | |
CN101393599A (zh) | 一种基于人脸表情的游戏角色控制方法 | |
CN106599810B (zh) | 一种基于栈式自编码的头部姿态估计方法 | |
CN101968846A (zh) | 一种人脸跟踪方法 | |
CN109886356A (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 |