掌桥专利:专业的专利平台
掌桥专利
首页

用于分析车辆内部的计算机实现的方法

文献发布时间:2024-04-18 19:52:40


用于分析车辆内部的计算机实现的方法

技术领域

本申请涉及用于分析车辆内部的计算机实现的方法。

背景技术

现代车辆包括用于分析其内部以检测或分析位于该车辆座舱中的人员和物体的基于摄像头的系统。在该车辆的内部中的人员和物体的布局因而被称为一个场景。在这类系统的帮助下,与安全性相关的信息(如驾驶员的注意力、对所有乘客的安全带识别等)以及与安全性无关的信息(如用于自动座椅调节的驾驶员尺寸信息的确定、用于不同的调节偏好设置的建模的驾驶员识别等)均可从被捕获的场景中得到。

然而,已知的系统具有各种各样的缺点。首先,来自内部分析域的不同任务通常是相互独立地被审查。也就是说,对于每一条要获得的信息,都使用一个完全独立运行的图像处理模块。例如,有些系统可以对驾驶员的注意力水平建模,或者根据面部对人员进行识别和验证。这种系统的缺点是,各个单独的模块需要大量的内存和计算能力。

其次,对于不同类型的车辆(如汽车、卡车、公共汽车(“乘客捷运系统”)、火车等),需要识别的场景的大小不同,因此复杂性也不同。例如,在分析人员和物体时,火车内部要分析的物体数量要比汽车内部大得多。因此,需要为不同类型的车辆提供不同的系统。

发明内容

根据本发明,这些以及本发明的其他目的通过根据权利要求1的方法来实现。

根据本发明的一种用于确定车辆内部特征的计算机实现的方法使用设置在车辆内部的至少一个图像捕获单元、数据处理单元和数据库。该方法至少包括以下步骤:

首先,图像捕获单元拍摄车内的照片或视频,并将照片或视频传输给数据处理单元。数据处理单元通过分层设置的程序模块的序列数据处理链分析照片或视频。

根据本发明的数据处理链,包括多个程序模块,其中每个模块使用已知的图像处理算法从图像中提取信息,或者结合并进一步处理来自其他模块的信息以获得更高质量的信息。所提取的信息用于描述场景,并且可包括,例如,人员或物体的位置或这些被定位的人员或物体的颜色、大小、周长等。所获得的信息可以大致概括为人员和物体的数据。

数据处理链的程序模块被分层设置,模块的分层等级由从中获得的信息的详细程度决定。

这些模块可依赖于一个或多个其他模块。处理链中的第一模块位于分层结构的顶部,并且不依赖于来自其他模块的信息。模块在分层结构中的位置越低,对先前的处理步骤或模块的依赖就越多。因此,由模块提取的信息随着在分层结构中的层级的降低而更详细。

第一步是进行粗略的分析以定位在照片或视频中的人员和物体。为此目的,可使用已知的图像处理算法。在照片或视频中检测到被识别的人员或物体的轮廓,并围绕这些轮廓以人体和物体的图像的形式生成照片或视频的部分区域。例如,这些物体可以是移动电话、儿童座椅、手提包、背包或其他物体。可选地,数据处理单元可以将所确定的人体和物体的数据存储至数据库中的分层数据模型中。

下一步是对提取的人体和物体图像进行详细的分析。为此目的,可使用已知的图像处理算法。人体数据,如身高、年龄、体重、性别、人体关节模型、人体姿态和其他视觉可识别的人体特征,可被提取。同样地,物体数据,如被检测物体的大小、形状、颜色、周长和其他视觉可识别的特征,可被提取。可对第一步中在车辆内部被定位的所有人员和物体进行详细分析。

在下一步中,数据处理单元将所确定的人体和物体的数据存储至数据库中的分层数据模型中。在该分层数据模型中,相比于从详细分析中得到的数据,从粗略分析中得到的数据位于更高的层级上。

