自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 资源 (2)
  • 收藏
  • 关注

原创 DETR原理分析

文章的主要有两个关键的部分。第一个是用transformer的encoder-decoder架构一次性生成 N个box prediction。其中N是一个事先设定的、比远远大于image中object个数的一个整数。第二个是设计了bipartite matching loss,基于预测的boxex和ground truth boxes的二分图匹配计算loss的大小,从而使得预测的box的位置和类别更接近于ground truth

2024-05-21 15:45:30 525

原创 自动驾驶视觉相机方案推荐

我们根据自动驾驶的不同级别和功能要求,给出了以上给出了几个参考配置方案,并且从机器视觉算法的角度,给出了摄像头所能识别的物体距离,供方案选择时作为参考。

2024-05-11 16:51:11 718

原创 LSS (Lift, Splat, Shoot)代码解析

LSS是一篇发表在ECCV 2020上有关自动驾驶感知方向的论文,具体子任务为object segmentation and map segmentation。论文和官方repo如下:论文:https://link.zhihu.com/?官方repo:https://link.zhihu.com/?目前在自动驾驶领域,比较火的一类研究方向是基于采集到的环视图像信息,去构建BEV视角下的特征完成自动驾驶感知的相关任务。所以如何准确的完成从相机视角向BEV视角下的转变就变得由为重要。

2024-05-07 14:04:52 799

原创 智能汽车:自动驾驶浅谈(入门)

自动驾驶算法反应了工程师们根据人的思维模式,对自动驾驶所需处理过程的思考。通常包含感知、预测、规划模块,同时辅助一些地图、定位等模块,实现自动驾驶功能的落地。

2024-04-23 17:00:23 713

原创 BEVDet代码复现实践

默认ubuntu-20.04,python-3.8, torch-1.10.0, cuda-11.3,cudnn-8.6不要问其他版本能不能通,小白和不想折腾环境的童鞋直接抄作业。

2024-04-09 15:21:38 790

原创 LiDAR和Camera融合的BEV感知算法-BEVFusion

本次给大家讲解一篇非常经典的融合工作叫 BEVFusion,我们依旧从算法动机&开创性思路、主体结构、损失函数以及性能对比四个方面展开BEVFusion 有两篇文章,本次主要讲解的是阿里和北大的:BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework。

2024-04-02 19:25:49 743

原创 numpy小知识-v2

sorted: 是否对处理后的不包含重复元素的Tensor进行升序排列(sorted=True表示进行升序排列,sorted=False并非表示降序排列,这点容易混淆,可以看下面例1)统计一维数组中重复元素的数量是个常见的问题,那么拓展到二维或者更高维度,这个问题依然是常见的。我使用百度仔细检索发现了一篇很有用的文章,发现上图中说的是错误的,文章里边提到了怎么统计二维空间中重复点的数量。我们在数据处理的时候,有时需要统计数组中某个元素的个数,如果写个循环就太麻烦了,numpy中有相应的函数进行统计。

2024-03-27 09:35:36 688 1

原创 docker 容器修改端口和目录映射

修改hostconfig.json如下,添加端口绑定"9003/tcp": [{“HostIp”: “”,“HostPort”: “9003”}],表示绑定端口9003。一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如。:将现有的容器打包成镜像,然后在使用新的镜像运行容器时重新指定要映射的端口。2、查看宿主机端口是否和容器内端口映射成功,在容器外执行。这里是将容器内的80端口映射到宿主机的8088端口。

2024-02-27 10:51:48 2169

原创 vscode远程连接失败

即使在远程主机添加了本地的公钥也不行。直接报错:Could not establish connection to…这是因为vs code在连接和ssh终端连接类似,由于之前连过该ip对应的服务器,多次异常退出了服务端,可能导致后续vscode链接服务器时循环输入密码无法连接;最近通过vscode一直使用腾讯云的服务器作为远程开发环境,以前一直很好用。,就连接失败了,本质上是vscode的阻止行为!不要怪罪远程服务器!重置服务器当该ip对应的服务器发生变化时,接着重新vscode链接服务器,就好啦!

2024-02-06 16:45:04 1366

原创 NeRF 原始论文 & NeRF Studio 安装使用

NeRF Studio提供了一个调用各种NeRF模型的接口。它包含的模型有Nerfacto, Instant-NGP, NeRF, Mip-NeRF, TensoRF等,同时还有一些第三方模型,例如Instruct-NeRF2NeRF和K-Planes。其中Nerfacto是nerfstudio提出的,通过整合多篇论文对nerf模型的优化,设计了一个比较全面的神经辐射场解决方案。它是nerfstudio的默认模型,也是最推荐使用的模型。

