使用传感器识别放置在表面上的物体的系统和方法

文档序号:6480222阅读:617来源:国知局
专利名称:使用传感器识别放置在表面上的物体的系统和方法
技术领域
本申请总体涉及改进的数据处理系统和方法。更具体地,本申请 针对使用传感器识别放置在表面上的物体。
背景技术
当前有多种产品能够识别已经放置在表面上的物体。例如,杂货
店结帐系统中的测定仪能够通过确定重量的变化检测已经放置在表 面上的产品。但是,除非用户通过扫描条形码或者输入识别码来识别 物体,测定仪没有办法识别物体。同样, 一旦物品被识别,结帐系统 使用该物体的重量以及由用户扫描的其他物体的重量来计算总重量, 确保用户没有从店中取走物体而没有为它们进行支付。
一种已知的识别系统是微软公司的Surface ,该系统是类似工 作台形式的显示屏,便于个人或小团体容易地以他们觉得熟悉的方式 进行交互。Surface 是允许一个或多个用户与显示屏进行交互的多 点触控交互系统。Surface 能够同时辨识数十个运动,例如触摸和 手势,并且还可以一次执行多个识别。Surface 能够通过辨识放置 在类似工作台的显示屏上的具有类似于条形码的识别标签的物体进 行多个识别。当Surface 使用识别标签识别物品时,类似工作台的 显示屏呈现与物体关联的唯一视频。另一个已知的识别系统是Savant SystemsTM的Rosie Coffee Table,该系统使用Apple 的计算机执行 类似的物体识别。
虽然已知的识别系统,例如SurfaceTM,能够识别放置在表面上 的物体,但这些已知的识别系统要求通过使用识别标签或者条形码来 识别物体。但是,在典型的真实世界的情况下,并不是所有放置在识 别系统表面上的用户使用的物体都具有该系统用于操作的识别标签。

发明内容
示意性实施例提供用于通过使用识别与物体关联的特征的传感 器,来识别放置在表面上的不具有识别标签的物体的机制。通过识别 特征,例如重量、面积、温度、几何形状、特征标记等,可以直接或 间接地识别物体。 一旦物体被识别,音频、视频、音频和视频的结合、 文本、图形图像、图片和/或类似信息可以向用户显示。此外,根据物 体特征的变化,可以向其他用户通知该变化,使这些其他用户可以执 行动作。例如,如果餐馆的顾客将一个空的玻璃杯放置在示意性实施 例的表面上时,可以将玻璃杯是空的的通知发送给等待的员工,使该 等待的员工可以为顾客解决问题。
示意性实施例提供用于识别放置在表面上的物体。示意性实施例 接收物体已经放置在表面上的指示。示意性实施例识别多个与物体关 联的物理特征。使用多个物理特征,示意性实施例搜索数据结构以确
定存在具有与多个物理特;f正匹配的物理特征的单个物体。响应于匹
配,示意性实施例确定单个物体是否有关联的展示。响应于存在关联 的展示,示意性实施例向用户呈现关联的展示。
在其他示意性实施例中,提供包括具有计算机可读程序的计算机 可用或可读介质的计算机程序产品。当计算机可读程序在计算装置上 执行时,该计算机可读程序使得计算装置关于方法示意性实施例执行 各种上文所述的操作以及操作的组合。
在另一个示意性实施例中,提供系统/设备。系统/设备可以包括 一个或多个处理器以及连接到一个或多个处理器的存储器。存储器可 以包括指令,当所述指令由一个或多个处理器执行时,使一个或多个 处理器关于方法示意性实施例执行各种上文所述的操作以及操作的 组合。
将在下文对本发明的示例性实施例的详细说明中描述本发明的 这些和其他特征及优点,或通过下文对本发明的示例性实施例的详细 说明,本发明的这些和其他特征及优点将对本领域技术人员变得明显。


