当前位置: 首页 > news >正文

【视觉多模态】- 3D建模尝试 III(室内静态多视角,建模成功)

【视觉多模态】- 3D建模尝试 III(室内静态多视角,建模成功)

  • 背景
  • 新数据新尝试【静态多视角静态室内】
  • 室内3D重建

背景

3D建模一直没成功,试过很多回,静态多视角动态广场、动态多视角静态房间,试过多回,修改参数尝试,都建模失败,基本败在稀疏点云构建环节,所给的图要找出2张特征能匹配对应上的都难,并因此失败。
因此,猜测:

  1. 静态多视角动态广场的失败,猜测主要是图与图之间有很多人在动导致特征在变化,进行了黑色遮罩后每张图留下的特征太少,也很难匹配上,试过用于建模的图像张数:6、10、50、100、200,均建模失败,于是放弃用这个数据集进行3D建模;
  2. 动态多视角静态房间的失败,猜测是视角间重叠度太低、焦点差异显著,而且可用的图很有限,导致图之间特征匹配失败,而稀疏点云建立失败,于是放弃用这个数据集进行3D建模;

新数据新尝试【静态多视角静态室内】

  1. Panoptic Studio(最佳选择)
    配置:120 路同步摄像头(54 个 RGB+66 个深度),环形分布,360° 覆盖
    重叠率:相邻摄像头重叠 > 80%,任意两帧间重叠 > 90%(静态设计 + 同步采集)
    适用场景:室内动态 / 静态场景、人体 3D 重建、多视角融合
    获取方式:https://panoptic.stanford.edu/(需申请)
    Panoptic Studio:多路静态相机 + 极高重叠 + 同步采集,适合验证多路摄像头重建方案;
    斯坦福大学的数据集看起来非常贴合,但需要申请,想想算了。
  2. Replay Dataset(全称:Replay: A Dataset of Synchronized Multi-View Videos for Social Interaction Analysis),由 Meta(原 Facebook)人工智能研究院(FAIR)发布。
    官方主页链接:https://replay-dataset.github.io/

    数据链接:
    {
    “full”: {
    “metadata”: [
    “https://dl.fbaipublicfiles.com/replay/v0/metadata.zip”
    ],
    “videos”: [
    “https://dl.fbaipublicfiles.com/replay/v0/videos_SC-1001-1007.zip”,
    “https://dl.fbaipublicfiles.com/replay/v0/videos_SC-1008-1018.zip”,
    “https://dl.fbaipublicfiles.com/replay/v0/videos_SC-1019-1028.zip”,
    “https://dl.fbaipublicfiles.com/replay/v0/videos_SC-1032-1044.zip”,
    “https://dl.fbaipublicfiles.com/replay/v0/videos_SC-1045-1052.zip”,
    “https://dl.fbaipublicfiles.com/replay/v0/videos_SC-1053-1071.zip”,
    “https://dl.fbaipublicfiles.com/replay/v0/videos_SC-1073-1079.zip”,
    “https://dl.fbaipublicfiles.com/replay/v0/videos_SC-1081-1091.zip”,
    “https://dl.fbaipublicfiles.com/replay/v0/videos_SC-1092-1104.zip”,
    “https://dl.fbaipublicfiles.com/replay/v0/videos_SC-1105-1109.zip”
    ],
    “masks”: [
    “https://dl.fbaipublicfiles.com/replay/v0/mask_videos_SC-1001-1109.zip”
    ],
    “audio”: [
    “https://dl.fbaipublicfiles.com/replay/v0/audio_SC-1001-1109.zip”
    ]
    }
    }
    我只下载了:https://dl.fbaipublicfiles.com/replay/v0/videos_SC-1001-1007.zip,是录像。包含现场11台不同机位的动、静态相机的2分多钟视频。

    有一个围绕转动的相机(G3)中的场景前64秒机位在动,场景内的人物、物件不动。非常吻合建模需求(只要我等时间隔截取帧,就相当于静态多视角静态室内,对于3D建模非常理想,当然,当时只是猜测)
    于是我进行间隔1秒的帧截取,获取64帧图像(相当于64个重叠度极高的不同视角):

    于是得到3D建模用的纯图。

室内3D重建

进行如下流程的建模过程:

