![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
读博笔记
文章平均质量分 79
Gamma and Beta
这个作者很懒,什么都没留下…
展开
-
SinNerf理解和效果
这篇文章讲的是将可见的这一个view propagates到 看不见的view上。我的理解是就是,假设有50个相机对着一个物体,这些相机的位姿,内外参都是知道的,只是只有一个相机是有图像,其他的相机都没有图像。因为相机和相机的关系是知道的,可以通过image wraping,根据现有的reference view 和相机之间关系,去推算那些unseen view的深度。该方法主要解决的问题是: 现有都使用多张照片来进行nerf 表示的学习,这篇文章的话,主要是想使用一张单视角的照片来Nerf表示的学习。原创 2024-06-16 22:59:05 · 449 阅读 · 0 评论 -
GNeRF论文理解
那么生成器会根据提供的相机位姿,去生成假的照片,然后对这些假的照片进行渲染(这里就就和一般的nerf一样)。上述的结构的训练就是和一般的GAN一样。本文提出的方式,首先是不需要一个大致的相机位姿的初始化,只需要有一个大致的相机位姿分布,且可以在较大的轨迹内进行优化。一共分成了两个阶段,其实就是coarse-to-fine的样子,第一个阶段大致的输出一个粗糙的nerf estimation 以及 相机相机位姿,然后第二个阶段开始联合优化 (nerf estimation和相机的位姿。原创 2024-06-03 00:05:25 · 361 阅读 · 0 评论 -
LoFTR 笔记和理解
这就是fine-level要考虑的问题了,细腻度的匹配实际上是在粗力度匹配完成的基础之做的优化。这正好满足这个需求,先使用self-attention来做自相关,找到自身最重要的特征,然后再把这个最重要的特征拿和另一张图最重要的特征做cross-attention。传统的特征匹配方法主要依赖于特征点的检测,如果特征点的检测出现问题,比如某一些的关键点没有检测到,就会直接影响特征点的匹配。此外特征点的检测还存在 位置不同但是特征很相似的问题,比如两个在白墙上的点,虽然位置不同但是特征很相似。原创 2024-05-24 18:29:52 · 325 阅读 · 0 评论 -
MVSnet 代码详解(pytorch)
我的理解是,这里给到的 src_projection matrix是指,从src的相机坐标系投射到世界坐标系的投影矩阵。我们想要的是,将src的特征投影到ref的feature plane 上面。照片的shape是 (1,5,3,1184,1600)代表着1个batch,5张图片,然后一次是每张图片的channel和大小。采样得到的特征的shape是(1,32,192,296,400),大小和特征图大小一致,只是多了一个用来表示深度范围的维度。这个应该对应的是原图中画圈的地方。原创 2024-05-24 03:32:13 · 456 阅读 · 0 评论 -
MVS net笔记和理解
然后将源图像的特征图通过相机的内外参将 它从相机坐标系投射至世界坐标系,然后就可以在 volume 中找到一个对应的深度范围,然后再将特征投射到reference image的特征图上,假设深度值是完美的,那么reference image 上的点所带有的特征应该是和原图像中被投射的点的特征是一样的。通过深度学习的方式,可以让网络去学习在相对不同的光照效果下的重建,也可以学习到镜面反射的效果。这里文章是使用的一个深度期望来表示的深度概率,然而不是简单的使用概率最大的深度作为点的深度。原创 2024-05-23 17:31:16 · 400 阅读 · 0 评论 -
Point-Nerf 理论笔记和理解
基本的nerf 是通过过拟合MLP来完成任意视角场景的重建,这有什么问题呢?这样会导致模型的训练很慢且完全没有泛化能力。训练出来模型只能用于一个场景的重建。且Nerf的输入只能是 照片以及相机位姿。但是point nerf 可以使用点云作为输入并且考虑到了每一个点对应的2D features。这个有什么好处呢。他可以省去大量sample的过程。原创 2024-05-22 21:02:55 · 737 阅读 · 0 评论 -
Swin Transformer 笔记与理解
和之前transformer不同的是在swin transformer中 我们还需要对分开的patch在进一步的细分成更小的窗口,这里将每一个小patch继续分成大小为7*7的64个更小的窗口。Swim transformer的主要的贡献就是使用分层和窗口的概念来为这个框架提供了一个类似CNN感受野的东西,不仅可以兼顾了transformer本身优秀的全局信息获取的能力,且通过窗口的设计也提供了局部信息的获取能力。上述的过程只重视了窗口之内的特征,但是完全没有考虑到窗口之间的特征联系。原创 2024-05-17 15:52:53 · 321 阅读 · 0 评论 -
Nerf基础学习记录
Nerf 是可以理解成是一种隐式的3D表达方式。隐式表达可以理解成是用一个条件或者方程来表示一个3D几何,没有实实在在的几何形状。相反,显式表达就诸如mesh, 点云,体素这类的,能够实实在在看到的。Nerf的网络结构非常简单,也就是一个mlp。Nerf主要的目的,就是从给到的大量照片中学习,从而可以渲染任意视角下的RGB图像。它的输入数据是(x,y,z,ϕ\phiϕθ\thetaθ),ϕ\phiϕθ\thetaθ可以理解成相机位姿,分别代表的是当前相机对世界坐标系的旋转和平移。原创 2024-05-16 04:14:33 · 490 阅读 · 0 评论 -
对比学习笔记
对比学习是在没有标签的前提下学习样本之间的是否相似,其实和二分类比较相似,判断两个图像是不是属于同一个类别。换句话来说就是把相近的分布推得更近,不相近的分布推得更远。对比学习是自监督学习的一种。自监督学习有着自己给没有标签添加标签的能力,置信度最高的标签将会成为下一轮的GT从而来监督模型训练。在对比学习中就是给让模型根据特征的相似程度来将输入标记成正样本或者是负样本。他和半监督和无监督有着明显的不同,这里需要稍微注意一下。原创 2024-05-13 21:11:13 · 644 阅读 · 1 评论 -
PF-NET与3D点云补全
和一般的MLP不一样的点是,一般的MLP是只会在最后一层使用max pooling,CMLP是对MLP中每一层的特征都做一次max pooling, 最终的特征是把每一个使用max pooling 得到的特征拼接起来。形成一个分辨率的隐编码,然后将不同分辨率的隐编码拼在一起形成最终的隐编码用于描述输入的残缺点云。这个问题在实际解决的时候主要有2个问题,第一就是点云补充得过于完整,比如目标点云中是有缺口,但是补全的过程往往会顾虑掉这些细节,其二,补得过于稀疏,补充的点云没有很好的填补缺失部分。原创 2024-04-30 19:36:08 · 348 阅读 · 0 评论 -
Pointnet和Pointnet++提取点云特征的思想
同理的,如果点多于20个点,就将点按照离中心的距离,从近到远排列起来,将多出的部分抛弃。为了尽可能多的提取特征,pointnet++使用配合了多种半径(指cluster的大小)和cluster中点的数量,并将得到的不同的特征整合成一个特征作为最终的特征。首先需要知道的是点云数据主要携带的信息,它所携带的信息通常是它在3D空间中的坐标和对应的点所携带的法向量。但是对于点云而言点和点之间进行位置交换是不会影响点云整体表示的,换句话说如果点云是一辆车,就算交换一些点的位置,点云还是表示的一辆车。原创 2024-04-29 22:41:39 · 503 阅读 · 0 评论 -
VAE在3D点云上应用总结
但是有一个问题是需要注意的,就是在训练VAE的时候,从pytorch的角度上来讲,decoder的输入是从encoder输出的分布中的采样得到的,但是采样会导致computational graph上出现nondeterminitic node, 从而导致无法最反向传播。这种结构比较可以用到3D人物的点云生成上面,因为3D人体每个部分的细节分布是不一样的,比如身体的shape可以用稀疏点云就可以大致的描述出它的形状了,但是脸部和手部,如果使用同样分布的稀疏点云,就很难描述出脸部的细节,比如五官。原创 2024-04-26 15:53:43 · 803 阅读 · 0 评论 -
Vision Transformer 总结
Transformer 简单总结和理解原创 2024-04-24 17:30:33 · 465 阅读 · 0 评论 -
Drivable 3D Gaussian Avatars 论文笔记
我个人的理解是这里需要一个volume的概念, 因为cage-based deformation的核心其实是将cage看成是coarse proxy,所以在cage里面的点就显得很重要,而一般triangle surface 它很难提供volume的概念,因为一个triangle在空间中只是平面的一个小部分, 而四面体 tetrahedra 本身就可以提供volume的概念。比如文中将 3D 高斯的Mean 表示成了从低分辨率的Mesh 采样的点的位置。这么做就等于是将之前的形变表示,转移到的高斯上。原创 2024-01-22 05:49:05 · 1493 阅读 · 0 评论