• AI算法助力室内家具布局


    前言

     

    今天就不给大家单纯介绍枯燥的算法啦,而是带大家一起看一个有意思的AI助力生活小idea:家具布局。

    通过这篇paper也希望启发大家多打开脑洞,既然大家都学了算法,就可以更好的利用它根据自己的兴趣去干些事情,如果能有一些效果,那该是多开心啊~ ,哈哈~,另外里面还有一些常见的算法概念,可以顺便了解下~

    论文链接:https://arxiv.org/pdf/2206.10608.pdf

    ENCODING FURNITURE ARRANGEMENT FLOOR PLANS

    既然要使用模型,所以第一步得量化即怎么对家具进行表征,这里作者是选择StyleGAN3模型(这是一个用以生成图片的GAN模型),作者对各类家具(桌子、凳子等等)进行颜色编码即文章说的color-code,但是相近的类别颜色可能相差也比较大,于是作者通过一个3D embeding来隐式表征,具体做法如下:

    首先对某一个家具类别名通过Universal Sentence Encoder网络来抽取一个512维的向量,然后用t-SNE算法来将其降维到一个3D embedding,然后将每一个channel缩放到一个[0, 255]区间的值,这样就完成了一个RGB颜色的映射,通过这种方式作者一共表征了一千多种家具。

    RECOVERING 3D FURNITURE LOCATIONS AND ORIENTATIONS

    表征好了后,接下来就是训练GAN模型啦也就是论文当中说的RECOVERING重建,论文中用的是一个矩形扫描算法,其能够在给定颜色和子区域的情况下找到最佳的边界其实就是摆放位置,那它是怎么做的呢?它的loss是:最小化矩形内的所有像素颜色和家具类别的 RGB 颜色值的欧式距离。

    GENERATING DIVERSE ARRANGEMENTS

    这里是作者想尽可能多的生成一些布局,提高多样性即生成不同价位和不同数量的家具布置,作者将这一问题视为LSI问题,作者通过QD来搜索StyleGAN3 的潜在空间。听到这里是不是感觉有点不懂了,其实目的很明确,就是在这么多输出布局中要找到一个最好的布局也就是这里说的搜索,就像我们在做大模型的推理的时候,也是用了什么网格搜索本质上是一样的;做这一类任务的前提是得定义量化好什么是“最好的”,专业点的话就是得定义好目标函数和度量函数。

    具体的对于目标函数作者这里定义为最终的局部和空间的网格尽可能的匹配,对于度量函数作者则是从成本角度出发的即算最终布局的家具成本和数量。说白了就是目标函数就是要布局的尽可能的好也就是和人布局的差不多,这是最基本的前提,度量函数就是在其基础上成本尽可能的低,花的钱最少且布局的最好,这不就是这个落地场景的目标嘛。

    EXPERIMENTAL RESULTS

    这部分就是实验啦,具体效果如下:

    ​可以看到右上角就是一个包含大量昂贵家具的布置的布置,右下角是一个空房子,当然还有一些空白这里没有布局是因为不太可能有高价的空房间或有几件低价家具的房间。

    总结

    (1)先不管效果好不好,是不是挺有趣的,如果能将学的一些算法搬到一些有趣的场景不论是生活啊游戏啊等等都是非常好哒。

    (2)从技术角度看“搬”的这一过程其实就是在干“量化”这一件事,怎么将任务定义量化好是最关键的,至于模型什么的只要定义好了问题要用什么技术自然而然就出来了,即使大家不会这一算法也没有关系,找一个目前已经开源的sota模型跑跑就可以啦。

    关注

    欢迎关注,下期再见啦~

    欢迎关注笔者微信公众号:

    github:

    Mryangkaitong · GitHubhttps://github.com/Mryangkaitong

    知乎:

    小小梦想 - 知乎

  • 相关阅读:
    DELL服务器,CPU一直会提示温度超过阈值。针对CPU temperature is greater than the upper crit
    三入职场!你可以从我身上学到这些(附毕业Vlog)
    《QT从基础到进阶·十七》QCursor鼠标的不同位置坐标获取
    基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(二)
    C/C++经典例题:百钱百鸡
    机器学习笔记之线性回归——从概率密度函数角度认识岭回归
    分类预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost多输入分类预测
    解决 uni-app app使用 onBackPress 监听返回后关闭popup 以及使用 uni-simple-router 有冲突问题
    微服务架构整理-(十二、SpringCloud实战之Zuul网关)
    力扣设计循环队列
  • 原文地址:https://blog.csdn.net/weixin_42001089/article/details/125446106