用于视觉缺陷的增强成像辅助的制作方法

文档序号:16366333发布日期:2018-12-22 08:27阅读:119来源:国知局
用于视觉缺陷的增强成像辅助的制作方法

诸如智能手机之类的个人用户设备可以允许用户运行各种应用,诸如被配置为捕获图像、玩游戏或参与生产活动的应用以及其他应用。这些应用和相关联的图形用户界面对于那些具有各种身体缺陷(诸如视觉缺陷)的人来说使用起来可能是具有挑战性的。最近,除了传统的触摸屏、按钮或键盘之外,智能个人助理已经被包括在用户设备上以允许用户使用语音命令与用户设备交互。然而,与现实世界的对象和元素交互可能仍然很困难,并且许多应用不能够完全服务于那些具有视觉或其他缺陷的人。



技术实现要素:

概述

在本文中讨论了为用户界面设备提供辅助的系统、装置、服务、平台和方法。在一个示例中,提供了一种辅助应用,包括:成像系统,被配置为捕获场景的图像;接口系统,被配置为将与图像相关联的数据提供给辅助服务,该辅助服务响应性地处理数据以识别场景属性并且至少基于场景属性为用户建立反馈;以及用户界面,被配置为将反馈提供给用户。

提供本概述是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步进行描述。可以理解,该概述并非旨在标识所要求保护的技术主题的关键特征或必要特征,也并非旨在被用来限制所要求保护的技术主题的范围。

附图说明

本公开的许多方面参考以下附图可以更好地被理解。虽然若干实施方式结合这些附图进行了描述,但是本公开不限于本文所公开的实施方式。相反,其意图是涵盖所有备选方案、修改和等同物。

图1是在一个实施方式中的用户辅助系统的系统图。

图2a、图2b和图2c图示了操作用户辅助系统的示例方法。

图3图示了用于实现本文所公开的任何架构、过程、方法和操作场景的示例计算平台。

图4图示了两个示例注释场景。

图5图示了示例注释场景。

图6图示了在一个实施方式中的用户辅助应用的示例操作。

图7图示了在一个实施方式中的示例用户辅助接口。

具体实施方式

由诸如智能电话、平板计算机、游戏系统等的许多用户设备提供的用户界面对于那些具有各种身体缺陷(诸如视觉缺陷)的人来说使用起来可能是具有挑战性的。智能个人助理(诸如microsoft)已经被包括在用户设备上,以除了传统的触摸屏、按钮或键盘之外还允许用户使用语音命令与用户设备进行交互。然而,与现实世界的对象和元素交互可能仍然很困难,并且许多应用不能够完全服务于那些具有视觉或其他缺陷的人。

在本文中所讨论的是向个人通信设备的用户提供辅助的各种应用、设备、服务和接口。除了其他示例之外,该辅助可以包括基于增强现实的辅助,诸如场景识别、场景描述、文档识别和照片辅助。在典型示例中,用户将采用计算设备来接收来自现实世界的输入,诸如经由数字相机和麦克风。该输入可以使用各种服务来处理,这些服务根据用户的询问或查询来解释由相机捕获的场景或者解释场景中的元素。进一步的示例包括解释由用户拍摄的图片中的文档,或识别菜单、标志和对象。场景识别可以被用来确定图像中的元素或对象,并智能地解释元素以将适当的信息转达给用户。

“视力”人工智能(ai)在一些示例中可以被采用来建立基于计算机视觉的辅助。视觉ai可以包括帮助视觉上有缺陷的用户理解他们周围的人和事物的用户应用或服务。视觉ai可以被用在智能电话/平板电脑应用、像是智能眼镜、增强现实护目镜或其他设备之类的分立设备中。视觉ai可以以听觉方式引导用户拍摄场景中的文档、人或其他对象/元素的照片。视觉ai可以用自然语言语句描述场景,并且可以回答由用户提出的关于由用户拍摄的照片的问题。

本文所讨论的各种示例包括对由用户捕获的场景中的感兴趣项目的基于计算机视觉识别的不同示例。在第一操作场景中,为用户解释图像或照片。在该场景中,用户或设备诸如使用用户设备的数字相机部分来启动图像的捕获。图像由一个或多个服务处理,这些服务识别图像中的各种元素并关联由图像捕获的场景。这些服务包括基于智能视觉的服务等,并生成关于图像的结构化信息。用户可以询问关于被呈现给用户的图像和结构化信息的问题。这些问题可以提示进一步的图像处理以获得进一步的结构化信息,或者可以提示服务进一步解释图像。例如,用户可以捕获在沙发上的人的图像。该图像可以由一个或多个识别服务处理,以确定关于在图像中所捕获的场景的信息。作为响应,服务可以提供诸如“图像包括坐在沙发上阅读书籍的人”之类的信息。这可以提示来自用户的后续问题,诸如“此人阅读的是什么书”、“他的衬衫是什么颜色”或“描述这个人”等问题。这些服务可以进一步处理图像和问题,以确定答案,诸如“这个人是一个24岁左右的男人,穿着蓝色衬衫,微笑,并且在阅读战争与和平”。

进一步的示例和场景包括对象识别(即,识别对象以及它们在图像或场景中的位置)、场景描述服务(即,基于在图像或场景中被识别的对象生成简单语言描述)。图像可以包括文本或其他书写符号,并且可以针对那些图像执行各种识别,包括光学字符识别(ocr)(即识别文本、字符位置)、文档结构标识(诸如标识标题/字体/文本结构)。也可以识别和标识其他符号,诸如产品识别(标识商标/品牌),以及条形码或qr码识别和查询(标识条形码和获得相关联数据)。智能人体识别和检测,诸如面部检测、性别检测、年龄估计和情绪识别。文档边界标识(即边缘检测、图像居中)也可以被应用于图像,以帮助使图像的帧内的文档或其他元素居中或定位。颜色检测和报告用户可以针对场景的各种元素来执行。语音到文本处理可以针对视频或音频内容来执行,并且文本到语音处理可以对在图像或场景中被找到的文本项来执行。意图分类器处理还可以被包括以确定用户查询的意图。例如,该意图分类可以包括对诸如用户询问“此处写的是什么”的语言查询进行分类,以提示针对在图像或场景中被找到的文本来执行ocr处理。

