CN109816770B - 使用神经网络的油画笔划模拟 - Google Patents
使用神经网络的油画笔划模拟 Download PDFInfo
- Publication number
- CN109816770B CN109816770B CN201811022930.1A CN201811022930A CN109816770B CN 109816770 B CN109816770 B CN 109816770B CN 201811022930 A CN201811022930 A CN 201811022930A CN 109816770 B CN109816770 B CN 109816770B
- Authority
- CN
- China
- Prior art keywords
- canvas
- map
- brush stroke
- graph
- height
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Coating Apparatus (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开内容涉及使用神经网络的油画笔划模拟。公开了使用经训练的神经网络来模拟画笔笔划的油画模拟技术。在一些示例中,一种方法可以包括在基于表示新的画笔笔划的刷毛轨迹图和在新的画笔笔划的应用之前画布上的现有涂料的高度图来推断在新的画笔笔划被应用之后画布上的现有涂料的新的高度图,以及基于在新的画笔笔划被应用于画布之后画布上的现有涂料的新的高度图和颜色图来生成新的画笔笔划的绘出。
Description
技术领域
本公开内容总体上涉及绘画模拟,并且更具体地涉及使用神经网络模拟油画笔(painting brush)笔划。
背景技术
已经开发了在计算机上模拟艺术油画的涂料模拟程序。传统的油画涂料模拟程序通常提供虚拟画笔以供艺术家用于在数字画布上绘画(创作绘画)。这些程序试图模拟油画涂料的质地、以及画笔的刷毛(bristle)将涂料涂抹在画布上的方式。很多油画模拟程序通过沿着画笔笔划路径标记预定义的2D笔刷印记来模拟油画笔笔划,并且使用拾取图模拟画笔笔划与画布之间的涂料转移。在这些模拟中,涂料通常以2D表示。然而,真实的物理油画看起来并不像平面2D图像。物理油画中的涂料具有深度和质感。因此,很多传统的涂料模拟程序无法逼真地模拟在物理油画中使用的真实涂料笔划。
画布上的油画涂料的表面厚度的真实表示是在计算机上模拟艺术油画所必需的。这种表示是指在z方向上(从画布出来)在画布表面上方延伸的应用的油画涂料的厚度。实际上表示油画涂料的表面厚度需要对逼真的油画笔笔划进行建模。如上所述,模拟油画笔笔划的一种方法是标记预定义的2D画笔印记并且模拟画笔笔划与画布之间的涂料转移。不幸的是,以这种方式对油画笔笔划进行建模会产生画笔笔划的3D表面细节的低质量表示,并且因此产生油画的低质量模拟。
模拟油画笔笔划的另一种方法是模拟画笔笔划的数百甚至数千个单独的刷毛、以及刷毛之间的交互以生成准确的画笔形状。虽然这种方法产生了画笔笔划的3D表面细节的更高质量的表示,但遗憾的是,这种方法需要使用复杂的流体模拟。因此,这种方法在计算上非常昂贵(其也增加了功耗)并且对于缺乏必要的计算能力的计算设备(诸如移动计算机和移动设备,仅举几个示例)而言是不可行的。
其他可能的方法包括用于模拟油画笔笔划的数据驱动的纹理合成方法。这些方法通常涉及通常从真实画笔笔划的照片收集示例画笔笔划区段的语料库。然后,对于输入画笔笔划,标识与输入笔划路径形状最接近匹配的示例画笔笔划区段,并且执行优化以无缝地连接所标识的示例画笔笔划区段。不幸的是,这些方法经常产生重复的图案或以其他方式受到限制的图案,这些图案不能捕获真实的画笔笔划的全部动态和变化。
附图说明
附图并非旨在按比例绘制。在附图中,在各个图中示出的每个相同或几乎相同的组件由相同的数字表示,如在上下文中阅读时将理解的。
图1是示出根据本文中描述的至少一些实施例的用于为神经网络生成训练数据的示例组件的图;
图2是示出根据本文中描述的至少一些实施例的到神经网络的示例训练数据输入的图;
图3是示意性地示出根据本文中描述的至少一些实施例的采用单个神经网络的示例性笔划生成系统的框图;
图4是示意性地示出根据本文中描述的至少一些实施例的采用经训练的神经网络的多个实例的图3的示例性笔划生成系统的框图;
图5是示意性地示出根据本文中描述的至少一些实施例的由多个经训练的神经网络生成的多个刷毛轨迹图区段和相应的高度图区段的框图;
图6是示出根据本文中描述的至少一些实施例的用于绘出(render)新的画笔笔划的示例过程的流程图;以及
图7示出了根据本文中描述的至少一些实施例的可以用于执行如本公开内容中不同地描述的任何技术的示例计算系统的所选择的组件。
在以下具体实施方式中,参考附图,附图形成本发明的一部分。在附图中,除非上下文另有指示,否则类似的符号通常标识类似的组件。在具体实施方式、附图和权利要求中描述的说明性实施例不表示是限制性的。在不脱离本文中提出的主题的精神或范围的情况下,可以使用其他实施例,并且可以进行其他改变。如总体上在本文中描述和在附图中示出的本公开内容的各方面可以以各种不同的配置来布置、替换、组合、分离和设计,所有这些都在本文中明确地预期。
具体实施方式
本文中公开内容了用于使用基于指示画布上的现有涂料的所谓的高度图而被专门训练的神经网络来模拟油画笔笔划的技术,如将进一步解释的。油画笔笔划的模拟提供了油画表面厚度的真实重建,其用于提供高质量、逼真的油画模拟。根据一个实施例,使用监督学习来训练神经网络以从大量训练数据集推断函数。更详细地,每个训练数据集包括画布上的现有涂料的高度图、表示画笔笔划的刷毛轨迹图和地面实况(ground truth),地面实况是向画布上的现有的涂料应用画笔笔划而得到的预期高度图。一旦经过训练,经训练的神经网络的目标是对于画布上的现有涂料的给定高度图和表示新的画笔笔划的刷毛轨迹图来推断在新的画笔笔划被应用于画布之后画布上的涂料的高度图。也就是说,经训练的神经网络推断由于将新的画笔笔划被应用于在新的画笔笔划之前在画布上的涂料而产生的在画布上的新的涂料。在一些实施例中,神经网络是卷积神经网络。
在一些实施例中,利用高质量油画模拟器来生成训练数据集以用于训练神经网络。模拟器利用3D体积流体模拟来模拟数字画布上的涂料介质,诸如油涂料。为了生成训练数据集,将画布上的现有涂料的高度图和画笔笔划输入到模拟器,模拟器又基于输入高度图和画笔笔划对生成地面实况。模拟器还生成输入画笔笔划的刷毛轨迹图。训练数据集包括输入到模拟器的高度图以及由模拟器生成的刷毛轨迹图和地面实况。
在一些实施例中,使用经训练的神经网络的一个或多个实例来模拟油画笔笔划。例如,单个长的油画笔笔划可以被分割成多个油画笔笔划区段,并且每个油画笔笔划区段由经训练的神经网络的相应实例处理。在这种情况下,经训练的神经网络的每个实例的目的是对于画布上的现有涂料的给定高度图和表示相应的新的画笔笔划区段的相应的刷毛轨迹图区段来推断在相应的新的画笔笔划区段(表示相应的新的画笔笔划区段的相应的刷毛轨迹图区段)应用于画布之后画布上的涂料的高度图区段。也就是说,经训练的神经网络的每个实例推断由于将新的画笔笔划区段被应用于在新的画笔笔划区段之前在画布上的涂料而产生的在画布上的新的涂料区段。
使用经训练的神经网络模拟油画笔笔划在不使用复杂流体模拟的情况下产生画笔笔划的3D表面细节的更高质量表示。因此,使用经训练的神经网络模拟画笔笔划的油画模拟应用适合于在诸如移动计算机和移动设备等可能不具有足够的计算能力来执行流体模拟的计算设备上执行。尽管以下在油涂料和油画的上下文中描述实施例和/或示例,但是根据本公开内容将理解,在一般意义上,实施例和/或示例不限于油涂料和油画,而是也适用于诸如丙烯酸树脂和水粉等厚涂料,仅举几个示例。
图1是示出根据本文中描述的至少一些实施例的用于为神经网络生成训练数据的示例组件的图100。生成的训练数据用于训练神经网络以提供画布上的现有涂料的第一高度图和刷毛轨迹图作为输入,推断在应用新的画笔笔划之后画布上的现有涂料的第二高度图。输入到神经网络的刷毛轨迹图表示新的画笔笔划。如图100所示,用于为神经网络生成训练数据的组件包括模拟器102、高度图104和画笔笔划106(除非上下文另有指示,否则在本文中可互换地称为“画笔笔划106”)。
在一些实施例中,模拟器102是模拟油涂料的纹理以及画笔的刷毛将油涂料涂抹在数字画布(除非上下文另有指示,否则在本文中可互换地称为“画布”)上的操作的油画模拟应用。在一些情况下,模拟器102可以利用流体模拟来模拟画笔的各个刷毛(例如,数千个单独的刷毛)、以及画笔的刷毛之间用于生成画笔的3D模型的交互。画笔的3D模型用于与涂料介质交互,以在画布上模拟涂料的物理动态。模拟器102可以允许用户(例如,艺术家)使用触摸屏上的触笔与模拟的油涂料交互。
高度图104是画布上的现有涂料的表示。高度图104表示画布上存在的涂料的厚度。在一些实施例中,高度图104可以表示为2D图像,例如,以512像素×512像素的分辨率。如根据本公开内容将理解的,高度图104可以使用其他图像分辨率来表示存在于画布上的涂料的厚度。在一些示例情况下,高度图104的每个像素位置处的值表示该像素位置处的涂料的厚度。例如,如果高度图104的像素位置处的值为零(像素值=0),则高度图104中的该像素位置处的涂料厚度为0mm。如果高度图104的像素位置处的值为1(像素值=1),则高度图中的该像素位置处的涂料厚度为1mm。类似地,像素值1.5可以指示高度图104中的该像素位置处的涂料厚度为1.5mm。在一些实施例中,输入到模拟器102以为神经网络生成训练数据的高度图104(画布上的现有涂料的高度图)随机地生成。也就是说,随机生成的高度图104被提供给模拟器102用于为神经网络生成训练数据。例如,可以通过从储存库中随机旋转和/或重叠画笔笔划样本来生成高度图104,以模仿随机绘制过程。
画笔笔划106是在绘制期间由画笔产生的运动。例如,艺术家通常使用画笔逐笔划进行绘制。画笔笔划106是艺术家在绘制时将进行的一个笔划(画笔笔划动作)的表示。画笔笔划106可以是从画笔笔划106的语料库中选择的一个画笔笔划。
画笔笔划样本库108可以包括或存储画笔笔划的语料库。在一些示例情况下,可以记录由用户生成的画笔笔划,并且可以在画笔笔划样本库108中保持与所记录的画笔笔划相对应的数据(例如,画笔笔划数据)。部分或全部画笔笔划106(画笔笔划数据)可以用于生成训练数据以训练神经网络。在一些实施例中,记录的画笔笔划106可以随机旋转和/或组合以生成另外的画笔笔划106。
高度图104(画布上的现有涂料的高度图)和画笔笔划106作为输入被提供给模拟器102,并且模拟器102生成地面实况110和刷毛轨迹112(在本文中可互换地称为“刷毛轨迹图”)。地面实况110是在画笔笔划被应用于画布(例如,应用于画布上的现有涂料)之后画布上的现有涂料的高度图。也就是说,地面实况110是在新的画笔笔划(例如,作为输入提供给模拟器102的画笔笔划106)应用于在应用新的画笔笔划之前存在的高度图(例如,作为输入提供给模拟器102的高度图104)之后画布上的现有涂料的高度图。在一些实施例中,模拟器102利用流体模拟来生成地面实况110。
刷毛轨迹图112是由于画笔笔划106而生成的画笔的刷毛尖端(例如,所有刷毛尖端)的轨迹的表示。例如,当沿着画布上的路径扫过画笔时,画笔的刷毛的尖端在画布上产生刷毛尖端的轨迹。刷毛轨迹图112可以传达或指示诸如刷毛尖端方向、刷毛尖端角度、由刷毛尖端在画布上生成的压力等数据。由模拟器102生成的刷毛轨迹图112是由于输入画笔笔划106(作为输入提供给模拟器102的画笔笔划106)而产生的画笔的刷毛尖端的轨迹的表示。
作为输入提供给模拟器102的高度图104、以及作为输入的高度图104的结果而由模拟器102生成的刷毛轨迹图112和地面实况110包括训练数据集(例如,训练数据3元组),其用于训练神经网络以推断在应用新的画笔笔划之后画布上的现有涂料的高度图。模拟器102可以用于生成大量训练数据集,其可以用于训练神经网络。例如,可以随机生成大量高度图104,并且每个高度图104与例如来自画笔笔划样本库108的画笔笔划106配对。成对的随机生成的高度图104和画笔笔划106然后可以作为输入提供给模拟器102以生成相应的成对的地面实况110和刷毛轨迹图112。输入到模拟器102的每个高度图104以及由模拟器102生成的相应的刷毛轨迹图112和地面实况110可以包括相应的训练数据集,从而导致产生大量训练数据集。
图2是示出根据本文中描述的至少一些实施例的到神经网络202的示例性训练数据输入的图200。如图200所示,大量且在一些情况下非常大量的训练数据集204用于训练神经网络202。训练数据集204用于训练神经网络202以提供画布上的现有涂料的高度图和刷毛轨迹图作为输入,推断在应用新的画笔笔划之后画布上的现有涂料的高度图。在这种情况下,作为输入提供给神经网络202的刷毛轨迹图表示新的画笔笔划。
每个训练数据集204包括高度图、刷毛轨迹图和地面实况。高度图是画布上的现有涂料的高度图(图1的高度图104),其与画笔笔划(图1的画笔笔划106)一起作为输入被提供给模拟器102以生成相应的地面实况(图1的地面实况110)和相应的刷毛轨迹图(图1的刷毛轨迹图112)。在每个训练数据集204中,地面实况是由于在画布上的现有涂料上应用新的画笔笔划(如由输入到模拟器102的画笔笔划106表示)而预期的高度图(由包括在训练数据集中并且输入到模拟器102的高度图104表示)。刷毛轨迹图是由于新的画笔笔划而生成的画笔的刷毛尖端的轨迹的表示。也就是说,对于每个训练数据3元组、地面实况、高度图和鬃毛轨迹图,训练数据3元组的地面实况是当使用训练数据集204训练的神经网络被提供训练数据3元组的高度图和刷毛轨迹图作为输入时预期来自使用训练数据集204训练的神经网络的输出。一旦经过训练,提供在应用新的画笔笔划(输入到图1的模拟器102以生成用于训练神经网络202的地面实况110的高度图104)和刷毛轨迹图(由图1的模拟器102生成并且用于训练神经网络202的刷毛轨迹图112)之前存在的画布上的现有涂料的高度图作为输入,神经网络202被配置为推断在应用新的画笔笔划之后画布上的现有涂料的高度图(例如,由图1的模拟器102生成并且用于训练神经网络202的非常接近(如果不是精确近似)的地面实况110)。
图3是示意性地示出根据本文中描述的至少一些实施例的采用单个神经网络202的示例性笔划生成系统300的框图。如图所示,笔划生成系统300包括数据生成模块302、经训练的神经网络202、高度图组合器模块304和绘出模块306。在各种实施例中,在不脱离本公开内容的范围的情况下,可以采用附加组件(未示出,诸如处理器、显示器、用户输入设备等)或所示组件的子集。例如,其他实施例可以将模块302、304和306以及经训练的神经网络202的各种功能集成为更少的模块(例如,一个、两个或三个)或更多的模块(例如,五个或六个或更多个)。另外,进一步注意,根据一些实施例,笔划生成系统300的各种组件可以全部在独立的计算系统中,而在其他实施例中,可以分布在多个机器上。例如,模块302、304和306以及经训练的神经网络202中的每个可以位于基于云的服务器布置中,并且经由通信网络对于基于客户端的用户界面是可访问的。在一些情况下,模块302、304和306以及经训练的神经网络202中的一个或多个可以从基于云的服务下载到客户端计算机的浏览器(或其他应用)中以用于本地执行。在更一般的意义上,本文中提供的功能组件的集成和分布程度可以从一个实施例到下一实施例变化很大,如根据本公开内容将理解的。
在所示示例中,用户(例如,艺术家)可以使用笔划生成系统300来在数字画布上创建模拟油画。用户可以利用促进与笔划生成系统300的交互的任何合适的用户界面设备,例如,用户界面(UI)设备308。在一些情况下,UI设备308可以提供触笔和触敏屏幕以供用户使用。UI设备308可以耦合到笔划生成系统300,并且用户可以使用UI设备308来创建数字油画。例如,用户可以使用触笔在UI设备308的触敏屏幕上逐笔划地输入(例如,生成)数字画笔笔划。
当用户使用UI设备308并且生成画笔笔划笔(当前画笔笔划)时,UI设备308向数据生成模块302提供用户生成的当前画笔笔划或以其他方式使用户生成的当前画笔笔划可用于数据生成模块302。数据生成模块302被配置为生成表示由用户输入的当前画笔笔划的刷毛轨迹图。在一些实施例中,数据生成模块302通过在画布上扫描模拟的画笔并且在扫过画笔时记录画笔刷毛接触轨迹来生成刷毛轨迹图。例如,数据生成模块302可以通过绘制在画笔笔划的长度上移动的画笔刷毛的轨迹来生成刷毛轨迹图。画笔刷毛的轨迹可以在刷毛轨迹图中重叠。数据生成模块302还被配置为基于当前画笔笔划和画布的当前状态(例如,画布上的现有涂料)生成颜色图。例如,数据生成模块302可以使用很多可用的标记算法之一来生成颜色图。例如,可用的标记算法通常沿着每个笔划路径以一个像素间隔绘制画笔的印记图章。在每个图章处,画笔颜色与画布上的现有涂料颜色混合,并且相应地更新画布颜色。画笔上的颜色也可以类似地更新,以模拟颜色从画布上的现有涂料到画笔的转移。数据生成模块302具有由先前的画笔笔划(在用户生成的当前画笔笔划之前的画笔笔划)产生的画布上的现有涂料的高度图的知识。在当前画笔笔划笔是第一或初始画笔笔划笔的情况下,画布可以是干净的画布,因为画布上当前不存在涂料。如果画布上没有现有涂料,则高度图相应地指示画布上当前没有涂料。数据生成模块302被配置为向经训练的神经网络202提供所生成的刷毛轨迹图和画布上的现有涂料的高度图或以其他方式使所生成的刷毛轨迹图和画布上的现有涂料的高度图可用于经训练的神经网络202。例如,数据生成模块302、或笔划生成系统300的另一组件可以实例化经训练的神经网络202的实例以处理刷毛轨迹图和画布上的现有涂料的高度图。
经训练的神经网络202被配置为推断在应用当前画笔笔划之后画布上的涂料的高度图。由经训练的神经网络202推断的高度图是新的高度图,其表示在向在应用当前画笔笔划(其由作为输入提供给经训练的神经网络202的画布上的现有涂料的高度图所示)之前存在于画布上的涂料应用当前画笔笔划(其由作为输入提供给经训练的神经网络202的刷毛轨迹图所表示)之后现在在画布上的涂料的高度。也就是说,提供第一高度图(画布上的现有涂料的高度图)和刷毛轨迹图(当前的画笔笔划),经训练的神经网络202推断第二高度图(在应用当前的画笔笔划之后画布上的涂料高度图)。经训练的神经网络202向高度图组合器模块304提供在应用当前的画笔笔划之后画布上的涂料的推断高度图或以其他方式使在应用当前的画笔笔划之后画布上的涂料的推断高度图可用于高度图组合器模块304。
高度图组合器模块304被配置为组合多个高度图区段以生成单个组合高度图。高度图区段在下面例如结合图4和图5进一步讨论。在这种情况下,高度图组合器模块304确定提供的高度图是组合高度图,因为只有一个(单个)高度图被提供。这样,高度图组合器模块304不对提供的高度图执行任何组合操作。高度图组合器模块304向绘出模块306提供在应用当前画笔笔划之后画布上的涂料的高度图或以其他方式使在应用当前画笔笔划之后画布上的涂料的高度图可用于绘出模块306。
绘出模块306被配置为组合高度图(例如,在应用当前画笔笔划之后画布上的现有涂料的高度图)和颜色图以生成绘出310。颜色图可以由数据生成模块302提供或者以其他方式可用于数据生成模块302。绘出310是用户在画布上输入的当前画笔笔划的视觉表示。也就是说,绘出310是用户在UI设备308的触敏屏幕上创建的数字画笔笔划的数字表示。在一些实施例中,绘出模块306可以通过使用中心差分算法基于高度图计算标准图来生成绘出310。然后,绘出模块306可以根据生成的标准图和照明数据计算涂料的照度。照明数据可以由用户使用例如点光源、定向光源、聚光灯或任何其他合适的照明模型来提供。然后,绘出模块306可以基于计算的照度和颜色图生成最终的着色阴影结果(例如,绘出310),其提供画布的反射率或光学亮度的度量。可以在UI设备308(例如,UI设备308的触敏屏幕)上提供由用户创建的画笔划的绘出310,以供用户查看。
图4是示意性地示出了根据本文中描述的至少一些实施例的采用经训练的神经网络202的多个实例的笔划生成系统300的框图。图4的系统基本上类似于图3的系统,具有附加细节。除非上下文另有规定,否则为了清楚起见,图4中与图3的组件相同地标记的那些组件将不再描述。
在一些实施例中,数据生成模块302被配置为将长的刷毛轨迹图(例如,长的画笔笔划)分割成多个刷毛轨迹图区段(例如,多个画笔笔划区段)。与处理单个长的刷毛轨迹图相比,处理多个较短的刷毛轨迹图区段并且组合较短的刷毛轨迹图区段的处理结果可以提供改进的性能。数据生成模块302可以确定刷毛轨迹图的长度,并且如果刷毛轨迹图的长度超过指定阈值刷毛轨迹图区段长度,则将刷毛轨迹图分割成多个刷毛轨迹图区段,从而使得除了最后的刷毛轨迹图区段之外的每个刷毛轨迹图区段的长度具有指定的阈值刷毛轨迹图区段长度。例如,假定指定的阈值刷毛轨迹图区段长度是512像素并且刷毛轨迹图的长度是1,500个像素。在这种情况下,数据生成模块302可以将刷毛轨迹图分割成三个刷毛轨迹图区段,其中两个刷毛轨迹图区段每个具有512个像素的长度,并且一个刷毛轨迹图区段具有476个像素的长度。阈值刷毛轨迹图区段长度可以例如由笔划生成系统300的提供者预先配置。在一些实施例中,阈值刷毛轨迹图区段长度可以是可调参数。例如,阈值刷毛轨迹图区段长度可以在笔划生成系统300可访问的配置文件中指定,并且用户(或系统管理员)可以基于笔划生成系统300的性能来调整或调节阈值刷毛轨迹图区段长度。例如,用户可以调整阈值刷毛轨迹图区段长度以实现笔划生成系统300的期望性能。
在一些实施例中,数据生成模块302可以为每个刷毛轨迹图区段生成边界框。边界框描绘或定义刷毛轨迹图区段的边界(例如,分界线)。例如,可以通过边界框的四个角的坐标来指定边界框。在一些实施例中,以能够紧密限制刷毛轨迹图区段的方式生成用于刷毛轨迹图区段的边界框。也就是说,生成边界框,从而使得在边界框内,减少或最小化不表示画笔笔划区段的像素的数目。最小化边界框中不表示画笔笔划区段的像素的数目导致计算成本降低。例如,减少或最小化不表示画笔笔划区段的像素的数目减少了在处理画笔笔划区段的刷毛轨迹图区段时需要由经训练的神经网络202处理的“不必要的”像素的数目。每个刷毛轨迹图区段表示用户输入的当前画笔笔划的相应区段。
数据生成模块302被配置为向相应的经训练的神经网络202提供每个刷毛轨迹图区段和画布上的现有涂料的高度图或以其他方式使每个刷毛轨迹图区段和画布上的现有涂料的高度图可用于相应的经训练的神经网络202。例如,数据生成模块302或笔划生成系统300的其他组件可以实例化经训练的神经网络202的多个实例,经训练的神经网络202的每个实例处理相应的刷毛轨迹图区段和画布上的现有涂料的高度图。也就是说,多个经训练的神经网络202的每个经训练的神经网络202被提供相应的刷毛轨迹图区段和画布上的现有涂料的高度图作为输入。尽管数据生成模块302被描绘为将刷毛轨迹图分割成三个刷毛轨迹图区段,但是刷毛轨迹图区段的数目是出于说明的目的,并且可以基于刷毛轨迹图的长度和指定的刷毛轨迹图区段长度来生成不同数目的刷毛轨迹图区段,如根据本公开内容将理解的。
图5是示意性地示出根据本文中描述的至少一些实施例的由多个经训练的神经网络202生成的多个刷毛轨迹图区段和相应的高度图区段的框图。如上所述,每个刷毛轨迹图区段对应于刷毛轨迹图的区段,其中刷毛轨迹图表示当前画笔笔划。这样,每个刷毛轨迹图区段是由于相应的当前画笔笔划区段而生成的画笔的刷毛尖端的轨迹的表示。每个刷毛轨迹图区段由边界框描绘。每个刷毛轨迹图区段由相应的经训练的神经网络202处理,经训练的神经网络202推断在应用由刷毛轨迹图区段表示的当前画笔笔划区段之后画布上的涂料的相应高度图。由每个经训练的神经网络202推断的高度图是表示在向在当前画笔笔划区段的应用之前存在于画布上的涂料应用当前画笔笔划区段之后现在在画布上的涂料的高度的高度图区段。类似于限定刷毛轨迹图区段的边界框,每个高度图区段可以由边界框描绘或定义。
再次参考图4,每个经训练的神经网络202向高度图组合器模块304提供所生成的高度图区段(在应用当前画笔笔划笔划区段之后画布上的涂料的高度图)或以其他方式使所生成的高度图区段(在应用当前画笔笔划笔划区段之后画布上的涂料的高度图)可用于高度图组合器模块304。高度图组合器模块304组合例如由相应的多个经训练的神经网络202提供的多个高度图区段,以生成单个组合高度图。例如,高度图组合器模块304可以通过拼合高度图区段的非重叠区域并且对两个相邻高度图区段的重叠区域中的高度图值进行求平均来组合多个高度图区段。
在一些实施例中,生成多个边界框中的每个,从而使得在两个相邻边界框之间产生重叠区域。重叠区域允许混合重叠区域中的高度图区段,以在组合两个相邻高度图区段时提供画笔笔划区段的连续性。在一些实施例中,重叠区域是沿着画笔笔划的大致方向或长度的指定数目的像素,诸如8个像素、16个像素、32个像素等。也就是说,在两个相邻高度图区段之间,两个相邻高度图区段中的每个区段的相应端部沿着相邻高度图区段的大致方向或长度与指定数目的像素重叠。当组合相邻高度图区段时,重叠区域的大小(例如,长度)可以有助于所得到的高度图的连续性。也就是说,与小的重叠区域相比,大的重叠区域可以导致生成更连续的高度图。例如,可以由笔划生成系统300的提供者预先配置重叠区域的大小。在一些实施例中,重叠区域的大小可以是可调参数。例如,重叠区域的大小可以在笔划生成系统300可访问的配置文件中指定,并且用户(或系统管理员)可以基于生成系统300的性能调整或调节重叠区域的大小(例如,绘出的画笔笔划的平滑度或其他视觉特性)。例如,用户可以调整重叠区域的大小以实现由笔划生成系统300绘出的画笔笔划的期望平滑度。
图6是示出根据本文中描述的至少一些实施例的用于绘出新的画笔笔划的示例过程的流程图600。示例过程和方法可以包括如框602、604、606、608、610和/或612中的一个或多个所示的一个或多个操作、功能或动作,并且在一些实施例中可以由诸如图7的计算系统700等计算系统执行。框602-612中描述的操作也可以作为计算机可执行指令存储在诸如计算系统700的存储器704和/或数据存储装置706等计算机可读介质中。该过程可以由笔划生成系统300的组件执行。
如根据本公开内容将进一步理解的,对于本文中公开的这个和其他过程和方法,在过程和方法中执行的功能可以以不同的顺序实现。另外地或替代地,两个或更多个操作可以同时执行,或者以重叠的同时方式执行。此外,概述的动作和操作仅作为示例提供,并且在不偏离所公开的实施例的本质的情况下,一些动作和操作可以是可选的,组合成更少的动作和操作,或者扩展为附加的动作和操作。
如流程图600所示,该过程可以从框602开始,在框602处,笔划生成系统300接收新的画笔笔划。作为示例用例,用户可以在计算设备上执行笔划生成系统300,以在画布上创建模拟的油画。笔划生成系统300可以提供触笔和触敏屏幕以供用户使用以创建油画,并且用户可以使用提供的触笔和触敏屏幕在画布上生成新的画笔笔划。作为响应,数据生成模块302接收由用户生成的新的画笔笔划。
框602之后可以是框604,在框604处,数据生成模块302基于所接收的新的画笔笔划和画布的当前状态(例如,画布上的现有涂料)生成颜色图。
框604之后可以是框606,在框606处,数据生成模块302生成表示所接收的新的画笔笔划的刷毛轨迹图。
框606之后可以是框608,在框608处,数据生成模块302向经训练的神经网络202提供刷毛轨迹图和在画布上的现有涂料的高度图作为输入。借助于笔划生成系统300已经处理了当前的新的画笔笔划之前的画笔笔划,数据生成模块302具有画布上的现有涂料的高度图的知识。
框608之后可以是框610,在框610处,经训练的神经网络202基于作为输入提供的刷毛轨迹图和画布上的现有涂料的高度图来推断画布上的现有涂料的新的高度图。继续上述示例,由经训练的神经网络202推断的新的高度图是表示在将新的画笔笔划被应用于画布之后现在在画布上的涂料的高度的新的高度图。
框610可以跟随有框612,在框612处,绘出模块306基于画布上的现有涂料的新的高度图和颜色图来在画布上生成新的画笔笔划的绘出。继续以上的示例,可以在用户生成新的画笔笔划的触敏屏幕上生成新的画笔笔划的绘出。
在一些实施例中,可以执行附加的操作。例如,在一些实施例中,数据生成模块302可以基于指定的阈值刷毛轨迹图区段长度来将表示新的画笔笔划的刷毛轨迹图分割成一个或多个刷毛轨迹图区段。例如,数据生成模块302可以确定刷毛轨迹图的长度,并且如果刷毛轨迹图的长度不超过指定的刷毛轨迹图区段长度,则从刷毛轨迹图生成一个刷毛轨迹图区段。备选地,如果刷毛轨迹图的长度超过指定的阈值刷毛轨迹图区段长度,则数据生成模块可以将刷毛轨迹图分割成多个刷毛轨迹图区段,从而使得除了最后的刷毛轨迹图区段之外的每个刷毛轨迹图区段的长度具有指定的阈值刷毛轨迹图区段长度。数据生成模块302然后可以将每个刷毛轨迹图区段和画布上的现有涂料的高度图提供给相应的经训练的神经网络202。每个相应的经训练的神经网络202可以基于作为输入而被提供的刷毛轨迹图区段和画布上的现有涂料的高度图来推断高度图区段。可以基于由多个经训练的神经网络202推断的高度图区段来生成画布上的现有涂料的单个高度图。例如,高度图组合器模块304可以组合高度图区段以生成新的画笔笔划被应用之后画布上的现有涂料的单个高度图。
图7示出了根据本文中描述的至少一些实施例的可以被用于执行如本公开内容中被不同地描述的技术中的任何技术的示例计算系统700的所选择的组件。在一些实施例中,计算系统700可以被配置为实现或指导与关联于图3的笔划生成系统300的引擎、组件和/或模块中的一些或所有相关联的一个或多个操作。例如,数据生成模块302、经训练的神经网络202、高度图组合器模块304和绘出模块306、或这些的任何组合可以在计算系统700中被实现和/或使用计算系统700而被实现。在一个示例情况中,例如,数据生成模块302、经训练的神经网络网络202、高度图组合器模块304和绘出模块306中的每个被加载到存储器704中并且由处理器702可执行。计算系统700可以是任何计算机系统,诸如工作站、台式计算机、服务器、膝上型计算机、手持计算机、平板计算机(例如,平板计算机)、移动计算或通信设备(例如,/>移动通信设备、AndroidTM移动通信设备等)、或能够通信并且具有足够的处理器能力和存储器容量以执行本公开内容中所描述的操作的其他形式的计算或电信设备。可以提供包括多个这样的计算设备的分布式计算系统。如所描绘的,计算系统700可以包括处理器702、存储器704和数据存储装置706。处理器702、存储器704和数据存储装置706可以被通信地耦合。
通常,处理器702可以包括任何合适的专用或通用计算机、计算实体、或者包括各种计算机硬件、固件或软件模块的计算或处理设备,并且可以被配置为执行被存储在任何可适用的计算机可读存储介质上的指令,诸如程序指令。例如,处理器702可以包括微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或者被配置为解释和/或执行程序指令和/或处理数据的任何其他数字或模拟电路。虽然在图7中被示出为单个处理器,但是处理器702可以包括被配置为单独地或共同地执行或指导本公开内容中描述的任何数目的操作的执行的任何数目的处理器和/或处理器核。附加地,处理器中的一个或多个处理器可以存在于一个或多个不同的电子设备(诸如不同的服务器)上。
在一些实施例中,处理器702可以被配置为解释和/或执行被存储在存储器704、数据存储装置706或存储器704和数据存储装置706中的程序指令和/或处理数据。在一些实施例中,处理器702可以从数据存储装置706取读程序指令并且将程序指令加载到存储器704中。在程序指令被加载到存储器704中之后,处理器702可以执行程序指令。
例如,在一些实施例中,笔划生成系统300的引擎、组件和/或模块中的任何一个或多个可以作为程序指令而被包括在数据存储装置706中。处理器702可以从数据存储装置706取读程序指令中的一些或所有程序指令,并且可以将取读的程序指令加载到存储器704中。在将程序指令加载到存储器704中之后,处理器702可以执行程序指令,从而使得计算系统可以实现由指令指示的操作。
在一些实施例中,可以在计算设备700中采用虚拟化,从而使得可以动态地共享计算设备700中的基础设施和资源。例如,可以提供虚拟机来处理在多个处理器上运行的进程,从而使得进程看起来仅使用一个计算资源而不是多个计算资源。多个虚拟机也可以与一个处理器一起使用。
存储器704和数据存储装置706可以包括用于携带或存储计算机可执行指令或数据结构的计算机可读存储介质。这样的计算机可读存储介质可以包括可以由诸如处理器702等通用或专用计算机访问的任何可用介质。作为示例而非限制,这样的计算机可读存储介质可以包括非暂态计算机可读存储介质,包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)或其他光盘存储器、磁盘存储器或其他磁存储设备、闪存设备(例如,固态存储设备)、或者可以用于以计算机可执行指令或数据结构的形式携带或存储特定程序代码并且可以由通用或专用计算机访问的任何其他存储介质。以上各项的组合也可以被包括在计算机可读存储介质的范围内。计算机可执行指令可以包括例如被配置为引起处理器702执行特定操作或操作组的指令和数据。
在不脱离本公开内容的范围的情况下,可以对计算系统700进行修改、添加或省略。例如,在一些实施例中,计算系统700可以包括可能未在本文中被明确示出或描述的任何数目的其他组件。
如上所述,本公开内容中描述的实施例可以包括使用包括各种计算机硬件或软件模块的专用或通用计算机(例如,图7的处理器702),如本文中更详细地讨论的。可以理解,一旦通用计算机被编程或以其他方式被配置为执行根据本公开内容的实施例的功能,该通用计算机就变成专用计算机。此外,如上所述,本公开内容中描述的实施例可以使用用于携带或存储计算机可执行指令或数据结构的计算机可读介质(例如,图7的存储器704)来实现。
鉴于本公开内容,很多示例变化和配置将是很清楚的。根据一些示例,描述了一种用来模拟画笔笔划的计算机实现的方法。示例性计算机实现的方法可以包括:由具有用于接收表示新的画笔笔划的刷毛轨迹图的第一输入和用于接收画布上的现有涂料的第一高度图的第二输入的经训练的神经网络推断在新的画笔笔划被应用于画布之后画布上的现有涂料的第二高度图;以及由绘出模块基于在新的画笔笔划被应用于画布之后画布上的现有涂料的第二高度图和颜色图来生成新的画笔笔划的绘出。
在一些示例中,经训练的神经网络使用多个训练数据集而被训练,多个训练数据集中的每个训练数据集包括高度图、刷毛轨迹图和地面实况。在其他示例中,对于每个训练数据集,刷毛轨迹图和地面实况由模拟器响应于被提供高度图作为输入生成。在其他示例中,模拟器利用流体模拟来生成地面实况。在其他示例中,刷毛轨迹图是表示新的画笔笔划区段的刷毛轨迹图区段,并且其中第二高度图是在新的画笔笔划区段被应用于画布之后画布上的现有涂料的第二高度图区段。在其他示例中,刷毛轨迹图区段由边界框描绘,或者第二高度图区段由边界框描绘,或者刷毛轨迹图区段和第二高度图区段二者由相应的边界框描绘。在其他示例中,新的画笔笔划是新的油画笔笔划。在其他示例中,经训练的神经网络是多个经训练的神经网络之一,多个经训练的神经网络中的每个经训练的神经网络具有用于接收表示新的画笔笔划区段的相应的刷毛轨迹图区段的相应的第一输入和用于接收画布上的现有涂料的第一高度图的相应的第二输入,并且推断由多个经训练的神经网络执行,从而使得每个经训练的神经网络被配置为推断在新的画笔笔划被应用于画布之后画布上的现有涂料的相应的第二高度图区段,该方法还包括:由高度图组合器模块基于由多个经训练的神经网络中的每个经训练的神经网络推断的相应的第二高度图区段来生成组合的第二高度图,其中绘出模块生成新的画笔笔划的绘出基于组合的第二高度图。
根据一些示例,描述了一种包括编码有指令的一个或多个非暂态机器可读介质的计算机程序产品,指令在由一个或多个处理器执行时,引起用于模拟画笔笔划的过程被执行。示例过程可以包括:由具有用于接收表示新的画笔笔划的刷毛轨迹图的第一输入和用于接收画布上的现有涂料的第一高度图的第二输入的经训练的神经网络推断在新的画笔笔划被应用于画布之后画布上的现有涂料的第二高度图;以及基于在新的画笔笔划被应用于画布之后画布上的现有涂料的第二高度图和颜色图来生成新的画笔笔划的绘出。
在一些示例中,经训练的神经网络使用多个训练数据集而被训练,多个训练数据集中的每个训练数据集包括高度图、刷毛轨迹图和地面实况。在其他示例中,对于每个训练数据集,刷毛轨迹图和地面实况由模拟器响应于被提供高度图作为输入生成。在其他示例中,模拟器利用流体模拟来生成地面实况。在其他示例中,刷毛轨迹图是表示新的画笔笔划区段的刷毛轨迹图区段,并且其中第二高度图是在新的画笔笔划区段被应用于画布之后画布上的现有涂料的第二高度图区段。在其他示例中,刷毛轨迹图区段由边界框描绘,或者第二高度图区段由边界框描绘,或者刷毛轨迹图区段和第二高度图区段二者由相应的边界框描绘。在其他示例中,新的画笔笔划是新的油画笔笔划。在其他示例中,经训练的神经网络是多个经训练的神经网络之一,多个经训练的神经网络中的每个经训练的神经网络具有用于接收表示新的画笔笔划区段的相应的刷毛轨迹图区段的相应的第一输入和用于接收画布上的现有涂料的第一高度图的相应的第二输入,并且推断由多个经训练的神经网络执行,从而使得每个经训练的神经网络被配置为推断在新的画笔笔划区段被应用于画布之后画布上的现有涂料的相应的第二高度图区段,该过程还包括:基于由多个经训练的神经网络中的每个经训练的神经网络推断的相应的第二高度图区段来生成组合的第二高度图,其中生成新的画笔笔划的绘出基于组合的第二高度图。
根据一些示例,描述了一种用来模拟画笔笔划的系统。示例系统可以包括:一个或多个处理器;一个或多个经训练的神经网络,每个经训练的神经网络由一个或多个处理器可控制或可执行或可控制且可执行,每个经训练的神经网络具有用来接收表示新的画笔笔划区段的刷毛轨迹图区段的第一输入和用来接收画布上的现有涂料的第一高度图的第二输入,每个神经网络被配置为推断在新的画笔笔划被应用于画布之后画布上的现有涂料的相应的第二高度图区段;高度图组合器模块,其由一个或多个处理器可控制或可执行或可控制且可执行,并且被配置为基于由每个经训练的神经网络推断的相应的第二高度图区段来生成高度图;以及绘出模块,其由一个或多个处理器可控制或可执行或可控制且可执行,并且被配置为基于在新的画笔笔划被应用于画布之后画布上的现有涂料的第二高度图和颜色图来生成新的画笔笔划的绘出。
在一些示例中,每个经训练的神经网络使用多个训练数据集而被训练,多个训练数据集中的每个训练数据集包括高度图、刷毛轨迹图和地面实况。在其他示例中,对于每个训练数据集,刷毛轨迹图和地面实况由模拟器响应于被提供高度图作为输入而生成。在另一些其他示例中,刷毛轨迹图区段由边界框描绘,或者第二高度图区段由边界框描绘,或者刷毛轨迹图区段和第二高度图区段二者均由相应的边界框描绘。
如本公开内容中所使用的,术语“引擎”或“模块”或“组件”可以指代被配置为执行引擎或模块或组件和/或可以被存储在计算系统的通用硬件(例如,计算机可读介质、处理设备等)上和/或由该通用硬件执行的软件对象或软件例程的动作的特定硬件实现方式。在一些实施例中,本公开内容中所描述的不同组件、模块、引擎和服务可以被实现为在计算系统上执行的对象或进程(例如,作为分离的线程)。虽然本公开内容中所描述的系统和方法中的一些通常被描述为以软件(被存储在通用硬件上和/或由通用硬件执行)而被实现,但是具体硬件实现方式、固件实现方式或它们的任何组合也是可能的和预期的。在本说明书中,“计算实体”可以是如先前在本公开内容中所描述的任何计算系统,或者是在计算系统上执行的任何模块或模块的组合。
本公开内容和所附权利要求(例如,所附权利要求的主体)中所使用的术语通常旨在作为“开放”术语(例如,术语“包括(including)”应当解释为“包括但不限于”,术语“具有(having)”应当解释为“至少具有”,术语“包括(includes)”应当解释为“包括但不限于”,等等)。
附加地,如果特定数目的引入的权利要求叙述是有意的,则在权利要求中将明确地陈述这样的意图,并且在没有这样的叙述的情况下,不存在这样的意图。例如,为了帮助理解,以下所附权利要求可以包含介绍性短语“至少一个”和“一个或多个”的使用以引入权利要求叙述。然而,这样的短语的使用不应当被解释为暗示由不定冠词“一个(a)”或“一个(an)”引用权利要求叙述将包含这样的引入的权利要求叙述的任何特定权利要求限制于仅包含一个这样的叙述的实施例,即使当相同的权利要求包括引导短语“一个或多个”或“至少一个”以及诸如“一个(a)”或“一个(an)”等不定冠词(例如,“一个(a)”和/或“一个(an)”应当被解释为意味着“至少一个”或“一个或多个”)时;对于被用于引入权利要求叙述的定冠词的使用也是如此。
另外,即使明确地叙述了特定数目的引入的权利要求叙述,这样的叙述也应当被解释为意味着至少所引用的数目(例如,没有其他修饰语的“两个小部件”的简单叙述意味着至少两个小部件、或者两个或更多个小部件)。此外,在其中使用类似于“A、B和C等中的至少一个”或“A、B和C等中的一个或多个”的惯例的情况中,通常这样的结构旨在包括单独的A、单独的B、单独的C、A和B一起、A和C一起、B和C一起、或A、B和C一起等。
本公开内容中所记载的所有示例和条件语言旨在用于教学目标以帮助读者理解本公开内容和由发明人提供的用于使本领域得以发展的概念,并且应当被解释为不限于这样的具体列举的示例和条件。尽管已经详细描述了本公开内容的实施例,但是在不脱离本公开内容的精神和范围的情况下,可以对本公开内容的实施例进行各种改变、替换和变更。因此,旨在于本公开内容的范围不受本具体实施方式的限制,而是受所附权利要求的限制。
Claims (20)
1.一种用来模拟画笔笔划的计算机实现的方法,所述方法包括:
由具有用来接收表示新的画笔笔划的刷毛轨迹图的第一输入和用来接收画布上的现有涂料的第一高度图的第二输入的经训练的神经网络推断在所述新的画笔笔划被应用于所述画布之后所述画布上的现有涂料的第二高度图;以及
由绘出模块基于在所述新的画笔笔划被应用于所述画布之后所述画布上的现有涂料的所述第二高度图和颜色图来生成所述新的画笔笔划的绘出。
2.根据权利要求1所述的方法,其中所述经训练的神经网络使用多个训练数据集而被训练,所述多个训练数据集中的每个训练数据集包括高度图、刷毛轨迹图和地面实况。
3.根据权利要求2所述的方法,其中对于每个训练数据集,所述刷毛轨迹图和所述地面实况由模拟器响应于被提供所述高度图作为输入生成。
4.根据权利要求3所述的方法,其中所述模拟器利用流体模拟来生成所述地面实况。
5.根据权利要求1所述的方法,其中所述刷毛轨迹图是表示新的画笔笔划区段的刷毛轨迹图区段,并且进一步地其中所述第二高度图是在所述新的画笔笔划区段被应用于所述画布之后所述画布上的现有涂料的第二高度图区段。
6.根据权利要求5所述的方法,其中所述刷毛轨迹图区段由边界框描绘,或者所述第二高度图区段由边界框描绘,或者所述刷毛轨迹图区段和所述第二高度图区段二者由相应的边界框描绘。
7.根据权利要求1所述的方法,其中所述新的画笔笔划是新的油画笔笔划。
8.根据权利要求1所述的方法,其中所述经训练的神经网络是多个经训练的神经网络之一,所述多个经训练的神经网络中的每个经训练的神经网络具有用来接收表示新的画笔笔划区段的相应的刷毛轨迹图区段的相应的第一输入和用来接收画布上的现有涂料的第一高度图的相应的第二输入,并且所述推断由所述多个经训练的神经网络执行,从而使得每个经训练的神经网络被配置为推断在所述新的画笔笔划区段被应用于所述画布之后所述画布上的现有涂料的相应的第二高度图区段,所述方法还包括:
由高度图组合器模块基于由所述多个经训练的神经网络中的每个经训练的神经网络推断的所述相应的第二高度图区段来生成组合的第二高度图,
其中由所述绘出模块生成所述新的画笔笔划的绘出基于所述组合的第二高度图。
9.根据权利要求8所述的方法,其中每个刷毛轨迹图区段的长度基于阈值刷毛轨迹图区段长度。
10.一种非暂态机器可读介质,被编码有指令,所述指令在由一个或多个处理器执行时,引起过程被执行以模拟画笔笔划,所述过程包括:
由具有用来接收表示新的画笔笔划的刷毛轨迹图的第一输入和用来接收画布上的现有涂料的第一高度图的第二输入的经训练的神经网络推断在所述新的画笔笔划被应用于所述画布之后所述画布上的现有涂料的第二高度图;以及
基于在所述新的画笔笔划被应用于所述画布之后所述画布上的现有涂料的所述第二高度图和颜色图来生成所述新的画笔笔划的绘出。
11.根据权利要求10所述的非暂态机器可读介质,其中所述经训练的神经网络使用多个训练数据集而被训练,所述多个训练数据集中的每个训练数据集包括高度图、刷毛轨迹图和地面实况。
12.根据权利要求11所述的非暂态机器可读介质,其中对于每个训练数据集,所述刷毛轨迹图和所述地面实况由模拟器响应于被提供所述高度图作为输入生成。
13.根据权利要求12所述的非暂态机器可读介质,其中所述模拟器利用流体模拟来生成所述地面实况。
14.根据权利要求10所述的非暂态机器可读介质,其中所述刷毛轨迹图是表示新的画笔笔划区段的刷毛轨迹图区段,并且进一步地其中所述第二高度图是在所述新的画笔笔划区段被应用于所述画布之后所述画布上的现有涂料的第二高度图区段。
15.根据权利要求14所述的非暂态机器可读介质,其中所述刷毛轨迹图区段由边界框描绘,或者所述第二高度图区段由边界框描绘,或者所述刷毛轨迹图区段和所述第二高度图区段二者由相应的边界框描绘。
16.根据权利要求10所述的非暂态机器可读介质,其中所述新的画笔笔划是新的油画笔笔划。
17.根据权利要求10所述的非暂态机器可读介质,其中所述经训练的神经网络是多个经训练的神经网络之一,所述多个经训练的神经网络中的每个经训练的神经网络具有用来接收表示新的画笔笔划区段的相应的刷毛轨迹图区段的相应的第一输入和用来接收画布上的现有涂料的第一高度图的相应的第二输入,并且所述推断由所述多个经训练的神经网络执行,从而使得每个经训练的神经网络被配置为推断在所述新的画笔笔划区段被应用于所述画布之后所述画布上的现有涂料的相应的第二高度图区段,所述过程还包括:
基于由所述多个经训练的神经网络中的每个经训练的神经网络推断的所述相应的第二高度图区段来生成组合的第二高度图,
其中生成所述新的画笔笔划的绘出基于所述组合的第二高度图。
18.一种用于模拟画笔笔划的系统,所述系统包括:
一个或多个处理器;
一个或多个经训练的神经网络,每个经训练的神经网络由所述一个或多个处理器可控制或可执行或可控制且可执行,每个经训练的神经网络具有用来接收表示新的画笔笔划区段的刷毛轨迹图区段的第一输入和用来接收画布上的现有涂料的第一高度图的第二输入,每个经训练的神经网络被配置为推断在新的画笔笔划被应用于所述画布之后所述画布上的现有涂料的相应的第二高度图区段;
高度图组合器模块,其由所述一个或多个处理器可控制或可执行或可控制且可执行,并且被配置为基于由每个经训练的神经网络推断的所述相应的第二高度图区段来生成高度图;以及
绘出模块,其由所述一个或多个处理器可控制或可执行或可控制且可执行,并且被配置为基于在所述新的画笔笔划被应用于所述画布之后所述画布上的现有涂料的所述第二高度图和颜色图来生成所述新的画笔笔划的绘出,
其中每个经训练的神经网络使用多个训练数据集而被训练,所述多个训练数据集中的每个训练数据集包括高度图、刷毛轨迹图和地面实况。
19.根据权利要求18所述的系统,其中对于每个训练数据集,所述刷毛轨迹图和所述地面实况由模拟器响应于被提供所述高度图作为输入生成。
20.根据权利要求18所述的系统,其中所述刷毛轨迹图区段由边界框描绘,或者所述第二高度图区段由边界框描绘,或者所述刷毛轨迹图区段和所述第二高度图区段二者由相应的边界框描绘。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/814,751 US10424086B2 (en) | 2017-11-16 | 2017-11-16 | Oil painting stroke simulation using neural network |
US15/814,751 | 2017-11-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109816770A CN109816770A (zh) | 2019-05-28 |
CN109816770B true CN109816770B (zh) | 2023-09-01 |
Family
ID=64013133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811022930.1A Active CN109816770B (zh) | 2017-11-16 | 2018-09-03 | 使用神经网络的油画笔划模拟 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10424086B2 (zh) |
CN (1) | CN109816770B (zh) |
AU (1) | AU2018226403B2 (zh) |
DE (1) | DE102018007146A1 (zh) |
GB (1) | GB2568576B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3675062A1 (en) | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Learning a neural network for inference of solid cad features |
EP3675063A1 (en) * | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Forming a dataset for inference of solid cad features |
EP4030386A1 (en) * | 2021-01-18 | 2022-07-20 | Société BIC | Generating artwork tutorials |
KR102403256B1 (ko) * | 2021-12-29 | 2022-05-30 | 주식회사 리콘랩스 | 기계학습을 위한 프리핸드 스케치 이미지 생성 방법 및 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794454A (zh) * | 2010-04-08 | 2010-08-04 | 西安交通大学 | 一种基于图像的油画风格化方法 |
CN104392433A (zh) * | 2014-11-05 | 2015-03-04 | 浙江工业大学 | 基于图像的数字油画画布的自动生成方法 |
CN105283882A (zh) * | 2013-04-12 | 2016-01-27 | 诺基亚技术有限公司 | 用于文本输入的装置及相关联的方法 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0559714A1 (en) * | 1990-11-30 | 1993-09-15 | Cambridge Animation Systems Limited | Animation |
JPH06507742A (ja) * | 1991-05-21 | 1994-09-01 | ケンブリッジ アニメーション システムズ リミテッド | 動画作成装置 |
US5903454A (en) * | 1991-12-23 | 1999-05-11 | Hoffberg; Linda Irene | Human-factored interface corporating adaptive pattern recognition based controller apparatus |
US5592597A (en) * | 1994-02-14 | 1997-01-07 | Parametric Technology Corporation | Real-time image generation system for simulating physical paint, drawing media, and feature modeling with 3-D graphics |
USRE37654E1 (en) * | 1996-01-22 | 2002-04-16 | Nicholas Longo | Gesture synthesizer for electronic sound device |
US6549212B1 (en) * | 1998-07-16 | 2003-04-15 | Silicon Graphics, Inc. | System for user customization of attributes associated with a three-dimensional surface |
US7181768B1 (en) * | 1999-10-28 | 2007-02-20 | Cigital | Computer intrusion detection system and method based on application monitoring |
US7384667B2 (en) * | 2003-01-30 | 2008-06-10 | Alberto Blanco | System and method for producing simulated oil paintings |
US20090153468A1 (en) * | 2005-10-31 | 2009-06-18 | National University Of Singapore | Virtual Interface System |
US9030464B2 (en) * | 2010-04-08 | 2015-05-12 | Microsoft Technology Licensing, Llc | Simulating painting |
US8605095B2 (en) * | 2010-04-12 | 2013-12-10 | Adobe Systems Incorporated | Generating vector output from a physical simulation of a bristle brush |
US8760438B2 (en) * | 2010-05-28 | 2014-06-24 | Adobe Systems Incorporated | System and method for simulating stiff bristle brushes using stiffness-height parameterization |
US20120133664A1 (en) * | 2010-11-29 | 2012-05-31 | Lotus Hill Institute For Computer Vision And Information Science | System and method for painterly rendering based on image parsing |
US8988398B2 (en) * | 2011-02-11 | 2015-03-24 | Microsoft Corporation | Multi-touch input device with orientation sensing |
US8988461B1 (en) * | 2011-01-18 | 2015-03-24 | Disney Enterprises, Inc. | 3D drawing and painting system with a 3D scalar field |
US9142061B2 (en) * | 2011-01-26 | 2015-09-22 | Rutgers, The State University Of New Jersey | Fluid flow analysis for cardiovascular diagnostics |
US9142056B1 (en) * | 2011-05-18 | 2015-09-22 | Disney Enterprises, Inc. | Mixed-order compositing for images having three-dimensional painting effects |
US20120299931A1 (en) * | 2011-05-27 | 2012-11-29 | Dano2, Llc | Drawing guidance and stylus |
JP2015513596A (ja) * | 2012-02-28 | 2015-05-14 | スリーエム イノベイティブ プロパティズ カンパニー | 同一の広がりを持ち交差する塗料保持パターン及び手引き裂きパターンを含む微細構造化テープ |
US20140132617A1 (en) * | 2012-11-14 | 2014-05-15 | Microsoft Corporation | Simulation of oil paint on a canvas |
JP2016509292A (ja) * | 2013-01-03 | 2016-03-24 | メタ カンパニー | エクストラミッシブ空間撮像デジタル眼鏡装置または拡張介在ビジョン |
US20140225886A1 (en) * | 2013-02-13 | 2014-08-14 | Corel Corporation | Mapping a vision system output to a digital graphics system input |
US20140289663A1 (en) * | 2013-03-21 | 2014-09-25 | Microsoft Corporation | Producing Artwork Based on an Imported Image |
US10262462B2 (en) * | 2014-04-18 | 2019-04-16 | Magic Leap, Inc. | Systems and methods for augmented and virtual reality |
US10203762B2 (en) * | 2014-03-11 | 2019-02-12 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
US9524440B2 (en) * | 2014-04-04 | 2016-12-20 | Myscript | System and method for superimposed handwriting recognition technology |
US10726560B2 (en) * | 2014-10-31 | 2020-07-28 | Fyusion, Inc. | Real-time mobile device capture and generation of art-styled AR/VR content |
US9600907B2 (en) * | 2014-11-25 | 2017-03-21 | Adobe Systems Incorporated | Paintbrush and liquid simulation |
US11205119B2 (en) * | 2015-12-22 | 2021-12-21 | Applied Materials Israel Ltd. | Method of deep learning-based examination of a semiconductor specimen and system thereof |
US10521937B2 (en) * | 2017-02-28 | 2019-12-31 | Corel Corporation | Vector graphics based live sketching methods and systems |
US10430978B2 (en) * | 2017-03-02 | 2019-10-01 | Adobe Inc. | Editing digital images utilizing a neural network with an in-network rendering layer |
US10671873B2 (en) * | 2017-03-10 | 2020-06-02 | Tusimple, Inc. | System and method for vehicle wheel detection |
US10678257B2 (en) * | 2017-09-28 | 2020-06-09 | Nec Corporation | Generating occlusion-aware bird eye view representations of complex road scenes |
US10579897B2 (en) * | 2017-10-02 | 2020-03-03 | Xnor.ai Inc. | Image based object detection |
US10467501B2 (en) * | 2017-10-30 | 2019-11-05 | Sap Se | Computer vision architecture with machine learned image recognition models |
-
2017
- 2017-11-16 US US15/814,751 patent/US10424086B2/en active Active
-
2018
- 2018-09-03 CN CN201811022930.1A patent/CN109816770B/zh active Active
- 2018-09-04 AU AU2018226403A patent/AU2018226403B2/en active Active
- 2018-09-10 DE DE102018007146.5A patent/DE102018007146A1/de active Pending
- 2018-09-14 GB GB201814968A patent/GB2568576B/en active Active
-
2019
- 2019-08-13 US US16/539,187 patent/US10922852B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794454A (zh) * | 2010-04-08 | 2010-08-04 | 西安交通大学 | 一种基于图像的油画风格化方法 |
CN105283882A (zh) * | 2013-04-12 | 2016-01-27 | 诺基亚技术有限公司 | 用于文本输入的装置及相关联的方法 |
CN104392433A (zh) * | 2014-11-05 | 2015-03-04 | 浙江工业大学 | 基于图像的数字油画画布的自动生成方法 |
Also Published As
Publication number | Publication date |
---|---|
US10922852B2 (en) | 2021-02-16 |
AU2018226403A1 (en) | 2019-05-30 |
GB2568576A (en) | 2019-05-22 |
CN109816770A (zh) | 2019-05-28 |
GB201814968D0 (en) | 2018-10-31 |
US10424086B2 (en) | 2019-09-24 |
DE102018007146A1 (de) | 2019-05-16 |
US20190362524A1 (en) | 2019-11-28 |
AU2018226403B2 (en) | 2021-07-08 |
GB2568576B (en) | 2020-01-01 |
US20190147627A1 (en) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109816770B (zh) | 使用神经网络的油画笔划模拟 | |
US8917283B2 (en) | Polygon processing techniques in procedural painting algorithms | |
US9396530B2 (en) | Low memory content aware image modification | |
JP7386812B2 (ja) | 照明推定 | |
US11663775B2 (en) | Generating physically-based material maps | |
US10909743B2 (en) | Multiscale 3D texture synthesis | |
US9013485B2 (en) | Systems and methods for synthesizing high fidelity stroke data for lower dimension input strokes | |
Dong et al. | Real-time image-based Chinese ink painting rendering | |
KR20150034058A (ko) | 영상 분석에 기초한 애니메이션 컨텐츠 생성 방법 및 그 장치 | |
AU2017202711A1 (en) | Illumination-guided example-based stylization of 3d scenes | |
Arents et al. | Synthetic data of randomly piled, similar objects for deep learning-based object detection | |
CN107492143B (zh) | 一种用于控制图像合成中的补块使用的方法和系统 | |
CN112580213A (zh) | 电场线的显示图像的生成方法和装置、存储介质 | |
US11170550B2 (en) | Facial animation retargeting using an anatomical local model | |
KR20230167746A (ko) | 메시 정점 위치에 대한 반복 및 루트 찾기를 사용하여 표면에 근사하는 폴리곤 메시를 생성하기 위한 방법 및 시스템 | |
CN108492347B (zh) | 图像生成方法、装置与计算机可读存储介质 | |
Vetsch et al. | Neuralmeshing: Differentiable meshing of implicit neural representations | |
Hou et al. | Poisson vector graphics (pvg) and its closed-form solver | |
WO2023179091A1 (zh) | 三维模型渲染方法、装置、设备、存储介质及程序产品 | |
US20230316590A1 (en) | Generating digital paintings utilizing an intelligent painting pipeline for improved brushstroke sequences | |
Madono et al. | Data‐Driven Ink Painting Brushstroke Rendering | |
Zhao et al. | A Lightweight Processing Method for Hand-Drawn Pressure-Sensitive Trajectories Oriented Toward Web-Based 3D Modeling | |
GB2551873B (en) | Illumination-guided example-based stylization of 3D renderings | |
Huang et al. | Graphics processing unit‐accelerated high‐quality watercolor painting image generation | |
Brahimi et al. | Sparse Views, Near Light: A Practical Paradigm for Uncalibrated Point-light Photometric Stereo |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |