纹样生成
文献发布时间:2023-06-19 11:52:33
背景技术
自动图像生成可以模拟人类的图像艺术创作。通常,自动图像生成可以是通过机器学习、深度学习等技术来实施的。例如,可以利用大量的文本和图像数据对来训练图像生成模型。当接收到输入文本时,所训练的图像生成模型可以生成与该文本相关联的图像。纹样(pattern)是一种图形设计,其可被视为是一种具体类型的图像。纹样的主题通常可以涉及几何图形、自然景物、人为事物等。纹样可以具有写实、写意、变形等各种表现手法。
发明内容
提供本发明内容以便介绍一组概念,这组概念将在以下的具体实施方式中做进一步描述。本发明内容并非旨在标识所保护主题的关键特征或必要特征,也不旨在用于限制所保护主题的范围。
本公开的实施例提出了用于纹样生成的方法、装置和系统。可以接收与所述纹样生成相关联的第一输入。可以确定与所述纹样生成相关联的域类别。可以基于所述第一输入和所述域类别来选择至少一个设计元素图像。可以至少基于所述第一输入和所述至少一个设计元素图像来生成纹样。
应当注意,以上一个或多个方面包括以下详细描述以及权利要求中具体指出的特征。下面的说明书及附图详细提出了所述一个或多个方面的某些说明性特征。这些特征仅仅指示可以实施各个方面的原理的多种方式,并且本公开旨在包括所有这些方面和其等同变换。
附图说明
以下将结合附图描述所公开的多个方面,这些附图被提供用以说明而非限制所公开的多个方面。
图1示出了根据实施例的用于纹样生成的示例性系统。
图2示出了根据实施例的用于纹样生成的示例性过程。
图3示出了根据实施例的文本到情感分类器的示例性架构。
图4示出了根据实施例的图像到情感分类器的示例性架构。
图5示出了根据实施例的基于ROI的图像情感表示生成的示例性过程。
图6示出了根据实施例的图像到文本转换器的示例性架构。
图7示出了根据实施例的用于执行图像域类别分类的示例性过程。
图8示出了根据实施例的文本到主题分类器的示例性架构。
图9示出了根据实施例的纹样生成模型的示例性架构。
图10示出了根据实施例的用于纹样生成的示例性注意力机制。
图11示出了根据实施例的用于更新纹样的示例性过程。
图12示出了根据实施例的用于更新纹样的示例性过程。
图13示出了根据实施例的用于生成基于目标图像的纹样的示例性过程。
图14A-图14B示出了根据实施例的用于纹样生成的示例性用户界面。
图15示出了根据实施例的用于纹样生成的示例性用户界面。
图16示出了根据实施例的用于纹样生成的示例性方法的流程图。
图17示出了根据实施例的用于纹样生成的示例性装置。
图18示出了根据实施例的用于纹样生成的示例性装置。
具体实施方式
现在将参考多种示例性实施方式来讨论本公开。应当理解,这些实施方式的讨论仅仅用于使得本领域技术人员能够更好地理解并从而实施本公开的实施例,而并非教导对本公开的范围的任何限制。
现有的图像生成模型是利用文本和图像数据对来训练的。因此,在生成图像的过程中,图像生成模型仅仅基于输入的文本来生成与该文本相关联的图像。这样的图像生成方式并不能有效地模拟人类的艺术创作过程,所输出的图像在准确度、自然度等方面仍然与人类创作存在明显的差距。特别地,当使用现有的图像生成模型来生成纹样时,所生成的纹样难以满足用户的需求。
本公开的实施例提出了端对端的交互式纹样生成。根据本公开的实施例,可以从用户处接收输入,该输入指示了用户对于所要生成的纹样的需求。例如,用户输入可以包括与纹样生成相关联的主题信息、域类别信息等。在一个方面,至少响应于用户输入,可以确定将被用于纹样生成的一个或多个设计元素。在本文中,设计元素指可在纹样生成过程中参考的、与用户输入相关联的各种元素。例如,假设用户输入为“自然”,其指示用户想要获得关于“自然”主题(theme)的纹样,则与该用户输入相关联的设计元素可以包括与“自然”相关的各种元素,例如“森林”、“树木”、“河流”、“山”、“土地”等。可以选择与这些设计元素相对应的一个或多个设计元素图像。在纹样生成的过程中,本公开的实施例除了考虑用户输入外,还可以考虑来自这些设计元素图像的信息。例如,可以将从设计元素图像中获取的图像信息、情感信息、主题信息等用于纹样生成。由此,纹样生成过程可以融合这些设计元素图像的特征,例如,图形、色彩、构图、表现形式等。通过这种方式,所生成的纹样可以具有与用户输入更高的关联性,并且具有更高的自然度。此外,对多个设计元素图像的融合也可以提高所生成的纹样的多样性。在另一个方面,根据本公开实施例的纹样生成可以是交互式的。例如,在生成了纹样后,用户可以针对已经生成的纹样来提供进一步的输入,以指示该用户的进一步需求。相应地,本公开的实施例可以响应于用户的进一步输入来对已经生成的纹样进行更新。在本公开中,纹样既可以包括普通的纯纹样,还可以广义地包括在目标图像上叠加的纹样等。因而,在另一个方面,根据本公开实施例的纹样生成还可以将所生成的纯纹样融合到目标图像上,以生成基于目标图像的纹样。该基于目标图像的纹样可以在原始的目标图像上呈现出纯纹样的特性。
根据本公开实施例的纹样生成可以被应用于向设计师、艺术家、艺术爱好者等各种用户提供纹样设计灵感、辅助用户完成纹样设计等。所生成的纹样可以作为独立的艺术作品。所生成的纹样还可以被用于各种商业或生活用途,例如,服装设计、饰品设计、家居用品设计等。
图1示出了根据实施例的用于纹样生成的示例性系统100。图1旨在说明可以采用例如系统100的独立的专门系统来实施根据本公开实施例的纹样生成。系统100的架构示出了在产品环境下对根据本公开实施例的纹样生成的示例性部署。
系统100可以包括门户(portal)组件110。门户组件110可以提供用于与用户进行交互的用户界面(UI)。例如,门户组件110可以接收用户输入的各种内容,例如账户信息、与纹样生成相关联的信息等,并且可以向用户提供和呈现所生成的纹样、相关联的图像、纹样描述等。在本文中,所生成的纹样可以采用各种格式,例如,可伸缩向量图形(SVG)、可移植网络图形(PNG)、位图(BMP)、标签图像文件格式(TIFF)、图形交换格式(GIF)、联合图像专家组(JPEG)等。门户组件110可以与门户数据库112连接。门户数据库112可以存储和管理用户的账户信息、用户日志等。
系统100可以包括应用程序接口(API)网关120。API网关120也可以被称为API后端(backend)。API网关120可以集中地管理和调用系统100中所涉及的所有API或服务。例如,API网关120可以利用单个静态IP地址和域来显露所有API/服务,使用密钥、令牌、IP过滤器等来确保业务流的安全,施行灵活的配额和比率限制,利用策略修改行为,等等。API网关120可以与API数据库122连接。API数据库122记录了例如历史的纹样设计结果、服务策略、令牌、过滤器、设计结果应用比率等各种信息。
系统100可以包括纹样创建API 130。纹样创建API 130可以响应于API网关120的调用,执行根据本公开实施例的纹样创建所涉及的各种操作、处理、步骤等,并且可以一般性地包括与纹样创建相关联的各种API、服务、模型的集合。例如,纹样创建API 130可以包括图像域类别分类器131、图像到情感分类器132、图像到文本转换器133、文本到情感分类器134、文本到主题分类器135、纹样生成模型136等。图像域类别分类器131可以确定与所输入的图像或纹样相关的域类别。在本文中,“域类别”指艺术领域中的众所周知的类别。艺术领域中的类别可以是基于例如时间、地点、风格、设计者或创作者等不同标准来划分的。例如,西方艺术的域类别可以包括:石器时代、古代近东、古埃及、古希腊、古罗马、中世纪早期、罗马艺术、文艺复兴前奏、文艺复兴初期、意大利文艺复兴全盛期、意大利16世纪晚期的矫饰主义、19世纪现实主义、立体主义/未来主义和相关的二十世纪风格等。例如,在艺术风格方面,域类别可以包括印象派、写实派、自由派等。图像到情感分类器132可以确定所输入的图像或纹样的情感类别。图像到文本转换器133可以将图像转换成对应的文本,该文本可以作为对该图像的描述。文本到情感分类器134可以确定所输入的文本的情感类别。文本到主题分类器135可以确定与所输入的文本相对应的主题。在本文中,“主题”可以指文本所针对的对象,例如客观事物、抽象概念等。纹样生成模型136可以基于来自用户输入、设计元素图像等的信息来生成纹样,可以基于已经生成的纹样和进一步的用户输入来更新纹样,可以将已经生成的纹样与目标图像进行融合以生成基于目标图像的纹样,等等。应当理解,纹样创建API 130还可以包括有助于纹样生成的任何其它模型等。
系统100可以包括配置服务组件140。在系统100运行时,配置服务组件140可以由开发者或系统管理者用于管理整个系统的行为、初始化参数、管理业务量、授权许可等。
系统100可以包括资源/缓存管理组件150。资源/缓存管理组件150可以用于管理API所使用的各种数据资源以及对应的缓存占用。
系统100可以包括编辑工具组件160。编辑工具组件160可以由设计者或编辑者用于收集、标记、生成和管理作为系统的输入的各种数据资源,例如,图像数据等。编辑工具组件160也可以设置或改变纹样创建API的行为,例如,不同图像格式的参数配置等。
应当理解,图1仅仅示出了系统100中的几种示例性组件,根据具体的应用需求,系统100还可以包括任何其它组件。例如,系统100可以包括缩略图生成API,其用于生成与纹样对应的缩略图等。
在一个方面,系统100可以被实施为独立的应用或软件,其中,可以利用计算机程序或指令等来实施系统100中的各种组件。在另一个方面,也可以通过硬件架构来实施系统100,其中,系统100中的各种组件可以以硬件单元的形式来实施。
应当理解,尽管图1示出了可以通过独立的专门系统来实施根据本公开实施例的纹样生成,该纹样生成也可以作为其它系统的附加功能来实现。例如,可以在AI聊天机器人系统中添加纹样生成功能,从而可以在聊天机器人与用户的聊天过程中为用户提供纹样生成服务。
图2示出了根据实施例的用于纹样生成的示例性过程200。
在202处,可以接收用户输入。该输入指示了用户对于所要生成的纹样的需求。用户输入可以包括与纹样生成相关联的主题信息、域类别信息等。例如,用户输入可以为“自然”,其指示了用户想要获得关于主题“自然”的纹样。例如,用户输入可以为“自由派设计”,其指示了用户想要获得关于域类别“自由派”的纹样。例如,用户输入可以为“请提供采用写实派风格的关于城市建筑的纹样”,其指示了用户想要获得关于主题“城市建筑”且关于域类别“写实派”的纹样。应当理解,用户输入可以不是单个输入,而是可以包括用户在UI中的不同输入单元中的多个输入。例如,用户可以在UI中包括的文本输入框中输入内容,同时在UI中包括的选项框中选择内容等。
在204处,可以确定与纹样生成相关联的域类别。在不同的情况下,可以采用不同的方式来确定域类别。
在一种情况下,用户输入中可能直接包括关于域类别的信息,因此,可以从用户输入中识别域类别。例如,当用户输入包括“自然”和“自由派设计”两者时,可以从该用户输入中识别出域类别“自由派”。可以预先建立包括多种候选域类别的域类别集合,并且通过将用户输入中的内容与域类别集合中的候选域类别进行匹配来确定与用户输入相对应的域类别。应当理解,用户输入中包括的域类别信息可以是用户以各种方式提供的,例如,用户在UI中的文本输入框内直接键入关于域类别的内容,用户对在UI中呈现的多种候选域类别进行选择,等等。
在一种情况下,如果在202处接收到的用户输入中没有直接包括关于域类别的信息,则可以基于该用户输入来推断域类别。假设用户输入为“梦”,则可以基于该用户输入来推断出例如“自由派”等的域类别。在一种实施方式中,可以利用预先建立的文本与域类别之间的映射图来推断域类别。可以首先获得大量的参考纹样,然后,通过例如图1中的图像域类别分类器131来确定每个参考纹样的域类别,并且通过例如图1中的图像到文本转换器133来生成每个参考纹样的描述文本。相应地,可以在每个参考纹样的描述文本与域类别之间建立对应关系,从而获得文本与域类别之间的映射图。当接收到用户输入后,可以将用户输入与映射图中的文本进行匹配,并且将与所匹配的文本相对应的域类别作为与该用户输入相对应的域类别。
在206处,可以至少基于用户输入和域类别来选择至少一个设计元素图像,以得到设计元素图像集合208。在一种实施方式中,首先,可以通过预先建立的知识图谱,确定与用户输入相关联的一个或多个设计元素。该知识图谱可以包括通过对文本语料库的数据挖掘等而建立的在不同实体之间的关联。当将用户输入中涉及的主题作为实体时,可以通过知识图谱找到与该实体相关联的一个或多个其它实体,所述其它实体可以作为设计元素。例如,假设知识图谱中包括实体“自然”及其相关联的多个其它实体“森林”、“树木”、“河流”、“山”、“土地”等,则当用户输入包括“自然”时,可以根据知识图谱来确定出与该用户输入相关联的设计元素“森林”、“树木”、“河流”、“山”、“土地”等。然后,可以基于域类别和所确定的一个或多个设计元素来检索出至少一个设计元素图像。例如,可以通过搜索引擎等来检索与这些设计元素相对应的多个候选图像,并且从这些候选图像中选择符合所述域类别的候选图像以作为设计元素图像。应当理解,可能针对一个设计元素选择了多个设计元素图像,并且一个设计元素图像可能包括多个设计元素。此外,设计元素图像可以包括纹样图像、艺术绘画图像、照片等。
在210处,可以对设计元素图像集合208执行图像到文本转换,以生成图像描述212。图像描述212可以包括对设计元素图像集合208中的图像的内容的文本解释。可以通过例如图1中的图像到文本转换器133来执行图像到文本转换。在一种实施方式中,图像描述212可以是设计元素图像集合208中的每个设计元素图像的图像描述的组合。
在214处,可以对设计元素图像集合208执行图像到情感分类,以生成图像情感表示216。图像情感表示216可以对设计元素图像集合208中的图像的情感信息进行表征。可以通过例如图1中的图像到情感分类器132来执行图像到情感分类。在一种实施方式中,图像情感表示216可以是设计元素图像集合208中的每个设计元素图像的图像情感表示的组合。例如,可以首先获得每个设计元素图像的图像情感表示向量,然后将与多个设计元素图像分别对应的多个图像情感表示向量级联在一起,以形成图像情感表示216。图像情感表示216可以进而在纹样生成中使用。
在218处,可以对设计元素图像集合208执行图像表示生成,以生成图像表示220。图像表示220可以是在密集空间中对设计元素图像集合208中的图像的表征。在通过例如图1中的图像到情感分类器132来生成图像的情感表示的过程中可以获得图像表示。在一种实施方式中,图像表示220可以是设计元素图像集合208中的每个设计元素图像的图像表示的组合。例如,可以首先获得每个设计元素图像的图像表示向量,然后将与多个设计元素图像分别对应的多个图像表示向量级联在一起,以形成图像表示220。图像表示220可以进而在纹样生成中使用。
过程200可以包括从202处所接收的用户输入中获得输入文本222。在用户输入采用文本格式的情况下,该输入文本222可以是用户输入。在用户输入采用例如语音等其它格式的情况下,可以通过对用户输入执行向文本的转换来获得输入文本222。在用户输入是例如选择操作的情况下,可以通过对所选择的选项的识别来获得输入文本222。
在224处,可以生成用户简档。用户简档可以包括关于用户的各种信息,例如,历史输入、喜好、性别、年龄、位置等中的至少一个。用户简档中的信息可以反映用户的使用习惯、个人属性等,其对于确定用户意图并生成符合用户需求的纹样是有益的。例如,如果用户的历史输入中经常包括“河流”、“海洋”等,这表明用户对于“水”具有更大的兴趣,则当接收到当前的用户输入“自然”时,可以通过考虑历史输入而对“河流”、“海洋”等元素给予更大的参考权重。此外,例如,如果用户简档表明该用户是居住在意大利的老人,则可以推测该用户可能期望获得例如意大利文艺复兴风格的纹样推荐。因此,在一种实施方式中,在204处对域类别的确定还可以基于用户简档中的信息。例如,可以基于用户的当前输入与用户简档中的信息来推断域类别。
过程200可以包括获得文本信息228。该文本信息228是至少与用户输入和设计元素图像集合相关联的。例如,可以通过将图像描述212与输入文本222进行组合来获得文本信息228。可选地,文本信息228还可以包括来自用户简档的用户简档信息226。文本信息228可以进而在纹样生成中使用。
在230处,可以对文本信息228执行文本到主题分类,以生成与文本信息228相对应的文本主题表示232。文本主题表示232可以对文本信息228中涉及的主题进行表征。可以通过例如图1中的文本到主题分类器135来执行文本到主题分类。文本主题表示232可以进而在纹样生成中使用。
在234处,可以对文本信息228执行文本到情感分类,以生成与文本信息228相对应的文本情感表示236。文本情感表示236可以对文本信息228中涉及的情感进行表征。可以通过例如图1中的文本到情感分类器134来执行文本到情感分类。文本情感表示236可以进而在纹样生成中使用。
在238处,可以至少基于用户输入和设计元素图像集合来执行纹样生成。可以通过例如图1中的纹样生成模型136来执行纹样生成。在一种实施方式中,纹样生成模型136可以获得文本主题表示232、文本情感表示236、图像表示220、图像情感表示216等中的至少一个,并且至少基于所获得的表示来生成纹样240。
可选地,过程200还可以包括在242处对纹样240执行图像到文本转换,以生成对纹样240的纹样描述244。纹样描述244可以包括对纹样240中的设计内容的解释。可以通过例如图1中的图像到文本转换器133来执行图像到文本转换。此外,可选地,还可以通过添加其它附加内容来扩展纹样描述244。所述附加内容可以包括例如关于在204处所确定的域类别的知识、针对基于该域类别和用户输入中的主题的纹样设计的评论、等等。附加内容可以是预先通过数据挖掘准备的,或者是在网络上检索到的。
尽管未示出,过程200还可以包括将所生成的纹样240以及可选的纹样描述244提供或呈现给用户。
应当理解,过程200中的所有步骤都是示例性的,可以根据具体应用的需求而对其进行任意方式的改变。
图3示出了根据实施例的文本到情感分类器的示例性架构300。架构300可以被应用于例如图1中的文本到情感分类器134。
本公开的实施例可以采用各种情感维度。例如,可以采用基于Plutchik情感轮盘的情感集合。该情感集合定义了八类“基本”情感,包括:快乐(joy)、信任(trust)、恐惧(fear)、吃惊(surprise)、悲伤(sadness)、厌恶(disgust)、愤怒(anger)和期待(anticipation)。每个基本情感都被定义了三个强度等级,包括“弱”、“中等”和“强”。例如,对于基本情感“愤怒”,强度“弱”的情感是“烦恼(annoyance)”,强度“中等”的情感是“愤怒”,强度“强”的情感是“狂怒(rage)”。强度“弱”的情感和强度“强”的情感可以被视为是对应的基本情感的变体。此外,该情感集合还定义了不具有“强度”的八类“组合式”情感,包括:爱(love)、屈服(submission)、敬畏(awe)、不赞成(disapproval)、悔恨(remorse)、蔑视(contempt)、积极性(aggressiveness)和乐观(optimism)。每个组合式情感是基于两个相邻的基本情感来定义的。例如,基于情感“快乐”和基本情感“信任”来定义组合式情感“爱”。因此,该情感集合中包括总共32类情感。然而,应当理解,本公开的实施例不限于采用上述情感集合中的情感,也可以采用定义了更多或更少情感的任何其它类别的情感集合。
可以通过各种方式来获得<文本,情感类别>形式的大规模训练数据集,其中,“情感类别”可以指上述情感集合中的32类情感中的一类,或者指8类基本情感中的一类连同对应的强度等级或8类组合式情感中的一类。可以将上述的训练数据集用于对文本到情感分类器进行训练。
架构300可以包括字符级别递归卷积神经网络(RCNN)。字符级别RCNN能够对来自字符的语义信息和拼写信息两者进行编码,并且可以包括例如嵌入层、卷积层、递归层、输出层等。应当理解,对于字符式语言(例如日文、中文等)中的文本语句,可以将语句中的字符作为用于嵌入的基本单位,而对于词语式语言(例如英文),可以将语句中的词语,而不是字母,作为用于嵌入的基本单位。当嵌入层中的基本单位是“字符”时,卷积层将找出分别由多个字符组合成的词语的最佳组合。当嵌入层中的基本单位是“词语”时,卷积层将找出分别由多个词语组合成的短语的最佳组合。尽管下面的讨论针对“字符”的情况,但对于“词语”的情况也可以应用类似的技术手段。
嵌入层可以将文本语句转换到密集向量空间,例如为该语句中的每个字符生成向量。
卷积层可以是基于CNN的,并且可以对来自嵌入层的向量执行卷积运算,例如,以各种内核大小对向量进行转换。
假设
f
其中,C
在一种实施方式中,卷积层处的CNN可以采用例如随时间的最大池化。
递归层可以对卷积层的输出执行递归操作。应当理解,尽管图3示出了递归层中的双向递归操作,但是也可以将单向递归操作应用于递归层中。递归层也可以被称为递归神经网络(RNN)层,其可以采用长短期记忆(LSTM)单元。LSTM可以通过在每个时间步骤处利用记忆单元向量
输出层可以被配置用于将来自递归层的RNN状态传递到softmax层310或320。softmax层310和softmax层320被配置用于不同的情感分类策略。在一种策略中,情感类别可以是基于上述情感集合中的32类情感来定义的,包括具有“中等”强度的8类基本情感、8类弱情感、8类强情感和8类组合式情感。softmax层310可以是完全连接层,其输出对应于32个情感类别的情感向量。在另一种策略中,可以基于情感和强度的组合来定义情感类别。例如,根据上述情感集合,可以定义8类基本情感和8类组合式情感,其中,8类基本情感中的每一类进一步被定义有强度等级,而8类组合式情感则不被定义任何强度等级。softmax层320可以是完全连接层,其输出对应于8类基本情感、8类基本情感的强度等级和8类组合式情感的情感向量。由softmax层310或softmax层320所输出的情感向量可以被视为输入文本语句的情感信息。
采用了架构300的文本到情感分类器可以用于对文本语句进行情感分析,并且获得文本情感表示,如,由softmax层所输出的文本情感向量。例如,架构300可以被用于执行图2的234处的文本到情感分类,以便生成与文本信息228相对应的文本情感表示236。
图4示出了根据实施例的图像到情感分类器的示例性架构400。架构400可以被应用于例如图1中的图像到情感分类器132。
在一种实施方式中,可以采用深度神经网络来将图像投影为密集向量。例如,可以采用残差网络(ResNet)来对图像进行编码。ResNet可以包括多个残差学习块。在图4中示出了用于图像编码的示例性残差学习块410。对于输入x,可以将期望的底层映射表示为H(x),并且堆叠的非线性层可以拟合另一映射F(x):=H(x)-x。原始映射可以被重写为F(x)+x。假设优化残差映射比优化原始未引用映射容易。极端情况下,如果恒等映射是优选的,则与通过非线性层堆叠来拟合恒等映射相比,将残差推至零更为容易。非线性激活函数是修正线性单元(relu),其可以被定义为:Relu(x)=max(0,x)。基于残差学习块410,可以建立残差网络。
架构400可以包括用于对输入图像进行编码的示例性残差网络。残差网络有34层,其可以提供相对良好的精度和快速的训练/测试。在图4中,例如,“3*3conv,64”表示存在64个过滤器,每个过滤器具有卷积核或函数,并且具有3*3像素的规模。“/2”表示双步幅。“pool”表示池化操作,“avg pool”表示平均池化操作。平均池化操作的输出是图像表示向量,其是对输入图像的密集向量表示。
可以将图像表示向量进一步提供给根据不同的情感分类策略所配置的softmax层420和softmax层430。softmax层420和softmax层430可以分别以与图3中的softmax层310和softmax层320类似的方式工作。例如,softmax层420可以输出与32类情感对应的情感向量,并且softmax层430可以输出与8类基本情感、8类基本情感的强度等级和8类组合式情感对应的情感向量。由softmax层420或softmax层430所输出的情感向量可以被视为输入图像的情感信息。
在一个方面,采用了架构400的图像到情感分类器可以用于对图像进行情感分析,并且获得图像情感表示,如,由softmax层所输出的图像情感向量。例如,架构300可以被用于执行图2的214处的图像到情感分类,以便生成与设计元素图像集合208相对应的图像情感表示216。在另一个方面,可以从架构400中获得输入图像的图像表示,如,在平均池化操作后所得到的图像表示向量。因此,例如,架构300的至少一部分可以被用于执行图2的218处的图像表示生成,以便生成与设计元素图像集合208相对应的图像表示220。
应当理解,ResNet仅是可以在图像编码中采用的一种示例性技术,也可以在图像编码中采用任何其它技术,诸如AlexNet、GoogleNet、VGG-Net等。
图5示出了根据实施例的基于感兴趣区域(ROI)的图像情感表示生成的示例性过程500。
在一种实施方式中,可以识别图像的ROI,并且图像到情感分类器可以进一步对ROI执行情感分析以获得ROI的情感信息。在本文中,“ROI”可以指图像中对于确定情感而言重要的区域。如果可以准确地识别ROI的情感,则对于理解整个图像的情感将是有益的。
在510处,可以获得输入图像。该输入图像可以是例如图2的设计元素图像集合中的任何一个设计元素图像,或者是设计元素图像集合中的所有设计元素图像。在520处,可以从输入图像中检测至少一个ROI。在530处,可以将ROI投影到特征图(feature map)540中。然后,在550处,可以使用ROI池化层来在特征图540上执行最大池化,以便将特征图540转换成小特征图。例如,假设ROI为h×w矩形窗口,则可以将该ROI窗口划分为多个(h/H)×(w/W)子窗口,并且ROI池化层可以对每个子窗口中的值执行最大池化,以输出尺寸为H×W的小特征图。参数H和W可以是独立于任何特定的ROI的层超参数。在560处,可以将小特征图提供给连接到两个分支的至少一个全连接层。一个分支到达softmax层570,其可以与图4中的softmax层420或softmax层430相同并且输出ROI的情感向量572。另一个分支到达边框回归器580,其可以输出例如指示ROI的左上角的坐标和ROI的右下角的坐标的ROI位置向量582。在一种实施方式中,可以将通过过程500获得的输入图像的ROI的情感向量与通过过程400获得的整个图像的情感向量组合在一起,以作为该输入图像的情感表示。通过考虑ROI的情感,可以使得图像情感表示能够更准确地表征图像的情感。
图6示出了根据实施例的图像到文本转换器的示例性架构600。架构600可以被应用于例如图1中的图像到文本转换器133。
架构600是基于CNN-RNN框架的,其中,在图6的右部中的深度CNN可以用于获得输入图像的图像表示向量,并且在图6的左部中的RNN可以用于生成文本语句。图6中的深度CNN可以是基于图4中的ResNet的。架构600的基本思想是在潜在语义空间中匹配图像和文本语句,其中,将图像通过深度CNN投影到密集向量空间中,并且将语句通过RNN投影到另一个密集向量空间中。
针对架构600的训练数据可以是<图像,文本>的形式。可以将一个训练数据对中的图像提供给深度CNN,并且将该训练数据对中的文本语句提供给RNN。在一些情况下,可以将训练数据中的语句分解成词语,并且可以提取所有词语以形成词汇集。然后,可以基于来自输入图像的线索,将来自不同语句的词语重新组合以形成新的语句,该新的语句是基于生成概率被优化以适配输入图像的。
架构600的语句生成过程可以如下工作。将输入图像的图像表示向量I提供给RNN的多模态层。softmax层可以计算目标词汇集中词语的概率,并选择具有最大概率的至少一个词语。在一种实施方式中,可以将波束搜索用于保持记录最高的B个候选词语,其中B是波束大小。例如,当B是3时,这意味着具有最高概率的前3个词语将被保持记录在softmax层中。
可以通过RNN的输入层来输入一个或多个先前生成的词语{w
m(t)=g(V
其中,“+”表示按元素加法,m表示多模态层特征向量,g(x)是按元素缩放的双曲正切函数,并且g(x)=1.7159*tanh(2x/3)。函数g(x)使得梯度进入最非线性值范围,并且导致比基本双曲正切函数更快的训练过程。
基于来自多模态层的输出,softmax层将从词汇集中选择下一个词语或接下来的可能的最高B个词语。
上述生成过程可以被迭代地执行,并且可以直到表示文本语句结束的符号才停止。
应当理解,在一些实施方式中,还可以在图6中的语句生成过程中考虑输入图像的情感信息。在这种情况下,上述讨论中涉及的输入图像的图像表示向量I可以变成输入图像的图像表示向量与输入图像的情感表示向量的组合。相应地,由架构600生成的文本语句可以是对输入图像的情感描述或评论。
架构600可以被用于执行图2的210处的图像到文本转换,以便生成与设计元素图像集合208相对应的图像描述212。此外,架构600也可以被用于执行图2的242处的图像到文本转换,以便生成与纹样240相对应的纹样描述244。
图7示出了根据实施例的用于执行图像域类别分类的示例性过程700。过程700可以由例如图1中的图像域类别分类器131执行。
在702处,可以获得输入图像。输入图像可以是例如设计元素图像、纹样等。可以在706处将输入图像提供给深度神经网络,以用于获得与输入图像相对应的各种图像信息表示708,例如,图像表示向量、图像情感表示向量等。深度神经网络可以基于例如图4中的架构400。
在704处,可以检索知识图谱中的图像。知识图谱可以包括以图像或纹样为中心的知识图谱、以设计者或艺术家为中心的知识图谱、以地点为中心的知识图谱中的至少一个。可以在706处将知识图谱中的图像提供给深度神经网络,以用于获得与知识图谱中的图像相对应的图像信息表示710。
在712处,可以计算图像信息表示708与图像信息表示710之间的相似度。例如,可以在712处计算余弦相似度分数。
基于输入图像与知识图谱中的图像之间的相似度,可以在714处将知识图谱中的至少一个排序最高的图像确定为候选图像。也可以从知识图谱中检索与该候选图像相关联的知识信息。
在716处,可以从与该候选图像相关联的知识信息中识别关于设计者/艺术家、时间、地点、风格等的信息。然后,在718处,可以将关于设计者/艺术家、时间、地点、风格等的信息提供给嵌入神经网络,以用于获得关于设计者/艺术家、时间、地点、风格等的信息的嵌入向量。
可以将图像信息表示708以及关于设计者/艺术家、时间、地点、风格等的信息的嵌入向量提供给分类神经网络720中的输入层722。输入层连接到例如包含接有sigmoid非线性激活函数的线性层的两个隐藏层724。然后,softmax层726可以预测输入图像的域类别730。
根据过程700,图像域类别分类器可以用于确定域类别。域类别分类器可以利用以下特征中的至少一个:输入图像的图像信息表示;以及与知识图谱中的候选图像相关联的关于设计者/艺术家、时间、地点、风格等的信息的嵌入向量。
图8示出了根据实施例的文本到主题分类器的示例性架构800。架构800可以被应用于例如图1中的文本到主题分类器135。
架构800具有与图3的架构300相类似的结构,除了采用softmax层810来进行主题分类之外。假设预先确定了N个主题类别,则softmax层810可以根据从输出层所接收的RNN状态来输出对应于N个主题类别的主题向量。由softmax层810所输出的主题向量可以被视为输入文本语句的主题信息,其指示了与输入文本语句相关联的主题。
图9示出了根据实施例的纹样生成模型的示例性架构900。架构900可以被应用于例如图1中的纹样生成模型136。架构900可以用于例如基于用户输入、设计元素图像集合等来生成纹样。
由架构900所执行的纹样生成可以基于例如生成对抗网络(GAN)结构。该GAN结构可以示例性地包括两个生成器和两个鉴别器,表示为阶段I生成器、阶段I鉴别器、阶段II生成器和阶段II鉴别器。阶段I生成器通过根据给定输入和随机噪声向量草绘对象的大致形状、基本颜色等,来绘制低分辨率纹样。然后,阶段II生成器通过再次以阶段I的结果和输入作为条件,来生成具有更逼真细节的高分辨率纹样。
在传统的GAN中,训练过程类似于采用以下目标函数进行优化的双人最小-最大(min-max)游戏:
其中,D和G分别表示鉴别器和生成器。G被优化为通过生成使鉴别器D难以与实际纹样区分的纹样来再现真实数据分布p
在方程(3)中,x是遵循真实数据分布p
容易通过附加额外的条件变量c来扩展G和D,产生G(x,c)和D(x,c)。该公式允许G生成以变量c为条件的图像。变量c可以是根据例如文本输入和设计元素图像集合来获得的,其中,文本输入在应用阶段可以对应于例如用户输入。
如图9所示,条件增强模块可以基于初始嵌入向量
条件增强模块的输出c可以被发送到阶段I生成器。通常,阶段I GAN通过使L
此处,文本输入t和实际纹样I
将初始嵌入向量
对于阶段I鉴别器,初始嵌入向量
阶段II GAN可以以与上述阶段I GAN类似的方式构建。阶段II GAN构建在阶段IGAN之上,以生成更逼真的高分辨率纹样。阶段II GAN不仅以前一阶段生成的低分辨率纹样为条件,还再次以初始嵌入向量为条件,以纠正阶段I结果中的缺陷,并促使模型提取出先前可能忽略的信息以生成更多逼真的细节。
以低分辨率纹样s
此处,s
对架构900的一种扩展是考虑用于从粗到精的纹样生成的GAN序列。借助更多的GAN,可以预期利用GAN组块来关注更多细节并生成更高分辨率的纹样。例如,在图9中,可以以与从阶段I到阶段II的扩展相类似的方式来扩展阶段III GAN和更多阶段GAN。
根据本公开的一些实施例,纹样生成模型可以是采用注意力GAN模型来实施的。注意力GAN模型旨在通过注意力机制,在潜在的高维空间中,至少在文本信息与纹样之间建立连接。注意力机制可以反映在文本信息中的词语或单元与所生成的纹样中的图像区域之间的映射关系。例如,注意力机制可以用于选择与文本信息中的词语相关联的候选图像部分,并且进而确定所选择的图像部分被放置到纹样的哪个位置。注意力GAN模型可以是利用多个文本信息-纹样对来训练的。当应用所训练的注意力GAN模型时,其可以至少采用文本信息作为输入,并且输出包含文本信息中的单元的纹样。图10示出了根据实施例的用于纹样生成的示例性注意力机制1000。注意力机制1000可以包括多种类型的注意力,例如,文本自注意力、纹样自注意力、文本-纹样联合注意力等。
对于文本信息1010,可以对文本信息1010执行文本自注意力1012以获得文本向量1014。文本向量1014可以包括对文本信息1010中的词语的向量表示,其中,每个词语的向量表示反映与文本信息1010中的所有其它词语的相关性或匹配程度。
在一种实施方式中,文本自注意力1012可以是多头注意力的形式。可以将对多头注意力的输入表示为查询Q、键K和值V。多头注意力可以是通过对h个缩放的点积注意力的堆叠来形成的。对每个缩放的点积注意力的输入也可以是Q、K和V。此处,Q、K和V中的每一个可以是文本信息中的所有n个词语的词嵌入。对于每个缩放的点积注意力,可以每次从Q中取出一个词嵌入以查看与任何其它词嵌入的匹配程度,该过程可以执行n次。对于多头注意力,可以分别对Q、K和V执行线性变换,以获得Q’、K’和V’。然后,可以针对Q’、K’和V’计算缩放的点积注意力,该计算可以重复h次。可以将h个计算结果级联在一起,然后执行线性变换。线性变换的结果是多头注意力的输出。文本自注意力的输出被从[批量大小,最大序列长度,词嵌入维度]改变为[批量大小,最大序列长度,头数量*头嵌入维度]。例如,假设头数量h是8,则文本自注意力的输出可以从[64,30,512]改变为[64,30,8*64]。
对于纹样1020,可以对纹样1020执行纹样自注意力1022,以获得纹样向量1024。纹样向量1024可以包括对纹样1020中的区域或像素的向量表示,其中,每个区域的向量表示反映了与纹样1020中的所有其它区域的相关性或匹配程度。纹样自注意力1022旨在建立纹样中的不同区域之间的关系,并且可以用于例如针对当前区域找到纹样中最近似或相关的区域。在一种实施方式中,纹样自注意力1022可以是多头注意力的形式,其类似于文本自注意力1012的多头注意力。例如,可以对与纹样中的区域的向量表示相对应的一组卷积特征映射x分别执行线性/非线性变换,以便获得例如一组经变换的x
在一种实施方式中,文本自注意力1012和纹样自注意力1022可以被分别训练,文本向量和纹样向量可以在各自的训练过程中被更新。在另一种实施方式中,文本自注意力1012和纹样自注意力1022也可以在注意力机制1000中被联合地训练,文本向量和纹样向量可以被同步更新。
在注意力机制1000中,将三个全连接线性层f(x)、g(x)和h(x)分别应用于文本向量1014和纹样向量1024,以便获得经转换的文本向量1016、经转换的纹样向量1026和经转换的纹样向量1028。可以对经转换的文本向量1016的转置和经转换的纹样向量1026执行矩阵乘法1030,以便计算它们在高维密集空间中的距离。矩阵乘法1030的结果是权重矩阵,其指示纹样1020中的区域与文本信息1010中的词语的语义含义之间的距离,其进一步形成注意力映射1040。然后,可以对注意力映射1040与经转换的纹样向量1028执行矩阵乘法1050,以便进一步识别针对纹样中的每个区域的最接近或相关的词语,并且最终获得联合注意力映射1060。
通过上述的注意力机制1000,可以进一步增强纹样生成模型的生成纹样的性能。
根据本公开的实施例,纹样生成可以是交互式的。在将已经生成的纹样提供给用户后,可以接收来自用户的针对已经生成的纹样的进一步输入,该进一步输入可以指示用户的进一步需求等。相应地,可以响应于用户的进一步输入来对已经生成的纹样进行更新,以获得经更新的纹样。
图11示出了根据实施例的用于更新纹样的示例性过程1100。过程1100可以被视为是图2的纹样生成过程200的延续。
纹样1102可以是根据图2的过程200来生成的,其对应于纹样240。在1104处,可以将纹样1102提供给用户。
在1106处,可以接收用户的进一步输入。例如,该输入可以指示进一步的主题、具体的域类别等等。
在1108处,可以对纹样1102执行图像到文本转换以生成图像描述1110。1108处的图像到文本转换类似于图2的210处的图像到文本转换。
在1112处,可以对纹样1102执行图像到情感分类以生成图像情感表示1114。1112处的图像到情感分类类似于图2的214处的图像到情感分类。
在1116处,可以对纹样1102执行图像表示生成以生成图像表示1118。1116处的图像表示生成类似于图2的218处的图像表示生成。
可以基于图像描述1110以及来自用户输入的输入文本1120来形成文本信息1126。可选地,文本信息1126也可以包括通过在1122处生成用户简档而获得的用户简档信息1124。
在1128处,可以对文本信息1126执行文本到主题分类以生成文本主题表示1130。1128处的文本到主题分类类似于图2的230处的文本到主题分类。
在1132处,可以对文本信息1126执行文本到情感分类以生成文本情感表示1134。1132处的文本到情感分类类似于图2的234处的文本到情感分类。
在1136处,可以基于文本主题表示1130、文本情感表示1134、图像表示1118、图像情感表示1114等中的至少一个来执行纹样生成,以生成经更新的纹样1138。1136处的纹样生成类似于图2的238处的纹样生成。
可选地,过程1100还可以包括在1140处对纹样1138执行图像到文本转换,以生成对经更新的纹样1138的纹样描述1142。1140处的图像到文本转换类似于图2的242处的图像到文本转换。
可以将经更新的纹样1138以及可选的纹样描述1142提供给用户。如果用户再次提供了进一步的输入,则可以迭代地执行过程1100以获得进一步的经更新的纹样。
尽管在过程1100中仅基于用户的进一步输入和已经生成的纹样来生成经更新的纹样,但是本公开的实施例还可以在更新纹样的过程中考虑基于用户的进一步输入所确定的设计元素图像集合,以便能够更好地满足用户的需求。
图12示出了根据实施例的用于更新纹样的示例性过程1200。过程1200可以被视为是图2的纹样生成过程200的延续,也可以被视为是对图11的过程1100的改进。在过程1200中,对纹样的更新还考虑到了基于用户的进一步输入所确定的设计元素图像集合。
纹样1202可以对应于图2中的纹样240或者图11中的经更新的纹样1138。在1204处,可以将纹样1202提供给用户。
在1206处,可以接收用户的进一步输入。
在1208处,可以确定与纹样更新相关联的域类别。1208处的确定域类别的操作类似于图2的204处的确定域类别的操作。
在1210处,可以至少基于用户的进一步输入和域类别来选择设计元素图像,以得到设计元素图像集合1212。1210处的选择设计元素图像的操作类似于图2的206处的选择设计元素图像的操作。
可以将纹样1202和设计元素图像集合1212组合成参考图像集合。对于该参考图像集合,可以在1214处执行图像到文本转换以生成图像描述1216,在1218处执行图像到情感分类以生成图像情感表示1220,在1222处执行图像表示生成以生成图像表示1224。1214处的图像到文本转换、1218处的图像到情感分类以及1222处的图像表示生成可以分别类似于图2的210处的图像到文本转换、214处的图像到情感分类以及218处的图像表示生成。
可以基于图像描述1216以及来自用户输入的输入文本1226来形成文本信息1232。可选地,文本信息1232也可以包括通过在1228处生成用户简档而获得的用户简档信息1230。
对于文本信息1232,可以在1234处执行文本到主题分类以生成文本主题表示1236,并且在1238处执行文本到情感分类以生成文本情感表示1240。1234处的文本到主题分类和1238处的文本到情感分类可以分别类似于图2的230处的文本到主题分类和234处的文本到情感分类。
在1242处,可以基于文本主题表示1236、文本情感表示1240、图像表示1224、图像情感表示1220等中的至少一个来执行纹样生成,以生成经更新的纹样1244。1242处的纹样生成类似于图2的238处的纹样生成。
可选地,过程1200还可以包括在1246处对纹样1244执行图像到文本转换,以生成对经更新的纹样1244的纹样描述1248。1246处的图像到文本转换类似于图2的242处的图像到文本转换。
可以将经更新的纹样1244以及可选的纹样描述1248提供给用户。如果用户再次提供了进一步的输入,则可以迭代地执行过程1200以获得进一步的经更新的纹样。
根据本公开的实施例,可以将已经生成的纹样与目标图像进行融合以生成基于目标图像的纹样。该融合可以是基于生成对抗网络来执行的。例如,可以通过以上讨论的纹样生成模型来执行纹样与目标图像的融合。
图13示出了根据实施例的用于生成基于目标图像的纹样的示例性过程1300。
纹样1302可以是通过图2的过程200、图11的过程1100或图12的过程1200所生成的纯纹样。过程1300可以获得一个目标图像1304,该目标图像1304可以是用户提供的、从网络上检索的、或者以任何方式生成的。在本文中,目标图像可以广泛地指各种类型的图像,例如,人为创作的或计算机创作的艺术绘画、摄影作品等。
可以将纹样1302和目标图像1304组合成参考图像集合。对于该参考图像集合,可以在1306处执行图像到文本转换以生成图像描述1308,在1310处执行图像到情感分类以生成图像情感表示1312,在1314处执行图像表示生成以生成图像表示1316。1306处的图像到文本转换、1310处的图像到情感分类以及1314处的图像表示生成可以分别类似于图2的210处的图像到文本转换、214处的图像到情感分类以及218处的图像表示生成。
可以至少基于图像描述1308来形成文本信息1318。
对于文本信息1318,可以在1320处执行文本到主题分类以生成文本主题表示1322,并且在1324处执行文本到情感分类以生成文本情感表示1326。1320处的文本到主题分类和1324处的文本到情感分类可以分别类似于图2的230处的文本到主题分类和234处的文本到情感分类。
在1328处,可以基于文本主题表示1322、文本情感表示1326、图像表示1316、图像情感表示1312等中的至少一个来执行纹样生成,以生成基于目标图像的纹样1330。1328处的纹样生成类似于图2的238处的纹样生成。
可选地,过程1300还可以包括在1332处对基于目标图像的纹样1330执行图像到文本转换,以生成对基于目标图像的纹样1330的纹样描述1334。1332处的图像到文本转换类似于图2的242处的图像到文本转换。
应当理解,过程1300中的所有操作和步骤都是示例性的,并且可以根据具体的应用场景和需求对其进行任意形式的改变。例如,在存在与生成基于目标图像的纹样相关联的用户输入的情况下,可以在过程1300中增加对用户输入的考虑。例如,类似于图11,可以在文本信息1318中添加来自用户输入的输入文本。例如,类似于图12,可以基于用户输入来确定设计元素图像集合,并且在纹样1302和目标图像1304所组合成的参考图像集合中进一步包括该设计元素图像集合。
图14A-图14B示出了根据实施例的用于纹样生成的示例性用户界面。这些用户界面是在示例性的用于纹样生成的独立系统“AI纹样设计平台”中呈现的。
UI 1410是起始用户界面。在UI 1410中,用户可以通过输入用户名和密码来登录,或者选择进行注册。
在用户登录了系统后,可以提供UI 1420。用户可以在文本输入框1422中提供输入,以指示与纹样生成相关联的需求。例如,在图2的202处,可以从文本输入框1422中识别用户输入。
在1424处呈现了可供用户选择的多个域类别,例如,印象派、写实派、自由派等。如果用户对这些候选域类别做出了选择,则可以例如在图2的204处基于用户的选择来确定域类别。
假设用户在文本输入框1422中输入了“自然”,其指示用户想要获得关于主题“自然”的纹样。由于用户并没有在1424处选择域类别,因此可以基于用户输入来推断域类别。
响应于用户的输入,可以呈现UI 1430。在UI 1430中,提供了根据本公开实施例所生成的示例性纹样1432和1434。纹样1432是纯纹样。纹样1434是基于关于自然的目标图像的纹样,该目标图像可以是例如根据用户输入而检索到的。应当理解,在UI 1430中也可能仅提供纹样1432和1434中的一个,或者提供更多的纹样。
假设用户在浏览了纹样1432和1434之后,在文本输入框1436中提供了进一步的输入“自由派”,其指示用户想要获得采用了域类别“自由派”的纹样。例如,在图11的1106处或者图12的1206处,可以从文本输入框1436中识别用户的进一步输入。
可以通过例如图11的过程1100或者图12的过程1200来生成经更新的纹样。在UI1440中呈现了经更新的纹样1442和1444,其采用了“自由派”的域类别。
假设用户在UI 1440中点击了纹样1444,以便查看关于纹样1444的具体信息。相应地,可以提供UI 1450。在UI 1450中呈现了纹样1444的放大版本1452以及对纹样1452的纹样描述1454。例如,纹样描述1454可以是“这是一幅关于自然的作品,得益于自由派的设计灵感,该作品采用了灵活的表现手法”。此外,在1456处,还呈现了在生成纹样1452过程中所参考的多个设计元素图像。
应当理解,图14A和图14B中所示出的所有UI、UI中的元素以及UI的布局都是示例性的,根据具体的设计和应用需求,可以对其进行任意形式的改变。
图15示出了根据实施例的用于纹样生成的示例性用户界面1500。用户界面1500是在示例性的添加了根据本公开实施的纹样生成功能的AI聊天机器人系统中呈现的。
在聊天机器人与用户的对话中,用户可以在1510处输入“请帮我设计一个自由派风格的纹样”。例如,在图2的202处,可以识别出该用户输入,并且可以在图2的204处从该用户输入中识别出域类别“自由派”。
通过根据本公开实施例的纹样生成过程,可以生成纹样1522以及对应的纹样描述1524,并且在对话中呈现给用户。
假设用户在1530处提供了进一步的输入“能帮我把这个纹样用在关于‘自然’的绘画上么?”。响应用户的进一步输入,可以检索到作为目标图像的、关于自然的艺术绘画,并且根据例如图13的过程1300来生成基于目标图像的纹样1542以及对应的纹样描述1544。可以在对话中将纹样1542和纹样描述1544呈现给用户。
应当理解,图15中所示出的UI及聊天过程都是示例性的,根据具体的设计和场景,可能存在任何其它形式的UI设计和聊天流。
图16示出了根据实施例的用于纹样生成的示例性方法1600的流程图。
在1610处,可以接收与所述纹样生成相关联的第一输入。
在1620处,可以确定与所述纹样生成相关联的域类别。
在1630处,可以基于所述第一输入和所述域类别来选择至少一个设计元素图像。
在1640处,可以至少基于所述第一输入和所述至少一个设计元素图像来生成纹样。
在一种实施方式中,所述第一输入可以包括与所述纹样生成相关联的主题信息和/或域类别信息。
在一种实施方式中,所述确定域类别可以包括以下至少之一:从所述第一输入中识别所述域类别;以及基于所述第一输入来推断所述域类别。
所述推断所述域类别可以是进一步基于用户简档的,所述用户简档包括历史输入、喜好、性别、年龄、位置中的至少一个。
在一种实施方式中,所述选择至少一个设计元素图像可以包括:通过知识图谱,确定与所述第一输入相关联的一个或多个设计元素;以及基于所述域类别和所述一个或多个设计元素来检索所述至少一个设计元素图像。
在一种实施方式中,所述生成纹样可以包括:获得至少与所述第一输入和所述至少一个设计元素图像相关联的文本信息;以及至少基于所述文本信息来生成所述纹样。
所述文本信息可以包括通过对所述至少一个设计元素图像执行图像到文本转换而生成的图像描述。
所述文本信息可以包括来自用户简档的信息。
所述至少基于所述文本信息来生成所述纹样可以包括:获得与所述文本信息相对应的文本主题表示和/或文本情感表示;以及至少基于所述文本主题表示和/或所述文本情感表示来生成所述纹样。
在一种实施方式中,所述生成纹样可以包括:获得与所述至少一个设计元素图像相对应的图像表示和/或图像情感表示;以及至少基于所述图像表示和/或所述图像情感表示来生成所述纹样。
在一种实施方式中,所述生成纹样可以是基于生成对抗网络来执行的。
在一种实施方式中,方法1600还可以包括:接收响应于所述纹样的第二输入;以及至少基于所述第二输入和所述纹样来生成经更新的纹样。
在一种实施方式中,方法1600还可以包括:获得目标图像;以及通过融合所述纹样与所述目标图像来生成基于目标图像的纹样。所述融合可以是基于生成对抗网络来执行的。
在一种实施方式中,方法1600还可以包括:通过对所述纹样执行图像到文本转换,生成所述纹样的纹样描述;以及提供所述纹样和所述纹样描述。
应当理解,方法1600还可以包括根据上述本公开实施例的用于纹样生成的任何步骤/过程。
图17示出了根据实施例的用于纹样生成的示例性装置1700。
装置1700可以包括:输入接收模块1710,用于接收与所述纹样生成相关联的第一输入;域类别确定模块1720,用于确定与所述纹样生成相关联的域类别;设计元素图像选择模块1730,用于基于所述第一输入和所述域类别来选择至少一个设计元素图像;以及纹样生成模块1740,用于至少基于所述第一输入和所述至少一个设计元素图像来生成纹样。
此外,装置1700还可以包括被配置用于执行根据上述本公开实施例的用于纹样生成的方法的任何操作的任何其它模块。
图18示出了根据实施例的用于纹样生成的示例性装置1800。
装置1800可以包括至少一个处理器1810。装置1800还可以包括与处理器1810连接的存储器1820。存储器1820可以存储计算机可执行指令,当所述计算机可执行指令被执行时,使得处理器1810:接收与所述纹样生成相关联的第一输入;确定与所述纹样生成相关联的域类别;基于所述第一输入和所述域类别来选择至少一个设计元素图像;以及至少基于所述第一输入和所述至少一个设计元素图像来生成纹样。此外,处理器1810还可以被配置为执行根据上述本公开实施例的用于纹样生成的方法的任何其它操作。
此外,本公开的实施例还提供了用于纹样生成的系统。该系统可以包括:门户组件,用于接收与所述纹样生成相关联的第一输入以及提供所述纹样生成的结果;API网关,用于管理和调用至少一个API;以及纹样创建API。纹样创建API可以用于响应于所述API网关的调用,确定与所述纹样生成相关联的域类别,基于所述第一输入和所述域类别来选择至少一个设计元素图像,以及至少基于所述第一输入和所述至少一个设计元素图像来生成纹样。
在一种实施方式中,所述纹样创建API可以用于:获得至少与所述第一输入和所述至少一个设计元素图像相关联的文本信息;以及至少基于所述文本信息来生成所述纹样。
在一种实施方式中,所述纹样创建API可以用于:获得与所述至少一个设计元素图像相对应的图像表示和/或图像情感表示;以及至少基于所述图像表示和/或所述图像情感表示来生成所述纹样。
在一种实施方式中,所述门户组件可以用于接收响应于所述纹样的第二输入,并且所述纹样创建API可以用于至少基于所述第二输入和所述纹样来生成经更新的纹样。
应当理解,纹样创建API还可以用于执行根据上述本公开实施例的的纹样生成过程所涉及的任何操作。此外,该系统还可以包括有助于实施根据本公开实施例的纹样生成的任何其它组件。
本公开的实施例可以实施在非暂时性计算机可读介质中。该非暂时性计算机可读介质可以包括指令,当所述指令被执行时,使得一个或多个处理器执行根据上述本公开实施例的用于纹样生成的方法的任何操作。
应当理解,以上描述的方法中的所有操作都仅仅是示例性的,本公开并不限制于方法中的任何操作或这些操作的顺序,而是应当涵盖在相同或相似构思下的所有其它等同变换。
还应当理解,以上描述的装置中的所有模块都可以通过各种方式来实施。这些模块可以被实施为硬件、软件、或其组合。此外,这些模块中的任何模块可以在功能上被进一步划分成子模块或组合在一起。
已经结合各种装置和方法描述了处理器。这些处理器可以使用电子硬件、计算机软件或其任意组合来实施。这些处理器是实施为硬件还是软件将取决于具体的应用以及施加在系统上的总体设计约束。作为示例,本公开中给出的处理器、处理器的任意部分、或者处理器的任意组合可以实施为微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门逻辑、分立硬件电路、以及配置用于执行在本公开中描述的各种功能的其它适合的处理部件。本公开给出的处理器、处理器的任意部分、或者处理器的任意组合的功能可以实施为由微处理器、微控制器、DSP或其它适合的平台所执行的软件。
软件应当被广泛地视为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、运行线程、过程、函数等。软件可以驻留在计算机可读介质中。计算机可读介质可以包括例如存储器,存储器可以例如为磁性存储设备(如,硬盘、软盘、磁条)、光盘、智能卡、闪存设备、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器或者可移动盘。尽管在本公开给出的多个方面中将存储器示出为是与处理器分离的,但是存储器也可以位于处理器内部(如,缓存或寄存器)。
以上描述被提供用于使得本领域任何技术人员可以实施本文所描述的各个方面。这些方面的各种修改对于本领域技术人员是显而易见的,本文限定的一般性原理可以应用于其它方面。因此,权利要求并非旨在被局限于本文示出的方面。关于本领域技术人员已知或即将获知的、对本公开所描述各个方面的元素的所有结构和功能上的等同变换都旨在由权利要求所覆盖。
- 纹样生成
- 一种基于内容特征的四方连续纹样自动生成方法