现在若干操作示例被呈现为与可以被用来执行本文的示例或操作场景的系统、服务和装置有关。图1是用户辅助系统100的系统图。图2a、图2b和图2c各自详细说明了图1的元素的各种示例操作方法。图3图示了用于实现本文所公开的任何架构、过程、方法和操作场景的示例计算平台。

首先转到图1,系统100包括用户设备110、辅助计算接口140和计算服务150。用户设备110包括相机111和辅助应用120。若干示例场景被包括在图1中以图示可以由系统100的元素辅助的各种操作场景。第一场景160包括文档或菜单,第二场景161包括交通/道路元素,并且第三场景162包括室外场景。这些将在图2a、图2b和图2c中进一步被详细讨论。

用户设备110可以是智能电话、平板计算机、膝上型电脑、个人通信设备、个人辅助设备、无线通信设备、订户装备、客户装备、接入终端、电话、移动无线电话、个人数字助理、个人计算机、电子书、移动互联网用具、无线网络接口卡、媒体播放器、游戏控制台、游戏系统或一些其他通信装置,包括其组合。用户设备110的元件包括成像装备,诸如相机111、收发器电路、处理电路和用户界面元件。收发器电路通常包括放大器、天线、滤波器、调制器和信号处理电路。用户设备110还可以包括用户接口系统、网络接口卡装备、存储器设备、非暂时性计算机可读存储介质、软件、处理电路或一些其他通信组件。在一些示例中,用户设备110包括辅助计算接口140或计算服务150的元件。

用户设备110和辅助计算接口140可以通过一个或多个通信链路进行通信。在一些示例中,用户设备110通过一个或多个网络链路(诸如通过无线或有线网络链路)与辅助计算接口140通信。利用通过各种逻辑、物理或应用程序编程接口相耦合的用户设备110、辅助计算接口140和计算服务150的组件,其他配置是可能的。示例通信链路可以使用金属、玻璃、光学、空气、空间或一些其他材料作为传输介质。示例通信链路可以使用各种通信协议,诸如时分复用(tdm)、因特网协议(ip)、以太网、同步光网络(sonet)、异步传输模式(atm)、混合光纤同轴电缆(hfc)、电路交换、通信信令、无线通信或一些其他通信格式,包括其组合、改进或变化。通信链路可以是直接链路,或者可以包括中间网络、系统或设备,并且可以包括通过多个物理链路传输的逻辑网络链路。

辅助计算接口140可以包括通信接口、网络接口、处理系统、计算机系统、微处理器、存储系统、存储介质或一些其他处理设备或软件系统,并且可以在多个设备之间或跨多个地理位置分布。辅助计算接口140的示例可以包括诸如操作系统、日志、数据库、实用程序、驱动器、网络软件和被存储在计算机可读介质上的其他软件之类的软件。辅助计算接口140可以包括由分布式计算系统或云计算服务托管的一个或多个平台。辅助计算接口140可以包括逻辑接口元件,诸如软件定义的接口和应用程序编程接口(api)。

计算服务150可以包括由分布式计算系统或云计算服务托管的一个或多个服务。在图1中,计算服务150包括文档识别服务151、对象识别服务152、语音识别服务153、情绪识别服务154、面部识别服务155、条形码识别服务156、产品识别服务157、场景描述服务158和位置检测服务159。也可以被提供其他服务和识别平台,并且图1中所讨论的那些仅仅是示例性的。

文档识别服务151可以为文档、食物菜单、道路标志、对象标记、白板或包含可读文本和符号的其他对象提供光学字符识别服务。对象识别服务152可以提供对由用户所成像的场景中的对象和元素的智能识别,诸如车辆、人、各种物理对象、表面特征、织物、颜色、亮度、以及对象、元素和相关联属性的智能识别。语音识别服务153可以处理语音命令或音频信号,以识别由用户发出的指令或标识音频信号的属性。情绪识别服务154可以基于图像数据和音频数据提供对人类情绪状态的识别,诸如标识人的情绪表情、面部表情、手部移动或其他情绪特性。面部识别服务155可以基于所捕获图像的面部属性来提供人的标识,诸如使用面部识别技术来标识人的名字、性别和状况。条形码识别服务156可以与文档识别服务151一起工作,以标识以条形码、qr码或其他可视编码信息而编码的内容。产品识别服务157使用对象标记、商标标识、光学字符识别、条形码识别或其他技术来提供对商业、工业或艺术产品的识别。场景描述服务158可以提供对场景内的对象和元素的识别,诸如对场景中的对象的设置、定位和动作的标识,以及建立对向用户描述场景有用的描述性语言。位置检测服务159可以提供位置确定服务,诸如经由全球定位服务(gps)、三边测量、三角测量、场景识别和放置等技术。

图1中所讨论的每个示例计算服务可以被单独地采用或组合地采用。这些计算服务可以经由辅助计算接口140被提供给用户,辅助计算接口140可以在用户和相关联的计算服务之间合成和分发输入和输出数据。辅助计算接口140或辅助应用120可以从所提供的计算服务中形成一个或多个专用服务。这些专用服务可以使用计算服务150中的一个或多个来合成输出数据或输出指令。例如,文档读取服务可以被提供给经由语音命令进行交互的用户。该文档读取服务可以包括文档识别服务151、对象识别服务152、语音识别服务153、条形码识别服务156以及其他服务。辅助计算接口140或辅助应用120可以向每个所选服务提供数据,并从所选服务接收结果数据,该数据被合成或组合成用于用户的文档读取服务。可以使用计算服务的组合来提供其他服务。

在图1的一个示例操作中,用户可以使用用户设备110上的相机111捕获图像(或视频)。该图像捕获可以在辅助应用120或在用户设备110上被执行的其他用户应用内被启动。一旦一个或多个图像被捕获,图像数据和其他相关信息或数据就可以由用户设备110传递,以向用户提供一个或多个辅助特征,诸如视觉辅助特征。

例如,图1示出了被传递以便递送到辅助计算接口140的数据130。数据130可以包括图像数据、视频数据、音频数据、触摸传感器数据、传感器数据或位置数据,以及其他数据和信息。音频数据可以由用户设备110的麦克风捕获。触摸传感器数据可以从用户设备110的触摸屏或诸如指纹传感器或其他传感器的触摸传感器来捕获。另外的传感器数据可以包括图像或屏幕亮度数据、加速度数据、无线信号强度数据、可用链路带宽数据或由用户设备110监视的其他传感器数据。该另外的传感器数据可以由计算服务150使用,以进一步限定或分析由用户设备110提供的图像或视频数据。位置数据可以包括用户设备110的定位数据,诸如由gps确定的数据,或由其他位置标识过程确定的数据。

