- 博客(37)
- 收藏
- 关注
原创 PillarNext 论文解读
这篇文章以算力消耗为单位去评估了不同的局部点云聚合的方式,同等算力消耗下pillar的表现较好,这个打破了固有的印象;还发现了,图像中的好的2D的网络,直接用在点云上,也能大幅度提升检测效果。点云的稀疏和不规则的特性,大多数都是先把点云转化为规则的形式,voxel, pillar, rangeview等。一般会认为这些划分,会难免丢失很多信息。因此最近也有很多方法是结合point和grid的方式。很多3D检测方法,都是在研究如何更好的去转化点云,提取局部的特征。但是比较少的在研究网络。
2023-09-14 14:37:09
421
原创 DSVT 论文阅读
高效且方便部署的稀疏点云3D backbone的设计很关键,和稀疏卷积相比,attention机制更适合长距离的关系,而且更容易在硬件上实现部署。这个paper带来的是,Dynamic Sparse Voxel Transformer,单步长,基于窗口的网格的Transformer的backbone。为了方便的并行的处理稀疏的点云,这里根据稀疏性,划分成很多局部的区域,然后并行的计算局部区域的特征;考虑到不同区域之间的交互,这里设计了一个旋转的区域划分策略;
2023-07-26 11:59:16
691
原创 tensorrt学习
第一步生成trt engine,第二步使用engine进行推理;基本是按照上面的步骤,include相关的函数,类,进行api的调用。
2023-07-04 11:40:52
211
原创 CUDA学习_2
根据<<<..>>>中的参数,Warp调度器启用线程thread。>根据<<<..>>>中的参数,把block分配到SM。>把32个thread分为1组,称作一个Warp。>每个Warp分配到32个core上运行。nvcc 代替gcc。grid,执行在device上;Thread,执行在core上;>grid分配到device。block,执行在SM上;
2023-06-25 11:13:10
89
原创 Fully Sparse Fusion for 3D Object Detection
当前的3D目标检测的检测头都是基于lidar的bev开发的,bev的featuremap都是dense的,和距离成平方的复杂度关系。目前在纯lidar的目标检测下,已经有很多稀疏的方法(比如FSD/Voxelnext/Flatformer等等),适用于长距离的场景。这篇paper,把稀疏的方法拓展到视觉融合的路线中。具体的利用图像中的instance segmentation的方法,并使用这些instance进行query。
2023-05-26 11:50:48
831
原创 bevfusion transformation 分析
bevfusion是在mmdetection3D的代码框架上的二次开发,但是基于的版本是比较早期的版本,坐标系系统可能比较混乱。如下具体分析下训练过程中的坐标变换,点云数据增强、图像3D数据增强、LSS过程中如上两个变化的使用。
2023-05-10 13:53:03
913
1
原创 卡尔曼滤波
因为运动模型过程中存在不确定性,传感器也存在一定的不确定性,卡尔曼增益就是评估这两种不确定性的权重,用于后续的状态和不确定性的更新。循环: 如上的预测、观测、更新是一个循环进行的过程,系统的状态量会越来越接近真值。更新:对比预测状态和观测状态,计算卡尔曼增益,计算新的状态量,更新不确定性矩阵。预测: 根据运动学模型,对状态量和不确定矩阵进行预测。初始化: 初始状态量、初始不确定矩阵。观测:通过传感器测量得到新的观测状态。
2023-04-27 22:17:50
74
原创 3.1_多目标跟踪定义
滤波问题,因为测量不准或者不完整,估计单个目标的运动状态。位置、运动状态、其他感兴趣的状态。1. 目标的数量2. 每个目标的状态。
2023-04-24 15:34:07
67
原创 自动驾驶论坛21_学习
2. 公开数据集上的涨点,并不一定更有力,而是要在一些关键目标上有提升,比如和规控真正有交互的目标上要有提升。1. 不能只靠深度学习算法,也要依赖一些传统的精度可能不是特别高的算法,做一个很好的融合,以保证安全或者效率。目前的情况还是不能满足aeb的要求,目前工业界更多的是保准确率,放弃一定的召回的指标,保证客户的舒适性。完成自动驾驶功能,没有必要去解决所有的问题,关注真正有价值的感知系统,需要结合上下游。激光雷达的点云的corner case,雨水,雾气,高反,鬼影等问题的处理。l4,激光是有必要的。
2023-04-19 23:09:40
102
原创 图森自动驾驶22_学习
各个传感器进行目标检测的感知,然后再进行目标的追踪和融合。感知是为了下游任务规控任务服务的,概率化的输出很关键。基于概率化输出的规划规则样例。
2023-04-19 21:54:48
91
原创 cs231n_attention and transformer
attend图像的feature map,然后得到相似性矩阵、相似性权重、attend后得到的context matrix。1. 每次一个新的相关性vector计算,不是使用同一个,不存在bottleneck的问题。1. 长度不能太长,context vector 无法保存太多的信息;作用于一个set,无关顺序。self attention,可以处理很长的顺序、可以并行处理,但是比较费资源。2. 一个一个生成,无法一下子生成,效率不够高;2. 每次的相关性矩阵,可以attend到不同的位置。
2023-04-17 22:49:08
213
原创 cs231n_卷积神经网络
线性神经网络,在处理图像的时候,会把图像展开成1d的vector,这个就破坏了图像本身的spatial的结构,因此conv的神经网络针对这个而设计。卷积层的表现形式,和传统cv里的filter很像,特定的filter,提取特定的特征。
2023-04-14 23:31:27
136
原创 cs231n_全连接神经网络
可以通过一些传统的方法,提取图像的特征,然后在新的特征空间下,进行分类的任务。1. color histogram,不考虑spatial信息2. hog,histogram of orient gradient,考虑spatial设计特征提取器,并提取特征特征压缩处理线性的SVM机器学习问题:特征提取,比较复杂,需要经验。只有后续的线性分类器可以训练,没有充分利用数据。
2023-04-13 15:11:16
98
原创 VoxelNext,全稀疏的3D目标检测网络
当前3D目标检测模型,在检测部分都是沿用2D的方法,在dense的特征图上,通过预设的anchor或者center来预测3D的框,本文的创新是利用点云的稀疏的特性,在通过spconv提取特征后,不转化到dense的特征图,直接在稀疏的特征上进行3D框的预测。经验证,在常用的公开数据集上都取得了很好的效果。以常用的centerpoint模型为例,其中有,sparse to dense,虽然能有效工作,但是带来如下问题:计算资源的浪费、流程复杂、需要nms后处理。
2023-04-12 15:43:31
2610
原创 常用的工具库
来自HK Mars实验室,无目标的点云和图像的对齐优化,自动检测图像和点云中的edge,定义edge偏差函数,优化这个函数,实现对齐,实现更高精度的外参的标定。ros的package,调用opencv的camera calibration的方式。一套完整的标定系统,其中有手动调整内外参模式,可以优化内参的数据。用过,gps-utm坐标的转换。有windows和linux版。
2023-03-29 16:23:50
89
原创 点云到图像的投影
1. 利用lidar和camera之间的外参矩阵,将雷达坐标系下的点投影到相机坐标系下。相机的内参,包含畸变参数,k1-k5;包含cx,cy,fx,fy。2. 利用相机的内参矩阵,把相机坐标系下的点投影到像素平面。外参矩阵是一个4x4的齐次旋转矩阵。
2023-03-25 20:08:33
1763
1
原创 手眼标定方法
后续扩展,可以用在自动驾驶领域,实现多个传感器之间的外参标定,比如camera 和 lidar,camera和imu, lidar和imu等等。最初是用在工业机器人领域,标定安装在末端执行器上的相机安装位姿。多组数据获取后,对X进行求解。
2023-03-25 18:59:59
110
原创 坐标系变换
如上的表达式就可以解决,不同传感器之间外参的相互转化,相机坐标系到世界坐标系,雷达坐标系到世界坐标系,IMU、Radar等等。坐标B中的点到坐标系A中的表示,有平移和旋转。坐标系B中的点在坐标A中的表示,只有平移。坐标B中的点在坐标A中的表示,只有旋转。坐标系B 相对坐标系A的旋转。3D点在某个坐标系中的表示,
2023-03-25 12:08:52
179
原创 bevformer paper阅读
回顾视觉感知,1. 简单方法,各个相机,2D做感知,然后进行后处理,融合和变换到3D。2. 多相机BEV的方法,从下而上,预估图像深度,投影2D feature到3D上,然后用3D的方法。本文的方法,3. 不依赖深度,直接利用transformer的attention机制,获取bev的feature map。4. 在BEV上,更好融合空间和时间上的特征,甚至多传感器。
2023-03-21 11:21:03
135
原创 DETR paper阅读
目标检测新范式,原先的方式不是直接的,通过anchor或者center,以及相对anchor或者center的偏差来间接的得到目标,这里直接回归最终的结果,省去一些转化的过程。这里的关键是定义一个bipartite matching loss,用于网络的训练。在COCO数据集上的表现,DETR可以和Faster RCNN有接近的表现。大物体上表现更好,但是小物体表现不好。需要更久的训练,而且需要额外的辅助loss。
2023-03-21 10:01:02
142
原创 cs231n_训练网络
xavier,初始化, Variance(input) = Variance(output),对tanh可以,对relu不合适。很小的随机数,对一般深度的网络是ok的,但是太深的网络不行,深度增加,activation逐渐变-,梯度变0;kaiming,初始化,如果使用resnet,第一个层用kaiming初始化,后续的都设为0.不是以0为中心,如果输入都是正的, 所有weight的梯度是同一个方向,优化只能zigzag。容易过饱和,梯度传递困难,梯度消失,优化困难。转化为,-1-1,以0为中心。
2023-03-14 14:28:00
106
原创 cs231n_反向传播
反向传播,需要计算loss的梯度,然后对weights进行更新,以便优化loss。2. loss更新,重新来一遍,无法模块化。通过计算图,进行模块化,简单化的计算。下游梯度 = 局部梯度 x 上游梯度。1. 参数太多,很复杂。3. 模型太大,更复杂。
2023-03-14 14:06:06
57
原创 cs231n_深度学习软硬件
可以自定义函数,并自定义梯度的计算,这样pytorch在使用这个函数的时候,整个函数就变成一个单独的节点,而不是拆散变为基本的计算单元。torch.nn,定义网络结构,定义loss,定义optimizer,high level的api,大部分常用的网络结构都可以这么操作。训练迭代:前向传播,计算loss,loss梯度计算,调用optimizer,更新weights,循环。,可以模块化设计的网络结构,可以保存weight和状态。,可以建立计算图,并自动的计算梯度,可以用于反向传播。
2023-03-13 17:27:56
144
原创 cs231n_经典网络结构
AlexNetVGGGoogleNetMobileNet下采样方法:上采样方法:增加感受野的方法:3. dilation提高网络速度的方法:
2023-03-13 16:10:01
58
原创 cs231n_神经网络
神经网络分类器,特征提取和分类都通过网络自己学习,没有之前的人工设计的特征提取器。传统的分类器,进行特征的转换,叠加多种特征,然后使用线性分类器进行分类。前几层,学习各种template,推理就是template的匹配。mlp, multi layer perceptron,全连接层。中间增加relu,作为激活层,增加网络的表达能力,增加非线性。权重的大小,表现当前层输出某个位置的信息对后续位置的影响。输入,中间,输出层组成。1. 笛卡尔变成极坐标。
2023-03-11 21:41:31
28
原创 CS231n_损失函数的优化
每个weight,新增很小的值,求解结果,然后求解相对精度。weight增加,计算量太大,而且不精确。梯度下降,是在小的batch上进行的,没法计算所有的数据,然后进行一次完整的反向传播。记录历史momentum,当前梯度求平均,用来抑制各个方向不均匀。Momentum记录过去的梯度,抑制随机噪音,超越局部最优点。3. 随机性,minibatch无法代表整体。求解梯度,沿着下降最快的方向更新参数。随机搜索,求取一定次数内的最小值。1. 不同方向梯度差的较多。4. batch大小。
2023-03-10 17:59:32
103
原创 CS231n_线性分类器
线性分类器的weight,resize之后也可以变成template或者filter的式样。常用的正则方法:L1,L2, Dropout, BatchNormalization等。目标概率分布已知,求解当前概率分布和目标概率分布的相关性,并进行优化。加入正则,控制不同的weight,但是loss相同。训练的过程就是优化损失函数,以获得更好的模型。图像,没有保持原始的尺寸,被压缩成向量。正确类别的得分要比其他的都要高。2. 向量空间的样本划分。1. 用于防止过拟合。2. 加入规则的方法。
2023-03-10 15:43:11
58
原创 点云数据增强及预处理
数据增强:1. random world flip:沿着x或者y轴,翻转点云点云的x或者y,要翻转3d box中心的x或者y,要翻转3d box的朝向要翻转point segmentation label,点云的相对顺序没有发生变化2. random_world_rotation:沿着点云原点,旋转点云点,x,y,绕z轴旋转3d box,绕z轴旋转,中心和朝向都要变化point segmentation label,点云的相对顺序没有发生变化3. random_world_scaling
2022-04-02 17:57:27
3381
原创 安装nvidia drivers, cuda toolkit, cudnn, tensorrt
在RTX3070的机器上安装nvidia深度学习大礼包nvidia driver 安装ubuntu-drivers devicesdriver : nvidia-driver-510 - third-party non-free recommendeddriver : nvidia-driver-465 - third-party non-freedriver : nvidia-driver-460 - third-party non-freedriver : nvidia-d
2022-03-17 19:53:51
1338
原创 Lidar Object detection
OpenPcdet Backbone 2d & RPNAnchor based vs Center based RPNSSD anchor basedCenterNet anchor freeSECOND Voxelization, Voxel Feature Extraction,3D SpconvConv, Map to BEVSECOND backbone 2dSECOND RPNCenterPoint backbone 2dCenterPoint RPNAnchor based vs Ce
2021-10-28 14:19:18
3886
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人