mamba模块的简单原理
本文记录Mamba模型的学习。参考资料 提出的目的新的模型的出现,必然是为了解决过去模型的不足。 Transformer在预测工作时,需要计算之前所有tokens的自注意力矩阵,这个工作的计算量时相当大的。也就是说预测时速度很慢,但是由于Transformer可以并行计算,所以训练非常快。 RNN 推理快,但是训练慢(不能并行计算),而且记忆时间不长。那么我们就想有一种模型,训练也快推理也快。还有一定的记忆时长。 由简入深 状态空间模型 离散化:零阶保持器 循环表示循环表示用来推理 卷积表示卷积表示用来训练 结构化状态空间模型(S4)引入HiPPO(Hungering Hungry Hippo),用来使得A保持大容量记忆。 其它改进有选择地保留信息(Selectively Retain Information)扫描操作(The Scan Operation)硬件感知算法(Hardware-aware Algorithm)
雷达相机的标定
主要记录使用opencalib来标定相机和激光雷达。在一般的多传感器融合方案中,激光雷达投影到相机的思路是应用最广泛的。 Opencalibgithub链接该仓库集合了各种传感器标定的实现方案,大部分由C++实现,部分用python实现视觉的特征提取。 12345678910SensorsCalibration|-- SensorsX2car|-- ...|-- lidar2camera |-- auto_calib |-- ... |-- manul_calib |-- data |-- include |-- src (1)例如我们选择用手动标记雷达到相机的方案。 12345cd lidar2camera/manul_calibmkdir buildcd buildcmake ..make (2)进行标定 12cd /PATH_TO_manual_calib/./bin/run_lidar2camera data/0.png data/0.pcd data/center_camera-intrinsic.json...
nn_trick
主要记录一些深度网络升点的技巧。参考资料 升点AI performance = data(70%) + model(20%) + trick(10%),数据是对AI性能影响最大的。 数据处理 数据增强 (Data Augmentation)(1)NLP:回译,词性替换(2)CV:resize、 crop、flip、ratate、blur、HSV变化、affine(仿射)、perspective(透视)、Mixup、cutout、cutmix、Random Erasing(随机擦除)、Mosaic(马赛克)、CopyPaste、GANs domain transfer等 pseudo label / meta pseudo label (伪标签,半监督学习,比赛常用)(1)pseudo label:伪标签是一种半监督学习方法,旨在利用有限的标注数据和大量的未标注数据来提升模型的性能。其核心思想是通过一个初步训练的模型对未标注数据进行预测,并将这些预测结果作为“伪标签”,然后将这些伪标签与标注数据一起用于进一步训练模型。(2)meta pseudo label...
MOT任务的主要流程
主要记录MOT任务的大致流程,包括检测,追踪,评价,可视化中的一些细节 评价对于MOT任务,业界一般采用Trackeval来进行计算。本节以测试MOT17的结果为例,简要介绍一下其使用细节。 选择要评价的数据集常见的公开数据集都以Trackeval作为自己的官方评价工具,提供一个主函数文件。MOT17也是如此,我们在Trackeval库中可以找到run_mot_challenge.py文件。 1python scripts/run_mot_challenge.py --BENCHMARK MOT17 --SPLIT_TO_EVAL train --TRACKERS_TO_EVAL MPNTrack --METRICS HOTA CLEAR Identity VACE --USE_PARALLEL False --NUM_PARALLEL_CORES 1 前期准备(1) gt数据准备准备真值,注意格式要符合要求(2) sequences file准备这是备注需要测试的段名 123456789101112TrackEval/data/gt/mot_challenge|...
论文阅读:strongsort
本文是论文“StrongSORT: Make DeepSORT Great Again”的阅读记录 论文概述StrongSORT论文的主要贡献包括两个部分:对Deepsort的现代化改进(该部分介绍了很多现代技巧),提出两个模块Aflink和GSI。 StrongSORT 检测器模块升级 Faster RCNN —> YOLOX 外貌特征提取器模块升级 CNN —> BoT 特征存储机制小问题解决 为了解决对检测噪声敏感的问题,引入新的特征存储机制(平滑化)方法EMA$$e_i^t=\alpha e_i^{t-1}+(1-\alpha)f_i^t$$ 其中 $f_i^t$ 是原始外貌特征,$e_i^t$ 是新外貌特征 相机移动补偿小问题解决 文章提到,多数数据集(KITTI,MOT16,DanceTrack)都存在相机移动的问题,因此需要进行运动补偿。采用的方法是ECC 自适应卡尔曼滤波器 NSA Kalman小问题解决 常规卡尔曼滤波器收检测噪声和低质量检测的影响都较大,采用一个自适应的噪声协方差来改进。 $$\widetilde{R}_k...
dataset
本文主要介绍几个自己用到的数据集 KITTIKITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是一个自动驾驶场景下的大规模数据集。KITTI数据采集平台包括2个灰度摄像机,2个彩色摄像机,一个Velodyne 3D激光雷达,4个光学镜头,以及1个GPS导航系统。往往常用的是左侧彩色摄像头和激光雷达传感器。 数据格式 Values Name Description 1 type Describes the type of object: ‘Car’, ‘Van’, ‘Truck’, ‘Pedestrian’, ‘Person_sitting’, ‘Cyclist’, ‘Tram’, ‘Misc’ or ‘DontCare’ 1 truncated Float from 0 (non-truncated) to 1 (truncated), where truncated refers to the object leaving image boundaries 1 occluded Integer (0,1,2,3) indicating o...
神经网络的训练
本篇文章主要记录一些训练神经网络的内容 1. 硬件查看1nvidia-smi GPU:GPU 编号; Name:GPU 型号; Persistence-M:持续模式的状态。持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态; Fan:风扇转速,从0到100%之间变动; Temp:温度,单位是摄氏度; Perf:性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能(即 GPU 未工作时为P0,达到最大工作限度时为P12)。 Pwr:Usage/Cap:能耗; Memory Usage:显存使用率; Bus-Id:涉及GPU总线的东西,domain:bus:device.function; Disp.A:Display Active,表示GPU的显示是否初始化; Volatile GPU-Util:浮动的GPU利用率; Uncorr. ECC:Error Correcting Code,错误检查与纠正; Compute M:compute mode,计算模式。 2. 超参数调优常见的超参数调优方法:网格搜索、随机搜索和...
bevformer
本文记录BEVFormer复现中需要注意的一些地方 torch相关安装在官方教程中,给了推荐的torch的版本。经过实验,pytorch不要超过1.10,因为它取消了一个特性。[THC/THC.h: No such file or directory报错解决][1] 12pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html# Recommended torch>=1.9 mmcv-full的安装如果按照官方的做法,往往会卡住(科学上网可能会比较顺利),下面提供其它方法。我们通过mmcv-full官方推荐的方法进行下载。[Building wheel for mmcv-full (setup.py) … error解决办法][2] 12pip install -U openmimmim install mmcv-full==1.4.0 安装mmdet and mm...
yolo使用基础
简要介绍yolov5的原理,以及yoloX的提升。 YOLOv5YOLO系列的核心思想就是把目标检测转变为一个回归问题,利用整张图片作为网络的输入,通过神经网络,得到边界框的位置及其所属的类别。 组成Backbone负责从输入图像中提取有用的特征。在较早的层中提取低层次的特征(如边缘和纹理),在较深层中提取高层次的特征(如物体和语义信息)。 Neck聚集并细化骨干网提取的特征,通常侧重于加强不同尺度的空间和语义信息。 Head根据特征进行预测,最后非极大值抑制(NMS),过滤掉重叠的预测,只保留置信度最高的检测。 基本工作原理 数据预处理Mosaic数据增强:按照随机缩放、随机裁剪和随机排布的方式对四幅图像进行拼接。自适应图像缩放:统一缩放到一个标准尺寸 网络结构 Focus:特殊的下采样模块 CSP:CSP1_X应用于backbone主干网络部分,backbone是较深的网络,增加残差结构可以增加层与层之间反向传播的梯度值,避免因为层数加深而带来的梯度消失。CSP2_X相对于CSP1_X来说,将Resunit换成了2 * X个CBS,主要应用在Neck网络 (网络没那...
BEV
本文主要大致介绍一种新的感知框架:BEV。参考资料:自动驾驶中常聊的BEV感知到底是什么?,小白也能看懂的BEV感知技术(二) 什么是感知模块以多种传感器的数据与高精度地图的信息为输入,经过一系列的计算和处理,对周围环境精确感知的系统,作用相当于人眼。其感知识别任务本质上是对物理世界进行3D几何重构,使计算机能够“认识”到物理世界中的实体和元素。 BEV的出现随着车辆上搭载的传感器越来越多、越来越复杂,且安装位置、视角和数据格式不尽相同,因此,以统一的视角将来自不同传感器的多源信息进行数据整合,在统一的视图中表示特征变得至关重要。BEV的英文全称为Bird’s-Eye-View,即鸟瞰视图,它模拟了从正上方垂直向下观看地球表面的效果,能够清晰地显示地形、建筑物、道路网络等地理要素之间的空间关系和布局。这种视图对于自动驾驶车辆而言至关重要,因为它简化了对周围环境的感知和理解。 BEV的特点优势 没有2D感知中常见的遮挡或缩放问题。识别有遮挡或交叉的车辆可以得到更好的解决。 以这种形式表示对象或道路元素有利于后续模块(如规划、控制)的开发和部署。 全局视野与统一坐标框架。将来自...
