UI-Diffuser——使用生成式扩散模型的UI原型设计算法解析

概述。

移动UI是影响参与度的一个重要因素,例如用户对应用的熟悉程度和使用的便利性。如果你有一个类似的应用程序,你可能会选择一个具有现代、好看的设计的应用程序,而不是一个旧的设计。然而,要从头开始研究什么样的UI最适合应用开发,需要花费大量的时间和精力。

因此,为了支持UI设计,本文提出了UI-Diffuser,它应用了最近得到显著发展的生成性人工智能(稳定扩散),来自动生成UI原型。

UI-Diffuser "通过简单地输入简单的文本提示和UI组件来为你生成UI设计,如果你使用过ChatGPT,你可能已经意识到,自2022年以来,一个生成性的人工智能会为你生成几个候选方案。你会发现,让它们被创造出来,然后修改它们要比从头开始想办法要容易得多,也容易得多。

这篇文章描述了这个UI-Diffuser是如何工作的,以及它的作用。

UI-Diffuser

UI-Diffuser "的概述如下图所示,它包括两个步骤:在第一步,你输入一个UI组件(文本、图标、按钮或图片),Stable Diffusion从UI组件中生成一个合理的布局。在下一步,StableDiffusion通过将第一步生成的布局与文本提示(“一个应用程序中的搜索引擎”)相结合,生成UI设计。

第一步,生成布局,使用一种叫做 "LayoutDM "的方法。这是由CyberAgent在2023年提出的(arXiv,博客)。基于指定的组合,一个结构化的用户界面布局被生成,考虑到各种因素,如类别、大小、位置和组件之间的关系等等。对于第二步,用户界面设计的生成,已经提出了以下架构:文本编码器(CLIP)、图像信息创建器(UNet)、图像解码器(VAE)和控制网。

一旦输入LayoputDM生成的布局和文本提示,就会生成UI设计的图像。首先,文本提示被文本编码器(CLIP)转换为标记嵌入,然后图像信息创建器(UNet)根据标记嵌入生成图像 嵌入,最后由图像解码器(VAE)生成用户界面设计的图像。图像解码器(VAE)生成用户界面设计的图像。为了支持额外的输入条件,如布局,控制网被整合到UNet中:由LayoputDM生成的布局被输入到这个UNet整合的控制网中。

UI-Diffuser 的作用

下表显示了一个由’UI-Diffuser’生成的UI设计样本:第一列’组件和描述’显示了输入到’UI-Diffuser’的UI组件和文本提示;第二列’生成的第三行,‘生成的UI’,是最终UI设计的样本:输入UI组件和文本提示,在短短的几秒钟内,UI设计就会在短短几秒钟内生成。

乍一看,由’UI-Diffuser’生成的UI设计似乎是高质量的,但仔细观察就会发现,有些UI组件被遗漏了,有些则设计得有些糟糕。例如,在上表第5行的 "生成的UI "中,"广告 "组件被忽略了。这个样本表明, 由’UI-Diffuser’创建的UI设计更适合作为一个可以为UI设计师提供创意和灵感的工具,而不是作为一个功能齐全的UI原型设计工具 。

总结

本文提出了UI-Diffuser,它可以自动生成带有UI组件和简单文本提示的UI设计图像。演示显示了它的实用性,尽管目前很难用这个工具完全取代UI设计,但它已经显示了作为一个原型设计工具的潜力,可以为UI设计师提供想法和灵感。然而,该工具确实显示了一些问题,例如输入的UI组件没有被包括在生成的图像中,以及设计质量差,因此需要进一步改进。

研究小组打算对UI-Diffuser进行全面的评估,首先建立一个改进的基准,然后调查三个关键因素:生成的UI的可设计性、与UI组件的兼容性以及与文本描述的兼容性。

此外,为了加强UI-Diffuser,他们计划在"开发具有高质量屏幕截图描述的数据集"、"从生成的UI图像中剪切组件 "和 "从生成的UI中生成代码 "方面开展工作。例如,关于 “从生成的用户界面图像中剪切组件”,生成的用户界面图像作为用户界面设计的想法是有用的,但通常不能被编辑或直接重复使用。