用户设备110还可以在数据130中提供一个或多个命令或指令,其请求通过辅助计算接口140而被提供的各种处理和识别服务。然后,辅助计算接口140可以解析命令或指令以及所提供的数据,以选择其他命令/指令和数据并将其分发给计算服务150中的一个或多个。然后,由辅助计算接口140采用的计算服务150可以处理相关联的数据和指令以提供一个或多个输出结果,输出结果然后被传递以便递送给用户设备110。这些输出结果可以包括视觉、音频或触觉输出,如由图1中的数据131所示。

为了提供图1的元件的进一步操作示例,提供了图2a、图2b和图2c。图2a、图2b和图2c中所描述的操作还可以描述本文所讨论的任何设备或系统的操作,诸如图3中所发现的。在每个示例中,用户设备110的辅助应用120向辅助计算接口140提供图像数据、场景数据、视频数据、查询信息或其他数据和信息。图像可以是单个图像、一系列图像、视频或包括图像数据的其他媒体。图像数据可以由用户在用户设备110的显示器或其他图形用户界面上查看。图形用户界面可以包括图像捕获界面、实时预览界面,或者可以经由外围设备来捕获,该外围设备诸如是被安装在眼镜上的成像设备、远程成像设备、或者是在图像数据由计算服务150处理之前可以向用户提供或也可以不向其提供用于预览的图像数据的其他成像元件。

辅助计算接口140可以在计算服务150中的一个或多个中进行选择,以处理由用户设备110提供的数据和信息,以建立相关联的识别或描述服务141至159。在一些示例中,辅助计算接口140与计算服务150一起被分布在一个以上的计算系统或平台上,诸如在“云”计算或虚拟化计算服务平台中被找到的那样。辅助计算接口140在各种计算服务中智能地选择,以提供与用户请求/查询相关联的数据或信息,并且这些所选择的计算服务对数据或信息进行处理,以向用户提供各种对应的处理、检测和识别服务。可以继续对图像或场景元素的迭代和重复的用户查询,以使用户可以继续接收响应于进一步查询而被提供的进一步的细节、描述或识别。此外,可以对场景中所识别的元素或基于场景中所识别的文本信息以及其他元素来执行各种搜索查询,诸如因特网搜索、社交媒体搜索或网络搜索。这些搜索查询可以由用户提示,或者可以在识别场景中的各种元素时自动执行。这些搜索查询可以由用户提示,或者可以在对场景中的各种元素进行识别时被自动执行。

首先转到图2a,向用户提供辅助以捕获图像。该辅助可以包括引导用户在三维空间中移动相机或相关联的用户设备,以将感兴趣的对象聚焦、放到框架中、放在适当的取向,或者确保感兴趣对象的期望特征能够在图像中被捕获。辅助可以包括方向提示或警报,其引导用户移动成像设备以更好地捕获场景中的感兴趣图像或元素。方向通知可以提示用户移动用户设备110(诸如相机111)的成像系统的成像传感器,以增加场景中的至少一个元素的识别水平。警报可以包括音频、视觉、触觉或其他警报,其可以向用户提示方向定位以及捕获启动提示,诸如提示指示图像被定位并准备好捕获的警报。

首先,用户在辅助应用120中启动场景的图像或视频的捕获(201)。用户设备110可以使用相机111或其他成像装备捕获图像或视频。诸如场景160至162中任何一个等的场景中的一个或多个对象的图像或视频可以被捕获。然而,用户可以从用户设备110请求辅助,以在图像的帧中适当地包括感兴趣的对象。用户可能没有处于焦点中的对象、帧内的对象,或者可能不满足用于图像捕获的其他标准。例如,在场景160中,用户可能期望捕获菜单的图像,以便菜单可以被大声朗读给用户。对象识别服务152可以被采用来检测对象的边缘或边界,并且采用对象识别服务152的图像捕获服务来提供反馈信号以辅助捕获(202)。对象的边缘或边界可以与图像的边界进行比较,并且可以为用户合成指令以移动相机111以将对象完全包括在帧中。其他标准可以被采用以确保对象适当地位于帧中,诸如采用面部识别来确保期望的人在帧中,或者采用场景描述来确保背景对象被适当地定位,或者采用其他标准。

期望的标准可以自动地或根据用户指令被建立。例如,用户可以经由文本或语音命令指导用户期望某些人在图像的帧中,或者某个菜单或文档被包括在图像中。当场景中的对象很少时,或者当用户选择特定的捕获模式时,自动标准可以被建立,诸如文档捕获模式将自动使用帧中的任何文档来辅助居中/取景。其他标准可以由用户和相关联的软件/服务建立。

一旦期望的标准被满足(203),则应用120可以指导用户完成图像的捕获(204)。指令可以包括给用户的音频指令。音频指令可以包括当用户将感兴趣的对象带入帧中并且指示期望对象何时被适当地定位时改变的音频音调。音频指令可以包括引导用户相应地行动的口语单词指令,诸如移动指令。指令还可以包括触觉或振动反馈,以向用户指示对象被适当地定位。在一些示例中,当用户已经适当地定位相机111或适当地定位帧内的对象时,图像可以被自动捕获。

第二示例操作在图2b中被讨论。图2b包括供用户接收文档解释服务的过程。在图2b的操作中,用户可以使用语音命令、可听描述、文本命令或描述或其他交互范例与用户设备110和辅助应用120交互。

在图2b中,用户捕获文档的图像或视频(211),诸如通过使用图2a中所讨论的技术。用户首先要求对文档(212)描述。该文档可以由用户使用相机111在图像中捕获,或者可以是先前所捕获的文档,以及其他文档/图像。辅助应用120可以向辅助计算接口140提供感兴趣的文档,其可以采用计算服务中的一个或多个,诸如文档识别服务151。上下文或高级文档描述可以被提供给用户(213)。文档的分层描述可以被建立,并且被提供给用户的初始描述可以包括上下文描述,该上下文描述可以包括文档类型的描述、文档标题或部分的列表或者分层描述中较高的其他描述。用户可以响应性地询问关于初始描述的特定部分的问题或查询(214),诸如询问在食物菜单的主菜部分下的主菜列表。用户可以利用文档识别服务151重复问题和答案,以建立用户期望的信息或描述细节(215)。

