面向汽车座椅的人体参数采集与分析系统

2024-01-26 22:42刘春艳司夏岩屈太元王洋王健伟
电脑知识与技术 2023年35期
关键词:汽车座椅

刘春艳 司夏岩 屈太元 王洋 王健伟

摘要:为满足用户对汽车座椅方便性和舒适性的需求,制造商需要考虑驾驶员的人体参数。本文提出一种基于计算机视觉的车内外人体参数自动测量系统。该系统的软件部分利用了DeepLabv3+进行语义分割,通过对输入层图像进行处理,实现对人体的分割和定位。同时,使用OpenPose进行特征点提取和位置回归,以获取更精确的人体参数。通过搭建神经网络模型预测出实际人体参数,并将其与实际理论值进行比对。硬件部分由摄像头、Arduino和NVIDIA Jetson TX2 NX组成。经测试,受试者10项人体参数的预测值与实际值的平均误差均小于5%,整体运行时间36秒。这表明该系统具有较高精确度和鲁棒性,可以通过计算机视觉技术和神经网络模型获取驾驶员的人体参数,并根据这些参数来调节汽车座椅,以提供更好的驾驶体验和人体舒适性。

关键词:DeepLabv3+;OpenPose;人体参数;汽车座椅

中图分类号:TP391        文献标识码:A

文章编号:1009-3044(2023)35-0076-04

开放科学(资源服务)标识码(OSID)

在汽车设计领域,人体尺寸数据对于实现乘员舱布置设计和校核非常重要。这些数据是进行H点设计、测量装置及界面设计的基础,并为进出车门的方便性、乘员乘坐空间设计以及座椅自动调整等人机工程设计提供数据参考。长时间驾驶汽车若不能保持科学、舒适的坐姿,会导致驾驶人员的不适感加剧,并可能对其椎骨、椎间盘、肌腱、韧带等部位造成损伤,甚至影响身体健康。为了达到健康舒适的效果,在设计汽车时制造商更多地考虑汽车是否适合使用者的人体参数。我国在1988年制定了GB10000—88《中国成年人人体尺寸》标准,提供了我国成年人人体裸体尺寸的基础数据,并按照人机工程学的要求进行设计。然而,目前人体特征已经发生了较大变化,现行的人体数据已经无法满足设计需求,也不能实时,采集人体数据并对座椅进行舒适性调整。因此,本文提出了一种基于神经网络的面向汽车座椅的人体参数采集与分析系统。该系统采用非接触式测量方法对车外和车内的人体参数进行测量,可以为汽车座椅设计提供更准确的人体参数数据。

1 系统实现原理及步骤

该系统使用PyTorch框架,通过DeeplabV3+进行语义分割来获取被测人体的轮廓,使用OpenPose进行人体姿态估计来获取人体关键点。通过延展人体躯干关键点的连线与人体轮廓边缘的交点,计算所需尺寸的欧氏距离。最后,使用事先采集的大量人体数据集,利用最小二乘法将欧氏距离与实际尺寸进行映射,得到像素-厘米比例尺。

系统包括以下几个主要部分:

1) 对系统所需的软件进行可行性评估与测试,确保系统能够正常运行。

2) 采集大量的人體数据集,包括需要进行后续处理的图片和真实的人体尺寸,用于系统训练和验证。

3) 部署DeeplabV3+和OpenPose所需的系统环境,包括相关的库和依赖项。

4) 对前期采集的数据集进行语义分割和人体姿态估计,从中获取欧氏距离信息。

5) 使用最小二乘法将欧氏距离映射到实际尺寸,得到像素-厘米比例尺。

6) 进行性能测试和调优,确保系统的准确性和稳定性。

2 DeepLabv3+模型介绍及其应用

DeepLabv3+是一种基于深度卷积神经网络的语义分割算法,采用了编码器-解码器结构。该算法可以对输入的人体图像进行像素级别的分类,输出二值化的人物轮廓。模型包含3部分:首先是一个预训练的特征提取器(通常是一个标准的卷积神经网络),然后是一个空洞卷积模块用于特征增强,最后是一个解码器用于产生像素级别的分类结果。其中,空洞卷积模块是DeepLabv3+的核心部件,通常被称为“ASPP”(Atrous Spatial Pyramidal Pooling)。

在ASPP中,使用一些不同的膨胀率(或称为空洞率)的卷积核来捕获不同的尺度信息。具体来说,假设ASPP使用了m个不同的膨胀率,对于每个膨胀率,使用一个大小为k×k的卷积核来进行卷积操作,其中k是卷积核的大小,通常设置为3或5。因此,ASPP的输出结果是m个不同的特征映射,然后将这些特征映射合并,并使用一个1×1的卷积核进行特征融合,最终得到全局感受野的特征映射。

