3D Vision and Graphics Research

Other

3D视觉与计算机图形学研究助手。覆盖NeRF/3D Gaussian Splatting/点云处理/ 网格重建/纹理映射/光线追踪等方向。提供论文解读、算法对比、代码实现、 数据集推荐、实验设计指导。支持Blender/Houdini/Open3D/PyTorch3D等工具链。

Install

openclaw skills install 3d-vision-graphics

3D Vision & Graphics Research

核心能力

能力维度覆盖范围输出质量
论文解读NeRF / 3DGS / InstantNGP / SuGaR / Mip-Splatting 等100+篇含核心公式推导 + 创新点分析
算法对比PSNR/SSIM/LPIPS 基准对比表按数据集/场景分类
代码实现PyTorch / CUDA / Taichi 多后端含注释 + 训练配置
数据集推荐30+ 常用3D数据集(含规模/场景/许可)按任务类型索引
工具链指导Blender / Open3D / PyTorch3D / Kaolin / Houdini含安装配置 + 常见坑
实验设计消融实验 / 对比实验 / 可视化方案含评估指标选择建议

触发场景

  • "解释3D Gaussian Splatting的核心原理"
  • "NeRF和3DGS有什么区别"
  • "如何训练自己的3DGS模型"
  • "推荐3D重建数据集"
  • "点云配准用什么算法"
  • "如何在Blender中渲染点云"
  • "InstantNGP的加速原理"
  • "SuGaR如何从3DGS提取网格"
  • "3D视觉领域最新SOTA是什么"
  • "Mip-NeRF 360的贡献在哪里"

算法知识库

神经辐射场 (NeRF) 家族

方法年份核心创新训练时间渲染速度PSNR (Synthetic)
NeRF2020 ECCVMLP隐式表示 + 体渲染~12h~30s/frame31.01
Mip-NeRF2021 ICCV锥形采样抗锯齿~12h~30s/frame33.09
InstantNGP2022 SIGGRAPH哈希网格编码~5min~60fps32.78
Mip-NeRF 3602022 CVPR无界场景 + 蒸馏~12h~30s/frame29.48
TensoRF2022 ECCV张量分解~30min~0.5s/frame33.14
Plenoxels2022 CVPR球谐系数 + 体素~11min~2s/frame31.71
Zip-NeRF2023 ICCV网格采样 + 抗锯齿~1h~0.5s/frame33.63
K-Planes2023 CVPR多维平面分解~52min~0.3s/frame32.60

3D Gaussian Splatting (3DGS) 家族

方法年份核心创新训练时间FPSPSNR (Mip-NeRF360)
3DGS2023 SIGGRAPH显式高斯椭球 + 可微光栅化~30min100+27.21
Mip-Splatting2024 CVPR3D频率滤波抗锯齿~40min100+27.65
SuGaR2024 CVPR高斯→网格提取~1h100+27.03
Scaffold-GS2024 CVPR锚点结构化生长~25min100+27.44
GaussianPro2024渐进式优化策略~20min100+27.82
2DGS2024 SIGGRAPH2D高斯盘面表示~30min100+27.39
PixelSplat2024前馈3DGS重建~1s (inference)100+25.89
LatentSplat2024 ECCV潜在空间3DGS~10min100+26.91
Splatter-Image2024 CVPR单视图3DGS生成~0.1s100+23.12

点云处理

任务SOTA方法年份关键指标
分类PointNet++ / PointNeXt / Point-MAE2017-2023OA 93.2% (ModelNet40)
分割PointTransformer V3 / Swin3D2023-2024mIoU 72.6% (S3DIS)
配准GeoTransformer / PEAL2022-2024RR 99.5% (3DMatch)
补全PointTr / AdaPoinTr2021-2023CD 2.85 (ShapeNet)
上采样PU-GCN / SPU-Net2021-2023CD 0.28 (PU1K)
去噪PointCleanNet / PD-Flow2020-2023MSE 0.015
生成LION / 3DShape2VecSet2023-2024FID 4.27
检测PointRCNN / 3DETR / FCAF3D2019-2023mAP 67.3% (ScanNet)

网格处理

任务方法特点
重建Poisson / BPA / Delaunay经典几何方法
简化QEM / Edge Collapse保持拓扑
平滑Laplacian / Bilateral / Taubin去噪保特征
参数化ABF / LSCM / ARAPUV映射
变形ARAP / LBS / Cage-based形状编辑
细分Catmull-Clark / Loop / Doo-Sabin增加分辨率
切割MeshCNN / GraphUNet学习型分割
检索MeshNet / LSNet形状匹配

数据集全览

多视图/场景级

数据集场景数分辨率任务许可
LLFF84032×3024NVSCC BY
NeRF-Synthetic8800×800NVSMIT
Tanks & Temples211920×1080NVS+MVSCC BY-NC-SA
DTU1241600×1200MVSResearch Only
Mip-NeRF 3609~4KNVS(无界)CC BY
ScanNet++460~1.5K重建+分割Research Only
Replica18~1K室内重建Research Only
BlendedMVS1132048×1536MVSCC BY
FreeViewSynthesis122048×1080NVSCC BY
MVImgNet220K对象1080p多视图学习CC BY

