大道@至简
码龄12年
求更新 关注
提问 私信
  • 博客:145,176
    145,176
    总访问量
  • 74
    原创
  • 162
    粉丝
  • 138
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2013-01-03

个人简介:大道至简

博客简介:

MAX的专栏

博客描述:
记录技术成长,分享改变世界
查看详细资料
个人成就
  • 获得314次点赞
  • 内容获得29次评论
  • 获得831次收藏
  • 代码片获得1,305次分享
  • 博客总排名33,609名
  • 原力等级
    原力等级
    5
    原力分
    1,054
    本月获得
    13
创作历程
  • 11篇
    2025年
  • 16篇
    2024年
  • 9篇
    2023年
  • 21篇
    2022年
  • 10篇
    2021年
  • 2篇
    2020年
  • 6篇
    2019年
成就勋章
TA的专栏
  • 视觉 Transformer
    4篇
  • BEV
    5篇
  • 自动驾驶
    5篇
  • 计算机视觉
    8篇
  • Deep Learning
    22篇
  • 图像处理
    10篇
  • Transformer
    2篇
  • CUDA
    7篇
  • 工具
    2篇
  • 软件安装
    7篇
  • 编程
    12篇
  • pytorch
    1篇

TA关注的专栏 2

TA关注的收藏夹 0

TA关注的社区 3

TA参与的活动 0

兴趣领域 设置
  • 人工智能
    opencv计算机视觉机器学习深度学习神经网络图像处理
创作活动更多

『技术文档』写作方法征文挑战赛

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结于文档结构与内容的完美融合?无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

55人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

BEVFormer详解

BEVFormer 是将Transformer架构的自注意机制与BEV视图中3D检测结合起来的一种纯视觉目标检测方案。对于纯视觉的BEV检测方案,其中的重中之重就是如何将2D的图像特征映射到3D空间的BEV栅格,既然是映射关系,那就有前行投影和反向查询两种机制。前向投影是基于深度估计的方法,参考基于深度估计的BEV视图转换方法,典型代表为LSS。反向查询方法思路为先将BEV栅格在Z方向上进行lift提升,然后再映射到图像特征图上进行特征查询。BEVFormer 就是基于这种机制进行2D图像特征到3D空间的B
原创
发布博客 2025.04.02 ·
1287 阅读 ·
22 点赞 ·
0 评论 ·
20 收藏

pytorch中常用语法

permute相当于可以同时操作于tensor的若干维度,transpose只能同时作用于tensor的两个维度,permute是transpose的进阶版。X = torch.stack((xs, ys, zs), -1) #-1 表示在最后一个维度上进行堆叠 ,会多出一个维度。于在张量的指定位置插入一个大小为 1 的维度(即扩展维度),具体看None 的位置。于在张量的指定位置插入一个大小为 1 的维度(即扩展维度),与None用法相同。不改变张量的数据,只是增加一个维度。的情况下为数组赋予新形状。
原创
发布博客 2025.03.28 ·
399 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

Multiscale deformable attention

deformable attention 灵感来源可变形卷积,先来看看什么是可变形卷积DCN?DCN 论文地址大概就像图中所示,传统的CNN 卷积核是固定的,假设为N = 3 x3,所以邻域9个采样点位置就是固定的。可变形卷积目的就是动态生成这9个采样位置。首先特征图经过卷积层,这个和传统CNN没区别,然后生成与特征图一样大小的位置偏移网络,channel = N * 2,表示在原有9个固定采样点上的x, y 偏移。得到偏移量后再回到原始特征图上进行插值采样,进行采样点卷积,得到当前特征点的输出值
原创
发布博客 2025.03.13 ·
1390 阅读 ·
11 点赞 ·
0 评论 ·
19 收藏

视觉Transformer (deformable DETR)

标准卷积选择周围n * n固定区域计算,可变形卷积在标准区域位置上增加偏移offset(offset 通过学习得到),这样卷积核在训练中可以有很大范围扩展。前面在介绍DETR时提到,DETR在小目标检测上不友好,而且DETR由于是在特征图上进行全局的self-attention 所以计算量很大,十分耗时间。:由于对参考点引入了offset,将参考点与偏移量相加作为边界框预测,降低优化难度。2、每个特征图上采样K个点。可以看到,每个query在每个头部中采样K个位置,只需和这些位置的特征交互。
原创
发布博客 2025.03.07 ·
1007 阅读 ·
21 点赞 ·
0 评论 ·
26 收藏

视觉Transformer(DETR)

