基于组合优化的 3D 家居布局生成看千禧七大数学难题之 NP 问题

简介: 本文探讨了运筹学和组合优化方法在 3D 家居布局生成中的应用,并调研了 AI 生成 3D 场景布局的最新方法。文中结合了家居家装业务的实际应用场景,从算法建模和计算复杂度的角度上阐述了室内设计的布局问题中存在的难点,以及如何用简化和近似的思想来建模 3D 布局生成问题,最终展望了生成式 AI 技术对室内设计行业的推动作用

▐ 运筹学与组合优化问题

室内设计,包括家具物品的选择、布局和材料,是一项需要专业设计师的具有挑战性的任务。在产生出色效果的同时,由艺术家完成的专业室内设计是一个耗时的过程。随着用于建筑可视化和游戏行业的大型虚拟 3D 环境的日益普及,虚拟场景的手动室内设计在时间和资源方面变得异常昂贵。因此,需要自动化室内设计方法来加快这一过程。

运筹学是寻找最优策略的方法体系。在室内设计中,家具布局和各种装饰品的陈列摆放包含了大量的人类先验和美学认知,除了考量各种规则和空间物理限定,还有赖于设计师发挥自身的经验或使用者本人根据自身审美进行优化设计。例如如何安置大件家具,如何控制空间的紧凑性,桌椅搭配等等。从技术角度,这些设计过程都是一种决策过程,而决策过程总是可以被刻画成一个优化问题,进而可以使用运筹学的方法来解决。运筹学、数学规划(Math Programming)问题的数学表达式,由自变量(Variables)、目标函数(Objective Function)和约束条件(Constraints)组成,所有优化问题本质上都可以化简为由它们组成的数学表达式,然后求解满足约束条件下使得目标函数最大 / 小的变量的值。

组合优化问题(Combinatorial Optimization Problem,COP)是一类在离散状态下求极值的最优化问题。组合优化也叫离散优化,是运筹优化的重要组成部分,其中 "组合" 是排列组合的组合。从字面上理解这个名词,组合优化是要从呈组合数复杂度爆炸式增长的解空间中,寻找最优的解向量,即制定最优决策方案。作为人工智能的重要分支,组合优化与时下大热的统计学习存在着千丝万缕的联系,AI 模型训练与求解组合优化问题的方法往往有异曲同工之妙。因为 AI 的训练同样是一个优化过程,基于深度网络建模一个记忆空间巨大的拟合器并通过最小化目标函数来优化模型参数。组合优化同样是寻找特定目标函数下的最优解,通过数值法对求解变量进行迭代调整,只不过组合优化不使用深度网络而使用一些具有强可解释性的目标约束方程来建模。组合优化问题的数学形式在各种学科中常常出现,通常可以描述为在限制条件 G (x) 下最小化目标函数 F (x),其中自变量 x 在可行域 D 内。

试着将 3D 家具场景布局问题定义一下,现在有一个空房间 R,包含了墙面参数、地面范围、门窗位置等等,我想将一堆的家具模型 F,自动地放置在房间内,并形成合理的布局,那么我需要给出每个家具模型在房间中摆放的位置、角度等结果。每个家具的位置对应着一个三维的求解空间 R,而且每个家具 F 之间是具有关联的,基本的要求不能产生碰撞穿模等等,更高的要求是要符合人类的室内设计认知。因此布局问题的求解空间是巨大的,约束方程也难以完备地定义。

▐ 千禧七大数学难题 ——NP 问题

试着从遍历的方式计算一下上述定义的布局问题的时间复杂度,仅考虑计算每个家具的 3D 位置结果,则把空房间的三维空间离散化,首先这个解空间 是巨大的 (比如离散后以 0.1cm 为单位,假设房间为 10104m,则离散后的解空间 包含了 4*1012 个 点),其次随着家具数量的增加,整个布局的解空间 W 呈现指数增长,对于 N 个物体就是 。还有一个问题是在布局时需要考虑家具俩俩之间的关系进行约束建立,比如桌椅不能碰撞,床头柜要放在床旁边,电视要摆在桌子上面等等,这又是一个阶乘的复杂度。因此从遍历的角度看 3D 布局问题的求解,其复杂度是爆炸的。使用组合优化的方法来建模这一布局问题在计算复杂度和计算效率上充满了考验。

