CN112784885B - 基于人工智能的自动驾驶方法、装置、设备、介质及车辆 - Google Patents

基于人工智能的自动驾驶方法、装置、设备、介质及车辆 Download PDF

Info

Publication number
CN112784885B
CN112784885B CN202110031002.7A CN202110031002A CN112784885B CN 112784885 B CN112784885 B CN 112784885B CN 202110031002 A CN202110031002 A CN 202110031002A CN 112784885 B CN112784885 B CN 112784885B
Authority
CN
China
Prior art keywords
neural network
network model
processing
digital signal
signal processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110031002.7A
Other languages
English (en)
Other versions
CN112784885A (zh
Inventor
师洪亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110031002.7A priority Critical patent/CN112784885B/zh
Publication of CN112784885A publication Critical patent/CN112784885A/zh
Application granted granted Critical
Publication of CN112784885B publication Critical patent/CN112784885B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供了一种基于人工智能的自动驾驶方法、装置、电子设备、计算机可读存储介质及车辆;方法包括:获取车辆的行驶环境的图像;调用数字信号处理器运行神经网络模型,对所述图像进行目标识别处理,得到所述神经网络模型的输出结果,所述输出结果包括所述行驶环境所包括的交通要素;调用中央处理器基于所述交通要素进行轨迹决策处理,得到与所述交通要素适配的轨迹;控制所述车辆按照所述轨迹行驶。通过本申请,能够在节约功耗的基础上提高自动驾驶控制的实时性。

Description

基于人工智能的自动驾驶方法、装置、设备、介质及车辆
技术领域
本申请涉及自动驾驶技术,尤其涉及一种基于人工智能的自动驾驶方法、装置、电子设备、计算机可读存储介质及车辆。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。
作为人工智能的一个重要应用,自动驾驶技术在近年来得到了巨大的发展。自动驾驶的目标是实现车辆在无人状态下自主沿道路行进,在尽快到达目的地的同时保证本车的安全,亦保证不对其它交通参与者的安全造成直接或者间接的威胁。
为实现上述目标,自动驾驶软件的轨迹决策处理需要在不超出车辆功耗的前提下实现轨迹的实时规划,相关技术虽然已经存在路径规划的解决方案,但都在驾驶场景中难以克服轨迹规划的高实时性与车辆硬件高功耗之间的矛盾。
发明内容
本申请实施例提供一种基于人工智能的自动驾驶方法、装置、电子设备、计算机可读存储介质及车辆,能够在节约功耗的基础上提高自动驾驶控制的实时性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种基于人工智能的自动驾驶方法,包括:
获取车辆的行驶环境的图像;
调用数字信号处理器运行神经网络模型对所述图像进行目标识别处理,得到所述神经网络模型的输出结果,所述输出结果包括所述行驶环境所包括的交通要素;
调用中央处理器基于所述交通要素进行轨迹决策处理,得到与所述交通要素适配的轨迹;
控制所述车辆按照所述轨迹行驶。
本申请实施例提供一种基于人工智能的自动驾驶装置,包括:。
获取模块,用于获取车辆的行驶环境的图像;
识别模块,用于调用数字信号处理器运行神经网络模型对所述图像进行目标识别处理,得到所述神经网络模型的输出结果,所述输出结果包括所述行驶环境所包括的交通要素;
决策模块,用于调用中央处理器基于所述交通要素进行轨迹决策处理,得到与所述交通要素适配的轨迹;
控制模块,用于控制所述车辆按照所述轨迹行驶。
在上述方案中,所述调用数字信号处理器运行神经网络模型之前,所述识别模块还用于:调用所述数字信号处理器对所述图像进行以下处理中至少之一:对所述图像进行图像裁剪处理;对所述图像进行图像缩放处理;对所述图像进行周边补色处理。
在上述方案中,所述神经网络模型经过所述数字信号处理器的测试处理,所述测试处理用于确定所述神经网络模型满足进行所述目标识别处理的性能要求;所述测试处理的过程包括:调用所述数字信号处理器对所述神经网络模型进行测试处理,得到测试处理结果,其中,所述神经网络模型是基于训练样本集合进行初始化训练得到的,所述测试结果包括速度测试结果以及精度测试结果;当所述速度测试结果低于速度阈值时,对所述神经网络模型进行模型加速处理,对加速处理后的所述神经网络模型进行测试处理;当所述速度测试结果不低于所述速度阈值、且所述精度测试结果低于精度阈值时,基于所述训练样本集合对所述神经网络模型进行训练,对训练后的所述神经网络模型进行测试处理;当所述速度测试结果不低于速度阈值、且所述精度测试结果不低于所述精度阈值时,确定所述神经网络模型满足进行所述目标识别处理的性能要求。
在上述方案中,所述装置还包括:模型生成模块,还用于:调用所述数字信号处理器运行所述神经网络模型对测试样本集合中的测试图像样本进行目标识别处理,得到所述神经网络模型输出的所述测试图像样本的测试识别类型、以及所述测试图像样本的测试识别类型的消耗时间;将所述消耗时间作为所述速度测试结果,并将所述测试识别类型与所述测试图像样本的标记识别类型进行比较,得到所述精度测试结果。
在上述方案中,所述模型生成模块,还用于:执行以下至少之一:对所述神经网络模型进行计算图优化处理;对所述神经网络模型进行模型剪枝处理;对所述神经网络模型进行模型量化处理;对所述神经网络模型进行计算加速处理。
在上述方案中,所述模型生成模块,还用于:获取所述神经网络模型的推理计算图;对所述推理计算图进行以下优化处理中至少之一:根据所述数字信号处理器的计算能力、以及所述速度阈值,对所述推理计算图进行计算去除处理,其中,所述计算去除处理的对象包括以下至少之一:冗余计算、无用计算、常数计算;根据所述数字信号处理器的计算能力、以及所述速度阈值,对所述推理计算图进行计算融合处理;对所述推理计算图进行适应于所述数字信号处理器的内存参数的内存调整处理。
在上述方案中,所述模型生成模块,还用于:对所述神经网络模型进行稀疏化训练,得到经过稀疏化训练的神经网络模型;对经过稀疏化训练的神经网络模型中的部分通道进行剪枝处理,得到剪枝处理后的神经网络模型。
在上述方案中,所述模型生成模块,还用于:通过所述神经网络模型,对所述训练样本集合包括的训练图像样本进行目标识别处理,得到对应所述训练图像样本的预测识别类型;确定所述训练图像样本的预测识别类型和标记识别类型之间的误差;根据所述数字信号处理器的计算能力、以及所述速度阈值,对所述神经网络模型的归一化层的每个通道的通道系数进行范数化处理,得到所述神经网络模型的稀疏惩罚项;将所述误差以及所述稀疏惩罚项代入所述神经网络模型的稀疏损失函数,以在所述神经网络模型中进行反向传播;确定所述稀疏损失函数取得最小值时所述神经网络模型的参数变化值,并基于所述参数变化值更新所述神经网络模型的参数,得到经过稀疏化训练的神经网络模型;其中,所述参数变化值包括每个通道的通道系数变化值。
在上述方案中,所述模型生成模块,还用于:获取经过稀疏化训练的神经网络模型的归一化层的每个通道的通道系数;针对所述归一化层中通道系数小于通道系数阈值的通道进行剪枝处理,以得到剪枝处理后的神经网络模型。
在上述方案中,所述模型生成模块,还用于:将所述通道系数小于通道系数阈值的通道从归一化层中移除;将被移除的通道的偏置系数,确定为所述归一化层之后的补偿层中的输出的一部分。
在上述方案中,所述模型生成模块,还用于:获取所述神经网络模型的推理计算图;当从所述推理计算图中识别出所述归一化层、以及与所述归一化层处于不同层级的至少一个补偿层、且所述补偿层位于所述归一化层之后时,执行以下处理:以所述归一化层为目标结构的起点,以所述至少一个补偿层为所述目标结构的终点,获取对应所述归一化层的目标结构,针对每个所述目标结构执行以下处理:根据所述归一化层中通道系数小于通道系数阈值的通道的偏置系数,确定所述偏置系数对应的影响数据;根据所述影响数据调整所述补偿层的参数与算子,以使所述补偿层的输出至少包括对应所述影响数据的部分;所述获取所述神经网络模型的推理计算图之后,所述方法还包括:当满足以下条件至少之一时,确定将保留所述归一化层中的所有通道:从所述推理计算图中识别出所述归一化层,且未识别出与所述归一化层处于不同层级的至少一个补偿层;从所述推理计算图中识别出所述归一化层、以及与所述归一化层处于不同层级的至少一个补偿层,且所述至少一个补偿层位于所述归一化层之前。
在上述方案中,所述模型生成模块,还用于:根据所述数字信号处理器的计算能力、所述速度阈值以及所述数字信号处理器的内存参数,确定所述神经网络模型的参数保存精度;保存所述神经网络模型的所述参数保存精度的参数;其中,所述参数保存精度的参数用于当通过所述神经网络模型对所述图像处理结果进行目标识别处理时进行推理。
在上述方案中,所述模型生成模块,还用于:获取所述神经网络模型的指数算子;根据所述数字信号处理器的计算能力、以及所述速度阈值,确定将要进行计算加速处理的指数算子的第一数目;当获取的指数算子的第二数目小于所述第一数目时,将获取的指数算子对应的幂进行二进制转换处理,得到所述幂的二进制转换结果;当获取的指数算子的第二数目不小于所述第一数目时,将所述第二数目的指数算子中部分指数算子对应的幂进行二进制转换处理,得到所述幂的二进制转换结果;基于所述二进制转换结果对所述指数算子进行加速转化处理,得到快速指数算子。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的基于人工智能的自动驾驶方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的基于人工智能的自动驾驶方法。
本申请实施例提供一种车辆,设置有本申请实施例提供的基于人工智能的自动驾驶装置。
本申请实施例具有以下有益效果:
将图像的目标识别处理任务与自动驾驶的轨迹决策任务对应分配给低功耗的数字信号处理器与中央处理器来实现,使得数字信号处理器能够在较低功耗下以更快速度执行图像目标识别任务,从而提高了后续通过中央处理器进行轨迹决策的实时性,节约了中央处理器的硬件资源消耗并提高车辆对外部环境的响应速度。
附图说明
图1是本申请实施例提供的基于人工智能的自动驾驶系统的结构示意图;
图2是本申请实施例提供的电子设备的结构示意图;
图3A-3C是本申请实施例提供的基于人工智能的自动驾驶方法的流程示意图;
图4是本申请实施例提供的基于人工智能的自动驾驶方法的模型压缩流程示意图;
图5是本申请实施例提供的基于人工智能的自动驾驶方法的模型压缩示意图;
图6A-6D是本申请实施例提供的基于人工智能的自动驾驶方法的模型结构示意图;
图7是本申请实施例提供的基于人工智能的自动驾驶方法的模型压缩示意图;
图8是本申请实施例提供的基于人工智能的自动驾驶方法的逻辑示意图;
图9是本申请实施例提供的基于人工智能的自动驾驶方法的模型输出示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)轨迹规划,通过给定的车辆的初始状态(如:起始位置、速度和加速度)、目标状态(如:目标位置、速度和加速度)、障碍物位置以及动力学和舒适性的约束条件,计算出一条平滑的轨迹,使车辆能够沿着此轨迹到达目标状态。轨迹规划包括路径规划和速度规划两部分:路径规划负责计算出从起始位置到目标位置的平滑的路径,而速度规划则在此路径的基础上计算每个路径点的速度,从而形成一条速度曲线。
2)驾驶场景,车辆所处的环境状况,可从不同维度表现,例如行驶的道路是否人车混行道路、行驶道路的拥堵程度、行驶道路的前方是否有需要避让的障碍物等。
相关技术中自动驾驶最常使用的传感器是摄像头,传感器能够识别车道线、车辆、行人、路标等交通要素,在自动驾驶的视觉识别领域中,主要采用监督式的深度学习算法,使用标注好的数据训练深度学习模型,以调用训练完毕的深度学习模型检测并识别目标物体,深度学习算法在自动驾驶中的门槛主要体现为实时性较低和功耗较高的技术问题,相关技术中的中央处理器和图形处理器都具有较高功耗,从而不适合在车载系统中使用。
本申请实施例提供一种基于人工智能的自动驾驶方法,在摄像头的数据信息(所拍摄的图像)传递给中央处理器之前,已经通过数字信号处理器对摄像头所拍摄的图像进行了目标识别处理,并将目标识别处理结果传递至中央处理器,以使中央处理器基于目标识别处理结果进行轨迹决策,从而增加自动驾驶车辆的视觉感知的实时性,有效加速自动驾驶在视觉感知方面的处理速度,有助于自动驾驶系统快速做出反应。
针对上述技术问题,本申请实施例提供一种基于人工智能的自动驾驶方法、装置、电子设备、计算机可读存储介质和车辆,能够将图像的目标识别处理任务与自动驾驶的轨迹决策任务对应分配给低功耗的数字信号处理器与车辆中已配置的中央处理器来实现,从而使得数字信号处理器能够在较低功耗下以更快速度执行图像目标识别任务,从而提高了后续通过中央处理器进行轨迹决策的实时性,减少了中央处理器的硬件资源消耗并提高车辆的响应速度。
下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为车载终端、笔记本电脑、平板电脑、智能手机等各种类型的终端,也可以实施为服务器。下面以终端作为示例性应用进行说明。
参见图1,图1是本发明实施例提供的基于人工智能的自动驾驶系统的结构示意图,包括环境感知系统200、决策规划系统300和车辆控制系统600。可以理解地,自动驾驶系统包括的上述系统在一些实施例中也可以被称为子系统或模块,将在下面分别进行说明。
环境感知系统200可以通过车辆或车载终端中的传感器用于感知环境信息,包括环境中障碍物的位置、速度,朝向以及物体分类(如车辆,行人,自行车)。在一些实施例中,还可以感知车辆自身的状态(包括速度、加速度和方向)以及车辆的实时位置的高精度地图。
在一些实施例中,环境感知系统200可以运行在服务器、车辆或终端设备(例如车载终端)的数字信号处理器201中,用于进行图像目标识别处理,通过数字信号处理器201运行神经网络模型,神经网络模型具有对图像进行目标是被处理的能力,图像是通过环境感知系统的摄像头202采集的,所采集的图像可以包括车辆、行人、自行车、楼房等交通要素。
决策规划系统300可以运行在服务器、车辆或终端设备(例如车载终端)中,决策规划系统300中的决策系统400根据环境信息和目标位置,结合客观的物理规律,结合障碍物和周边环境以及积累的历史数据知识,对感知到的障碍物做出预测以便做出宏观地决策,保证车辆能够顺利到达目标状态。
在一些实施例中,决策系统400的预测既包括障碍物在将来一段时间内运动的方向,还包括了障碍物在运动中的速度变化。例如行人过马路的时候会预测他们使用较为恒定的步行速度,车辆转弯的时候会先减速后加速,而加减速的快慢也取决于弯道的弧度和长度,决策系统400的决策包括道路选择、车道选择、参考车速、道路上是否正常跟随障碍物(例如人、车等)、是否绕过障碍物(例如人、车等)、是否停车、遇到交通灯和行人时是否等待避让、以及在路口和其他车辆的交互通过等。
决策规划系统300中的轨迹规划系统500用于根据环境识别类型和决策系统400做出的决策,规划出理想的轨迹,包括选择轨迹途经的路径点,以及到达每个路径点时车辆的速度、朝向和加速度等。路径点不仅在时空上保持连续性,而且每个路径点的速度、朝向和加速度等参数,都在车辆的实际可操作的物理范围之内。
车辆控制系统600接收轨迹规划系统500规划的轨迹,结合车身属性和外界物理因素进行动力学计算,转换成对车辆电子化控制的油门量、刹车量、以及方向盘信号等车辆控制参数并执行,从而控制车辆去实现轨迹中的轨迹点。
以下说明实现本发明实施例的自动驾驶系统的示例性应用。
在一些实施例中,如图1所示的自动驾驶系统100中各个子系统可以封装为独立的软件、模块或插件的形式,被部署到上述的电子设备中,或与上述的设备中预先部署的自动驾驶软件和自动导航软件耦合,以实现自动驾驶功能或自动驾驶功能的部分子功能,例如轨迹规划。
在另一些实施例中,如图1所示的自动驾驶系统100中各个子系统可以封装为一个整体例如自动驾驶软件,支持被部署到各种可能的电子设备。例如被部署到车载终端、用户终端(包括智能手机和平板电脑)等终端设备中,终端设备通过与车辆的无线方式或有线方式的通信来控制车辆,实现车辆的自动驾驶功能。又例如被部署到服务器中,服务器通过与车辆的各种方式的无线通信控制车辆而实现车辆的自动驾驶功能。
在一些实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
参见图2,图2是本发明实施例提供的用于进行车辆控制的电子设备的结构示意图,示出了如图1所示的自动驾驶系统100中各个子系统封装为一个整体,被部署到上述的电子设备700中,下面以电子设备实施为终端设备为例进行说明。
图2所示的电子设备700包括:至少一个处理器710、存储器750、至少一个网络接口720和用户接口730。终端中的各个组件通过总线系统740耦合在一起。可理解,总线系统740用于实现这些组件之间的连接通信。总线系统740除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统740。
处理器710可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(数字信号处理器,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口730包括使得能够呈现媒体内容的一个或多个输出装置731,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口730还包括一个或多个输入装置732,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器750可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器750可选地包括在物理位置上远离处理器710的一个或多个存储设备。
存储器750包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器750旨在包括任意适合类型的存储器。
在一些实施例中,存储器750能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统751,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块752,用于经由一个或多个(有线或无线)网络接口720到达其他计算设备,示例性的网络接口720包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块753,用于经由一个或多个与用户接口730相关联的输出装置731(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块754,用于对一个或多个来自一个或多个输入装置732之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的基于人工智能的自动驾驶装置可以采用软件方式实现,图2示出了存储在存储器750中的基于人工智能的自动驾驶装置755,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块7551、识别模块7552、决策模块7553、控制模块7554以及模型生成模块7555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的基于人工智能的自动驾驶装置可以采用硬件方式实现,作为示例,本申请实施例提供的基于人工智能的自动驾驶装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的基于人工智能的自动驾驶方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、数字信号处理器、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex ProgrammableLogic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面将结合本申请实施例提供的电子设备的示例性应用和实施,以电子设备实施成终端为例,说明本申请实施例提供的基于人工智能的自动驾驶方法。
参见图3A,图3A是本申请实施例提供的基于人工智能的自动驾驶方法的流程示意图,将结合图3A示出的步骤进行说明。
在步骤101中,获取车辆的行驶环境的图像。
在一些实施例中,通过车辆上安装的摄像头拍摄车辆所处环境的图像,图像包括至少一个交通要素,例如,车辆所处的驾驶场景中的其他车辆、行人以及交通灯等等。
在步骤102中,调用数字信号处理器运行神经网络模型,对图像进行目标识别处理,得到神经网络模型的输出结果,输出结果包括行驶环境所包括的交通要素。
在一些实施例中,调用数字信号处理器运行神经网络模型之前,还可以执行以下技术方案:调用数字信号处理器对图像进行以下处理中至少之一:对图像进行图像裁剪处理;对图像进行图像缩放处理;对图像进行周边补色处理;利用处理后得到的图像替换所获取的图像。
作为示例,用于进行图像处理的数字信号处理器可以是独立于运行神经网络模型的数字信号处理器,或者用于进行图像处理的数字信号处理器与运行神经网络模型的数字信号处理器是同一个数字信号处理器,在运行神经网络模型进行目标识别处理之前,需要对图像进行以下处理中至少之一:对图像进行图像裁剪处理;对图像进行图像缩放处理;对图像进行周边补色处理;利用处理后得到的图像替换所获取的图像摄像头数据解码,图像裁剪和图像缩放等常见图像处理。
作为示例,在进行图片大小缩放(比例缩放、按指定值缩放)、局部裁剪、周边补色时,读取一张原始图片,将其缩放成200x200的方形图像,可以不直接指定缩放后大小,通过fx和fy指定缩放比例,0.5表征长宽均为原来一半,还可以在缩放时进行双线性插值,双线性插值法具有平滑功能,能有效地克服最临近像素插值的不足,但会退化图像的高频部分,使图像细节变模糊,还可以在缩放时进行高阶插值,在放大倍数比较高时,高阶插值,如双三次插值和三次样条插值等比低阶插值效果好,在上张图像的基础上,上下各贴50像素的黑边,以生成200x100的图像,对照片中局部进行剪裁。
在一些实施例中,神经网络模型经过数字信号处理器的测试处理,测试处理用于确定神经网络模型满足进行目标识别处理的性能要求;测试处理的过程包括:调用数字信号处理器对神经网络模型进行测试处理,得到测试处理结果,其中,神经网络模型是基于训练样本集合进行初始化训练得到的,测试结果包括速度测试结果以及精度测试结果;当速度测试结果低于速度阈值时,对神经网络模型进行模型加速处理,对加速处理后的神经网络模型进行测试处理;当速度测试结果不低于速度阈值、且精度测试结果低于精度阈值时,基于训练样本集合对神经网络模型进行训练,对训练后的神经网络模型进行测试处理;当速度测试结果不低于速度阈值、且精度测试结果不低于精度阈值时,确定神经网络模型满足进行目标识别处理的性能要求。
在一些实施例中,神经网络模型是以被数字信号处理器运行时能够符合目标识别处理的性能指标为目标加速得到的,参见图3B,图3B是本申请实施例提供的基于人工智能的自动驾驶方法的流程示意图,将结合图3B示出的步骤进行说明,执行步骤101之前,还可以执行步骤105-108。
在步骤105中,调用数字信号处理器以对神经网络模型进行测试处理,得到包括速度测试结果以及精度测试结果的测试结果。
作为示例,步骤105还可以在执行步骤102中调用数字信号处理器运行神经网络模型之前执行,神经网络模型是基于训练样本集合进行初始化训练得到的,初始化训练的训练样本集合是将车辆在之前行驶过程中采集的图像进行组合得到的,针对每个图像进行预标记处理,预标记处理时图像中包括的每个交通要素均会被标记,训练目标在于使得模型推理得到的对应某一图像的目标识别结果(预测识别类型)与预标记的识别类型之间的损失尽量小。
作为示例,调用数字信号处理器以对神经网络模型进行测试处理包括进行两个维度的测试,即进行精度测试以及速度测试,通过进行至少两个维度的测试处理,使得经过测试最终输出的模型能够具有较高的推理速度和较高的推理精度。
在一些实施例中,参见图3C,图3C是本申请实施例提供的基于人工智能的自动驾驶方法的流程示意图,图3C示出的步骤105通过数字信号处理器对神经网络模型进行测试处理可以通过步骤1051至步骤1052实现,将结合各步骤进行说明。
在步骤1051中,调用数字信号处理器运行神经网络模型,对测试样本集合中的测试图像样本进行目标识别处理,得到神经网络模型输出的测试图像样本的测试识别类型、以及测试图像样本的测试识别类型的消耗时间。
在步骤1052中,将消耗时间作为速度测试结果,并将测试识别类型与测试图像样本的标记识别类型进行比较,得到精度测试结果。
作为示例,测试样本集合中的测试图像样本可以是通过车辆采集到的任意图像,可以是车辆在行驶过程中采集的测试图像样本,也可以是车辆在静止过程中采集的测试图像样本,由于车辆行驶场景比较丰富,可以获取车辆在不同行驶场景中采集的图像作为测试图像样本,调用数字信号处理器运行神经网络模型,对测试样本集合中的测试图像样本进行目标识别处理,得到神经网络模型输出的测试图像样本的测试识别类型,将测试识别类型与测试图像样本的标记识别类型进行比较,得到精度测试结果,例如,对100个测试图像样本进行目标识别处理,得到每个图像的测试识别类型,但是每个图像对应有标记识别类型,其中,40个测试图像样本的测试识别类型与标记识别类型相同,即精度测试结果为40%,每个图像可以对应有多个标记识别类型,例如,100个测试图像样本共标记有500个标记识别类型,针对一个测试图像样本而言,其具有5个标记识别类型,其中,有4个测试识别类型与标记识别类型相同,即与标记识别类型相同的测试识别类型的占比超过占比阈值,则表征该测试图像样本的目标识别处理准确,可以将其考虑到精度测试结果的计算中,调用数字信号处理器运行神经网络模型,获取神经网络模型输出测试图像样本的测试识别类型的消耗时间,将消耗时间作为速度测试结果,针对速度测试结果而言,需要统计相同维度的推理耗时,例如,针对某一个数量的测试图像样本的推理时间等等。
在步骤106中,当速度测试结果低于速度阈值时,对神经网络模型进行模型加速处理,对加速处理结果进行测试处理。
在一些实施例中,上述对神经网络模型进行模型加速处理,可以通过以下技术方案实现:执行以下至少之一:对神经网络模型进行计算图优化处理;对神经网络模型进行模型剪枝处理;对神经网络模型进行模型量化处理;对神经网络模型进行计算加速处理。
作为示例,在需要对神经网络模型进行加速处理时,可以进行计算图优化处理;对神经网络模型进行模型剪枝处理;对神经网络模型进行模型量化处理;对神经网络模型进行计算加速处理这四种处理中的任意几种。由于神经网络模型进行加速处理的过程中也会消耗计算资源,因此可以通过计算资源的优化分配实现以较少的计算资源换取较大程度的模型加速。
在一些实施例中,对神经网络模型进行计算图优化处理,可以通过以下技术方案实现:获取神经网络模型的推理计算图;对推理计算图进行以下优化处理中至少之一:根据数字信号处理器的计算能力、以及速度阈值,对推理计算图进行计算去除处理,其中,计算去除处理的对象包括以下至少之一:冗余计算、无用计算、常数计算;根据数字信号处理器的计算能力、以及速度阈值,对推理计算图进行计算融合处理;对推理计算图进行适应于数字信号处理器的内存参数的内存调整处理。
作为示例,计算图优化的操作包括以下几类至少之一:移除无用的操作(计算去除处理);计算融合处理;调整内存处理。在移除无用操作时,可以将所有不会被执行的节点都裁剪掉,不能移除必须被保留的节点,不能移除驱动控制所依赖的节点;不能移除无法确定移除后是否会新增控制所依赖的节点;不能移除与函数方法链接的节点,因为会导致后续内联失败;不能移除被其它设备驱动的节点,因为使用这些节点能够降低通信开销;不能移除接收引用值的节点,在进行计算去除处理时,还可以对计算图中常量进行合并优化,遍历计算图中节点,找出完全能够静态计算的节点,也就是说完全依赖于常量输入的节点,将这些节点计算出来,并替换这些节点。内存调整处理的主要目的是根据数字信号处理器的内存参数将张量从设备内存中换入换出。
作为示例,根据数字信号处理器的计算能力、以及速度阈值,对推理计算图进行计算去除处理,以及根据数字信号处理器的计算能力、以及速度阈值,对推理计算图进行计算融合处理的过程可以这样理解,假设数字信号处理器的计算能力是5tfps(参数帧率),带宽是20gbps,压缩前模型要求算力1tfps,模型推理过程中读写数据1GB,那么计算时间就是200ms,读写时间50ms。若要求模型在10ms内完成推理(对应获得速度阈值),就得把计算量砍掉95%,读写量砍掉80%,砍掉的95%计算量以及砍掉的80%读写量可以全部通过计算图优化完成,也可以被计算图优化以及其他加速方式协作完成,对于计算图优化所完成的部分可以是全部通过计算去除处理完成,也可以全部通过计算融合处理完成,还可以是两者协作完成。
在一些实施例中,对神经网络模型进行模型剪枝处理,可以通过以下技术方案实现:对神经网络模型进行稀疏化训练,得到经过稀疏化训练的神经网络模型;对经过稀疏化训练的神经网络模型中的部分通道进行剪枝处理,得到剪枝处理后的神经网络模型。
作为示例,神经网络模型作为输入,在训练过程中不重要的通道会自动被识别,随后被剪枝,从而得到精度相当的紧凑模型,剪枝的层次包罗了权重维度,卷积核维度,通道维度或者层维度,权重维度的稀疏化训练能得到高压缩率,但是需要特殊的软件/硬件进行加速,层维度的稀疏化训练不需要特殊的硬件,但是灵活度低,通道维度的稀疏化训练在剪枝的灵活度和实施的难易程度上达到较好的平衡效果,不仅可以对卷积层剪枝,也可以对全连接层进行剪枝。
在一些实施例中,对神经网络模型进行稀疏化训练,得到经过稀疏化训练的神经网络模型,可以通过以下技术方案实现:通过神经网络模型,对训练样本集合包括的训练图像样本进行目标识别处理,得到对应训练图像样本的预测识别类型;确定训练图像样本的预测识别类型和标记识别类型之间的误差;根据数字信号处理器的计算能力、以及速度阈值,对神经网络模型的归一化层的每个通道的通道系数进行范数化处理,得到神经网络模型的稀疏惩罚项;将误差以及稀疏惩罚项代入神经网络模型的稀疏损失函数,以在神经网络模型中进行反向传播;确定稀疏损失函数取得最小值时神经网络模型的参数变化值,并基于参数变化值更新神经网络模型的参数,得到经过稀疏化训练的神经网络模型;其中,参数变化值包括每个通道的通道系数变化值。
作为示例,引入每个通道的通道系数γ,还可以理解为通道的缩放系数,这个系数和通道的输出相乘,然后根据公式(1)联合训练网络权重和缩放系数,并对后者施加稀疏正则化,最后对通道系数γ较小的通道(小于通道系数阈值)进行剪枝,并微调剪枝后的网络。
Figure BDA0002892049730000171
其中,(x,y)代表了训练图像样本和标记识别类型,W是权重,第一个求和项代表了神经网络模型的常规损失函数,也即进行初始化训练时所使用的损失函数,第二项代表了稀疏引入的惩罚项(稀疏正则化),g(x)使用了L1正则化,λ是稀疏正则化的参数,还可以使用平滑L1替代L1正则化,从而能避免非平滑点的次梯度现象。
在一些实施例中,对经过稀疏化训练的神经网络模型中的部分通道进行剪枝处理,得到剪枝处理后的神经网络模型,可以通过以下技术方案实现:获取经过稀疏化训练的神经网络模型的归一化层的每个通道的通道系数;针对归一化层中通道系数小于通道系数阈值的通道进行剪枝处理,以得到剪枝处理后的神经网络模型。
作为示例,参见图5右侧,由于图5右侧是被剪枝的情况,由于第二个通道的缩放系数0.001小于通道系数阈值(假设通道系数阈值为0.003),则归一化层的第二通道会被剪枝,即第二通道不会被输出到第i+1卷积层,归一化层中输出到第i+1卷积层(例如,第i+1卷积层的第一通道的Cj1和第二通道的Cj2)的通道为第一通道(缩放系数为1.17)、第三通道(缩放系数为0.29)以及第n通道(缩放系数为0.82),剪枝处理相当于将归一化层的对应通道移除,即不再计算对应通道的输出。
在一些实施例中,针对归一化层中通道系数小于通道系数阈值的通道进行剪枝处理,可以通过以下技术方案实现:将通道系数小于通道系数阈值的通道从归一化层中移除;将被移除的通道的偏置系数,确定为归一化层之后的补偿层中的输出的一部分。
在一个或多个实施例中,剪枝综合考虑到通道系数阈值(缩放系数)γ与偏置系数β的影响,当|γ|接近0时,虽然归一化层的输出与归一化层的输入无关,但是偏置系数β仍然应该参与到正向传播的过程中,由于通道剪枝导致归一化层的偏置系数无法参与正向传播,从而产生对应偏置系数的误差,因此通过补偿层针对归一化层输出的偏置系数β本应该传播到后续网络结构输出的数据进行补偿,将偏置系数β本应该传播到后续网络结构输出的数据确定为归一化层之后的补偿层中的输出的一部分,可以有效降低剪枝所带来的误差并有效提高模型精度。
作为示例,将被移除的通道的偏置系数,确定为归一化层之后的补偿层中的输出的一部分,补偿层为归一化层之后具有偏置项的层,例如后续的归一化层或者带有偏置项的卷积层,在补偿层输出参与剪枝的归一化层中被剪枝通道对应的偏置系数β,或者在补偿层输出该偏置系数所带来的影响数据(影响数据与偏置系数β以及目标结构相关),其中,确定该影响数据的计算方式并不在此进行限定。
在一些实施例中,针对归一化层中通道系数小于通道系数阈值的通道进行剪枝处理,可以通过以下技术方案实现:获取神经网络模型的推理计算图,当从推理计算图中识别出归一化层、以及与归一化层处于不同层级的至少一个补偿层、且补偿层位于归一化层之后时,执行以下处理:以归一化层为目标结构的起点,以至少一个补偿层为目标结构的终点,获取对应归一化层的目标结构,针对每个目标结构执行以下处理:根据归一化层中通道系数小于通道系数阈值的通道的偏置系数,确定偏置系数对应的影响数据;根据影响数据调整补偿层的参数与算子,以使补偿层的输出至少包括对应影响数据的部分;获取神经网络模型的推理计算图之后,方法还包括:当满足以下条件至少之一时,确定将保留归一化层中的所有通道:从推理计算图中识别出归一化层,且未识别出与归一化层处于不同层级的至少一个补偿层;从推理计算图中识别出归一化层、以及与归一化层处于不同层级的至少一个补偿层,且至少一个补偿层位于归一化层之前。
作为示例,目标结构包括归一化层以及位于归一化层之后的补偿层,补偿层可以为另一个归一化层或者带有偏置项的卷积层,由于归一化层和带有偏置项的卷积层具有与偏置项相关的算子,因此能够用于补偿归一化层剪枝后无法向后传递的偏置项,参见图6A,图6A所示出的结构模式是(转置)卷积、归一化、激活函数、多个(转置)卷积、分别对应每个(转置)卷积的归一化,遍历图6A所示出的结构模式的推理计算图,发现当前节点是(转置)卷积,即可进行分析,当前节点是否只有唯一后续归一化节点,然后判断归一化节点后续是否只有唯一后续激活函数节点,然后判断节点激活函数后续是否并行(转置)卷积,然后判断并行(转置)卷积后续是否对应只有唯一后续归一化节点,当识别到归一化节点以及卷积后续的节点归一化,则确定存在目标结构,当确定该结构模式(目标结构)出现后,对当前节点归一化层进行裁剪,根据当前节点归一化层中通道系数小于通道系数阈值的通道(需要剪枝的通道)的偏置系数,确定偏置系数对应的影响数据,例如,偏置系数为5,若是经过多层放大,偏置系数可以被放大为25,即偏置系数的影响数据为25,但是由于偏置系数5经过剪枝并未输出,所以需要将其可以带来的影响数据合并至补偿层的输出,从而控制影响范围,使得从目标结构的整体来看,偏置系数的传播并未受到剪枝的影响,通常偏置系数在模型中所产生的影响数据并非如上述例子这种情形,而是会带来更加复杂的影响,则需要根据影响数据调整补偿层的参数与算子,以使补偿层的输出至少包括对应影响数据的部分,具体的调整方式可以根据实际情况进行灵活选择,可以尽量对影响进行完整复现,也可以只是部分弥补。
在一些实施例中,当确定推理计算图中不包括目标结构,因此不存在可以用于补偿剪枝之后的归一化层的补偿层,从而确定将保留归一化层中的所有通道,即不进行剪枝处理,当从推理计算图中识别出归一化层,且未识别出与归一化层处于不同层级的至少一个补偿层;或者,从推理计算图中识别出归一化层、以及与归一化层处于不同层级的至少一个补偿层,且至少一个补偿层位于归一化层之前时,确定推理计算图中不包括目标结构,从推理计算图中识别出归一化层,且未识别出与归一化层处于不同层级的至少一个补偿层,表征存在归一化层,但是不存在用于补偿剪枝之后的归一化层的补偿层,从推理计算图中识别出归一化层、以及与归一化层处于不同层级的至少一个补偿层,且至少一个补偿层位于归一化层之前,表征推理计算图中存在归一化层以及补偿层,但是补偿层位于归一化层之前,无法起到针对剪枝之后的归一化层的补偿作用。
在一些实施例中,对神经网络模型进行模型量化处理,可以通过以下技术方案实现:根据数字信号处理器的计算能力、速度阈值以及数字信号处理器的内存参数,确定神经网络模型的参数保存精度;保存神经网络模型的参数保存精度的参数;其中,参数保存精度的参数用于当通过神经网络模型对图像处理结果进行目标识别处理时进行推理。
作为示例,根据数字信号处理器的计算能力、速度阈值以及数字信号处理器的内存参数,确定神经网络模型的参数保存精度的过程与根据数字信号处理器的计算能力、以及速度阈值,对推理计算图进行计算去除处理的实施方式类似,假设需要计算量砍掉95%,读写量砍掉80%,砍掉的95%计算量以及砍掉的80%读写量可以全部通过模型量化处理完成,也可以被模型量化处理以及其他加速方式协作完成,数字信号处理器的内存参数则可以用于指导神经网络模型的参数保存精度,内存参数可以是内存读写速度或者内存带宽,通过内存读写速度或者内存带宽确定满足计算量砍掉95%,读写量砍掉80%时的参数保存精度,内存参数还可以是数字信号处理器的出厂设置的内存规范,例如内存容量,若是参数保存精度较高则会超出出厂设置的内存容量,若是将神经网络模型以较小精度进行保存,则直接减少了内存占用量,并且由于计算量减少,也间接减少了内存占用。
在一些实施例中,对神经网络模型进行计算加速处理,可以通过以下技术方案实现:获取神经网络模型的指数算子;根据数字信号处理器的计算能力、以及速度阈值,确定将要进行计算加速处理的指数算子的第一数目;当获取的指数算子的第二数目小于第一数目时,将获取的指数算子对应的幂进行二进制转换处理,得到幂的二进制转换结果;当获取的指数算子的第二数目不小于第一数目时,将第二数目的指数算子中部分指数算子对应的幂进行二进制转换处理,得到幂的二进制转换结果;基于二进制转换结果对指数算子进行加速转化处理,得到快速指数算子。
作为示例,计算加速处理的核心思想就是针对指数算子进行加速,具体是每一步都将指数分成两半,而相应的底数做平方运算,这样不仅能将非常大的指数给不断变小,所需要执行的循环次数也变小,最后结果却不会变,例如,310=3*3*3*3*3*3*3*3*3*3,310=(3*3)*(3*3)*(3*3)*(3*3)*(3*3),310=(3*3)5,310=95,95=(94)*(91),95=(94)*(91),95=(65611)*(91),以下以求a的b次方来介绍,把b(指数算子对应的幂)转换成二进制数(二进制转换结果),例如,a11=a1+2+8,11(指数算子对应的幂)的二进制是1011(二进制转换结果),即2的零次方(1)、2的一次方(2)以及2的三次方(8),因此,我们将a11转化为算a1、a2和a8之间的乘积。
作为示例,根据数字信号处理器的计算能力、以及速度阈值,确定将要进行计算加速处理的指数算子的第一数目的过程与根据数字信号处理器的计算能力、以及速度阈值,对推理计算图进行计算去除处理的实施方式类似,假设需要计算量砍掉95%,读写量砍掉80%,砍掉的95%计算量以及砍掉的80%读写量可以全部通过计算加速处理完成,也可以被计算加速处理以及其他加速方式协作完成。
在步骤107中,当速度测试结果不低于速度阈值、且精度测试结果低于精度阈值时,对神经网络模型进行基于训练样本集合的微调,对微调结果进行测试处理。
在步骤108中,当速度测试结果不低于速度阈值、且精度测试结果不低于精度阈值时,确定神经网络模型满足进行目标识别处理的性能要求。
作为示例,当速度测试结果低于速度阈值时,对神经网络模型进行模型加速处理,对加速处理结果进行测试处理,当速度测试结果不低于速度阈值、但是低于精度阈值时,对神经网络模型进行基于训练样本集合的微调,微调可以是针对模型的全部参数的训练更新,也可以是针对模型中部分参数的训练更新,微调的过程与进行初始化训练的过程类似,均是仅仅以提高模型的目标识别精度为目标进行训练,对微调结果进行测试处理,当速度测试结果不低于速度阈值、且不低于精度阈值时,确定神经网络模型满足进行目标识别处理的性能要求。
在步骤103中,调用中央处理器基于交通要素进行轨迹决策处理,得到与交通要素适配的轨迹。
在步骤104中,控制车辆按照轨迹行驶。
作为示例,进行决策处理以及控制车辆按照轨迹行驶的均是中央处理器,通过目标识别得到的交通要素可以判断出车辆的驾驶场景并结合驾驶场景得到与交通要素适配的轨迹,例如,当车辆处于城区的驾驶场景时,对于城区中潜在的障碍物能够规划平滑的轨迹,则规划与交通要素适配的平滑的轨迹。
下面,将说明本申请实施例提供的在一个实际的应用场景中的示例性应用。
本申请实施例提供一种基于人工智能的自动驾驶方法,应用该基于人工智能的自动驾驶方法的电子设备包括数字信号处理器、内存、中央处理器、摄像头及外部存储器,参见图8,图8是本申请实施例提供的基于人工智能的自动驾驶方法的逻辑示意图,摄像头采集的图像数据,首先发送至图像处理数字信号处理器以进行图像处理,数字信号处理器输出图像处理结果发送到深度学习数字信号处理器,深度学习数字信号处理器输出对应的目标识别结果,其中,图像处理数字信号处理器主要负责摄像头数据解码,图像裁剪和图像缩放等常见图像处理。深度学习数字信号处理器负责运行神经网络模型,以对图像进行目标识别处理,针对特定数字信号处理器硬件的计算能力、访存速度以及输入输出等特点,对神经网络模型进行加速处理,以满足目标识别速度和目标识别精度等设计目标。
针对模型的加速主要包含四个方面:计算图优化处理、模型剪枝处理、模型量化处理以及特定运算近似加速处理。
在一些实施例中,计算图优化主要是包括去除冗余计算、无用边计算、不依赖输入的常数值静态计算、多个运算融合、调整内存布局等,运算融合包括但不限于将卷积处理、归一化处理、激活函数处理合并为一个运算,从而减少内存读写,并且根据数字信号处理器内存布局特点,调整神经网络模型的运算内存布局,从而加速神经网络模型的推理。
在一些实施例中,模型剪枝是指通过减少模型运算和内存读写的方式加速模型推理。例如,通过分析Batch-Norm运算的缩放系数绝对值大小,实现基于通道的结构化剪枝,参见图4,图4是本申请实施例提供的基于人工智能的自动驾驶方法的流程示意图,首先训练初始模型,即得到经过初始化训练的模型,对初始模型中Batch-Norm缩放系数γ进行稀疏化训练,根据Batch-Norm缩放系数γ,进行基于通道的结构化剪枝,接着评估剪枝后模型的检测精度以及检测速度是否符合预期,如果检测精度以及检测速度符合预期可以直接输出模型,如果其中检测精度不符合预期则需要进行重新训练(微调),重新训练之后,如果符合检测精度预期,则输出模型,否则再次进行稀疏化训练以及结构化剪枝。
参见图5,图5是本申请实施例提供的基于人工智能的自动驾驶方法的模型压缩示意图,图5中左侧示出了基于通道进行结构化剪枝之前的模型推理过程,第i卷积层对应存在n个通道,这n个通道的输出会传递至归一化层,归一化层的公式(2)和(3)如下所示:
Figure BDA0002892049730000231
Figure BDA0002892049730000241
其中,zin是第i卷积层的输出,即归一化层的输入,μB是归一化层的期望值,σB 2是归一化层的方差值,ε是归一化层的归一化参数,
Figure BDA0002892049730000242
是归一化结果,zout是归一化层的输出,γ是缩放系数,β是偏置参数。
参见图5左侧,第一个通道的缩放系数位1.17,第二个通道的缩放系数为0.001,由于图5左侧是未剪枝的情况,因此即便第二个通道的缩放系数小于设定阈值,归一化层的第二通道仍然会被输出到第i+1卷积层,归一化层中输出到第i+1卷积层(例如,第i+1卷积层的第一通道和第二通道)的通道为第一通道(缩放系数为1.17)、第二通道(缩放系数为0.001)、…、以及第n通道(缩放系数为0.82)参见图5右侧,由于图5右侧是被剪枝的情况,由于第二个通道的缩放系数小于设定阈值,则归一化层的第二通道会被剪枝,第二通道不会被输出到第i+1卷积层,归一化层中输出到第i+1卷积层(例如,第i+1卷积层的第一通道的Cj1和第二通道的Cj2)的通道为第一通道(缩放系数为1.17)、第三通道(缩放系数为0.29)以及第n通道(缩放系数为0.82)。
在一个或多个实施例中,剪枝综合考虑缩放系数γ和偏置系数β的影响,当|γ|接近0时,虽然归一化层的输出与归一化层的输入无关,但是偏置系数β仍然应该参与到正向传播的过程中,由于通道剪枝导致归一化层的偏置系数无法参与正向传播,从而产生对应偏置系数的误差,若是未进行通道剪枝,则归一化层的偏置系数β会参与后续网络结构的正弦传播过程,并在后续网络结构的各个层输出对应的影响数据,在经过剪枝处理后,由于归一化层的偏置系数β无法参与后续网络结构的正弦传播过程,因此基于综合考虑缩放系数γ和偏置系数β的影响的原则,通过补偿层针对归一化层输出的偏置系数β本应该传播到后续网络结构输出的数据进行补偿,将偏置系数β本应该传播到后续网络结构输出的数据确定为归一化层之后的补偿层中的输出的一部分,可以有效降低剪枝所带来的误差并有效提高模型精度,从而可以直接使用剪枝后的模型,而无需进行重新训练(微调)。
在一些实施例中,基于上述基于偏置系数β的改进以及神经网络模型的结构,提出四种结构模式,参见图6A-6D,图6A-6D是本申请实施例提供的基于人工智能的自动驾驶方法的模型结构示意图,为了内部消化结构化剪枝前后偏置系数β由于剪枝未能传递带来的影响,并且将影响控制在最小范围内,使得对结构模式的输入和输出没有影响,提供了四种结构模式,这四种结构模式只是一部分可以使用的模式,其本质均是将归一化层的缩放系数|γ|趋近于0,任何基于该本质,并且能够考虑偏置系数β影响的结构模式都可以使用。
参见图6A,图6A所示出的结构模式是(转置)卷积、归一化、激活函数、多个(转置)卷积、分别对应每个(转置)卷积的归一化,遍历图6A所示出的结构模式的计算图,发现当前节点是(转置)卷积,即可进行分析,当前节点是否只有唯一后续归一化节点,然后判断归一化节点后续是否只有唯一后续激活函数节点,然后判断激活函数节点后续是否并行(转置)卷积,然后判断并行(转置)卷积后续是否对应只有唯一后续归一化节点,当确定该结构模式出现后,对归一化层进行裁剪,通过图5所示的方式对部分缩放系数(接近0的缩放系数)对应的通道进行剪枝处理,并将剪枝去掉的偏置系数β合并到后续归一化的偏置项中。
参见图6C,图6C所示出的结构模式是(转置)卷积、归一化、多个(转置)卷积、分别对应每个(转置)卷积的归一化,遍历图6C所示出的结构模式的计算图,发现当前节点是(转置)卷积,即可进行分析,当前节点是否只有唯一后续归一化节点,然后判断归一化节点后续是否并行(转置)卷积,然后判断并行(转置)卷积后续是否对应只有唯一后续归一化节点,当确定该结构模式出现后,对归一化层进行裁剪,通过图5所示的方式对部分缩放系数(接近0的缩放系数)对应的通道进行剪枝处理,并将剪枝去掉的偏置系数β合并到后续归一化的偏置项中。
参见图6B,图6B所示出的结构模式是(转置)卷积、归一化、激活函数、多个(转置)卷积带偏置项,遍历图6B所示出的结构模式的计算图,发现当前节点是(转置)卷积,即可进行分析,当前节点是否只有唯一后续归一化节点,然后判断归一化节点后续是否只有唯一后续激活函数节点,然后判断激活函数节点后续是否并行(转置)卷积带偏置项,当确定该结构模式出现后,对归一化层进行裁剪,通过图5所示的方式对部分缩放系数(接近0的缩放系数)对应的通道进行剪枝处理,并将剪枝去掉的偏置系数β合并到后续多个(转置)卷积的偏置项中。
参见图6D,图6D所示出的结构模式是(转置)卷积、归一化、多个(转置)卷积带偏置项,遍历图6D所示出的结构模式的计算图,发现当前节点是(转置)卷积,即可进行分析,当前节点是否只有唯一后续归一化节点,然后判断归一化节点后续是否是并行(转置)卷积带偏置项,当确定该结构模式出现后,对归一化层进行裁剪,通过图5所示的方式对部分缩放系数(接近0的缩放系数)对应的通道进行剪枝处理,并将剪枝去掉的偏置系数β合并到后续多个(转置)卷积的偏置项中。
参见图7,图7是本申请实施例提供的基于人工智能的自动驾驶方法的模型压缩示意图,参见图7左侧,第一个通道的缩放系数位1.17,第二个通道的缩放系数为0.001,由于图7左侧是未剪枝的情况,因此即便第二个通道的缩放系数小于设定阈值,归一化层的第二通道仍然会被输出到第i+1卷积层,归一化层中输出到第i+1卷积层(例如,第i+1卷积层的第一通道和第二通道)的通道为第一通道(缩放系数为1.17)、第二通道(缩放系数为0.001)、…、以及第n通道(缩放系数为0.82)参见图7右侧,由于图7右侧是被剪枝的情况,由于第二个通道的缩放系数小于设定阈值,则归一化层的第二通道会被剪枝,第二通道不会被输出到第i+1卷积层,归一化层中输出到第i+1卷积层(例如,第i+1卷积层的第一通道的Cj1和第二通道的Cj2)的通道为第一通道(缩放系数为1.17)、第三通道(缩放系数为0.29)以及第n通道(缩放系数为0.82),但是由于归一化层的第二通道不会被输出到第i+1卷积层,因此归一化层的第二通道的偏置系数β合并到后续卷积层(例如第i+1卷积层)的偏置项中,即将第二通道(对应缩放系数0.001)的偏置参数β合并到后续卷积层(例如第i+1卷积层)的偏置项中(例如第i+1卷积层的偏置项βj1和βj2)。
神经网络模型可以视作计算图,计算图中节点是不同的运算符,边是运算符之间的连接关系,从图分析角度,可以自动分析计算图中的特定模式,进而实现自动化剪枝,基于caffe或者onnx等静态图方式,结合自动化分析,操作神经网络模型中的运算符和运算符对应的参数,从而实现神经网络模型自动化剪枝。
模型量化主要是采用定点技术,将32位运算压缩到16位(甚至8位),达到加速运算的效果,特定运算近似加速是指对特定类型运算,在精度要求不高的场景下,可以使用近似算法来加快特定运算速度,例如,针对神经网络模型常见的sigmoid、softmax等需要指数运算的场景,可以使用快速指数运算加速。
参见图9,图9是本申请实施例提供的基于人工智能的自动驾驶方法的模型输出示意图,该本申请实施例提供的基于人工智能的自动驾驶方法的应用场景为自动驾驶,当摄像头采集到图像时,可以实时输出检测识别到的交通要素,以及每个交通要素对应的置信度。
本申请实施例提供一种基于人工智能的自动驾驶方法,可以通过车端硬件(数字信号处理器)部署神经网络模型,以高效完成环境感知任务,针对特定数字信号处理器的计算能力、访存速度和带宽等硬件特性,加速深度学习模型(神经网络模型),以达到设计目标(如检测精度、检测速度等)。
下面继续说明本申请实施例提供的基于人工智能的自动驾驶装置755的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器750的基于人工智能的自动驾驶装置755中的软件模块可以包括:获取模块7551,用于获取车辆的行驶环境的图像;识别模块7552,用于调用数字信号处理器运行神经网络模型对图像进行目标识别处理,得到神经网络模型的输出结果,输出结果包括行驶环境所包括的交通要素;决策模块7553,用于调用中央处理器基于交通要素进行轨迹决策处理,得到与交通要素适配的轨迹;控制模块7554,用于控制车辆按照轨迹行驶。
在一些实施例中,调用数字信号处理器运行神经网络模型之前,识别模块7552,还用于:调用数字信号处理器对图像进行以下处理中至少之一:对图像进行图像裁剪处理;对图像进行图像缩放处理;对图像进行周边补色处理。
在一些实施例中,神经网络模型经过数字信号处理器的测试处理,测试处理用于确定神经网络模型满足进行目标识别处理的性能要求;测试处理的过程包括:调用数字信号处理器对神经网络模型进行测试处理,得到测试处理结果,其中,神经网络模型是基于训练样本集合进行初始化训练得到的,测试结果包括速度测试结果以及精度测试结果;当速度测试结果低于速度阈值时,对神经网络模型进行模型加速处理,对加速处理后的神经网络模型进行测试处理;当速度测试结果不低于速度阈值、且精度测试结果低于精度阈值时,基于训练样本集合对神经网络模型进行训练,对训练后的神经网络模型进行测试处理;当速度测试结果不低于速度阈值、且精度测试结果不低于精度阈值时,确定神经网络模型满足进行目标识别处理的性能要求。
在一些实施例中,模型生成模块7555,还用于:调用数字信号处理器运行神经网络模型,对测试样本集合中的测试图像样本进行目标识别处理,得到神经网络模型输出的测试图像样本的测试识别类型、以及测试图像样本的测试识别类型的消耗时间;将消耗时间作为速度测试结果,并将测试识别类型与测试图像样本的标记识别类型进行比较,得到精度测试结果。
在一些实施例中,模型生成模块7555,还用于:执行以下至少之一:对神经网络模型进行计算图优化处理;对神经网络模型进行模型剪枝处理;对神经网络模型进行模型量化处理;对神经网络模型进行计算加速处理。
在一些实施例中,模型生成模块7555,还用于:获取神经网络模型的推理计算图;对推理计算图进行以下优化处理中至少之一:根据数字信号处理器的计算能力、以及速度阈值,对推理计算图进行计算去除处理,其中,计算去除处理的对象包括以下至少之一:冗余计算、无用计算、常数计算;根据数字信号处理器的计算能力、以及速度阈值,对推理计算图进行计算融合处理;对推理计算图进行适应于数字信号处理器的内存参数的内存调整处理。
在一些实施例中,模型生成模块7555,还用于:对神经网络模型进行稀疏化训练,得到经过稀疏化训练的神经网络模型;对经过稀疏化训练的神经网络模型中的部分通道进行剪枝处理,得到剪枝处理后的神经网络模型。
在一些实施例中,模型生成模块7555,还用于:通过神经网络模型,对训练样本集合包括的训练图像样本进行目标识别处理,得到对应训练图像样本的预测识别类型;确定训练图像样本的预测识别类型和标记识别类型之间的误差;根据数字信号处理器的计算能力、以及速度阈值,对神经网络模型的归一化层的每个通道的通道系数进行范数化处理,得到神经网络模型的稀疏惩罚项;将误差以及稀疏惩罚项代入神经网络模型的稀疏损失函数,以在神经网络模型中进行反向传播;确定稀疏损失函数取得最小值时神经网络模型的参数变化值,并基于参数变化值更新神经网络模型的参数,得到经过稀疏化训练的神经网络模型;其中,参数变化值包括每个通道的通道系数变化值。
在一些实施例中,模型生成模块7555,还用于:获取经过稀疏化训练的神经网络模型的归一化层的每个通道的通道系数;针对归一化层中通道系数小于通道系数阈值的通道进行剪枝处理,以得到剪枝处理后的神经网络模型。
在一些实施例中,模型生成模块7555,还用于:将通道系数小于通道系数阈值的通道从归一化层中移除;将被移除的通道的偏置系数,确定为归一化层之后的补偿层中的输出的一部分。
在一些实施例中,模型生成模块7555,还用于:获取神经网络模型的推理计算图,获取神经网络模型的推理计算图;当从推理计算图中识别出归一化层、以及与归一化层处于不同层级的至少一个补偿层、且补偿层位于归一化层之后时,执行以下处理:以归一化层为目标结构的起点,以至少一个补偿层为目标结构的终点,获取对应归一化层的目标结构,针对每个目标结构执行以下处理:根据归一化层中通道系数小于通道系数阈值的通道的偏置系数,确定偏置系数对应的影响数据;根据影响数据调整补偿层的参数与算子,以使补偿层的输出至少包括对应影响数据的部分;获取神经网络模型的推理计算图之后,方法还包括:当满足以下条件至少之一时,确定将保留归一化层中的所有通道:从推理计算图中识别出归一化层,且未识别出与归一化层处于不同层级的至少一个补偿层;从推理计算图中识别出归一化层、以及与归一化层处于不同层级的至少一个补偿层,且至少一个补偿层位于归一化层之前。
在一些实施例中,模型生成模块7555,还用于:根据数字信号处理器的计算能力、速度阈值以及数字信号处理器的内存参数,确定神经网络模型的参数保存精度;保存神经网络模型的参数保存精度的参数;其中,参数保存精度的参数用于当通过神经网络模型对图像处理结果进行目标识别处理时进行推理。
在一些实施例中,模型生成模块7555,还用于:获取神经网络模型的指数算子;根据数字信号处理器的计算能力、以及速度阈值,确定将要进行计算加速处理的指数算子的第一数目;当获取的指数算子的第二数目小于第一数目时,将获取的指数算子对应的幂进行二进制转换处理,得到幂的二进制转换结果;当获取的指数算子的第二数目不小于第一数目时,将第二数目的指数算子中部分指数算子对应的幂进行二进制转换处理,得到幂的二进制转换结果;基于二进制转换结果对指数算子进行加速转化处理,得到快速指数算子。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的基于人工智能的自动驾驶方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3A-3C示出的基于人工智能的自动驾驶方法。
本申请实施例提供一种车辆,设置有本申请实施例提供的基于人工智能的自动驾驶装置。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上,通过本申请实施例将图像的目标识别处理任务与自动驾驶的轨迹决策任务对应分配给低功耗的数字信号处理器与车辆中已配置的中央处理器来实现,从而使得数字信号处理器能够在较低功耗下以更快速度执行图像目标识别任务,从而提高了后续通过中央处理器进行轨迹决策的实时性,减少了中央处理器的硬件资源消耗并提高车辆的响应速度。
以上,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (15)

1.一种基于人工智能的自动驾驶方法,其特征在于,所述方法包括:
获取车辆的行驶环境的图像;
调用数字信号处理器对神经网络模型进行测试处理,得到测试结果;
当所述测试结果包括的速度测试结果低于速度阈值时,通过所述神经网络模型,对训练样本集合包括的训练图像样本进行目标识别处理,得到对应所述训练图像样本的预测识别类型;
确定所述训练图像样本的预测识别类型和标记识别类型之间的误差;
根据所述数字信号处理器的计算能力、以及所述速度阈值,对所述神经网络模型的归一化层的每个通道的通道系数进行范数化处理,得到所述神经网络模型的稀疏惩罚项;
将所述误差以及所述稀疏惩罚项代入所述神经网络模型的稀疏损失函数,以在所述神经网络模型中进行反向传播;
确定所述稀疏损失函数取得最小值时所述神经网络模型的参数变化值,并基于所述参数变化值更新所述神经网络模型的参数,得到经过稀疏化训练的神经网络模型,其中,所述参数变化值包括每个通道的通道系数变化值;
对经过稀疏化训练的神经网络模型中的部分通道进行剪枝处理,得到剪枝处理后的神经网络模型,并对剪枝处理后的神经网络模型进行测试处理;
当所述速度测试结果不低于所述速度阈值,调用数字信号处理器运行剪枝处理后的神经网络模型对所述图像进行目标识别处理,得到所述神经网络模型的输出结果,所述输出结果包括所述行驶环境所包括的交通要素;
调用中央处理器基于所述交通要素进行轨迹决策处理,得到与所述交通要素适配的轨迹;
控制所述车辆按照所述轨迹行驶。
2.根据权利要求1所述的方法,其特征在于,所述调用数字信号处理器对神经网络模型进行测试处理,得到测试结果之前,所述方法还包括:
调用所述数字信号处理器对所述图像进行以下处理中至少之一:
对所述图像进行图像裁剪处理;
对所述图像进行图像缩放处理;
对所述图像进行周边补色处理。
3.根据权利要求1所述的方法,其特征在于,用于进行测试处理的神经网络模型是基于训练样本集合进行初始化训练得到的,当所述测试结果还包括精度测试结果时,调用数字信号处理器对神经网络模型进行测试处理,得到测试结果之后,所述方法还包括:
当所述速度测试结果不低于所述速度阈值、且所述精度测试结果低于精度阈值时,基于所述训练样本集合对所述神经网络模型进行训练,对训练后的所述神经网络模型进行测试处理;
所述当所述速度测试结果不低于所述速度阈值,调用数字信号处理器运行神经网络模型对所述图像进行目标识别处理,包括:
当所述速度测试结果不低于所述速度阈值、且所述精度测试结果不低于所述精度阈值时,确定所述神经网络模型满足进行所述目标识别处理的性能要求,并调用数字信号处理器运行神经网络模型对所述图像进行目标识别处理。
4.根据权利要求3所述的方法,其特征在于,所述调用所述数字信号处理器对神经网络模型进行测试处理,包括:
调用所述数字信号处理器运行所述神经网络模型对测试样本集合中的测试图像样本进行目标识别处理,得到所述神经网络模型输出的所述测试图像样本的测试识别类型、以及所述测试图像样本的测试识别类型的消耗时间;
将所述消耗时间作为所述速度测试结果,并将所述测试识别类型与所述测试图像样本的标记识别类型进行比较,得到所述精度测试结果。
5.根据权利要求1所述的方法,其特征在于,调用数字信号处理器对神经网络模型进行测试处理,得到测试结果之后,所述方法还包括:
当所述测试结果包括的速度测试结果低于速度阈值时,执行以下至少之一:
对所述神经网络模型进行计算图优化处理;
对所述神经网络模型进行模型量化处理;
对所述神经网络模型进行计算加速处理。
6.根据权利要求5所述的方法,其特征在于,所述对所述神经网络模型进行计算图优化处理,包括:
获取所述神经网络模型的推理计算图;
对所述推理计算图进行以下优化处理中至少之一:
根据所述数字信号处理器的计算能力、以及所述速度阈值,对所述推理计算图进行计算去除处理,其中,所述计算去除处理的对象包括以下至少之一:冗余计算、无用计算、常数计算;
根据所述数字信号处理器的计算能力、以及所述速度阈值,对所述推理计算图进行计算融合处理;
对所述推理计算图进行适应于所述数字信号处理器的内存参数的内存调整处理。
7.根据权利要求1所述的方法,其特征在于,所述对经过稀疏化训练的神经网络模型中的部分通道进行剪枝处理,得到剪枝处理后的神经网络模型,包括:
获取经过稀疏化训练的神经网络模型的归一化层的每个通道的通道系数;
针对所述归一化层中通道系数小于通道系数阈值的通道进行剪枝处理,以得到剪枝处理后的神经网络模型。
8.根据权利要求7所述的方法,其特征在于,所述针对所述归一化层中通道系数小于通道系数阈值的通道进行剪枝处理,包括:
将所述通道系数小于通道系数阈值的通道从归一化层中移除;
将被移除的通道的偏置系数,确定为所述归一化层之后的补偿层中的输出的一部分。
9.根据权利要求7所述的方法,其特征在于,所述针对所述归一化层中通道系数小于通道系数阈值的通道进行剪枝处理,包括:
获取所述神经网络模型的推理计算图;
当从所述推理计算图中识别出所述归一化层、以及与所述归一化层处于不同层级的至少一个补偿层、且所述补偿层位于所述归一化层之后时,执行以下处理:
以所述归一化层为目标结构的起点,以所述至少一个补偿层为所述目标结构的终点,获取对应所述归一化层的目标结构,针对每个所述目标结构执行以下处理:
根据所述归一化层中通道系数小于通道系数阈值的通道的偏置系数,确定所述偏置系数对应的影响数据;
根据所述影响数据调整所述补偿层的参数与算子,以使所述补偿层的输出至少包括对应所述影响数据的部分;
所述获取所述神经网络模型的推理计算图之后,所述方法还包括:
当满足以下条件至少之一时,确定将保留所述归一化层中的所有通道:
从所述推理计算图中识别出所述归一化层,且未识别出与所述归一化层处于不同层级的至少一个补偿层;
从所述推理计算图中识别出所述归一化层、以及与所述归一化层处于不同层级的至少一个补偿层,且所述至少一个补偿层位于所述归一化层之前。
10.根据权利要求5所述的方法,其特征在于,所述对所述神经网络模型进行模型量化处理,包括:
根据所述数字信号处理器的计算能力、所述速度阈值以及所述数字信号处理器的内存参数,确定所述神经网络模型的参数保存精度;
保存所述神经网络模型的所述参数保存精度的参数;
其中,所述参数保存精度的参数用于当通过所述神经网络模型对所述图像处理结果进行目标识别处理时进行推理。
11.根据权利要求5所述的方法,其特征在于,所述对所述神经网络模型进行计算加速处理,包括:
获取所述神经网络模型的指数算子;
根据所述数字信号处理器的计算能力、以及所述速度阈值,确定将要进行计算加速处理的指数算子的第一数目;
当获取的指数算子的第二数目小于所述第一数目时,将获取的指数算子对应的幂进行二进制转换处理,得到所述幂的二进制转换结果;
当获取的指数算子的第二数目不小于所述第一数目时,将所述第二数目的指数算子中部分指数算子对应的幂进行二进制转换处理,得到所述幂的二进制转换结果;
基于所述二进制转换结果对所述指数算子进行加速转化处理,得到快速指数算子。
12.一种基于人工智能的自动驾驶装置,其特征在于,包括:
获取模块,用于获取车辆的行驶环境的图像;
识别模块,用于调用数字信号处理器对神经网络模型进行测试处理,得到测试结果;当所述测试结果包括的速度测试结果低于速度阈值时,通过所述神经网络模型,对训练样本集合包括的训练图像样本进行目标识别处理,得到对应所述训练图像样本的预测识别类型;确定所述训练图像样本的预测识别类型和标记识别类型之间的误差;根据所述数字信号处理器的计算能力、以及所述速度阈值,对所述神经网络模型的归一化层的每个通道的通道系数进行范数化处理,得到所述神经网络模型的稀疏惩罚项;将所述误差以及所述稀疏惩罚项代入所述神经网络模型的稀疏损失函数,以在所述神经网络模型中进行反向传播;确定所述稀疏损失函数取得最小值时所述神经网络模型的参数变化值,并基于所述参数变化值更新所述神经网络模型的参数,得到经过稀疏化训练的神经网络模型,其中,所述参数变化值包括每个通道的通道系数变化值;对经过稀疏化训练的神经网络模型中的部分通道进行剪枝处理,得到剪枝处理后的神经网络模型,并对剪枝处理后的神经网络模型进行测试处理;当所述速度测试结果不低于所述速度阈值,调用数字信号处理器运行剪枝处理后的神经网络模型对所述图像进行目标识别处理,得到所述神经网络模型的输出结果,所述输出结果包括所述行驶环境所包括的交通要素;
决策模块,用于调用中央处理器基于所述交通要素进行轨迹决策处理,得到与所述交通要素适配的轨迹;
控制模块,用于控制所述车辆按照所述轨迹行驶。
13.一种车辆,其特征在于,设置有权利要求12所述的基于人工智能的自动驾驶装置。
14.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的基于人工智能的自动驾驶方法。
15.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至11任一项所述的基于人工智能的自动驾驶方法。
CN202110031002.7A 2021-01-11 2021-01-11 基于人工智能的自动驾驶方法、装置、设备、介质及车辆 Active CN112784885B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110031002.7A CN112784885B (zh) 2021-01-11 2021-01-11 基于人工智能的自动驾驶方法、装置、设备、介质及车辆

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110031002.7A CN112784885B (zh) 2021-01-11 2021-01-11 基于人工智能的自动驾驶方法、装置、设备、介质及车辆

Publications (2)

Publication Number Publication Date
CN112784885A CN112784885A (zh) 2021-05-11
CN112784885B true CN112784885B (zh) 2022-05-24

Family

ID=75756456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110031002.7A Active CN112784885B (zh) 2021-01-11 2021-01-11 基于人工智能的自动驾驶方法、装置、设备、介质及车辆

Country Status (1)

Country Link
CN (1) CN112784885B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177527B (zh) * 2021-05-27 2022-09-23 安阳工学院 一种车型识别方法及装置
CN113428177B (zh) * 2021-07-16 2023-03-14 中汽创智科技有限公司 一种车辆控制方法、装置、设备及存储介质
CN115953652B (zh) * 2023-03-15 2023-06-02 广东电网有限责任公司肇庆供电局 目标检测网络批归一化层剪枝方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019184823A1 (zh) * 2018-03-26 2019-10-03 华为技术有限公司 基于卷积神经网络模型的图像处理方法和装置
CN111325342A (zh) * 2020-02-19 2020-06-23 深圳中兴网信科技有限公司 模型的压缩方法、装置、目标检测设备和存储介质
CN111874006A (zh) * 2020-08-05 2020-11-03 腾讯科技(深圳)有限公司 路线规划处理方法和装置
CN112183482A (zh) * 2020-10-29 2021-01-05 苏州市职业大学 危险驾驶行为识别方法、装置、系统及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190362235A1 (en) * 2018-05-23 2019-11-28 Xiaofan Xu Hybrid neural network pruning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019184823A1 (zh) * 2018-03-26 2019-10-03 华为技术有限公司 基于卷积神经网络模型的图像处理方法和装置
CN111325342A (zh) * 2020-02-19 2020-06-23 深圳中兴网信科技有限公司 模型的压缩方法、装置、目标检测设备和存储介质
CN111874006A (zh) * 2020-08-05 2020-11-03 腾讯科技(深圳)有限公司 路线规划处理方法和装置
CN112183482A (zh) * 2020-10-29 2021-01-05 苏州市职业大学 危险驾驶行为识别方法、装置、系统及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于YOLO-v2视觉神经网络在移动机器人平台ROS框架下的实现;葛嘉琪;《中国水运(下半月)》;20200615(第06期);全文 *

Also Published As

Publication number Publication date
CN112784885A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
CN112784885B (zh) 基于人工智能的自动驾驶方法、装置、设备、介质及车辆
US11604967B2 (en) Stereo depth estimation using deep neural networks
CN107697070B (zh) 驾驶行为预测方法和装置、无人车
JP7086911B2 (ja) 自動運転車両のためのリアルタイム意思決定
CN111258217B (zh) 实时对象行为预测
CN111133447A (zh) 适于自主驾驶的对象检测和检测置信度
CN111240312A (zh) 用于自动驾驶车辆的基于学习的动态建模方法
Wang et al. End-to-end self-driving using deep neural networks with multi-auxiliary tasks
KR20180113447A (ko) 전자 장치, 그의 경고 메시지 제공 방법 및 비일시적 컴퓨터 판독가능 기록매체
US11237565B2 (en) Optimal driving characteristic adjustment for autonomous vehicles
US11636348B1 (en) Adaptive training of neural network models at model deployment destinations
CN112085165A (zh) 一种决策信息生成方法、装置、设备及存储介质
Zaghari et al. Improving the learning of self-driving vehicles based on real driving behavior using deep neural network techniques
CN114549369B (zh) 数据修复方法、装置、计算机及可读存储介质
US11970175B2 (en) System for obtaining a prediction of an action of a vehicle and corresponding method
WO2022198175A1 (en) Systems and methods for generating object detection labels using foveated image magnification for autonomous driving
CN113078974B (zh) 用于神经网络稀疏信道生成和推断的方法
CN108960160B (zh) 基于非结构化预测模型来预测结构化状态量的方法和装置
CN113950702A (zh) 在视频分析应用中使用相关滤波器的多对象跟踪
CN113112525B (zh) 目标跟踪方法、网络模型及其训练方法、设备和介质
Cultrera et al. Explaining autonomous driving with visual attention and end-to-end trainable region proposals
EP3850539B1 (en) Deep neural network processing for sensor blindness detection in autonomous machine applications
CN113158539A (zh) 交通参与者的长期轨迹预测的方法
CN115019278B (zh) 一种车道线拟合方法、装置、电子设备和介质
WO2023092520A1 (zh) 车辆识别模型的参数调整及数据处理方法和装置、车辆

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40043517

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant