自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hali_Botebie的博客

一步一步来(严义雄),闻道有先后,术业有专攻,Github主页:https://hiyx.github.io, 服务器:https://gz.work.abiuni.com,Gitee:https://gitee.com/hiyanyx

  • 博客(619)
  • 收藏
  • 关注

原创 按关键字搜索自己的CSDN博客

搜索自己博客的功能在谷歌输入关键词,格式如下:<要检索的关键词> site:blog.csdn.net/<博客名>马氏距离 site:blog.csdn.net/djfjkj52

2020-02-28 19:38:15 272

原创 【Transformer-BEV编码(6)】Sparse4D-V3: Sparse-based End-to-end Multi-view Temporal Perception

论文:https://arxiv.org/abs/2311.11722代码:https://github.com/HorizonRobotics/Sparse4D其他:https://zhuanlan.zhihu.com/p/637096473如果不看V1 和V2 是无法理解V3 的,因为V3只是改进了V2的一些东西。增加了去噪模块,质量评估模块和解耦头。其他的还得看V2 哟!

2024-04-23 11:25:04 713

原创 【Transformer-BEV编码(7)】Sparse4D源代码,在mmdet里面增加cuda的插件deformable_aggregation

双线性插值的梯度更新原理基于链式法则,即在反向传播过程中,通过计算损失函数对插值结果的梯度,进一步求得插值过程中各参数(如输入数据、采样位置、权重等)的梯度。这个函数主要用于在图像处理中,当需要从一个浮点坐标获取像素值时,可以通过这个函数基于其最近的四个整数坐标上的像素值进行插值计算,从而得到一个估计值。的Kernel,并传递给它相关的数据和参数。,bilinear_sampling 用于 推理过程中的计算,在训练过程中,需要保证这个经过双线性插值后,权重依然可以被更新,因此需要写相关的代码。

2024-04-22 16:43:19 636

原创 【QT开发(18)】QT for android,安卓手机蓝牙遥控器,用来控制遥控车

因为云端配置了QT for android,没有其他开发安卓的IDE,本着简单事情简单办的原则,在QT 上开发,还可以跨平台部署,很好啊。界面划分为三个 QWidget,伸展因子 (Stretch Factor)比例分别是3:2:6.例如左边的标度盘是15,右边刻度盘是50,串口发送。发送左右两个标度盘的数值(范围:10-99),在。发送前进、后退、暂停等串口指令分别发送。2、蓝牙QT for android。3、公众号:果果小师弟出品,蓝牙小车。接受其他蓝牙发送过来的串口信息。蓝牙打开、搜索和连接。

2024-04-18 09:24:28 257

原创 【数据集(2)】A Survey on Autonomous Driving Datasets: Data Statistic, Annotation, and Outlook

0.论文信息标题:A Survey on Autonomous Driving Datasets: Data Statistic, Annotation, and Outlook作者:Mingyu Liu, Ekim Yurtsever, Xingcheng Zhou, Jonathan Fossaert, Yuning Cui, Bare Luka Zagar, Alois C. Knoll机构:TUM、俄亥俄州立大学原文链接:https://arxiv.org/abs/2401.01454。

2024-04-12 20:39:21 109

原创 【Transformer-BEV编码器(5)】CVPR2023 AeDet: Azimuth-invariant Multi-view 3D Object Detection

LSS 的多视角3D 中,因为忽略了辐射(径向方向)对称性,导致优化困难。为了保留 BEV 特征的固有属性并简化优化,我们提出了方位角等变卷积(AeConv)和方位角等变锚点。AeConv 采用的网格是在辐射方向,因此它能学习到方位角不变性的BEV 特征。提出的anchor 可以开启检测头去学习预测方位角相关性的目标。另外,我们引入了相机解耦虚拟深度去统一深度预测(不同相机内参的图片)。大幅超越了最近的多视图 3D 物体检测器,例如 PETRv2 和 BEVDepth。

2024-04-12 20:19:56 518

转载 【Vector-Map-路径规划(C1)】Open Planner 工程-论文Open Source Integrated Planner for Autonomous Navigation

Global Planner处理路径规划。vector map 矢量地图start position 起点goal position 终点输出:最短,最少cost的路径支持复杂的vector map,但这篇论文里用的是简单的。全局规划器处理路径路由。该算法以矢量地图、起始位置和目标位置为输入,利用动态规划方法寻找最短或最低成本路径。

2024-04-11 17:42:58 10

原创 【Vector-Map-路径规划(0)】卷首语

我基于论文《VectorMapNet: End-to-end Vectorized HD Map Learning 》的输出来看,论文中说,在矢量地图中,我们表征地图元素作为一系列的几何线,它们是容易去连接下游任务的,例如运动预测,编码这些几何线与一系列的预测任务。输出包括道路边沿,车道线和人行横道。看图片右边的情况,经过Polyline Generator 后,输出Polyline。这是由关键点+类别组成的。这就和车道线的关键点检测方法有点类似了。

2024-04-11 16:59:47 920

原创 【Head-DETR系列(3)】2023CVPR最佳论文奖:UniAD: Planning-oriented Autonomous Driving 规划导向的自动驾驶

现代自动驾驶系统的特点是将任务按顺序模块化,即感知、预测和规划。要么为单个任务部署独立的模型,要么用不同的head 设计一个多任务任务网络。他们可能会遭受累积错误AE或缺乏任务协调deficient task coordination。相反,我们认为,为了追求最终目标,即自动驾驶汽车的规划(planning of the self-driving car),应该设计和优化一个有利的框架。

2024-04-10 23:13:39 964

原创 【Transformer-BEV编码器(5)】CVPR2023 时空BEV金字塔:TBP-Former: Learning Temporal Bird’s-Eye-View Pyramid

以视觉为中心的联合感知和预测(PnP)成为自动驾驶研究的新兴趋势。我们提出了一种用于以视觉为中心的 PnP 的时间鸟瞰金字塔变换器(TBPFormer),其中包括两种新颖的设计。首先,提出了一种姿态同步的 BEV 编码器,可以随时将具有任何相机姿态的原始图像输入映射到共享且同步的 BEV 空间,以实现更好的时空同步。其次,引入时空金字塔变换器来全面提取多尺度 BEV 特征,并在空间先验的支持下预测未来的 BEV 状态。

2024-04-10 22:53:01 844

原创 【Transformer-BEV编码器(4)】CVPR2023丰田研究院Viewpoint Equivariance for Multi-View 3D Object Detection -视点等变化

BEV 作为cornerstone capability ,非常重要。多视图一致性multi-view consistenc——> 3D 场景理解和几何学习——> 利用 3D multi-view geometry+ 通过viewpoint equivariance ——>改进定位。利用 query-base 的transformer 架构和 3D 场景进行编码(通过使用来自 3D 透视几何的位置编码来增强图像特征)。我们在输出级别设计,这使得能够在训练期间生成多个虚拟帧,以通过强制来学习。

2024-04-09 14:33:16 946

原创 【迅为iTOP-4412-linux 系统制作(4)】ADB 或者 TF 卡烧写测试

编译生成的内核镜像uImage 和设备树 dtb 文件“exynos4412-itop-elite.dtb”已经可以使用了。

2024-04-08 17:29:18 764

转载 【迅为iTOP-4412-linux 系统制作(3)】根文件系统移植-Ubuntu 20

大家不要看着ubuntu就怕了,其实移植里面ubuntu是相对最简单,步骤最少的了。Ubuntu官方针对不同的CPU架构提供相应的ubuntu base根文件系统,有amd64(64位X86)、armhf、i386(32位X86)、powerpc、ppc64el等,我们只需要修改下相关配置下即可放到板子上运行。下面是移植好的仓库地址,https://github.com/jason416/ubuntu-base-20一、下载ubuntu-base。

2024-04-08 17:22:20 10

转载 【迅为iTOP-4412-linux 系统制作(2)】根文件系统移植-BusyBox

文件系统是一个用来组织和管理文件的系统,有了文件系统之后,就可以轻松操作存储在存储介质上的文件,比如文件的增、删、查、改等基本操作。文件系统的格式有很多种(fat32、ext2、ext3、ntfs等)。根文件系统:最顶端称为根,在Linux上用“ \ ”表示,然后将一个按照特定目录组成的文件系统挂载到根上,这个系统就叫做根文件系统。Busybox是一个集成大量Linux命令的工具,例如ls,cat,cp等命令,使用busybox可以很容易构建出根文件系统需要的。

2024-04-08 17:21:44 12

原创 【迅为iTOP-4412-linux 系统制作(1)】linux内核移植-5.4并适配设备树

服务器:Ubuntu 18目标开发板CPU (Exynos4412,四核Cortex-A9,主频为1.4GHz-1.6GHz)RAM (1GB 双通道 DDR3)内核代码下载Note:移植好的源码见github仓库的iTop4412分支。

