自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

原创 Pytorch Lighting & Hydra库的学习

都是需要先自己定义一个 Dataset, 然后根据自己定义的 Dataset 去实现 对应的 Dataloader在 DataModule 里面需要实现3个。

2024-06-14 11:33:05 920 1

原创 mvsplat 的笔记

因此,代码里有两个 for loop, 一个 循环 .torch 文件, 一个 循环 torch 文件里面的数据集。每一个 pixel 生成一个坐标, 对应一个 Gaussian. Pixel 发生光线,, 通过卷积 变成2个通道,其中一个作为 density, 另一个作为 视差。. 并不一定是从 像素 中点 发生光心, 因此,每一个 pixel 还有一个。的4个通道预测的,先得到四元数。图像, 而每一个 数据集的以字典的形式进行存放。: 表示投影的 refrence image。,也是泛化得到的,从。

2024-05-29 11:55:30 954

原创 将针孔模型相机 应用到3DGS

下面这个 Projection_Matrix 的构建 和上面公式推导会有一点不一样的地方,尤其是对于 Z值的计算上,Github 上也有人提出过疑问。, 然后我们再通过线性变换做正交投影将Cuboid 的长和宽分别缩放到 一个 单位立方体, 即将 [l, r] ⇒ [-1, 1] and [b, t] ⇒ [-1, 1]。【 就是把 (l,r)映射到 (-1,1)】,最后才可以变换到Clip坐标系下面的坐标。上面的恰好是 Clip 坐标系的 齐次坐标系。3DGS 的 投影采用的是 CG系的投影矩阵。

2024-04-28 22:48:29 1534 1

原创 3DGS CUDA代码笔记

真实的 Render 过程是在下面这个函数执行的,我们。

2024-04-23 17:21:41 745

原创 VScode 里面使用 python 去直接调用 CUDA

上一个 帖子主要分享了如何 去将 C++ 程序 打包成一个package。 我们最后的 目的实际上是想把 CUDA 的程序 打包成 一个 Package , C++ 程序只是起到了桥梁的作用:我们的文件 由 一个 Cpp 文件组成,负责当作 CUDA 和 Python 的桥梁,将这个cpp 文件命名成 ext.cpp.cpp_properities.json 配置文件CUDA 部分:CUDA 的头文件 *** interpolation_kernel.h ***对应的 源代码 文件*** inte

2024-04-19 16:49:47 563 1

原创 VScode 里面 Python 当中去调用 C++ 代码

VScode 里面应该安装 Python 和 C++ 的插件。

2024-04-18 14:07:13 256

原创 Scaffold-GS 代码阅读笔记

*scaling ** : 每一个 anchor_point 额外有一个 scaling 的属性, 其初始化时每个3D点到最近3D点的距离, 但是却 repeat 了6次,因此 shape 时 (N,6). 这个 scaleing factor 不是高斯的属性,不能理解为 协方差中的 scale,而是一个缩放因子。需要注意的是,根据 视场角 fov 的定义,对于图像进行长和宽等比例的降采样之后,视场角FOV 是保持不变的 (如果考虑相机的主点不存在偏移的话)。剩下的 图像作为 Train Image.

2024-04-11 21:01:22 1494 3

原创 Splatstudio 学习笔记

3.2 修改 Camera 的坐标,将其从 nerfstudio 的坐标 旋转 到 opencv 的坐标。SH 的稀疏的 shape 标准是(N,16,3);快速的方法,将图像分成 16*16 的tile;计算每一个 Tile 和圆的 相交区域。计算 每一个像素到2D 投影圆的距离,并且依据 高斯分布 求解出 opacity 的大小。圆的圆心,可以直接通过 3D Gaussian 的中心点 Center 投影得到。返回值是一张 全图的 RGB 和对应的 Camera。计算每一个像素的颜色。

2024-04-08 16:25:15 760

原创 Spade CNN技术细节

Input: (1,3,256,64,128)做downsample 成 : (1,3,8,16,32)首先有一个 EqualConv3D(3,128,3,3,stride=1,padding=1) 对 input 进行卷积得到:(1,128,8,16,32)input channel: 3output channel: 128然后经过第1个 Spade Block:将 input 的 Volume (1,3,64,128,256 )进行下采样 (1,3,8,16,32)上面是一个 Spad

2024-02-29 14:33:45 208

原创 Pixel Nerf代码阅读

SB: scene batch 场景的个数;4NV: number input ,每个场景的视角,也就是图像的数量;49每条光线首先会采集 64个采样点, 一次训练4 个场景,每个场景随机【用上了该场景的所有的图像】选择128条光线,因此 光线的 shape (4,128,8)在 compostit_alpha 函数里面,使用 Z 的数值 生成采样点 points, point 的 shape 设置为(4,8192,3) 表示一共有4个场景,每个场景生成 8192条光线。

2023-12-20 20:50:01 1219 1

原创 DVGO 代码阅读

BBx 的大小范围是 根据 相机的 位姿来构建的,会刚好 Cover 相机的移动范围,相当于 StreetSurf 里面的 close-range 的部分,代码在依靠这个 xyz 的前后边界 来区分 前景 fg 和 背景 bgDensity Field 的 dim = 1;RGB Field 的 Dim = 12。

2023-12-15 21:29:13 308

原创 关于BP 时候 报错的汇总

之前 的错误是 背景 Nerfacto MLP的层数 设定为8, 导致会在BP 的时候报错。保存在哪一个 step 会报错的checkpoint, 然后 尝试去。这个错误,如果能复现这个 Bug, 然后去debug 会方便很多。注意前面需要乘以系数。

2023-12-12 10:31:34 488

原创 IBR-net 代码研读

假设原图的 shape (512,512,3), 选择原图相近的 10张图像,经过U-Net 类似的结构之后,生成的 特征Tensor 是(10,64,128,128)。这个特征图 分成2个(10,32,128,128) 和 (10,32,128,128) 分别送入到 Coarse IBR-net 和 Fine IBR-Net 中去。通过一个MLP,将每个世界点到 相关方向的 direction (500,64,10.3) 通过MLP 学成 (500,64,10,35) 维度的feature。

2023-12-04 11:01:00 430

原创 mmcv的环境 真 TM 难配 还有JAX 的环境配置

搞了个晚上 陪深度补全的 completionformer 没配出来。首先 搞定 MMCV 的配置:MMCV 一般无法使用 pip 进行安装,因为服务器没办法翻墙,需要将 wheel 文件下载下来之后,采用离线的安装。

2023-11-16 11:33:01 250

转载 安装 inplace_abn 遇到CUDA 的问题

原文链接:https://blog.csdn.net/hezhongla0811/article/details/110673512。其他模块遇到这个 类似的这个问题,也可以先清除pip 缓存, 指定CUDA 然后 pip 才会根据 cuda 去安装对应的模块。

2023-11-10 16:59:50 1116

原创 切换nvcc 的CUDA 版本

配置完成,可以用nvcc -V命令查看当前的CUDA(nvcc)版本。可以看到安装过不同版本CUDA的路径。

2023-11-10 16:32:18 567

原创 在 eval 的时候运行一遍网络,发现显存增加特别快

解决方法是: 在被调用的网络 函数 前面加一个装饰器,(这个函数可以是专门用来eval 的时候用的),

2023-09-06 16:08:11 160

原创 Python 中的值传递 和 引用传递

在第二行加上 clone 函数 之后,才可以保证执行完 第二行之后 的 position 的数值不会发生变换。

2023-08-08 21:11:23 418

原创 在Geogle Drive 上面下载压缩的文件

需要使用到 OCC3D 上面 的Waymo Occupancy 真值。Occ3d 应该是一个文件夹里面有很多 个压缩包,如果直接下载 会下载很多个文件。双击点进去 选择好对应的序列再进行下载。这里的 000 001 应该是对应的 waymo 的相机序列。waymo 的相机序列也是798 个序列。

2023-08-02 20:40:57 227

原创 Vscode 配置 .ssh/config 文件的时候不能添加新的主机名

vscode 添加多个远程Host

2023-03-06 16:36:50 389 1

原创 SDF_studio 实验记录

sdfstudio 阅读笔记

2023-01-29 23:16:05 1293 1

原创 Nerf_studio 使用记录

Nerf_studio安装和使用记录

2022-12-29 14:34:50 8375 12

原创 求出Pose(4*4)矩阵的 t 的平均值,并且减掉 t的均值

Numpy 数组不同维度的加减法

2022-11-24 11:53:52 396 1

原创 python将写数组 txt, 读数组并画图

numpy 到txt 写入并读取

2022-11-01 10:07:38 277

原创 Vim 学习笔记

我的ViM 学习命令记录

2022-10-21 20:57:26 573

原创 Nerf Pytorch 代码 shuffle_ray 代码阅读

Nerf 代码阅读与注释

2022-09-25 16:12:02 1004

原创 Pytroch Nerf代码阅读笔记(LLFF 数据集pose 处理和Nerf 网络结构)

Nerf Pytorch 代码阅读笔记

2022-08-31 12:25:02 7363 5

原创 Pytorch 中的tensor 、ndarray、 PIL图像格式互相转换的代码

pytorch 中 tensor 的转化和使用

2022-08-11 18:28:51 1774

原创 在服务器指定GPU进行训练

服务器上指定GPU训练模型