作为文档辅助的另一示例,用户首先要求描述在图像中或在连续更新的图像捕获过程中的“实况”中被捕获的文档。辅助应用120向辅助计算接口140指示针对与图像相关联的数据的文档识别请求。辅助计算接口140响应性地采用计算服务150来识别在图像中被捕获的文档的一个或多个文本格式化属性。辅助应用120接收至少基于在图像中被捕获的文档的一个或多个文本格式化属性而被确定的文档描述信息。用户设备110将文档描述信息呈现给用户。基于文档描述信息,用户可以使用文档描述信息中的描述符来执行至少一个搜索查询,以检索文档的其他描述符,并且用户设备110可以向用户呈现其他描述符。例如,针对第一查询返回给用户的信息可以由用户使用来发出进一步的查询,这些查询可以利用每次查询迭代来进行细化。

在图1的元素的另一示例操作中,图2c被呈现。图2c向用户提供场景描述。类似于图2b的文档描述操作,图2c的场景描述操作可以包括一个或多个计算服务,诸如对象识别服务152和场景描述服务158等。在图2c的操作中,用户可以使用语音命令、可听描述、文本命令或描述或其他交互范例来与用户设备110和辅助应用120进行交互。

在图2b中,用户捕获场景的图像或视频(221),诸如通过使用图2a中所讨论的技术。用户首先要求对场景(222)描述。该场景可以由用户使用相机111在图像中捕获,或者可以是先前所捕获的场景,以及其他场景/图像。辅助应用120可以将感兴趣的场景提供给辅助计算接口140,其可以采用计算服务中的一个或多个,诸如对象识别服务152和场景描述服务158。上下文或高级场景描述可以被提供给用户(223)。可以针对场景确定至少部分识别信息。场景的分层描述可以被建立,并且被提供给用户的初始描述可以包括上下文描述,该上下文描述可以包括对设置、环境、大对象、人数的描述或者分层描述中较高的其他描述。用户可以响应性地询问关于初始场景描述的特定部分的问题或查询(224),诸如询问对场景中的人的进一步描述或者对在场景的视频中所执行的动作的进一步描述。用户可以重复问题和答案,以建立用户期望的场景信息或场景描述细节(225)。

可以针对场景建立注释,使图形覆盖或注释被合并到捕获场景的图形用户界面上。例如,可以向用户呈现实时视频或预览界面,其捕获场景并且对应于被提供给辅助计算接口140的图像数据或场景数据。辅助计算接口140可以采用计算服务150来确定可在实况视频或预览界面中被呈现给用户的注释信息。该注释信息可以被覆盖在用户设备110上所呈现的图像上,以供用户检查和查看。

在本文的示例中,诸如那些在图2a、图2b和图2c中所讨论的示例,辅助应用120可以在各个方面向用户提供辅助和描述。辅助应用120可以处理图像数据以及任何上下文传感器或其他数据,以理解图像数据中的元素或对象,并且合成对与图像有关的用户问题的答案。可以使用由计算服务150提供的计算机视觉算法从由用户拍摄的一个或多个图像来确定结构化信息。结构化元数据可以针对数据而被建立,并且可以包括图像中的物品或元素的位置。例如,对图像执行光学字符识别可以为包括图像中所识别的文本的图像提供元数据。文本可以根据图像中的哪个对象与文本相关联来布置,诸如当图像中许多对象包括文本时。对象识别可以提供对象本身的描述以及图像中对象之间的关系(距离、深度关系、相对大小等)。条形码识别可以提供包括产品名称、价格或其他条形码属性的元数据。

树结构或层级可以针对元数据而被建立,并根据图像或视频中所识别的特定对象或元素来进行布置。树或层级的每个顶级节点可以表示特定对象或元素,而每个对象/元素的较低级节点可以包括针对那些对象/元素的进一步描述性元数据。父子对象关系可以被建立,并且物理或逻辑关系可以跨越许多对象和节点,以适当地表示在对象/元素之间的真实世界或元数据连接。

在特定示例中,一个穿着红色衬衫正在读书的女人的图像可以被拍摄。可能的基于图形的数据结构可以包括(具有示例(x,y)坐标):

照片

对象=“人”

性别=“女”

图像区域=(x1,y1,x2,y2)

面部

-情绪=“中性”

-年龄=“24”

-图像区域=(x3,y3,x4,y4)

对象=“衬衫”

颜色=“红”

图像区域=(x5,y5,x6,y6)

对象=“书”

区域=(x7,y7,x8,y8)

文本=“哈利波特”

-图像区域=(x9,y9,x10,y10)

在口头词语示例中,用户可以用自然语言对辅助应用120说话,辅助应用120可以提供用户交互的语音到文本转录,诸如口头问题。问题可以由分类器过程处理,以理解问题的意图和感兴趣的实体。备选地,问题的文本可以通过问题回答管道来处理,以理解感兴趣的实体和所请求的信息。问题文本也可以通过依赖性解析器来处理,以提取所需的对象和要求信息。例如,包括“衬衫的颜色是什么”的问题可以被解析如下:对象=衬衫,所需信息=颜色,邻近关系=的(被包含)。关于公交车的问题可以包括“公交车上的数字是什么”,并且解析可以包括:对象=公交车,所需信息=文本(数字),邻近关系=上(被包含)。后续问题,诸如对公交车的示例,可以包括“公交车旁边的数字是什么”,解析包括:对象=公交车,所需信息=文本(数字),邻近关系=旁边(附近)。因此,使用上面基于图形的信息结构,可以通过从根节点遍历结构直到感兴趣的对象被找到来回答这些问题,基于邻近关系,在内部或周围搜索适合于邻近关系的信息,以及基于混合分数(例如,距主要对象的距离以用于邻近关系)进行排名。