CNN backbone 输出特征图展平 : (B,L ,hidden_dim),B为batchsize, L = H*W 特征图大小,hidden_dim特征向量维度。2、将Q,K,V 送入第一个multihead attention 模块,得到第一个多头输出,shape = (B,num_queries ,hidden_dim)分类全连接:(B, N, num_queries,hidden_dim) -> (B, N, num_queries,,而且是一个可学习的。
原创
发布博客 2025.03.06 ·
1030 阅读 ·
29 点赞 ·
0 评论 ·
22 收藏

自动驾驶中基于深度估计的BEV视图转换方法

是自动驾驶BEV中核心。其目的就是在BEV 3D空间中的特征如何精准的对应到2D图像的特征上。例如BEV空间中的格子对应的是一个行人,那么希望这个格子所获得的特征就是图像中的2D行人特征,而不是来自其他地方。
原创
发布博客 2025.02.27 ·
515 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

自动驾驶之BEVDet

**视图转换是BEV的核心。目的就是如何从图像空间中提取BEV空间所需要的特征。**假如某个BEV格子所对应空间有个锥桶,那么这个格子里填充的一定是用来描述这个锥桶的特征值,而不是远方天空或红绿灯的特征值
原创
发布博客 2025.02.26 ·
482 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

ubuntu linux 钉钉7.6.0 版本

发布资源 2025.02.26 ·
deb

自动驾驶之BEV概述

(mean Average Precision)是目标检测中常用的性能指标,它对Precision-Recall(P-R)曲线进行采样,计算每个类别出平均的Precision。有的方法则是针对具体的任务,比如3D物体检测,直接生成稀疏的BEV视图下的感知结果,比如DETR3D和PETR。自动驾驶需要目标在3D空间的位置信息,传统检测为2D图像上检测目标然后IPM投影到3D。输出:BEV视图下的各种感知结果,比如物体,道路,车道线,语义栅格等。与mAP相比,NDS可以更全面的评价3D目标检测算法的优劣。
原创
发布博客 2025.02.20 ·
1006 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

Transformer理解

Transformer 最早用于NLP中,它最大的特点就是,使得在处理中表现突出。我们先看一个完整的Transformer 结构框架:Nx 表示有N 个encoder,N个decoder。由多个encoder 和 decoder 堆叠而成。
原创
发布博客 2025.01.21 ·
589 阅读 ·
18 点赞 ·
0 评论 ·
27 收藏

QAT int8量化(yolov7)

QAT 量化训练是在PTQ 量化后进行微调的过程。相比PTQ 量化,QAT 量化训练多了一个微调后的训练步骤,允许QDQ中的模型scale 和 zero-point发生改变。QAT 量化训练的基本步骤为:先用 yolov7 训练出一个模型 yolov7_last.pt。1、给模型插入QDQ节点自动插入使用 quant_modules.initialize() 自动插入量化节点手动插入使用 quant_modules.initialize() 初始化量化操作或使用 QuantDescriptor()
原创
发布博客 2025.01.08 ·
494 阅读 ·
4 点赞 ·
0 评论 ·
10 收藏

PTQ int8量化(yolov7)

使用 quant_modules.initialize() 初始化量化操作或使用 QuantDescriptor() 自定义初始化量化操作。根据统计信息,计算动态范围range和scale,保存在QDQ节点中。1、给模型喂数据,收集每个层的输入输出信息。编写代码为模型插入量化节点。
原创
发布博客 2025.01.07 ·
499 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

CUDA各种内存和使用方法

例如:blockSize = 128,一个SM有2048个线程,那么一个SM能同时处理16个block。如果SM有96K的共享内存,每个block则分配96 / 16 = 6K,太大其他block无法获得使用。每个SM的共享内存数量是一定的,也就是说,如果在单个线程块中分配过度的共享内存,将会限制活跃线程束的数量;合适分配单个线程块的共享内存,使得SM的使用率最大化,起到加速的作用。特点:存储只读数据,访问速度快,广播式访问。使用:存储线程块中的共享数据,加速线程间的数据处理。使用:频繁访问的常量数据,
原创
发布博客 2024.12.26 ·
1210 阅读 ·
12 点赞 ·
0 评论 ·
7 收藏

Pytorch自定义算子反向传播

线性函数YXWTBYXWTB定义输入M 个X变量,输出N个Y变量的线性方程组。XXX为一个 1 x M 矩阵,WWW为 N x M 矩阵,BBB为 1xN 矩阵,根据公式,输出YYY为1xN 矩阵。其中 W 和 B 为算子权重参数,保存在模型中。在训练时刻,模型输入XiX_iXi​, 和监督值YiY_iYi​,根据 算子forward()计算的YipY_{ip}Yip​,计算Loss = criterion(YiY_iYi​。
原创
发布博客 2024.11.21 ·
1010 阅读 ·
29 点赞 ·
1 评论 ·
12 收藏

pytorch自定义算子导出onnx

1、没有现成可用的算子,需要根据自己的接口重写。2、现有的算子接口不兼容,需要在原有的算子上进行封装。继承类,实现其forward()和backward()方法,就可以成为一个pytorch自定义算子。就可以在模型训练推理中完成前向推理和反向传播。forward() 函数的第一个参数必须是ctx, 后面是输出。在工程部署上,一般为了加快计算,自定义算子需要用cuda 实现forward()、backward()kernel 函数。实现其symbolic 静态方法。
原创
发布博客 2024.11.20 ·
1364 阅读 ·
12 点赞 ·
6 评论 ·
27 收藏

tensorrt yolo系列 转trt模型plugin

发布资源 2024.11.20 ·
zip

onnx 算子支持查看文档

发布资源 2024.11.20 ·
zip

onnx自定义算子转tensorrt 推理

1、自定义算子类继承类,实现forward()和backward()方法,这样就变成一个可导函数可以在pytorch 模型网络中调用。如果只做推理可以不用实现backward。2、实现symbolic静态方法,这样在调用torch.onnx.export()时就能根据symbolic定义的规则,将自定义算子类转换成onnx 算子。说明:symbolic是符号函数,通常在其内部**返回一个g.op()**对象。
原创
发布博客 2024.11.19 ·
690 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

YoloV8-seg 模型tensort推理解析

YOLOV8 实例分割输出两个output, 一个用于实例bbox检测, 另一个用于分割,两者相结合提取实例分割目标结果。
原创
发布博客 2024.11.18 ·
487 阅读 ·
5 点赞 ·
0 评论 ·
12 收藏

cv::Mat初始化、赋值初始化与访问方式

指定类型和大小的二维数组。2、ptr指针进行访问。缺点:访问速度相对慢。
原创
发布博客 2024.11.06 ·
733 阅读 ·
6 点赞 ·
0 评论 ·
6 收藏
加载更多