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/news/831277.shtml

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

相关文章

Java中使用Redis实现分布式锁的三种方式

1. 导语 随着软件开发领域的不断演进,并发性已经成为一个至关重要的方面,特别是在资源跨多个进程共享的分布式系统中。 在Java中,管理并发性对于确保数据一致性和防止竞态条件至关重要。 Redis作为一个强大的内存数据存储,为在Java应用程序中实现分布式锁提供了一种高效的…

静态库、动态库回顾

回顾一下库相关的知识点&#xff0c;总结备忘一下。在某种情况下&#xff0c;你有了如下的代码&#xff0c;结构如下 //pra.h #include <stdio.h> void test_01(); //pra.c #include "pra.h" void test_01() {printf("xxxxxxx----->%s %s()\n",…

typescript类型检查和原始类型

typescript类型检查和原始类型 类型检查 非严格类型是typescript默认的类型检查模式&#xff0c;在该模式下&#xff0c;类型检查的规则相对轻松&#xff0c;不会对undefined和null值做过多的限制&#xff0c;允许将undefined和null值赋给string类型的变量。进行JavaScript代…

【ChatGPT with Date】使用 ChatGPT 时显示消息时间的插件

文章目录 1. 介绍2. 使用方法2.1 安装 Tampermonkey2.2 安装脚本2.3 使用 3. 配置3.1 时间格式3.2 时间位置 4. 反馈5. 未来计划6. 开源协议7. 供给开发者自定义修改脚本的文档7.1 项目组织架构7.2 定义新的 Component(1) 定义一个新的 Component 类(2) 注册该 Component 7.3 一…

ICode国际青少年编程竞赛- Python-1级训练场-基本操作

ICode国际青少年编程竞赛- Python-1级训练场-基本操作 1、 Dev.step(3)2、 Dev.step(1)3、 Dev.step(7)4、 Dev.step(-1)5、 Dev.step(-5)6、 Dev.step(3) Dev.step(-8)7、 Dev.turnRight() Dev.step(1)8、 Dev.turnLeft() Dev.step(1)9、 Dev.step(4) Dev.tur…

自动找出字符串中有符号数字

需求 代码 class Solution:def myAtoi(self, s: str) -> int:s s.strip() # 删除首尾空格if not s: return 0 # 字符串为空则直接返回res, i, sign 0, 1, 1int_max, int_min, bndry 2 ** 31 - 1, -2 ** 31, 2 ** 31 // 10if s[0…

2024年 Java 面试八股文——SpringMVC篇

目录 1.简单介绍下你对springMVC的理解? 2.说一说SpringMVC的重要组件及其作用 3.SpringMVC的工作原理或流程 4.SpringMVC的优点 5.SpringMVC常用注解 6.SpringMVC和struts2的区别 7.怎么实现SpringMVC拦截器 8.SpringMvc的控制器是不是单例模式&#xff1f;如果是&am…

B树:原理、操作及应用

B树&#xff1a;原理、操作及应用 一、引言二、B树概述1. 定义与性质2. B树与磁盘I/O 三、B树的基本操作1. 搜索&#xff08;B-TREE-SEARCH&#xff09;2. 插入&#xff08;B-TREE-INSERT&#xff09;3. 删除&#xff08;B-TREE-DELETE&#xff09; 四、B树的C代码实现示例五、…

蓝桥杯练习系统(算法训练)ALGO-953 混合积

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 众所周知&#xff0c;人人都在学习线性代数&#xff0c;既然都学过&#xff0c;那么解决本题应该很方便。   宇宙大战中&…

如何在postman上提交文件格式的数据

如何在postman上提交文件格式的数据 今天在写一个文件上传的功能接口时&#xff0c;想用postman进行提交&#xff0c;花了些时间才找到在postman提交文件格式的数据。记录一下吧&#xff01; 1.打开postman&#xff0c;选择POST提交方式&#xff0c;然后在Params那一行的Head…