# ========== 步骤1:稀疏重建(基础位姿与特征) ==========# 1. 创建COLMAP数据库colmap database_creator --database_path database.db# 2. 特征提取(GPU/CPU兼容,无GUI环境适配)exportQT_QPA_PLATFORM=offscreen xvfb-run colmap feature_extractor --database_path database.db --image_path /data1/projs/airport_human_trail/selected_masked_images --SiftExtraction.use_gpu0# 3. 特征匹配(穷尽匹配,控制匹配数提升精度)colmap exhaustive_matcher --database_path database.db --SiftMatching.use_gpu0--SiftMatching.max_num_matches4# 4. 三角化生成稀疏点云colmap point_triangulator --database_path database.db --image_path selected_masked_images --input_path colmap_sparse/0 --output_path ./colmap_sparse/triangulated# ========== 步骤2:稠密重建(生成深度图+稠密点云) ==========# 1. 图像去畸变(校正镜头畸变)colmap image_undistorter --image_path /data1/datas/videos_SC-1001-1007/extracted_frames_SC-1001_GOPRO-3 --input_path sparse/0 --output_path dense --output_type COLMAP# 2. PatchMatch立体匹配(生成深度图,几何一致性校验)colmap patch_match_stereo --workspace_path dense --workspace_format COLMAP --PatchMatchStereo.geom_consistencytrue--PatchMatchStereo.filtertrue--PatchMatchStereo.num_samples15--PatchMatchStereo.max_image_size2000--PatchMatchStereo.num_iterations5# 3. 立体融合生成稠密点云colmap stereo_fusion --workspace_path dense --workspace_format COLMAP --input_type geometric --output_path dense/fused.ply --StereoFusion.min_num_pixels=3--StereoFusion.max_reproj_error=4# ========== 步骤3:表面重建(点云→3D网格模型) ==========colmap poisson_mesher --input_path dense/fused.ply --output_path dense/meshed-poisson.ply

得到如下结果:


截止当前为止的首次成功,效果确实不好,但可以逐步尝试优化一下。

http://www.jsqmd.com/news/211453/

相关文章:

  • 基于STM32单片机的智能窗帘/晾衣架控制系统 物联网无线控制 蓝牙WIFI传输 定时开关 光线采集 雨滴感应 防盗报警成品套件 DIY设计 实物+源程序+原理图+仿真+其它资料(832-4/5/6)
  • 四层PCB板设计
  • 队列集详解
  • 基于STM32单片机的智能窗帘/晾衣架控制系统 蓝牙系统设计 定时开关 光线采集 雨滴感应 成品套件 DIY设计 实物+源程序+原理图+仿真+其它资料(832-0/1/2)
  • 点击【历史对话】按钮时会弹出下拉列表,现在需要增加一个功能:点击页面其他区域时隐藏这个下拉列表
  • redis存储空间复杂度和时间复杂度的平衡
  • CPU密集型任务与I/O密集型任务详解
  • bss段、data段、text段、heap堆、stack栈的基本概念
  • 【SRC 挖洞赚钱实测】单高危漏洞 2W+!低中高危赏金拆解,挖漏洞平均日收入算给你看
  • 破防了!Java 卷到月薪 8K,转网安直接年薪 40 万 +,2025 自救路线图全公开!
  • 抗干扰更强!8路PWM输出模块:隔离RS485/CAN通讯+占空比精准调节
  • 多元场景通吃的秘密!8路PWM输出模块——集中控制+独立调节,双重模式更灵活
  • 副业封神!挖 SRC 漏洞一个就赚 2W+,网安人轻松躺赚,平均日收入看完馋哭了!
  • 2026年六大GEO优化公司能力测评:技术纵深决定AI搜索霸权
  • 在Windows上编译、安装Rust
  • 救命!失业党狂喜!零成本学网安 3 个月,避开万元培训班,月薪 12K 成功逆袭!
  • 艾莉丝努力练剑的256天创作纪念日:在代码星河中逐梦前行
  • pycocotools绘制标注结果(bbox,segment,pose)
  • 深度测评9个AI论文工具,助本科生轻松搞定毕业论文!
  • 2025 Java 转网安必看:从技能迁移到岗位选择,附 40-150 万安全岗薪资拆解!
  • 从0到1讲解什么是JVM:Java程序员必须掌握的核心知识(附Spring Boot实战案例)
  • 满足成本与性能双重要求:AWS中为访问私有子网EC2的Lambda实施优化方案
  • 网安小白狂喜!Web 安全入门指南:OWASP Top 10 + 漏洞实战,收藏这篇就够了!
  • Spring循环依赖:原理、限制与解决方案深度解析
  • 想做项目经理之前,这几件事你最好先想清楚
  • 并发编程中的CAS机制:原理、实现与应用剖析
  • 挖到宝了!专本科网安自学指南:不看学历,少走 2 年弯路,评论区蹲资料的来!
  • 进程的创建——如何理解fork()系统调用
  • 互斥信号量详解
  • 进程的创建——彻底搞懂fork()的好兄弟 execve()