根据计算复杂性理论,组合优化问题可以有 P 问题、NP 问题、NP-complete(NPC)问题,NP-hard 问题四类,它们的定义分别为:

P 问题:可以用确定性算法在多项式时间(也就是 leecode 常说的复杂度是多少)内解决的问题。

NP 问题:可以在多项式时间内验证是否正确的问题。

NPC 问题:它是一个 NP 问题,同时所有的 NP 问题都能在多项式时间内约化到它。(注意,如果这种问题存在多项式时间的算法,那么所有 NP 问题都是多项式时间可解的,即 P=NP)。

NP-hard 问题:所有 NP 都能在多项式内约化到它,但它不一定是一个 NP 问题。

少数组合优化问题是 P 问题,如最小生成树,最短路。大多数组合优化问题没有精确的多项式时间算法,许多组合优化问题是 NP-hard 的,如旅行售货商问题 TSP、最小顶点覆盖问题 MVC 等。可以看出 P 类问题也是 NP 类问题,而两者是否完全相等便是 P/NP 问题,即是否所有 NP 类问题都是 P 类问题,拥有多项式时间的求解算法。P/NP 不单是抽象的数学难题,若得以解决,它在运筹学和密码学等应用领域也将有重大影响,此外还被认为有特别的哲学意义。

P/NP 问题是著名的千禧七大数学难题之一。千禧年七大数学难题(英语:Millennium Prize Problems)是七条由美国的克雷数学研究所(Clay Mathematics Institute,CMI)于 2000 年 5 月 24 日公布的数学难题,解题总奖金 700 万美元。根据克雷数学研究所制定的规则,这系列挑战不限时间,题解必须发表在知名的国际期刊,并经过各方验证,只要通过两年验证期和专家小组审核,每解破一题可获奖金 100 万美元。这些难题旨在呼应 1900 年德国数学家大卫・希尔伯特在巴黎提出的 23 个历史性数学难题,经过一百年,约 17 条难题至少已局部解答。剩下的七个难题为:1.P/NP 问题,2. 霍奇猜想, 3. 黎曼猜想, 4. 杨 - 米尔斯存在性与质量间隙, 5. 纳维 - 斯托克斯存在性与光滑性, 6. 贝赫和斯维讷通 - 戴尔猜想, 7. 庞加莱猜想。而千禧年大奖难题的破解,极有可能为密码学、航天、通讯等领域带来突破进展。迄今为止,在七条问题中,庞加莱猜想是唯一已解决的,2003 年,俄罗斯数学家格里戈里・佩雷尔曼证明了它的正确性。而其它六道难题仍有待研究者探索。

由此可见,组合优化问题的快速可解性一直是数学家关注的难题。NP 问题在实际中通常是非常困难的,甚至是不可能解决的。例如旅行商问题和最小割问题都是 NP 问题。这些问题可能可以通过近似算法或启发式算法来解决,但这些算法并不能保证找到全局最优解。NP 优化问题即是 NP 问题的变种,即在 NP 问题的基础上加上了优化目标,求最优解。由于 NP 问题很难解决,因此 NP 优化问题也是一个很难解决的问题。通常使用启发式算法或近似算法来解决这类问题,但是这些算法也无法保证找到全局最优解。3D 家居布局生成正可以被近似为这样一个 NP 优化问题。

问题定义

现在我们定义一个更加简单的家具布局问题,假设已有设计师为我们设计了初始的家具布局,我们更换其中的一些家具物体来达到泛化效果。此时由于更换前后的物体大小等参数不一致,我们需要设置更好后物体的位置来保证场景的合理性,此时我们只需要微调替换物体的位置,求解空间和约束建模就变得简化了许多,我们可以基于组合优化的方法来实现这个目标。下面对家具布局微调问题建立一个基于组合优化的解决方案。

组合建模优化

微调 3D 场景布局可以建模为一个组合优化问题,其目标函数是在优化过程中不断调整目标物体的位置,将一些关于布局的约束模型的值最小化:

自变量:表示物体 i 的空间位置

目标函数:,为各种约束模型,优化目标即希望各个约束模型的全局损失最小。

约束模型 (举几个例子):