图像处理、辅助和识别的其他示例在图4至图7中被找到。现在转到图4,在场景401中,用户捕获用户设备上在室外的街道场景的图像。用户可以要求用户设备描述场景。响应性地,图像可以被传送到一个或多个识别服务,这些识别服务解释场景和图像数据以呈现关于场景的结构化信息。例如,场景401示出了两个主要图像区域,其中第一区域识别穿蓝色衬衫的男孩,而第二区域识别滑板。然后,图像解释服务可以用话语向用户描述场景,诸如“穿蓝色衬衫的男孩在玩滑板特技”。

在场景402中,用户设备上在公园中的室外场景的另一图像被捕获。用户可以要求用户设备描述场景。响应性地,图像可以被传递到一个或多个识别服务,这些服务解释场景和图像数据以呈现关于场景的结构化信息。场景402示出了两个主要图像区域,其中第一区域识别戴帽子的女孩,而第二区域识别飞盘。一般的图像识别过程可以识别场景是关于公园。然后,图像解释服务可以用话语向用户描述场景,诸如“在公园里的戴着帽子的女孩在扔飞盘”。

图5图示了另一图像识别情景。在该示例场景501中,也许办公室环境或会议正在进行。用户可能想知道会议参与者是否在场或正在关注。用户可以捕获场景的图像并询问对场景中人的描述。响应性地,一个或多个服务可以被采用以确定在该场景中两个人坐在椅子上。可以通过处理图像并智能地识别出此人是女孩,年龄大约为26岁并且在微笑,来确定第一个人的年龄、性别和举止。第二个人可以被识别为年龄大约为40岁,男性并且处于惊讶中。

图6图示了在示例图形用户界面601上所呈现的场景602的另一图像识别情景。用户界面601可以被呈现在用户设备上,诸如智能电话、游戏设备、膝上型计算机或平板计算机,以允许用户捕获图像并接收关于所捕获的图像的辅助。辅助选项组件605被呈现,其给予用户若干选项以供选择以获得辅助。在该示例中,辅助选项组件605包括由“书”图标指示的文档识别辅助、由“场景”图标指示的图像识别辅助、由“调色板”图标指示的颜色识别辅助以及由“人”图标指示的人/情绪识别辅助。其他选项可以被呈现,并且每个选项的功能可以不同于本文所述的那些功能。

此外,音频场景描述组件604和文本场景描述组件603被包括在用户界面601中。组件604可以被用户选择以启动场景的音频描述。该音频描述可以通过扬声器、耳机或其他音频设备相关联。组件603可以提供对场景的基于文本的描述,并且可以类似于使用组件604通过音频所呈现的描述。因此,用户可以使用用户界面601的组件来启动场景描述。

在图6中所呈现的示例中,用户已经捕获街道场景的图像。响应于图像捕获,图像可以由一个或多个识别服务处理,并且关于场景的信息可以使用组件603和604而被转达到用户。在场景602中,街道场景包括公交车。该场景可以作为“道路一侧的双层巴士公交车”而被描述给用户。用户可能有关于场景的后续问题或查询,并且这些可以被提供给一个或多个服务,这些服务为用户确定答案。例如,用户可以询问“这辆公交车的路线号码是什么”,其被确定并作为“路线88”而被转达给用户。然后,用户可以询问“告诉我路线88的时间表”或“路牌上写什么”,并且一个或多个服务可以执行关于对路线88的公交车时刻表和路线的信息搜索以及对任何成像的路牌的描述。进一步的对话问题和答案可以从场景602产生。

除了场景和对象识别之外,智能文档识别还可以被提供给用户。文档识别的示例可以包括基于文档的结构来读取文档的部分。在文档示例中,可能由用户对报纸或杂志进行成像。用户可以询问标题是什么并查询各种文章。在另一示例中,食物菜单可以被成像。该食物菜单可以具有包括分开食物类型(即意大利面,肉类,鱼类)和食物过程(即开胃菜,主菜,甜点)的部分和标题的结构。通过首先向用户呈现标题,然后是响应于用户针对该标题的进一步询问呈现标题下面所包含的信息,可以使用菜单、报纸或其他文档的结构来智能地向用户传达信息。

例如,用户可以捕获餐馆中的菜单的图像。用户可以询问“给我读标题”,这将提示用户设备将图像连同问题一起提供给识别服务。识别服务可以处理所提供的信息以确定菜单具有若干标题,诸如基于字体大小、相对于其他文本的文本放置、文本的突出等。然后,用户设备可以大声朗读菜单上的标题,这可以提示进一步的问题。诸如“给我读沙拉”,其可以提示用户设备识别“沙拉”标题下的文本并响应性地读取沙拉列表。然后,用户可以询问有关特定沙拉的更多细节,诸如“科布沙拉的价格是多少”或“花园沙拉中是否有坚果”。

除了经由场景识别所提供的辅助之外,辅助还可以被提供给用户以用于实际捕获或拍摄图像。在图像的捕获期间,可以由用户设备提供声音指导。用户可能尝试拍摄文档的图片,诸如菜单或标志,或捕获场景中的某些对象或元素。用户设备可以在捕获过程中提供反馈和辅助,以确保感兴趣的对象在由用户设备捕获的帧或场景内。例如,用户可能期望捕获食物菜单的图像,并且用户设备可以向用户提供辅助以使菜单在图像帧中居中或者帮助用户在帧中对齐菜单。

在第一操作情景中,用户指示文档的图像要被捕获。用户设备可以标识帧中的适当文档或其一部分。如果完整文档在框架中不可见,则用户设备可以向用户提供指导以移动用户设备或相关联的成像装置以将完整文档放入帧中。该指导包括口头或听觉指导,诸如指示用户移动成像装置以将感兴趣的对象完全放入帧中的描述性话语或暗示音调。例如,该指导可以包括口头指令,包括“将相机移动到右下方并远离文档”。

在另一情景中,指导可以被提供给视觉上有缺陷的用户,以捕获特定对象或适当地构建关于一些感兴趣对象的图像。该指导可以包括对用户的恒定描述流,以可听方式指示当前正被图像捕获的内容。一旦场景或相关联的对象适当地被布置在图像中,则用户可以捕获图像并且可能经由社交媒体、文本消息或其他共享服务来共享。该过程可以使视觉上有缺陷的人士或甚至自动成像系统能够使用诸如智能电话或平板计算设备之类的数字成像设备来拍摄有效照片。

