首页> 中国专利> 一种基于车内OMS相机计算乘客坐高及座舱成员分类方法

一种基于车内OMS相机计算乘客坐高及座舱成员分类方法

摘要

本发明公开了一种基于车内OMS相机计算乘客坐高及座舱成员分类方法,使用基于人体姿态识别检测到的骨架关键点坐标及世界坐标系转换的方式实现对副驾驶乘客的坐高计算和座舱成员类别的判断,主要包括以下几个步骤:提取主副驾人体坐高关键点信息、乘客骨架坐高计算、座舱成员类别逻辑判断。本发明的分类方法所受相机畸变影响较小,可快速计算、分辨出副驾乘客类别,通过与车内预警系统联用可有效提高乘客乘坐安全性;该方法科学有效、误差较现有技术有较大幅度的降低,可进一步提高乘用车使用安全预警的精准度。

著录项

  • 公开/公告号CN114581893A

    专利类型发明专利

  • 公开/公告日2022-06-03

    原文格式PDF

  • 申请/专利权人 宁波春建电子科技有限公司;

    申请/专利号CN202210174042.1

  • 发明设计人 王臣豪;符树敏;

    申请日2022-02-24

  • 分类号G06V20/59;G06V40/10;G06V10/22;G06T7/80;

  • 代理机构无锡嘉驰知识产权代理事务所(普通合伙);

  • 代理人张西宁

  • 地址 315000 浙江省宁波市高新区菁华路188号(甬港现代铭楼)B座041幢一楼1967室

  • 入库时间 2023-06-19 15:32:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-03

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及智能汽车技术领域,尤其是涉及一种基于车内OMS相机计算乘客坐高及座舱成员分类方法。

背景技术

随着汽车行业的发展,驾驶员和乘客的安全成为重中之重。为了提升驾驶员和乘客安全,座舱监控(In-cabin monitoring)应运而生,通过实时监控整个车内环境来提高驾驶员及乘客的安全。和座舱监控相关的DMS和OMS也发展起来。OMS(Occupancy MonitoringSystem)通过乘客坐高区分乘客是否是儿童是保护乘客安全的主要方式之一,其原理是通过图像处理的方式得到副驾驶的真实坐高,判断副驾乘客是否是小孩,如果是将触发车内预警系统。因为实际遇到车祸时,如果副驾乘坐的是小孩,副驾的安全气囊弹出的位置不是小孩的身体而是头部,将会对小孩造成车祸后的二次伤害。因此对于副驾儿童的预警是一项很重要的安全措施。

目前有关求解人体坐高的方法主要是通过图像内参照物和人的比例去求解坐高,这种方法虽然原理简单易操作,但计算出的人体的误差比较大,尤其是当相机存在较大的畸变时,求出的结果很难达到预期的效果。

发明内容

针对现有技术不足,本发明了一种基于车内OMS相机对于计算乘客坐高及座舱成员分类的方法。

本发明解决上述技术问题采用的技术方案为:

一种基于车内OMS相机计算乘客坐高及座舱成员分类方法,使用基于人体姿态识别检测到的骨架关键点坐标及世界坐标系转换的方式实现对副驾驶乘客的坐高计算和座舱成员类别的判断,具体包括以下步骤:

(1)提取主副驾人体坐高关键点信息:通过车内OMS相机拍摄座舱内场景,使用人体姿态识别算法提取座舱内图像的人体骨架关键点信息并进行筛选和删除误检测骨架信息,最后对车内的骨架进行分类、编号并保存每个骨架的关键点信息;

(2)乘客骨架坐高计算:先计算出车内OMS相机内参以及相机到座椅的距离作为已知参数;然后将求得的已知参数带入图像像素坐标系转世界坐标的公式中计算出对应位置乘客的坐高;最后将每一帧图像内的乘客坐高高度信息存储到坐高特征容器中;

(3)座舱成员类别逻辑判断:设定区分儿童/成人的坐高阈值为M cm,然后从坐高特征容器中的时间序列上所存储的乘客坐高高度值与M比较以判断座舱成员的类别。

进一步地,步骤(1)所述的提取主副驾人体坐高关键点信息具体为:通过车内OMS相机拍摄座舱内场景,使用人体姿态识别算法提取座舱内图像的人体骨架关键点信息,并对提取到的人体骨架关键点进行编号,编号规则为:未检测到脸部关键点的骨架不进行编号并使用图像处理进行剔除,对检测到脸部关键点的骨架进行编号,编号顺序为人体姿态识别检测到骨架的先后顺序排列;按照人体姿态识别里面识别的关键点占据图像的位置来确定骨架所属类别,区分出主驾驶、副驾驶以及后排的乘客骨架;提取主副驾驶的颈部和股部关键点作为求解坐高的关键点,并将座舱内乘客数量、颈部和股部关键点保存到骨架特征结构体中,为后续求解单帧图像内乘客坐高做准备。