碰撞约束(希望家具和家具之间不产生物理穿模):

p 表示被碰撞检测的两个物体的位置,r 表示物体的最大实际半径

贴墙约束(希望靠着墙的家具保持靠墙):

表示替换后物体到墙面的距离, 表示替换之前物体到墙面的距离墙面范围约束(希望靠着墙的家具在墙面平行轴不要移动到墙外):

表示墙面的起点, 表示墙面的终点,length 表示墙面长度。

空间坐标约束(希望家具的位置总保证在房间内):

其他约束:
可参阅 [1] Fast and Scalable Position-Based Layout Synthesis, TVCG 2018
解空间:离散化三维空间坐标
当建模组合优化问题时使用到一些不等式约束时,也可以选择将不等式约束转换为二次优化问题,使用拉格朗日法求解,如 SVM 建模。

优化步骤

在建模好各种约束模型后,通常和训练神经网络一样,组合优化通过迭代多个轮次求解当目标函数 满足极小值的自变量 。而另一点和训练神经网络一样的是,模型迭代多轮后可能陷入局部最优,除了设定固定轮次迭代,我们同样使用一些早停止技术。

1、获取各个物体初始化位置 position

2、进入更新循环:

3、第一步更新约束模型的刚度权重,, 初始权重为 0

4、计算当前的能量函数,得到当前约束模型的损失 value

5、判断更新条件,如果该约束未达到停止条件,则进行参数传播

6、对每个约束进行传播,计算位置移动的矫正量

7、一个类型的约束,如果一个模型在多个约束里,取一次矫正量的平均

8、所有类型的约束,可能多个约束都对一个模型产生影响,对各个模型进行矫正量进行加权。

9、根据传播得到的加权位置矫正量,更新每个模型粒子的位置参数

10、判断停止条件

11、全局损失 E 小于 e-2 量级

12、连续两轮更新的全局损失 E 小于 e-4 量级

13、结果存放

14、best 存放迭代过程中最小的全局损失 loss

15、best 存放全局损失最小时的所有模型粒子的位置参数

布局生成

通过基于组合优化的家具布局微调策略,我们可以得到一个符合我们设计的约束模型预期的一个布局结果,也就是将原有的家具位置更新为微调后的位置。下面举例表现一下微调策略的能力。下图中桌子与餐椅发生了穿模,椅子的脚已经看不见了,经过微调后,椅子在前面的桌子和后面的植物中间拉扯出了一个极限的放置空间,避免了穿模。微调过程所示图是整个房间以及家具 bbox 俯视图,动图演示了家具调整自己位置的目标方向。

微调前
微调后
微调过程

展望

室内设计是一项极具物理认识、设计理论和行业经验的复杂任务,一个室内设计师通常需要经过多年的学习和实践才能成长为一个出色的室内设计师。而当前 AI 虽然能够一定程度地协助设计师完成一些智能任务,但是还没有出现一个足够强大的 AI 可以一键式自动地完成从样板间设计到布局生成,且保证合理性、美观性、多样性、与 prompt 保持一致性的结果。或许在近期内,随着 AIGC 和 3D 技术的发展,AI 设计师也将降临室内设计领域,从生成单个 3D 模型走向合成丰富复杂的 3D 场景。最后带来两篇 3D 家居布局相关文献分享。

▐ LEGO-Net

当前家具布局也出现了一些基于深度学习的 A 生成布局的方法,下面介绍一下 LEGO-Net。LEGO-Net 希望解决的问题正是将混乱的家具布局微调成一个整齐的合理的符合人类认知的家具布局。LEGO-Net 结合 Transformer-based 的网络和 diffusion 中的 denosing 的思想,设计了一个 denoising Transformer 架构来推理家具的布局位置。巧妙的一点是微调目标希望将混乱的家具布局调整成一个符合预期的合理布局,这与 diffusion model 的思想有异曲同工之妙,因此 LEGO-Net 就将家具布局生产建模成了一个从混乱到整齐的一个 denosing 过程。具体的,LEGO-Net 输入各个家具的位置、角度、类别等参数,编码成特征向量,同时输入布局的俯视图作为 prompt,经过点云学习网络提出一个 prompt 特征,使用 Transformer-based 的网络作为基座来预测 denoising 过程中的家具参数变化。

