CN104834459A - 使用特征检测和语义标注来提供绘图辅助 - Google Patents
使用特征检测和语义标注来提供绘图辅助 Download PDFInfo
- Publication number
- CN104834459A CN104834459A CN201510030165.8A CN201510030165A CN104834459A CN 104834459 A CN104834459 A CN 104834459A CN 201510030165 A CN201510030165 A CN 201510030165A CN 104834459 A CN104834459 A CN 104834459A
- Authority
- CN
- China
- Prior art keywords
- stroke
- feature
- edge
- user
- mapping
- 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.)
- Granted
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/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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B11/00—Teaching hand-writing, shorthand, drawing, or painting
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/02—Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明的各实施例涉及使用特征检测和语义标注来提供绘图辅助。用于向描绘图像的用户提供绘图辅助的方法包括几何地校正调整用户笔划以改进它们的放置和外观。特别地,一个或者多个指导映射指示用户“应当”在何处绘制线条。在用户绘制笔划时,通过基于特征标签朝着指导映射的与用户打算绘制的图像的特征对应的部分移动笔划来几何地校正笔划。为了进一步改进用户绘制的线条,可选地对几何地校正的笔划做出参数调整以强调“正确地”绘制的线条而不再强调“不正确地”绘制的线条。
Description
相关申请的交叉引用
本申请是通过引用将内容全部结合于此、提交于2014年2月3日并且名称为“Geometrically and Parametrically Modifying User Inputto Assist Drawing”的、第14/171,760号美国专利申请的部分继续申请。
技术领域
本发明的一个或者多个实施例总体上涉及向用户提供绘图辅助。更具体地,本发明的一个或者多个实施例涉及基于语义标注信息调整用户笔划以辅助绘图的***和方法。
背景技术
绘图是一种重要通信和表达形式。遗憾的是,绘图新手有时对绘图犹豫不决,因为他们感觉他们缺乏用于产生满意可视质量的作品的创造和技术技能。绘图辅助程序尝试在绘图新手尝试创造高质量绘图时辅助他们。常规绘图辅助程序经常提供辅导方式。尽管个别辅导可以帮助用户产生改进的绘图,但是它们经常减少或者最小化用户的样式。另外,个别辅导、可视提示和其它交互范例可能使得用户感觉更少所有权和对所得作品的个人满意度。
为了提供辅助和校正用户的绘图,如下指导可能是有利的,该指导比如是边缘检测滤波器的结果,该边缘检测滤波器提供用户应当和不应当绘制什么线条的想法。然而,边缘检测滤波器的结果呈现各种缺点,这些缺点妨碍它们成为用于校正用户的绘图的有效指导。例如,艺术家对绘制线条有选择并且有意地留下一些特征未绘制以创造深度和透视。对照而言,边缘检测滤波器通常产生充足边缘。因此,边缘检测滤波器的结果经常对于用作有效绘图辅导指导而言太有噪声和不一致。
沿着有关线条,在图像具有高像素密度的部位时,边缘检测滤波器可能产生高边缘集中度的区域。在用户尝试在这样的区域中描绘特征时,可能难以或者不可能确定哪个边缘应当用作为用于用户笔划的指导。这样,常规绘图辅助程序可能使用一个边缘以校正用户笔划的一部分,而使用另一边缘以校正用户笔划的另一部分。这样的校正的结果可能造成失真的绘图。
新手通常认为他们无创造力或者他们未拥有适当绘图技能水平。绘图新手经常共有使他们缺乏信心并且产生更低质量的作品的挑战。这些挑战可以包括缺乏对在绘图内的光、深度、透视和元素关系的理解等。由于新手无力克服这些挑战,所以由新手创造的绘图经常质量欠佳,这使新手不愿意使用绘图作为交流和表达形式。
绘图新手面临的一个挑战是如何绘制看来有美感的线条以产生高质量结果。新手经常不确信线条的放置、形状和曲率。这一不确信可能使新手沿着单个笔划用许多校正缓慢地绘图。这样的笔划通常显得参差不齐和以别的方式缺乏娴熟艺术家的笔划的用控制的速度和曲率而执行的动态外观。
对于绘图新手的另一挑战是他们普遍地绘制他们“已知”的内容而不是他们“看见”的内容。例如,在描绘脸部时,绘图新手往往将眼睛和嘴巴二者绘制为封闭的杏仁形状。这与经训练的艺术家形成对照,这些艺术家往往在一些线条上加以强调而省略其它线条以传达结构细节和光照效果。绘图新手无力看见和传达轮廓和光照效果经常造成对象的简化的表示并且产生更低质量的最终结果。
使用计算机、平板计算机和移动设备的绘图和描绘已经变得日益流行。这样的设备提供包括易于获得和易于使用的许多优点。遗憾的是,计算设备可能加剧绘图新手在绘图时面临的挑战。例如,使用低保真度输入设备(比如触屏或者触板)可能造成错误放置、偏移或者参差不齐的线条。实际上,“粗手指”问题可能使即使更有经验的艺术家也难以在“正确”地点中绘制。
这些和其它缺点可能关于特别地使用触屏或者其它低保真度设备的绘图而存在。
发明内容
本发明的实施例用如下***和方法提供益处和/或克服本领域中的前述或者其它问题中的一个或者多个问题,这些***和方法使用语义标注来提供智能绘图辅助。特别地,在一个或者多个实施例中,绘图辅助***检测用户正在绘制的图像的特征。在用户绘制笔划时,通过朝着用户打算绘制的图像的特征移动笔划来几何地校正用户笔划。
在一个或者多个实施例中,绘图辅助***和方法使用一个或者多个指导映射(guidance map)作为用于校正用户笔划的基础。指导映射可以提供对用户应当在何处和如何绘制图像的特征的指示。在一些实施例中,这样的指示可以是显式的,比如通过对指导映射的适当可视化(例如,用户可以在指导映射之上映描(trace))。在其它实施例中,该指示可以是隐式的。换而言之,用户未看到指导映射。取而代之,在用户绘图时,如以下描述的那样以用户不可察觉的方式校正用户笔划以与指导映射的特征对准。附加地,指导映射中的一个或者多个指导映射可以通过使用语义标签来指示在图像中检测到的特征的位置。语义标签可以帮助保证在校正过程期间朝着用户打算绘制的特征而不是另一附近特征移动用户笔划。
为了进一步改进用户的笔划,可选地,绘图辅助***和方法可以可选地提供参数调整。参数调整强调“正确地”绘制的线条而不再强调(de-emphasize)“不正确地”绘制的线条。附加地,参数调整可以传达结构细节和光照效果。
这里公开的***和方法可以允许有几乎没有或者没有训练的用户创造视觉怡人的绘图。特别地,一个或者多个实施例的***和方法可以帮助校正用户的线条由于无经验、不确信和/或使用低保真度输入设备所致的几何放置。在一个或者多个实施例中,这里公开的***和方法可以提供这样的益处而维持用户的个别样式以便产生绘图,这些绘图帮助向用户提供所有权感和高程度的个人满意度。
将在以下描述中阐述和部分地从将该描述中清楚或者可以通过实践这样的示例性实施例来了解本发明的示例性实施例的附加特征和优点。可以借助在所附权利要求中特别地指出的手段和组合来实现和获得这样的实施例的特征和优点。这些和其它特征将从以下描述和所附权利要求变得更完全地清楚或者可以通过实践如下文阐述的这样的示例性实施例而被了解。前述发明内容不是广泛的概述,并且它未旨在于标识关键要素或者指示本发明的范围。实际上,前述发明内容将本发明的实施例的方面标识为以下呈现的具体实施方式的前序。
附图说明
为了描述可以获得本发明的以上记载的和其它优点以及特征的方式,将通过参照在附图中图示的本发明的具体实施例来表现以上简要地描述的本发明的更特别的描述。应当注意,各图未按比例绘制并且相似结构或者功能的单元一般出于例示性目的而贯穿各图由相似标号代表。应理解这些附图仅描绘本发明的典型实施例并且因此不会被视为限制它的范围,将通过使用附图用附加特点和细节描述和说明本发明,在附图中:
图1图示了根据本发明的一个或者多个实施例的绘图辅助***;
图2A图示了根据本发明的一个或者多个实施例的显示用户将在其之上绘图的图像的计算设备;
图2B图示了根据本发明的一个或者多个实施例的显示图2A的图像的指导映射的图2A的计算设备;
图2C图示了根据本发明的一个或者多个实施例的显示图2A的图像的特征指导映射的图2A的计算设备,该特征指导映射具有指示在图像中检测到的不同特征的特征标签;
图2D图示了根据本发明的一个或者多个实施例的与指示在图像中检测到的不同特征的特征标签一起显示图2B的指导映射的图2A的计算设备;
图2E图示了根据本发明的一个或者多个实施例的显示在图2A的图像之上绘制的两个用户笔划的图2A的计算设备;
图2F图示了根据本发明的一个或者多个实施例的图2E的用户笔划之一和该用户笔划的平滑的版本;
图2G图示了根据本发明的一个或者多个实施例的图2A的计算设备和图像以及两个几何地校正的笔划;
图2H图示了根据本发明的一个或者多个实施例的图2G的几何地校正的笔划之一的参数地调整的版本;
图3A图示了根据本发明的一个或者多个实施例图2A的图像的另一指导映射;
图3B图示了根据本发明的一个或者多个实施例的图2A的图像的艺术家草图;
图4A图示了根据本发明的一个或者多个实施例的用户将在其之上绘制的另一图像;
图4B图示了根据本发明的一个或者多个实施例的图4A的图像的用户绘制的草图;
图4C图示了根据本发明的一个或者多个实施例的通过几何地校正和参数地调整图4A的用户绘制的草图而形成的输出绘图;
图5A图示了图4C的输出绘图;
图5B图示了根据本发明的一个或者多个实施例的通过几何地校正和参数地调整用户笔划而形成的另一输出绘图;
图5C图示了根据本发明的一个或者多个实施例的通过几何地和参数地调整用户笔划而形成的又一输出绘图;
图6A图示了图4A的图像;
图6B图示了根据本发明的一个或者多个实施例的图6A的图像,该图像具有指示在图像中检测到的不同特征的特征标签;
图6C图示了根据本发明的一个或者多个实施例的图4A的图像的指导映射;
图6D图示了根据本发明的一个或者多个实施例的图6C的指导映射,该指导映射具有指示在图像中检测到的不同特征的特征标签;
图7图示了根据本发明的一个或者多个实施例的通过使用语义标注几何地校正用户笔划来提供绘图辅助的方法中的一系列动作的流程图;
图8图示了根据本发明的一个或者多个实施例的通过使用语义标注几何地校正用户笔划来提供绘图辅助的另一方法中的一系列动作的流程图;以及
图9图示了根据本发明的一个或者多个实施例的示例性计算设备的框图。
具体实施方式
本发明的一个或者多个实施例包括一种帮助用户创建原有绘图或者草图的绘图辅助***。特别地,绘图辅助***提供如下图像,用户可以在该图像上面绘图。在用户绘制笔划时,绘图辅助***通过朝着用户打算绘制的图像的特征移动笔划来几何地校正笔划。绘图辅助***可以使用一个或者多个指导映射作为用于校正用户笔划的基准或者指导。指导映射可以提供对用户应当在何处和/或如何放置他们的笔划的指示。
为了帮助保证正确地校正用户笔划(即,朝着用户打算绘制的图像的特征而不是另一附近特征移动用户笔划),指导映射中的至少一个指导映射可以包括指示图像的一个或者多个特征的位置的语义或者特征标签。在用户绘制笔划时,绘图辅助***可以检测用户打算绘制哪个特征,并且然后使用打算的特征作为指导来校正笔划。因此,语义或者特征标注可以允许***和方法即使在用户正在绘制特征密集的部位时仍然知道做出什么几何调整。这样,一个或者多个实施例可以提供智能绘图辅助,该智能绘图辅助识别用户的意图并且相应地校正用户的笔划。
这里公开的***和方法可以允许几乎没有或者没有训练的用户创造视觉怡人的绘图。如以上描述的那样,这里公开的***和方法可以对用户的笔划做出几何校正。如这里所用,术语“几何校正”或者“几何地校正”是指朝着如由一个或者多个指导映射定义的“正确”定位和形状对用户绘制的笔划或者线条(或者其部分)进行移动、重新定位和/或重新成形。例如,几何校正可以对由于缺乏控制或者不确信而错误放置和/或错误成形的用户绘制的笔划或者线条进行移动、重新定位和/或重新成形。另外,几何校正可以通过补偿由于“粗手指”问题所致的错误对准来辅助使用低保真度输入设备(比如触屏、鼠标或者触板)的娴熟艺术家。
这里公开的***和方法可以提供几何校正而也维持用户的原有笔划的样式属性。特别地,尽管几何地校正用户的笔划,仍然可以至少部分地维持用户的原有笔划的样式选择或者特性(比如笔划质量、长度、形状和曲率)。维持用户的个人样式可以帮助向用户提供所有权感和对输出绘图的校正以及对于创造更高质量的输出绘图的高程度个人满意度。
除了几何地校正用户的笔划之外,本发明的一个或者多个实施例可以进一步帮助提供视觉怡人的绘图的另一方式是通过参数地调整用户的笔划。如这里所用,术语“参数调整”或者“参数地调整”是指基于是否如由一个或者多个指导映射定义的那样“正确地”绘制或者“不正确地”绘制线条来强调或者不再强调它们。参数调整可以通过减轻或者以别的方式不再强调错误绘制或者错误放置的线条来帮助减少它们的负面效果。沿着有关线条,参数调整可以通过暗化正确地绘制的线条或者增加它们的不透明度来帮助强调它们。附加地,参数调整可以帮助传达深度、结构细节和光照效果。
为了帮助向用户提供对于输出绘图的所有权感,在一个或者多个实施例中,***在用户绘制笔划时修改每个输入笔划。换而言之,在用户绘制笔划时,***未显示用户笔划,但是实际上,***显示几何地校正的和可选地参数地调整的笔划。在这样的实施例中,校正和调整过程对于用户是不可察觉的,这可以减少用户对任何几何校正和参数调整的数量的认知。在备选实施例中,用户可以在绘制输入笔划时即刻地查看它们以得到对***执行的校正和调整的看法。附加地或者备选地,***可以向用户提供用于查看原有笔划的输入绘图的选项,以便能够比较输入绘图与由几何地校正和可选地参数地调整的笔划组成的输出绘图。
沿着相似线,在校正过程对于用户不可察觉的实施例中,未向用户提供而在后端上使用指导映射以校正用户笔划。换而言之,用户可以未查看指导映射。备选地,***可以向用户提供用于查看指导映射的选项,以便能够比较输入绘图、输出绘图和指导映射。
图1图示了示例性绘图辅助***100的实施例。绘图辅助***100可以包括但不限于指导映射生成器101、特征检测器102、重新采样器104、平滑器106、几何校正器108、参数调整器110和存储模块112。绘图辅助***的部件101-112中的每个部件可以使用任何适当通信技术来相互通信。如由图1所示,绘图辅助***100可以包括一个或者多个计算设备(即,客户端设备118、服务器设备120)。
将认识到,虽然在图1中绘图辅助***100的部件101-112被示出为分离,但是部件101-112中的任何部件可以如可以服务于特定实施例那样被组合成更少部件(比如组合成单个部件)或者划分成更多部件。部件101-112可以包括软件、硬件或者二者。例如,部件101-112可以包括在计算机可读存储介质上存储的并且可由一个或者多个计算设备(例如,客户端设备118和/或服务器设备120)的处理器执行的一个或者多个指令。在由一个或者多个处理器执行时,绘图辅助***100的计算机可执行指令可以使计算设备118、120执行这里描述的绘图辅助方法。备选地,部件101-112可以包括用于执行某个功能或者一组功能的硬件,比如专用处理设备。附加地或者备选地,部件101-112可以包括计算机可执行指令和硬件的组合。
另外,绘图辅助***100的部件101-112可以例如被实施为单独应用、为应用的模块、为用于包括图像处理应用的应用的插件、为可以被其它应用(比如图像处理应用)调用的一个或者多个库函数和/或为云计算模型。因此,绘图辅助***100的部件可以被实施为单独应用,比如桌面型或者移动应用。备选地或者附加地,绘图辅助***100的部件可以被实施在包括但不限于ADOBEPHOTOSHOP、ADOBE PHOTOSHOP ELEMENTS和ADOBEILLUSTRATOR的任何图像处理应用中。“ADOBE”、“PHOTOSHOP”、“ELEMENTS”和“ILLUSTRATOR”是Adobe Systems Incorporated在美国和/或其它国家内的注册商标或者商标。
图2A至图2H和有关描述提供了绘图辅助***100可以执行的绘图辅助方法的概述。图2A图示了绘图辅助***100或者绘图辅助部件101-112中的一个或者多个绘图辅助部件可以被实施在其上的客户端设备202。换而言之,客户端设备202是可以形成绘图辅助***100的部分的计算设备的一个示例。在图2A中所示的实施例中,客户端设备202包括具有触屏204的平板计算机。具有触屏204的平板计算机仅为可以作为绘图辅助***100的部分而被使用的一个类型的客户端设备118。例如,在备选实施例中,客户端设备202可以包括任何数目的不同类型的计算设备,比如以下参照图8描述的计算设备。
为了辅助用户和减少空白页面的威胁,绘图辅助***100可以在用户界面207中提供图像206。绘图辅助***100可以通过指令客户端设备202经由显示设备(例如,触屏204)显示图像206来提供图像206。图像206可以包括用户从存储模块112的图像库114选择的图像。图像库114可以包括用户可以选择绘制的多个图像。附加地或者备选地,用户可以比如从本地驱动、因特网或者从绘图辅助***100被实施在其上的设备的相机导入/上传图像。在用户导入或者以别的方式选择未在图像库114中保存的图像206时,绘图辅助***100可以向图像库114自动地添加它以用于将来使用。
如由图1所示,包括图像库114和指导映射库116的存储模块112可以完全或者部分位于客户端设备118处。备选地,包括图像库114和指导映射库116的存储模块112可以位于服务器设备120处。在这样的实施例中,客户端设备118可以经由网络与服务器设备120通信以取回图像206或者指导映射。
图2A中所示的图像206是演员的脸部。脸部经常绘制起来有挑战性而在可视通信中独特地重要。这样,这里参照校正脸部的用户绘图来描述本发明的示例实施例。按照这里的公开内容将认识到本发明不限于校正脸部的绘图。实际上,绘图辅助***100可以辅助用户绘制具有附加语义信息的实质上任何图像。
如先前提到的那样,绘图辅助***100可以使用一个或者多个指导映射作为用于校正用户笔划的指导。绘图辅助***100可以产生或者取回用于图像206的指导映射。如这里所用,术语“指导映射”是指如下数据,该数据代表图像的一个或者多个部分的理想化版本。指导映射提供用于几何校正和参数调整的基准。指导映射可以包括对代表图像的一个或者多个部分的点、线条或者边缘的渲染。备选地,指导映射可以包括数据点的汇集。另外,在一个或者多个实施例中,指导映射可以包括语义标注,该语义标注提供用于指导映射的部分(例如,点、线条或者边缘)的上下文。在任何情况下,在几何校正期间,绘图辅助***100向或者朝着指导映射的线条或者边缘移动(例如,重新定位和/或重新成形)用户的笔划。换而言之,指导映射可以指示用户“应当”绘制什么线条和用户“应当”在何处绘制线条。示例性指导映射包括向图像应用的边缘检测滤波器的结果、图像的艺术家草图、特征检测算法的结果和图像206的用户绘图的舆论。
指导映射生成器101可以从选择的图像206产生一个或者多个指导映射。例如,图2B图示了图2A的图像206的边缘指导映射208的一个实施例。为了产生边缘指导映射208,指导映射生成器101转而可以对图2A的图像206运行边缘检测滤波器。边缘指导映射208提供用户的笔划可以被几何地校正和/或参数地调整成的调整(例如,线条或者形状)。备选地,边缘指导映射可以包括图像的艺术家草图、图像的用户绘图的舆论或者另一指导,该另一指导包括指示图像206的一个或者多个特征位于何处的线条或者边缘。
在一个或者多个实施例中,指导映射生成器101可以对图像206运行具有边缘设置的扩展型高斯差值(XDoG)滤波器以产生边缘指导映射208。在Holger等人的XDoG:An eXtendedDifference-of-Gaussians Compendium including Advanced Image,36(6)STYLIZATION COMPUTERS&GRAPHICS 740-753(2012)中描述了XDoG滤波器的适当示例,通过完全引用将该文献的全部内容结合于此。本领域技术人员将认识到,其它边缘检测滤波器(比如Canny边缘检测器或者Sobel检测器)也可以提供适当边缘指导映射。然而,如由图2B所示,具有边缘设置的XDoG滤波器适合产生与艺术家可能在草拟图像206时绘制的线条近似的边缘指导映射。特别地,边缘指导映射208未用线条代表图像206的所有特征。例如,如由箭头210所示,没有用于演员的脸部的左侧的边缘。相似地,在边缘指导映射208中没有用于演员的双眼的底部的部分的边缘。
本发明的一个或者多个实施例用附加数据补充边缘指导映射208。特别地,绘图辅助***100可以通过在边缘或者线条从边缘指导映射208遗漏的地方提供它们来补充边缘指导映射208。备选地,绘图辅助***100可以提供另一指导映射(比如特征指导映射),该另一指导映射考虑指导映射208的遗漏边缘。因此,附加指导映射可以提供用于校正与从边缘指导映射208遗漏的特征对应的用户笔划的基础。
如由图2B所示,边缘指导映射208包括交叉、密集或者合并边缘的区域。例如,鼻部的右侧、右眼的轮廓和虹膜如由箭头212所示都合并在一起。本领域技术人员按照这里的公开内容将认识到可能难以知道对由箭头212指示的区域中的用户笔划做出什么几何校正,因为特征未被定义好。例如,绘图辅助***100可以分割和用语义标注信息(即,从特征检测过程获得的特征标签)标注边缘指导映射206。例如,绘图辅助***100可以如以下更具体说明的那样使用马尔科夫随机场、图形分区或者最近邻居搜索算法以分割边缘指导映射。
为了向边缘指导映射208提供上下文,一个或者多个实施例包括用特征标签标注边缘指导映射的边缘的方法。特征标签可以允许绘图辅助***100在特征合并或者以别的方式相交的区域中减少或者消除歧义并且智能地校正用户笔划。
特别地,特征检测器102可以分析图像206以标识图像206的特征。例如,特征检测器102可以应用图像特征检测算法以标识图像206的各种特征。图2C图示了向图像206应用的脸部***算法的结果。如由图2C所示,已经标识和与特征标签211a-211f关联了图像206的各种特征。特别地,特征检测器102已经关联了脸部的轮廓与特征标签211a、眼睛的轮廓与特征标签211b、虹膜的轮廓与特征标签211c、眉毛与特征标签211d、鼻部与特征标签211e以及嘴部与特征偶去211f。
使用由特征检测器102标识的特征中的一个或者多个特征,指导映射生成器101可以产生或者取回用于图像206的特征指导映射213。如这里所用,术语“特征指导映射”是指如下点和/或线条,这些点和/或线条标识由特征检测器102检测到的图像的特征。特征指导映射可以包括对代表图像的一个或者多个部分的点、线条或者边缘的渲染。备选地,特征指导映射可以包括数据点的汇集。在一个或者多个实施例中,特征指导映射213排除特征检测器102未标识的图像的特征。例如,在特征检测器102包括应用脸部检测算法时,特征指导映射213包括标识脸部、眼睛、虹膜、眉毛、鼻部和唇部的轮廓的点和/或线条,如由图2C所示。然而,图2C中所示的特征指导映射213并不包括标识演员的头发或者衬衫的点和/或线条。备选地,特征指导映射可以仅包括从边缘指导映射遗漏的特征。附加地,在实施例中,特征检测器102可以向图像应用多个检测算法。例如,特征检测器102除了脸部检测算法之外还可以应用纹理识别算法。纹理识别算法可以标识不同纹理的部位(例如,衬衫比对比皮肤比对头发)。
另外,特征检测器102不限于检测脸部特征。例如,特征检测器102也可以检测和标注或者备选地检测和标注除了脸部之外的景象或者物体的图像的特征。例如,特征检测器102可以检测风景(山脉、树木、湖泊、天空、水体、街道、建筑等)或者物体的部件(例如,自行车的轮辐、车轮和框架或者汽车的车体、窗户和轮胎)。另外,特征检测器102也可以包括姿态检测器、衣物检测器、人检测器或者任何其它可以提供用于语义标注的数据/特征识别的可用检测算法或者部件。
特征指导映射213可以在提供用于几何校正的基准时向另一指导映射提供补充。例如,在边缘指导映射208未包括用于特征或者特征的部分的边缘时,特征指导映射213可以用来补充边缘指导映射208。例如,图2D图示了边缘指导映射遗漏用于演员的脸部的左侧的边缘,如由箭头222所示。如以下进一步说明的那样,在几何校正期间,绘图辅助***100可以向或者朝着特征指导映射213的与演员的脸部的左侧对应的线条214(见图2C)移动(例如,重新定位和/或重新成形)用户打算作为演员的脸部的左侧的笔划。
在任何情况下,一旦特征检测器102已经标识了图像206的不同特征,指导映射生成器101就可以关联特征标签211a-211f与边缘指导映射208的与标识的特征对应的边缘。例如,图2D图示了与边缘指导映射208的与图像206的特征对应的边缘关联的特征标签211a-211f。具体而言,指导映射生成器101关联特征标签211a与边缘指导映射208的形成脸部的轮廓的边缘、关联特征标签211b与形成眼睛的轮廓的边缘、关联特征标签211c与形成虹膜的轮廓的边缘、关联特征标签211d与形成眉毛的边缘、关联特征标签211e与形成鼻部的边缘并且关联特征标签211f与形成嘴部的边缘。
现在参照图2E,用户可以使用输入设备(即,触屏104)来绘制用户笔划216、218。例如,用户可以与触屏204相抵按压手指或者触笔并且沿着触屏204移动手指或者触笔以绘制图像206的特征。绘图辅助***100可以检测用户笔划216、218。如这里所用,术语“笔划”是指线条的至少一部分。例如,笔划可以包括由用户与输入设备接触的起始点、用户从输入设备脱离的结束点和在起始点与结束点之间的路径定义的整个线条。备选地,笔划可以仅包括由用户与输入设备接触的起始点、用户从输入设备脱离的结束点和在起始点与结束点之间的路径定义的线条的一部分。
图2E还图示了用户界面207可以包括一个或者多个控件或者选项220。在一个或者多个实施例中,用户界面207可以包括用于使用如由用户输入的原有笔划的选项220a。附加地,用户界面207可以包括用于平滑用户笔划的选项220b。在选择用于平滑用户笔划的选项220b时,重新采样器104可以重新采样用户笔画216以确定定义笔划216的点。如由图2F所示,平滑器106然后可以通过向在重新采样期间确定的点拟合线条来平滑用户笔划216以创建平滑的用户笔画217。
本发明的一个或者多个实施例可以向用户提供多个有样式或者以别的方式的绘图选项。特别地,绘图辅助***可以提供各种笔划/硬笔/刷子样式。例如,图2E图示了示例性笔划选项220c-220f。用户可以选择用于用户在图像206之上绘制的笔划的墨水220c、刷子220d、硬笔220e或者渐细220f。使用笔画选项220可以提供另一种用于用户个性化他们的绘图的方式。将认识到,本发明并不限于图2C中所示的笔划选项220c-220f。绘图辅助***100可以提供附加或者备选刷子/笔划选项或者其它图像处理工具,比如由ADOBEPHOTOSHOP提供的图像处理工具。
绘图辅助***100可以确定用户打算绘制图像206的哪个特征。如由图2G所示,用户打算笔划216作为图像206中的演员的脸部的右侧。绘图辅助***100可以关联特征标签211a与用户笔划216。相似地,绘图辅助***100可以关联特征标签211a与用户笔划218。
绘图辅助***100可以比较用户笔划216与边缘指导映射208以利用确定边缘指导映射208的最近指导边缘222(见图2B)具有与用户笔划相同的特征标签211a(即特征标签211a)。如由图2G所示,几何校正器108可以通过朝着指导边缘222移动用户笔划216来几何地校正用户笔划216以创建几何地校正的笔划224。特别地,几何校正器108可以朝着或者向边缘指导映射208的指导线条222(图2B)的定位移动(例如,重新定位和/或重新成形)用户笔划216。
绘图辅助***100可以比较用户笔划218与边缘指导映射208以确定边缘指导映射208的具有与用户笔划的特征标签(即特征标签211a)匹配的特征标签211a的、与用户笔划218最近的部分(例如,指导映边缘)(见图2B)。在这一情况下,与具有相同特征标签211a的用户笔划最近的指导边缘可以是指导边缘222或者指导边缘225(见图2B)。在指导边缘222和225二者远离用户笔划218时,绘图辅助***100可以使用特征指导映射213(图2C)补充边缘指导映射208。具体而言,绘图辅助***100可以确定特征指导映射213的与用户笔划218最近的线条或者点,该线条或者点在这一情况下将是特征线条214。如由图2G所示,几何矫正器108可以通过朝着特征线条214移动用户笔划218来生成几何地校正的笔划226。特别地,几何校正器108可以朝着或者向特征指导映射213的特征线条214(图2C)的定位移动(例如,重新定位和/或重新成形)用户笔划218。
作为对于补充边缘指导映射208的备选,特征指导映射213可以单独提供用于校正用户笔划的指导。特别地,可以朝着特征指导映射213的部分(即,线条、边缘、点)移动用户笔划以与基于另一指导映射(比如边缘指导映射208)的任何校正独立地校正用户笔划。因此,本领域技术人员按照这里的公开内容将认识到,可以单独或者与其它指导映射结合地使用特征指导映射。特别地,在一个或者多个实施例中,在尝试校正用户笔划时,绘图辅助***100可以个别地查看每个指导映射。绘图辅助***100然后可以运用决定使用哪个指导映射的更高级判决机制(经由投票方案、加权方案等)。例如,在尝试校正用户笔划218时,绘图辅助***100可以确定边缘指导映射208并不包括附近边缘以提供用于用户笔划218的指导。相似地,绘图辅助***100可以确定特征指导映射213包括附近部分以提供用于用户笔划218的指导。这样,绘图辅助***100可以在校正用户笔划218时选择使用特征指导映射213而不是边缘指导映射208。
按照这里的公开内容将认识到,任何数目或者组合的指导映射可以提供用于校正用户的笔划的基础。另外,本发明的指导映射不限于边缘指导映射和特征指导映射。实际上,本发明的实施例除了特征和边缘指导映射之外还或者取代特征和边缘指导映射还可以包括其它指导。例如,如以下参照图3A更具体说明的那样,一个或者多个实施例可以使用阴影化指导映射。
更多实施例可以包括重要度指导映射。重要度指导映射可以指示将在校正过程期间将被给予更多或者更少权值的对象的区域。例如,在脸部的上下文中,重要度指导映射可以指示在眼睛、眉毛和嘴部周围的区域比鼻部和下颚被更高地加权。这样的重要度指导映射然后可以按照与以上关于关联特征标签与边缘指导映射而描述的方式相似的方式通过使用特征指导映射来与实际脸部的图像对准。在这样的情况下,特征指导映射可以定义通用脸部(及其特征)到具体脸部的空间映射,包括它的从模板的空间偏离。
在几何地校正用户笔划216、218时,几何校正器108可以保持用户笔划216、218的样式元素或者线条变化。例如,如由图2F所示,用户笔划216包括输入变化216a和216b。几何地校正的笔划224如图2H中所示可以包括基于输入变化216a和216b的变化224a、224b。换而言之,几何地校正的笔划224由于对用户笔划216的变化的保留而未与指导线条222精确地对准。对用户的样式的保留可以帮助保证每个绘图是独特的,因为没有两个用户将提供相同用户笔划216。
为了进一步改进用户已经绘制的笔划,可选地,参数调节器110可以参数地调整几何地校正的笔划224以创建参数地调整的线条228,如由图2H所示。在执行参数调整时,参数调整器110强调被视为具有“正确”线条特性的线条。例如,为了参数调整而被分析的线条特性可以包括线条位置(例如,定位)、定向、形状或者任何其它线条特性。附加地,在执行参数调整之时,参数调整器110不再强调被视为具有“不正确”线条特性的线条。
更具体而言,参数调整器110比较几何地校正的线条224与边缘指导映射208的指导线条222。在进行比较时,参数调整器110检测几何地校正的笔划224的从指导线条222偏离的变化224a、224b。参数调整器110也检测几何地校正的线条224的与指导线条222对准或者基本上对准的部分224c。参数调整器110然后可以强调几何地校正的线条的与指导线条222良好对准的部分224c。例如,图2H示出了强调参数地调整的线条228的与几何地校正的线条224的部分224c对应的部分228c。相似地,参数调整器110不再强调未与指导线条222对准的线条或者其部分224a、224b。例如,图2H示出了不再强调几何地调整的线条228的与几何地校正的笔划224的部分224a、224b对应的部分228a、228b。
相似地,参数调整器110比较几何地校正的笔划226与边缘指导映射208。在这样做时,参数调整器110可以确定在边缘指导映射208中没有与几何地校正的笔划226对应(即,接近)的边缘。这样,几何调整器110可以将用户笔划218和几何地校正的笔划226识别为被错误放置。因此,参数调整器110不再强调几何地校正的笔划226。
参数调整器110可以使用多个技术中的一个或者多个技术来提供强调。为了提供强调,参数调整器110可以修改几何地校正的笔划224、226的一个或者多个可视特性。例如,绘图辅助***100可以修改线条粗度、线条不透明度、线条密度和/或线条颜色。按照这里的公开内容将认识到,参数调整可以帮助考虑光照、深度、勾勒和其它更高级样式效果。
特别地,在使用高级指导映射时,参数调整可以帮助向几何地校正的笔划224、226中并入指导映射的高级样式元素。例如,边缘指导映射208示出了眼睛和下颚的部分未被完整地勾勒以提供艺术效果。如边缘指导映射208指示的那样,即使用户的笔划与图像特征对准,这仍然不意味着应当已经绘制了线条。因此,在用户绘制未在边缘指导映射208中包括的笔划时,绘图辅助***可以将笔划识别为被错误放置或者以别的方式被不正确地绘制。这样,在做出参数调整时,参数调节器110可以不再强调未在边缘指导映射208中包括的任何线条(比如笔划218)。以这一方式,绘图辅助***100可以产生具有新手普遍地未绘制的光照、深度、勾勒和其它高级效果的绘图。附加地,绘图辅助***100可以帮助最小化用户绘制他们“知道”的内容这样的效果,这有别于在参考图像206中“描绘”的内容。
可以对于用户绘制的每个笔划重复以上关于用户笔画216和218描述的几何校正和参数调整。另外,对用户笔划216、218的校正/调整中的每个校正/调整可以基本上实时地发生。换而言之,绘图辅助***可以当在客户端设备202上绘制/渲染用户的笔划216、218时校正和/或调整它们。如先前提到的那样,让校正方法和过程对于用户不可察觉的可以减少用户对校正的认知并且引起用户绘制输出图像这样的感觉。
除了校正或者调整绘出勾勒的线条之外,一个或者多个实施例也可以修改或者校正阴影化或者填充线条。特别地,绘图辅助***可以提供阴影化指导映射作为用于校正阴影化线条的基准。在图3A中示出了适当阴影化指导映射308的一个示例。图3A的阴影化指导映射308是向图2A的图像206应用具有亮度响应设置的XDoG滤波器的结果。如所示,阴影化指导映射308可以提供对可接受阴影化的定位和配置的指示。特别地,图3B图示了图2A的图像206的艺术家草图310。如通过比较艺术家草图310和阴影化指导映射308所示,阴影化指导映射308可以包括与艺术家草图310的阴影化的区域314相似的阴影化的区域312。
与以上描述的几何校正相似,可以基于阴影化指导映射308移动(例如,重新定位和重新成形)由用户绘制的阴影化笔划。按照这里的公开内容将认识到,阴影化线条的确切布置与勾勒线条比较重要度更低。可以控制总暗度(作为线条密度和厚度的组合)以保证恰当阴影化。在一个示例中,绘图辅助***100使用XDoG边缘响应指导映射308以在合理边界内约束阴影化笔划,而绘图辅助***100使用阴影化指导映射308局部地移动笔划和修改粗度和/或不透明度以实现希望的总密度。
为了在勾勒线条与阴影化或者填充线条之间区分,用户界面207可以包括如由图3A所示的阴影化选项316。在未选择阴影化选项316时,用户的笔划被视为勾勒线条并且如以上描述的那样被校正。在选择阴影化选项316时,用户的笔划视为阴影化或者填充并且使用修改的指导数据以及调整方法和过程被校正。
按照这里的公开内容将认识到,绘图辅助***可以美化、校正、对准和移位用户笔划以更准确地代表源图像。绘图辅助***执行的校正的数量和程度可以依赖于用户笔划的准确度。图4A至图4C图示了这里描述的绘图辅助***和方法的有效性。特别地,图4A图示了源图像406。图4B图示了由用户在图像406之上绘制的用户笔划的输入绘图410。图4C图示了通过几何地校正和参数地调整输入绘图410的用户笔划而被创建的输出绘图416。如通过比较输入绘图410和输出绘图416而被示出的那样,几何地校正和参数地调整的输出绘图416可以提供较对输入绘图410而言的显著改进。
此外,在几何地校正和参数地调整用户的笔划时,绘图辅助***100可以维持用户的原有笔划的样式性质。特别地,尽管几何地校正和参数地调整用户的笔划,也可以至少部分地维持用户的原有笔划的样式选择或者特性(比如笔划性质、长度、形状和曲率)。维持用户的个别样式可以给用户留下对于输出绘图的所有权感和高程度的个人满意度。
按照这里的公开内容将认识到,笔划选项220(图2E)与维持用户的笔划的样式组合可以帮助保证每个绘图即使基于相同图像也仍然在一个或者多个方面中不同。例如,图5A至图5C图示了图像406的三个输出绘图(即,几何地校正和参数地调整的绘图)416、516、518。如由图5A至图5C所示,每个输出绘图416、516、518提供美观怡人的绘图而保留相异样式元素。
图1至图5C提供了关于本发明的一个或者多个实施例的几何校正和参数调整过程的一些细节。现在将提供用于各种子过程的附加或者备选细节。
笔划重新采样
在用户绘制笔划时,绘图辅助***100可以重新采样笔划。重新采样笔划可以将笔划分解成提供笔划的框架的点。重新采样的笔划点然后被用作控制点。绘图辅助***100然后可以使用控制点以平滑或者几何地校正笔划。
在一个或者多个实施例中,绘图辅助***100基于曲率和距离重新采样用户笔划。基于曲率的方式可以增加高曲率的分段中的采样密度而减少低曲率的分段中的采样密度。例如,圆圈可以具有许多采样(例如,24个)而直线可以由两个采样代表。
特别地,对于在比例s的每个传入笔划点xi,m1、m2、m3是在xi之前的新的重新采样的笔划点。如果(以下定义的)度量zi大于1,则取xi为新采样点:xi←mk+1。如果度量zi小于1,则跳过xi而检查xi+1。度量zi被定义如下:
其中r是在xi与mk之间的距离;并且Δθi是在θ<xi,mk>与θ<mk-1,mk>之间的绝对定向差值。阈值t1和t2分别控制用于曲线和距离的采样密度。
在备选实施例中,可以使用其它重新采样技术。例如,其它适当重新采样技术包括但不限于均匀距离采样或者时间采样。
笔划平滑
如更早提及的那样,用户可以选择用于平滑用户笔划的选项。在备选实施例中,可以自动地平滑所有用户笔划。在任何情况下,平滑用户笔划可以减少或者消除参差不齐和不确信的用户笔划。因此,平滑用户笔划可以提高用户笔划的总质量以及输出绘图的总质量。
为了平滑用户笔划,曲线近似可以被拟合到在笔划重新采样过程期间确定的控制点。备选地,曲线近似可以被拟合到几何地校正的点。对点进行平滑可以捕获笔划的形状而减少参差不齐的抖动,如由图2D所示。在一个或者多个实施例中,样条函数被应用于点以平滑用户笔划。例如,每个笔划可以通过用立方B样条曲线近似对点进行拟合而被内插。在备选实施例中,可以使用其它平滑技术。例如,其它适当平滑技术可以包括但不限于滑动平均平滑或者拉普拉斯平滑。
特征检测
按照这里的公开内容将认识到,特征检测过程可以依赖于由用户选择绘制的图像。例如,在用户选择草拟脸部的图像时,脸部检测算法可以服务于提供特征检测。在通过完全引用将全部内容结合于此、Jason M.Saragih的Deformable Model Fitting by RegularizedLandmark Mean-Shift,91INT’L J.COMPUTER VISION 200-215(2010)中描述了适当脸部检测算法。在图像包括除了脸部之外的某物时,其它特征检测算法可以服务于提供特征检测。通常,特征检测算法可以关于图像的不同部位按照预设顺序提取标准地标。附加地或者备选地,用户可以手动地定义图像的特征。
图6A图示了脸部的另一图像606。图6B图示了通过向图像606应用脸部检测算法而确定的特征标签611a-611f。特别地,图6B图示了特征标签611a与脸部的轮廓关联,特征标签611b与眼睛的轮廓关联,特征标签611c与虹膜的轮廓关联,特征标签611d与眉毛关联,特征标签611e与鼻部关联,并且特征标签611f与嘴部关联。将认识到,特征检测和特征标签不限于在图6B或者其它图中所示的特征检测和特征标签。例如,在脸部的左侧上的特征可以具有与在脸部的右侧上的特征不同的特征标签。另外,附加特征(比如耳朵或者头发)可以包括特征标签。
指导映射
如以上提到的那样,绘图辅助***100可以使用一个或者多个指导映射作为用户“应当”绘制什么线条和“应当”在何处放置线条的基准。绘图辅助***100可以取回用于用户希望草拟的图像的先前生成的指导映射,或者备选地,绘图辅助***100可以生成指导映射。示例性指导映射包括向图像应用的边缘检测滤波器的结果(见图2B的208)。
在一个或者多个实施例中,指导映射包括向图像应用XDoG滤波器的结果。图6C图示了使用具有边缘设置的XDoG滤波器而被创建的另一边缘指导映射608。如所示,边缘指导映射608并不包括充足边缘。实际上,边缘指导映射608包括与艺术家可以草拟的选择性特征对应的边缘。
参照图6D,绘图辅助***100可以分割和用语义标注信息(即,从特征检测过程获得的特征标签611a-611f)标注边缘指导映射608。例如,绘图辅助***100可以使用马尔科夫随机场、图形分区或者最近邻居搜索算法以分割边缘指导映射608。
例如,在一个实施例中,一旦分割了边缘指导映射608的边缘,绘图辅助***100就执行最近邻居搜索以标识用于指导边缘的每个指导点的最近特征点。绘图辅助***100然后可以确定对于指导边缘的大多数指导点而标识哪个特征标签(基于最近特征点)。绘图辅助***100然后对于指导边缘上的每个指导点或者作为整体对于指导边缘关联对于大多数指导点而标识的特征标签。如以上提到的那样,绘图辅助***100可以使用特征指导映射边缘指导映射608作为用户“应当”绘制什么线条和“应当”在何处放置线条的基准。绘图辅助***100可以单独或者与另一指导映射(比如边缘指导映射)结合地使用特征指导映射。绘图辅助***100可以使用多种方式或者其组合来生成特征指导映射。例如,由于人脸具有强竖直对称性,所以绘图辅助***100可以使用特征指导映射以查找在脸部/映射的任一侧上的匹配边缘或者特征以增加发现对于用户用于校正的有用数据的机会。特别地,一旦绘图辅助***100已经分割和标注了边缘指导映射608,则绘图辅助***100可以如有图6D所示定义竖直对称轴612。如果边缘指导映射608的一侧遗漏边缘信息,则绘图辅助***100可以在竖直对称轴612的另一侧上查找遗漏信息。换而言之,绘图辅助***100可以反射(mirror)在竖直对称轴的每侧上的指导边缘/点。例如,如由图2D的箭头210所示,边缘指导映射208遗漏用于用户的下颚的左侧的边缘。为了补充边缘指导映射208,绘图辅助***100可以在竖轴的右侧上反射特征点211a以提供用户的打算作为左下颚的笔划218可以被校正成的点。
附加地或者备选地,如由图6B所示,特征点本身可以定义特征指导映射613。例如,绘图辅助***100可以使用特征点或者可以向特征点拟合曲线并且重新采样线条以标识特征点。
几何校正
在用户绘制线条时,绘图辅助***100可以确定用户打算绘制的图像的特征。例如,绘图辅助***100可以比较用户笔划与指导映射以确定指导映射的也具有相同特征标签的在定位和定向上与用户笔划最近的线条/边缘。在检测到用户打算绘制的指导线条时,绘图辅助***可以通过朝着或者向用户打算绘制的指导映射的线条移动(例如,重新定位和/或重新成形)用户笔划来几何地校正用户笔划。
为了确定用户笔划的特征标签,绘图辅助***100可以执行最近邻居搜索以标识用于用户笔划的每个输入点的最近特征点。绘图辅助***100然后可以确定对于用户笔划的大多数输入点而标识哪个特征标签(基于最近特征点)。绘图辅助***100然后对于用户笔划的每个输入点或者作为整体对于用户笔划关联对于大多数输入点而标识的特征标签。
特别地,对于每个用户输入将几何校正建模为能量最小化过程,其中能量函数至少部分被定义为:
E=αEguidance+βEface+γEvariation
边缘指导映射、特征指导映射和用户的笔划的从边缘指导映射的变化可以形成能量函数的基础。换而言之,能量函数可以帮助保证根据边缘指导映射对准用户的笔划而保留原有用户笔划的变化/样式。给定每个用户笔划中的依次输入点x1,x2,...xn、特征点f1,f2,...fn和指导点g1,g2,...gn,能量函数允许确定几何地校正的点p1,p2,...pn。
Eguidance这一项帮助对准用户的笔划与边缘指导映射并且被定义为:
其中是xi的在边缘指导映射中的具有相同特征标签的最近点。可以使用最近邻居搜索来确定可以使用(X,Y,曲率)来定义每个点。因此,在发现最近指导点时,可以比较定位和曲率差值。因此,如果从输入点相等地间隔两个指导点,则可以选择具有与输入点的曲率最接近的曲率的指导点(只要它们均具有与输入笔划相同的特征标签)。可以将点的曲率定义为其中φ是线条在点的切线的倾角。Kd树实现方式也可以用来加速最近邻居搜索过程以实时或者基本上实时地实现校正。
如由用于Eguidance的公式所示,Eguidance可以减少在几何地校正的点与标识的指导点之间的距离和曲率差值。在xi与之间的欧几里得距离。换而言之,di使Eguidance与在用户的笔划(或者定义该笔划的点)与指导滤波器的最近线条/边缘(或者定义该线条/边缘的点)之间的距离成反比。di减少在边缘指导映射中不具有接近对应线条/边缘的用户笔划或者其部分的几何校正。例如,参照图2A的图像206和图2B的边缘指导映射208,如果用户绘制用于演员的左下颚的用户笔划,则在边缘指导映射208中没有对应线条。di可以帮助保证未朝着标识的指导点大量地校正与演员的左下颚对应的用户笔划。另外,如以下更具体说明的那样,可以基于特征指导映射几何地校正并且在参数调整期间不再强调在指导映射中不具有对应线条的用户笔划。
Eface这一项帮助对准用户的笔划与特征指导映射并且被定义为:
其中是xi的在特征指导映射中的具有相同特征标签的最近点。与相似,可以使用最近邻近搜索来确定可以使用(X,Y,曲率)来定义每个点。因此,在发现最近特征点时,可以比较定位和曲率差值。因此,如果从输入点相等地间隔两个特征点,则可以选择具有与输入点的曲率最接近的曲率的特征点,只要它具有与输入点相同的特征标签。Kd树实现方式也可以用来加速最近邻居搜索过程以实时或者基本上实时地实现校正。
是在xi与之间的欧几里得距离。换而言之,使Eface与在用户的笔划(或者定义该笔划的点)与指导滤波器的最近线条/边缘(或者定义该线条/边缘的点)之间的距离成反比。增加在特征指导映射中不具有接近对应线条/边缘的用户笔划或者其部分的几何校正。例如,参照图2A的图像206和图2B的边缘指导映射208,如果用户绘制用于演员的左下颚的用户笔划,则在边缘指导映射208中没有对应线条。如以上说明的那样,di可以帮助保证未朝着标识的指导点大量地校正与演员的左下颚对应的用户笔划。在另一方面,可以帮助保证如由图2C的箭头214指示的那样朝着具有特征标签211a的特征点几何地校正用户笔划。
Eguidance和Eface这些项向或者至少朝着边缘或者特征指导映射的具有用户“应当已经”绘制了笔划所在的相同特征标签的线条的定位移动输入笔划(即,用户笔划的每个点)。第三项Evariation服务于反平衡Eguidance和Eface这些项以帮助通过保留用户的原有笔划的样式来保证相同图像的每个输出绘图未与指导映射确切地相同。Evariation被定义为:
Evariation这一项可以最小化在校正之前和之后的临近点差值。换而言之,Evariation这一项可以通过保证邻近点同步移动来帮助维持原有用户笔划的形状。特别地,每个用户笔画被分成多个点。原有用户笔划的样式规定在组成笔划的点之间的距离并且因此规定笔划的形状。Evariation这一项帮助保持在几何地校正的笔划中的邻近点之间的距离与在原有用户笔划中的对应临近点之间的距离相同或者相似。
权值α、β和γ可以控制在对准用户的笔划与边缘指导映射、特征指导映射以及维持原有用户笔划的特性/形状之间的折衷。特别地,随着增加α和β而减少γ,几何校正过程将保持用户的原有笔划的特性中的较少者并且更接近地对准用户的笔划与指导映射。在另一方面,随着减少α和β而增加γ,几何校正过程可以保持用户的原有笔划的特性中的较多者并且更不接近地对准用户的笔划与指导映射。在一个或者多个实施例中,自动地选择权值α、β和γ以优化输出绘图的观感。在备选实施例中,用户可以修改α、β和γ以调整如何校正它们的绘图。
参数调整
将认识到,由于Evariation和用户绘制他们“知道”的内容,所以几何地校正的笔划仍然可能从边缘指导映射被偏移或者以别的方式移位。作为参数调整过程的部分,绘图辅助***可以确定已经“正确地”绘制了哪些几何地校正的笔划而已经“不正确地”绘制了哪些线条。特别地,绘图辅助***可以比较几何地校正的笔划与边缘指导映射以确定它们从边缘指导映射偏离多少。然后基于与边缘指导映射的偏离或者对准数量,附图辅助***可以强调与边缘指导映射对准的线条而不再强调从边缘指导映射偏离的线条。
用于几何地校正的笔划中的每个点pi的偏离或者或者误差可以被定义为在pi与它的在边缘指导映射中的点之间的距离。更特别地,偏离或者误差可以被定义为:
前两项目(即,)代表在pi与它的在边缘指导映射中的最近点之间的距离。第三项(即,测量在两点之间的曲率差值。因此,第三项保证未过度地强调与边缘指导映射的边缘接近、但是从边缘指导映射的边缘不同地弯曲的几何地校正的笔划。
参数调整可以使用多个技术中的一个或者多个技术来提供强调。例如,绘图辅助***可以修改线条粗度。粗线条在图像中更强地表现,因此在做出参数调整时,绘图辅助***可以增加放置好的线条的宽度而减少错误放置的线条的宽度。附加地或者备选地,参数调整可以调整线条的不透明度。例如,绘图辅助***可以保证放置好的线条被绘制为不透明而错误放置的线条被绘制更透明。在调整不透明度没有可能时,绘图辅助***可以通过仿真刷光介质(brushing medium)来模拟不透明度变化。例如,绘图辅助***可以将笔画分解成个别线条(提示鬃毛刷子与纸的轻接触)并且由此减少总笔划的感知的不透明度。在更进一步的实施例中,绘图辅助***可以使用颜色来应用强调或者不再强调。例如,绘图辅助***可以用一个颜色(例如,浅灰)渲染错误放置的线条而用另一颜色或者阴影(例如,暗灰)渲染放置好的线条。
可以基于用于几何地校正的笔划的误差值e应用强调或者不再强调。例如,如果线条的误差在预定数量或者阈值以下,则参数调整可以强调线条。特别地,随着误差值减少,强调可以增加。在另一方面,如果误差值在预定阈值以上,则参数调整可以不再强调线条。实际上,随着误差值增加,不再强调可以增加。如果误差值处于或者接近预定数量,则参数调整可以应用最小强调或者不应用强调和不再强调。
绘图辅助***可以全局地(即,沿着整个笔划)或者局部地(即,沿着单个笔划的变化)应用参数调整。例如,图2H的几何地校正的线条228图示了局部地应用的强调和不再强调。在一个或者多个实例中,局部地指派的误差值可以在局部误差沿着相同笔划频繁地改变时不生成良好可视化效果。在这样的实例中,可以沿着相同笔划通过用邻近一致性惩罚优化来平滑局部误差。全局误差可以被计算为局部平滑误差的平均值并且然后用来应用强调或者不再强调。
图1至图6D、对应的文字和示例提供了用于基于语义标注通过几何调整提供绘图辅助的多个不同***和设备。除了前述之外,也可以按照包括用于实现特定结果的方法中的动作或者步骤的流程图描述本发明的实施例。例如,图7和图8图示了根据本发明的一个或者多个实施例的示例性方法的流程图。
图7图示了使用语义标注以向草拟图像206、406的用户提供绘图辅助的一种示例性方法700的流程图。方法700包括生成用于图像的指导映射的动作702,该指导映射具有标识指导映射的与图像的特征对应的部分的特征标签。特别地,动作702可以涉及生成边缘指导映射208、608和特征指导映射213中的一个或者多个指导映射。
例如,动作702可以涉及向图像应用边缘检测滤波器以生成边缘指导映射208、608。例如,动作702可以涉及向图像206、406应用扩展型高斯差值滤波器以产生边缘指导映射208、608,边缘指导映射208、608包括勾勒出或者以别的方式指示图像206、406的特征的多个边缘222。
动作702还可以涉及标识图像中的一个或者多个特征。动作702可以涉及相互区分图像206、406中的不同特征或者不同特征类型。例如,在图像206、406包括脸部时,动作702可以涉及向图像206、406应用脸部检测算法以标识眼睛、虹膜、嘴部、脸部的轮廓、鼻部和眉毛。在图像包括室外景象时,动作702可以涉及应用特征检测算法以标识天空、水体、山脉、树木等。在更进一步的实施例中,动作702可以涉及接收标识图像的特征的用户输入或者使用数据库,该数据库标识用户或者计算机标识的图像特征。
动作702可以涉及生成图像206、406的特征指导映射213、613,特征映射213、613包括特征标签211a-211f、611a-611f,这些特征标签指示图像206、406的标识的特征的定位。例如,动作702可以涉及对边缘指导映射208、608进行滤波以仅包括具有特征标签211a-211f、611a-611f的边缘222。动作702然后可以涉及在竖直对称线条612的每侧上反射边缘。附加地或者备选地,动作702可以涉及使用图像206中的确定的特征点以定义特征指导映射213、613。例如,动作702可以向特征点拟合线条214并且然后使用结果作为特征指导映射213、613。
动作702可以涉及使用特征指导映射213以提供边缘指导映射208、608的语义标注、在遗漏与图像206的一个或者多个特征对应的边缘时补充边缘指导映射208、608和/或作为单独指导映射。附加地,动作702可以涉及关联特征标签与边缘指导映射中的与标识的特征对应的边缘。例如,动作702可以涉及比较在图像206、406中标识的特征与边缘指导映射208、608以及关联标签211a-211f、611a-611f与边缘指导映射208、608的与标识的特征对应的边缘222。特别地,动作702可以涉及使用马尔科夫随机场、图形分区或者最近邻居搜索算法来分割边缘指导映射208、608。动作702还可以涉及如在图2D和图6D中所示标识与从图像206、406标识的特征最近的边缘222以及关联特征的特征标签211a-211f、611a-611f与标识的边缘。
方法700包括检测由用户绘制的笔划216、218的动作704。特别地,动作704可以涉及检测对输入设备(例如,鼠标、出品或者触板)的激活和移动。动作704也可以涉及检测笔划216、218的起始点、笔划216、218的行进方向和用于笔划216、218的结束点。动作702还可以涉及检测笔划216、218的定位和曲率。
图7图示了方法700包括关联特征标签与笔划的动作706。例如,动作706可以涉及比较在图像206、406中标识的特征与笔划216、218以及关联笔划216、218对应于的特征的特征标签211a-211f、611a-611f与笔划216、218。例如,动作706还可以涉及标识与笔划216、218最近的特征以及关联特征的特征标签211a-211f、611a-611f与笔划216、218。
附加地,方法700包括标识指导映射的具有与笔划216、218的特征标签211a-211f、611a-611f匹配的关联的特征标签211a-211f、611a-611f的、与笔划216、218最近的部分的动作708。例如,动作708可以涉及标识边缘指导映射208、608的具有与笔划216、218相同的特征标签211a-211f、611a-611f的、与笔划216、218最近的边缘222。更具体而言,动作708可以涉及确定边缘指导映射208、608的包括匹配特征标签211a-211f、611a-611f的、在距离和曲率上与笔划216、218最近的边缘222。
备选地或者附加地,动作708可以涉及标识特征指导映射213、613的具有与笔划216、218的特征标签211a-211f、611a-611f匹配的关联的特征标签211a-211f、611a-611f的、与笔划216、218最近的线条214。更具体而言,动作708可以涉及确定特征指导映射213、613的包括匹配特征标签211a-211f、611a-611f的、在距离和曲率上与笔划216、218最近的线条214。
图7还图示了方法700包括使用指导映射的标识的部分来生成几何地校正的笔划的动作710。例如,动作710可以涉及通过使用边缘指导映射208、608的具有与笔划216、218的特征标签211a-211f、611a-611f匹配的关联的特征标签211a-211f、611a-611f的、与笔划216、218最近的标识的边缘222作为指导来对笔划216、218进行移动、重新定位或者重新成形来生成几何地校正的笔划224、226。例如,动作710可以涉及减少或者最小化笔划216、218的从边缘指导映射208、608的对应边缘222的定位和曲率差值。附加地或者备选地,动作710除了使用标识的边缘222之外还涉及使用特征指导映射213的具有与笔划218的特征标签211a匹配的关联的特征标签211a的、与笔划218最近的标识的线条214。
除了前述之外,动作710还可以涉及确定笔划216的从边缘指导映射208的标识的边缘222的变化216a、216b。为了维持用户的样式,动作710还可以涉及在几何地校正笔划216时至少部分地维持变化216a、216b。例如,动作710可以涉及减少在笔划216的变化216a、216b与几何地校正的笔划224的变化224a、224b之间的差值。
除了前述之外,方法700可以可选地涉及参数地调整几何地校正的笔画。例如,方法700可以涉及确定几何地校正的笔划224的从边缘指导映射208的标识的边缘222的偏离。特别地,方法700可以涉及确定在几何地校正的笔划224与边缘指导映射208的标识的边缘222之间的定位和曲率差值。另外,方法700可以涉及通过基于几何地校正的笔划224从边缘指导映射208的标识的边缘222的偏离强调或者不再强调几何地校正的笔划224来参数地调整几何地校正的笔划224。例如,方法700可以涉及强调几何地校正的笔划224的与标识的边缘222对准的部分224c而不再强调几何地校正的笔划224的具有从标识的边缘222的偏离的部分224a、224b。强调几何地校正的笔划224的部分可以涉及增加宽度、不透明度或者密度中的一项或者多项,而不再强调几何地校正的笔划224的部分可以涉及减少宽度、不透明度或者密度中的一项或者多项。
方法700可以涉及渲染几何地校正的笔划。方法700可以在用户绘制笔划216、218时渲染几何地校正的笔划224、226。换而言之,方法700可以渲染几何地校正的笔划224、226而不是或者取代渲染笔划216、218。在这样的实施例中,绘图辅助***未渲染笔划216。218。
现在参照图8,图示了使用语义标注以向草拟图像的用户提供绘图辅助的另一示例性方法800的流程图。方法800也包括检测图像中的一个或者多个特征的动作802。动作802可以涉及相互区分图像206、406中的不同特征或者不同特征类型。例如,在图像包括脸部时,动作802可以涉及向图像应用脸部检测算法以标识眼睛、虹膜、嘴部、脸部的轮廓、鼻部和眉毛。在图像包括室外景象时,动作802可以涉及应用特征检测算法以标识天空、水体、山脉、树木等。在更进一步的实施例中,动作802可以涉及接收标识图像的特征的用户输入或者使用数据库,该数据库标识用户或者计算机标识的图像特征。动作802还可以涉及生成或者标识特征点,这些特征点标识检测到的特征。
附加地,方法800包括关联特征标签与边缘指导映射中的与检测到的特征对应的指导点的动作804。例如,动作804可以涉及比较在图像206、406中检测到的特征与边缘指导映射208、608以及关联标签211a-211f、611a-611f与边缘指导映射208、608的与标识的特征对应的指导点gi。特别地,动作804可以涉及使用马尔科夫随机场、图形分区或者最近邻居搜索算法来分割边缘指导映射208、608。动作804还可以涉及执行最近邻居搜索以标识用于指导边缘222的每个指导点gi的最近特征点fi。动作804然后可以涉及到确定对于指导边缘222的大多数指导点gi而标识哪个特征标签211a-211f、611a-611f(基于最近特征点fi)。动作804还涉及关联对于大多数指导点gi而标识的特征标签211a-211f、611a-611f与指导边缘222上的每个指导点gi。
如所示,方法800包括标识输入点的动作806,这些输入点定义由用户绘制的笔划。特别地,动作806涉及标识输入点xi,这些输入点xi定义由用户在图像206、406之上绘制的输入笔划216、218。更具体而言,动作806可以涉及分析笔划以标识定义笔划216、218的输入点xi。分析笔划216、218可以包括采样或者重新采样笔划216、218以标识输入笔划点xi。附加地,分析笔划216、218可以包括确定笔划216、218在输入点xi中的每个输入点的定位和局部定向。
附加地,方法800包括关联特征标签与输入点的动作808。例如,动作808可以涉及比较在图像206、406中检测到的特征与输入点xi以及关联标签211a-211f、611a-611f和与标识的特征对应的输入点xi。动作808可以涉及执行最近邻居搜索以标识用于用户笔划216、218的每个输入点xi的最近特征点fi。动作808然后可以涉及确定对于笔划216、218的大多数输入点xi而标识哪个特征标签211a-211f、611a-611f(基于最近特征点fi)。动作800还涉及关联对于大多数输入点xi而标识的特征标签211a-211f、611a-611f与输入笔划216、218的每个输入点xi。
图8图示了方法800包括标识边缘指导映射的具有与笔划的输入点的特征标签匹配的关联的特征标签的、与笔划的输入点最近的指导点的动作810。例如,动作810可以涉及标识具有与输入点xi相同的特征标签211a-211f、611a-611f的、与输入点xi最近的指导点gi。更具体而言,动作810可以涉及确定同样具有与关联于输入点xi的特征标签匹配的关联的特征标签211a-211f、611a-611f的、在距离上与输入点xi最近的指导点gi。
沿着有关线条,方法800包括标识具有与笔划的输入点的特征标签匹配的关联的特征标签的、与笔划的输入点最近的特征点的动作812。例如,动作812可以涉及标识具有与输入点xi相同的特征标签211a-211f、611a-611f的、与输入点xi最近的特征点fi。更具体而言,动作812可以涉及确定同样具有与关联于输入点xi的特征标签匹配的关联的特征标签211a-211f、611a-611f的、在距离和曲率上与输入点xi最近的特征点fi。
图8还图示了方法800包括基于标识的指导点和标识的特征点确定用于笔划的几何地校正的点的动作814。特别地,动作814可以涉及计算用于几何地校正的点pi的定位和定向。动作814可以涉及减少或者最小化在几何地校正的点pi与指导点gi之间的差值。动作814可以涉及减少或者最小化在几何地校正的点pi与特征点fi之间的差值。
动作806还可以包括确定在邻近输入点xi之间的变化以及减少在邻近输入点xi之间的变化与在与邻近输入点xi对应的邻近几何地校正的点pi之间的变化之间的差值。因此,确定几何地校正的点pi可以涉及对准几何地校正的点pi与指导点gi和特征点fi二者而维持笔划216、218的变化。
方法800附加地包括从几何地校正的点生成几何地校正的笔划或者曲线的动作816。更具体而言,方法816涉及通过向几何地校正的点pi拟合线条来生成几何地校正的笔划或者曲线224、226。例如,动作816可以涉及用立方B样条曲线近似或者使用最小二乘回归技术或者另一线条拟合算法来拟合几何地校正的点pi。
本发明的实施例可以如以下更具体讨论的那样包括或者利用包括计算机硬件(如比如一个或者多个处理器和***存储器)的专用或者通用计算机。在本发明的范围内的实施例也包括用于承载或者存储计算机可执行指令和/或数据结构的物理和其它计算机可读介质。在某些具体实施例中,可以至少部分基于在非瞬态计算机可读介质中体现的并且可由一个或者多个计算设备(例如,这里描述的媒体内容访问设备中的任何媒体内容访问设备)执行的指令实施这里描述的过程中的一个或者多个过程。一般而言,处理器(例如,微处理器)从非瞬态计算机可读介质(例如,存储器等)接收指令并且执行那些指令,由此执行一个或者多个过程、包括这里描述的过程中的一个或者多个过程。
计算机可读介质可以是通用或者专用计算机***可以访问的任何可用介质。存储计算机可执行指令的计算机可读介质为非瞬态计算机可读存储介质(设备)。承载计算机可执行指令的计算机可读介质是传输介质。因此,举例而言而非限制,本发明的实施例可以包括至少两个相异地不同种类的计算机可读介质:非瞬态计算机可读存储介质(设备)和传输介质。
非瞬态计算机可读存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动(“SSD”)(例如,基于RAM)、闪存、相变存储器(“PCM”)、其它类型的存储器、其它光盘存储装置、磁盘存储装置或者其它磁存储设备或者任何其它介质,该任何其它介质可以用来以计算机可执行指令或者数据结构的形式存储希望的程序代码装置并且可以由通用或者专用计算机访问。
“网络”被定义为支持在计算机***和/或模块和/或其它电子设备之间传送电子数据的一个或者多个数据链路。在通过网络或者另一通信连接(硬接线、无线或者硬接线或者无线的组合)向计算机传送或者提供信息时,计算机将连接恰当地视为传输介质。传输介质可以包括可以用来以计算机可执行指令的形式输送希望的程序代码装置并且可以由通用或者专用计算机访问的网络和/或数据链路。也应当在计算机可读介质的范围内包括以上的组合。
另外,在到达各种计算机***部件时,可以从传输介质向非瞬态计算机可读存储介质(设备)(或者相反)自动地传送形式为计算机可执行指令或者数据结构的程序代码装置。例如,可以在网络接口模块(例如,“NIC”)内的RAM中缓冲并且然后向计算机***RAM和/或向在计算机***的更少易失性计算机存储介质(设备)最终地传送通过网络或者数据链路接收的计算机可执行指令或者数据结构。因此,应当理解,可以在也(或者甚至主要地)利用传输介质的计算机***部件中包括非瞬态计算机可读存储介质(设备)。
计算机可执行指令例如包括在处理器执行时使通用计算机、专用计算机或者专用处理设备执行某个功能或者一组功能的指令和数据。在一些实施例中,在通用计算机上执行计算机可执行指令以将通用计算机转变成本发明的专用计算机实施单元。计算机可执行指令可以例如是二进制、中间格式指令(比如汇编语言)或者甚至源代码。虽然已经用结构特征和/或方法动作特有的语言描述了主题内容,但是将理解,在所附权利要求中定义的主题内容未必限于以上描述的特征或者描述的动作。实际上,描述的特征和动作被公开作为实施权利要求的示例形式。
本领域技术人员将认识到,可以在具有许多类型的计算机***配置(包括个人计算机、桌面型计算机、膝上型计算机、消息处理器、手持设备、多处理器***、基于微处理器或者可编程的客户电子装置、网络PC、小型计算机、大型计算机、移动电话、PDA、写字板、寻呼机、路由器、交换机等)的网络计算环境中实践本发明。也可以在分布式***环境中实践本发明,其中通过网络链接(通过硬接线数据链路、无线数据链路或者通过硬接线和无线数据链路的组合)的本地和远程计算机***二者执行任务。在分布式***环境中,程序模块可以位于本地和远程存储器存储设备二者中。
也可以在云计算环境中实施本发明的实施例。在本说明书中,“云计算”被定义为用于支持对可配置计算资源的共享池的按照需要的网络访问的模型。例如,可以在集市中运用云计算以赋予对可配置计算资源的共享池的普遍和方便、按照需求的访问。可以经由虚拟化迅速地调配并且用低量管理工作或者服务提供商交互来释放并且然后相应地伸缩可配置计算资源的共享池。
云计算模型可以由各种特性(如比如按照需求的自服务、宽网络接入、资源汇合、迅速弹性、测量的服务等)组成。云计算模型也可以暴露各种服务模型,如比如软件即服务(“SaaS”)、平台即服务“PaaS”和基础结构即服务“IaaS”。也可以使用不同部署模型(比如专用云、团体云、混合云等等)来部署云计算模型。在本说明书中和在权利要求书中,“云计算环境”是其中运用云计算的环境。
图9以框图形式图示了可以被配置为执行以上描述的过程中的一个或者多个过程的示例性计算设备900。将认识到,客户端设备118(或者甚至服务器设备120)可以包括计算设备900的实现方式。如由图9所示,计算设备可以包括处理器902、存储器904、存储设备906、I/O接口908和通信接口910。尽管在图9中示出了示例计算设备900,但是图9中所示部件未旨在于限制。可以在其它实施例中使用附加或者备选部件。另外,在某些实施例中,计算设备900可以包括比图9中所示部件更少的部件。现在将用附加细节描述图9中所示的计算设备900的部件。
在特定实施例中,处理器902包括用于执行指令(比如组成计算机程序的指令)的硬件。作为示例而非通过限制,为了执行指令,处理器902可以从内部寄存器、内部高速缓存、存储器904或者存储设备906取回(或者取读)指令并且对它们进行解码和执行。在具体实施例中,处理器902可以包括用于数据、指令或者地址的一个或者多个内部高速缓存。作为示例而非通过限制,处理器902可以包括一个或者多个指令高速缓存、一个或者多个数据高速缓存和一个或者多个翻译后援缓冲器(TLB)。指令高速缓存中的指令可以是存储器904或者存储装置906中的指令的副本。
计算设备900包括耦合到处理器902的存储器904。存储器904可以用于存储用于由处理器执行的数据、元数据和程序。存储器904可以包括易失性和非易失性存储器(比如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态盘(“SSD”)、闪存、相变存储器(“PCM”))或者其它类型的数据存储装置中的一项或者多项。存储器904可以是内部或者分布式存储器。
计算设备900包括存储设备906,该存储设备906包括用于存储数据或者指令的存储装置。作为示例而非通过限制,存储设备906可以包括以上描述的非瞬态存储介质。存储设备906可以包括硬盘驱动(HDD)、软盘驱动、闪存、光盘、光磁盘、磁带或者通用串行总线(USB)驱动或者这些项中的两项或者更多项的组合。存储设备906可以在适当时包括可去除或者非可去除(或者固定)介质。存储设备906可以在计算设备900内部或者外部。在具体实施例中,存储设备906为非易失性固态存储器。在具体实施例中,存储设备906包括只读存储器(ROM)。在适当时,这一ROM可以是掩码编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可更改(ROM)(EAROM)或者闪存或者这些项中的两项或者更多项的组合。
计算设备900也包括提供的用于允许用户向计算设备900提供输入(比如用户笔划)、从计算设备900接收输出以及以别的方式向和从计算设备900传送数据的一个或者多个输入或者输出(“I/O”)设备/接口908。这些I/O设备/接口908可以包括鼠标、小键盘或者键盘、触屏、相机、光扫描器、网络接口、调制解调器、其它已知I/O设备或者这样的I/O设备/接口908的组合。可以用触笔或者手指激活触屏。
I/O设备/接口908可以包括用于向用户呈现输出的一个或者多个设备,包括但不限于图形引擎、显示器(例如,显示屏幕)、一个或者多个输出驱动器(例如,显示驱动器)、一个或者多个音频扬声器和一个或者多个音频驱动器。在某些实施例中,设备/接口908被配置为向显示器提供图形数据以用于向用户呈现。图形数据可以代表一个或者多个图形用户界面和/或如可以服务于特定实现方式的任何其它图形内容。
计算设备900还可以包括通信接口910。通信接口910可以包括硬件、软件或者二者。通信接口910可以提供用于在计算设备与一个或者多个其它计算设备900或者一个或者多个网络之间通信(如比如基于分组的通信)的一个或者多个接口。作为示例而非通过限制,通信接口910可以包括用于与以太网或者其它基于有线的网络的网络接口控制器(NIC)或者网络适配器或者用于与无线网络(比如WI-FI)通信的无线NIC(WNIC)或者无线适配器。
本公开内容设想任何适当网络和任何适当通信接口910。作为示例而非通过限制,计算设备900可以与自组织网络、个人区域网络(PAN)、局域网(LAN)、广域网(WLAN)、城域网(MAN)或者因特网的一个或者多个部分或者这些各项中的两项或者更多项通信。这些网络中的一个或者多个网络的一个或者多个部分可以是有线或者无线的。作为示例,计算设备900可以与无线PAN(WPAN)(如比如BLUETOOTH WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(如比如全球移动通信***(GSM)网络)或者其它适当无线网络或者其组合通信。计算设备900可以在适当时包括用于这些网络中的任何网络的任何适当通信接口910。
计算设备900还可以包括总线912。总线912可以包括相互耦合计算设备900的部件的硬件、软件或者二者。作为示例而非通过限制,总线912可以包括加速图形端口(AGP)或者其它图形总线、增强型工业标准架构(EISA)总线、前侧总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准架构(ISA)总线、***部件互连(PCI)总线、PCI-快速(PCIe)总线、串行高级技术附着(SATA)总线、视频电子标准协会本地(VLB)总线或者另一适当总线或者其组合。
在前文说明书中,已经参照本发明的具体示例实施例描述了本发明。参照这里讨论的细节描述本发明的各种实施例和方面,并且附图图示各种实施例。以上说明书和附图举例说明本发明而不会被解释为限制本发明。描述许多具体细节以提供对本发明的各种实施例的透彻理解。
可以用其它具体形式体现本发明而未脱离其精神实质或者基本特性。描述的实施例将在所有方面仅被视为示例而非限制。例如,可以用更少或者更多步骤/动作执行这里描述的方法或者可以按照不同顺序执行步骤/动作。附加地,可以重复或者相互并行地执行或者与相同或者相似步骤/动作的不同实例并行地执行这里描述的步骤/动作。本发明的范围因此由所附权利要求而不是由前文描述指示。落入潜力要求的含义和等效范围内的所有改变将被涵盖在它们的范围内。
Claims (20)
1.一种使用语义标注以向描绘图像的用户提供绘图辅助的方法,包括:
由一个或者多个处理器生成用于所述图像的指导映射,所述指导映射包括标识所述指导映射的与所述图像的一个或者多个特征对应的一个或者多个部分的特征标签;
检测由用户绘制的笔划;
将特征标签与所述笔划关联;
标识所述指导映射的具有与所述笔划的所述特征标签匹配的关联的特征标签的、与所述笔划最近的部分;以及
由所述一个或者多个处理器使用所述指导映射的具有与所述笔划的所述特征标签匹配的所述关联的特征标签的、与所述笔划最近的标识的所述部分来生成几何地校正的笔划。
2.根据权利要求1所述的方法,其中生成所述指导映射包括通过向所述图像应用边缘检测滤波器来生成边缘指导映射。
3.根据权利要求2所述的方法,其中生成所述指导映射还包括:
向所述图像应用特征检测算法以标识所述图像中的一个或者多个特征;以及
将特征标签与所述边缘指导映射中的与标识的所述特征对应的边缘关联。
4.根据权利要求2所述的方法,其中生成所述指导映射还包括通过向所述图像应用特征检测算法以标识所述图像中的一个或者多个特征来生成特征指导映射。
5.根据权利要求4所述的方法,还包括使用所述特征指导映射以通过使用所述特征指导映射的特征线以用于所述边缘指导映射的遗漏部分来补充所述边缘指导映射。
6.根据权利要求4所述的方法,其中使用所述指导映射的具有与所述笔划的所述特征标签匹配的所述关联的特征标签的、与所述笔划最近的标识的所述部分来生成几何地校正的所述笔划包括:
确定所述特征指导映射的具有与所述笔划的所述特征标签匹配的所述关联的特征标签的、与所述笔划最近的特征线;
确定所述边缘指导映射的具有与所述笔划的所述特征标签匹配的所述关联的特征标签的、与所述笔划最近的边缘;
确定所述边缘或者所述特征线中的哪个提供用于所述笔划的更佳指导;以及
朝着提供用于所述笔划的所述更佳指导的确定的所述边缘或者所述特征线移动所述笔划。
7.根据权利要求2所述的方法,其中所述边缘检测滤波器包括扩展型高斯差值滤波器。
8.根据权利要求1所述的方法,其中生成所述指导映射包括通过向所述图像应用特征检测算法以标识所述图像中的一个或者多个特征来生成特征指导映射。
9.根据权利要求7所述的方法,其中:
所述图像包括脸部的相片;以及
向所述图像应用特征检测算法包括向所述图像应用脸部检测算法。
10.根据权利要求1所述的方法,还包括通过确定在几何地校正的所述笔划与所述指导映射的标识的所述部分之间的定位差值和曲率差值来确定几何地校正的所述笔划从所述指导映射的标识的所述部分的偏离。
11.根据权利要求9所述的方法,还包括以下各项中的一项或者多项:
不再强调几何地校正的所述笔划的从所述指导映射的标识的所述部分偏离的部分;或者
强调几何地校正的所述笔划的与所述指导映射的标识的所述部分对准的部分。
12.根据权利要求1所述的方法,还包括在所述用户绘制所述笔划时渲染几何地校正的所述笔划。
13.根据权利要求1所述的方法,还包括:
从所述指导映射的标识的所述边缘确定所述笔划的变化;以及
在几何地校正所述笔划时至少部分地维持所述变化。
14.一种***,包括:
至少一个处理器;以及
至少一个非瞬态计算机可读存储介质,在所述至少一个非瞬态计算机可读存储介质上存储指令,所述指令在由所述至少一个处理器执行时使所述***:
生成用于所述图像的指导映射,所述指导映射包括标识所述指导映射的与所述图像的特征对应的一个或者多个部分的特征标签;
检测由用户绘制的笔划;
将特征标签与所述笔划关联;
标识所述指导映射的具有与所述笔划的所述特征标签匹配的关联的特征标签的、与所述笔划最近的部分;以及
朝着所述指导映射的具有与所述笔划的所述特征标签匹配的所述关联的特征标签的、与所述笔划最近的标识的所述部分使用所述笔划来生成几何地校正的笔划。
15.根据权利要求14所述的***,其中所述指令在由所述至少一个处理器执行时使所述***通过生成以下各项中的一项或者多项来生成用于所述图像的所述指导映射:
通过向所述图像应用特征检测算法来生成的所述图像的特征指导映射,所述特征检测算法标识所述图像的一个或者多个特征的定位;或者
通过向所述图像应用边缘检测滤波器来生成的所述图像的边缘指导映射。
16.根据权利要求15所述的***,其中所述指导映射的具有与所述笔划的所述特征标签匹配的所述关联的特征标签的、与所述笔划最近的标识的所述部分包括以下各项中的一项或者多项:
所述特征指导映射的具有与所述笔划的所述特征标签匹配的所述关联的特征标签的、与所述笔划最近的线;或者
所述边缘指导映射的具有与所述笔划的所述特征标签匹配的所述关联的特征标签的、与所述笔划最近的边缘。
17.根据权利要求15所述的***,其中所述指令在由所述至少一个处理器执行时还使所述***:
确定所述笔划距所述特征指导映射的所述线的第一距离;
确定所述笔划距所述指导映射的所述边缘的第二距离;以及
在生成几何地校正的所述笔划时基于确定的所述第一距离和所述第二距离向所述特征指导映射的所述线和所述边缘指导映射的所述边缘给予权值。
18.一种使用语义标注以向描绘图像的用户提供绘图辅助的方法,包括:
检测所述图像中的一个或者多个特征;
将特征标签与指导映射中的与检测到的所述特征对应的指导点关联;
标识定义由所述用户绘制的笔划的输入点;
将特征标签与所述笔划的所述输入点关联;
标识所述指导映射的具有与所述笔划的所述输入点的所述特征标签匹配的关联的特征标签的、与所述笔划的所述输入点最近的指导点;
标识具有与所述笔划的所述输入点的所述特征标签匹配的关联的特征标签的、与所述笔划的所述输入点最近的特征点;
由所述一个或者多个处理器基于标识的所述指导点和标识的所述特征点来确定用于所述输入点的几何地校正的点;以及
通过向几何地校正的所述点拟合线条来生成几何地校正的笔划。
19.根据权利要求18所述的方法,其中基于标识的所述指导点和标识的所述特征点来确定用于所述输入点的几何地校正的所述点包括:
减少在几何地校正的所述点与标识的所述指导点之间的距离差值和曲率差值;以及
减少在几何地校正的所述点与标识的所述特征点之间的距离差值和曲率差值。
20.根据权利要求19所述的方法,其中将特征标签与所述指导映射中的与检测到的所述特征对应的指导点关联包括:
执行最近邻居搜索以标识用于指导边缘的每个指导点的最近特征点;
标识用于与所述指导边缘的每个指导点最近的每个最近特征点的特征标签;
确定对于与所述指导边缘的每个指导点的大多数所述最近特征点标识了哪个特征标签;以及
将对于所述大多数所述特征点而标识的所述特征标签与所述指导边缘上的每个指导点关联。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/176,034 | 2014-02-07 | ||
US14/176,034 US9495581B2 (en) | 2014-02-03 | 2014-02-07 | Providing drawing assistance using feature detection and semantic labeling |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104834459A true CN104834459A (zh) | 2015-08-12 |
CN104834459B CN104834459B (zh) | 2019-08-16 |
Family
ID=52746219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510030165.8A Active CN104834459B (zh) | 2014-02-07 | 2015-01-21 | 使用特征检测和语义标注来提供绘图辅助的***和方法 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN104834459B (zh) |
DE (1) | DE102015000377A1 (zh) |
GB (1) | GB2524871B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI602149B (zh) * | 2015-12-31 | 2017-10-11 | 遠東科技大學 | 繪圖之筆刷搜尋方法、電腦程式產品及電腦可讀取記錄媒體 |
CN108711179A (zh) * | 2018-05-21 | 2018-10-26 | 张宗良 | 绘图还原方法和*** |
CN109255807A (zh) * | 2017-07-13 | 2019-01-22 | 腾讯科技(深圳)有限公司 | 一种图像信息处理方法及服务器、计算机存储介质 |
CN109690462A (zh) * | 2016-12-15 | 2019-04-26 | 迈思慧公司 | 管理手写图连接符的***和方法 |
CN111492407A (zh) * | 2017-12-19 | 2020-08-04 | 微软技术许可有限责任公司 | 用于绘图美化的***和方法 |
CN112214216A (zh) * | 2019-07-10 | 2021-01-12 | 国际商业机器公司 | 使用人工智能通过渐进式反馈来迭代地设计用户界面 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061889B (zh) * | 2018-10-16 | 2024-03-29 | 京东方艺云(杭州)科技有限公司 | 图片多标签的自动识别方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1799252A (zh) * | 2003-06-02 | 2006-07-05 | 卡西欧计算机株式会社 | 采集图像投影装置以及采集图像校正方法 |
CN101178633A (zh) * | 2007-12-13 | 2008-05-14 | 深圳华为通信技术有限公司 | 一种手写屏错误纠正的方法、***及装置 |
CN101183496A (zh) * | 2007-12-25 | 2008-05-21 | 深圳市乐天科技有限公司 | 一种书写式电子装置进行文字笔划的校正方法 |
US20100188415A1 (en) * | 2006-04-21 | 2010-07-29 | Apple Inc. | Workflows for Color Correcting Images |
WO2010089665A1 (en) * | 2009-02-09 | 2010-08-12 | Nokia Corporation | Method and apparatus for interactive sketch template |
CN102147911A (zh) * | 2010-02-04 | 2011-08-10 | 卡西欧计算机株式会社 | 图像处理装置 |
CN202615269U (zh) * | 2012-03-26 | 2012-12-19 | 深圳市金研微科技有限公司 | 电子***及实现可视化触摸绘图板功能的新型平板电脑 |
-
2015
- 2015-01-15 DE DE102015000377.1A patent/DE102015000377A1/de active Pending
- 2015-01-21 CN CN201510030165.8A patent/CN104834459B/zh active Active
- 2015-02-06 GB GB1501968.0A patent/GB2524871B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1799252A (zh) * | 2003-06-02 | 2006-07-05 | 卡西欧计算机株式会社 | 采集图像投影装置以及采集图像校正方法 |
US20100188415A1 (en) * | 2006-04-21 | 2010-07-29 | Apple Inc. | Workflows for Color Correcting Images |
CN101178633A (zh) * | 2007-12-13 | 2008-05-14 | 深圳华为通信技术有限公司 | 一种手写屏错误纠正的方法、***及装置 |
CN101183496A (zh) * | 2007-12-25 | 2008-05-21 | 深圳市乐天科技有限公司 | 一种书写式电子装置进行文字笔划的校正方法 |
WO2010089665A1 (en) * | 2009-02-09 | 2010-08-12 | Nokia Corporation | Method and apparatus for interactive sketch template |
CN102147911A (zh) * | 2010-02-04 | 2011-08-10 | 卡西欧计算机株式会社 | 图像处理装置 |
CN202615269U (zh) * | 2012-03-26 | 2012-12-19 | 深圳市金研微科技有限公司 | 电子***及实现可视化触摸绘图板功能的新型平板电脑 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI602149B (zh) * | 2015-12-31 | 2017-10-11 | 遠東科技大學 | 繪圖之筆刷搜尋方法、電腦程式產品及電腦可讀取記錄媒體 |
CN109690462A (zh) * | 2016-12-15 | 2019-04-26 | 迈思慧公司 | 管理手写图连接符的***和方法 |
CN109690462B (zh) * | 2016-12-15 | 2024-02-13 | 迈思慧公司 | 管理手写图连接符的***和方法 |
CN109255807A (zh) * | 2017-07-13 | 2019-01-22 | 腾讯科技(深圳)有限公司 | 一种图像信息处理方法及服务器、计算机存储介质 |
CN109255807B (zh) * | 2017-07-13 | 2023-02-03 | 腾讯科技(深圳)有限公司 | 一种图像信息处理方法及服务器、计算机存储介质 |
CN111492407A (zh) * | 2017-12-19 | 2020-08-04 | 微软技术许可有限责任公司 | 用于绘图美化的***和方法 |
CN111492407B (zh) * | 2017-12-19 | 2023-09-12 | 微软技术许可有限责任公司 | 用于绘图美化的***和方法 |
CN108711179A (zh) * | 2018-05-21 | 2018-10-26 | 张宗良 | 绘图还原方法和*** |
CN108711179B (zh) * | 2018-05-21 | 2022-07-19 | 杭州多技教育科技有限公司 | 绘图还原方法和*** |
CN112214216A (zh) * | 2019-07-10 | 2021-01-12 | 国际商业机器公司 | 使用人工智能通过渐进式反馈来迭代地设计用户界面 |
Also Published As
Publication number | Publication date |
---|---|
DE102015000377A1 (de) | 2015-08-13 |
GB2524871A (en) | 2015-10-07 |
CN104834459B (zh) | 2019-08-16 |
GB201501968D0 (en) | 2015-03-25 |
GB2524871B (en) | 2017-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10235897B2 (en) | Providing drawing assistance using feature detection and semantic labeling | |
CN104834459A (zh) | 使用特征检测和语义标注来提供绘图辅助 | |
US10657652B2 (en) | Image matting using deep learning | |
CN101770581B (zh) | 高分辨率城区遥感图像中道路中心线的半自动检测方法 | |
US9305382B2 (en) | Geometrically and parametrically modifying user input to assist drawing | |
US11703949B2 (en) | Directional assistance for centering a face in a camera field of view | |
US9020266B2 (en) | Methods and devices for processing handwriting input | |
US10762674B2 (en) | Beautifying freeform drawings using arc and circle center snapping | |
CN109325398A (zh) | 一种基于迁移学习的人脸属性分析方法 | |
US20210232298A1 (en) | Detection and visualization of a formation of a tangible interface object | |
CN105279787A (zh) | 基于拍照的户型图识别生成三维房型的方法 | |
CN104978012B (zh) | 一种指向交互方法、装置及*** | |
CN105160323B (zh) | 一种手势识别方法 | |
US11170536B2 (en) | Systems and methods for home improvement visualization | |
US10970889B2 (en) | Stroke prediction for stylized drawings based on prior strokes and reference image | |
US20200167893A1 (en) | Propagation of spot healing edits from one image to multiple images | |
CN114063858B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN106504317A (zh) | 一种三维模型的外观纹理提取方法及装置 | |
TW201516969A (zh) | 視訊物件追蹤方法 | |
CN105046249B (zh) | 一种人机交互方法 | |
US20200126314A1 (en) | Method and system of automated facial morphing for eyebrow hair and face color detection | |
CN103236056A (zh) | 基于模板匹配的图像分割方法 | |
US20220261594A1 (en) | Personalized local image features using bilevel optimization | |
US11481940B2 (en) | Structural facial modifications in images | |
KR102429297B1 (ko) | 딥러닝 기반 이미지 채색 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |