自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SparseConv 的学习笔记

环境设置在里面,SparseNeus推荐的版本是是版本。

2024-08-15 22:11:14 396

原创 MuRF代码阅读

个点,那么组成的 Tensor pts_3D 对应的 shape 是 # [B,HW,D,3], 将这些采样点投影到 feature_map 上面然后计算 Reference Image 之间的。MuRF 可以对于 高分辨率的图像在 Test 的阶段做 Rendering。之后的图像生成的, 假设原图像的分辨率是。,去得到 Geometry 的 Cues., 那么会从 降采样4倍之后的图像。生成的 Ray 是从。

2024-08-01 20:08:30 460

原创 Pytorch Lighting & Hydra库的学习

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

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

原创 mvsplat 的笔记

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

2024-05-29 11:55:30 1100

原创 将针孔模型相机 应用到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 1667 1

原创 3DGS CUDA代码笔记

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

2024-04-23 17:21:41 1072

原创 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 658 1

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

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

2024-04-18 14:07:13 323

原创 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 1855 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 880

原创 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 223

原创 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 1243 1

原创 DVGO 代码阅读

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

2023-12-15 21:29:13 341

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

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

2023-12-12 10:31:34 512

原创 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 446

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

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

2023-11-16 11:33:01 302

转载 安装 inplace_abn 遇到CUDA 的问题

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

2023-11-10 16:59:50 1380

原创 切换nvcc 的CUDA 版本

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

2023-11-10 16:32:18 693

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

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

2023-09-06 16:08:11 172

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

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

2023-08-08 21:11:23 745

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

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

2023-08-02 20:40:57 255

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

vscode 添加多个远程Host

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

原创 SDF_studio 实验记录

sdfstudio 阅读笔记

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

原创 Nerf_studio 使用记录

Nerf_studio安装和使用记录

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

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

Numpy 数组不同维度的加减法

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

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

numpy 到txt 写入并读取

2022-11-01 10:07:38 291

原创 Vim 学习笔记

我的ViM 学习命令记录

2022-10-21 20:57:26 588

原创 Nerf Pytorch 代码 shuffle_ray 代码阅读

Nerf 代码阅读与注释

2022-09-25 16:12:02 1036

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

Nerf Pytorch 代码阅读笔记

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

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

pytorch 中 tensor 的转化和使用

2022-08-11 18:28:51 1803

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

服务器上指定GPU训练模型

2022-07-07 12:40:39 5829 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 443

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

word 中格式化 mathtype 格式

2022-02-28 16:02:12 11452 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 448

原创 读取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 3212

原创 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 3404 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 267

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

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

2021-09-05 16:09:01 2457

原创 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 2676

原创 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 906

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

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

2020-11-24

空空如也

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

TA关注的人

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