进一步地,步骤(2)中所述的相机内参计算方法:用棋盘格标定板录制20-25张图像,然后用matlab的Camera Calibrator小程序标定车内相机,求出相机的内参fx,fy,u0,v0。

进一步地,步骤(2)中所述的相机到座椅的距离计算方法:在座椅处贴上25cm的3x3的棋盘格,记实际相邻角点距离dw(cm),利用角点检测检测出棋盘格的角点与坐标转换的变换公式结合,计算出相机镜头到人坐在座椅上的水平距离Zc,公式如下:

其中,dw为棋盘格实际相邻两个角点之间的距离,dx为对应两个角点之间x坐标的像素差值,dy为对应两个角点之间y坐标的像素差值;fx、fy为相机的内参。

进一步地,步骤(2)中所述的乘客的坐高计算方法:调整座椅的距离,会得到不同位置的Zc,将之前得到主副驾坐高关键点的像素坐标一起代入像素坐标转世界坐标的公式中,求出主副驾乘客的车内真实的坐高height(cm),公式如下:

其中,(x1,y1)为乘客颈部的关键点像素坐标(pix),(x2,y2)为乘客股部的关键点像素坐标(pix),Zc相机镜头到人坐在座椅上的水平距离,fx、fy为相机内参。

进一步地,步骤(2)中所述的乘客坐高高度信息存储方法:将求得每一帧图像的乘客坐高信息保存到长度为N的序列中,定义存储坐高信息的时间序列vec_passenger_heights,序列大小为N,序列排号依次为N

vec_passenger_heights清空规则:

①当vec_passenger_heights存满时,删除第一次存入的坐高信息,将当前帧坐高信息存在序列尾端;

②当判断出座舱乘员类别时,立即清空序列中的所有坐高信息;

③当超过一段时间,没有新的坐高信息存入时,清空序列中的所有坐高信息。

进一步地,步骤(3)所述的座舱成员类别逻辑判断方法:

1)设定存储座舱乘客坐高信息的时间序列vec_passenger_heights长度N,定义一个累加器numl,num2;

2)当vec_passenger_heights序列长度大于等于N时,序列从最后往前遍历,判断每一帧的值跟坐高阈值之间关系,小于M cm累加器num1加一,大于M cm累加器num2加一;

3)统计序列中小于M cm和大于M cm的帧数,计算小于M cm的概率是否大于0.8,如果大于乘客识别为儿童;计算大于M cm的概率是否大于0.8,如果大于乘客识别为成人。

与现有技术相比,本发明具备的有益效果:

本发明提供的一种基于车内OMS相机计算乘客坐高及座舱成员分类方法,使用基于人体姿态识别检测到的骨架关键点坐标估计及世界坐标系转换的方式实现对副驾驶乘客的坐高计算和座舱成员类别的判断,受相机畸变影响较小,可快速计算、分辨出副驾乘客类别,通过与车内预警系统联用可有效提高乘客乘坐安全性;该方法科学有效、误差较现有技术有较大幅度的降低,可进一步提高乘用车使用安全预警的精准度。

附图说明

图1为步骤(2)中所述的乘客坐高高度信息存储方法存入第一帧的坐高信息示意图;

图2为步骤(2)中所述的乘客坐高高度信息存储方法存入第二帧的坐高信息示意图;

图3为步骤(3)中所述座舱成员类别逻辑判断方法示意图。

具体实施方式

以下由特定的具体实施例来进一步说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容清楚地了解本发明的其他优点及功效。

一种基于车内OMS相机对于计算乘客坐高及座舱成员分类方法,使用基于人体姿态识别检测到的骨架关键点坐标及世界坐标系转换的方式实现对副驾驶乘客的坐高计算和座舱成员类别的判断,主要包括以下几个步骤:提取主副驾人体坐高关键点信息、乘客骨架坐高计算、座舱成员类别逻辑判断。

1、对于提取主副驾人体坐高关键点信息:通过车内OMS相机拍摄座舱内场景,使用人体姿态识别算法提取座舱内图像的人体骨架关键点信息,然后利用传统的图像处理技术剔除误检测的骨架信息,最后对车内的骨架进行分类,编号并保存每个骨架的关键点信息,骨架的类别主要包括:主驾驶、副驾驶、乘客骨架。具体步骤包括:

1)提取骨架信息并进行筛选和删除误检测骨架信息