2024-01-26 15:20:23 1166

原创 自动驾驶中的坐标系

自动驾驶中的坐标系。

2024-01-16 10:45:04 1301 1

原创 PolarNet: 一种改进的时实激光雷达点云语义分割网格表示方法

github工程代码:https://github.com/edwardzhou130/PolarSeg。

2023-12-28 17:10:51 708

原创 CPGNet点云语义分割简介

我们提出了一种多视图融合的方法,同时融合3D点云特征,BEV视图特征,RV视图特征的方法,来加速点云分割模型,同时降低了由2D投影带来的信息损失,达到了很好的精度-速度均衡。同时我们的方法做到了fully end-to-end,不需要任何后处理。我们的方法可以方便地部署在TensorRT上,来更快地部署在车载平台。目前我们的方法在Orin平台上可以做到13 ms。这是我们系列文章的第一篇,后续还有更多的论文解读。最后欢迎大家积极讨论,将我们的方法应用在自动驾驶系统中。

2023-12-15 11:47:44 941

原创 2DPASS激光雷达点云语义分割简介

本文介绍了一个基于二维先验辅助的激光雷达点云语义分割算法2DPASS,其在模型训练阶段从多模态数据中获取更丰富的语义和结构信息将其提炼到点云分割网络中。该方法具有良好的通用性,且在推理时仅基于点云数据输入即可实现又快又准的三维语义分割。该方法在SemanticKITTI数据集单帧和多帧语义分割,以及Nuscenes数据集都达到了最先进的水平。

2023-12-15 11:19:20 1208

原创 如何通过球面投影(Spherical Projection)将点云转换为距离图像(Range Images)

将3维激光点云通过球面投影(Spherical Projection)转换为2维距离图像(Range Images),是自动驾驶应用场景中一种非常常见的点云处理方式。点云转换为距离图像后,通常会被输入给一个2维卷积神经网络去实现目标检测、语义分割等任务。目前采用这种点云处理方式的典型目标检测算法有RangeDet,语义分割算法有SqueezeSeg、RangeNet++、SalsaNext等。

2023-12-12 16:53:49 1039

原创 OpenCV显示中文(python)

OpenCV添加文字的方法putText(…),添加英文是没有问题的,但如果你要添加中文就会出现“???”的乱码,需要特殊处理一下。下文提供封装好的(代码)方法,供OpenCV添加中文使用。

2023-10-18 16:44:38 1230

原创 python算法部署(通信篇)

在 Windows 上还需要关闭防火墙,成功 ping 通后,在 Ubuntu 环境中首先需要运行ifconfig | grep -B 1 | grep “flags”| cut -d ‘:’ -f1,查看该 IP 对应的网络设备,其中 需要用实际获取到的 IP 地址进行替换。假设我们对应的网络设备是 lo,下面用 代替,使用时需要进行替换。运行下面两条命令来显式使能 UDP 多播和添加路由表。Ubuntu 配置结束,可以正常进行消息的收发。详细教程可以参考官网:(写的很清楚),各种语言。

2023-09-25 17:09:17 215

原创 CVPR 2023 | UniMatch: 重新审视半监督语义分割中的强弱一致性

在这里和大家分享一下我们被CVPR 2023录用的工作"Revisiting Weak-to-Strong Consistency in Semi-Supervised Semantic Segmentation"。在本工作中,我们重新审视了中的“”方法。我们首先发现,最基本的约束强弱一致性的方法FixMatch[1](proposed three years ago in 2020)即可取得与当前SOTA相当的性能。

2023-09-21 17:45:14 706

原创 IGEV深度估计测试代码

0.jpg,代表左图。1.jpg,代表右图。

2023-09-19 16:01:30 291 5

原创 BEVFormer论文解析

跟基于雷达的相比,纯视觉的方案成本低,而且具有RGB和纹理信息,可以用于检测像交通信号灯、车道线等道路要素。自动驾驶的感知本意是要从多个摄像头给出的2D信息来预测3D bbox(检测)或者semantic map(分割),最直接的方案是基于单目的框架或者加入跨相机的后处理,这种方案的缺点是单独去处理不同的视图,而且不能捕获那些跨视图的信息,因此效果差。

2023-09-06 16:48:50 280

原创 python-opencv对极几何 StereoRectify

将打印的结果保存到标定文件中即可。

2023-08-07 11:11:19 1625

原创 按时间戳匹配点云和图像数据

