本发明涉及行人轨迹预测的技术领域,尤其涉及一种基于深度学习的复杂环境下行人轨迹预测方法和行人轨迹预测系统。
背景技术:
近年来随着人工智能产业的兴起,无人驾驶领域也在不断发展,其中行人检测得到广泛关注,近年来国内外学者对行人预测也展开了研究,但在无人驾驶系统中研究较少,行人预测是通过目标已有的运动轨迹对其未来固定时刻的位置坐标进行预测。
无人驾驶领域内,行人轨迹预测是至关重要的。如果没有预测,无人车不知下一阶段如何进行驾驶操作,以至于无人车会非常的不安全。例如:无人车右前方有一个行人,下一阶段车辆是应该刹车、减速、或者变道呢,如果不加预测,任何一种操作都有可能导致驾驶感觉非常不好,或者产生危险的操作。在以往轨迹预测领域,要么是基于车辆动力学模型,或者是基于行人之间的交互,对于复杂情况下(十字路口等人多、车多的情况下)效果非常不理想。
技术实现要素:
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明解决的一个技术问题是:提出一种基于深度学习的复杂环境下行人轨迹预测方法,解决在复杂场景下行人轨迹无法预测或者预测效果非常不好的问题。
为解决上述技术问题,本发明提供如下技术方案:一种基于深度学习的行人轨迹预测方法,包括以下步骤,采集模块采集复杂环境下行人和车辆数据;转换模块将采集来的数据转换为统一以摄像设备为基础的坐标系;行人数据标签和车辆数据标签分开命名利用区分模块区分;所述数据输入深度学习算法模型进行训练,当观测结果达到收敛效果时训练结束。
作为本发明所述的基于深度学习的行人轨迹预测方法的一种优选方案,其中:所述采集模块使用摄像设备采集人脸图像包括以下环境要求,摄像设备位置要足够的高,要求清晰的看到场景内的所有行人和车辆,所述摄像头的角度垂直地面;在行驶的车辆上部署摄像头,车辆配备激光雷达高精度测距仪器。
作为本发明所述的基于深度学习的行人轨迹预测方法的一种优选方案,其中:所述区分模块还包括对数据进行处理,把行人、车辆和车辆周围环境的目标进行打标签。
作为本发明所述的基于深度学习的行人轨迹预测方法的一种优选方案,其中:所述深度学习算法模型包括考虑到行人与车辆、车辆与车辆间的相互关系进行行人轨迹预测的参考,以及参考交通信号标识,综合考虑路上交通信息,进行策略判断。
作为本发明所述的基于深度学习的行人轨迹预测方法的一种优选方案,其中:所述深度学习算法模型包括以下训练步骤,利用深度卷积神经网络结构将行人历史轨迹、车辆历史轨迹数据送入深度神经网络模型算法;定义算法模型为:
通过编解码深度神经网络和鉴别网络,结合真实轨迹值计算网络输出;反复执行,直到输出结果比较满意。
作为本发明所述的基于深度学习的行人轨迹预测方法的一种优选方案,其中:行人预测算法流程如下:采集多个十字路口和多个时间段的数据进行处理;将采集的数据集输入到深度卷积神经网络中进行训练;根据在训练过程中给出的训练误差调整网络的参数,重复训练的过程,直至网络的损失极小。
作为本发明所述的基于深度学习的行人轨迹预测方法的一种优选方案,其中:所述网络的损失采用l2范式化损失,如下:
其中yi表示真实未来轨迹,yi_hat表示预测的轨迹输出。
本发明解决的另一个技术问题是:提出一种基于深度学习的复杂环境下行人轨迹预测系统,解决在复杂场景下行人轨迹无法预测或者预测效果非常不好的问题。
为解决上述技术问题,本发明提供如下技术方案:一种基于深度学习的行人轨迹预测系统,包括采集模块、转换模块、区分模块和深度学习算法模型;所述采集模块用于采集复杂环境下行人和车辆数据;所述转换模块与所述采集模块连接,用于将采集来的数据转换为统一以摄像设备为基础的坐标系;所述区分模块用于将行人数据标签和车辆数据标签分开命名和区分;所述深度学习算法模型用于接收实时数据对输出预测轨迹。
本发明的有益效果:一是行人与行人间、行人与车辆和车辆与车辆间的相互关系,包括交通信息,这种综合信息能够提高行人轨迹预测的精度,最大程度的模拟行人在真实场景下所考虑的因素来预测轨迹。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明第一种实施例所述基于深度学习的行人轨迹预测示意图;
图2为本发明第二种实施例所述基于深度学习的行人轨迹预测系统的整体原理示意图;
图3为本发明所述实时仿真输出预测轨迹的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1的示意,为本实施例提出一种基于深度学习的行人轨迹预测方法,包括以下步骤,
s1:采集模块100采集复杂环境下行人和车辆数据,采集模块100使用摄像设备采集人脸图像包括以下环境要求,摄像设备位置要足够的高,要求清晰的看到场景内的所有行人和车辆,摄像头的角度垂直地面;在行驶的车辆上部署摄像头,车辆配备激光雷达高精度测距仪器;此数据为轨迹数据,由摄像头和雷达点云采集设备提供。
s2:转换模块200将采集来的数据转换为统一以摄像设备为基础的坐标系;利用摄像头采集图像,利用雷达设备采集目标三维信息,例如某行人坐标为x=5.4m,y=0.8m,z=13.5m。
s3:行人数据标签和车辆数据标签分开命名利用区分模块300区分,区分模块300还包括对数据进行处理,把行人、车辆和车辆周围环境的目标进行打标签;例如将行人标签命名为1,车辆数据命名为2。
s4:数据输入深度学习算法模型400进行训练,当观测结果达到收敛效果时训练结束,本步骤中深度学习算法模型400包括考虑到行人与车辆、车辆与车辆间的相互关系进行行人轨迹预测的参考,以及参考交通信号标识,综合考虑路上交通信息,进行策略判断。策略判断属于无人驾驶路径规划、控制和决策模块,不属于预测模块技术,但其方案是车辆根据规划的路径行驶,如果预测的行人和车辆跟本车相撞风险则进行刹车或者变道的决策,有红绿灯则遵守交通规矩的决策。
进一步的,深度学习算法模型400包括以下训练步骤,
利用深度卷积神经网络结构将行人历史轨迹、车辆历史轨迹数据送入深度神经网络模型算法;
定义算法模型为:
通过编解码深度神经网络和鉴别网络,结合真实轨迹值计算网络输出;
反复执行,直到输出结果比较满意。
行人预测算法流程如下:
采集多个十字路口和多个时间段的数据进行处理;
将采集的数据集输入到深度卷积神经网络中进行训练;
根据在训练过程中给出的训练误差调整网络的参数,重复训练的过程,直至网络的损失极小。
需要说明的是,网络的损失采用l2范式化损失,如下:
其中yi表示真实未来轨迹,yi_hat表示预测的轨迹输出。
场景一:
对本方法中取得的技术效果加以验证说明,本实施例选择的不同方法和采用本方法进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。
传统的技术方案多利用动力学预测的算法,预测轨迹误差比较大,无法预测复杂轨迹和预测目标受环境的交互的影响。本实施例方法可以考虑到环境中多目标的相互关系对预测目标的影响,并利用深度学习算法可以预测复杂的轨迹,此轨迹更贴近于目标未来真实轨迹,
本实施例中将采用传统动力学方法和本方法分别对仿真车辆的未来轨迹偏差值进行实时测量对比。
测试环境:将行人运行在仿真平台并模拟多人穿行的场景,采用传统方法和本方法对每个行人未来轨迹与仿真场景行人未来真实轨迹进行测试并获得测试结果数据。采用本方法,则开启自动化测试设备并运用python脚本实现本方法的仿真测试,根据实验结果得到仿真数据。每种方法各测试10组数据,计算获得每组数据未来轨迹的坐标值,与仿真模拟输入的实际行人未来轨迹坐标值进行对比计算误差,结果如下图3所示
图3中白色为真实轨迹,虚线段为本方案预测轨迹,其与线条均为传统方案输出轨迹,由此可以看出本实施例虚线段与白色的重合度较高,因此具有较高的预测精度。
实施例2
参照图2的示意,示意为本实施例中提出一种基于深度学习的行人轨迹预测系统,包括采集模块100、转换模块200、区分模块300和深度学习算法模型400。具体的,采集模块100用于采集复杂环境下行人和车辆数据;转换模块200与采集模块100连接,用于将采集来的数据转换为统一以摄像设备为基础的坐标系;区分模块300用于将行人数据标签和车辆数据标签分开命名和区分;深度学习算法模型400用于接收实时数据对输出预测轨迹。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
如在本申请所使用的,术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互)的信号,以本地和/或远程过程的方式进行通信。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。