分层数据模型可被实施为可存储在数据库中并可选地可由数据处理单元进行修改的分层结构文本文件。例如,其可以是XML格式或专有文件格式的文件。这确保了数据模型与任何外部程序模块的兼容性。

该分层数据模型保留在数据库中,随后可由数据处理单元本身的程序模块或外部程序模块(例如来自外部数据处理单元)使用,以确定车辆内部的特征。

外部程序模块可访问分层数据模型以确定车辆内部的特定特征。例如,感兴趣的内部特征可以是以下一项或多项:车辆的占用率、正确紧固的安全带、诸如移动电话或儿童座椅的物体相对于被检测人员的位置、驾驶员的注意力水平、驾驶员疲劳程度等。

外部程序模块可从分层数据模型中准确地提取确定特征所需的人体和物体的数据。这允许外部程序模块将来自不同层级、具有不同详细程度的信息进行结合,而不必再次运行相应的分析模块,因此可以快速处理。

因此,在根据本发明的数据处理链中,用于粗略分析和详细分析的程序模块是分层结构的。处理中的层级取决于使用尽可能少的资源来计算信息所必需的前置程序模块的数量。

根据本发明,图像处理模块和算法以分层结构的方式进行结合。与常规方法相比,这具有显著的优势。内存和计算能力的需求有相当大程度的降低。使用根据本发明的方法的系统可以更迅速地检测和处理来自场景的各种状态和信息。在分层结构中处于较高层级的信息(即具有较低的详细程度)通常为多个程序模块所需要,并且使用较大部分的资源(即内存和处理器能力)被首先计算。

在分层结构中处于较低层级的信息(即具有较高的详细程度的信息)只在下游被计算,使用较少的资源并且是并行计算的。所以,根据本发明的方法允许对相应的系统使用较便宜的硬件。

根据本发明的方法还允许用于内部分析的整个系统的标准化。这样,任何复杂的整体系统的内部特征可在不改变数据处理链的情况下被确定。因此,数据处理链在内部场景的大小和复杂性方面具有很好的可扩展性。然而,分层结构的层级也可以与某些特征和需求相关联。例如,如果整个系统具有较低的详细程度(即只提取和需要较低详细程度的信息),那么摄像头的数量和输入数据的分辨率可以被降低,而且可用的程序模块可以被限制在分层结构的某些层级中。

优选地,数据处理单元和数据库完全位于车辆之中。

然而,数据处理单元和数据库还可以被设置在车辆中,并通过接口(例如无线连接)与外部服务器(例如Internet上的服务器)进行通信,可选地,在该服务器上具有预先存储有数据模型的数据库。

图像捕获单元可以是照片摄像头或视频摄像头、ToF(飞行时间)摄像头或类似的设备。ToF摄像头的使用有助于对人员和物体进行可靠的定位,并提取人体和物体的数据。优选地,图像捕获单元被设置在车辆中的方式使得有尽可能多的内部场景于图像区域中可见。为此目的,图像捕获单元还可以包括以不同角度设置的多个摄像头。用训练样例(例如神经网络)训练的图像分析库和/或检测器,可被用于提取和分析人体和物体的数据。

数据处理单元可被设计为微控制器或微型计算机,并且包括中央处理单元(CPU)、易失性半导体存储器(RAM)、非易失性半导体存储器(ROM、SSD硬盘驱动器)、磁存储器(硬盘驱动器)和光存储器(CD-ROM)以及接口单元(以太网、USB)等。此类数据处理单元的组件通常为本领域技术人员所知。数据库可作为数据处理单元中的软件模块,也可被配置在与数据处理单元分离的计算机中或外部服务器中。

根据本发明,可以配置数据处理单元被连接至致动器或警示单元,例如被连接至用于调整车辆座椅位置的电机、用于在安全带未紧固时指示警告的警示灯或用于指示检测到的驾驶员注意力水平的图形显示器。优选地,这些致动器或警示单元由外部程序模块直接控制,以响应于所检测到的车辆内部的特征。

