论文《Automatic reconstruction of fully volumetric 3D building models from point clouds》概述
这篇论文中的大量细节和公式化,博客都没有体现出来。
概述
我们提出了一种,从非结构化,未经过滤的室内点云中重建参数化(parametric),体积化(volumetric),多层(multi-story)建筑模型的新方法。
算法流程
0.系统的输入点云是,经过配准,但没有结构化、也没有过滤的点云。
1.平面(plane )检测,平面占用位图(occupancy bitmaps):使用CGAL中的高效RANSAC方法,从原始点云数据中提取平面。每个平面上建立二维占用位图,其中每个像素表达局部点对该平面的support。
2.使用ray casting方法,清除离群点。
3.点云标注/房间分割:采用聚类方法,将属于同一个房间的点云聚为一类,那么每个平面上的点获得对应的room标签R:={r1,...,rn}\mathcal{R}:=\{r_1,...,r_n\}R:={r1,...,rn}。
4.获得surface(指墙面/天花板面):删除support较低的平面,删除不近似垂直或水平的平面,将余下的平面矫正为完全垂直或水平,作为墙面与天花板面候选,即surface。在surface上建立二维多标签位图multi-label bitmap,位图中每个像素有nnn个值,第iii个值代表该像素属于房间iii的可能,由该像素对应的点计算获得。
5.获得墙体/天花板体:搜索法向相对的,近似平行的,距离较近的 一对surface,作为墙体/天花板体。(对于单个surface,为其创建另一个虚拟surface,形成墙体/天花板体)最终获得mmm个墙体/天花板体,构成集合W:={w1,...,wm}\mathcal{W}:=\{w_1,...,w_m\}W:={w1,...,wm}。
6.形成cell:所有的surface相互交叉,构成空间中的凸多面体,我们称为cell。cell可能属于room,或者outside(墙体/天花板体的cell也属于outside)。相邻cell之间的平面称为face(与两个cell接触的有限平面)。
图:算法流程的图示:(考虑可视化,a,c,f中隐藏了天花板)a,系统输入,已经经过配准,但未经过结构化和过滤的点云。b,通过RANSAC检测平面。c,使用无监督的聚类方法自动删除离群值并分割房间。d,将检测到的平面,分为水平平面和垂直平面(图中,仅显示垂直平面)。为平面分配了多标签支持位图。e,3D空间中,所有平面相互交叉,形成了很多cells,作为room,outside space的先验。(f)通过求解一个整数线性问题,来获得最终模型(由相互关联的房间和墙体组成)。
图,检测到的平面是系统进行重建的基础。
算法使用了平面上的多种位图(即二进制平面网格)。
a. 系统的输入点云
b. 平面上的二进制占用位图,Binary occupancy bitmaps,用于表达点云对该平面的支持。
c. 对占用位图进行射线投射(ray cast) 和 聚类可将点云分割成多个房间。不同的房间标注以不同的颜色。
d. 多标签位图(multilabel bitmaps),将点云的房间标签 投影到 平面的多标签位图上,位图中的每个像素包含a soft assignment [0,1]n[0,1]^n[0,1]n,对应n个不同的房间,用于估算3D空间中房间的位置。图中使用与c相同的标签颜色显示多标签位图。
符号准备
cells集合 C:={c1,...,cp}\mathcal{C}:=\{c_1,...,c_p\}C:={c1,...,cp},记号 ca⊣cbc_a \dashv c_bca⊣cb表示两个cell相邻。
cac_aca和cbc_bcb之间的face fca,cbf_{c_a,c_b}fca,cb,同时可以简记为fff,其法向指向cac_aca。
room标签集合:R:={r1,...,rn}\mathcal{R}:=\{r_1,...,r_n\}R:={r1,...,rn}。
墙体/天花板体集合:W:={w1,...,wm}\mathcal{W}:=\{w_1,...,w_m\}W:={w1,...,wm}
outside标签:O:=o\mathcal{O}:={o}O:=o,指代非room空间。
全空间:Ro:=R∪O\mathcal{R}_o:=\mathcal{R} \cup \mathcal{O}Ro:=R∪O
所有的标签: L:=R∪O∪W\mathcal{L}:=\mathcal{R} \cup \mathcal{O} \cup \mathcal{W}L:=R∪O∪W 即room标签,outside标签,墙体/天花板体标签
cell包括room cell和outside cell,其中墙体cell属于outside。我们定义Cw\mathcal{C}_wCw为墙体cell。同时Wc:={w∈W∣c∈Cw}\mathcal{W}_{c}:=\left\{w \in \mathcal{W} | c \in C_{w}\right\}Wc:={w∈W∣c∈Cw}指包含cell ccc的墙体/天花板体。
两个规则
对于一对相邻的cell,cac_aca和cbc_bcb,定义Wcaˉ,cb:=Wcb\Wca\mathcal{W}_{\bar{c_a},c_b}:=\mathcal{W}_{c_{b}} \backslash \boldsymbol{\mathcal {W }}_{c_{a}}Wcaˉ,cb:=Wcb\Wca,那么face fca,cbf_{c_a,c_b}fca,cb是墙体集合Wcaˉ,cb\mathcal{W}_{\bar{c_a},c_b}Wcaˉ,cb的边界。
对于一对相邻的cell,cac_aca和cbc_bcb,定义Wca,cb:=Wcb∩Wca\mathcal{W}_{{c_a},c_b}:=\mathcal{W}_{c_{b}} \cap \boldsymbol{\mathcal {W }}_{c_{a}}Wca,cb:=Wcb∩Wca,那么face fca,cbf_{c_a,c_b}fca,cb在墙体集合Wcaˉ,cb\mathcal{W}_{\bar{c_a},c_b}Wcaˉ,cb的内部。
评估每个标签在cell c中的得分
在cell c中随机选择kkk个点,k=max(volume(c),diameter(c))k=max(volume(c),diameter(c))k=max(volume(c),diameter(c))。并以每个随机点为中心,随机投射出ddd个射线,返回射线hit到的标签。一共k*d个标签(如果射线击中了surface的背面,或者没有返回,视为outside标签),以此评估每个标签在cell c中的占比。
评估每个face的support
因为整个空间是由surface的无限平面分割,那么空间中的一些平面是没有点云支持的,我们为每个surface评估点云的support。
优化 cell 标签
每一个二进制标签,xc,l={0,1}x_{c,l}=\{0,1\}xc,l={0,1},当其为1时,表示标签lll已经分配给cell ccc。注意,每个cell可以分配多个标签(如,墙体交叉处的cell可能有多个墙体标签和outside标签)。
约束条件1:每一个cell,来自Ro\mathcal{R}_oRo的标签最多有一个。即,一个cell,要么属于一个room,要么属于outside。
约束条件2:对每一个face,room标签只能分配给face正方向一侧的cell。(很明显,相机只能在room中获取,任何表面的法向都指向room侧)
约束条件3:墙体标签只能分配给outside cell。
约束条件4:room中的face,同时也是墙体/天花板体的边界。
约束条件5:墙体cell只能出现在face的负方向一侧。
约束条件6:墙体如果终止于某个face,那么face的另一侧也是墙体cell。
最终,我们以以上六条为约束,优化目标函数,获得每个cell的标签。
图:重建效果展示。
论文《Automatic reconstruction of fully volumetric 3D building models from point clouds》概述相关推荐
- 三维目标检测论文:Deep Hough Voting for 3D Object Detection in Point Clouds
3D目标检测框架VoteNet Charles R. Qi,Or Litany,何恺明,Leonidas J. Guibas等 当前主流的3D目标检测方法,很大层度上受2D检测器的影响.充分利用2D检 ...
- 论文阅读 An Information Gain Formulation for Active Volumetric 3D Reconstruction
这是一篇讲基于3D重建这个场景,如何更好地计算information gain的 好像是2016ICRA 也是uzh实验室的 An Information Gain Formulation for A ...
- 【论文阅读】Occupancy Networks: Learning 3D Reconstruction in Function Space
论文题目:Occupancy Networks: Learning 3D Reconstruction in Function Space(占据网络:在函数空间内学习三维重建,简称ONet) 论文作者 ...
- ECCV2022论文汇总:检测/分割/跟踪/3D/深度估计/姿态解算等多个方向!
作者 | 汽车人 编辑 | Autobox 目前,公众号正向大家广泛征稿中,欢迎童鞋们投稿,我们将有一定的稿费支持哦,详细信息请点击: 汽车人,快来投稿了! 数据集 COO: Comic Onomat ...
- 【论文阅读】【综述】3D Object Detection 3D目标检测综述
目录 写在开头 3D Object Detection 相关博客: Sliding window Vote3Deep: Fast Object Detection in 3D Point Clouds ...
- Reconstruction and Representation of 3D Objects with Radial Basis Functions 阅读笔记
Reconstruction and Representation of 3D Objects with Radial Basis Functions 阅读笔记 紧接着上面的连篇blog,本篇学习如何 ...
- CVPR2020论文解读:三维语义分割3D Semantic Segmentation
CVPR2020论文解读:三维语义分割3D Semantic Segmentation xMUDA: Cross-Modal Unsupervised Domain Adaptation for 3D ...
- AAAI 2020 Oral论文--TANet:提升点云3D目标检测的稳健性
点击上方"深度学习技术前沿",选择"星标"公众号 资源干货,第一时间送达 来自华中科技大学白翔教授组的刘哲的 AAAI Oral 论文<TANet: Ro ...
- 全卷积(FCN)论文阅读笔记:Fully Convolutional Networks for Semantic Segmentation
论文阅读笔记:Fully Convolutional Networks forSemantic Segmentation 这是CVPR 2015拿到best paper候选的论文. 论文下载地址:Fu ...
最新文章
- JavaWeb学习总结(一)——JavaWeb开发入门(转载)
- 反其道而行:教人写烂代码的开源项目
- Qt中子线程创建运行时候出现QObject: Cannot create children for a parent that is in a different thread
- Tomcat Server.xml 标签详解 .
- [转载]为什么不推荐使用stop和suspend这两个方法?
- 【问题解决】无法创建新的堆栈防护页面
- SpringBoot2.1.5(16)--- Spring Boot的日志详解
- registry:NoSuchMethodError zookeeper.server.quorum.flexible.QuorumMaj
- sonar扫描android项目配置 mac版
- [渝粤教育] 西南科技大学 公共组织财务 在线考试复习资料
- linux 系统硬件信息检测工具,Linux硬件检测工具
- 常用的浏览器及其内核
- echarts饼状图显示百分比
- 安师大计算机专业排名多少,安师大的计算机专业怎么样
- 双显示器LOL加载游戏提示error无法初始化图形设备解决方法
- x64dbg 修改为dll_X64Dbg使用教程
- Bilibili网站后台代码泄露,从注释看到的一些感想。
- 编程最佳字体_网站上使用的10种最佳装饰字体
- 1X的示波器探头为什么会降低示波器带宽
- 自然辩证法复习题 1
热门文章
- 随机森林预测发现这几个指标对公众号文章吸粉最重要
- 万象物语一直显示服务器更新,《万象物语》新手入门攻略 入坑必看指南
- VMware安装注册表问题
- java for循环打印爱心
- MSC.SIMUFACT.FORMING.V13.3金属成形工艺仿真软件+MSC.SIMUFACT.WELDING.V5.0仿真软件
- iOS App崩溃日志分析
- 种树C语言,种树能让你不玩手机吗?#Forest #app
- 佩戴舒适高颜值蓝牙耳机推荐,更清晰的音质更便捷的操作
- 内网穿透工具Neo-reGeorg的测试
- 怎么进行视频配音?建议收藏这些配音方法