在解码器中,使用一个上采样(或称为反卷积)模块来将特征图恢复到与输入图像相同的分辨率,然后使用一个小的卷积核对这些特征进行分类,得到像素级别的分类结果。在输出结果中,像素级别分类的值为1则表示该像素属于人体轮廓,否则为0。

DeepLabv3+公式描述如下:

输入: I ∈ R^H×W×3

特征提取:f(I) ∈ R^{H'×W'×C}

ASPP:F ∈ R^{H'×W'×(m×C)}

特征融合:M ∈ R^{H'×W'×C}

解码器:P ∈ R^{H×W}

其中,H、W、C分别表示输入图像的高度、宽度和通道数;H'、W'表示特征提取器输出特征图的大小(通常比输入图像较小);m是ASPP模块中不同膨胀率的数量。最终输出为二值化的人物轮廓P,形状与输入图像相同,每个像素的值为0或1,表示该像素是否属于人体轮廓。

3 OpenPose算法及其应用

OpenPose算法是一种基于卷积神经网络的人体姿态估计算法。它通过检测和关联人体关键点来实现对人体姿态的估计,使用了多阶段的卷积神经网络来提取特征,并生成关键点的置信度图和连接关系的中间矢量。

3.1 关键点检测

在关键点检测阶段使用了一个多阶段的卷积神经网络。给定输入图像I,该阶段旨在预测每个关键点的位置。

输入:图像 I

输出:关键点置信度图 S 和中间矢量 V

阶段1(Paf处理):z = ConvolutionalLayers(I)

S = confidenceMaps(z) # 每个关键点的置信度图

V = Pafs(z) # 关键点之间的中间矢量(连接关系)

阶段2(关键点再定位): f = FeaturesConcatenation(I, S, V)

S' = confidenceMaps(f) # 更新的置信度图

V' = Pafs(f) # 更新的中间矢量

3.2 姿态关联

在关键点检测阶段得到置信度图和中间矢量后,OpenPose算法使用基于贪婪算法的姿态关联方法来将检测到的关键点进行匹配,得到每个人的完整姿态信息。

输入:关键点置信度图 S' 和中间矢量 V'

输出:人体的完整姿态信息

姿态关联:K = keypointsAssociation(S', V') # 关键点的匹配

P = poseEstimation(K) # 姿态估计

式中,ConvolutionalLayers表示卷积层,confidenceMaps表示置信度图生成模块,Pafs表示连接中间矢量生成模块,FeaturesConcatenation表示特征融合模块,keypointsAssociation表示关键点关联模块,poseEstimation表示姿态估计模块。

4 方法流程介绍

4.1 人体参数的获取

人体参数测量系统大致分为5步:①输入层图像的获取:运用相机模块获得输入层图像,在拍摄时,相机距离被测者2 m,距离地面高度1.8 m。通常人體参数测量将运用正面的人体图像,但是为了更好的训练模型,除正面站立之外,还准备了侧面站立、侧面平举、侧面坐姿、车内侧面和车内正面(距离60 cm) 作为输入层图像,具体如图3(a)~(g)所示,共拍摄500人的图像作为训练集。

4.2 图像语义分割

采用DeepLabv3+网络模型[4]进行语义分割:如图4所示,首先使用DeepLabv3+模型对作为输入层图像的图3(a)进行语义分割,将输入层图像的人物与背景分割,提取出分割得到的人物特征层图4(a)并储存,对图3(a)进行二值化处理后得到图4(b),再对二值化图像进行轮廓提取得到图4(c),最后将输入层图像3(a)与二值化处理得到的图像4(b)进行逻辑与运算得到最终提取出的人物图像,如图4(d)所示。

4.3 利用OpenPose算法提取人体关键点

由于OpenPose2019具有较高的可靠性和鲁棒性,计算量较低,更适合部署在移动设备上。因此,在本项目中采用OpenPose2019作为关键点检测,以下简称为OpenPose。将获取的人体图像输入OpenPose算法检测后,得到人体关键点信息,对图3处理后的图像如图5所示。

4.4 人体参数值测量

人体身高的像素距离,即人体的脚部最低点与人体头部最高点之间的垂直距离,臀宽为臀部关键点与人体边缘两个交点的长度,坐高为人体处于坐姿状态下头部最高点与脚步最低点之间的距离,膝高为膝盖上面到脚底的距离,眼高为眼睛到臀与座椅接触面之间的距离,膝高、眼高、大臂长、小臂长、大腿长、小腿长的计算方法相同,此处以小臂为例,如图6所示,假定OpenPose输出的左肘、左腕的坐标分别为[xE,yE]、[(xW,yW)],则左肘的垂线与左腕水平线的交点坐标为[(xE,yW)],利用欧几里得距离,计算左小臂的像素长度如式(1) 所示,同理可计算出其他参数值。

