
三维重建
文章平均质量分 70
木盏
坐标 北京
喜欢写博客的CV工程师
levio@pku.edu.cn
展开
-
欧拉角的万向死锁问题(Gimbal Lock)
90度是一种更特殊的情况,(0, 90, 0)->(10, 90, 0)会变成实际情况的(0, 90, 10),我们按照旋转顺序是先yaw再pitch再roll。但是在动态旋转的情况就不一样了,因为动态旋转很难保证旋转的顺序,比方说(30, 40, 50) ->(50, 40, 50),明明只是yaw+20,但实际展示情况并不是。所有接触欧拉角的同学,都会遇到一个概念,那就是万向锁。旋转对应的三个分量得到的,而不是先从初始方向旋转到(30, 40, 50)再yaw+20得到的,两者是完全不一样的旋转。原创 2025-01-16 04:11:59 · 869 阅读 · 0 评论 -
常见的三维坐标系(RDF/DRB/RUB/LUF)
以上坐标系均满足右手法则,是右手系的坐标系。原创 2025-01-14 00:57:28 · 182 阅读 · 0 评论 -
多相机系统中的相机标定(Calibration)
在三维重建领域,COLMAP或者DUST3R被用作常见的相机标定算法,通过立体匹配的方式得到相机的位姿,可以用于重建任务。先不说其在稀疏视点下通常无法完成标定,更重要的是,其估计的只是相对位姿,无法给出真实世界的尺度。相机标定(Camera Calibration)在多相机系统和三维视觉等领域极为重要,不仅能构建二维相机平面和三维世界坐标的相互关系,1,棋盘格的挑选与购买,要求:够大、不要有明显的镜面反射。本文采用的是GP400规格的标定板。本文介绍一种用棋盘格标定板的相机标定步骤。原创 2024-12-30 10:42:32 · 300 阅读 · 0 评论 -
三维空间中的球坐标系
初中数学接触过极坐标,用半径r和与x轴夹角θ来表示二维平面上一个点的位置。球坐标系就是极坐标系在三维上的推广。球坐标系在三维场景中非常常见,在三维交互性的设计中也免不了球坐标系的应用,如AR/VR头显中的陀螺仪传感器等。原创 2024-05-17 11:19:37 · 1290 阅读 · 0 评论 -
Linear Blend Skinning (LBS)线性混合蒙皮
假如我们重建好一个人体,现在用全新的姿态对其进行驱动。由图1,2可知,点A在胳膊关节的坐标依旧是(3,1),在手肘关节的坐标从(-1,1)变为了(1,1),我们。,那么手肘关节的坐标在变换后变成了(5,1)。注意,这里的0.8和0.2分别是两个关节点对点A影响点权重。我们最后得到的点A坐标即为(3.4,1)。答:可以通过欧氏距离,也可以自己规定,现在也有很多基于学习的方法。假设我们要确定一直手臂在弯折90度之后,表面的A点的移动位置。手臂弯折后A点的位置就可以通过LBS来进行计算。A点受两个关节点影响。原创 2024-04-25 14:25:48 · 2681 阅读 · 0 评论 -
python读取ply文件
ply文件,是"Polygon File Format"的简称,即多边形文件格式。一般可以理解为,一个ply文件表示一个三维图形。python常见的读取ply文件的方法有两个:plyfile和open3d原创 2024-03-28 20:56:20 · 3512 阅读 · 0 评论 -
Mesh网格obj文件构成解析
众所周知,Mesh网格是三维重建的常用手法,通过顶点-三角面的形式来完成对三维物体的表达。其中,最常见的Mesh网格文件格式就是obj格式。f后面的三个数字表示顶点的索引值,一个用三个顶点,对应的索引值是[1,2,3]。三个v和1个f,我们保存退出以后,即可用MeshLab打开这个。在文件中,三角形的顶点用三个v表示,f表示三个顶点的一个三角面。原创 2024-03-18 22:08:00 · 2179 阅读 · 0 评论 -
三维高斯是什么
最近3DGS的爆火,引发了一众对三维高斯表达场景的研究。这里的三维高斯是什么?本文用简答的描述和简单实验来呈现三维高斯的数学意义。本文没有公式推导,主打一个意会。我们高中都学过高斯分布,即一个钟形曲线。它的特点是有一个中心,两边递减。在计算机领域上的优势是:用两个参数(�,�)(μ,σ)可以表示一个分布。OK,我们继续推广到二维的情况,在CV领域常用一个trick是高斯模糊(即 Gaussian Blur),在关键点的周围模糊一个范围。原创 2024-03-15 01:07:36 · 2039 阅读 · 0 评论 -
用3D高斯泼溅(3DGS)重建自己的数据
几乎可以下结论:3D Gaussian Splatting(3DGS)技术的出现,宣告了NeRF时代的结束。一个集高渲染质量、分钟级重建速度、实时渲染速度为一身的三维重建算法3DGS,毫无疑问开创了一个新的时代。本文不对3DGS的原理做太深入的解读,只做实验。,因为colmap会默认选用【SIMPLE_RADIAL】,而这个是3DGS不支持的模式。folder_A是数据路径,folder_B是结果路径。本文由本人亲自整理,实验获得成功。一个图像文件夹,每个视角各一张图片,命名方式如上。原创 2024-03-05 15:59:51 · 8653 阅读 · 21 评论 -
3DGS中的alpha-blending
blending是一种三维应用里常见的技术。概念上十分简单:两个或者多个图层的按照不透明度进行融合。这个公式就表示A对B的。原创 2023-12-29 02:46:44 · 1268 阅读 · 0 评论 -
【AI数学】NeRF中的球面谐波函数(Spherical Harmonics)
球面谐波(SH)因为其良好的性质活跃在NeRF、Plenoxels、3DGS等显隐式场景表示的方法中。问:球面谐波是什么?答:一组基函数。可以理解为傅里叶分解的一种特殊形式,即“任何函数都可以用这组基的算术组合来近似”。原创 2023-12-21 18:16:32 · 3937 阅读 · 0 评论 -
世界坐标系的正方体投影到二维视角【python实验】
为了更进一步理解相机内外参数对应的几何意义,特意设计了一个Python实验。希望对相关初学者有帮助。原创 2023-11-03 15:06:09 · 357 阅读 · 0 评论 -
世界坐标系投影到像素坐标系【python实验】
对于三维视觉而言,需要清晰了解世界坐标系和像素坐标系的对应关系。本文用python做实验。相机内外参数的数学推导可以看我之前的博客《【AI数学】相机成像之内参数》,《【AI数学】相机成像之外参数》。原创 2023-11-01 20:02:37 · 1126 阅读 · 1 评论 -
【AI数学】三维视觉中的四种坐标系
三维视觉中,需要掌握四种坐标系:世界坐标系、相机视角坐标系、NDC坐标系、屏幕坐标系。原创 2023-11-01 17:23:28 · 1875 阅读 · 0 评论 -
Instant-NGP中的多分辨率哈希编码
Instant-NGP的出现,无疑给神经表达领域带来了新的生命力。可认为是NeRF诞生以来的关键里程碑了。首次让我们看到了秒级的重建、毫秒级的渲染的NeRF工作。作为如此顶到爆的工作,Instant-NGP毫无疑问斩获SIGGRAPH 2022的最佳论文。虽然只是五篇最佳论文之一,但就目前的引用量看来,飙升到1000+引用量的Instant-NGP更像是the best of the best。夸归夸,我们研究一下Instant-NGP为何能让包括NeRF在内的四个神经表示任务都达到SOTA呢?原创 2023-10-26 19:21:55 · 2563 阅读 · 0 评论 -
经典人体模型SMPL介绍(一)
SMPL是马普所提出的经典人体模型,目前已成为姿态估计、人体重建等领域必不可少的基础先验。SMPL基于蒙皮和BlendShape实现,从数千个三维人体扫描结果得来,后通过PCA统计学习得来。前者决定人体的高矮胖瘦身材比例等,后者决定人体具体姿态。最初始版本(v1.0.0)的SMPL模型有两种性别,对应两个人体模型。主页:https://smpl.is.tue.mpg.de/index.html。SMPL是多个人体模型,这些人体模型的形状、姿态都可以被参数化表示。SMPL参数一般分为两组:体型参数。原创 2023-08-16 22:45:24 · 11705 阅读 · 3 评论 -
【AI数学】相机成像之外参数
在一个多视点计算机视觉系统里,系统输入除了多个视角的图像外,一般还需要输入对应视角下相机的内外参数。其中,相机内参数决定了图像坐标系和相机三维坐标系的映射关系,而相机外参数则决定了相机三维坐标系和世界坐标系的对应关系。这两组对应关系描述了多视几何的数学基础。原创 2023-06-08 16:18:15 · 2049 阅读 · 0 评论 -
NeRF详解
对于三维重建方向的研究人员来说,NeRF的重要性不言自明。NeRF作为ECCV2022的最佳论文提名之一,是值得精读的经典论文之一。不过,NeRF所涉及的图形学知识过多,对于纯CVer阅读起来较为吃力。本文旨在用朴素易懂的概念来解释NeRF的基本原理。如有不明白之处,欢迎留言交流~NeRF,全称Neural Radiance Field,即神经辐射场。要了解NeRF,首先要知道NeRF是干嘛的,答:三维场景的新视角合成。NeRF是一种使用神经网络来隐式表达3D场景的技术。原创 2023-04-03 18:59:27 · 31120 阅读 · 10 评论 -
COLMAP多视角视图数据可视化
这篇博文主要介绍多视角三维重建的实用工具COLMAP。为了让读者更快确定此文是否为自己想找的内容,我先用简单几句话来描述此文做的事情: 假设我们针对一个物体(人)采集了多个(假设60个)视角的照片,希望用COLMAP实现:(1)通过不同视角之间的特征匹配算出每个视角的相机位资(内外参);(2) 对物体进行初步的稀疏重建,完成多视角数据的可视化(详见图3)。原创 2023-03-25 17:34:43 · 3216 阅读 · 2 评论