三维图形、地理空间、激光点云渲染技术术语解析笔记
三维图形、地理空间、激光点云渲染技术术语解析笔记
code review!
文章目录
- 三维图形、地理空间、激光点云渲染技术术语解析笔记
- 1. Minecraft风格的方块渲染
- 2. Meshing(网格化)
- 3. Mipmapping(多级纹理映射)
- 4. Marching Cubes(行进立方体)
- 5. 3D Point Sprite Rendering(3D点精灵渲染)
- 6. Pseudocolor Visualization(伪彩色可视化)
- 7. Elevation Color Mapping(高程颜色映射)
- 8. Rainbow/Jet Colormap(蓝→红渐变)
- 9. Volumetric Point Rendering(体积点渲染)
- 10. Alpha Blended Rendering(透明混合渲染)
- 11. Cesium OSM Buildings
- 12.常用的激光雷达(LiDAR)点云的可视化方式
- 1. 基础点云渲染模式
- (1) 3D Point Sprite Rendering(点精灵渲染)
- (2) 伪彩色高程/强度映射(Elevation/Intensity Colormap)
- 2. 高级点云处理可视化
- (1) Voxel Grid Downsampling(体素栅格下采样)
- (2) 聚类分割结果可视化
- (3) 地面分割(Ground Segmentation)
1. Minecraft风格的方块渲染
- 解释:指模仿《Minecraft》这款游戏中以立方体(方块)为基本单位进行三维世界构建和渲染的方法。每个方块都是一个独立的体素(Voxel),场景通过大量方块拼接而成,通常带有像素化风格。
2. Meshing(网格化)
- 解释:将体素数据或其他离散数据结构转化为三角网格(mesh)的过程。三角网格是三角形面片组成的3D模型,是现代3D图形渲染的主流格式。网格化使得体素世界能高效渲染和利用GPU加速。
3. Mipmapping(多级纹理映射)
- 解释:为了解决纹理在远距离或缩小时产生的锯齿和闪烁问题,对每张纹理图片生成一系列分辨率递减的版本。渲染时根据距离自动选择合适级别的纹理,提高性能和画质。
4. Marching Cubes(行进立方体)
- 解释:一种经典的等值面提取算法,用于将三维标量场(如体素、医学CT数据等)转化为三角网格。它通过在每个立方体单元上“行进”,判断顶点是否在等值面内,从而生成逼真的表面。
5. 3D Point Sprite Rendering(3D点精灵渲染)
- 解释:用二维的小贴图(sprite)在三维空间中代表体素或粒子等对象的渲染技术。每个点在屏幕上以面向摄像机的方式渲染一个小的方块或圆点,常用于点云、粒子系统等。
6. Pseudocolor Visualization(伪彩色可视化)
- 解释:将灰度图或单通道数据通过特定颜色映射(colormap)转换为彩色图像,以增强数据的可读性。例如,将高低值分别设为蓝色和红色,使结构更明显。
7. Elevation Color Mapping(高程颜色映射)
- 解释:根据地形的高程值(z值)为每个点赋予不同颜色。例如,低海拔为绿色,高海拔为白色或棕色,常用于地形可视化和地图制作。
8. Rainbow/Jet Colormap(蓝→红渐变)
- 解释:一种常用的伪彩色映射方案,将数值从最低到最高分别映射为蓝、绿、黄、红等颜色,形成彩虹色渐变。Jet是matplotlib等常见的默认colormap,但有时会因感知不均匀被批评。
9. Volumetric Point Rendering(体积点渲染)
- 解释:用大量点(point cloud)表示三维体积数据,每个点可有颜色、透明度等属性。渲染时可通过体积效果(如半透明、累加)获得体积感,适用于医学、科学可视化等场景。
10. Alpha Blended Rendering(透明混合渲染)
- 解释:通过α通道(透明度)对像素颜色进行混合,实现透明、半透明等效果。适用于玻璃、水、体积云等需要透明度表现的对象渲染。
11. Cesium OSM Buildings
-
解释:Cesium是一款Web三维地球引擎,“Cesium OSM Buildings”是其基于OpenStreetMap数据的全球建筑物3D渲染插件。它能在真实地理位置上显示大量建筑的3D模型,常用于地理信息系统(GIS)可视化。
-
- 建筑体块特性
- 高度体块为主:OSM Buildings默认使用OpenStreetMap中的建筑轮廓(footprint)和高度数据(如
height
、levels
标签)生成简化的三维体块,无精细外立面结构(如窗框、阳台等细节)。 - 数据依赖:细节程度取决于OSM数据的丰富性。若OSM中某建筑包含分层高度或立面信息,可能生成阶梯状体块,但依然缺乏真实几何细节。
-
- 外立面纹理处理
- 基础材质贴图:默认使用程序化生成的纯色或简单材质(如灰白色混凝土效果),而非真实照片纹理。这是为了平衡性能和视觉效果。
- 无真实贴图的原因:
- 数据限制:OSM本身不存储建筑外观照片或高分辨率纹理。
- 性能优化:真实贴图需大量显存和带宽,不适合大规模场景的实时渲染
12.常用的激光雷达(LiDAR)点云的可视化方式
1. 基础点云渲染模式
(1) 3D Point Sprite Rendering(点精灵渲染)
- 特点:
- 每个激光点用屏幕空间的固定大小像素点(如方形或圆形)表示。
- 优点:渲染高效,适合实时显示原始点云(如
/velodyne_points
话题)。 - 缺点:缺乏深度层次感,远距离点可能遮挡关键信息。
- RViz配置:
- 选择
PointCloud2
显示类型,设置Style
为Points
,调整点大小(Size
)和颜色通道(如强度/高度)。
- 选择
(2) 伪彩色高程/强度映射(Elevation/Intensity Colormap)
- 用途:
- 高程映射:将点的Z坐标(高度)映射为彩虹色(Jet)或地形色(如绿→白渐变)。
- 强度映射:将反射强度(Intensity)映射为灰度或热力图(如低强度=蓝,高强度=红)。
- 应用场景:
- 快速识别障碍物高度差异或反射特性(如金属vs植被)。
2. 高级点云处理可视化
(1) Voxel Grid Downsampling(体素栅格下采样)
- 用途:
- 降低稠密点云的数据量(如64线激光雷达→体素化后的稀疏点云)。
- 在RViz中可通过
pcl::VoxelGrid
滤波后显示,平衡实时性与细节。
- 视觉表现:
- 点云呈现均匀分布的“颗粒感”,远处区域细节丢失但轮廓保留。
(2) 聚类分割结果可视化
- 算法依赖:
- 欧式聚类(
pcl::EuclideanClusterExtraction
)或深度学习分割(如PointPillars)。
- 欧式聚类(
- RViz显示:
- 不同聚类用随机颜色区分(如
MarkerArray
显示包围盒或凸包)。
- 不同聚类用随机颜色区分(如
(3) 地面分割(Ground Segmentation)
- 常用方法:
- RANSAC平面拟合或射线法(如
pcl::SACMODEL_PLANE
)。
- RANSAC平面拟合或射线法(如
- 可视化:
- 地面点设为绿色,非地面点(障碍物)设为红色,突出可行驶区域。