数据分析--客户价值分析RFM(K-means聚类/轮廓系数)

原数据 import os import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn import metrics ### 数据抽取&#xff0c;读⼊数据 df pd.read_csv("customers1997.csv") #相对路径读取数据 print(df.info()) pr…

WPF之自定义绘图

1&#xff0c;创建自定义控件类 class CustomDrawnElement:FrameworkElement{public static readonly DependencyProperty BackgroundColorProperty;static CustomDrawnElement(){FrameworkPropertyMetadata meta new FrameworkPropertyMetadata(Colors.SkyBlue);meta.Affects…

Python-------实现人生重开模拟器

人生重开模拟器 代码展示:实现思路序言一、设置初始属性1.游戏标题2.属性初始化 二、设置角色性别三、设置角色出生点四、针对每一年的岁数&#xff0c;自动生成人生经历总结 代码展示: # 人生重开模拟器 import random import sys import timeprint(------------------------…

服务器IP选择

可以去https://ip.ping0.cc/查看IP的具体情况 1.IP位置--如果是国内用&#xff0c;国外服务器的话建议选择日本&#xff0c;香港这些比较好&#xff0c;因为它们离这里近&#xff0c;一般延时低&#xff08;在没有绕一圈的情况下&#xff09;。 不过GPT的话屏蔽了香港IP 2. 企…

GPT是什么?直观解释Transformer | 深度学习第5章 【3Blue1Brown 官方双语】

【官方双语】GPT是什么&#xff1f;直观解释Transformer | 深度学习第5章 0:00 - 预测&#xff0c;采样&#xff0c;重复&#xff1a;预训练/生成式/Transformer模型 3:03 - Transformer 的内部结构 6:36 - 本期总述 7:20 - 深度学习的大框架 12:27 - GPT的第一层&#xff1a;…

【论文浅尝】Large Language Models for Generative Information Extraction: A Survey

本文对生成式IE的LLM进行了全面的探索。使用两种分类法对现有的代表性方法进行分类: (1)众多IE子任务的分类法&#xff0c;旨在对可以使用llm单独或统一提取的不同类型的信息进行分类; (2)学习范式分类法&#xff0c;对利用llm生成IE的各种新方法进行分类。 Preliminaries o…

msmpi 高性能计算实现文件读取输入

【高性能计算】完美解决Windows下安装mpi环境并应用到VSCode中报错问题的方法_c:\program files (x86)\microsoft sdks\mpi\include/-CSDN博客 环境配置 然后跑这个代码测试即可 // 命令行参数&#xff1a; //mpiexec -n 9 "C:\Users\ASUS\Desktop\testMPI\MPIv2.exe&qu…

【氮化镓】GaN器件可靠性及市场前景概述

文章是关于氮化镓&#xff08;GaN&#xff09;场效应晶体管&#xff08;FET&#xff09;技术在空间应用中的可靠性、辐射效应和市场前景的概述。文章由Airbus Defence & Space的多位专家撰写&#xff0c;涵盖了GaN FET技术的多个关键方面&#xff0c;包括技术概述、可靠性问…

Find My无人机|苹果Find My技术与无人机结合,智能防丢,全球定位

无人机是利用无线电遥控设备和自备的程序控制装置操纵的不载人飞机&#xff0c;或者由车载计算机完全地或间歇地自主地操作。无人机按应用领域&#xff0c;可分为军用与民用。军用方面&#xff0c;无人机分为侦察机和靶机。民用方面&#xff0c;无人机行业应用&#xff0c;是无…

opencv基础篇 ——(十二)轮廓提取与绘制

opencv基础篇 ——&#xff08;十二&#xff09;轮廓提取与绘制 findContours轮廓提取 void void findContours( InputArray image, OutputArrayOfArrays contours,OutputArray hierarchy, int mode,int method, Point offset Point());功能介绍 cv::findContours 是 OpenC…