2024-04-08 17:08:03 895

原创 【迅为iTOP-4412 linux系统制作(0)】卷首语

17年买的4412 开发板,最近想花半天时间来把“linux系统“重新部署一遍,毕竟都2024年了。当初为啥买 4412?因为,4412是三星的经典处理器。2017 年 6 月份左右,迅为电子 iTOP 系列开发平台 iTOP-4412 的 SCP 核心板,得到开源软件 Linux 的官方支持,这意味着从linux官方 www.kernel.orrg下载的更新内核稍加修改就可以直接在 ITOP4412 上运行。

2024-04-08 14:08:16 173

原创 【相机方案】智能驾驶的域控采用的“串行器和解串器”方案的总结(持续更新),SerDes,GMSL

SerDes是Serializer/Deserializer的缩写,即串行器和解串器。由于同轴线的传输延迟几乎可以忽略不计(ns级别),相当于将原来只能短距离传输的高速并行信号(MIPI/I2C/CLK等)的传输距离延长,真正做到高带宽、低延迟、长距离的数据传输。

2024-04-08 12:23:15 866

原创 【Attention(0)】卷首语,从“SEAttention注意力效果秒杀CBAM”聊到“Transformer”

Attention 注意力是一个非常有价值的机制,例如我们耳熟能详的。我们常常看到这样的标题。其实,CBAM 是一种“卷积神经网络注意力模块”(Convolutional Block Attention Module, CBAM)。这也是一篇论文《CBAM: Convolutional Block Attention Module》。CBAM旨在自动学习输入特征图的空间和通道注意力权重,从而更好地捕捉图像中的局部信息和全局上下文。CBAM包括两个主要组成部分: 空间注意力模块和通道注意力模块。

2024-04-07 15:47:47 573

原创 【Transformer-BEV编码器(3)】BEVFormer v2: Adapting Modern Image Backbones to Bird’s-Eye-View Recognition

现有的最先进的BEV检测器通常与VOVnet等深度预训练主干网有关,阻碍了蓬勃发展的图像主干网和BEV检测器之间的协同作用。为了解决这一限制,我们通过引入透视图监控,优先考虑简化BEV探测器的优化1、作者提出了典型的BEV模型的工作流程2、作者说大家关注视觉转换模块和下游任务,但是对于 backbone 的关注缺乏。作为一个前沿和高需求领域,自然会将现代图像主干引入自动驾驶。令人惊讶的是,研究界选择坚持使用VOVnet[13],以享受其大规模深度培训前[26]。

2024-04-03 15:06:58 862

原创 【透视图像目标检测(0)】卷首语

其实,透视图像目标检测很早就开始研究了,在博客笔记里面也躺了很多的坑没填,这个领域是一个很重要的领域,特别是在BEVFormerv2 使用透视监督后,透视的算法也又有应用的新地方了。把个人理解的脉络梳理出来,供大家参考,欢迎指正!

2024-04-02 15:50:11 1303

转载 pybind11混合CUDA+Python+C++编程

在cu文件里写如下代码,注意头文件包括头文件cuh里写这个,注意必须写上 __declspec(dllexport) ,不然生成的lib文件里没有该函数。

2024-04-01 17:09:33 7

原创 【C++学习(27)】一个c++类的实例“多线程“运行的例子

一个类本身并不直接“用于多线程运行”。但是,类的实例(即对象)可以在多线程环境中被使用,并且类的设计可以影响它在多线程环境中的表现和易用性。在多线程编程中,重要的是要理解线程安全和并发控制的概念。线程安全意味着类的实例可以在多个线程中同时访问而不会导致数据不一致或其他问题。要设计一个线程安全的类,通常需要考虑如何同步对共享资源的访问,以避免竞态条件(race conditions)和其他并发问题。此外,一些设计模式(如单例模式、观察者模式等)在多线程环境中使用时需要特别注意线程安全性。

2024-04-01 15:51:35 246

转载 【C++学习(26)】RAII + 接口模式对生产者消费者模型进行封装

本次课程学习了 RAII 接口模式下的生产者消费者多 batch 实现。把前面学的知识全都串起来了,首先通过 create_infer 创建 infer 资源并对模型进行加载,这是 RAII 体现,其次该函数返回的是接口类的智能指针,因此用户只能看到 forward 这一个接口,这是接口模式的应用。

2024-03-29 17:11:28 9