【代码】按时间戳匹配点云和图像数据。

2023-08-03 17:37:22 416

原创 python -m 是什么命令

实际上,解释器由 sys.path 变量指定的路径目录搜索模块,该变量初始化时默认包含了输入脚本(或者当前目录), PYTHONPATH 和安装目录。如上面的命令所示,Python -m指的是把这个.py文件当做模块运行,但如果你一不小心加了.py这个后缀,就会出这个错误。导入一个叫 mod的模块时,解释器先在当前目录中搜索名为 m.py 的文件。目的就是把import的那个模块的路径放到sys.path中。首先python --help 可以看到-m的含义:意思是将库中的python模块用作脚本去运行。

2023-07-13 11:25:41 1636

原创 像素坐标转到世界坐标时相机坐标系中的Zc值求解

其中,Mat2(2,0)表示3×1矩阵的第三项。如果目标物体有一定高度,则Zw=实际物体高度,求出Zc后即可根据像素坐标求得世界坐标。自己项目中有涉及到图像坐标到世界坐标的转化,故这里想写出来供大家参考,如有理解有误,欢迎指正。这里的前提是世界坐标的原点在地面上。世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换公式参考:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换。其中图像坐标到世界坐标的转化公式作者讲解的也比较清楚,但是对于Zc的值,作者并没有给出进一步讲解。

2023-06-13 17:40:44 1112 1

原创 ROS时间概念总结:ros::Time、ros::Duration

ROS 里经常用到的一个变量就是时间,比如基于时间和控制量计算机器人的移动距离、设定程序的等待时间/循环时间、设定计时器等。本文总结了 roscpp 给我们提供的时间相关的操作。具体来说,roscpp 里有两种时间表示方法:时刻 (ros::Time) 和时长(ros::Duration)。其中Duration可以是负数。一般情况下,这里的时间都是跟平台(即系统)的时间相关联的,但ROS提供了一种模拟时钟即ROS时钟时间,当进行了相应设置时,这里的时间就是ROS时钟时间。

2023-06-13 16:54:28 1201

原创 C++调python程序示例

