- 博客(32)
- 资源 (5)
- 收藏
- 关注
原创 C++高效读取大规模文本格式点云(windows)
C++高效读取大规模文本格式点云(windows)执行效率明显优于ifstream + stof
2025-04-03 15:50:16
148
原创 C++多项式Lasso回归(多变量函数拟合)
多项式回归和Lasso多项式回归的主要区别在于Lasso回归引入了 L1 正则化,从而具备了特征选择能力和对过拟合的抑制能力。如果数据存在明显的非线性关系且特征数量较少,多项式回归可能是一个不错的选择;但如果数据特征较多且需要进行特征选择和提高模型泛化能力,Lasso多项式回归则更为合适。
2025-02-21 22:36:00
1002
原创 PCL点云处理——球面点云提取+拟合
(3)点云聚类,忽略点数较少的簇,剩余较大的簇拟合球,计算球-平面距离。一平板上沾有多个球,使用激光扫描仪获取点云,包括平板点云+多个球冠点云;(2)剔除距离平面一定距离范围内的点,余下所有球冠点;提取各球点云,拟合球面参数,求取球到平板距离。(1)求平板平面:降采样,提取最大平面;
2025-02-20 08:19:17
300
原创 四边形网格处理——沿Edge遍历 & 矩形域顶点提取
四边形网格沿Edge遍历的大致思路,Edge首尾点分别为a,b,首先分别找到a,b邻接的所有面,取b邻接面的所有与b邻接的顶点,从这些顶点中再筛选出不属于a的邻接面的顶点,即沿Edge遍历的下一个顶点。
2025-02-07 15:04:46
766
原创 双归一化(Dual Normalization)在点云匹配任务中的应用
dual_normalization的含义 在点云匹配中,dual_normalization(双重归一化)是一种用于优化匹配过程的技术,旨在通过两次归一化操作来提高匹配的鲁棒性和准确性。它主要用于处理点云特征之间的相似性矩阵,通过归一化操作平衡不同特征之间的匹配得分
2025-02-07 11:01:43
492
原创 PPFStructualEmbedding & GeometricStructureEmbedding 模块实现源码精读
PPFStructureEmbedding 是一种基于 Point Pair Features (PPF) 的几何结构嵌入方法,通常用于点云处理任务中。PPF 是一种描述点云中局部几何关系的特征表示方法,广泛应用于点云配准、物体识别和姿态估计等任务。 GeometricStructureEmbedding 类是一个 PyTorch 模块,旨在将点云中的几何结构嵌入到高维空间中。该嵌入捕捉了点之间的成对距离和角度关系,这对于许多 3D 视觉任务(如点云分类、分割或目标检测)至关重要。
2025-02-06 00:00:40
430
原创 VCGLIB构造/深拷贝Mesh
深拷贝现有的Mesh数据,并考虑Face的删除(D)标记,新构造的Mesh中不含已删除的Face,且去除了未引用的顶点。
2025-01-31 21:51:40
140
原创 Soft Actor-Critic算法代码精解
SAC(Soft Actor-Critic) 是一种基于最大熵强化学习框架的算法,专门用于解决连续动作空间的任务。它结合了 Actor-Critic 框架和熵正则化的思想,能够在保证高效学习的同时,鼓
2025-01-22 14:08:05
317
原创 强化学习Actor-Critic算法代码精读(PyTorch,含详细注释)
强化学习Actor-Critic算法代码精读(PyTorch,含详细注释)Actor-Critic算法非常实用,TRPO、PPO、DDPG、SAC等深度强化学习算法都是在Actor-Critic框架下进行发展的。深入了解Actor-Critic算法对读懂目前深度强化学习的研究热点大有裨益。
2025-01-20 16:48:47
173
原创 基于曲率的点云降采样_曲率降采样(PCL+GPU)
基于曲率的点云降采样 pcl+cuda实现可实现尽可能保持细节特征的前提下,减少点云规模。使用CUDA加速,执行效率高。
2024-12-13 13:36:43
495
原创 快速提取规则立方体堆叠的外表面——基于VTK实现(二)
上文中实现的算法,可能存在非流形边的问题(两立方块仅存在一条边邻接)。(2)增加新的立方块,使新的立方块与这两立方块都是面邻接的关系;如果不考虑这个问题的话,实现(一)得内容就可以了。(1)识别出所有在两立方块仅存在一条边邻接的地方;(3)重复上述步骤,直到不存在非流形边。
2024-11-12 19:37:53
189
原创 快速提取规则立方体堆叠的外表面——基于VTK实现(一)
(1)在立方体堆叠方面,执行效率优于vtkCubeSource + vtkAppendPolyData方法;比如两个并排的立方体,一共6+6=12个面,但是中间有两个面是在内部,如何识别出这两个面,并把他们去掉呢?(2)在提取表面方面,效率优于vtkDataSetSurfaceFilter接口;后续可进一步通过使用vtkTriangleFilter将结果转为三角面片。问题:多个立方体面靠面的堆叠在一起,如何提取其外表面。1. 如何实现立方体堆叠;2. 如何清理重复顶点;3. 如何清除内部面;
2024-11-08 17:29:18
259
原创 RIMLS点云滤波算法——具有锐利边缘的点云平滑
是一种用于点云去噪和表面重建的算法。它特别适用于处理具有锐利边缘的点云数据,因为它能够在去噪的同时保留这些边缘特征。RIMLS算法的核心思想是将点云中的每个点投影到一个分段光滑的表面上,这个表面是通过局部拟合点云数据得到的。RIMLS算法能够有效地处理具有锐利边缘的点云数据,同时减少噪声的影响。这使得它在许多应用中非常有用,如三维建模、计算机视觉和几何处理。资源中给出了一种C++实现,基于Github代码。
2024-10-23 10:15:31
1039
原创 Eigen/VCG如何构造和应用局部旋转坐标变换
已知变换后X、Y、Z轴方向向量(至少知道其中两个,第三个可以通过叉乘得到)在变换前坐标系下的表示,可通过这三个方向向量构造一个旋转矩阵。应用旋转矩阵得到变换后的向量表示。
2024-10-20 21:21:41
317
原创 CGAL生成闭合凸曲面后如何调整法线方向(翻转法向)
一个可能遇到的问题是,生成的曲面法向方向错误,期望法向为曲面→曲面外侧,实际为曲面→曲面内侧,此时需要进行法向翻转。一种可行的方法是,计算曲面上一点法向,计算曲面质心指向该点向量,通过判断法向和该向量的夹角来决定是否进行法向翻转。
2024-10-16 11:19:03
196
原创 CGAL的Surface_mesh中K-邻域(K-ring)顶点查找
在三维几何处理中,尤其是在处理网格(如三角网格)时,K-ring的概念经常用来描述顶点周围的局部几何结构。例如,在表面重建、特征提取、网格编辑、曲面平滑等应用中,K-ring可以用来定义平滑操作的邻域范围,或者用于识别和处理网格中的特定特征点。
2024-10-14 16:36:21
271
原创 CGAL中判断Surface_mesh的一条边是凸边(Convex)还是凹边(Concave)
对于每条边,计算其两个相邻面的法线,然后计算这两个法线向量之间的角度。如果这个角度大于180度,则该边为凹边;如果小于180度,则为凸边。
2024-10-13 17:21:35
174
原创 CGAL选取Surface_mesh中ROI生成新的mesh
CGAL选择Surface_mesh中的一部分面片组成新的Surface_mesh选择的条件可以另行修改,这里使用的是到参考点的距离小于某阈值
2024-10-12 16:40:03
140
原创 CGAL类柱面(管状)点云曲面生成+两端封口
CGAL类柱面点云曲面生成+两端封口使用了Advancing Front Surface Reconstruction和孔洞(Hole Filling)填充方法
2024-10-10 10:53:01
1311
原创 三维平面点云与二维坐标点之间的转换(投影法)
在点云处理中经常遇到这样的场景:1. 将平面点云转换为二维点云;2. 对二维点云进行处理,生成新的二维点集;3. 获取新的二维点集对应的原三维空间坐标点;本博客使用CGAL+Eigen实现了此场景。
2024-10-08 16:34:02
183
RIMLS点云滤波算法C++实现
2024-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人