作为特定示例,图7图示了情景701。图7示出了智能电话设备,其中成像用户界面被呈现在智能电话设备上。如图6所示的类似界面可以被采用,尽管变化是可能的。在图7中,用户可以启动图像的捕获,并指示在图像的捕获时需要辅助。如图7所示,文档702仅部分位于图像的帧中。图像捕获辅助服务可以被用来辅助用户移动智能电话以使文档完全在帧内。图像可以被提供给图像捕获辅助服务,图像捕获辅助服务然后为用户确定指令。

图7包括示例应用反馈603以辅助文档的捕获,诸如食物菜单或报纸文章。该反馈可以通过一系列声音指令可听地被提供给用户,诸如“向右移动”或“向上移动”等指令。该反馈可以作为文本指令在智能电话的屏幕上被提供给用户。一旦文档在帧中已经充分地被建立,则可以信号通知用户以完成图像的捕获。然后,除了其他选项之外,用于共享和/或保存图像的选项可以以文本方式或者可听方式被呈现给用户。

为了对齐并确保文档或其他对象位于帧中并且充分对齐,各种算法可以被使用。在第一示例中,可以对图像执行边缘检测,以建立针对作为文档的候选对象的边界。若干候选对象可以在图像中被确定,其可以包括各种尺寸和形状的候选对象。也可以对图像执行光学字符识别。在其边界内包含文本的对象可以被包括在候选对象的列表中,而并不包含文本的对象可以作为候选对象被删除。剩余文档候选可以基于以下的混合分数来进行排序:(1)每个字符的像素数量和(2)阈值角度下的边缘数量(即,文档通常具有连接边缘的直角)。位于排序后列表的顶部的候选对象可以被认为是当前被跟踪的文档,并且用于成像辅助的指令可以基于该文档。

为了指导用户捕获帧中的整页或文档,各种技术可以被应用。例如,如果相关联的边缘或边界与图像边界相交,则该文档可以被认为仅部分地位于帧中。如果对象/文档边界都不与图像边界相交,则完整文档可以认为位于在帧中,并且用户可以被指导以完成图像,或者用户设备可以自动完成图像的捕获。

如果对象的一个或多个边缘或边界与图像的边界相交,则该边界可以被用来引导用户移动成像装置。指令可以基于对象的多少个边缘与图像的边界相交。例如,当只有一个对象边缘与图像边界相交时,则对用户的指令可以根据将对象带入帧所需的方向而包括“向上移动”或“向左移动”。当多个对象边缘与图像边界相交时,指令可以包含组合指令,诸如“向上和向左移动”或“向右下移动并远离文档”。可以指导移动得离对象越近和越远以及方向性。该过程可以被重复,直到感兴趣的对象/文档的边缘不相交或碰触正被捕获的图像的边界。然后完整文档可以被认为位于帧内,并且用户可以被指导完成图像,或者用户设备可以自动完成图像的捕获。可以对捕获后的图像执行图像旋转或对象旋转,以将对象旋转到期望的取向。

图3图示了计算系统301,其表示本文所公开的各种操作架构、情景和过程可以被实现的任何系统或系统集合。例如,计算系统301可以被用来实现图1的用户设备110、辅助计算接口140或计算服务150中的任何一个。

当由计算系统301实现时,用户设备110的示例包括但不限于智能电话、平板计算机、膝上型计算机、个人通信设备、个人辅助设备、无线通信设备、订户装备、客户装备、接入终端、电话、移动无线电话、个人数字助理、个人计算机、电子书、移动互联网设备、无线网络接口卡、媒体播放器、游戏控制台、游戏系统或一些其他通信装置,包括其组合。当由计算系统301实现时,辅助计算接口140或计算服务150的示例包括但不限于服务器计算机、云计算系统、分布式计算系统、软件定义的网络系统、计算机、台式计算机、混合计算机、机架式服务器、web服务器、云计算平台和数据中心设备,以及任何其他类型的物理或虚拟服务器机器,和其他计算系统和设备,以及其任何变型或组合。

计算系统301可以被实现为单个装置、系统或设备,或者可以以分布式方式被实现为多个装置、系统或设备。计算系统301包括但不限于处理系统302、存储系统303、软件305、通信接口系统307和用户界面系统308。处理系统302可操作地与存储系统303、通信接口系统307和用户界面系统308耦合。当实现用户设备时,计算系统301还可以包括视频和音频系统309。

处理系统302从存储系统303加载并执行软件305。软件305包括辅助环境306,其代表关于前面的附图所讨论的过程、服务和平台。

当由处理系统302执行以提供成像辅助服务、文档识别服务或场景描述服务以及其他服务时,软件305引导处理系统302如本文所述至少针对前述实施方式中所讨论的各种过程、操作情景和序列进行操作。计算系统301可选地可以包括为简洁起见而未被讨论的附加设备、特征或功能。

仍然参考图3,处理系统302可以包括微处理器和处理电路,其从存储系统303检索并执行软件305。处理系统302可以在单个处理设备内被实现,但也可以分布在协作执行程序指令的多个处理设备或子系统上。处理系统302的示例包括通用中央处理单元、专用处理器和逻辑设备,以及任何其他类型的处理设备、其组合或变体。

存储系统303可以包括可由处理系统302读取并且能够存储软件305的任何计算机可读存储介质。存储系统303可以包括以用于信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的存储的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、闪存、虚拟存储器和非虚拟存储器、盒式磁带、磁带、磁盘存储器或其他磁存储设备,或任何其他合适的存储介质。在任何情况下,计算机可读存储介质都不是传播信号。

除了计算机可读存储介质之外,在一些实施方式中,存储系统303还可以包括计算机可读通信介质,在其上至少一些软件305可以在内部或外部被传送。存储系统303可以被实现为单个存储设备,但也可以跨多个存储设备或子系统被实现,这些存储设备或子系统相对于彼此共处或分布。存储系统303可以包括能够与处理系统302或可能的其他系统通信的附加元件,诸如控制器。

软件305可以在程序指令中被实现,并且除了其他功能之外,在由处理系统302执行时,可以引导处理系统302以如关于本文所示的各种操作情景、序列和过程所描述的那样操作。例如,软件305可以包括用于实现成像辅助服务、文档识别服务或场景描述服务以及其他服务的程序指令。