转载 【C++学习(25)】RAII+接口模式对代码进行有效封装

这次课程我们学习了 RAII + 接口模式对代码进行封装,我们模拟了一个非常常见的推理类,首先我们分析了其存在的问题,那就是实例化 Infer 类,去调用 load_model、forward 等函数时,需要在函数去写异常逻辑处理,非常让人头疼。我们首先通过 RAII 将资源在构造函数中就进行初始化,避免了外部获取资源后还要调用相关函数去做初始化,其次我们采取了接口模式,将接口纯虚类与具体实现类分离开,让使用者只考虑具体的接口,而不必关心具体的实现。

2024-03-29 17:09:33 11

转载 BEV超视距的范围内,增加一个原本传统的算法,用2D算法去跟踪更加远的物体,但是当它进入到了BEV体系之后,我们可以在几何上做变换,认为它是同一个物体。

如果假设有无限的、准确的结构化数据,确实是不需要激光雷达,可以快速的训练出来一个模型,这个模型因为数据量很大,可以无限接近激光雷达的精度,但因为现在我们的所得到的数据量有限,我们就想又想要得到一个不错效果的车,那么激光雷达放进来,它就是一个好又快、显性度高的补充。成本会增加,难度是在变,大成本是在增加。那么在持续性这个层面,传统车厂要去克服体制的原因,这个情况就是说,我们需要有会做决定的人,他知道要持续的、不断为这个事情,为训练数据收集数据形成数据闭环,去不断的优化算法,这个事情要持续的迭代和升级。

2024-03-29 11:06:35 7

转载 【C++学习(24)】生产者消费者模式 future、promise、condition_variable

本次课程我们学习了生产者和消费者模式,这在我们模型推理过程中非常常见,生产者线程负责读取图片,拿到推理结果进行画框可视化,消费者线程负责模型推理,将结果返回到生产者线程。我们在学习生产者和消费者模式过程中,解决了三个问题:首先是共享资源访问问题。

2024-03-28 15:01:46 22

转载 【C++学习(23)】thread的join、joinable、detach以及promise、future线程知识,以及深度学习类成员函数作为线程启动函数的使用:使用类成员函数的指针

本次课程我们学习了线程的一些基本知识,包括创建线程、启动线程、线程启动函数参数传递以及类成员函数作为线程启动函数。线程启动后可以 join 也可以 detach,线程未启动则不能 join,join 会等待子线程执行完成,而 detach 会分离主线程和子线程,这时子线程成为了野线程,主线程没法 join 等待野线程,该线程会交给系统管理。

2024-03-26 19:13:00 13

原创 Function与Module的差异与应用场景,symbolic() 和 forward() 是什么关系?

在使用自定义操作时,如果操作可以用图形表示(例如,乘法、加法等),那么应该提供symbolic方法。在这个例子中,我们定义了一个简单的操作,它返回输入的平方。在深度学习框架中各自扮演着不同的角色,但它们都是模型定义和计算过程中的关键部分。它们之间的关系主要体现在它们各自的作用以及在整个模型定义和计算流程中的位置。在PyTorch中,自定义操作可以通过继承torch.autograd.Function类来实现,同时需要实现该操作的符号(symbolic)表示。

2024-03-21 17:23:36 249

原创 位置参数(Positional Arguments)和关键字参数(Keyword Arguments)

位置参数(Positional Arguments)和关键字参数(Keyword Arguments)在函数调用和定义时扮演着不同的角色,它们的主要区别体现在以下方面:传递方式:位置参数:通过参数在函数定义和函数调用中的位置来传递值。它们按照在函数定义中出现的顺序来接收值。例如,在函数 def func(a, b): 中,a 和 b 都是位置参数。在调用 func(1, 2) 时,1 传递给 a,2 传递给 b。关键字参数:通过参数名来传递值,而不管它们在函数定义中的位置如何。

2024-03-20 18:12:50 382

原创 开机自启动,自动运行的脚本具有管理员权限(即root权限),但不希望手动输入密码

板端的发布程序自启动:1、可以选择将应用程序和依赖打包到rootfs中,或者放到单独的eMMC分区中2、自启动,在rootfs的 /etc/init.d/rcS 或者/etc/inittab3、配置systemctl 自启动。

2024-02-22 14:00:23 953

转载 【并行计算(2)】谈谈并行计算的应用:卷积算子是公认最难优化的算子,除了卷积操作,通用矩阵乘法GEMM运算也是深度学习算子中的重要操作。