为了克服这一限制,他们还在考虑一种方法,根据生成的布局图像中的绝对位置来修剪生成的用户界面图像的每个组件。例如,由于UI组件可能会相互重叠,修剪上面的组件可能会导致下面的组件出现空白,他们正在考虑在这种情况下用下面组件的颜色来填补空白的方法。

至于"从生成的UI生成代码",公司也在考虑一个功能,即允许从生成的UI设计中生成与设计相对应的代码:UI-Diffuser生成的布局图像包含组件的类别、尺寸和位置,这样就可以生成相应的代码可以被生成。

现有的设计工具,如Figma,也有搜索设计和检查已创建的设计的代码的能力,但这是一个令人惊讶的耗时和困难的任务。如果用生成性人工智能实现自动化,就有可能更灵活地生成各种设计,而且是用更直观和自然的语言。在未来,预计任何人都能更容易地创建UI设计原型,使应用开发更加高效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6043.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[leetcode]Z 字形变换

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:string convert(string s, int numRows) {int n s.length(), r numRows;if (r 1 || r > n) {return s;}int t r * 2 - 2;int c (n t - 1) / t * (r - 1);vector<string> mat(r, string(c, 0)…

达梦(DM) SQL聚集函数及日期运算操作

达梦DM SQL聚集函数及日期运算操作 聚集函数MAX、MIN、SUM、AVG、COUNT使用分析函数 sum (…) over (order by…) 可以生成累计和更改累计和的值计算出现次数最多的值 日期运算加减日、月、年加减时、分、秒日期间隔之时、分、秒日期间隔之日、月、年求两个日期间的工作天数确定…

Java基础知识(三) -- 流程控制

不论哪种编程语言&#xff0c;都会提供两种基本的流程控制结构&#xff1a;分支结构和循环结构。其中分支结构用于实现根据条件来选择性地执行某段代码&#xff0c;循环结构则用于实现根据循环条件重复执行某段代码。 1. 顺序结构 任何编程语言中最常见的程序结构就是顺序结构…

单片机编程实例400例大全(100-200)

今天继续分享单片机编程实例第100-200例。 今天的实例会比前面100复杂一些&#xff0c;我大概看了下&#xff0c;很多都具备实际产品的参考价值。 今天继续分享单片机编程实例第100-200例。 今天的实例会比前面100复杂一些&#xff0c;我大概看了下&#xff0c;很多都具备实际…

频分复用系统设计及其MATLAB实现

引言 随着通信技术的飞速发展&#xff0c;通信系统的容量需求不断增长。频分复用&#xff08;Frequency Division Multiplexing, FDM&#xff09;作为一种重要的多路复用技术&#xff0c;被广泛应用于现代通信系统中。本文将介绍频分复用系统的设计原理&#xff0c;并展示如何…

简单工厂模式、工厂方法模式和抽象工厂模式

1、简单工厂模式 1.1 结构 简单工厂包含如下角色&#xff1a; 抽象产品 &#xff1a;定义了产品的规范&#xff0c;描述了产品的主要特性和功能。 具体产品 &#xff1a;实现或者继承抽象产品的子类 具体工厂 &#xff1a;提供了创建产品的方法&#xff0c;调用者通过该方法…

springBootAdmin监控

简介 用于对 Spring Boot 应用的管理和监控。可以用来监控服务是否健康、是否在线、以及一些jvm数据等等 Spring Boot Admin 分为服务端(spring-boot-admin-server)和客户端(spring-boot-admin-client)&#xff0c;服务端和客户端之间采用 http 通讯方式实现数据交互&#xf…

一文get等保测评与密评的差异

“等保”即网络安全等级保护&#xff0c;旨在通过不同安全等级的管理和技术措施&#xff0c;确保信息系统的安全稳定运行。我国于2017年颁布的《网络安全法》中第二十一条规定“国家实行网络安全等级保护制度”。法律要求网络运营者需按照网络安全等级保护制度要求&#xff0c;…

快讯! MySQL 8.4.0 LTS 发布(MySQL 第一个长期支持版本)

MySQL 第一个长期支持版本 8.4.0 LTS 发布&#xff0c;社区版下载地址&#xff1a; https://dev.mysql.com/downloads/mysql/ 功能变更 添加或更改的功能 组复制&#xff1a;与组复制相关的两个服务器系统变量的默认值已更改&#xff1a; 系统变量的默认值为 group_replication…

Unity开发一个FPS游戏之四

在前面的系列中&#xff0c;我已介绍了如何实现一个基本的FPS游戏&#xff0c;这里将继续进行完善&#xff0c;主要是增加更换武器以及更多动作动画的功能。 之前我是采用了网上一个免费的3D模型来构建角色&#xff0c;这个模型自带了一把AR自动步枪&#xff0c;并且自带了一些…

Vue Cli脚手架—安装Nodejs和Vue Cli

一&#xff0c;Vue Cli 文档地址: https://cli.vuejs.org/zh/ 二&#xff0c;.环境配置&#xff0c;搭建项目 1.安装node.js 2.下载 node.js10.16.3 地址: https://nodejs.org/en/blog/release/v10.16.3/ 3.安装 node.js10.16.3 , 直接下一步即可, 安装到 d:\program\nodejs…

jupyter notebook使用与本地位置设置

本地安装好Anaconda之后&#xff0c;自带的有Jupter notebook。 使用jupyter notebook 使用jupyter notebook时&#xff0c;可以直接打开或者搜索打开&#xff1a; 打开后&#xff0c;我们生成的或者编辑的一些文件&#xff0c;都可以看到&#xff0c;如下&#xff1a; j…

前端面试和一些建议

最近公司在招前端&#xff0c;我有跟着一起参与面试。我们主要负责面试的人&#xff0c;不会问那些什么闭包&#xff0c;原型链&#xff0c;他觉得那些东西在我们日常开发中用不到&#xff0c;问的基本都是一些工作中的问题。这些问题不是每次都问&#xff0c;但也就问这些了。…

Windows server2016关闭ie增强

要关闭Windows Server 2016上的IE增强安全配置&#xff0c;请按照以下步骤操作&#xff1a; 打开“服务器管理器”。点击“本地服务器”。在服务器管理器中&#xff0c;找到“IE增强的安全配置”&#xff0c;点击旁边的“启用”&#xff0c;打开“Internet Explorer增强的安全配…

香港立法會議員容海恩女士確定出席“邊緣智能2024 - AI開發者峰會”

隨著AI技術的飛速發展&#xff0c;全球正步入邊緣計算智能化與分布式AI深度融合的新紀元&#xff0c;共同演繹著分布式智能創新應用的壯麗篇章。在這一背景下&#xff0c;邊緣智能&#xff0c;作為融合邊緣計算和智能技術的新興領域&#xff0c;正逐漸成為推動AI發展的關鍵力量…

QT5带UI的常用控件

目录 新建工程&#xff0c;Qmainwindow带UI UI设计器 常用控件区 Buttons 按钮 containers 容器 控件属性区域 对象监视区 布局工具区 信号与槽区 简单例子1 放置一个按钮控件&#xff0c;改文本为发送&#xff0c;该按键为Button1&#xff1b; 按钮关联信号和…

STM32开启停止模式,用外部中断唤醒程序运行

今天学习了一下STM32的停止模式&#xff0c;停止模式下&#xff0c;所有外设的时钟和CPU的电源都会被关闭&#xff0c;所以会很省电&#xff0c;打破这种停止模式的方式就是外部中断可以唤醒停止模式。要想实现这个功能&#xff0c;其实设置很简单的&#xff0c;总共就需要两步…

基于GWO灰狼优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络&#xff08;CNN&#xff09;在时间序列中的应用 4.2 长短时记忆网络&#xff08;LSTM&#xff09;处理序列依赖关系 4.3 注意力机制&#xff08;Attention&#xff09; 4…

Visio 2021 (64bit)安装教程

Visio 2021 (64bit)安装教程 ​ 通知公告 Visio 2021 (64位) 是一款流程图和图表设计工具,主要用于创建和编辑各种类型的图表和图形。它提供了一个直观的界面和丰富的功能,可以帮助用户快速绘制专业的流程图、组织结构图、网络图、平面图、数据库模型等。 具体来说,Visio 20…

笔记1--Llama 3 超级课堂 | Llama3概述与演进历程

1、Llama 3概述 https://github.com/SmartFlowAI/Llama3-Tutorial.git 【Llama 3 五一超级课堂 | Llama3概述与演进历程】 2、Llama 3 改进点 【最新【大模型微调】大模型llama3技术全面解析 大模型应用部署 据说llama3不满足scaling law&#xff1f;】…