特别地,程序指令可以包括协作或以其他方式交互以执行本文所描述的各种过程和操作情景的各种组件或模块。各种组件或模块可以被体现在编译或解释的指令中,或者体现在一些其他变型或指令的组合中。各种组件或模块可以以同步或异步方式、串行或并行、在单线程环境或多线程中、或根据任何其他合适的执行范例、变型或其组合来执行。除了或包括辅助环境306之外,软件305可以包括附加过程、程序或组件,诸如操作系统软件或其他应用软件。软件305还可以包括可由处理系统302执行的固件或一些其他形式的机器可读处理指令。

通常,软件305在被加载到处理系统302中并且被执行时,可以将合适的装置、系统或设备(其是计算系统301所代表的)整体从通用计算系统转换成专用计算系统,该专用计算系统被自定义为提供图像辅助服务、文档识别服务或场景描述服务以及其他辅助服务。实际上,存储系统303上的编码软件305可以转换存储系统303的物理结构。物理结构的特定转换可以取决于本说明书的不同实施方式中的各种因素。这些因素的示例可以包括但不限于被用来实现存储系统303的存储介质的技术以及计算机存储介质是否被表征为主存储或二级存储,以及其他因素。

例如,如果计算机可读存储介质被实现为基于半导体的存储器,则软件305可以在程序指令被编码在其中时转换半导体存储器的物理状态,诸如,通过转换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。对于磁性或光学介质,类似的转换可能发生。在不脱离本说明书的范围的情况下,物理介质的其他转换是可能的,其中前述示例被提供仅仅是为了便于本讨论。

辅助环境306包括一个或多个软件组件,诸如os321和应用322。应用322可以包括照片引导服务323、文档辅助服务324、场景描述服务325或可以向用户提供辅助的其他服务。这些服务可以采用在分布式计算系统上部署的一个或多个平台或服务,诸如图3中经由分布式计算接口340接口的服务350。应用322可以通过用户界面系统308或视频和音频系统309接收用户输入。该用户输入可以包括用户命令、用户问题,以及成像数据、场景数据、音频数据或其他输入,包括其组合。应用322可以通过用户界面系统308或通信系统307的元件向用户提供用户辅助。附加地,应用322可以提供到外部元件的接口,诸如为分布式计算接口340和服务350所示出的那些外部元件。计算系统301可以将所捕获的感知数据(即,图像、视频、音频、其他传感器或位置信息)提供给外部系统以进行处理和辅助呈现。解释数据和辅助数据可以被接收到计算系统301中并呈现给用户。api326可以包括一个或多个软件定义的接口元件,用于与分布式计算接口340和服务350的元件进行逻辑通信。

通信接口系统307可以包括通信连接和设备,其允许通过通信网络(未被示出)与其他计算系统(未被示出)的通信。一起允许系统间通信的连接件和设备的示例可以包括网络接口卡、天线、功率放大器、rf电路、收发器和其他通信电路。连接件和设备可以通过通信介质进行通信,以与其他计算系统或系统网络(诸如金属、玻璃、空气或任何其他合适的通信介质)交换通信。通信接口系统307的物理或逻辑元件可以接收链路/质量度量,并向用户或其他操作员提供链路/质量警报或仪表板输出。

用户界面系统308可以包括用于接收来自用户的输入的键盘、鼠标、语音输入设备、触摸输入设备。诸如显示器、扬声器、网络接口、终端接口的输出设备和其他类型的输出设备也可以被包括在用户界面系统308中。用户界面系统308可以通过网络接口(诸如通信接口系统307)提供输出和接收输入。在网络示例中,用户界面系统308可以对显示或图形数据进行包化以供在一个或多个网络接口上被耦合的显示系统或计算系统进行远程显示。用户界面系统308的物理或逻辑元件可以向用户或其他操作员提供链接/质量警报或仪表板输出。用户界面系统308还可以包括可由处理系统302执行的相关联的用户界面软件,以支持上面所讨论的各种用户输入和输出设备。用户界面软件和用户界面设备可以单独地或彼此结合以及与其他硬件和软件元件相结合,可以支持图形用户界面、自然用户界面或任何其他类型的用户界面。

视频和音频系统309包括用于捕获可以被用来向计算系统301的用户提供辅助的数字图像、视频数据、音频数据或其他传感器数据的各种硬件和软件元件。视频和音频系统309可以包括数字成像元件、数字相机装备和电路、麦克风、测光装备、照明元件或其他装备和电路。模数转换装备、滤波电路、图像或音频处理元件或其他装备可以被包括在视频和音频系统309中。

计算系统301和其他计算系统(未被示出)之间的通信可以在通信网络或网络上并且根据各种通信协议、协议的组合或其变型而发生。例如,计算系统301在实现用户设备时可以与分布式计算接口340通信。示例网络包括内联网、互联网、因特网、局域网、广域网、无线网络、有线网络、虚拟网络、软件定义网络、数据中心总线、计算底板或任何其他类型的网络、网络组合或其变型。上述通信网络和协议是众所周知的,并且不需要在此详细讨论。然而,可以被使用的一些通信协议包括但不限于,因特网协议(ip,ipv4,ipv6等)、传输控制协议(tcp)和用户数据报协议(udp),以及任何其他合适的通信协议、变型或其组合。

某些发明方面可以从前述公开内容来理解,以下是其各种示例。

示例1:一种为用户界面设备提供的辅助应用,包括:成像系统,被配置为捕获场景的图像;辅助接口,被配置为将与图像相关联的数据提供给分布式辅助服务,分布式辅助服务响应性地处理数据,以识别场景的属性并且至少基于场景的属性为用户建立反馈;以及用户界面,被配置为将反馈提供给用户。

示例2:根据示例1所述的辅助应用,包括辅助接口,被配置为向分布式辅助服务指示针对与图像相关联的数据的场景识别请求,并且响应性地接收针对场景中的至少一个元素的至少部分识别信息。

示例3:根据示例1至示例2所述的辅助应用,其中部分识别信息包括与场景中的对象的描述相关的图形注释,并且包括辅助接口,被配置为将图形注释与场景合并,以及用户界面,被配置为向用户呈现覆盖场景的图形注释。

示例4:根据示例1至示例3所述的辅助应用,包括辅助接口,被配置为接收由分布式辅助服务确定的、用以增加场景中的至少一个元素的识别等级的重新定位指令,以及用户界面,被配置为向用户呈现重新定位指令。

