一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

公共交通的拥挤度识别方法、装置、电子设备及存储介质

2022-07-23 09:54:57 来源:中国专利 TAG:


1.本发明属于智能交通技术领域,具体涉及一种公共交通的拥挤度识别方法、装置、电子设备及存储介质。


背景技术:

2.地铁作为城市交通的重要组成部分,担负着每日数以百万计人次的客运任务,其已成为人们日常出行最常用的交通工具之一,同时,随着城市化进程的推进和市民对高效便捷的轨道交通需求的不断提高,现代社会对地铁的服务能力提出了更高的要求,因此,对地铁车厢内的乘客数量进行检测,有利于合理引导客流,分散不同地铁路段的客流压力,是提升地铁服务能力的关键性手段。
3.目前,众多学者和科研人员对地铁客流引导技术进行了较为全面且深刻的研究,其中,国内外对于地铁客流引导的拥挤度分析也取得了突破性的研究成果,其是实现地铁客流引导的关键内容,在实际应用中,国内对该技术的实现手段为空气弹簧装置中的压力传感系统,即通过车辆行车过程中的震动,根据车厢重量来判断车厢人数,以此来实现拥挤度的检测,但该方案存在以下不足:需要车辆维修人员定期检查空气弹簧设备中的压力传感系统,维修人工、时间、费用成本较高,获得的检测数据也随着车辆运行过程的颠簸存在明显的误差;因此,提供一种维修人工、时间和费用成本低,以及检测误差小的拥挤度识别方法迫在眉睫。


技术实现要素:

4.本发明的目的是提供一种公共交通的拥挤度识别方法、装置、电子设备及存储介质,以解决现有采用空气弹簧设备的压力传感系统来识别车厢拥挤度所存在的维修人工、时间和费用成本较高,以及检测误差较大的问题。
5.为了实现上述目的,本发明采用以下技术方案:第一方面,本发明提供了一种公共交通的拥挤度识别方法,包括:获取待识别车辆中各节车厢内部在进行分段点云扫描时,每个扫描段的点云数据集;对于每节车厢对应的每个扫描段的点云数据集,对每个扫描段的点云数据集进行预处理,以去除每个点云数据集中的无效点云数据,得到每个扫描段的处理后的点云数据集,其中,任一点云数据集中的无效点云数据为任一点云数据集中用于表征车厢壁的点云数据;对每个处理后的点云数据集进行拟合处理,得到每个扫描段对应的拟合点云数据集;基于每节车厢的每个扫描段对应的拟合点云数据集,得到每节车厢内部的点云网格图;根据每节车厢内部的点云网格图,生成每节车厢的乘客分布热度图,以便基于每
节车厢的乘客分布热度图得到所述待识别车辆的拥挤程度。
6.基于上述公开的内容,本发明通过对车辆的各节车厢内部进行分段点云扫描,从而得到各节车厢内每个扫描段对应的点云数据集,然后,对每节车厢的各个扫描段的点云数据集进行预处理,以去除每个点云数据集中用于表征车厢壁的点云数据,基于上述步骤,即可得到仅表示车厢内乘客的点云数据,从而便于后续进行车厢拥挤度的识别;接着,再对每个扫描段处理后的点云数据集进行拟合处理,得到拟合点云数据集,该步骤可减少点云数据的误差,从而提高识别精度,其次,利用每节车厢对应的各个扫描段的拟合点云数据集,即可拼接得到每节车厢内部的点云网格图,最后,通过点云网格图来进行生成每节车厢的乘客分布热度图,即可完成每节车厢的拥挤度识别,即乘客分布热度图中不同颜色代表着不同数量的乘客,如热度图中红色区域代表乘客较多区域,为拥挤区,而绿色则代表乘客较少区域。
7.通过上述设计,本发明的车厢拥挤度检测无需使用传统的空气弹簧装置中的压力传感系统,因此,避免了压力传感系统需要定期维修检测的问题,降低了维修人工、时间和费用成本,同时,检测数据也不会受到车辆运行颠簸的影响,因此,降低了检测误差,提高了检测的准确性。
8.在一个可能的设计中,对每个扫描段的点云数据集进行预处理,得到每个扫描段的处理后的点云数据集,包括:获取点云裁剪宽度;对于任一扫描段的点云数据集,判断所述任一扫描段的点云数据集是否为车厢首部扫描段的点云数据集;若是,则获取第一距离以及第二距离,其中,所述第一距离为所述任一扫描段对应的点云扫描位置与所述任一扫描段所属车厢首端之间的距离,所述第二距离为所述任一扫描段对应的点云扫描位置与第一目标扫描段对应的点云扫描位置之间的距离,且所述第一目标扫描段为所述任一扫描段的下一扫描段;根据所述第一距离和所述第二距离,得到点云裁剪长度;基于所述点云裁剪长度和所述点云裁剪宽度,构建点云裁剪区域,并在所述任一扫描段的点云数据集中,截取出处于所述点云裁剪区域内的点云数据,以利用截取出的点云数据组成所述任一扫描段对应的预处理后的点云数据集。
9.基于上述公开的内容,本发明公开了每个点云数据集的预处理过程,即根据车厢内每个扫描段所处的位置,来构建不同的点云裁剪区域,其中,若任一扫描段为车厢内的车厢首部扫描段,那么则获取该任一扫描段对应的点云扫描位置与车厢首端之间的距离,以及该任一扫描段对应的点云扫描位置,与下一扫描段对应的点云扫描位置之间的距离,然后,利用两个距离来计算得到点云裁剪长度,最后,利用点云裁剪长度和宽度,即可构建一点云裁剪区域(为矩形区域),而处于该点云裁剪区域内的点云数据则为乘客点云数据,而未处于点云裁剪区域内的点云数据,则为车厢壁的点云数据,由此,即可利用处于点云裁剪区域内的点云数据,来组成任一扫描段的处理后的点云数据集。
10.在一个可能的设计中,所述方法还包括:若否,则判断所述任一扫描段的点云数据集是否为车厢尾部扫描段的点云数据集;
若否,则获取所述任一扫描段的点云扫描位置,与相邻两扫描段的点云扫描位置之间的距离,以作为扫描距离;根据所述扫描距离,计算得到点云裁剪长度;基于所述点云裁剪长度和所述点云裁剪宽度,构建点云裁剪区域,并在所述任一扫描段的点云数据集中,截取出处于所述点云裁剪区域内的点云数据,以利用截取出的点云数据组成所述任一扫描段对应的预处理后的点云数据集。
11.基于上述公开的内容,本发明公开了处于车厢首部与车厢尾部之间的扫描段对应点云数据集的预处理过程,其中,处于车厢首部与尾部的扫描段,只需要获取该扫描段对应的点云扫描位置,与相邻两扫描段的点云扫描位置之间的距离,然后使用前述相同方法来得出点云裁剪长度,以便基于点云裁剪长度和宽度生成点云裁剪区域,最后,利用点云裁剪区域即可完成点云数据的截取,得到处理后的点云数据集。
12.在一个可能的设计中,对每个处理后的点云数据集进行拟合处理,得到每个扫描段对应的拟合点云数据集,包括:获取采样坐标系,其中,所述采样坐标系为任一处理后的点云数据集中的任一点云数据对应的坐标系;依次从采样坐标系的x轴正方向、y轴正方向和z轴正方向,并以预设采样间隔对每个处理后的点云数据集进行数据采样,以在采样完成后,得到每个扫描段对应的采样点云数据;对每个扫描段对应的采样点云数据进行插值处理,以在插值完成后,得到每个扫描段的拟合点云数据,以便利用每个扫描段的拟合点云数据组成每个扫描段的拟合点云数据集。
13.基于上述公开的内容,对每个处理后的点云数据集进行拟合处理,则先需进行采样处理,即从采样坐标系的x轴、y轴以及z轴正方向,依次按照预设间隔进行数据采样,以减少点云的数据量,从而提高识别速度;在得到采样点云数据后,即可对采样点云数据进行插值处理,以提高数据精度,从而保证后续点云网格图的构建精度,插值完成后,即可得到每个扫描段的拟合点云数据集。
14.在一个可能的设计中,基于每节车厢的每个扫描段对应的拟合点云数据集,得到每节车厢内部的点云网格图,包括:基于每节车厢的每个扫描段对应的拟合点云数据集,得到每节车厢对应的每个扫描段的点云网格图;获取每节车厢对应的各个扫描段的扫描顺序;以每节车厢的各个扫描段的扫描顺序为点云网格图的拼接顺序,拼接每节车厢对应的各个扫描段的点云网格图,以在拼接完成后,得到每节车厢内部的初始点云网格图;获取每节车厢的车厢长度,并基于每节车厢的车厢长度,对每节车厢内部的初始点云网格图进行裁剪,以在裁剪完成后,得到每节车厢内部的点云网格图。
15.基于上述公开的内容,本发明先通过每个扫描段的拟合点云数据,来得到每个扫描段的点云网格图,然后按照各个扫描段的扫描顺序,来拼接各个扫描段的点云网格图,拼接完成后,即可得到对应车厢内部的初始点云网格图,最后,再根据车厢长度,来裁剪掉初始点云网格图中多余的部分,即可得到车厢内部的点云网格图。
16.在一个可能的设计中,根据每节车厢内部的点云网格图,生成每节车厢的乘客分布热度图,包括:基于每节车厢内部的点云网格图,获取每节车厢对应的各个车内点云数据的z轴坐标值;利用colormap函数以及每节车厢对应的各个车内点云数据的z轴坐标值,对每节车厢对应的点云网格图中的各个车内点云数据进行上色处理,以在上色处理完毕后,得到每节车厢的乘客分布热度图。
17.基于上述公开的内容,本发明公开了基于点云网格图生成乘客分布热度图的具体方法,其中,车厢内部的点云网格图中各个点云数据则代表车内点云数据,因此,即可通过车厢内部的点云网格图中各个点云数据的z轴坐标值,来确定该点云数据的颜色,如z轴值最大的点云数据,可上色为红色,z轴值最小的则可上色为绿色,而处于最大值与最小值之间的点云数据,即可利用colormap函数来得出介于红色和绿色之间的颜色,由此,将点云网格图中每个点云数据进行上色后,即可得到车厢内的乘客分布热度图。
18.在一个可能的设计中,在得到每个扫描段对应的采样点云数据后,所述方法还包括:基于每节车厢的每个扫描段对应的采样点云数据,以及每节车厢对应的各个扫描段的扫描顺序,生成每节车厢内部的点云图;基于每节车厢内部的点云图,得到每节车厢的乘客分布点云数据;获取每节车厢内部的深度图;分别对每节车厢的深度图以及乘客分布点云数据进行人体骨骼识别,得到每节车厢的深度图人体检测结果以及点云人体检测结果;基于每节车厢的深度图人体检测结果以及点云人体检测结果,得出每节车厢内的乘客总人数。
19.基于上述公开的内容,本发明还可利用每个扫描段的采样点云数据来生成每个扫描段的点云图,然后同样基于各个扫描段的扫描顺序来将各个扫描段的点云图拼接为对应车厢内部的点云图,以将每节车厢内部的点云图中的点云数据作为乘客分布点云数据,其次,再获取每节车厢内部的深度图,并对二者进行人体骨骼识别,以便基于识别结果来得到每节车厢的乘客总人数,通过上述设计,本发明可为地铁的乘客引导、票务清算提供基本的数据支持,由此,提高了地铁的服务能力。
20.第二方面,本发明提供了一种公共交通的拥挤度识别装置,包括:获取单元,用于获取待识别车辆中各节车厢内部在进行分段点云扫描时,每个扫描段的点云数据集;预处理单元,用于对于每节车厢对应的每个扫描段的点云数据集,对每个扫描段的点云数据集进行预处理,以去除每个点云数据集中的无效点云数据,得到每个扫描段的处理后的点云数据集,其中,任一点云数据集中的无效点云数据为任一点云数据集中用于表征车厢壁的点云数据;拟合单元,用于对每个处理后的点云数据集进行拟合处理,得到每个扫描段对应的拟合点云数据集;网格图生成单元,用于基于每节车厢的每个扫描段对应的拟合点云数据集,得到
每节车厢内部的点云网格图;拥挤度识别单元,用于根据每节车厢内部的点云网格图,生成每节车厢的乘客分布热度图,以便基于每节车厢的乘客分布热度图得到所述待识别车辆的拥挤程度。
21.第三方面,本发明提供了另一种公共交通的拥挤度识别装置,以系统为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述公共交通的拥挤度识别方法。
22.第四方面,本发明提供了一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述公共交通的拥挤度识别方法。
23.第五方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任意一种可能设计的所述公共交通的拥挤度识别方法。
附图说明
24.图1为本发明提供的公共交通的拥挤度识别方法的步骤流程示意图;图2为本发明提供的点云扫描设备的安装结构示意图;图3为本发明提供的一节车厢中各个扫描段的示意图;图4为本发明提供的点云裁剪区域的示意图;图5为本发明提供的公共交通的拥挤度识别装置的结构示意图;图6为本发明提供的电子设备的结构示意图。
具体实施方式
25.下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
26.应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
27.应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,a/和b,可以表示:单独存在a,单独存在a和b两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
28.实施例参见图1所示,本实施例第一方面所提供的公共交通的拥挤度识别方法,通过对车辆各节车厢内部进行点云扫描,来获取各节车厢内部的点云数据,同时,再进行无效点云数
据的去除,以及点云数据的拟合,以便提高点云精度,然后,再利用拟合后的点云数据,生成各节车厢内部的点云网格图,最后,基于每节车厢内部的点云网格图来生成对应车厢的乘客分布热度图,即可实现每节车厢拥挤度的识别,其中,本实施例所提供的方法可以但不限于在地铁运营终端侧运行,而地铁运行终端侧可以但不限于是个人电脑(personal computer,pc)、平板电脑、智能手机和/或个人数字助理(personal digital assistant,pda)等,可以理解的,前述执行主体并不构成对本技术实施例的限定,相应的,本方法的运行步骤可以但不限于如下述步骤s1~s5所示。
29.s1. 获取待识别车辆中各节车厢内部在进行分段点云扫描时,每个扫描段的点云数据集;具体应用时,是利用点云扫描设备来对地铁每节车厢内部进行分段扫描,其中,点云扫描设备可以但不限于包括:激光传感器、测速传感器以及lidar传感器,参见图2所示,举例lidar传感器安装在地铁站台前端安全门外的区域(即图2中乘客候车范围则正对安全门,地铁行驶方向的前方则作为安全门外的区域),且以45度倾斜角安装,如此安装,可在地铁车厢经过lidar传感器时,lidar传感器能够通过地铁车厢车窗的上部对地铁车厢内部进行扫描,从而得到点云数据集;更进一步的,地铁每次发车时,速度传感器获得地铁的行驶速度,且地铁车辆通过lidar传感器前,激光传感器被遮挡时,此时,地铁头部与lidar传感器位于同一平面,激光传感器激活lidar传感器开始扫描,根据车厢的窗口分布来控制lidar传感器的扫描间隔时间,由此,对于一节完整的地铁车厢,lidar传感器则会基于该车厢的窗口分布,来得到多个扫描段的点云数据,参见图2,如一节车厢设置有9个车窗(包括车门的窗口),那么,9个车窗在经过lidar传感器时得到的点云扫描范围,则作为对应的扫描段,因此,该节车厢则存在9个扫描段。
30.更进一步的,举例lidar传感器的扫描间隔时间=相邻两扫描段对应的点云扫描位置之间的距离/地铁速度;例如,第一个扫描段扫描后的间隔时间为:第一个扫描段对应的点云扫描位置与第二个扫描段对应的点云扫描位置之间的距离,除以地铁速度;在本实施例中,由于lidar传感器的安装位置确定,因此,任一节车厢上的每个扫描段也是确定的,由此,每个扫描段的点云扫描位置也是已知的,那么,已知两扫描段的点云扫描位置后,即可确定出两相邻扫描段对应的点云扫描位置之间的距离;可选的,对于任一节车厢,相邻两扫描段对应的点云扫描位置之间的距离,在进行设备安装时,即可计算得出,且在计算后可预设至地铁运营终端内。
31.在本实施例中,举例可以但不限于使用intel公司推出的realsense系列传感器作为lidar传感器,其工作原理为:通过仪器前端的点阵投影仪在物体表面投射出点阵,再通过左右两个双目摄像头捕捉视频图像,分析图像中的点阵分布从而获得扫描范围内的各个点的三维点云数据,以便利用各个点的三维点云数据组成对应扫描段的点云数据集;同时,举例任一扫描段的点云扫描位置可以但不限于为:lidar传感器拍摄扇形范围上中线的延长线与对应扫描段所在车厢车窗的交点。
32.更进一步的,举例可按照扫描顺序,对每一扫描段对应的点云数据集进行编号,以便后续进行车厢内部点云网格图的拼接。
33.在得到待识别车辆中各节车厢内部的每个扫描段的点云数据集后,即可进行点云数据的裁剪,以去除各个点云数据集中表示车厢壁的点云数据,其中,处理过程如下述步骤s2所示。
34.s2. 对于每节车厢对应的每个扫描段的点云数据集,对每个扫描段的点云数据集进行预处理,以去除每个点云数据集中的无效点云数据,得到每个扫描段的处理后的点云数据集,其中,任一点云数据集中的无效点云数据为任一点云数据集中用于表征车厢壁的点云数据;在具体应用时,对于每节车厢内的每个扫描段的点云数据集,均会进行点云数据的裁剪,以去除表征车厢壁的点云数据,从而保留车厢内乘客的点云数据,以便后续基于裁剪得到的点云数据进行拥挤度识别;可选的,本实施例对每个扫描段的点云数据集进行数据裁剪可以但不限于先构建剪裁区域,然后利用裁剪区域来进行点云数据的裁剪,其中,裁剪过程如下述步骤s21~s25所示。
35.s21. 获取点云裁剪宽度;具体应用时,举例点云裁剪宽度为预设值,在本实施例中,可以但不限于为车厢的宽度。
36.具体应用时,同一车厢内不同扫描段对应的点云裁剪长度不同,因此,在计算点云裁剪长度时,需要判断扫描段在车厢内所处的位置,在本实施例中,是分为车厢首部扫描段,车厢尾部扫描段,以及处于车厢首部扫描段与车厢尾部扫描段之间的扫描段,其中,扫描段位置判断过程如下述步骤s22所示。
37.s22. 对于任一扫描段的点云数据集,判断所述任一扫描段的点云数据集是否为车厢首部扫描段的点云数据集;具体应用时,车厢首部扫描段表示一节车厢最先经过lidar传感器时,所得到的车厢内的点云扫描范围,同理,车厢尾部扫描段则表示一节车厢最后经过lidar传感器时,所得到的车厢内的点云扫描范围;同时,由于前述就已说明每个扫描段的点云数据集按照扫描顺序进行编号,因此,可根据编号来判断该点云数据集对应扫描段所处的位置,在本实施例中,编号最小的点云数据集作为车厢首部扫描段的点云数据集,编号最大的点云数据集作为车厢尾部扫描段的点云数据集,如一节车厢,共计有9个点云数据集,编号依次为1-9,那么编号为1的点云数据集则作为车厢首部扫描段的点云数据集。
38.当判断得到任一车厢内的任一扫描段的点云数据集为车厢首部扫描段的点云数据集后,则使用下述步骤s23和步骤s24来计算点云裁剪长度,如下所示:s23. 若是,则获取第一距离以及第二距离,其中,所述第一距离为所述任一扫描段对应的点云扫描位置与所述任一扫描段所属车厢首端之间的距离,所述第二距离为所述任一扫描段对应的点云扫描位置与第一目标扫描段对应的点云扫描位置之间的距离,且所述第一目标扫描段为所述任一扫描段的下一扫描段;在具体应用时,参见图3所示,图3中的扫描位置1则代表车厢首部扫描段的点云扫描位置,扫描位置2则是车厢首部扫描段的下一扫描段的点云扫描位置,字母a则表车厢首部扫描段的点云扫描位置与车厢首端之间的距离,而字母b则表示车厢首部扫描段对应的点云扫描位置与下一扫描段对应的点云扫描位置之间的距离。
39.在得到前述第一距离以及第二距离后,即可进行点云裁剪长度的计算,如下述步骤s24所示。
40.s24. 根据所述第一距离和所述第二距离,得到点云裁剪长度;具体应用时,举例点云裁剪长度=(第一距离 第二距离)/2。
41.在得到点云裁剪长度后,即可结合点云裁剪宽度,来构建一点云裁剪区域,从而对车厢首部扫描段的点云数据集进行点云裁剪,如下述步骤s25所示。
42.s25. 基于所述点云裁剪长度和所述点云裁剪宽度,构建点云裁剪区域,并在所述
任一扫描段的点云数据集中,截取出处于所述点云裁剪区域内的点云数据,以利用截取出的点云数据组成所述任一扫描段对应的预处理后的点云数据集;在具体应用时,举例利用点云裁剪宽度以及点云裁剪长度构建一矩形区域作为点云裁剪区域,更进一步的,参见图4所示,利用车厢首部扫描段对应的点云数据集中的点云数据,来生成一车厢首部扫描段的二维点云图,然后在二维点云图中确定出用于表征车厢首部扫描段对应点云扫描位置的点云,然后以点云扫描位置对应的点云为原点,分别在二维点云图中向车厢长度方向的两端分别延伸r长度,其中,r为0.5倍点云裁剪长度,由此,即可在二维点云图中确定出点云裁剪长度所指示的边界,然后,在确定出的边界的两端,分别做垂线,且垂线的长度等于点云裁剪宽度,通过上述操作后,即可构建得到一矩形区域(图4中的截取保留范围则作为点云裁剪区域),如图4所示,最后,裁剪出矩形区域内的点云数据,即可组成车厢首部扫描段处理后的点云数据集,而矩形区域外的点云数据,则视作为车厢首部扫描段中车厢壁的点云数据,为无效点云数据。
43.在本实施例中,车厢首部扫描段对应的点云扫描位置在实际扫描时是已知的,因此,在得到二维点云图后,即可在图中相应位置处确定出点云扫描位置对应的点云数据。
44.在本实施例中,当判断出任一扫描段的点云数据集不是车厢首部扫描段的点云数据集时,则需要进行如下步骤s23a~s23d。
45.s23a. 若否,则判断所述任一扫描段的点云数据集是否为车厢尾部扫描段的点云数据集;具体应用时,与步骤s23中的判断原理一致,即通过判断点云数据集的编号是否为最大编号来确定是否为车厢尾部扫描段的点云数据集,其中,若编号处于最大编号与最小编号之间,那么任一扫描段的点云数据集则不是车厢尾部扫描段的点云数据,此时,则获取该任一扫描段对应的点云扫描位置,与相邻两扫描段对应的点云扫描位置之间的距离,如下述步骤s23b所示。
46.s23b. 若否,则获取所述任一扫描段的点云扫描位置,与相邻两扫描段的点云扫描位置之间的距离,以作为扫描距离;具体应用时,参见图3所示,假设该任一扫描段的点云数据集的编号为3,那么说明是第三个扫描段的点云数据集,此时,应该获取第二个扫描段对应的扫描位置与第三个扫描段对应的点云扫描位置之间的距离,以及第三个扫描段对应的点云扫描位置与第四个扫描段对应的点云扫描位置之间的距离,也就是图3中的扫描位置2与扫描位置3之间的距离(即图3中的距离c),以及图3中扫描位置3与扫描位置4之间的距离(即图3中的距离d),当然,其余扫描段的扫描距离的获取过程,与前述举例原理相同,于此不再赘述。
47.在得到前述扫描距离后,即可基于扫描距离来计算点云裁剪长度,如下述步骤s23c所示。
48.s23c. 根据所述扫描距离,计算得到点云裁剪长度;具体应用时,是将两扫描距离的总和的平均值,作为点云裁剪长度;还是在前述举例的基础上进行阐述,第三个扫描段的点云数据集的点云裁剪长度=(c d)/2。
49.在得到点云裁剪长度后,即可进行点云数据的裁剪,如下述步骤s23d所示。
50.s23d. 基于所述点云裁剪长度和所述点云裁剪宽度,构建点云裁剪区域,并在所述任一扫描段的点云数据集中,截取出处于所述点云裁剪区域内的点云数据,以利用截取出的点云数据组成所述任一扫描段对应的预处理后的点云数据集;具体应用时,步骤s23d
与步骤s25的原理相同,于此不再赘述。
51.当然,在本实施例中,若判断出任一扫描段的点云数据集为车厢尾部扫描段的点云数据集,那么则获取第三距离以及第四距离,其中,第三距离为所述任一扫描段对应的点云扫描位置与车厢尾端之间的距离,所述第四距离为所述任一扫描段对应的点云扫描位置与第二目标扫描段对应的点云扫描位置之间的距离,且所述第二目标扫描段为所述任一扫描段的上一扫描段;还是在前述实例上进行阐述,当任一扫描段的点云数据集为车厢尾部扫描段的点云数据集时,需要获取第八个扫描段的点云扫描位置与车厢尾部扫描段的点云扫描位置之间的距离,以及获取车厢尾部扫描段的点云扫描位置与车厢尾部之间的距离,结合图3所示,车厢尾部扫描段的点云扫描位置为扫描位置9,因此,则是获取扫描位置8与扫描位置9之间的距离(距离为i),以及扫描位置9与车厢尾部之间的距离(距离为j),在得到第三距离和第四距离后,使用前述步骤s23c和步骤s23d,即可实现车厢尾部扫描段的点云数据集内点云数据的裁剪,其过程可参见前述步骤s23c和步骤s23d,于此不再赘述。
52.在完成每节车厢对应各个扫描段的点云数据集中点云数据的裁剪后,即可进行点云的拟合处理,以提高点云精度,从而增加拥挤度识别的准确性,其中,拟合处理过程如下述步骤s3所示。
53.s3. 对每个处理后的点云数据集进行拟合处理,得到每个扫描段对应的拟合点云数据集;在具体应用时,是先对每个处理后的点云数据集进行采样处理,然后对采样的点云数据进行插值处理,插值完成后,即可得到每个扫描段的拟合点云数据,可选的,前述处理过程如下述步骤s31~s33所示。
54.s31. 获取采样坐标系,其中,所述采样坐标系为任一处理后的点云数据集中的任一点云数据对应的坐标系。
55.s32. 依次从采样坐标系的x轴正方向、y轴正方向和z轴正方向,并以预设采样间隔对每个处理后的点云数据集进行数据采样,以在采样完成后,得到每个扫描段对应的采样点云数据;在具体应用时,举例预设采样间隔为10,具体采样过程为:对于任一处理后的点云数据集,先从x轴正方向,并以10为采样间隔,从点云数据集中进行x轴上点云数据的采样,即采样x轴正方向上的第1个点云数据,第11个点云数据,第21个点云数据等等,直至将x轴正方向上的点云数据采样完毕;同理,对于y轴正方向和z轴正方向上的采样也是如此,在前述采样步骤完成后,即可得到每个扫描段对应的采样点云数据。
56.在得到每个扫描段对应的采样点云数据后,即可进行插值处理,以提高点云数据的精度,从而提高后续点云网格图的图像质量,如下述步骤s33所示。
57.s33. 对每个扫描段对应的采样点云数据进行插值处理,以在插值完成后,得到每个扫描段的拟合点云数据,以便利用每个扫描段的拟合点云数据组成每个扫描段的拟合点云数据集;具体应用时,可以但不限于使用matlab中的griddata函数来实现对每个扫描段的采样点云数据的插值,同时,举例对于同一采样点云数据,其插值次数为2,也就是进行两次插值;由此经过前述步骤s33,经过两次插值后,即可得到每个扫描段的拟合点云数据集。
58.在得到每个扫描段的拟合点云数据集后,即可利用每个扫描段的拟合点云数据,来构建对应车厢内部的点云网格图,以便后续基于点云网格图来生成对应车厢内的乘客分布热度图,其中,点云网格图构建过程如下述步骤s4所示。
59.s4. 基于每节车厢的每个扫描段对应的拟合点云数据集,得到每节车厢内部的点
云网格图;具体应用时,是先构建每个扫描段的点云网格图,然后将每个扫描段的点云网格图进行拼接,即可得到对应车厢内部的点云网格图,其中 拼接过程如下述步骤s41~s44所示。
60.s41. 基于每节车厢的每个扫描段对应的拟合点云数据集,得到每节车厢对应的每个扫描段的点云网格图;具体应用时,是利用每个扫描段的拟合点云数据,来构建对应扫描段的点云网格图,可选的,可将拟合点云数据输入至matlab软件中,从而得到对应的点云网格图。
61.在得到每个扫描段的点云网格图后,即可利用各个扫描段的扫描顺序,对各个点云网格图进行拼接,得到对应车厢内部的点云网格图,如下述步骤s42和步骤s43所示。
62.s42. 获取每节车厢对应的各个扫描段的扫描顺序;具体应用时,由于前述就已阐述,各个扫描段的点云数据集按照扫描顺序进行编号,因此,编号顺序就是各个扫描段的扫描顺序,在得到扫描顺序后,将各个扫描段的点云网格图按照该顺序进行拼接,即可得到对应车厢内部的点云网格图,如下述步骤s43所示。
63.s43. 以每节车厢的各个扫描段的扫描顺序为点云网格图的拼接顺序,拼接每节车厢对应的各个扫描段的点云网格图,以在拼接完成后,得到每节车厢内部的初始点云网格图。
64.在具体应用时,由于拼接得到的车厢内部的点云网格图可能存在多余部分,因此,在本实施例中,拼接完成后,还需根据车厢长度,来对拼接的初始点云网格图进行裁剪,以得到最准确的车厢内部点云网格图,其中,裁剪过程如下述步骤s44所示。
65.s44. 获取每节车厢的车厢长度,并基于每节车厢的车厢长度,对每节车厢内部的初始点云网格图进行裁剪,以在裁剪完成后,得到每节车厢内部的点云网格图;具体应用时,若初始点云网格图小于车厢长度,则计算初始点云网格图的长度与车厢长度的长度差,并从初始点云网格图的长度方向两端分别扩展距离n(n=1/2长度差),而若初始点云网格图的长度大于车厢长度,则以初始点云网格图为准,将其直接作为车厢内部的点云网格图。
66.在得到每节车厢内部的点云网格图后,为进一步的提高点云精度,减少误差,本实施例还可对每节车厢内部的点云网格图进行点云滤波,具体的,可以但不限于根据空间点半径临近点数量进行滤波,其为点云滤波的常用方法,原理不再赘述。
67.在得到滤波后的车厢内部的点云网格图后,即可基于点云网格图生成对应车厢内部的乘客分布热度图,从而完成每节车厢拥挤度的识别,如下述步骤s5所示。
68.s5. 根据每节车厢内部的点云网格图,生成每节车厢的乘客分布热度图,以便基于每节车厢的乘客分布热度图得到所述待识别车辆的拥挤程度;具体应用时,由于前述就已阐述,进行点云裁剪后的点云数据集,其内部的点云数据用于表示车厢内乘客的点云数据,因此,对于任一节车厢内部的点云网格图,通过对点云网格图内的每个点云数据进行上色,即可达到使用不同颜色来表征车厢内乘客分布的目的,其中,上色过程如下述步骤s51和步骤s52所示。
69.s51. 基于每节车厢内部的点云网格图,获取每节车厢对应的各个车内点云数据的z轴坐标值;具体应用时,点云网格图中的各个点云数据,则作为车内点云数据,因此,可直接从点云网格图中获取各车内点云数据的z轴坐标值。
70.在得到点云网格图中各个车内点云数据的z轴坐标值后,即可基于z轴坐标值对对
应车内点云数据进行上色,以使每个车内点云数据具有不同的颜色,从而在上色完成后,得到乘客分布热度图,其中,上色过程如下述步骤s52所示。
71.s52. 利用colormap函数以及每节车厢对应的各个车内点云数据的z轴坐标值,对每节车厢对应的点云网格图中的各个车内点云数据进行上色处理,以在上色处理完毕后,得到每节车厢的乘客分布热度图;具体应用时,举例将z轴数值最大的点云上色为红色,z轴数值最小的点云上色为绿色,而处于z轴最大数值与最小数值之间的点云,则利用matlab软件中的colormap函数来计算得到相应的颜色值,以便基于计算出的颜色值匹配红色与绿色之间的颜色,从而完成对整个点云网格图的上色,上色完毕后,即可得到对应车厢的乘客分布热度图。
72.在本实施例中,利用红绿颜色渐变的热度图将列车的乘客分布表现在列车图上,红色代表乘客拥挤的区域、绿色代表乘客较少的区域,形象生动的将列车的车厢占用情况告知给即将上车的乘客,方便下一站待上车的乘客提前选择登车的车厢以及车门位置,最大程度上避免车厢满载无法进入的情况,也在一定程度上均匀了地铁乘客的分布,合理分配了车厢资源。
73.由此通过前述步骤s1~s5所详细描述的公共交通的拥挤度识别方法,本发明进行车厢拥挤度检测无需使用传统的空气弹簧装置中的压力传感系统,因此,避免了压力传感系统需要定期维修检测的问题,降低了维修人工、时间和费用成本,同时,检测数据也不会受到车辆运行颠簸的影响,因此,降低了检测误差,提高了检测的准确性。
74.在一个可能的设计中,本实施例第二方面在实施例第一方面的基础上,进行车厢内的乘客识别,以得出乘客人数,从而便于为地铁的乘客引导以及票务清算等功能提供数据支持,其中,乘客识别过程如下述步骤s6~s11所示。
75.s6. 基于每节车厢的每个扫描段对应的采样点云数据,以及每节车厢对应的各个扫描段的扫描顺序,生成每节车厢内部的点云图;具体应用时,也是先利用每个扫描段的采样点云数据,生成每个扫描段的点云图,然后再按照各个扫描段的扫描顺序,拼接各个点云图,拼接完成后,即可得到每节车厢内部的点云图。
76.s7. 基于每节车厢内部的点云图,得到每节车厢的乘客分布点云数据;在具体应用时,可直接将车厢内部的点云图中的点云数据作为乘客分布点云数据,从而从点云图中直接获取;在本实施例中,得到每节车厢的乘客分布点云数据后,还需获取每节车厢内部的深度图,以便后续结合深度图以及乘客分布点云数据来得出车厢内的乘客人数,如下述步骤s8~s11所示。
77.s8. 获取每节车厢内部的深度图;在具体应用时,每节车厢内部的深度图,可直接基于lidar传感器上的双目相机拍摄得到。
78.s9. 分别对每节车厢的深度图以及乘客分布点云数据进行人体骨骼识别,得到每节车厢的深度图人体检测结果以及点云人体检测结果;具体应用时,可以但不限于利用支持向量机来实现基于深度图以及乘客分布点云数据的人体骨骼识别,其是人体骨骼识别的常用技术。
79.在得到深度图以及乘客分布点云数据的人体检测结果后,即可结合二者,来得出对应车厢内的乘客总人数,如下述步骤s9所示。
80.s9. 基于每节车厢的深度图人体检测结果以及点云人体检测结果,得出每节车厢
内的乘客总人数;具体应用时,是结合两种结果进行人体检测的校准,如若基于乘客分布点云数据识别到某一位置有潜在乘客(有独立的点云组但未识别成人体),且深度图的检测结果在该点云组的二维投影位置检测到了一个或多个人,则在此空间位置添加一名或多名乘客,最后,经过深度图检测结果对点云人体检测结果的校准后,即可得到每节车厢内的乘客总人数。
81.通过前述设计,本发明可识别出每节车厢内的乘客人数,从而能够为地铁的乘客引导以及票务清算等功能提供数据支持,由此,提高了本发明检测的多样性,可为地铁的整体运行提供更为全面的数据,有利于地铁服务的提升。
82.如图5所示,本实施例第三方面提供了一种实现实施例第一方面中所述的公共交通的拥挤度识别方法的硬件系统,包括:获取单元,用于获取待识别车辆中各节车厢内部在进行分段点云扫描时,每个扫描段的点云数据集。
83.预处理单元,用于对于每节车厢对应的每个扫描段的点云数据集,对每个扫描段的点云数据集进行预处理,以去除每个点云数据集中的无效点云数据,得到每个扫描段的处理后的点云数据集,其中,任一点云数据集中的无效点云数据为任一点云数据集中用于表征车厢壁的点云数据。
84.拟合单元,用于对每个处理后的点云数据集进行拟合处理,得到每个扫描段对应的拟合点云数据集。
85.网格图生成单元,用于基于每节车厢的每个扫描段对应的拟合点云数据集,得到每节车厢内部的点云网格图。
86.拥挤度识别单元,用于根据每节车厢内部的点云网格图,生成每节车厢的乘客分布热度图,以便基于每节车厢的乘客分布热度图得到所述待识别车辆的拥挤程度。
87.本实施例提供的装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
88.如图6所示,本实施例第四方面提供了另一种公共交通的拥挤度识别装置,以装置为电子设备为例,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面和/或第二方面所述的公共交通的拥挤度识别方法。
89.具体举例的,所述存储器可以但不限于包括随机存取存储器(random access memory,ram)、只读存储器(read only memory ,rom)、闪存(flash memory)、先进先出存储器(first input first output,fifo)和/或先进后出存储器(first in last out,filo)等等;具体地,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现,同时,处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
90.在一些实施例中,处理器可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制,例如,所述处理器可以不限于
采用型号为stm32f105系列的微处理器、精简指令集计算机(reduced instruction set computer,risc)微处理器、x86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,npu)的处理器;所述收发器可以但不限于为无线保真(wifi)无线收发器、蓝牙无线收发器、通用分组无线服务技术(general packet radio service,gprs)无线收发器、紫蜂协议(基于ieee802.15.4标准的低功耗局域网协议,zigbee)无线收发器、3g收发器、4g收发器和/或5g收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
91.本实施例提供的电子设备的工作过程、工作细节和技术效果,可以参见实施例第一方面或第二方面,于此不再赘述。
92.本实施例第五方面提供了一种存储包含有实施例第一方面和/或第二方面所述的公共交通的拥挤度识别方法的指令的存储介质,即所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面和/或第二方面所述的公共交通的拥挤度识别方法。
93.其中,所述存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(memory stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
94.本实施例提供的存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面和/或第二方面,于此不再赘述。
95.本实施例第六方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面和/或第二方面所述的公共交通的拥挤度识别方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
96.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献