[L=(xE-xW)2+(yE-yW)2]    (1)

4.5 利用神经网络进行人体参数预测

本文的多层感知机神经网络中采用的ReLU激活函数是一个分段线性函数,当前节点的输入为正时,经过ReLU函数将直接激活输出,否则输出为零。这样做相比于Sigmoid和Tanh用指数方式去近似零输出,使用max函数能够输出真零值,而看似更像线性函数的特点也能有效避免训练网络时存在梯度消失的问题,促进处在深层的神经网络仍能接收到有效梯度信息继续进行学习。在进行人体图像回归至各节点的过程中,需要引入中间层的损失函数loss,本文设计的方法采用的是均方损失函数,如式(2) 所示,以此来保证一定深度的神经网络进行训练。

[loss(xi,yi)=(xi-yi)2]    (2)

5 系统的运行与测试

5.1 操作流程

为方便使用及商业化,将人体参数采集系统部署到NVIDIA Jetson TX2 NX[5]上,然后用Arduino[6]进行通信进而控制座椅,具体流程如下:

连接摄像头:首先,将摄像头连接到Jetson TX2 NX板的适当接口上。确保摄像头与Jetson TX2 NX能够正常通信。

安装所需软件:在Jetson TX2 NX上安装适当的操作系统和驱动程序。确保操作系统和驱动程序与所使用的摄像头兼容。

配置编程环境:设置Jetson TX2 NX的开发环境,例如安装Python和开发所需的其他库和工具。

烧入代码:将测试好的代码烧录。

与Arduino通信:将Arduino连接到Jetson TX2 NX,并使用串口通信或其他通信协议与其进行通信。

参数分析和控制座椅:根据人体参数的处理结果控制座椅电机,实现座椅的运动。

测试和调试:将所有组件连接在一起测试系统的功能。确保代码能够正确地读取摄像头数据,与Arduino进行通信,并使座椅根据人体参数进行控制。

5.2 误差分析

为验证本系统的准确性,随机选取一人进行测试。被测者的真实值:身高、肩宽、大臂长、小臂长、大腿长、小腿长、膝高、眼高、臀宽、坐高均由专业测量师测量,进而保证真实值的准确性。具体数据如表1所示。

6 结论

该套面向汽车座椅的人体参数采集与分析系统的开发让汽车制造商能够提供更加个性化和舒适的驾驶体验。该系统不仅可以准确地测量驾驶员的人体参数,还可以根据这些参数来控制汽车座椅,以提供更加贴合驾驶员需求的乘坐体验。随着汽车工业的飞速发展,这种基于计算机视觉的人体参数测量系统为汽车制造商提供了一个切实可行的解决方案。它将有助于提高整个汽车行业的竞争力和创新水平,同时也能够极大地改善驾驶员的舒适性和健康状况。因此,这种系统具备广泛应用前景和市场潜力。

参考文献:

[1] 万乐玲.基于图像的人体尺寸测量方法及系统设计[D].南京:南京信息工程大学,2022.

[2] 李梦荷,许宏吉,石磊鑫,等.基于骨骼关键点检测的多人行为识别[J].计算机科学,2021,48(4):138-143.

[3] D’ANTONIO E,TABORRI J,PALERMO E,et al.A markerless system for gait analysis based on OpenPose library[C]//2020 IEEE International Instrumentation and Measurement Technology Conference (I2MTC).Dubrovnik,Croatia.IEEE,2020:1-6.

[4] ZAFAR M,AMIN J,SHARIF M,et al.DeepLabv3+-based segmentation and best features selection using slime mould algorithm for multi-class skin lesion classification[J].Mathematics,2023,11(2):364.

[5] 張晓华.基于Jetson TX2的老人跌倒监护设计[J].现代电子技术,2022,45(20):45-48.

[6] 邓梓洛,冼进.基于Arduino灾难智能远程探测车设计[J].电子设计工程,2023,31(9):191-195.

【通联编辑:唐一东】

猜你喜欢
汽车座椅
汽车座椅的多功能设计及应力分析
我国汽车座椅安全性及标准现状综述
基于HyperMesh汽车座椅轻量化设计
汽车座椅通风的功能应用分析
汽车座椅舒适性改进的策略研究
Multi-functional roles of TaSSI2 involved in Fusarium head blight and powdery mildew resistance and drought tolerance
基于液体发泡剂的汽车座椅轻量化设计
汽车座椅人机工程的设计分析
关于汽车座椅系统安全性的若干研究
汽车座椅怠速振动预测和控制方法的研究