平台:Xavier nvidia AGX板子编写c++程序测试单目3D目标检测DEVIANT(https://blog.csdn.net/qq_39523365/article/details/130982966?spm=1001.2014.3001.5501)python算法的过程。代码如下:

2023-06-06 11:03:21 446

原创 ROS订阅与发布话题

一、新建一个ROS工作空间并创建功能包二、创建一个msg消息三、发布话题四、订阅话题Ubuntu18.04ROS Melodic执行完毕后建立了工作空间catkin_ws,并创建了功能包topic。在topic包的目录下创建msg文件夹并在msg文件中添加消息成员填入以下内容:header是消息头,包含了序列号,时间戳,frame_id,一般每个消息都有这个成员,其他的成员可以根据需要随便取。编辑package.xml文件确保它包含以下两行且没有被注释。如果没有,添加进去:修改topi

2023-06-06 10:29:46 2169

原创 图像去畸变(python)

功能:图像去除畸变并将视频保存成图片保存。

2023-05-15 18:55:42 756 1

原创 Ubuntu下使用OpenCV显示中文(C++)

项目需要ft2build.h,它是freetype库中的一个头文件。simhei.ttf是字体文件,可以自行下載,在windows/linux系统直接进行索引,更换自己喜爱的默认字体即可。由于下载需要积分,所以将源码粘贴出来。

2023-05-12 10:35:54 901 3

原创 Ubuntu执行定时命令的方法

接着输入自己想要执行的命令,按Ctrl+D结束输入。接着自己的命令即可定时执行。如果有错误,欢迎指正。

2023-05-09 17:15:34 1670

原创 nuscenes激光雷达数据抽稀

Mini nuScenes下载后得到名称为“v1.0-mini.tgz”的压缩包,主要包含maps、samples、sweeps和v1.0-mini等4个文件夹。下面分别进行简要介绍。maps:数据采集的地图路线,是一个二值图,道路所在路线对应的像素值为255,其它像素值为0。samples:数据样本,分别包括6 个摄像头、1 个激光雷达、5 个毫米波雷达所采集的数据,每个传感器采集404个样本。数据来源于10个场景,且每个场景共采集了约连续20秒数据。samples中的数据是在这些连续数据样本中,以2H

2023-05-09 10:17:47 668

原创 YOLO3D 基于图像的3D目标检测算法

参考文档:https://ruhyadi.github.io/project/computer-vision/yolo3d/代码:https://github.com/ruhyadi/yolo3d-lightning本次分享将会从以下四个方面展开:物体检测模型中的算法选择单目摄像头下的物体检测神经网络训练预测参数的设计模型训练与距离测算。

2023-03-23 16:32:17 5153 7

原创 开机自启动程序脚本(部署)

基于shell脚本的。

2023-03-22 17:13:03 2440

原创 open3d实时显示点云和3D框

一般情况我们通过open3d中的draw_geometries()进行点云可视化,但这个函数会锁定一个进程直到可视化的窗口被关闭,才会继续渲染下一帧点云图像,无法做到点云持续的动态显示。本文介绍了一个自定义渲染循环的教程。这里整体思想是按名称读取文件然后送入队列中,使用多线程进行点云显示,当文件读完之后,重新开始读取。读者可以根据自己的数据情况修改,已完成实时点云显示。

2023-03-17 11:12:31 2289 1

原创 AGX Xavier无法使用vscode问题

我这里Xavier是arm64架构的,用debian package安装,所以选了:Linux arm64 debian。之后发现,没有报错,但也没有打开vscode,无事发生。查看进程之后发现,有code的进程,但就是没有窗口,于是进行了一番尝试,用直接下载安装最新版本和insider版本,都没能解决问题。由于连接中说1.65.2版本的可以用,所以我这里把version改成了1.65.2,然后输入到了浏览器里,开始了下载。Xavier装机版本:ubuntu20.04,使用的新的jetpack进行的刷机。

2023-03-07 18:15:11 262

原创 Ubuntu开机自动挂载硬盘

最后,挂在硬盘时一定要看好不同的硬盘,如果你插着一个U盘或移动硬盘,千万不要挂在这个可能会拔掉的盘,否则如果你拔掉了这个盘,Ubuntu在开机的时候会无法检测到,从而无法开机。/media/lkzcswq/Data是硬盘挂在后的路径,你需要根据你自己的名字(我是lkzcswq)修改。至此,重新开机后会发现Data这块硬盘直接在开机时自动挂在在了/media/lkzcswq/Data路径下。能够看到/dev/nvme0n1p2是我们要挂在的硬盘,其路径是/media/lkzcswq/Data。

2023-03-02 20:04:54 1971

原创 sys.path 与 os.getcwd区分:代码运行中的路径问题

(比如在代码中加入:sys.path.append(‘/home/zs/project/github/minkloc3d/MinkLoc3Dv2’))问题的来源是:IDE和cmd的默认工作路径的差异,或模块搜索路径不同。os.getcwd()、sys.path[0]、sys.argv[0]和__file__的区别,终于弄清楚了。如果你(你所在的当前目录)不在sys.path的范围里,你会得到绝对路径,反之,你会得到相对路径。如果你在当前目录加载模块,并且当前目录在sys.path 里, 你会得到相对路径。

2023-02-02 18:32:55 562

转载 CenterPoint 在mmdetection3d中的实现

转载自:https://blog.csdn.net/weixin_38362784/article/details/111479263,勿喷。写在前面此处的self.pts_bbox_head,在配置文件中设置为CenterHead。因此,主要分析CenterHead中的forward函数和loss函数。【待补充】Step0: 参数说明根据gt_bboxes_3d和gt_labels_3d,生成各task的热图、框尺寸等信息。3. 关键函数:3-1 参数说明3-2 中间变量说明task_ma

2022-11-03 11:36:43 764

原创 【自动驾驶】欧拉角和旋转矩阵之间的转换

欧拉角和旋转矩阵之间的转换要注意的细节很多,在使用时我们一定要明确欧拉角的旋转顺序、内旋还是外旋、正向旋转还是反向旋转以及欧拉角范围。另外,文章中如果有错误的地方,还请大佬不要喷。

2022-10-21 11:22:58 1013

原创 Jetson Xavier增加固态硬盘扩容并自动挂载到/home

使用M.2 nvme 256G固态,接到板子上的M.2 nvme 接口上,具体增加m2参考。Xavier共有16G运行内存和32G eMMc flash,空间很容易不足。介绍如何增加增加固态硬盘扩容并挂载到/home目录。确认挂载成功,重启后即会自动挂载。

2022-09-22 10:39:59 894

点云分割标注文档,提供给标注人员使用

点云分割标注文档,提供给标注人员使用

2023-11-23

深度学习bev感知算法概述

bev感知

2023-09-21

NanoDet算法分享.pptx

NanoDet算法分享.pptx

2021-10-25

ATSS机制原理深度讲解

ATSS机制原理深度讲解

2021-08-19

空空如也

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

TA关注的人

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