
Scan2CAD把1.4万个CAD模型自动放到扫描上怎么跑【免费下载链接】Scan2CAD[CVPR19] Dataset and code used in the research project Scan2CAD: Learning CAD Model Alignment in RGB-D Scans项目地址: https://gitcode.com/gh_mirrors/sc/Scan2CADScan2CAD 是 CVPR 2019 Oral 论文的开源项目用 3D 卷积神经网络学习把 CAD 模型放到哪里——输入是 RGB-D 扫描带深度信息的三维扫描输出是模型在场景中的位姿。官方数据集含 1506 个真实室内扫描、14225 个 CAD 物体、97607 个人工标注的关键点对应跟着本文可以直接跑通扫描 → 对齐 → 输出网格的全流程。从克隆到首批训练样本依次执行这几步先拿到代码git clone https://gitcode.com/gh_mirrors/sc/Scan2CAD cd Scan2CAD完整数据集ScanNet 扫描、ShapeNet 模型库、Scan2CAD 标注需要单独申请但仓库 Assets/ 里已自带示例数据Parameters.json 也预先指向这些示例目录所以可以先用样例把整个流程跑通再换全量数据。接着按顺序做四件事预览标注python3 ./Routines/Script/Annotation2Mesh.py在 3D 视图里看到扫描与 CAD 模型的叠放效果。编译 C 模块分别在 Vox2Mesh、DFGen、CropCentered 目录执行make。体素化 CADpython3 ./Routines/Script/CADVoxelization.py把网格模型切成神经网络能吃的体素网格体素是三维像素把空间切成一个个小方块。生成训练样本python3 ./Routines/Script/GenerateCorrespondences.py为每个物体对产出 4 样东西扫描的中心裁剪、CAD 上的热图heatmap即关键点位置概率图、CAD 的缩放值、以及两者是否语义匹配的标志位。 注意对完整数据集跑第 4 步会生成约 500GB 数据示例数据则小得多首次运行建议用样例验证环境。训练样本长什么样左图是扫描的中心裁剪3cm 分辨率体素右图是 CAD 模型上的热图亮点就是关键点最可能出现的位置一个拼图类比看懂网络如何找到正确位姿核心机制类似玩连线拼图网络把扫描裁剪喂进去在 CAD 模型上输出一张概率图——哪个体素越亮说明对应的扫描点越可能落在那里。拿到概率图后Alignment9DoF.py 再解出 9DoF 位姿3 个平移 3 个旋转 3 个缩放参数模型就被正确摆进场景了。这条流水线有三个关键件体素化扫描用 3cm 网格、截断距离 15cm 存成 SDF有符号距离场每个体素记录到表面的距离和内外关系CAD 存成无符号 DF示例见 scannet-voxelized-sdf-sample。网络结构model.py 里的Model3d是 3D 卷积编码器-解码器特征通道从 8 层数增长到 64输入是 63×63×63 的裁剪网格。训练入口run.sh 已配好默认参数——batch size 8、学习率 0.001、损失权重 64直接执行即可开训。cd Network/pytorch ./run.sh官方还预留了一个隐藏测试集97 个扫描、1160 个物体、7557 个关键点用于基准评测保证不同方法在相同条件下比较。看最终效果把对齐结果转成网格训练完成后对齐脚本会收集每个场景的网络输出交给 C 程序解最优位姿结果写进 CSV再转成网格就能直接查看摆放效果cd Routines/Script python3 Alignment9DoF.py --projectdir /Network/pytorch/output/dummy python3 Alignment2Mesh.py --alignment ./tmp/alignments/dummy/scene0470_00.csv --out ./下图是数据集标注与包围盒的可视化可以切换显示扫描、CAD、包围盒三种图层用来人工检查对齐质量很直观三个高频问题及原因⚠️ 跑之前先扫一眼这张表能省不少排查时间现象最可能原因去哪里查main.py 报 train-list does not exist训练数据还没生成先跑 GenerateCorrespondences.py再确认 Assets/training-data/ 下有 trainset.json对齐后没有任何 CSV 输出C 程序未编译或路径不对Alignment9DoF.py 会调用../AlignmentHeatmap/build/main先确认编译产物存在注意调用失败会被静默吞掉不报错磁盘一下少了数百 GB全量数据生成本来就是 500GB 级先用仓库样例数据验证环境再换全量数据集接下来你可以做的三件事用内置样例把整条流水线端到端跑一遍和 output-network 里的示例输出对比你的结果。想改进效果从 model.py 的网络结构或 losses.py 的损失函数入手改完提一个 PR。论文里用了这套数据集的话按 README 的引用格式加上出处数据集申请和基准入口说明都在 README 里。【免费下载链接】Scan2CAD[CVPR19] Dataset and code used in the research project Scan2CAD: Learning CAD Model Alignment in RGB-D Scans项目地址: https://gitcode.com/gh_mirrors/sc/Scan2CAD创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考