本发明还扩展至包括指令的计算机可读存储介质,所述指令使得数据处理单元执行根据本发明的方法。

此外,本发明还扩展至一种用于确定车辆内部特征的装置,至少包括图像捕获单元、数据处理单元和数据库,其中该装置被设计为用于执行根据本发明的方法。

根据本发明的进一步特征来自权利要求书、示例性实施例和附图。

以下,本发明是在非限定性的示例性实施例的基础上进行解释的。

附图说明

图1示出了具有用于实施根据本发明的方法的数据处理单元的车辆的示意图。

图2a-2c示出了被捕获的图像和从中提取的信息的示意性的示例。

图3a-3c示出了根据本发明的分层数据模型、根据本发明的数据处理链和根据本发明的用于存储数据模型的文本文件的实施例的示意图。

图4示出了根据本发明的装置的实施例的示意性框图。

具体实施方式

图1示出了车辆2的示意图,其中整合了用于执行根据本发明的方法的电子数据处理单元4、4'。在车辆2的内部1中,顶棚上设置有摄像头形式的图像捕获单元3。摄像头是以此为目的而设计的,并且其设置方式使得可捕获到车辆2的整个内部1,特别是所有座位和座位上的人员。

在车辆的内部,若干个人员分成两排入座。在本实施例中,车辆被设计为客车。数据处理单元4、4'被连接至数据库5,并且具有用于与外部电子元件通信连接的接口(未示出)。

图2a-2c示出了由图像捕获单元3拍摄并传输到数据处理单元4的内部1的照片11的示意性示例。照片11展示了具有司机、乘客和坐在后排的人员的车辆2的内部1的典型场景。

场景中包含的信息的提取是由分层数据处理链10完成的。在粗略分析的过程中,人员和物体被定位,并且可选地生成重叠的人员和物体的图像15、15'、15"。在本示例性实施例中,三个人员被定位且没有物体被定位。根据被定位的人员和他们的坐标,照片11被分割为三幅人体和物体的图像15、15'、15",并且这些图像被传递给后续的详细分析。

在详细分析的过程中,对人体图像15、15'、15"进行更详细的分析,并且提取人体和物体的数据7。所提取的人体和物体的数据7具体是人体关节模型13、13'、13",从该人体关节模型中可得到各种相关信息。例如,基于人体关节模型13、13'、13",可以检测到人员的坐姿,并且通过与参考图像的比较,可以检测到安全带的正确使用。人体关节模型13、13'、13"尤其可以用图线的形式形成,即笛卡尔空间中由边连接的点所形成的图线。

这些人员的体重、年龄、性别和腰围也可以由此确定,例如通过与数据库5中存储的参考数据进行比较。

在分层结构的详细分析的层级中,还可以对将要对三个人体和物体的图像15、15'、15"中的哪一个或哪些做进一步分析进行区分,即优选对驾驶员和乘客的图像做进一步分析。

在本发明实施例中,还可以提取结构更精细的面部图像16、16'以及驾驶员和乘客的人员数据6,并将其传输到数据处理链10的后续程序模块。在根据图2c的示例性实施例中,检测到的人脸是驾驶员和乘客的人脸。通过应用数据处理单元4的图像识别算法,可以创建面部模型14、14'。该面部图像16、16'可用于确定此二人的面部数据8,诸如口部、鼻部、眼部、耳部的位置以及注视的方向等。面部模型14、14'尤其可以用图线的形式形成,即笛卡尔空间中由边连接的点所形成的图线。

作为分层数据处理链10的处理结果,至少人体和物体的数据7被存储至数据库5中。可提供对所拍摄的照片11或人体图像15、15'、15"在数据库中进行的存储,但该存储并非强制性的并且可以省略以节省存储空间。

