基于FPGA车辆检测跟踪算法实现的车辆3D检测方法与流程

文档序号:31774764发布日期:2022-10-12 08:05阅读:80来源:国知局
基于FPGA车辆检测跟踪算法实现的车辆3D检测方法与流程
1:加载用于前向传播的模型,进行初始化工作;s4-2:通过归一化和均值化操作对数据进行预处理;s4-3:通过令用于前向传播的模型进行前向传播,获得类别的热力图、中心偏移量、跟踪id、类别部分的热力图、预测对象的长宽、远端框高度的图像特征值;s4-4:根据图像特征值,通过预设方法进行分析,获得本体车辆周边各个车辆的3d检测框,根据3d检测框对本体车辆周边各个车辆的进行3d检测。
8.在本发明的一些实施例中,预设方法为根据整车预测框和车头车尾预测框,进行3d检测框方向的判断;再结合预设的图像特征值预测远端框,生成伪3d检测框;同时将预设方法中的模型进行量化,移值到fpga上。
9.在本发明的一些实施例中,预测远端框为以关键点p1和整车预测框的左上角p4的长度为预测远端框的长,以车头和车尾预测框的宽为预测远端框的宽。
10.在本发明的一些实施例中,计算整车预测框与车头车尾预测框的重叠面积,定义为s1,计算车头车尾预测框的面积为,定义为s2,若s1/s2》0.8,则确认两者为同一个对象,并作为伪3d框的输入。
11.在本发明的一些实施例中,进行3d检测框方向的判断的步骤包括:根据整车预测框的中心点与车头车尾预测框的中心点的位置关系,判断车辆朝向,即3d检测框的方向。
12.在本发明的一些实施例中,同时将预设方法中的模型进行量化的步骤包括:将模型中的不支持的dcn的部分进行删除,反卷积参数转换为支持开发板的反卷积参数,并且对模型进行量化训练,回归精度。
13.第二方面,本技术实施例提供基于fpga车辆检测跟踪算法实现的车辆3d检测系统,其包括硬件预设模块,用于在本体车辆上预设位置固定一台单目相机,利用对单目相机获取的图像进行分析,通过模型训练量化和检测应用,实现对本体车辆周边各个车辆的进行3d检测;模型训练量化模块,用于s1:构建网络,基于trades的方法添加一个远端框高度预测分支、一个近端框长宽预测分支,以及一个近端框热力图预测分支,并由此构建出新的模型;s2:利用单目相机持续获取2d的单目图像,对单目图像上车辆进行远端框、近端框和跟踪id的标注,得到标注结果;将标注结果和单目图像带入模型进行训练,得到一个稳定检测车辆3d框的检测模型;s3:对检测模型依次进行反复训练、量化、矫正以及精度计算获得用于前向传播的模型;检测应用模块,用于s4:通过令用于前向传播的模型进行前向传播,获得对应的图像特征值,根据图像特征值对本体车辆周边的各个车辆进行3d检测。
14.第三方面,本技术实施例提供一种电子设备,包括至少一个处理器、至少一个存储器和数据总线;其中:处理器与存储器通过数据总线完成相互间的通信;存储器存储有可被处理器执行的程序指令,处理器调用程序指令以执行基于fpga车辆检测跟踪算法实现的车辆3d检测方法。
15.相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
16.本设计利用固定放置在车辆前部的一台单目相机,在车辆行驶的过程中持续获取的图像,再结合基于fpga的伪3d车辆检测跟踪算法对前方道路中的车辆进行3d检测,由此满足自动驾驶车辆在道路上行驶时对道路前方车辆感知的需求,从而解决了目前现有技术方案中不稳定、延迟明显、实时检测性、训练数据标注难度大和可靠性差的技术问题。其具体实施方式如下:
附图说明
17.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
18.图1为本发明中基于fpga车辆检测跟踪算法实现的车辆3d检测方法的流程图;
19.图2为本发明中基于fpga车辆检测跟踪算法实现的车辆3d检测方法的程序框图;
20.图3为本发明中模型训练量化的程序框图;
21.图4为本发明中检测应用的程序框图;
22.图5为本发明中示出模型跑前向传播后获得的各类图像特征值;
23.图6为本发明中示出模型通过预设方法从图像特征值中构建出的伪3d检测框;
24.图7为本发明中基于fpga车辆检测跟踪算法实现的车辆3d检测系统的结构示意图;
25.图8为本发明中一种电子设备的结构示意图。
26.图标:1、硬件预设模块;2、模型训练量化模块;3、检测应用模块;4、处理器;5、存储器;6、数据总线;7、整车预测框;8、车头车尾预测框;9、预测远端框。
具体实施方式
27.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
28.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
30.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
31.在本技术的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。
32.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的
各个实施例及实施例中的各个特征可以相互组合。
33.实施例1
34.请参阅图1、图2、图3和图4,为本技术实施例提供的基于fpga车辆检测跟踪算法实现的车辆3d检测方法,本设计利用固定放置在车辆前部的一台单目相机,在车辆行驶的过程中持续获取的图像,再结合基于fpga的伪3d车辆检测跟踪算法对前方道路中的车辆进行3d检测,由此实现满足自动驾驶车辆在道路上行驶时对道路前方车辆感知的需求,从而解决了目前现有技术方案中不稳定、延迟明显、实时检测性、训练数据标注难度大和可靠性差的技术问题。其具体实施方式如下:
35.在本体车辆上预设位置固定一台单目相机,利用对单目相机获取的图像进行分析,通过模型训练量化和检测应用,实现对本体车辆周边各个车辆的进行3d检测;其中模型训练量化的步骤包括:
36.s1:构建网络,基于trades的方法添加一个远端框高度预测分支、一个近端框长宽预测分支,以及一个近端框热力图预测分支,并由此构建出新的模型;该步骤旨在进行初始模型构建,从而为后续步骤提供基础框架。
37.s2:利用单目相机持续获取2d的单目图像,对单目图像上车辆进行远端框、近端框和跟踪id的标注,得到标注结果;将标注结果和单目图像带入模型进行训练,得到一个稳定检测车辆3d框的检测模型;训练学习则是基于机器学习的一种方式,其实质为图像机器学习训练。从而利用大量数据训练得到一个稳定检测车辆3d框的检测模型。
38.s3:对检测模型依次进行反复训练、量化、矫正以及精度计算获得用于前向传播的模型;其具体实施方式如下:
39.s3-1:根据fpga开发板的适配要求,对模型进行反卷积参数修改,对修改后的模型进行反复训练;
40.本设计基于fpga开发板进行设计,其中fpga属于硬件可重构的芯片结构,内部具有数量丰富的可编程输入输出单元引脚及触发器;故而为了适配fpga开发板,需要对模型进行反卷积参数修改,并进行反复训练,由此得到适配与fpga开发板的模型。
41.s3-2:反复训练后模型,利用预设的量化方法对模型进行量化,得到量化后的模型;
42.s3-3:对量化后的模型利用训练数据进行量化校准训练,得到量化矫正后的模型;
43.s3-4:根据量化矫正后的模型,通过对测试数据的测试,计算量化后模型的精度,获得用于前向传播的模型。
44.量化、校准以及对测试数据的测试则是进一步对检测模型的细节调整,从而得到用于前向传播的模型,方便后续操作。
45.检测应用的步骤包括:
46.s4:通过令用于前向传播的模型进行前向传播,获得对应的图像特征值,根据图像特征值对本体车辆周边的各个车辆进行3d检测。其具体实施方式如下:
47.s4-1:加载用于前向传播的模型,进行初始化工作;
48.s4-2:通过归一化和均值化操作对数据进行预处理;
49.上述两个步骤,旨在对模型以及数据进行适应性调整,方便后续计算。
50.s4-3:通过令用于前向传播的模型进行前向传播,获得类别的热力图、中心偏移
量、跟踪id、类别部分的热力图、预测对象的长宽、远端框高度的图像特征值;
51.过令用于前向传播的模型跑前向传播,从而获得hm、reg、wh、tracking_id、l、hm_part等图像特征值,其中hm为类别的热力图,reg为中心点偏移量,tracking_id为跟踪id,l为远端框高度,hm_part为车头车尾的热力图。如图4中所示,a为类别预测框,类别预测框的长宽为hw,b为车头车尾预测框8,车头车尾预测框8的长宽为h1w1,点p1为远端关键点的位置,点p2为类别热力图中的代表该辆车的点,点p3为车头车尾热力图中的代表该辆车的点。
52.s4-4:根据图像特征值,通过预设方法进行分析,获得本体车辆周边各个车辆的3d检测框,根据3d检测框对本体车辆周边各个车辆的进行3d检测。其中预设方法为:
53.根据整车预测框7和车头车尾预测框8,进行3d检测框方向的判断;再结合预设的图像特征值预测远端框9,生成伪3d检测框;同时将预设方法中的模型进行量化,移值到fpga上。如图5和图6中所示,首先对于3d检测框方向的判断只需要整车预测框7判断出目标车辆,车头车尾预测框8则可以判断车辆车头或车尾,在前向传播的过程中根据动态则可以判断图像,而生成伪3d检测框目的是便于观察,则需要根据预设的图像特征值预测远端框9在图像上进行展示。
54.请参阅图5,在本发明的一些实施例中,预测远端框9为以关键点p1和整车预测框7的左上角p4的长度为预测远端框9的长,以车头和车尾预测框的宽为预测远端框9的宽。即以l的长为长,以车头车尾预测框8的宽为宽。其旨在根据视角关系,对预测远端框9的位置进行确立。
55.在本发明的一些实施例中,计算整车预测框7与车头车尾预测框8的重叠面积,定义为s1,计算车头车尾预测框8的面积为,定义为s2,若s1/s2》0.8,则确认两者为同一个对象,并作为伪3d框的输入。
56.而对于整车预测框7和车头车尾预测框8重叠的问题,其实质为在某个角度下,只排到了车头和车位,其他部位因视角原因无法看到,此时对于重叠面积来说s1/s2》0.8,基本上车身数据已经无法获取,故而直接将该数据作为伪3d框的输入。
57.请参阅图6,在本发明的一些实施例中,进行3d检测框方向的判断的步骤包括:根据整车预测框7的中心点与车头车尾预测框8的中心点的位置关系,判断车辆朝向,即3d检测框的方向。
58.在本发明的一些实施例中,同时将预设方法中的模型进行量化的步骤包括:将模型中的不支持的dcn的部分进行删除,反卷积参数转换为支持开发板的反卷积参数,并且对模型进行量化训练,回归精度。
59.实施例2
60.请参阅图7,为本发明提供的基于fpga车辆检测跟踪算法实现的车辆3d检测系统,包括硬件预设模块1,用于在本体车辆上预设位置固定一台单目相机,利用对单目相机获取的图像进行分析,通过模型训练量化和检测应用,实现对本体车辆周边各个车辆的进行3d检测;模型训练量化模块2,用于s1:构建网络,基于trades的方法添加一个远端框高度预测分支、一个近端框长宽预测分支,以及一个近端框热力图预测分支,并由此构建出新的模型;s2:利用单目相机持续获取2d的单目图像,对单目图像上车辆进行远端框、近端框和跟踪id的标注,得到标注结果;将标注结果和单目图像带入模型进行训练,得到一个稳定检测车辆3d框的检测模型;s3:对检测模型依次进行反复训练、量化、矫正以及精度计算获得用
于前向传播的模型;检测应用模块3,用于s4:通过令用于前向传播的模型进行前向传播,获得对应的图像特征值,根据图像特征值对本体车辆周边的各个车辆进行3d检测。
61.实施例3
62.请参阅图8,为本发明提供的一种电子设备,包括至少一个处理器4、至少一个存储器5和数据总线6;其中:处理器4与存储器5通过数据总线6完成相互间的通信;存储器5存储有可被处理器4执行的程序指令,处理器4调用程序指令以执行基于fpga车辆检测跟踪算法实现的车辆3d检测方法。例如实现:
63.在本体车辆上预设位置固定一台单目相机,利用对单目相机获取的图像进行分析,通过模型训练量化和检测应用,实现对本体车辆周边各个车辆的进行3d检测;模型训练量化的步骤包括:s1:构建网络,基于trades的方法添加一个远端框高度预测分支、一个近端框长宽预测分支,以及一个近端框热力图预测分支,并由此构建出新的模型;s2:利用单目相机持续获取2d的单目图像,对单目图像上车辆进行远端框、近端框和跟踪id的标注,得到标注结果;将标注结果和单目图像带入模型进行训练,得到一个稳定检测车辆3d框的检测模型;s3:对检测模型依次进行反复训练、量化、矫正以及精度计算获得用于前向传播的模型;检测应用的步骤包括:s4:通过令用于前向传播的模型进行前向传播,获得对应的图像特征值,根据图像特征值对本体车辆周边的各个车辆进行3d检测。
64.其中,存储器5可以是但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
65.处理器4可以是一种集成电路芯片,具有信号处理能力。该处理器4可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
66.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
67.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其它的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1