BEVFormer代码梳理
前言最近在做 BEVFormer_tensorrt 和 MapTR 相关代码的整合推理工作,学到了一些新的东西,对模型部署有了更深入的认识,特此记录一下。
网络结构首先放一张论文中的示意图来进行说明,下图中,主要分为三个部分,最左边的backbone,中间×6 的encoder,中间上面的Det/Seg Heads。
第一部分就是ResNet + FPN,BEVFormer主要是在第二部分encoder进行了创新,即Temporal Self-Attention,Spatial Cross-Attention。
原文:
中文版:
代码流程梳理图
模型配置文件在 BEVFormer 中,几个模型之间的不同点主要在于bev_query的大小以及FPN的多尺度特征个数,我这里采用的是tiny模型进行测试,配置文件为projects/configs/bevformer/bevformer_tiny.py,模型的网络结构在此进行定义,运行时,首先会对下面的模块进行注册,从上到下基本上就是forward的步骤,下面是 BEVFormer 的model部分, BEVFormer_ ...
Backbone轻量化项目实践
前言目前在一家自动驾驶公司做视觉感知算法实习生。近期主要工作是对某个项目网络模型(本次模型部分参考YOLOv8框架)进行Backbone方面的轻量化,期间涉及的一些知识点,在此Record一下。
如何从轻量化角度改进YOLOv8?压缩YOLOv8模型对于YOLOv8模型,我们可以采用模型压缩的方法来减小模型的大小。模型压缩包括模型量化、模型剪枝和模型蒸馏等技术。模型量化是将浮点模型转换为定点模型,可以减小模型大小。模型剪枝是指去除模型中冗余的权重和神经元,可以减少模型的参数量。模型蒸馏是通过在小模型中嵌入大模型的知识来提高小模型的精度。这些方法可以结合使用,以实现更好的效果。
改进YOLOv8的骨干网络YOLOv8的骨干网络是Darknet53,虽然Darknet53有较好的性能,但在实际应用中,它的计算量较大。为了减小计算量,我们可以考虑使用轻量级网络来替代Darknet53,例如MobileNet、ShuffleNet等。这些网络具有更小的计算量和更少的参数量,可以提高模型的效率和精度。
优化YOLOv8的损失函数YOLOv8的损失函数包括分类损失和定位损失。在实际应用中 ...
百度PP-Vehicle开发套件学习
百度PP-Vehicle开发套件学习🚘 车辆分析工具PP-VehiclePaddleDetection深入探索核心行业的高频场景,提供了车辆场景的开箱即用分析工具,支持图片/单镜头视频/多镜头视频/在线视频流多种输入方式,广泛应用于智慧交通、智慧城市、工业巡检等领域。支持服务器端部署及TensorRT加速,T4服务器上可达到实时。
🚗🚙 PP-Vehicle囊括四大交通场景核心功能:车牌识别、属性识别、车流量统计、违章检测。
📣 近期更新
🔥🔥🔥 2022.8.20:PP-Vehicle首发,提供车牌识别、车辆属性分析(颜色、车型)、车流量统计以及违章检测四大功能,完善的文档教程支持高效完成二次开发与模型优化
🔮 功能简介与效果展示
⭐ 功能
💟 方案优势
💡示例图
车牌识别
支持传统车牌和新能源绿色车牌 车牌识别采用长间隔采样识别与多次结果统计投票方式,算力消耗少,识别精度高,结果稳定性好。 检测模型 hmean: 0.979; 识别模型 acc: 0.773
车辆属性分析
支持多种车型、颜色类别识别 使用更强力的Backb ...
论文方向探索-02
一、创新思路刨根问底法此种方法最为直接,即知其然也要知其所以然。如果你提的小改进使得结果变好了,那结果变好的原因是什么?什么条件下结果能变好、什么条件下不能?提出的改进是否对领域内同类方法是通用的?这一系列问题均可以进行进一步的实验和论证。你看,这样你的文章不就丰富了嘛。这也是对领域很重要的贡献。
移情别恋法不在主流任务/会议期刊/数据集上做,而是换一个任务/数据集/应用,因此投到相应的会议或期刊上。这么一来,相当于你是做应用、而不是做算法的,只要写的好,就很有可能被接受。当然,前提是该领域确实存在此问题。无中生有是不可取的,反而会弄巧成拙。写作时一定要结合应用背景来写,突出对领域的贡献。
声东击西法虽然实际上你就做了一点点提升和小创新,但你千万不能这么老实地说呀。而是说,你对这个A + B的两个模块背后所代表的两大思想进行了深入的分析,然后各种画图、做实验、提供结果,说明他们各自的局限,然后你再提自己的改进。这样的好处是你的视角就不是简单地发一篇paper,而是站在整个领域方法论的角度来说你的担忧。这种东西大家往往比较喜欢看、而且往往看题目和摘要就觉得非常厉害了。这类文章 ...
论文方向探索-01
论文方向探索-01前言这周在完成小论文投稿的同时,也一直在考虑开题结合专业知识的问题,但在此之前,对这两者必须要有相当程度的理解才行。本周工作主要是进一步了解自动驾驶感知方向的相关算法和新兴技术,以及与其他方向的结合和发展,同时撰写开题报告。
目标识别算法方面基于计算机视觉技术的目标识别,主要目的是识别出图像中有什么物体,并输出这个物体在图像表示的场景中的位置和方向。对一个给定的图片进行目标识别,首先要判断有没有目标,如果没有目标,则检测和识别结束,如果有目标,就要进一步判断有几个目标,目标分别所在的位置,然后对目标进行分割,判断哪些像素点属于该目标。传统的目标识别算法的主要流程如下图所示:
传统的目标识别算法主要围绕特征选择和提取展开,通过设计人工特征算子,对输入图片进行特征提取。好的特征算子会使得物体类内之间的特征差距很小,而类间差距巨大,从而方便分类器将物体区分开来,实现计算机对不同目标的识别。深度学习进入该领域后,正是通过利用随机梯度下降法来不断更新神经元,而每一个神经元又是一个特征算子,从而不断训练出好的特征算子,提高分类能力。
在深度学习正式成为计算机视觉领域 ...
小论文投稿(试水)
前不久还在考虑开题报告的事情,本周看到导师发的学校对硕士研究生毕业成果要求,其中有一条是在统计源期刊(中国科技核心期刊)公开发表或正式录用学术论文1篇。想到手里正好有一篇竞赛获奖论文,于是了解了下有关期刊投稿方面的内容,开始着手准备。
国内七大核心期刊体系1.北京大学图书馆俗称“北大核心”;
2.南京大学“中文社会科学引文索引(CSSCI)”;
3.中国科学技术信息研究所“中国科技论文统计源期刊(CSTPCD)”;
4.中国社会科学院文献信息中心“中国人文社会科学核心期刊(CHSSCD)”;
5.中国科学院文献情报中心“中国科学引文数据库(CSCD)”;
6.武汉大学“中国核心期刊目录(RCCSE)”;
7.CNKI“中国引文数据库(CCD)”。
以下是各类期刊体系概况图:
目前世界上的论文权威性等级大致是这样划分的:
SCI源刊(SSCI源刊)>EI源刊>中文核心(南大核心-CSSCI、北大核心等)>EI会议、CPCI会议>国际级、国家级期刊>省级期刊>其他普刊。
在基础学科领域,SCI期刊在国内的认可度较高,而在工程技术领域EI认可度相对较高。相对中文核心期刊,SCI、 ...
开题相关心得
前言针对“基于机器视觉的运动目标特性分析及识别方法研究”这一题目,在知网、百度学术、Sci-Hub等网络知识平台,以及部分专利网站搜集了相关方向的文献资料后,对其进行了归纳总结,以期为后续论文开题及课题研究作铺垫。
通过分析论文摘要、关键词,快速了解全文的研究重心和工作方法。此外,对硕士、博士、期刊、专利等不同类别的文章作了简要的分析对比,对相关研究方向和领域也有了新的认识。
正文涉及知识点概要运动目标检测与跟踪是指在目标的运动信息未知的条件下,通过光学传感器采集的图像信息,分析出该目标的相关信息。目标检测是通过相关算法,得到有用的运动目标信息,是目标跟踪实现的基础。目标跟踪是在该基础上,在帧与帧之间建立运动目标的某些特征如位置、速度、纹理、颜色、形状等之间的联系,分析其运动状态。运动目标的检测算法主要是针对背景数据的建模与模型更新,而跟踪算法主要是针对目标数据的建模与模型更新。
运动目标分类方法主要分为三类:基于目标静态特征的分类、基于目标运动特性的分类和两种方法的结合。在现今的研究中还不存在通用检测方法,即还没有一种针对不同环境都能检测出完整动态目标区域的检测方法。并且 ...
机器人热点内容概要
写在前面机器人领域的研究方向总览1.传感器技术
基于多传感器信息的机器人路径规划
多传感器信息融合及其在机器人中的应用
基于传感器信息的移动机器人精确定位研究
移动机器人系统中传感器系统的采集及处理
2.控制系统及其控制算法
基于PID控制的机器人轨迹跟踪性能研究与比较
移动机器人的控制方法研究
轮式移动操作机器人的鲁棒跟踪控制器设计及研究
开放式机器人控制器的研究
智能移动机器人的智能控制
移动机器人神经网络控制研究
移动机器人模糊控制研究
移动机器人系统中嵌入式控制器研究
3.视频处理及视觉伺服控制
基于DSP的机器人视觉信息处理系统
主动视觉及其在机器人中的应用
机器人视觉伺服控制系统研究
图象特征提取技术研究
人脸识别技术及其在移动机器人中的应用
基于光流技术的移动机器人导航系统研究
精细视频压缩编码及其在移动机器人系统中的应用
视频采集系统研究
足球机器人视觉图象识别系统研究
视频的压缩编码及其在机器人系统中的应用
小波方法在移动机器人系统中的应用
4.网络机器人技术
视频网络传输及其在移动机器人系统中的应用
基于Agent的遥操作机器人控制器研究
基 ...
自动驾驶概要
行业现状粗略来说,自动驾驶公司可以分为两大类别:
一类是传统的车企(比如国外的大众,宝马,通用,丰田等,国内的长城,吉利等),新能源车企(比如特斯拉,蔚来,小鹏等)和Tier1(比如国外老牌的博世,大陆,安波福等,以及国内新兴的华为,大疆等)。这类公司的首要目标是量产,一般以L2级别方案为主,目前也在向L3级别扩展。
另外一类是一些方案提供商或者初创公司(比如Waymo,Mobileye,Pony.AI,Momenta,TuSimple等)。这些公司致力于发展L4级别的自动驾驶技术,面向的是诸如Robotaxi,Robotruck和Robobus之类的应用。
对于不同的自动驾驶级别,不同的应用场景,传感器的配置方案也不尽相同。对于L2级别的应用,比如紧急制动和自适应巡航,可以只采用前视单目摄像头或者前向毫米波雷达。如果需要变道辅助功能,则需要增加传感器对相邻车道进行感知。常用的方案是在车头和车尾增加多个角雷达,以实现360度的目标检测能力。对于L3级别的应用,需要在特定场景下实现车辆的完全自主驾驶,因此需要扩展车辆对周边环境的感知能力。这时就需要增加激光雷达,侧视和后 ...
RoboMaster视觉组学习整理(1)
前面序章(0)提到了代码框架,我觉得直接按照框架顺序讲不便于梳理逻辑,所以打算按照算法流程来讲解各部分代码。
算法流程介绍先看下流程图:
(未完待续。。。)