图3a示出了由数据处理单元4所创建的具有多个分层设置的数据对象21的分层数据模型9的示意图。存储在数据对象21中的信息的详细程度从上到下递增。在此图的表示方式中,每个数据对象21表示为一个圆,数据对象21被分为人员数据6、人体和物体的数据7和面部数据8。被检测的人员在人员数据6的层面上被描述为各种特征。根据详细程度的不同,特征被存储在不同的层级中。相关特征与下面或上面的层级的特征或对象相关联。

例如,车辆可容纳两位人员,每位人员都有自己的体重、身高和腰围。在人体和物体的数据7的层级上,不同的人体区域,如上半身、下半身、头部,可被区分。

在面部数据8的层级上,每个人员或所选定的人员的眼部、鼻部、口部、耳部等位置可以被存储。当然,还可以提供进一步分层的层级,也就是说,还可以对图11所示的场景进行更精细的细分。例如,可以进一步细分为相关的人员组,例如在公共汽车中,每一排人员可以作为一组人员而在分层结构中组成其自身的层级。

图3b示出了根据本发明的数据处理链10的示意性表示,分为粗略分析和随后的第一详细分析、第二详细分析和第三详细分析。照片11被提供给数据处理链,并且由数据处理链对人员(左分支)和物体(右分支)进行并行分析。矩形框代表程序模块或算法,用于提取车辆内部的某些特征,现有的和标准化的图像分析库可被用于提取这些特征。

一般地,深度学习网络可被用于检测车辆内部的任何特征。例如,对于人员的检测,可以训练仅识别图像中的人员的神经网络,对于物体的检测则需要单独的神经网络,用于关节位置、眼部位置、注视方向、头部位置、人体姿态、手势等的检测同理。

在粗略分析的过程中,在步骤S101中进行人员检测,并且在步骤S201中进行物体检测。每个程序模块都提供了探测到的人员或物体在车辆的三维空间中的位置。

在第一详细分析的过程中,在步骤S111中确定每个被检测人员的关节位置,在步骤S112中为每个被检测人员分配一个唯一的识别号,在步骤S113中确定或估计每个被检测人员的性别和体重。在分层结构的该层级中,在步骤S211中对被检测物体进行物体部分的检测,在步骤S212中对每个被检测物体的重量进行估计。

在第二详细分析的过程中,在步骤S121中对每个被检测人员的眼部进行分割,在步骤S122中对每个被检测人员的手势进行检测,在步骤S123中对每个被检测人员的头部进行分割。在分层结构的该层级中,在步骤S221中对被检测物体执行物体部分的尺寸测量,并在步骤S222中对检测到的每一物体部分估计其周长。

在第三详细分析的过程中,在步骤S131中检测每个被检测人员的注视方向,在步骤S132中检测每个被检测人员的头部姿态,在步骤S133中检测每个被检测人员的情绪。

在该数据处理链的过程中提取的车辆内部的特征被存储至数据库9(未示出)中,例如被存储至图3a的树状结构中。两个外部程序模块17、17'被标示为椭圆形块。根据其不同的用途,它们可以从分层数据模型9中获取车辆内部的选定特征,也可以直接从各个程序模块中查询这些特征。在具体的示例性实施例中,第一外部程序模块17需要来自程序模块S112的人员ID,来自程序模块S131的这些人员的注视方向,以及来自程序模块S132的这些人员的头部姿态,并由此确定注意力水平。

对于检测到的物体,外部程序模块17'从程序模块S212中请求获取所检测到的物体的重量,从程序模块S221中请求获取所检测到的物体的大小,并据此确定该物体是否被允许放置在车辆内部。同样,外部程序模块17、17'可以是来自于标准化程序库的算法。

图3c示出了用于存储分层数据模型9的数据对象21的文本文件22的示意性部分展示。文本文件22是分层结构的,分为逻辑块(人员、物体)以及子块(眼部、头部、人体、注视方向等),其中每个块和子块可具有形成数据对象21的各种属性(例如坐标)。该附图仅示出了文本文件22的一小部分,在实践中,该文本文件可以更广泛,并且在方法执行期间可通过包含额外的属性被进一步细化。数据模型9的这种实施方式允许通过外部程序模块17、17'进行简单且快速的查询,从而允许具有易于编程的可移植接口,用于对车辆内部检测到的特征进行数据访问。因此,程序模块17、17'并非必须分析照片11或人体和物体的图像15、15'、15",而是直接从文本文件22中检索所需的数据。

