人工智能在户型图自动生成算法中的应用 潘慈辉

QCon大会

2019/05/14 发布于 技术 分类

QCon  QCon2019 

文字内容
1. 基于点云的户型图重建方法 FloorNet & GAN 1 2019 KE.COM ALL COPYRIGHTS RESERVED
2. 2 2019 2019 KE.COM KE.COM ALL ALL COPYRIGHTS COPYRIGHTS RESERVED RESERVED
3. 目的 • 输入为点云,输出为户型图(的一部分) • 目前的目标为帮助摄影师画出一部分墙面,不包括门窗与功能间 • 要求:错误的墙面尽量少,宁缺毋滥 • 误差:不超过10cm • 评价指标: 召回率 预测正确的墙面数量/真实的墙面数量 错误率 预测错误的墙面数量/预测的墙面数量 距离分类 仅针对正确的墙面 精确匹配 预测墙面与真实墙面的距离小于5cm 不精确匹配 过远匹配 3 2019 KE.COM ALL COPYRIGHTS RESERVED 预测墙面与真实墙面的距离在5cm-10cm之间 预测墙面与真实墙面的距离大于10cm
4. FloorNet 算法简介 4 2019 2019 KE.COM KE.COM ALL ALL COPYRIGHTS COPYRIGHTS RESERVED RESERVED
5. 网络结构 5 2019 KE.COM ALL COPYRIGHTS RESERVED
6. 网络结构 • 三个分支:PointNet,FCN,Image • PointNet:输入为点云(9*50000), 直接在上面进行卷积等操作 • FCN:输入为俯视的点云密度图,有 skip connection • Image:Dilated residual network & stacked hourglass CNN • 每个分支的每一层之间共享特征 6 2019 KE.COM ALL COPYRIGHTS RESERVED
7. 训练数据 • 输入:点云[9*50000](经过降采样)、图像特征(现在没有) • 输出:角点的热力图(21种)、功能间的热力图、物品的热力图(现在没有) • 角点:墙13种(I、L、T、X)、门窗4种、物品4种 7 2019 KE.COM ALL COPYRIGHTS RESERVED
8. 网络输出 8 2019 KE.COM ALL COPYRIGHTS RESERVED
9. 问题 • 数据缺失:没有图像特征数据、没有物品数据 9 2019 KE.COM ALL COPYRIGHTS RESERVED
10. 改进 • 将点数从50000增加至200000,边长从256增至512 • 对网络进行简化,只保留FCN部分 512 200000 10 2019 KE.COM ALL COPYRIGHTS RESERVED
11. 结果:还不错 • 模型缩小,训练速度加快 • 性能并没有降低太多(论文里 其实已经给出对比结果了) • 召回率:88.68% 错误率:7.54% 精确匹配:71.61% 不精确匹配:21.04% 过远匹配:7.34% 11 2019 KE.COM ALL COPYRIGHTS RESERVED
12. 结果:正确 12 2019 KE.COM ALL COPYRIGHTS RESERVED
13. 结果:正确 13 2019 KE.COM ALL COPYRIGHTS RESERVED
14. 结果:正确 14 2019 KE.COM ALL COPYRIGHTS RESERVED
15. 结果:有缺少&错误的墙面 15 2019 KE.COM ALL COPYRIGHTS RESERVED
16. 结果:有缺少&错误的墙面 16 2019 KE.COM ALL COPYRIGHTS RESERVED
17. 结果:无法正确预测不封闭的墙面 17 2019 KE.COM ALL COPYRIGHTS RESERVED
18. 结果:无法正确预测不封闭的墙面 18 2019 KE.COM ALL COPYRIGHTS RESERVED
19. 结果:无法正确预测不封闭的墙面 19 2019 KE.COM ALL COPYRIGHTS RESERVED
20. 问题 • 网络输出结果通过一系列复杂规则转化为矢量的户型图(利用Gurobi建模) • 代码冗长,维护不便;且规则严苛,经常出现重建失败的情况 • 所有房间必须封闭、无法重建斜向墙面等 20 2019 KE.COM ALL COPYRIGHTS RESERVED
21. 基于GAN的户型图重建算法 21 2019 2019 KE.COM KE.COM ALL ALL COPYRIGHTS COPYRIGHTS RESERVED RESERVED
22. 对抗生成网络简介 • GAN的基本原理非常简单,这里以生成图片为例进行说明。假设我们有两个网 络G和D: • G是一个生成图片的网络,它通过一个随机噪声噪声生成图片。 • D是一个判别网络,判别一张图片是不是“真实的”。 • 在训练过程中,生成网络G的目标就是尽量生成真实的图片去欺骗判别网络D。 而D的目标就是尽量把G生成的图片和真实的图片分别开来。这样,G和D构成了 一个动态的“博弈过程”。 • 最后博弈的结果是什么?在最理想的状态下,G可以生成足以“以假乱真”的图 片。对于D来说,它难以判定G生成的图片究竟是不是真实的。 • 这样我们就得到了一个生成式的模型G,它可以用来生成图片。 22 2019 KE.COM ALL COPYRIGHTS RESERVED
23. GAN的一种实现:pix2pix • 像素与像素对应的图片风格转换 23 2019 KE.COM ALL COPYRIGHTS RESERVED
24. GAN的一种实现:pix2pix • 像素与像素对应的图片风格转换 • 恰好用于生成户型图? 24 2019 KE.COM ALL COPYRIGHTS RESERVED
25. 数据准备 • 考虑到俯视的点云密度图中会丧失点的高度信息,因此将点云按照高 度(0~0.3、0.3~0.7、0.7~1)划分为3份,分别填入RGB图像的三个 通道中(因为图像数据只有3个通道) • 去掉小于50的像素以抑制噪声 • 点云密度图的分辨率为512*512像素,因为pix2pix网络的原始输入为 256像素,虽然输入大小不受限制,但是如果继续扩大则会因为网络 容量的限制而导致性能下降 • 墙面使用白色,宽度为4像素,如果再细,则输入与输出差距不明显, 难以训练 • 墙面直接绘制在点云密度图上,直接绘制在空白图像中效果不佳,考 虑是点云引入了一定的参考信息 25 2019 KE.COM ALL COPYRIGHTS RESERVED
26. 训练结果 • 点云输入 • 预测值 • 真实值 26 2019 KE.COM ALL COPYRIGHTS RESERVED
27. 矢量化? 27 2019 KE.COM ALL COPYRIGHTS RESERVED
28. 墙面提取结果 28 2019 KE.COM ALL COPYRIGHTS RESERVED
29. 端点调整结果 29 2019 KE.COM ALL COPYRIGHTS RESERVED
30. 结束了吗?还可进一步优化…… 30 2019 KE.COM ALL COPYRIGHTS RESERVED
31. 6. 删除重叠的墙 • 两个距离过近的有重叠部分的墙面会被删除其中一个 31 2019 KE.COM ALL COPYRIGHTS RESERVED
32. 删除单独的墙 • 不与任何墙面有连接的墙面会被删除 32 2019 KE.COM ALL COPYRIGHTS RESERVED
33. 增加墙面 • 将孤立的墙面端点与离它最近的墙面相连 33 2019 KE.COM ALL COPYRIGHTS RESERVED
34. 结果:不如FloorNet • 因为可以调节各个算法 的阈值,所以最终结果 是可以改变的。 • 而召回率与错误率是相 伴相随的,即召回率升 高时错误率也会随之上 升,反之亦然。 34 2019 KE.COM ALL COPYRIGHTS RESERVED
35. 结果 35 2019 KE.COM ALL COPYRIGHTS RESERVED
36. 结果 36 2019 KE.COM ALL COPYRIGHTS RESERVED
37. 结果 37 2019 KE.COM ALL COPYRIGHTS RESERVED
38. 结果 38 2019 KE.COM ALL COPYRIGHTS RESERVED
39. 结果 39 2019 KE.COM ALL COPYRIGHTS RESERVED
40. 算法对比 影响准确率的原因 • FloorNet的输入为[9*200000]的点 云,而GAN的输入为[512*512*3]的 图片,因此GAN的准确率低在情理之 中 • FloorNet可能会出现重建失败的情况, 而GAN无论如何都会输出一些结果 • FloorNet比GAN的速度慢 • 都无法重建非水平竖直的墙面 40 2019 KE.COM ALL COPYRIGHTS RESERVED • 强光下的点云信息缺失 • 卧室的柜子覆盖了整面墙,使得原 始墙面的位置没有点云 • 户型图标注标准不统一(是否标注 墙角的柱子等) • 户型图精度不足(训练集的精度就 无法达到5厘米)
41. 改进方向 • FloorNet: • GAN: (1)去掉功能间和门窗的loss (1)增加点云密度切分的层数以增 (2)不使用已有的矢量化代码,自 己从网络的输出提取结果以提 高重建成功率 (3)后续尝试在网络中补全物品位 置和图像特征的信息 41 2019 KE.COM ALL COPYRIGHTS RESERVED 加数据量,或将输入从点云密 度图改为模型俯视图 (2)将阈值由像素改为真实距离 (3)不断优化对网络输出矢量化的 各种策略
42. 42 2019 KE.COM ALL COPYRIGHTS RESERVED
43. 43 2019 KE.COM ALL COPYRIGHTS RESERVED