2022-07-07 12:40:39 5765 1

原创 使用Calibr标定相机内参数

参考网站利用 kalibr 标定 Camera-IMU 外参:https://blog.csdn.net/HERO_CJN/article/details/891758391. 安装配置 kalibrGithub 网址下载源码.https://github.com/ethz-asl/kalibrmkdir -p ./kalibr_workspace/srccd ./kalibr_workspacesource /opt/ros/melodic/setup.bash// 初始化 ca

2022-04-20 10:12:01 389

原创 Mathtype中预置新公式来统一格式化公式

word 中格式化 mathtype 格式

2022-02-28 16:02:12 10859 4

原创 使用小觅相机录制指定话题的数据集

1 开启小觅相机(安装好相机的SDK)source ./wrappers/ros/devel/setup.bashroslaunch mynteye_wrapper_d display.launch2 查看话题rostopic list红色的圈为需要录制的指定话题,分别对应小觅相机的深度图和彩色图3 录制话题录制bag名称为 sequences 的 bag 包,指定话题为** /mynteye/left/image_color 和 /mynteye/depth/image_raw **

2021-12-06 22:40:59 438

原创 读取PCD文件的点云并在 RVIZ显示

1. 创建功能包 catkin_init 之类的代码2. src 源文件如下 :#include <ros/ros.h>#include <pcl/point_types.h>#include <pcl_conversions//pcl_conversions.h>#include <sensor_msgs/PointCloud2.h>#include <pcl/io/pcd_io.h>#include <iostream&gt

2021-11-07 11:27:37 2935

原创 C++中的 map进行遍历(也包括unordered_map 的遍历方法)

使用的是map里面的 first 方法和second 方法。 first 方法得到的是map 中的key, second方法得到的是map中的value; for(auto iter = mp.begin(); iter != mp.end(); iter++){ if(iter->second > nums.size()/2) // second 方法得到的是map 中的value { ans = iter->first; // 得到

2021-09-21 14:53:33 3368 1

原创 十进制转为二进制,并统计1的个数

int N = 11; int res = 0; // 二进制中1的个数 string ans; // 二进制字符串 while (N) { res += N & 1; ans += to_string(N & 1); N = N >> 1; } cout << res<<endl; reverse(ans.begin(), ans.end()); // 反转后才是真正的二进制字符串 cout << ans;.

2021-09-15 15:57:58 254

原创 python 使用plt.show 不显示图像的原因

头文件 加上这两行import matplotlibmatplotlib.use('TKAgg')

2021-09-05 16:09:01 2405

原创 swap函数 交换 vector 里面的两个元素

在快速排序的时候会用到的:void Quick_sort(vector<int>& A, int left, int right){ if (left >= right) return; // 那个中心轴的元素 初始化为 最左边的。 int pivot = A[left]; // 拿出两个指针用来移动 int L = left; int R = right; while (L != R) // 当L=R 时候 退出循

2021-08-26 21:05:58 2546

原创 C++常见的输入输出【机试用】

0. 常用头文件#include <iostream>#include <vector>#include <algorithm>#include <stack>#include <string>#include<sstream>#include <unordered_map>1. 字符串的读取getline(cin,str); // 连空格也会读取2. 一维vector 的输入第一行 输入数组的长

2021-08-18 15:47:50 836

原创 机体坐标系b系 和相机坐标系之间的转换关系

一般情况下,相机安装在云台上并与无人机固连,云台具有水平和垂直两个方向的旋转自由度。实际中可认为相机系的原点与机体系的原点相重合。我们加速度计求出的 俯仰,滚转,偏航是导航系n到机体系b的。在计算机视觉当中,还需要将姿态从机体系 转化到相机系。相机坐标系:摄像机坐标系(c 系): 以光学系统的像方主点为原点O ; X轴平行于成像平面坐标系,右向为正; Y轴平行于成像平面坐标系的纵轴,下向为正; Z轴指向观察者,向下为正; 构成右手坐标系。Body 坐标系:机体系 一般是 X 轴 前,右边是Y轴,Z

2021-08-01 23:46:27 1863

原创 自己编写代码,实现C++里面的 istingstream 函数,分离空格之间的字符串

string str; getline(cin, str); int interupt = 0; vector<string> res; int start = 0; for (size_t i = 0; i < str.size(); i++) { if (str[i] == ' ') { interupt = i; string s = str.substr(start, interupt - start); start = i + 1; .

2021-08-01 20:10:11 140

TUM RGBD数据集 适用于动态场景的SLAM

慕尼黑工大TUM的数据集,因为在外网不好下载,所以我特地下载了下来,分享在我的博客上面,希望可以帮助到大家。

2020-11-24

空空如也

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

TA关注的人

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