智能驾驶-任务部署-目标检测跟踪融合-网络模型设计优化部署---粗浅之言

本文主要是介绍智能驾驶-任务部署-目标检测跟踪融合-网络模型设计优化部署---粗浅之言,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注意:杂乱无章,感兴趣可看
问题涉及有:硬件平台、软件系统框架、目标检测、目标跟踪、多传感器融合算法、网络模型设计、训练、优化、嵌入式部署等一系列技术体系;根据自己对相关方面的理解,现做一粗浅的小结。
硬件平台,如安霸的CV2,它主要有SOC和MCU;SOC上有一个linux系统,用于某些处理以及调度相关任务,比如调度视觉感知任务等;因为视觉感知处理相对耗时,且摄像头接在SOC上,所以被部署于SOC上,其它处理速度快的模块,被部署于MCU上,如控制模块等,当然从安全性角度考虑,控制模块也应该部署在MCU上,这样实时性控制更高,如果控制模块部署在SOC上,就会多了一步SOC通过UART或SPI总线等向MCU传输控制量的时间,安全性会低一些,当然,MCU上也应该有一个实时系统(如RTOS)做一些处理以及调度任务等;对于某个复杂功能而言,它可能包含多个处理模块,如感知、规划、控制等,这样就可以将感知模块部署于SOC,规划、控制模块部署于MCU,系统上电启动后,两边linux和rtos系统分别调度开启各个任务模块,此时状态机运行,然后SOC和MCU两边各个任务模块就可以通过UART或SPI总线传输任务间的交互数据和信号,彼此协调工作,从而实现整个功能。
目标检测主要包括视觉检测和雷达检测(如毫米波雷达、激光雷达),因为单一传感器检测的目标漏检率较高,安全性较低,且不同的传感器拥有不同的自身优势,如雷达测距较视觉准确,视觉可识别出目标物的类别等,所以多传感器融合是一种大趋势,可有效降低目标检测的漏检率,提高安全性,当然这也只是一定程度的降低漏检率,所以从安全性考虑,感知在自动驾驶还有很长的路要走,可以说是没有尽头,需要一直走下去,逐步提高汽车安全性,减少事故的发生;多传感器融合可降低漏检,另外也可实现各传感器的优势互补,集各传感器优势于一体,从而输出更好的感知结果。
多传感器融合就是将同一帧数据下的同一目标的不同传感器数据关联起来,单一目标的数据融合较简单,因为只有一个目标,而重点需要考虑的是多目标下的多传感器数据融合,因为这种情况下一方面需要考虑摄像头的m个目标和雷达的n个目标他们的同一目标关联问题,有m=n和m!=n的情况,即可能出现目标间的一对一、一对多或多对一问题需要处理;待同一目标关联起来之后,另一方面就是同一目标下不同传感器数据融合问题;
融合之后,就是另一问题——目标跟踪,单一目标的跟踪较简单,因为只有一个目标,是他是他就是他;重点考虑的也是多目标跟踪,因为这种情况下需要考虑不同帧之间同一目标的关联问题,即第t帧的m个目标和第t+1帧的n个目标如何关联,有m=n, m>n(有目标被遮挡或丢了)和m<n(有新目标出现了)的情况;另外,不同帧间同一目标的相似性该如何处理,通过位置、颜色还是什么描述子呢,这样计算相似性,稳定性、可靠性怎么样呢?,即也可能出现目标间的一对一、一对多或多对一问题需要处理;
多传感器融合可以看成是同一目标的一种横向数据关联,多目标跟踪也可看成是同一目标的一种纵向数据关联;
对于不同的任务,设计网络模型时,它的宽度和深度大小多少合适呢?这是一个需要思考的问题,我总觉得任务不同,应该有个与任务相适的网络宽度和深度,就相当于有个合适的表达式来表示输入与输出的关系,如果表达式太简单就无法表达,太复杂,虽说也可以表达,但就太过了,还是找个合适的才是最好的,但是现在合适的她不好找啊,没有方向;目前也只能通过多次实验、不断调整,以良好的精度为目标进行确定;网络其它结构也已参考当前论文中好的设计思想而设计,当然也还需要相应的图像处理、机器学习相关知识;如此,在实验中不断训练、调整、优化自己的网络模型;
根据任务场景的不同,选择合适的摄像头;由于摄像头自身,如鱼眼摄像头,采集的图像是存在一定畸变的,需要进行畸变矫正,然后不同的颜色空间的图像数据也存在不同的特性,所以也需要根据采集的原图像和网络需要的图像进行颜色空间转换,还需要进行一些其它预处理,如缩放、标准化等;另外训练数据集的量需要多大合适呢,目前好像也是越大越好,由于数据集通常是不足的,为了提高网络模型的性能,往往还需要进行数据扩充,如此,送入网络逐步训练、优化自己的网络,朝着越来越好而多次不停实验着;
网络模型训练好了,就需要思考该如何部署到嵌入式端应用了,可以通过将移动端框架,如腾讯的NCNN\TNN,阿里的MNN等移植到SOC的linux上进行编译,生成相应的头文件和库文件在arm-cpu上供调用;但这样对于实时性要求不高的任务而言是可行的;对于驾驶的目标检测等实时性要求高的任务而言就不可行了,这时就需要进行优化,软件优化是一方面,但主要还是需要根据专门的硬件进行相应的代码移植,通过硬件加速处理,提高计算速度;如,对于安霸的CV2芯片,里面貌似集成有NPU,然后安霸工程师根据该NPU开发出相应的SDK,此时,我们训练好自己的网络模型后,然后就可以通过人家提供的cvFlow工具进行模型转换,然后任务移植上去就可以使用人家提供的接口进行相应的调用处理了,此时就在NPU上进行计算了,看起来快了好多,此时你会觉得一切都是那么的美好;

这篇关于智能驾驶-任务部署-目标检测跟踪融合-网络模型设计优化部署---粗浅之言的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/790902

相关文章

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

JAVA集成本地部署的DeepSeek的图文教程

《JAVA集成本地部署的DeepSeek的图文教程》本文主要介绍了JAVA集成本地部署的DeepSeek的图文教程,包含配置环境变量及下载DeepSeek-R1模型并启动,具有一定的参考价值,感兴趣的... 目录一、下载部署DeepSeek1.下载ollama2.下载DeepSeek-R1模型并启动 二、J

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署