当结合附图阅读,通过参考下文对示意性实施例的详细描述,将
更好地理解本发明及其优选使用方式以及其他的目的和优点,其中 图1是其中可以实现示意性实施例的多个方面的示例性分布式
数据处理系统的示例性表示;
图2是其中可以实现示意性实施例的多个方面的示例性数据处
理系统的框图3描述了根据示意性实施例的物体辨识系统的示例性功能框
图4描述了根据示意性实施例可以使用物体识别应用程序识别 的一些示例性物体;以及
图5描述了根据示意性实施例的物体识别应用程序的示例性初
始操作。
具体实施例方式
示意性实施例提供用于通过使用识别与物体关联的特征的传感 器,来识别放置在表面上的不具有识别标签的物体的机制。这样,示 意性实施例的机制尤其较好地适于在独立数据处理装置或者分布式 数据环境中实现,并在如服务器、客户端装置等的数据处理装置中实 现,或者结合如服务器、客户端装置等的数据处理装置实现。虽然示 意性实施例的机制可以在独立装置或者分布式数据处理环境中实现, 但出于说明目的下文的描述只涉及分布式数据处理环境。为了提供描 述示意性实施例的机制的语境,下文将提供图l-2作为分布式数据 处理系统或环境以及数据处理装置的例子,在其中或者利用其可以实 现示意性实施例的机制。应当理解,图1-2只是示例性的并没有意
的任何限制。可以对所述环境进行多种修改而不背离本发明的精神和
8范围。
现在参考附图,图l描述了其中可以实现示意性实施例的多个方 面的示例性分布式数据处理系统的图形表示。分布式数据处理系统
100可以包括其中可以实现示意性实施例的多个方面的计算机的网 络。分布式数据处理系统100包括至少一个网络102,该网络是用于 提供分布式数据处理系统100内连接在一起的各种装置与计算机之间 的通信链路的媒介。网络102可以包括连接,例如有线、无线通信链 路或者光纤电缆。
在所述的例子中,服务器104和服务器106以及存储装置108 连接到网络102。此外,客户端IIO、 112和114也连接到网络102。 这些客户端IIO、 112和114可以是例如个人计算机、网络计算机等。 在所述的例子中,服务器104向客户端110、 112和114提供数据, 例如引导文件、操作系统镜像以及应用程序。客户端IIO、 112和114 在所述例子中是服务器104的客户端。分布式数据处理系统100可以 包括附加的服务器、客户端以及其他未示出的装置。
在所述例子中,分布式数据处理系统IOO是因特网,用网络102 表示全球范围内使用传输控制协议/因特网协议(TCP/IP)的协议套 件彼此通信的网络和网关的集合。在因特网的中心是主节点或主机之 间的高速数据通信线路的主干,包括数以千计的商业、政府、教育以 及其他路由数据和消息的计算机系统。当然,分布式数据处理系统100 也可以实现为包括多个不同类型的网络,例如内部网、局域网(LAN)、 广域网等。如上所述,图1只是意在作为一个例子,而不是作为本发 明的不同实施例的结构限制,因此,图1中示出的特定元件不应当被 认为是有关其中可以实现本发明的示意性实施例的环境的限制。
现在参考图2,示出了其中可以实现示意性实施例的多个方面的 示例性数据处理系统的框图。数据处理系统200是计算机的例子,如 图1中的主机IIO,实现本发明的示意性实施例的处理的计算机可用 代码或指令可以位于其中。
在所述例子中,数据处理系统200采用包括北桥和存储器控制器集线器(NB/MCH) 202以及南桥和输入/输出(I/O)控制器集线器 (SB/ICH) 204的集线器结构。处理单元206、主存储器208以及图 形处理器210连接到NB/MCH202。图形处理器210可以通过加速图 形端口 (AGP)连接到NB/MCH202。
在所述例子中,局域网(LAN)适配器212连接到SB/ICH204。 音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储 器(ROM) 224、硬盘驱动器(HDD) 226、 CD-ROM驱动器230、 通用串行总线(USB )端口以及其他通信端口 232和PCI/PCIe装置 234通过总线238和总线240连接到SB/ICH204。 PCI/PCIe装置可以 包括例如,以太网适配器、插件卡以及用于笔记本计算机的PC卡。 PCI使用卡总线控制器,而PCIe不使用卡总线控制器。ROM224可 以是例如闪速二进制(flash binary )输入/输出系统(BIOS)。
HDD226和CD-ROM驱动器230通过总线240连接到 SB/ICH204。 HDD226和CD-ROM驱动器230可以使用例如集成驱 动电路(IDE )或者串行高级技术附件(SATA )接口 。高级I/O ( SIO ) 装置236可以连接到SB/ICH204。
操作系统在处理单元206上运行。在图2中,操作系统协调并提 供控制数据处理系统200中的各种组件。作为客户端,操作系统可以 是可从市场上获得的操作系统,例如,Microsoft Windows XP(Microsoft和Windows都是微软公司在美国或者其他国家,或者 在两者的商标)。面向对象编程系统,例如JavaTM编程系统,可以与 操作系统一起运行,并从在数据处理系统200上执行的Java顶程序 或者应用程序(Java是Sun Microsystems公司在美国或者其他国家, 或者在两者的商标)提供对操作系统的调用。
作为服务器,数据处理系统200可以是例如IBM eServer System p⑧计算机系统,其运行高级交互执行(AIX )操作系统或者 LINUX⑥操作系统(eServer、 System p和AIX都是国际商用机器公司 在美国或者其他国家,或者在两者的商标,而LINUX是Linus Torvalds在美国或者其他国家,或者在两者的商标)。数据处理系统200可以是在处理单元206中包括多个处理器的对称多处理器(SMP ) 系统。可替代地,也可以采用单处理器系统。
操作系统指令、面向对象编程系统以及应用程序或程序位于存储 装置上,例如HDD226,并且可以被加载到主存储器208中用于由处 理单元206执行。本发明的示意性实施例的处理可以由处理单元206 利用计算机可用程序代码执行,所述计算机可用程序代码可以位于存 储器中,例如主存储器208、 ROM224,或者位于例如一个或多个外 围装置226和230中。
总线系统,例如图2中示出的总线238或总线240,可以包括一 个或多个总线。当然,总线系统可以利用任何类型的通信构架或结构 来实现,所述通信架构或结构提供在连接到架构或结构的不同组件或 装置之间的数据传送。通信单元,例如图2中的调制解调器222或者 网络适配器212,可以包括一个或多个用于发送和接收数据的装置。 存储器可以是例如主存储器208、 ROM224或者如位于图2中的 NB/MCH202中的高速緩存。
本领域技术人员将理解,图1-2中的硬件可以根据实现方式变 化。除了图1-2中所示的硬件以外,还可以使用其他内部硬件或外 围装置,例如,闪速存储器、等同的非易失性存储器(equivalent non-volatile memory )或者光盘驱动器等,或者使用上述内部硬件或 外围装置替代图1-2中所示的硬件。同样,除了上述SMP系统以外, 还可以将多处理器数据处理系统应用于示意性实施例的处理,而不背 离本发明的精神和范围。
本发明的优选实施例在表面实现或者结合表面实现,所述表面例 如微软公司的SurfaceTM。 Surface 实际上是一种装在黑色工作台底 座中的Windows Vista PC,其配置有装在透明的丙烯酸框架中的30 英寸触摸屏。在屏幕下方安装有五个能够感测附近的物体的摄像机。 用户能够通过触摸或者跨屏幕拖动他们的指尖和诸如画笔之类的物 体与机器进行交互。除了辨识手指的运动以外,Surface 还可以识 别标有特定条形码标记的真实世界的物品。例如,当用餐者放下标有特定条形码的酒杯时,Surface 可以自动提供为正在用餐的用餐 者定制的另外的酒类选择。
Surface 界面中重要的四个主要组件是直接交互(direct interaction)、多点触控接触、多用户体验以及通过特定条形码的物 体辨识。当启用无线保真(wifi)的装置,例如Microsoft ZuneTM、 蜂窝电话或者数字摄像机,被放置在Surface 表面时,Surfa"TM还 允许拖放数字媒体。Surface 技术允许非数字物体用作输入装置。 在一个例子中,普通的画笔被用于在软件中创建数字图画。使用摄像 机作为视觉使得Surface 可以不依赖于常规触摸屏或者触摸板装置 要求的限制特性,例如所使用的工具的电容、电阻或者温度。
Surface 的"视觉"由指向表面的近红外850纳米波长的LED光 源形成。当物体接触桌面时,光被反射到多个具有1280x960的净分 辨率的红外摄像机,允许其传感并对接触桌面的物品作出反应。虽然 Surface 能够识别放置在表面上的物体,但Surface 要求通过使用 识别标签或者条形码来识别物体。但是,在典型的真实世界的情况下, 并不是所有放置在识别系统表面上的用户使用的物体都具有该系统 用于操作的识别标签。
但是,本领域技术人员将理解,数据处理系统200可以采用包括 客户端计算装置、服务器计算装置、平板计算机、膝上型计算机、电 话或者其他通信装置等各种不同的数据处理系统中的任何一种的形 式。在一些示意性例子中,数据处理系统200可以是配置闪速存储器 以提供用于存储例如操作系统文件和/或用户生成数据的非易失性存 储器的便携式计算装置。本质上,数据处理系统200可以是任何已知 的或者以后开发的数据处理系统,而没有结构上的限制。
示意性实施例提供用于利用识别与物体关联的特征的传感器,来 识别放置在表面上的不具有识别标签的物体的机制。通过识别特征, 例如,重量、面积、温度、几何形状、特征标记等,可以直接或者间 接地识别物体。 一旦物体被识别,音频、视频、音频和视频的结合、 文本、图形图像、图片和/或类似信息可以向用户显示。此外,根据物
12体特征的变化,可以向其他用户通知该变化,使这些其他的用户可以 执行动作。
图3示出了根据示意性实施例的物体辨识系统的示例性功能框 图。物体辨识系统300包括物体识别应用程序302、表面310和存储 装置308,所述物体识别应用程序302是可以由例如图2中的处理单 元206的处理单元执行的应用程序。物体识别应用程序302、表面310 和存储装置308可以位于客户端装置上,或者物体识别应用程序302 可以位于服务器中,例如图1的服务器104,并通过网络,例如图1 中的网络102,与表面310以及存储装置308进行通信,所述表面310 与如图1中的客户端110的客户端装置关联。物体识别应用程序302 可以包括特征模块304和物体识别模板306。表面310可以是使得各 种传感器可以位于表面310下方做为某种结构的一部分的透明表面, 可以是在表面310上方具有各种传感器的固体表面,或者可以是其中 传感器能够确定与放置在表面310上的物体关联的物理特征(下文称 为特征)的任何结构。表面310可以是如微軟公司的SurfaceTM的表 面,尽管示意性实施例认识到,物体识别应用程序可以利用任何类型 的能够识别与放置在表面上的物体关联的特征的表面来实现。
在该例子中, 一旦物体已经被放置在表面310上,传感器,例如 重量传感器312、图像传感器314和温度传感器316,可以确定与物 体关联的特征。虽然该例子描述了重量传感器312、图像传感器314 和温度传感器316,其他传感器也可以用于确定放置在表面310上的 物体的特征。此外,虽然重量传感器312、图像传感器314和温度传 感器316被描述为单个传感器,示意性实施例认识到可以为重量、图 像和温度中的每一个实现多个传感器,使得可以使用多种测量或图像 以增加检测作用在或者施加于表面310的变化的精确度。
重量传感器312可以检测作用在表面310上的当前重量,所述重 量传感器312可以是压电传感器、应变仪传感器、压力传感器等。虽 然示意性实施例提到压电传感器、应变仪传感器和压力传感器作为例 子,但本领域技术人员将理解,也可以使用其他传感器来检测表面310上的物体的实际重量或者特定位置的重量的变化。接收重量传感器
312检测的重量值的重量接收模块318可以确定物体正要放置在表面 310上之前作用在表面310上的重量和物体刚放置在表面310上之后 作用在表面310上的重量之间的变化,例如,Wdghtcurrent-Weightprior-AWeight。类似地,如果从表面310移去物体,重量传 感器312可以检测作用在表面310上的重量的变化,并且重量接收模 块318可以在预计另 一个物体要被放置在表面310上时复位当前重量 值。
重量传感器312可以是感测整个表面310的重量变化的一个传感 器,或者重量传感器312可以是,利用例如将表面310分成多个部分 的压敏叠力口 ( pressure sensitive overlay )的多个传感器,其中每个传 感器传感表面310的各个部分的重量变化。此外,在表面310可能有 作用于表面310的用户的手、肘等的情况下,在用户的手、肘等通常 放置的区域由重量传感器312检测的重量值可以不被物体识别应用程 序302 <吏用。表面310的初始重量也可以在表面310初始化时由重量 接收模块318进行校准,以确定将来重量计算的开始重量值。 一旦重 量值确定,重量值通过直接连接或者经由一个或多个数据网络发送到 物体识别模块306。
响应于物体放置在表面310上,温度传感器316可以检测表面 310的当前温度。用于接收温度传感器316检测的温度的温度接收模 块320可以确定物体正要放置在表面310上之前由物体施加于表面 310的温度和物体刚放置在表面310上之后施加于表面310的温度之 间的变4匕,例长口 Temp current - Temp prior=ATemp。类似地,3口果 从表面310移去物体,温度传感器316可以检测作用在表面310上的 温度的变化,并且温度接收模块320可以在预计另一个物体要被放置 在表面310上时复位当前温度。
在计算施加于表面310的温度变化时,温度接收^f莫块320可以计 算正的或者负的温度变化。例如,如果一个40。F的冷的物体,例如 一玻璃杯冰茶,放置在环境温度为72。F的表面310上,那么温度传感器316可以检测温度的下降,并且温度接收模块320将计算温度下 降40。F-72°F = -32。F。同样,如果一个140。F的热的物体,例如一 杯热咖啡,放置在环境温度为72°F的表面310上,那么温度传感器 316可以检测温度的上升,并且温度接收模块320将计算温度上升 140°F-72。F = 68。F。 一旦确定温度变化值,温度变化值通过直接连 接或者经由一个或多个数据网络发送到物体识别模块306。
温度传感器316可以是任何类型的能够感测放置在表面310上的 物体的热特征的传感器。 一个示例性类型的热传感器可以是提供温度 测定和/或温度指示的红外辐射(IR)或者红外热成像摄像机。红外辐 射(IR)的波长大于可见光但小于无线电波(750nm到lnm) 。 IR 摄像机捕捉发出热特征的物体所发出的电磁辐射。但是,虽然示意性 实施例提到红外辐射(IR)或者红外热成像摄像机,但本领域技术人 员将理解,其他传感器也可用于检测温度变化。因此,温度接收模块
320将接收温度传感器316基于物体发出的电磁辐射捕捉的热特征。
图像传感器314可以是记录施加于表面310的变化的一台摄像 机、 一组摄像机或者其他图像检测装置。例如,如果表面310是透明 表面,那么图像传感器314可以放置在透明表面下方。当物体放置在 表面310上时,那么图像传感器314可以检测物体正要放置在表面310 上之前的图像和物体刚放置在表面310上之后的图像之间的变化。如 果图像变化,那么图像传感器314将记录物体的图像并将图像发送到 图像接收模块322。 一旦图像接收模块322接收图像,图像就可以通 过直接连接或者经由一个或多个数据网络被发送到面积计算器324、 光学字符识别(OCR)模块326以及物体识别模块306上。
面积计算器324可以首先确定物体的几何形状,以便可以计算与 物体关联的面积。在确定物体的几何形状时,面积计算器324可以识 别物体的外边界,然后将物体的形状分成多个几何形状以便于计算精 确的面积。例如,如果铅笔放置在表面310上,面积计算器324可将 物体的形状分成对应于铅笔长度的矩形和对应于铅笔笔尖的三角形, 以计算正确的面积。 一旦面积计算器324确定与物体相关联的几何形
15状,面积计算器324可以计算与记录在从图像接收模块322接收的图 像中的物体关联的面积。面积计算器324可以利用与图像传感器314 记录的图像大小关联的预定距离来确定与放置在表面310上的物体关 联的面积。例如,如果玻璃杯放置在表面310上,那么面积计算器324 能够确定玻璃杯底部的直径。利用直径,面积计算器324将能够利用 A-7T(d/2f确定玻璃杯底部的面积。然后,面积计算器324可以通过直 接连接或者经由 一个或多个数据网络向物体识别模块306发送已计算 的面积值和几何形状。除了检测物体的面积或替代检测物体的面积, 示意性实施例认识到物体的尺寸,如宽度、半径、长度等,也可以被 识别并发送到物体识别模块306。
OCR模块326可以对从图像接收模块322接收的图像进行分析, 并执行图像中的物体的光学字符识别以获得将有助于识别物体的任 何特征标记。例如,聚苯乙烯的杯子放置在表面310上,那么OCR 模块326能够识别制造商标记、型号标记以及可回收指示符。然后, OCR模块326通过直接连接或者经由一个或多个数据网络将识别的 信息发送给物体识别模块306。
因而,物体识别模块306接收与放置在表面310上的物体关联的 一个或多个特征。物体识别模块306可以接收物体的重量值、温度变 化值、面积值、几何形状、识别信息、图像等。物体识别模块306可 以根据存储在存储装置308上的物体特征数据结构328中的物体的类 似特征,使用物体的全部或一部分特征来识别物体。物体识别模块306 将从重量接收模块318、温度接收模块320、图像接收模块322、面积 计算器324和/或OCR模块326接收的特征信息与存储在物体特征数 据结构328中的物体的特征信息进行比较,所述物体特征数据结构328 可以是可辨识的物体和它们关联的特征的文件、数据库等。
在比较放置在表面310上的物体的特征与存储在物体特征数据 结构328中的物体的特征时,物体识别模块306可以连续地将接收的 每个特征与物体特征数据结构328中的物体特征进行匹配,并根据与 每个特征的匹配来限制已识别的物品的数量。例如,如果物体放置在表面310上,那么物体识别模块306可以接收特征,例如,8盎司的 重量、-6°F的温度变化值、圆形的几何形状、3.925英寸的面积以及 如制造商、型号和回收符号的特征标记。然后,物体识别模块306可 以搜索物体特征数据结构328以识别具有圆形几何形状的所有物品。 一旦这些物品被识别,物体识别模块306可以通过重量,接着通过温 度变化值,接着通过面积,再接着通过特征标记来对已识别的物品进 行限制,每次都对已识别的物品数量进行限制,直到有希望只匹配一 个物品。可以使通过重量、温度变化以及面积识别的物品在某预定容 限内。虽然本例指示物体识别模块306以特定顺序进行识别,但示意 性实施例认识到,可以以任何顺序搜索物体特征数据结构328。
如果在比较的特征中有精确匹配或者如果特征在某预定容限内 得到满足,那么物体识别模块306可以确定在存储装置308上的展示 文件330中是否有与可以向用户呈现的已识别的物体关联的关联展 示。展示文件330中的关联展示可以是音频展示、视频展示、音频与 视频展示的结合、文本、图形图像、图片和/或等等。例如,如果OCR 模块326识别特征标记,例如与放置在表面310上的图书关联的国际 标准图书编号(ISBN)条形码,那么物体识别模块306可以将已识别 的ISBN条形码与位于物体特征数据结构328中的条形码进行匹配。 物体识别模块306可以识别能够被输出到音频/视频装置332的展示文 件330中的视频展示。由音频/视频装置332呈现的已识别的展示可以 指示用户"本书已经3个月位于最佳销售列表榜首"。然而,还可以通 过音频/视频装置332用从从其中挑选的关联展示的列表提示用户,所 述关联展示与已识别物体关联。
在另 一个实施例中,如果物体识别模块306不能精确匹配物体的 特征与物体特征数据结构328中的物体,物体识别模块306可以确定 具有类似特征的物体是否先前已经被识别。例如,如果从表面310移 去已经在先前被识别的装满液体的玻璃杯,从玻璃杯移去一定量的液 体,而且玻璃杯重新回到表面310,那么物体识别模块306可能不能 进行特征的精确匹配。但是,物体识别模块306能够确定虽然玻璃杯的重量不一样,但是其他特征是匹配的,并且重量类似于先前识别的
重量只是轻了 一定值。物体识别模块306接着可以将物体识别为玻璃 杯,并识别能够输出到音频/视频装置332的展示文件330中与玻璃杯 关联的视频展示。如果与物体关联的展示在展示文件330中存在,那 么物体识别模块306可以利用音频/视频装置332向用户呈现展示。
除了物体识别模块306利用音频/视频装置332向用户呈现展示 以外,物体识别模块306还可以根据与先前已识别的物体关联的特征 的变化生成警告。在一个示意性实施例中,表面310可以连接到餐馆 的工作台中。在该实施例中,玻璃杯可以与餐馆顾客关联。如果确定 玻璃杯是先前放置在表面310上的相同物体,但是玻璃杯的重量已经 变化,使得玻璃杯被确定处于将指示玻璃杯需要被重新倒满的重量, 那么物体识别模块306可以向餐馆中等待的员工发送信号,指示顾客 的玻璃杯处于将指示玻璃杯需要被重新倒满的重量。该指示可以通过 到等待的员工可以容易地识别的输出装置336的直接连接或者经由一 个或多个到所述输出装置336的数据网络,发送给等待的员工。虽然 本例涉及玻璃杯,示意性实施例认识到可以扩展到与餐馆关联的其他 容器,例如盘子、碗等。
在又一个实施例中,如果物体识别模块306不能将物体的接收的 任何特征与物体特征数据结构328中的物体特征进行匹配,或者如果 物体识别模块306匹配物体的接收的特征与物体特征数据结构328中 的 一个以上的物体的特征,那么物体识别模块306可以提示用户识别 物体。例如,如果遥控器放置在表面310上,那么遥控器的特征可以 指示矩形物体、物体的面积是12平方英寸、重量为3盎司以及"在某 国生产,,标识符。这些特征不但可以与遥控器关联,还可以与铅笔盒 关联。
因此,物体识别模块306可以利用音频/视频装置332以可能物 体的列表来提示用户。用户可以利用用户输入界面334从列表中进行 选择以识别物体。然而,如果物体不在利用音频/视频装置332向用户 呈现的列表上,用户可以利用用户输入界面334提供物体的识别。用户可以例如通过显示在表面310上的键盘提供输入。 一旦用户识别物 体,那么物体识别模块306可以将对物体的识别与特征一起存储在物 体特征数据结构328中以便以后使用。利用对物体的识别,物体识别 模块306可以确定具有类似特征的另一个物体是否存在于物体特征数 据结构328中。如果类似的物体存在,那么物体识别模块306可以标 记新的物体以与其他物体使用展示文件330中的相同展示。利用物体 的这种标记,物体识别模块306可以确定与物体关联的视频展示是否 存在于能够输出到音频/视频装置332的展示文件330中。如果与物体 关联的展示存在于展示文件330中,那么物体识别模块306可以利用 音频/视频装置332向用户呈现展示。
如果用户没有识别物体,那么物体识别才莫块306可以将与物体关 联的特征和"未知"的识别一起存储在物体特征数据结构328中。如果 以后遇到具有相同或者类似特征的物体,那么物体识别才莫块306可以 利用音频/视频装置332向用户提示,指示上次遇到该物体时没有提供 对它的识别。此时,用户可以识别物体或者再一次不去识别物体。如 果用户再一次不去识别物体,那么物体识别模块306在下一次遇到物 体时、接下来以预定次数遇到物体期间、直到物体识别应用程序302 重新启动时,以及某预定时间段等,停止提示用户。
在另一个实施例中, 一组物体可以同时放置在表面310上,并且 物体识别模块306可以利用物体特征数据结构328中的种类字段,根 据物体组中的对另一个物体的识别来识别一个物体。例如,如果耳环、 项链和手镯放置在表面310上,那么虽然物体识别模块306能够识别 耳环和项链,但是物体识别模块306可能不能容易地识别手镯。然而, 根据对耳环和项链的识别,物体识别模块306可以将组种类识别为"珠 宝,,并将识别缩小至具有珠宝种类的圆形物体。然后,物体识别模块 306可以使用与到目前为止已识别的物体关联的特征。例如,物体识 别模块306可以接收与未识别的物体关联的特征,例如1盎司的重量、 无温度变化、圆形的几何形状、1.77英寸的面积以及无特征标记。物 体识别模块306接着可以只搜索物体特征数据结构328中的具有珠宝种类的物体,以识别具有圆形几何形状的所有物品。 一旦这些物品被
识别,物体识别冲莫块306可以通过重量然后通过面积对已识别的物品进行限制,每次都对已识别的物品的数量进行限制,直至物体识别模块306有希望识别手镯。
因而,示意性实施例提供用于通过利用识别与物体关联的特征的传感器,来识别放置在表面上的不具有识别标签的物体的机制。识别的特征可以包括重量值、温度变化值、面积值、几何形状、识别信息、图像等。利用特征,物体可以被识别并且可以向用户呈现与已识别的物体关联的展示。
图4示出了根据示意性实施例的利用物体识別应用程序可以识别的一些示例性物体。当物体402 - 408的每个物体放置在如图3的表面310的表面上时,物体识别应用程序,如图3的物体识别应用程序302,可以识别与物体402-408的每个关联的特征。例如,对于物体402,重量接收模块可以计算出18盎司的重量值,而且温度接收模块可以确定零度的温度变化值。此外,例如面积计算器可以确定矩形的几何形状以及面积为5x7-35英寸。最后,光学字符识别(OCR)才莫块可以识别条形码410、出版者412以及附加文本414。利用这些特征,物体识别应用程序可以利用上述对物体特征数据结构中物体的连续限制,将物体识别为图书。
例如,对于物体404,重量接收模块可以计算出32盎司的重量值,并且温度接收模块可以确定-6。F的温度变化值。此外,例如面积计算器可以确定圆形的几何形状以及面积为(2.5/2) X3.14-3.925英寸。最后,OCR模块可以识别制造商416、回收图像418以及型号420。利用这些特征,物体识别应用程序可以利用上述对物体特征数据结构中物体的连续限制,将物体识别为带有冷的液体的聚苯乙烯杯子。
例如,对于物体406,重量接收模块可以计算出0.5盎司的重量值,而且温度接收模块可以确定零度的温度变化值。此外,例如面积计算器可以确定圆形的几何形状以及面积为(4.75/2 ) x3.14 = 5.456
20英寸。最后,光学字符识别(OCR)模块不能识别任何字符,但是图像接收模块可以确定反射性质。利用这些特征,物体识别应用程序可以利用上述对物体特征数据结构中物体的连续限制,将物体识别为光盘(CD)或者数字视频盘(DVD)。
例如,对于物体408,重量接收模块可以计算出1盎司的重量值,而且温度接收模块可以确定零度的温度变化值。此外,例如面积计算器可以确定矩形的几何形状以及面积为(5x0.5) + (1/2x (0.25x0.5)+ ( 1/2x ( 0.25x0.5) =2.625英寸。光学字符识别(OCR)模块不能识别任何字符。利用这些特征,物体识别应用程序可以利用上述对物体特征数据结构中物体的连续限制,将物体识别为钢笔或铅笔。
如上所述,对于诸如物体406和408之类的物体,由于物体识别应用程序可以为物体406和408的每一个识别了 一个以上的物体,因此物体识别应用程序可以向用户给出提示以精确识别物体。即,对于物体406,物体识别应用程序可以向用户提示从包括CD、 DVD以及"其他"的列表中进行选择。如果用户选择"其他",物体识别应用程序可以提示用户输入物体的名称。
因而,示意性实施例提供用于通过利用识别与物体关联的特征(例如重量值、温度变化值、面积值、几何形状、识别信息、图像等)的传感器,识别放置在表面上的物体的机制。
图5是概述根据本发明的示例性操作的流程图。能够理解的是流程图说明的每个框以及流程图说明中的框的组合都能够通过计算机程序指令实现。这些计算机程序指令可以提供给处理器或者其他可编
程数据处理设备以产生机器可读指令,使得在处理器或者其他可编程数据处理设备上执行的指令产生用于实现流程图框中指定的功能的装置。这些计算机程序指令也可以存储在计算可读存储器或者存储介质中,这些计算机程序指令能够指引处理器或者其他可编程数据处理设备以特定方式运行,使得存储在计算机可读存储器或者存储介质中的指令产生包括实现流程图框中指定的功能的指令装置的制品。
因此,流程图说明框支持用于执行指定功能的装置的组合,用于执行指定功能的步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,流程图说明的每个框以及流程图说明中的框的组合都能够由执行指定功能或步骤的专用的基于硬件的计算机系统来实现,或者由专用硬件与计算机指令的组合来实现。
此外,提供流程图用于举例说明示意性实施例中执行的操作。流程图并不意味着表明或暗示对有关特定操作或者更具体地对操作顺序的限制。可以修改流程图的操作以配合特定实现方式,而不背离本发明的精神和范围。
图5描述了根据示意性实施例的物体识别应用程序的示例性初始操作。当操作开始时,对物体识别应用程序进行初始化,这包括初始化所有与表面关联的传感器(步骤502)。此时,与表面关联的所有传感器马上进行测量,所述测量被用于当物体放置在与物体识别应用程序关联的表面上时进行计算。利用与表面关联的传感器,物体识别应用程序能够确定物体是否已经放置在表面上(步骤504)。
如果在步骤504中物体还没有放置在表面上,那么操作回到步骤504。如果在步骤504中物体已经放置表面上,那么物体识别应用程序接收与物体关联的特征(步骤506)。特征可以是重量值、温度变化值、面积值、几何形状、特征标记、图像等中的一个或多个。物体识别模块确定物体是否具有识别标签,例如条形码(步骤508)。如果在步骤508中物体具有识别标签,物体识别模块确定在数据结构中是否有与已识别的物体关联的展示(步骤510)。如果在步骤510中在数据结构中存在与物体关联的展示,那么物体识别模块通过音频/视频展示装置开始向用户的展示(步骤512 ),而后操作回到步骤504。关联的展示可以是音频、视频、音频和视频的结合、文本、图形图像、图片和/或等等。如果在步骤510中在数据结构中不存在与物体关联的展示,那么操作回到步骤504。
如果在步骤508中物体不具有识别标签,那么物体识别模块可以根据存储在物体特征数据结构中的物体的类似特征,使用全部或一部分接收的特征来识别物体(步骤514)。物体识别模块确定具有接收的特征的物体先前是否已经被识别(步骤516)。物体识别模块利用从重量接收模块、温度接收模块、图像接收模块、面积计算器和/或OCR模块接收的特征信息,在物体特征数据结构中搜索与物体关联的特征以识别物体。
如果在步骤516中物体识别模块识别与接收的特征精确匹配的物体,或者如果特征在某预定容限内得到满足,那么操作前进到步骤510。如果在步骤516中物体识别模块不能够识别与比较的特征精确匹配的物体,或者如果特征在某预定容限内不能得到满足,那么物体识别模块确定是否具有类似特征的至少一个物体先前已经被识别(步骤518)。如果在步骤518中物体识别模块能够识别至少一个物体,那么物体识别模块以已识别的物体列表提示用户,使得用户可以识别物体(步骤520)。如果在步骤518中物体识别模块不能识别至少一个物体,那么物体识别模块提示用户识别物体(步骤522)。
从步骤520或者步骤522,物体识别模块确定用户是否已经识别了物体(步骤524)。如果在步骤524中用户已经识別了物体,那么物体识别模块将包括物体识别以及物体的特征的参数存储在物体特征数据结构中(步骤526),而后操作前进到步骤510。如果在步骤524中用户不能识别物体,那么物体识别模块确定是否已经取消对用户的提示(步骤528)。如果在步骤528中提示还没有被取消,那么操作回到步骤524。如果在步骤528中提示已经被取消,那么操作回到步骤504。
因而,示意性实施例提供用于通过使用识别与物体关联的特征的传感器,来识别放置在表面上的不具有识别标签的物体的机制。通过识别特征,例如重量、面积、温度、几何形状、特征标记等,可以直接或间接地识别物体。 一旦物体被识别,可以向用户显示音频、视频、音频和视频的结合、文本、图形图像、图片和/或类似信息。此外,根据物体特征的变化,可以向其他用户通知该变化,使这些其他的用户可以执行动作。
应当理解,示意性实施例可以采取专用硬件实施例的形式,在具有通用处理硬件的计算机系统上执行的软件实施例的形式,或者包括专用硬件以及在具有通用处理硬件的计算机系统上执行的软件元素的实施例的形式。在一个示例性实施例中,示意性实施例的机制在软件产品中实现,该软件产品包括但不限于固件、常驻软件、微代码等。
此外,示意性实施例可以采取计算机程序产品的形式,由计算机或任何指令执行系统使用,或者结合计算机或者任何指令执行系统使用,可从提供程序代码的计算机可用或计算机可读介质访问该计算机程序产品。出于说明目的,计算机可用或计算机可读介质可以是任何能够包含、存储、通信、传播或传送程序的设备,由指令执行系统、设备或装置使用或者结合指令执行系统、设备或装置使用。
介质可以是电子、磁、光、电磁或半导体系统、设备或者装置。计算机可读介质的例子包括半导体或固态存储器、磁带、可移除计算
机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘以及光盘。光盘的当前例子包括光盘只读存储器(CD-ROM)、可读/写光盘(CD-R/W)以及DVD。
计算机程序产品的程序代码可以包括存储在客户端或者服务器数据处理系统中的计算机可读存储介质中的指令。在客户端数据处理系统实施例中,利用点对点通信方法,可以通过网络从一个或多个远程数据处理系统(例如服务器数据处理系统、客户端数据处理系统或者多个客户端数据处理系统)下载指令。在服务器数据处理系统实施例中,可以配置指令通过网络下载或实际下载到远程数据处理系统,例如客户端数据处理系统,用于在具有远程数据处理系统的计算机可读存储介质中使用。
适于存储和/或执行程序代码的数据处理系统将包括至少一个通过系统总线直接或间接连接到存储器元件的处理器。存储器元件可以包括在程序代码实际执行期间采用的本地存储器、大容量存储装置以及高速緩沖存储器,所述高速緩冲存储器提供至少一些程序代码的临时存储,以减少执行期间代码必须从大容量存储装置中检索的次数。
输入/输出或者I/O装置(包括但不限于键盘、显示器、定位装
24置等)能够直接连接到系统或者通过干预i/o控制器连接到系统。网 络适配器也可以连接到系统,以使得数据处理系统能够通过干预专用 或者公用网络连接到其他数据处理系统或远程打印机或存储装置。调 制解调器、电缆调制解调器以及以太网卡只是几个当前可用的网络适 配器类型。
出于解释和说明的目的呈现了对本发明的说明,上述说明并不是 排他性的或意在将本发明限制在所公开的形式。许多修改和变型对本 领域技术人员是显而易见的。对实施例的选择和描述是为了更好地解 释本发明的原理、实际应用并使本领域其他技术人员以适于构思的特 定使用方式理解具有各种修改的各种实施例的本发明。
权利要求
1. 一种用于识别放置在表面上的物体的方法,所述方法包括接收所述物体已经放置在所述表面上的指示;识别与所述物体关联的多个物理特征;利用所述多个物理特征,搜索数据结构以确定存在具有与所述多个物理特征匹配的物理特征的单个物体;响应于匹配,确定所述单个物体是否具有关联的展示;以及响应于存在所述关联的展示,向用户呈现所述关联的展示。
2. 根据权利要求1的方法,还包括响应于识别所述单个物体的失败,搜索所述数据结构以确定存在 一个或多个具有在所述多个物理特征容限内的物理特征的物体;响应于识别所述一个或多个物体,提示用户从所述一个或多个物 体的列表中识别所述物体;响应于用户识别所述物体,确定所述物体是否具有关联的展示;以及响应于存在所述关联的展示,向用户呈现所述关联的展示。
3. 根据权利要求2的方法,还包括响应于识别所述一个或多个物体的失败,提示用户识别所述物体;响应于用户识别所述物体,确定所述物体是否具有关联的展示;以及响应于存在所述关联的展示,向用户呈现所述关联的展示。
4. 根据权利要求3的方法,还包括将对所述物体的识别以及所述多个物理特征存储在所述数据结构中。
5. 根据权利要求l的方法,还包括利用所述多个物理特征,搜索所述数据结构以根据与另 一个物体 关联的物理特征,确定存在所述单个物体;响应于根据与所述另一个物体关联的所述物理特征的所述单个物体的物理特征的匹配,确定所述单个物体是否具有关联的展示;以 及响应于存在所述关联的展示,向用户呈现所述关联的展示。
6. 根据权利要求l的方法,还包括确定与所述单个物体关联的所述多个物理特征中的至少一个是 否已经变化;以及响应于与所述单个物体关联的所述多个物理特征中的至少一个 的变化,向另一个用户发送具有对所述单个物体的识别以及所述多个 物理特征中的至少一个的变化的指示。
7. 根据权利要求l的方法,其中,所述多个物理特征包括重量、 温度、面积、几何形状或者特征标记中的至少一个。
8. 根据权利要求l的方法,其中,所述多个物理特征包括重量、 温度、面积、几4可形状和特征标记组中的至少两个。
9. 一种包括计算机可用介质的计算机程序产品,所述计算机可 用介质具有计算机可读程序,其中,当在数据处理系统中执行所述计 算机可读程序时,使所述数据处理系统执行根据权利要求1到8中的 任何一项的方法中的步骤。
10. —种系统,包括 处理器;以及连接到所述处理器的存储器,其中,所述存储器包括指令,当由 所述处理器执行所述指令时使所述处理器用于 接收物体已经放置在表面上的指示; 识别与所述物体关联的多个物理特征;利用所述多个物理特征,搜索数据结构以确定存在具有与所述多 个物理特征匹配的物理特征的单个物体;响应于匹配,确定所述单个物体是否具有关联的展示;以及 响应于存在所述关联的展示,向用户呈现所述关联的展示。
11. 根据权利要求10的系统,其中,所述指令还使所述处理器用于响应于识别所述单个物体的失败,搜索所述数据结构以确定存在 具有在所述多个物理特征的容限内的物理特征的一个或多个物体;响应于识别所述一个或多个物体,提示用户从所述一个或多个物 体的列表中识别所述物体;响应于用户识别所述物体,确定所述物体是否具有关联的展示;以及响应于存在所述关联的展示,向用户呈现所述关联的展示。
12,根据权利要求11的系统,其中,所述指令还使所述处理器用于响应于识别所述一个或多个物体的失败,提示用户识别所述物体;响应于用户识别所述物体,确定所述物体是否具有关联的展示;以及响应于存在所述关联的展示,向用户呈现所述关联的展示。
13. 根据权利要求12的系统,其中,所述指令还使所述处理器用于将对所述物体的识别以及所述多个物理特征存储在所述数据结构中。
14. 根据权利要求10的系统,其中,所述指令还使所述处理器用于利用所迷多个物理特征,搜索所述数据结构以根据与另 一个物体 关联的物理特征确定存在所述单个物体;响应于根据与所述另一个物体关联的所述物理特征的所述单个 物体的特征的匹配,确定所述单个物体是否具有关联的展示;以及响应于存在所述关联的展示,向用户呈现所述关联的展示。
15. 根据权利要求10的系统,其中,所述指令还使所述处理器用于向另 一个用户发送具有对所述单个物体的识别以及所述多个物理特征的指示。
16. 根据权利要求10的系统,其中,所述多个物理特征包括重 量、温度、面积、几何形状或者特征标记中的至少一个。
17. 根据权利要求10的方法,其中,所述多个物理特征包括重 量、温度、面积、几何形状和特征标记组中的至少两个。
全文摘要
提供了用于使用传感器识别放置在表面上的物体的方法、系统以及计算机程序产品。接收物体已经放置在表面上的指示。识别多个与物体关联的物理特征。利用多个物理特征,搜索数据结构以确定存在具有与多个物理特征匹配的物理特征的单个物体。响应于匹配,确定单个物体是否具有关联的展示。响应于存在关联的展示,向用户呈现关联的展示。
文档编号G06F17/30GK101482879SQ20091000162
公开日2009年7月15日 申请日期2009年1月9日 优先权日2008年1月10日
发明者L·A·希凯特, P·A·内斯比特, 丽迪亚·M·多 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1