通过车内OMS相机拍摄座舱内场景,使用人体姿态识别算法提取座舱内图像的人体骨架关键点信息(原理是采用bottom-up即自下而上的检测方法,先检测图像中人体部件,然后将图像中多人人体的部件分别组合成人体),接着对提取到的人体骨架关键点进行编号,编号规则为:未检测到脸部关键点的骨架不进行编号并使用图像处理进行剔除,对检测到脸部关键点的骨架进行编号,编号顺序为人体姿态识别检测到骨架的先后顺序排列。

2)区分骨架类别:

由于人体姿态识别检测到骨架序列是无序的,因此按照人体姿态识别里面识别的关键点占据图像的位置来确定的骨架所属类别,区分出主驾驶、副驾驶以及后排的乘客骨架。利用主驾驶左肩的关键点的横坐标处于图像的四分之三之外,副驾驶右肩的关键点横坐标处于图像的零到四分之一之间,其余的处于后排,将各个乘客的位置区分出来。当座舱内场景方向改变时,会对得出的座舱内场景图片进翻转处理等,得出我们最终判断类别的图像,根据关键点占据图像的位置进行分类。

3)提取主副驾驶的颈部和股部关键点作为求解坐高的关键点,并将座舱内乘客数量、颈部和股部关键点保存到骨架特征结构体中,为后续求解单帧图像内乘客坐高做准备。

2、对于乘客骨架坐高计算:在计算坐高之前,先计算出车内OMS相机内参,相机到座椅的距离作为已知参数;然后将求得的已知参数带入图像像素坐标系转世界坐标的公式中计算出对应位置乘客的坐高;最后将每一帧图像内的乘客坐高高度信息存储到坐高特征容器中。

1)用棋盘格标定板录制20-25张图像,然后用matlab的Camera Calibrator小程序标定车内相机,求出相机的内参fx,fy,u0,v0;

2)在座椅处贴上25cm的3x3的棋盘格,记实际相邻角点距离dw(cm),利用角点检测检测出棋盘格的角点与坐标转换的变换公式结合,计算出相机镜头到人坐在座椅上的水平距离Zc,公式如下:

其中,dw为棋盘格实际相邻两个角点之间的距离,dx为对应两个角点之间x坐标的像素差值,dy为对应两个角点之间y坐标的像素差值;fx,fy为相机的内参;

3)调整座椅的距离,会得到不同位置的Zc,将之前得到主副驾坐高关键点的像素坐标一起代入像素坐标转世界坐标的公式中,求出主副驾乘客的车内真实的坐高height(cm),公式如下:

其中,(x1,y1)为乘客颈部的关键点像素坐标(pix),(x2,y2)为乘客股部的关键点像素坐标(pix),Zc相机镜头到人坐在座椅上的水平距离,fx,fy为相机内参,根据上述公式,测得不同人坐高结果值与实际值误差在2-3cm之间;

4)将求得每一帧图像的乘客坐高信息保存到长度为N的序列中,为后续的时间序列上判断乘客类别做准备。定义存储坐高信息的时间序列vec_passenger_heights,序列大小为N,存储方式为:如图1所示,存入第一帧的坐高信息;如图2所示,存入第二帧的坐高信息...;

vec_passenger_heights清空规则:

①当vec_passenger_heights存满时,删除第一次存入的坐高信息,将当前帧坐高信息存在序列尾端;

②当判断出座舱乘员类别时,立即清空序列中的所有坐高信息;

③当超过一段时间,没有新的坐高信息存入时,清空序列中的所有坐高信。

3、对于座舱成员类别逻辑判断:现实生活中,14岁儿童坐高(30cm)差不多是安全气囊的弹出高度,因此设定区分儿童成人的坐高阈值为30cm,然后从时间序列上去判断座舱成员的类别,具体逻辑如下(如图3所示):

1)设定存储座舱乘客坐高信息的时间序列vec_passenger_heights长度N=20,定义一个累加器num1,num2;

2)当vec_passenger_heights序列长度大于等于20时,序列从最后往前遍历,判断每一帧的值跟坐高阈值之间关系,小于30cm累加器numl加一,大于30cm累加器num2加一;

3)统计序列中小于30cm和大于30cm的帧数,并设定一个比较阈值,该比较阈值优选为0.8,计算小于30cm的概率是否大于比较阈值0.8,如果大于乘客识别为儿童;计算大于30cm的概率是否大于0.8,如果大于乘客识别为成人。

上述实施例的目的仅为对本发明的原理及其功效进行例示性地说明,而非用于限制本发明。本领域技术人员在不违背本发明的精神及范畴下,对上述实施例所进行的任何修饰或改变,均应由本发明的权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号