示例5:根据示例1至示例4所述的辅助应用,其中重新定位指令包括定向通知,定向通知提示用户移动成像系统的成像传感器,以增加场景中的至少一个元素的识别等级。

示例6:根据示例1至示例5所述的辅助应用,包括用户界面,被配置为向用户指示警报以基于重新定位指令的状态来捕获图像。

示例7:根据示例1至示例6所述的辅助应用,包括:辅助接口,被配置为向分布式辅助服务指示针对与图像相关联的数据的场景识别请求,并响应性地接收场景的描述;以及用户界面,被配置为向用户呈现场景的描述。

示例8:根据示例1至示例7所述的辅助应用,包括:用户界面,被配置为从用户接收与场景的描述相关的一个或多个查询;辅助接口,被配置为向分布式辅助服务指示与涉及场景的描述的一个或多个查询相关的进一步的场景识别请求,并且响应性地接收场景的一个或多个进一步的描述;以及用户界面,被配置为向用户呈现场景的一个或多个进一步的描述。

示例9:根据示例1至示例8所述的辅助应用,包括辅助接口,被配置为向分布式辅助服务指示针对与图像相关联的数据的文档识别请求,其中分布式辅助服务响应性地识别在图像中被捕获的文档的一个或多个文本格式化属性;所述辅助接口,被配置为接收文档描述信息,所述文档描述信息至少基于在图像中被捕获的文档的一个或多个文本格式化属性而被确定;以及用户界面,被配置为向用户呈现文档描述信息。

示例10:一种装置,包括一个或多个计算机可读存储介质和被存储在一个或多个计算机可读存储介质上的程序指令。当由处理系统执行时,程序指令引导处理系统至少:接收由成像元件捕获的场景的图像;将与图像相关联的数据提供给远程辅助接口,远程辅助接口响应性地选择一个或多个分布式识别服务,以识别场景的属性并且至少基于场景的属性为用户建立反馈;以及经由用户界面将反馈提供给用户。

示例11:根据示例10所述的装置,包括进一步程序指令,当由处理系统执行时,引导处理系统至少:向远程辅助接口指示针对与图像相关联的数据的场景识别请求,并响应性地接收针对场景中的至少一个元素的至少部分识别信息。

示例12:根据示例10至示例11所述的装置,包括进一步的程序指令,当由处理系统执行时,引导处理系统至少:接收来自用户的与场景中的至少一个元素相关的查询;向远程辅助接口指示查询,远程辅助接口响应性地在一个或多个分布式识别服务中进行选择以提供进一步的识别信息;以及将进一步的识别信息呈现给用户。

示例13:根据示例10至示例12所述的装置,包括进一步的程序指令,当由处理系统执行时,引导处理系统至少:接收由一个或多个分布式识别服务确定的、用以增加场景中的至少一个元素的识别等级重新定位指令;以及将重新定位指令呈现给用户。

示例14:根据示例10至示例13所述的装置,其中重新定位指令包括定向通知,该定向通知提示用户移动成像元件以增加场景中的至少一个元素的识别级别。

示例15:根据示例10至示例14所述的装置,包括进一步的程序指令,当由处理系统执行时,引导处理系统至少:向用户指示警报以基于重新定位指令的状态来捕获图像。

示例16:根据示例10至示例15所述的装置,包括进一步的程序指令,当由处理系统执行时,引导处理系统至少:向远程辅助接口指示针对与图像相关联的数据的场景识别请求,并且响应性地接收场景的描述;以及将场景的描述呈现给用户。

示例17:根据示例10至示例16所述的装置,包括进一步的程序指令,当由处理系统执行时,引导处理系统至少:接收来自用户的与场景的描述相关的一个或多个查询;向远程辅助接口指示针对与场景的描述相关的一个或多个查询的进一步的场景识别请求,并响应性地接收场景的一个或多个进一步的描述;以及将场景的一个或多个进一步的描述呈现给用户。

示例18:根据示例10至示例17所述的装置,包括进一步的程序指令,当由处理系统执行时,引导处理系统至少:向远程辅助接口指示针对与图像相关联的数据的文档识别请求,其中远程辅助接口响应性地在一个或多个分布式识别服务中选择至少一个文档识别服务,以识别在图像中被捕获的文档的一个或多个文本格式化属性;接收文档描述信息,所述文档描述信息至少基于在图像中被捕获的文档的一个或多个文本格式化属性而被确定;以及将文档描述信息呈现给用户。

示例19:根据示例10至示例18所述的装置,包括进一步的程序指令,当由处理系统执行时,引导处理系统至少:基于文档描述信息,使用文档描述信息中的描述符执行至少一个搜索查询,以检索用于文档的进一步的描述符;并将该进一步的描述符呈现给用户。

示例20:一种用户界面设备,包括:成像装置,被配置为捕获场景的一个或多个图像;辅助应用,被配置为将与一个或多个图像相关联的数据提供给辅助计算接口,辅助计算接口响应性地选择一个或多个分布式识别服务以识别场景的属性,以便至少基于场景的属性建立与场景相关的图形注释;以及网络接口,被配置为与辅助计算接口通信。

附图中所提供的功能框图、操作情景和序列以及流程图表示用于执行本公开的新颖方面的示例性系统、环境和方法。虽然出于简化说明的目的,本文所包括的方法可以是功能图、操作情景或序列或流程图的形式,并且可以被描述为一系列动作,应该理解和领会的是,这些方法不受动作顺序的限制,因为根据此,一些动作可以以不同的顺序发生和/或与本文所示和所述的其他动作同时发生。例如,本领域技术人员将理解和领会的是方法必须的可以被表示为一系列相互关联的状态或事件,诸如在状态图中。此外,并非所有方法中所示的动作对于新颖实施方式来说都可能是必需的。

本文所包括的描述和附图描绘了教导本领域技术人员如何制作和使用最佳选项的具体实施方式。出于教导发明原理的目的,一些常规方面已经被简化或省略了。本领域技术人员将理解落入本发明范围内的这些实施方式的变型。本领域技术人员还将理解,上述特征可以以各种方式被组合以形成多个实施方式。结果,本发明不限于上述具体实施方式,而是仅由权利要求及其等同物限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1