最终,LEGO-Net 可以实现一个基本的布局生成效果,同时还可以学习一些强规则性的布局规则,如桌椅摆放。

下面是 LEGO-Net 自动调整布局的动态图。

▐ CC3D

另一项工作 CC3D 提出了一个基于单视角图片输入和 2D 俯视布局的生成式 AI 模型来生成 3D 的家具场景。CC3D 输入 2D 布局的语义分割图和噪声向量,使用 StyleGAN2 提取特征并 reshape 到 3D 特征 volume,通过三线性插值后经过 MLP 编码到一个神经辐射场,然后根据一个相机视角渲染出一个 2D 图片并超分到高分辨率图片,然后在 discriminator 中与真实图片对比。另一方面,为了保证一致性,CC3D 从 3D 特征 volume 中采样得到一个布局语义分割图的特征表示添加到 discriminator 与真实布局语义图进行对比。

下面是 CC3D 生成的 3D 家居场景。

参考文献

[1] Weiss T, Litteneker A, Duncan N, et al. Fast and scalable position-based layout synthesis[J]. IEEE Transactions on Visualization and Computer Graphics, 2018, 25(12): 3231-3243.

[2] Wei Q A, Ding S, Park J J, et al. Lego-net: Learning regular rearrangements of objects in rooms[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023: 19037-19047.

[3] Bahmani S, Park J J, Paschalidou D, et al. Cc3d: Layout-conditioned generation of compositional 3d scenes[J]. arXiv preprint arXiv:2303.12074, 2023

相关文章
|
25天前
|
数据可视化 索引 Python
Python用Markowitz马克维兹有效边界构建最优投资组合可视化分析四只股票
Python用Markowitz马克维兹有效边界构建最优投资组合可视化分析四只股票
|
5月前
|
机器学习/深度学习 人工智能 分布式计算
基于组合优化的3D家居布局生成看千禧七大数学难题之NP问题
基于组合优化的3D家居布局生成看千禧七大数学难题之NP问题
|
10月前
|
算法
借助模糊逻辑将文化算法与和谐搜索相结合进行学习——文化和谐学习算法(Matlab代码实现)
借助模糊逻辑将文化算法与和谐搜索相结合进行学习——文化和谐学习算法(Matlab代码实现)
|
10月前
学习总结(人不成熟的五大特征、时间管理法)
学习总结(人不成熟的五大特征、时间管理法)
62 0
|
11月前
|
传感器 数据可视化 算法
全面了解三维重建在建筑领域应用:多种技术思路、落地案例全都有
全面了解三维重建在建筑领域应用:多种技术思路、落地案例全都有
265 0
|
12月前
|
新金融
《未来保险 新金融时代》——二、保险科技的第一性原理——特征4:“综合型、定制型”产品
《未来保险 新金融时代》——二、保险科技的第一性原理——特征4:“综合型、定制型”产品
61 0
|
程序员 测试技术 开发者
以中国传统的孔子和老子的思想分析忍者代码
以中国传统的孔子和老子的思想分析忍者代码
627 0
以中国传统的孔子和老子的思想分析忍者代码
|
存储 人工智能 数据可视化
智慧建筑技术趋势:五个未来的想法和例子
随着建筑物变得越来越复杂,AR和VR都可以促进检测设计和协调错误。建筑信息模型有望为建筑过程带来更高的准确性。在建筑行业,无人机的使用可以在很多方面起到促进作用。
智慧建筑技术趋势:五个未来的想法和例子
|
机器学习/深度学习 人工智能 自然语言处理
探索“植物人”语言能力和意识水平
2020年5月25日,中国科学院脑科学与智能技术卓越创新中心(神经科学研究所)、中国科学院灵长类神经生物学重点实验室王立平研究组与复旦大学附属华山医院神经外科毛颖/吴雪海团队在《自然-神经科学》期刊在线发表了题为《探索意识障碍患者层级语言加工》的合作研究论文。
|
安全 测试技术
新传祺GS4强化舒适性背后,底盘正向研发成为关键因素
新版本在汇集市场反馈的基础上,强化了操稳性和舒适性。一款车能够响应用户反馈并快速进行调整,背后的关键因素是广汽的自主正向开发底盘平台。
217 0