卷积算子是公认最难优化的算子,并且占据CNN操作90%以上的计算时间。相比传统CPU架构的简单串行执行逻辑,卷积算子在众核架构上的并行优化具有更大的挑战。

2024-02-20 17:16:35 38

原创 【目标航迹管理(1)】基于d-s证据理论信息融合的多核目标跟踪方法

我们为什么会有这个议题?因为航机起始方法。处理目标航迹起始的方法主要分为两大类:批处理和序贯。在杂波密度比较高的环境下,比如有红外卫星或地面雷达监视区域,则选用批处理方法;而在杂波密度相对比较小的区域,则选用序贯方法会比较合适;

2024-02-20 16:58:06 844

原创 【密码学】使用mkcert安装CA、自签名ssl证书,配置nginx的https 证书笔记

mkcert签发自签名证书的教程就已经结束了,rootCA.crt可以保存在一些容易获取到的地方,比如网盘上,这样去到新的地方就可以安装根证书确保访问安全了。CA(Certificate Authority,证书授权)是由认证机构服务者签发,是数字签名的技术基础保障,也是网上实体身份的证明,能够证明某一实体的身份及其公钥的合法性,证明该实体与公钥二者之间的匹配关系。用户进行证书申请:一般先生成一个私钥,然后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的CA 根证书来签发证书。

2023-12-20 16:14:00 1912

转载 【密码学】网站与用户加密通信流程 ca证书公匙加密工作流程 签名原理

但总的来说,CA使用自己的私钥对证书进行签名,而浏览器使用根CA的根公钥来验证证书的签名,以确保证书的真实性和完整性。是的,一旦数字证书验证成功,用户的浏览器会生成一个随机的对称密钥,并将其使用 Bob 的公钥进行加密,然后将加密后的对称密钥发送给 Bob 的服务器。这个过程中,数字证书的主要作用是确保 Bob 的网站确实是合法的网站,且用户与该网站之间的通信是加密的。在接收端,可以使用CA的公钥来解密数字签名,得到原始的哈希值,然后与接收端独立计算的哈希值进行比较,以验证证书的完整性和真实性。

2023-12-20 16:13:42 148

转载 I2C通信详解(1)

I2C 为集成电路提供了一种在同一印刷电路板(PCB)上进行通信的简单方法。I2C 由一个简单的物理层组成,仅需要两个引脚和极少的外部组件。与 SPI 等通讯标准相比,I2C 的一个优点就是内置通信协议,使器件之间轻松进行无差错通信。

2023-12-06 11:03:42 116

转载 Hourglass:代码分析

创新之处在于:Stacked Hourglass没有针对人体的拓扑结构设计一些额外的网络层或者优化器,而是尽可能地利用神经网络本身的表达性,来完成姿态估计的任务。这使得其更加的简洁优美,也更加的直接和端到端(end-to-end)。

2023-12-01 10:08:41 84

原创 Hourglass:Stacked Hourglass Networks for Human Pose Estimation人体姿态领域算是比较早也比较经典的一个模型

我们将该架构称为基于池化和上采样的连续步骤的“堆叠沙漏”网络,这些步骤用于生成最终的预测集。我们展示了重复的自下而上、自上而下的处理与中间监督相结合对提高网络性能至关重要。

2023-11-30 17:14:03 421

原创 【端到端可微1】端到端的训练,使用反向传播,要求过程可微分

这系列文章将逐步完成一个端到端可微的模型,挖个坑。项目开启时间:2023-07-04但是一直拖到了11月30,最近同事讨论问题才想起来继续实施。

2023-11-30 10:10:00 125

原创 【端到端可微2】链式法则,论文:Introduction to Gradient Descent and Backpropagation Algorithm

梯度下降深度学习的大致步骤( 构建神经网络—> 数据拟合 --> 选出最佳模型)选出最佳模型的方式,其实就是利用梯度下降算法,选出损失函数最小的那个。在深度学习当中,由于存在输入层,隐藏层,输出层,因此计算也会更加繁杂。正向传播,可以知道神经元的输出。目标函数,也叫做损失函数。计算正向传播的结果和真值结构的差异的公式。利用反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值张量的梯度梯度是为了对权值的优化提供依据。

2023-11-30 10:04:03 78

原创 【寒武纪(6)】MLU推理加速引擎MagicMind,最佳实践(三)使用框架模型ONNX

支持情况Pytorch 只支持 1.6.0 导出。

2023-11-29 17:34:16 168

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除