物体/实例级

数据集类别数样本数模态许可
ShapeNet5551,3003D模型Custom
ModelNet404012,3113D模型Custom
ABCN/A1M+CAD模型MIT
Thingi10KN/A10,0003D打印模型CC BY
OmniObject3D1906,0003D扫描+多视图CC BY
ObjaverseN/A800K+多模态3DODC-BY
Objaverse-XLN/A10M+多模态3DODC-BY
GSO171,030扫描物体CC BY
ABO986,327电商3D模型CC BY-NC

人脸/人体

数据集内容规模许可
FaceScape3D人脸938人, 20表情Research Only
3DFAW3D人脸关键点23,076帧Custom
HUMBI人体多视图772人Research Only
THuman3D人体扫描200+人Custom
RenderPeople商业3D人体500+商业许可
AMASS人体运动40h+, 300+主体Research Only
ZJU-MoCap动态人体9序列Research Only

工具链指南

Blender Python API 常用操作

import bpy
import numpy as np

# 导入点云
def import_pointcloud(points, colors=None):
    mesh = bpy.data.meshes.new("pointcloud")
    obj = bpy.data.objects.new("pointcloud", mesh)
    bpy.context.collection.objects.link(obj)
    mesh.from_pydata(points.tolist(), [], [])
    if colors is not None:
        color_attr = mesh.color_attributes.new(
            name="Col", type="FLOAT_COLOR", domain="POINT"
        )
        for i, color in enumerate(colors):
            color_attr.data[i].color = color.tolist() + [1.0]

# 导入3DGS PLY
def import_3dgs_ply(filepath):
    from plyfile import PlyData
    plydata = PlyData.read(filepath)
    verts = plydata['vertex']
    xyz = np.stack([verts['x'], verts['y'], verts['z']], axis=-1)
    # 创建球体实例表示每个高斯
    for i, pos in enumerate(xyz):
        bpy.ops.mesh.primitive_ico_sphere_add(
            subdivisions=1, radius=0.01, location=pos
        )

# 渲染设置
def setup_cycles_render(samples=128, resolution=(1920, 1080)):
    bpy.context.scene.render.engine = 'CYCLES'
    bpy.context.scene.cycles.samples = samples
    bpy.context.scene.render.resolution_x = resolution[0]
    bpy.context.scene.render.resolution_y = resolution[1]
    bpy.context.scene.cycles.device = 'GPU'

Open3D 点云处理

import open3d as o3d
import numpy as np

# 读取与可视化
pcd = o3d.io.read_point_cloud("scene.ply")
o3d.visualization.draw_geometries([pcd])

# 降采样
pcd_down = pcd.voxel_down_sample(voxel_size=0.02)

# 法线估计
pcd.estimate_normals(
    o3d.geometry.KDTreeSearchParamHybrid(radius=0.1, max_nn=30)
)

# ICP配准
reg_p2p = o3d.pipelines.registration.registration_icp(
    source, target, max_correspondence_distance=0.05,
    init=np.eye(4),
    estimation_method=o3d.pipelines.registration.TransformationEstimationPointToPoint()
)

# 泊松重建
mesh, densities = o3d.geometry.TriangleMesh.create_from_point_cloud_poisson(
    pcd, depth=9
)

# 半径离群点去除
cl, ind = pcd.remove_radius_outlier(nb_points=16, radius=0.05)
pcd_clean = pcd.select_by_index(ind)

# DBSCAN聚类
labels = np.array(pcd.cluster_dbscan(eps=0.02, min_points=10))

常见问题排查

问题原因解决方案
3DGS训练发散学习率过大/初始化不当降低lr至1e-4,检查COLMAP稀疏点
点云配准失败初始位姿差过大先用FPFH+RANSAC全局配准
CUDA OOM场景过大/分辨率过高降低SH阶数或分辨率,使用gradient checkpointing
网格有洞点云密度不足增加视角数,调整泊松深度
渲染闪烁高斯排序不稳定增加densification迭代
训练慢未使用custom CUDA kernel安装diff-gaussian-rasterization
颜色失真色调映射错误检查linear/sRGB色彩空间
几何塌陷正则化不足增加depth/normal正则化损失

注意事项

  1. 学术用途需遵守数据集许可协议
  2. 3DGS相关代码需要CUDA 11.6+和合适的GPU
  3. 商业项目注意区分开源(Apache/MIT)与Research Only许可
  4. 大场景训练建议至少24GB显存
  5. 点云处理建议使用Open3D 0.18+
  6. Blender脚本注意bpy在headless模式下需要特殊配置

定价

¥0.50/次,使用支付宝AI收协议。每次调用提供完整的论文解读/算法对比/代码指导/实验设计方案。