例如,在文本文件22的该示意性的部分中,很明显,车辆内部所检测到的特征是以分层的形式被排布的。在驾驶员和副驾驶员之间做出区分。在该示例中,司机坐在特定的位置,该位置在照片11中被识别(“姿势”块,“高度”:1163,“宽度”:872,“x”:754,“y”:-81)。此外,例如,关节位置和眼部位置,被分配给司机。对于每个所检测到的头部,都具有姿态(“头部姿态(headPose)”)和3个相关角度(“ccs俯仰角度(ccsPitchDegree)”:24.61,“ccs滚转角度(ccsRollDegree)”:-15.06,“ccs偏航角度(ccsYawDegree)”:39.91)。同样对于眼部,还计算了额外的信息,在该示例中,在“眼部”块下,有对每只眼睛的张开程度(“openness”)或注视方向(“eyeGaze”)的计算结果。

图4示出了根据本发明的用于确定车辆内部特征的装置的实施例的示意性框图。该装置包括图像捕获单元3、数据处理单元4、另一个数据处理单元4′和数据库5。所有的组件都被设置在一辆车辆之中。在数据处理单元4中实施序列数据处理链10,在本实施例中,该序列数据处理链10包括用于分析由图像捕获单元3通过接口所提供的照片11的三个程序模块12、12′、12″。这些程序模块12、12′、12″被分为照片11的粗略分析、照片11的所选定的人体图像15、15′、15″的第一详细分析、人体图像15、15′、15″的所选定的面部图像16、16′的第二详细分析。这种分层图像分析的结果是程序模块12、12′、12″将人员数据6、人体数据7和面部数据8传输到数据库5。

在数据库5中,这些提取到的数据被存储在分层数据模型9中。该数据模型9可以用树状结构的形式实施。

分层的树状结构的设计方式可以是,人员数据6和各种人体区域在分层结构的最高层级(详细程度最低)上被分配给所识别的人员。各种人体数据7和面部图像在分层结构的中间层级被分配给人体区域。面部数据8在分层结构的最低层级(详细程度最高)的被分配给面部图像。

一旦完成对照片11的分析,该照片11可能会被丢弃,因为所有相关数据都已被存储至分层数据模型9中。随后,内部或外部的程序模块可以访问数据模型9以提取它们确定车辆内部的指定特征所需要的信息。

例如,在外部数据处理单元4中的外部程序模块17、17'可对数据库5进行查询Q1和查询Q2,每个查询都包含对所需的分层结构的层级的指定。随后,数据库向程序模块17、17'提供其所需要的分层结构的这些层级的信息。

在本示例中,人员数据6用于查询Q1(例如,后座上坐了多少人?),或者人体数据7和面部数据8用于查询Q2(例如,司机和乘客的注视方向和身体姿态是怎样的?)。数据处理单元4'被连接至车辆1的引擎控制系统18、显示单元19和警示灯20,以根据其查询Q1和查询Q2的结果激活座椅的致动器或外部后视镜,在仪表板上发出警示,或在显示器上向驾驶员显示信息。

本发明不限于所描述的示例性实施例,还包括专利权利要求的范围内的本发明的其他实施例。

附图标记列表

1内部

2车辆

3图像捕获单元

4、4' 数据处理单元

5数据库

6人员数据

7人体和物体的数据

8面部数据

9分层数据模型

10数据处理链

11照片

12、12'程序模块

13、13'、13”人体关节模型

14、14'面部模型

15、15'、15”人体和物体的图像

16、16'面部图像

17、17'外部程序模块

18引擎控制系统

19显示单元

20警示灯

21数据对象

22文本文件

技术分类

06120116332572