CN102216941B - 用于内容处理的方法和系统 - Google Patents
用于内容处理的方法和系统 Download PDFInfo
- Publication number
- CN102216941B CN102216941B CN200980141567.8A CN200980141567A CN102216941B CN 102216941 B CN102216941 B CN 102216941B CN 200980141567 A CN200980141567 A CN 200980141567A CN 102216941 B CN102216941 B CN 102216941B
- Authority
- CN
- China
- Prior art keywords
- data
- image
- user
- mobile phone
- module
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/40—Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
- G06V10/507—Summing image-intensity values; Histogram projection analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/80—Recognising image objects characterised by unique random patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/02—Constructional features of telephone sets
- H04M1/0202—Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/02—Constructional features of telephone sets
- H04M1/0202—Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets
- H04M1/026—Details of the structure or mounting of specific components
- H04M1/0264—Details of the structure or mounting of specific components for a camera module assembly
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/21—Intermediate information storage
- H04N1/2104—Intermediate information storage for one or a few pictures
- H04N1/2112—Intermediate information storage for one or a few pictures using still video cameras
- H04N1/2129—Recording in, or reproducing from, a specific memory area or areas, or recording or reproducing at a specific moment
- H04N1/2133—Recording or reproducing at a specific moment, e.g. time interval or time-lapse
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/61—Control of cameras or camera modules based on recognised objects
- H04N23/611—Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/64—Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00281—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
- H04N1/00307—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal with a mobile telephone apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2101/00—Still video cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3274—Storage or retrieval of prestored additional information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3278—Transmission
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Telephone Function (AREA)
- Studio Devices (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
移动电话和其它便携设备配备有各种技术,通过这些技术可以改进现有的功能并可以提供新的功能。一些方面涉及可视搜索能力,以及确定对不同图像输入做出响应的适当动作。另一些方面涉及图像数据的处理。还有一些方面涉及元数据产生、处理和表示。还有一些方面涉及用户界面改进。有些方面涉及成像架构,在该成像架构中,移动电话的图像传感器是由多个级构成的链条中的一个组成部分,所述多个级相继地作用于分组化的指令/数据,以拍摄并随后处理图像。另一些方面涉及移动设备和远程资源(“云”)之间的处理任务的分布。基本图像处理(例如简单的滤波和边缘检测)可以在移动电话上执行,而其它操作可以向外提交给远程服务提供商。远程服务提供商可以使用诸如反向拍卖等技术来选择,其中远程服务提供商通过反向拍卖来竞争处理任务。也详述了大量其它特征和配置。
Description
引言
图0介绍了在此详述的技术的某些方面。用户的移动电话(响应于用户命令或者自发地)拍摄图像,并且场景内的物体得到识别。与每个物体相关的信息得到识别,并且通过以图形方式覆盖在图像上的面向场景登记的交互式可视“小玩意(bauble)”而使得可由用户得到。所述小玩意可以自己呈现信息,或者可以仅仅是一标记,用户可以在所指示的位置轻拍该标记以获得相关信息的更长的列表或者启动相关功能/应用程序。
在所示出的场景中,照相机已经将前景中的脸识别为“Bob”并相应地给图像作注释。宣传《哥斯拉》(Godzilla)电影的广告牌已经得到识别,并且写着“放映时间”的小玩意已经被位图传输(blit)到显示屏上,从而邀请用户轻拍以获得放映信息。
电话已经从场景中识别出用户的汽车,并且还通过款式和年份已经识别出照片中的另一辆车。两者都通过覆盖的文本进行注释。餐馆也已经得到识别,并且显示出来自评论集的头一条评论(“Jane的评论:相当好!”)。轻拍会引出更多的评论。
在一种特定配置中,这种构思被实现为由本地设备物体识别核心服务辅助的云端服务。用户可以在固定和移动物体上留下注释。被轻拍的小玩意可以触发其他应用程序。社交网络可以跟踪物体关系,从而形成虚拟的“物体网络”。
在早期的首次展示时,可识别物体的种类将是有限的但却是有用的。物体识别事件将主要把公共领域信息和社交网络联系取来带给小玩意并使公共领域信息和社交网络联系与小玩意相关联。采用条形码、数字水印、面部识别、OCR等的应用程序可以帮助支持这种技术的初步推广应用。
随后,这种配置预期会演化成拍卖市场,在该拍卖市场中,付钱的企业想要将它们自己的小玩意(或相关信息)放到人口统计上具有高度针对性的用户屏幕上。用户分布图连同输入的可视刺激(在一些情况下由GPS/磁力计数据辅助)一起被馈送到云中的Google式混合专家(mix-master)中,从而将移动设备屏幕这一真实财产的购买者匹配到请求小玩意的用户。
最终,这样的功能性可能会变得如此普遍以致进入通用词典,就如“我将尝试获得关于那个的小玩意”或者“看看如果你Viewgle那个场景的话会发生什么”那样。
背景技术
Digimarc的专利6,947,571示出了手机照相机拍摄内容(例如图像数据),并处理该内容以导出与图像相关的标识符的系统。将该导出的标识符提交给指示相应数据或动作的数据结构(例如数据库)。手机然后显示响应信息或采取响应动作。这样的操作序列有时被称为“可视搜索”。
专利公开20080300011(Digimarc),7,283,983和W007/130688(Evolution Robotics),20070175998和20020102966(DSPV),20060012677、20060240862和20050185060(Google),20060056707和20050227674(Nokia),20060026140(ExBiblio),6,491,217、20020152388、20020178410和20050144455(Philips),20020072982和20040199387(Shazam),20030083098(Canon),20010055391(Qualcomm),20010001854(AirClic),7,251,475(Sony),7,174,293(Iceberg),7,065,559(Organnon Wireless),7,016,532(EvryxTechnologies),6,993,573和6,199,048(Neomedia),6,941,275(TuneHunter),6,788,293(Silverbrook Research),6,766,363和6,675,165(BarPoint),6,389,055(Alcatel-Lucent),6,121,530(Sonoda),以及6,002,946(Reber/Motorola)示出了相关技术。
当前详述的技术的各方面涉及对这些技术的改进,从而朝着直觉计算(即,能够看到和/或听到,并在感测到的那一方面上推断出用户的期望的设备)的目标前进。
附图说明
图0是示出包含在此详述的技术的某些方面的示例性实施例的图。
图1是包含本技术的一些方面的实施例的高层视图。
图2示出用户可以请求配备有照相机的手机执行的应用程序中的一些。
图3标识出包含本技术的一些方面的实施例中的商业实体中的一些。
图4、4A和4B概念性地示出像素数据和衍生物如何应用于不同的任务中以及如何封装成分组的形式。
图5示出不同的任务如何共同地具有某些图像处理操作。
图6是示出共同的图像处理操作如何能够被识别并被用来配置手机处理硬件以执行这些操作的图。
图7是示出手机如何能够将一些像素相关数据发送越过内部总线以进行本地处理,以及如何能够将其他像素相关数据发送越过通信信道以在云中进行处理的图。
图8示出图7中的云处理如何惊人地允许更多“智能”应用于用户所期望的任务。
图9详述了关键字向量数据如何分配给执行服务以换取补偿的不同的外部服务提供商,该操作以统一的方式为用户处理。
图10示出包含本技术的一些方面的实施例,指明基于手机的处理如何适合于简单的物体识别任务(诸如模板匹配),而基于云的处理如何适合于复杂的任务(诸如数据关联)。
图10A示出包含本技术的一些方面的实施例,指明通过以尽可能靠近传感器的方式执行可视关键字向量处理以及以通信栈中去往云的通信量尽可能低的方式管理去往云的通信量来使用户体验最优化。
图11示出交付进行外部处理的任务可以路由到为手机例行地执行某些任务的第一组服务提供商,或者可以路由到动态地竞争来自手机的处理任务的第二组服务提供商。
图12进一步扩展了图11的概念,例如示出投标过滤器和广播代理软件模块如何能够监督反向拍卖过程。
图13是包含本技术的一些方面的处理配置的高层框图。
图14是包含本技术的一些方面的另一处理配置的高层框图。
图15示出可以由手机照相机拍摄的图像类型的说明性范围。
图16示出包含本技术的一些方面的特定硬件实现方案。
图17示出在示例性实施例中使用的分组的各方面。
图18是示出SIFT技术的实现方案的框图。
图19是示出例如分组头数据如何能够在处理过程中通过使用存储器来改变的框图。
图19A示出来自机器人的Player Project的现有技术架构。
图19B示出各种因素如何能够影响不同操作得以处理的方式。
图20示出手机照相机和手机投影仪共用一透镜的配置。
图20A示出可以在本技术的实施例中使用的参考平台架构。
图21示出由手机照相机拍摄的台式电话的图像。
图22示出通过参考从图21的图像中识别出的特征而在公共图像的储存库中发现的相似图像的集合。
图23-28A和30-34是详述包含本技术的一些方面的方法的流程图。
图29是由手机用户拍摄的埃菲尔铁塔的艺术照。
图35是由手机用户拍摄的另一图像。
图36是使用根据本技术的一些方面的方法发现的电话的下面的图像。
图37示出一款手机的物理用户界面的一部分。
图37A和38B示出不同的连接拓扑。
图38是由手机用户拍摄的描绘阿巴拉契小道的路标的图像。
图39-43详述了包含本技术的一些方面的方法。
图44示出一款手机的用户界面。
图45A和45B示出如何能够通过使用手机的用户界面控制来探查不同的共性维度。
图46A和46B详述了包含本技术的一些方面的特定方法,通过该特定方法能够从手机图像自动确定出诸如Prometheus和Paul Manship的关键词。
图47示出根据本技术的一些方面,在处理图像过程中可以参考的不同数据源中的一些。
图48A、48B和49示出根据本技术的一些方面的不同处理方法。
图50标识出根据本技术的一些方面,可以在图像数据上执行的不同处理中的一些。
图51示出根据本技术的某些方面,可以采用的说明性的树形结构。
图52示出可以在例如点对点网络中互相协作的可佩戴式计算机(例如手机)的网络。
图53-55详述了符号表如何能够被手机识别并被用来触发不同动作。
图56示出现有数字照相机技术的一些方面。
图57详述了包含本技术的一些方面的实施例。
图58示出手机如何能够被用来感测和显示仿射参数。
图59示出本技术的某些状态机方面。
图60示出甚至“静止”的图像如何能够包括时间或运动方面。
图61示出包含本技术的一些方面的实现方案中可能会涉及的一些元数据。
图62示出可以由手机照相机用户拍摄的图像。
图63-66详述了图62的图像如何能够被处理成传递语义元数据。
图67示出可以由手机照相机用户拍摄的另一图像。
图68和69详述了图67的图像如何能够被处理成传递语义元数据。
图70示出可以由手机照相机用户拍摄的图像。
图71详述了图70的图像如何能够被处理成传递语义元数据。
图72是示出人类视觉系统的一些方面的图。
图73示出一图像的不同的低、中和高频成分。
图74示出一报纸页面。
图75示出由排版软件设置的图74的页面的版面。
图76详述了如何能够增强用户与从印刷文本拍摄的图像的交互。
图77示出元数据的语义传递如何能够具有类似于JPEG2000等的渐进方面。
图78是现有技术恒温器的框图。
图79是图78的恒温器的外视图。
图80是采用本技术的某些方面的恒温器的框图(“ThingPipe”)。
图81是体现本技术的某些方面的手机的框图。
图82是借以说明图80的恒温器的某些操作的框图。
图83示出描绘从恒温器拍摄的图像的手机显示屏,其上覆盖有某些触摸屏目标,用户可以触摸这些触摸屏目标来升高或降低恒温器温度。
图84类似于图83,但是示出在不具有触摸屏的电话上使用的图形用户界面。
图85是采用本技术的一些方面的闹钟的框图。
图86示出根据本技术的一个方面,可以在手机上呈现的闹钟用户界面的屏幕。
图87示出用户界面的屏幕,从而详述了可以通过使用手机来控制的附近设备。
具体实施方式
本说明书详述了经过一段较长的时间汇集起来的多种多样的技术以达到各种不同的目的。然而它们以各种方式联系在一起,并且因此一并呈现在该单一文档中。
这种变化的、互相关联的主题并不适合于直接的陈述。因此,由于这种叙述不时地在各种各样的主题和技术之间以非线性的方式进行,所以恳求读者的宽容。
该说明书的每一部分详述了合乎期望地包含其它部分中详述的技术特征的技术。因此,难以识别出本公开在逻辑上应该开始于的“起点”。就是说,我们简单地就这样开始。
使用分布式网络服务的移动设备物体识别和交互
在来自(例如手机中的)移动设备照相机的高质量图像数据流中所包含的信息的深不可测的量与移动设备无论出于什么目的而处理该数据的能力之间目前还存在巨大的脱离。可视数据的“设备外”处理可以帮助处理该数据“消防水带”,尤其在期望进行大量可视处理任务的时候。一旦考虑“实时物体识别和交互”,这些问题就变得更严重,其中在“实时物体识别和交互”情况下,移动设备的用户期待在该用户将照相机指向场景或物体时,在移动设备屏幕上就会出现几乎即时的结果和增强现实图形反馈。
根据本技术的一个方面,像素处理引擎的分布式网络为这样的移动设备用户服务并且一般用比1秒小得多的反馈来满足大多数质量的“人类实时交互”要求。实现方案合乎期望地在移动设备上提供某些基本特征,包括图像传感器的输出像素和移动设备可用的原有通信信道之间相当密切的关系。在本地设备上对像素数据进行某些级别的基本“内容过滤和分类”,接着按照用户的意图和预订所指定的那样把路由指令附加到像素数据上,会导致移动设备与一个或多个“基于云的”像素处理服务之间的交互式会话。关键词“会话”还表示传送回移动设备的快速响应,其中对于市场化为“实时”或“交互式”服务的一些服务,会话基本上代表双向的、通常基于分组的通信,在这种情况下若干传出的“像素分组”和若干传入的响应分组(其可以是更新有处理过的数据的像素分组)可能会每秒都出现。
商业因素和良好的往日竞争是分布式网络的核心。用户可以预订或接入他们选择的任何外部服务。本地设备自身和/或该设备的载波服务提供商可以按照用户选择的那样来配置,从而把经过滤且相关的像素数据路由到指定的物体交互服务。用于这样的服务的收费机制可以直接地插入到现有手机和/或移动设备收费网络中,其中用户被收费并且服务提供商得到支付。
但是让我们后退一点。把照相机系统添加到移动设备中已经引发了各种应用的激增。原始的应用当然必定是人们简单地快速拍摄他们周围的环境的可视方面并与朋友和家人分享这些照片。
从该出发点展开的应用可论证地随移动照相机所固有的一组核心底层特征而定。简言之(并且当然并非是无遗漏的),这样的特征包括:a)更高质量的像素拍摄和低级别处理;b)用于带有随后的用户反馈的设备内像素处理的更好的本地设备CPU和GPU资源;c)去往“云”的结构化连接性;以及重要地,d)成熟的业务量监测和收费基础设施。图1仅仅是可能会被称作可视智能网络的网络的这些底层特征中的一些的一个图形全景。(手机的常规细节诸如麦克风、A/D转换器、调制和解调系统、中频段、蜂窝收发器等为了说明的清晰性而没有示出)。
在移动设备上设置更好的CPU和GPU以及更大的存储器那当然好。然而,成本、重量和功率的考虑因素看起来偏爱让“云”去做尽可能多的“智能”的困难工作。
相关地,看起来应该对可视数据执行为所有云处理服务的具有共同特性的一组“设备端”操作,包括某种格式化、基本图形处理和其它固定程序操作。类似地,对于所发生的与云之间的(典型地是分组形式的)来回通信业务量,看起来应该有标准化的基本信头和寻址方案。
这种概念化近似于人类视觉系统。眼睛执行基线操作(诸如色度分组),并且对必要信息进行最优化以便沿着视神经传输到大脑。大脑进行真正的认知工作。并且也存在另一种方式的反馈—大脑发送控制肌肉运动的信息—把眼睛指向何处,扫描书本的各行,控制虹膜(采光)等。
图2描绘了用于移动设备的可视处理应用程序的非无遗漏的、只是说明性的列表。再一次,很难不发现该列表与人类视觉系统和人类大脑如何工作的基本原理之间的相似性。这是被充分研究的学术领域,其研究人类视觉系统如何相对于任何给定的物体识别任务而“被最优化”,其中普遍的共识是眼睛-视网膜-视神经-皮层系统在为各式各样的认知需求服务的效率方面是非常好的。本技术的这方面涉及相似地高效的并且广泛启用的元件如何能够构建到移动设备、移动设备连接和网络服务中,这些移动设备、移动设备连接和网络服务全都把为图2中描绘的应用程序以及随着技术继续进步可能出现的那些新应用程序服务作为目标。
也许人类模拟和移动设备网络之间的主要不同无疑必定是围绕“市场”这一基本概念,在那里购买者购买越来越好的东西,只要企业知道如何相应地盈利。目的在于为图2所列的应用程序服务的任何技术当然必定要假定即使没有数千家也有数百家商业实体正在带着设法从特定商业供给物盈利的期待而开发那些供给物的本质细节。是的,少数巨头将支配整个移动行业中的现金流的主线,但是同样确定的事将是缝隙型企业将持续地开发缝隙型应用程序和服务。因此,本公开描述了可视处理服务的市场如何能够发展,借此该领域内的企业界都有所获利。图3尝试对适用于在该申请的时代中运行的全球商业生态系统的企业界中的一些进行粗略分类。
图4转向现在正在考虑的技术方面的介绍中的抽象概念。在这里我们发现从撞击在某种形式的电子图像传感器上的某批光子得到的高度抽象的一比特信息,以及等待该普通比特的消费者的领域。图4A然后迅速介绍了直觉上公知的概念,即可视信息的各单一比特除了它们在空间和时间分组中的作用以外价值并不大。该核心概念在现代视频压缩标准(诸如MPEG7和H.264)中得到很好的利用。
比特的“可视”特性可以通过一定的处理而离视觉领域相当远(考虑例如表示特征脸数据的向量串)。因此,我们有时使用术语“关键字向量数据”(或“关键字向量串”)来总体地指代原始传感器/刺激数据(例如像素数据)和/或处理过的信息及相关衍生物。关键字向量可以采取传递这样的信息的容器的形式(例如数据结构,诸如分组)。可以包括标签或其它数据来识别信息的类型(例如JPEG图像数据、特征脸数据),或者数据类型可以根据数据或背景而是明显的。一个或多个指令或操作可以与关键字向量数据相关联—或者在关键字向量中明确地详述或者是暗示的。对于某些类型的关键字向量数据,操作可以以默认的方式暗示(例如对于JPEG数据,其可以是“存储图像”;对于特征脸数据,其可以是“匹配该特征脸模板”)。或者,所暗示的操作可以取决于背景。
图4A和4B也介绍了本公开中的中心参与者:已封装并且标注有地址的像素分组,其主体中插入有关键字向量数据。关键字向量数据可以是单块,或块的集合,或块/集合的时间序列。像素分组可以小于千字节,或者其大小可以大得多。其可以传递关于从更大的图像摘选的孤立的一块像素的信息,或者其可以传递圣母大教堂的大块合成照片。
(如目前构思的那样,像素分组是一种应用层构造。然而,当实际应用于网络时,可以将其分解成更小的部分—因为网络中的传输层限制可能会要求这样。)
图5是接续图—仍然是抽象级别的,但指向具体情况。用户限定的应用程序(诸如图2所示)的列表将映射到可以实现每一个应用程序的目前技术水平的像素处理方法的清单。这些像素处理方法分解成普通和不那么普通的组分子任务。物体识别教科书充满着各式各样的方法和术语,它们为初看起来可能似乎是与图2中所示的应用程序有关的一系列让人困惑的“独特要求”的条件带来条理性。(另外,已经创建了多种计算机视觉和图像处理库(诸如下面讨论的OpenCV和CMVision),它们识别和实施可被认为是物体识别范例内的“原子级”功能的功能操作。)但是图5尝试示出确实存在一组在可视处理应用程序之间共用的公共步骤和处理。带有不同阴影的饼片尝试示出某些像素操作是特定种类的并且可以仅在低级别变量或最优化方面有所不同。整个饼的尺寸(从对数意义上考虑,例如,尺寸为另一个饼两倍的饼可以表示10倍的浮点运算率),并且饼片的百分比大小表示共用度。
图6朝具体情况迈出主要的一步,牺牲了过程的简单性。这里我们看到标注有“驻留调用可视处理服务”的顶部,其代表给定的移动设备可以意识到或者彻底启用去执行的来自图2的所有可能的应用程序的列表。想法是:并不是所有这些应用程序都必须一直起作用,因此这些服务的某个子集实际上可在任何给定时刻被“开启”。作为一次性配置行为,所开启的应用程序通过协商来识别他们共同的组分任务,这被标注为“公共处理分类器”—首先产生从这些基本图像处理例程(例如FFT、滤波、边缘检测、再采样、颜色直方图、对数极坐标变换等)的库中选出的、对于设备内处理而言可用的全部公共像素处理例程的列表。随后产生对应的流程门(flow gate)配置/软件编程信息,其精确地将库单元加载到现场可编程门阵列结构中适当安排的位置,或者配置适当的处理器以执行所要求的组分任务。
图6还描绘了图像传感器,其后跟随着通用像素分段器。该像素分段器将来自传感器的大图像流分解成可管理的空间和/或时间块(例如类似于MPEG宏块、小波变换块、64×64像素块等)。在像素洪流已经被分解成“可咀嚼”的块之后,它们被馈送到执行与所选择的应用程序相关联的基本图像处理任务的新编程的门阵列(或其它硬件)中。(这样的配置在下面的采用“像素分组”的示例性系统中进一步详述。)各种输出产物被发送到路由引擎,该路由引擎将经过基本处理的数据(例如关键字向量数据)提交给(内部和/或外部的)其它资源以进行进一步处理。这种进一步处理典型地比已经执行的处理更复杂。实例包括产生关联性、得出推断、图案和模板匹配等。这种进一步处理可以是高度专用的。
(考虑来自百事(Pepsi)的推销游戏,邀请公众参与州立公园中的寻宝。基于因特网分布的线索,人们尝试找出隐藏的六瓶装汽水以赚得500美元奖金。参加者必须从Pepsi-dot-com网站(或Apple的AppStore)下载用来分布线索(其也可以发布到Twitter)的特别应用程序。所下载的应用程序还具有奖金验证组件,其处理由用户的手机拍摄的图像数据以识别借以独一无二地标记所隐藏的六瓶装汽水的特殊图案。使用SIFT物体识别(下面讨论),用所下载的应用程序传递用于特殊封装的SIFT特征描述符。当发现图像匹配时,手机立刻将该情况无线地报告给百事。获胜者是手机第一个报告检测到带有特别标记的六瓶装汽水的用户。在图6的配置中,SIFT图案匹配操作中的组分任务中的一些通过所配置的硬件中的基本图像处理来执行;其它组分任务被提交给更专门的处理—或者是内部的或者是外部的。)
图7将图升级到一般分布式像素服务网络的视图,其中本地设备像素服务和“基于云”的像素服务在它们如何工作方面具有一种对称性。图7中的路由器处理任何给定的封装的像素分组如何被发送到适当的像素处理位置,无论是本地还是远程位置(用填充图案的样式表示不同的组分处理功能;仅仅描绘了已启动的可视处理服务所需要的处理功能中的一些)。运送到基于云的像素服务的一些数据可能已经首先由本地设备像素服务处理过。圆圈表示路由功能可以具有云中的组件—用于将任务分配给运行的服务提供商,并收集用于传送回设备的结果的节点。在一些实现方案中,这些功能可以在无线网络的边缘(例如由处于无线服务塔的模块)执行,以便确保最快的动作。从运行的外部服务提供商和运行的本地处理段收集的结果被反馈给像素服务管理软件,该软件然后与设备用户界面交互。
图8是图7的右下部分的扩展视图并且代表Dorothy的鞋变红的时刻以及为什么由与本地设备相对的云提供的分布式像素服务将可能胜过除最平凡的物体识别任务以外的所有任务。
更丰富的形式的物体识别是基于视觉联想而不是严格的模板匹配规则。如果我们都被教导大写字母“A”将始终严格地遵循永远不变的某种陈旧的形式(如果你愿意的话即通用模板图像),那么相当干净利落且本地规定的方法可以放到移动成像设备中,以便使其在任何时候将该规定好的形式“A”呈现给照相机时都能可靠地读取大写的A。2D甚至3D条形码在许多方面遵循这种模板式的物体识别方法,其中对于涉及这样的物体的所包含的应用程序,本地处理服务可以在很大程度上完成该工作。但即使在条形码实例中,公然的可视编码目标的成长和演化中的灵活性会请求得到这样的架构,每一次在公然的符号表示技术中有一些进步时,它不会强迫亿万的设备进行“代码升级”。
在该领域的另一端,可以想象任意复杂的任务,例如向超级计算机的网络提交预测由于蝴蝶在满世界飞的途中振动翅膀而引起的不足为信的台风的任务—如果应用程序要求的话。神秘之地在召唤。
图8尝试示出与本地设备相对的云中的像素处理的这种极端的额外维度。这实际上是不言而喻(或者不示自明)的,但是图8也是接续到图9的接续图,其中Dorothy回到了堪萨斯并且对此很开心。
图9是有关现金、现金流和快乐的人们的一切,其中快乐的人们使用他们移动设备上的照相机并获得由于他们的可视询问而返回的高度有意义的结果,一直支付一个月的月账单。结果是Google的“AdWords”拍卖这一妖魔从瓶子里跑了出来。在移动用户对他们的即时视觉环境的时时刻刻的视觉扫描的场景的后面,是为了获得他们“真正”在寻找的东西而返回给移动设备用户的无数的微观决策、像素路由、结果比较和微观拍卖频道,不管他们是否知道。这最后一点是故意大胆无礼的,因为任何种类的搜索在本质上是没有终止的并且在某种程度上是神奇的,并且搜索的部分乐趣首先是:令人惊讶的新关联是结果的一部分。在该事实之后,搜索的用户知道他们真正在寻找什么。图9所表示的作为基于运营商的财务跟踪服务器的系统,现在看到我们的连网的像素服务模块的添加及其在便于相关结果发送回用户的过程中所起的作用,一直监视接收服务的用户以便填充每月的账单并将收益发送给适当的实体。
(如在其它地方进一步详述的那样,货币流可以不排他地流向远程服务提供商。可以发生其它货币流,诸如流向用户或其他方以便例如引发或奖励某些动作。)
图10聚焦于处理的功能分割—示出具有模板匹配性质的任务如何能够在手机本身上执行,而(具有数据关联性质的)更复杂的任务被合乎期望地提交给云来处理。
图10A提取出上述内容的各要素,示出作为(通常是)软件组件的实际内容的本技术的一些方面的实现方案。图中的两个椭圆突出了在建立移动设备和一般云或服务提供商之间的“人类实时”可视识别会话、数据关联和可视询问结果的过程中涉及的对称的一对软件组件。左边的椭圆指代“关键字向量”并且更具体地指代“可视关键字向量”。如所述的那样,该术语可以包含从简单的JPEG压缩块一直到对数极坐标变换出的面部特征向量的任何向量以及在它们之间和之外的任何向量。关键字向量的要点是某个给定的可视识别任务的基本原始信息已经被最优地预处理并封装过(可能被压缩过)。左边的椭圆对这些分组进行装配,并且典型地插入借以路由它们的某种寻址信息。(最终的寻址或许不可能,因为分组可能会最终被路由到远程服务提供商—其细节可能还不是已知的。)合乎期望地,通过例如在与图像传感器相同的衬底上集成的处理电路,以尽可能接近原始传感器数据的方式来执行该处理,所述处理电路对存储在存储器中或以分组形式从另一段提供的软件指令做出响应。
右边的椭圆管理关键字向量数据的远程处理,例如安排适当的服务、对业务流进行定向等。合乎期望地,该软件处理以在通信栈中尽可能处于下层的方式来实现,通常实现在“云端”设备、接入点或蜂窝塔上。(当实时可视关键字向量分组流过通信信道时,它们在通信栈中越下层的位置被识别和路由,给定的可视识别任务的“人类实时”感观将会越流畅。)支持该配置所需的剩余高级别处理被包括在图10A中以示出上下文关系,并且通常可以通过原有移动和远程硬件能力来执行。
图11和12示出这样的概念,一些基于云的像素处理服务的一些提供商可以以伪静态的方式预先建立,而其他提供商可以周期性地通过参加反向拍卖来为用户的关键字向量数据的处理特权进行竞争。在许多实现方案中,作为后者的这些提供商在每一次有分组要处理时进行竞争。
考虑拍摄了一张不熟悉的汽车的手机照片的用户想要获悉其款式和型号的情况。各种服务提供商可以为该生意竞争。刚起步的商家可能会提供免费执行识别的服务,以建立其品牌或收集数据。提交给该服务的图像会返回仅指出汽车的款式和型号的信息。Consumer Reports可以提供另一可供选择的服务—其不仅提供款式和型号数据,还提供该汽车的技术规格。然而,他们可能会对该服务收费2美分(或者费用可以基于带宽,例如每兆像素1美分)。Edmunds或JD Powers可以提供另一种服务,其提供与Consumer Reports类似的数据,但是会付钱给用户以获得提供数据的特权。作为交换,商家被赋予让其合作者之一向用户发送推销商品或服务的文本消息的权利。支付可以采取在给用户开每月的手机语音/数据服务账单时进行抵免的形式。
通过使用由用户规定的标准、保存的偏好、背景环境和其它规则/直观推断,询问路由器和响应管理器(在手机中、在云中、分布式的、等)确定需要处理的数据分组是否应该由一批静态的随时待命的服务提供商之一来处理,或者是否应该将其提供给以拍卖为基础的提供商—在这种情况下它对拍卖的结果进行仲裁。
静态的随时待命的服务提供商可以在手机被初始编程时得到确定,并且仅在手机被重新编程时被重新配置。(例如,Verizon可以规定其手机上的所有FFT操作都路由到它为此目的而提供的服务器。)或者,用户能够周期性地确定某些任务的优选提供商(诸如通过配置菜单),或者规定某些任务应该被提交进行拍卖。静态服务提供商受到偏爱的一些应用程序可能会出现;任务可能会如此平凡,或者一个提供商的服务可能会如此独一无二,以致于对服务提供的竞争不能得到保证。
在提交进行拍卖的服务的情况下,一些用户可能会把价格置于所有其它考虑因素之上。有些人可能会坚决要求国内数据处理。有些人可能会想要忠于满足“绿色的”、“合乎道德的”或者其它公司实践标准的服务提供商。有些人可能会更喜欢更丰富的数据输出。不同标准的权重可以由询问路由器和响应管理器在做决定时施加。
在一些情况下,对询问路由器和响应管理器的一种输入可以是用户的位置,使得与用户在墨西哥度假时相比,当她在Oregon的家时可以选择不同的服务提供商。在其它实例中,指定所要求的周转时间,这会使一些商家不合格并且使有些商家更有竞争力。在一些实例中,询问路由器和响应管理器完全不需要做出决定,例如,如果确定先前拍卖中选择的服务提供商的缓存结果仍然可以得到并且没有超出“新鲜度”阈值的话。
由商家提供的定价可能会随着处理负荷、带宽、日时和其它考虑因素而变化。在一些实施例中,可以(使用确保数据完整性的已知信任配置)把竞争者提交的报价通知给提供商,并给予提供商使他们的报价更加诱人的机会。这样的投标战可以持续进行,直到没有投标人愿意改变所提供的条款为止。询问路由器和响应管理器(或者在一些实现方案中,用户)然后作出选择。
为了便于解释和一目了然,图12示出标注为“投标过滤器和广播代理”的软件模块。在大多数实现方案中,这形成询问路由器和响应管理器模块的一部分。投标过滤器模块决定哪些商家(来自可能的商家这一领域)应该给予对处理任务投标的机会。(用户的偏好数据或历史经验可以指示出某些服务提供商不合格。)广播代理模块然后与所选择的投标人通信以把要处理的用户任务通知给他们,并提供他们出价所需的信息。
合乎期望地,投标过滤器和广播代理在数据可用于处理之前完成他们的至少一些工作。即,一旦能够预测出用户在不久的将来很可能要请求的操作,这些模块就开始致力于确定执行预期需要的服务的提供商。几百毫秒之后,用户关键字向量数据实际上可用于处理(如果预测证实是准确的话)。
有时,如同Google现在的AdWords系统一样,并不是在每次用户交易时都找服务提供商来商议。取而代之,每个服务提供商提供投标参数,这些投标参数被存储并且无论何时考虑交易时被参考以确定哪个服务提供商获胜。这些存储的参数可以偶尔地进行更新。在一些实现方案中,无论何时存在更新的参数时,服务提供商都将更新的参数推送给投标过滤器和广播代理。(投标过滤器和广播代理可以为大量用户服务,诸如区域代码为503的所有Verizon订户,或者一ISP在一社区中的所有订户,或者网域well-dot-com的所有用户,等等;或者可以采用更多局部代理,诸如每个手机塔一个局部代理。)
如果交易活动出现暂时减少,服务提供商可以在下一分钟对其服务打折。该服务提供商可以因此传送(或公布)声称如下内容的消息:在以Unix时间戳表示的1244754176的协调通用时间之前,对高达10兆字节的图像文件执行特征向量提取,将会收取2美分,在该时间之后,价格将变回到3美分。投标过滤器和广播代理相应地更新存储有投标参数的表格。
(读者被假定熟悉Google用来将赞助商的广告投放在网络搜索结果页面上的反向拍卖协议。在Levy的“Secret of Googlenomics:Date-Fueled Recipe Brew Profitability”(Wired Magazine,2009年5月22日)中,提供了说明性的描述。)
在其它实现方案中,无论何时提供了要求处理的交易时,广播代理轮询投标人—传递相关参数,并征求投标响应。
一旦决定了占优势的投标人并且数据可用于处理时,广播代理就将关键字向量数据(和可能适用于特定任务的其它参数)传送给获胜的投标人。投标人然后执行所请求的操作,并将处理后的数据返回给询问路由器和响应管理器。该模块将处理后的数据记入日志,并处理任何必要的帐目结算(例如将适当的费用付给服务提供商)。响应数据然后被发送回给用户设备。
在变型的配置中,一个或更多相互竞争的服务提供商实际上执行所请求的处理中的一些或全部,但是通过仅呈现部分结果来“挑逗”用户(或询问路由器和响应管理器)。通过体验已经得到的那些结果,可能会诱使用户(或询问路由器和响应管理器)作出与相关标准/直观推断的指示不同的选择。
发送给外部服务提供商的功能调用当然不是必须要提供消费者所寻求的最终结果(例如识别一车辆,或者将一菜单列表从法语翻译成英语)。它们可以是组分操作,诸如计算FFT,或者执行SIFT程序或对数极坐标变换,或者计算直方图或特征向量,或者识别边缘,等等。
迟早,预期专家处理器的丰富的生态系统将出现—为来自手机或其它轻便用户设备的无数处理请求服务。
关于货币流的更多说明
可以启用另外的商业模型,涉及服务提供商自己对消费的远程服务进行补助以换取用户信息(例如换取受众测量),或者换取用户采取的动作(诸如完成调查,访问店内的特定站点、位置,等等)。
服务也可以由第三方补助,诸如通过在其消费者坐在店中时以远程服务的免费/打折使用的形式向其消费者提供区分性的服务而取得价值的咖啡店。
在一种配置中,启用这样的经济体系:在用户和远程服务提供商之间产生和交换远程处理积分(credit)的通货。这可以对用户完全透明并且例如由用户的手机或数据服务提供商作为服务计划的一部分来进行管理。或者它可以显露为本技术的某些实施例的非常明确的方面。服务提供商等可以因为用户采取了某些动作或成为了常客计划的一部分从而建立了与特定提供商的忠诚度,而将积分奖励给用户。
如同其它通货一样,用户可以根据需要来选择明确地对积分进行捐赠、保存、兑换或一般实物交易。
进一步详细地考虑这几点,一种服务可以因为用户决定参加受众测量小组而向用户提供支付。例如,Nielsen公司可以提供服务给公众—诸如从消费者提交的音频或视频样本中识别出电视节目。这些服务可以免费地提供给同意与Nielsen分享一些他们的媒体消费数据(诸如通过充当一城市的受众测量小组的匿名成员)的消费者,并且以收费方式提供给其他人。Nielsen可以每月向参加的消费者提供例如100单位的积分—微支付(micropayment)或其它值,或者可以在每次用户提交信息给Nielsen时提供积分。
在另一实例中,消费者可以因为接受商业广告或商业印象而从公司得到奖赏。如果一消费者进入丹佛的百事中心,她可以因为她遇到的每个标有百事印记的体验而收到奖赏。微支付的量可以与她在事件发生地跟不同的标有百事印记的物体(包括音频和图像)交互的时间长度成比例增加。
并非只是大品牌所有者可以向个人提供积分。积分可以路由到朋友和社会/生意上的熟人。举例来说,Facebook的用户可以从他的Facebook页面分享积分(可换取商品/服务,或者可兑换为现金),从而诱使其他人访问或逗留。在一些情况下,积分可以仅对以特定方式(诸如通过从用户的业务名片或从另一启动页面链接到该页面)航行到Facebook页面的人们而言是可获得的。
作为另一实例,考虑已经赚得或者被支付或者接收到可应用于某些服务(诸如从iTunes下载歌曲,或者音乐识别服务,或者识别与特定鞋子(该鞋子的图像已经被提交)相配的衣服,等等)的积分的Facebook用户。这些服务可以与特定的Facebook页面相关联,使得朋友们可以从该页面调用这些服务—实质上花费了主人的积分(再者,需要该作为主人的用户的适当授权或邀请)。同样,朋友们可以将图像提交给可通过与该用户的Facebook页面相关联的应用程序访问的面部识别服务。以这样的方式提交的图像被分析以获得主人的朋友们的脸,并且例如通过始发的Facebook页面上呈现的用户界面将识别信息返回给提交者。再者,可以为每个这样的操作对主人估算一定的费用,但是主人可以允许授权的朋友不花钱地利用这样的服务。
积分和支付也可以路由到慈善团体。在一场关于孟加拉国的贫困的特别令人痛苦的电影之后离开电影院的观众可能会拍摄相关的电影海报的图像,其充当为孟加拉国的穷人服务的慈善团体捐赠的入口。在识别出该电影海报时,手机可以呈现一图形/触摸用户界面,用户可通过该界面旋转拨号盘来指定一定量的慈善捐款,该慈善捐款在交易完结时从与该用户相关联的财务账户转移到与慈善团体相关联的财务账户。
关于特定硬件配置的更多说明
如在上述内容和引用的专利文献中提到的那样,存在着对通过移动设备进行通用物体识别的需要。一些专门物体识别的方法已经出现,并且这些方法已经使特定数据处理方法产生。然而,还没有提出超出专门物体识别而朝向通用物体识别的架构。
看起来,通用物体识别配置需要使用良好的原始可视数据—优选地,无设备怪癖(quirk)、场景怪癖、用户怪癖等。围绕物体识别建立的系统的开发者将通过专心于手边的物体识别任务、而不是当前必须面对的无数现有障碍、资源“黑洞”(resource sink)和第三方依赖性,来最佳地使他们的用户成功和为他们的用户服务。
如提到的那样,看起来所有物体识别技术都可以使用或甚至依赖通向“云”的管道。
“云”可以包括手机外部的任何东西。一个实例是附近的手机或分布式网络上的多个电话。可以使这些其他电话设备上未使用的处理能力能够出租(或免费)用于根据需要来调用。在此详述的实现方案的手机可以利用来自这些其它手机的处理能力。
这样的云可以是即兴的,例如在用户电话的蓝牙范围内的其它手机。该即兴网络可以通过使其它电话也把本地云扩展到他们可以通过蓝牙达到、但是用户却不能达到的另外的电话,而得到扩展。
“云”也可以包括其他计算平台,诸如置顶盒;汽车、恒温器、HVAC系统、无线路由器、本地手机塔和其它无线网络边缘(包括用于他们的软件定义无线电装备的处理硬件在内)中的处理器等。这样的处理器可以结合如由Google、Amazon等提供的更多传统云计算资源来使用。
(考虑到某些用户对隐私的顾虑,电话合乎期望地具有指示电话是否可以将数据提交给云资源进行处理的用户可配置的选项。在一种配置中,该选项具有默认值“否”,从而不仅限制功能性和电池寿命的减少,而且限制隐私顾虑。在另一种配置中,该选项具有默认值“是”。)
合乎期望地,图像响应技术应该产生短期的“结果或答案”,其一般需要一定程度的与用户的交互性—对于真正的交互应用程序而言有希望按几分之一秒计量,或者对于近期的“我耐心等待”应用程序而言有希望以几秒或几分之一分钟计量。
对于正在考虑中的物体,他们可以分解成各种类别,包括(1)通用被动式(passive)(基本搜索的线索),(2)地理被动式(至少你知道你在哪里,并且可以连接到地理特定的资源),(3)“云支持的”被动式,如同“识别的/枚举的物体”和他们的相关站点一样,以及(4)主动式/可控式,la ThingPipe(参考下面详述的技术,诸如配备有WiFi的恒温器和停车计时器)。
看起来物体识别平台不应该以经典的“纯本地设备和本地资源”软件思路来构思。然而,它可以被构思为本地设备最优化问题。即,本地设备上的软件及其处理硬件应该预期到它们与设备外的软件和硬件的交互来进行设计。设备上提供的控制功能性、像素处理功能性和应用软件/GUI与设备外提供的控制功能性、像素处理功能性和应用软件/GUI的平衡和相互作用也如上所述。(在许多实现方案中,对物体识别有用的某些数据库将处于远离设备的地方)。
在特别优选的配置中,这样的处理平台采用靠近传感器的图像处理(最优地在同一芯片上,至少一些处理任务合乎期望地由专门的专用硬件执行)。
考虑图13,其示出手机10的架构,在该架构中图像传感器12向两个处理路径馈送信号。一个是13,其是为人类视觉系统特制的,并且包括JPEG压缩等处理。另一个是14,其是为物体识别特制的。如讨论的那样,有些该处理可以由移动设备执行,而另外的处理可以提交给云16。
图14给出物体识别处理路径的以应用程序为中心的视图。一些应用程序全部驻留在手机内。有些应用程序全部驻留在手机外部—例如仅仅采用关键字向量数据作为刺激。更普遍的是混合形式,诸如一些处理在手机中完成,有些处理在外部完成,并且协调这一过程的应用软件驻留在手机中。
为了举例说明更进一步的讨论,图15示出可由特定用户的手机拍摄的一些不同类型的图像41-46的范围40。关于可以应用于每种图像的一些处理的几个简短的(并且不完全的)评论在下面的段落中提供。
图像41描绘恒温器。数字隐写数字水印47被纹理化或印刷在恒温器的外壳上。(水印在图15中被显示为是可视的,但是典型地对于观察者而言是觉察不到的)。水印传递打算供手机使用的信息,从而允许手机呈现用户借以与恒温器交互的图形用户界面。可以可选地使用条形码或其它数据载体。这样的技术在下面进一步详述。
图像42描绘包括条形码48在内的项目。该条形码传递通用产品代码(UPC)数据。其它条形码可以传递其它信息。条形码有效载荷并不是主要打算供用户手机读取(这与水印47形成对比),但是其仍然可以由手机使用以帮助确定对用户的适当响应。
图像43示出不参考任何专门机器可读信息(诸如条形码或水印)就可以识别的产品。分割算法可以应用于边缘检测图像数据以从明显的背景中区分出明显的图像主体。该图像主体可以通过其形状、颜色和纹理来识别。图像指纹法可以用于识别具有相似标记的参考图像,并且可以收获与那些其它图像相关的元数据。可以采用SIFT技术(下文讨论)来进行这样的基于模式的识别任务。低纹理区域中的镜面反射可能倾向于表示图像主体由玻璃制成。可以应用光学字符识别来获得更多信息(读取可视文本)。所有这些线索可以用来识别所描绘的项目并帮助确定对用户的适当响应。
另外(或可选地),相似图像搜索系统(诸如Google Similar Images和Microsoft Live Search)可以用来寻找相似图像,并且然后可以收获它们的元数据。(到写本文时为止,这些服务并不直接支持上传用户照片来寻找相似网络照片。然而,用户可以(使用Flickr的手机上传功能)将图像贴到Flickr上,并且它将很快会被Google和Microsoft找到并处理。)
图像44是一张朋友的快照。可以采用面部检测和识别(即,以便指示在图像中存在着脸,并且例如通过参考由Apple的iPhoto服务、Google的Picasa服务、Facebook等保持的用户相关数据来识别特定的脸并相应地用元数据对图像进行注释。)一些面部识别应用程序可以训练成用于非人类的脸,例如猫、狗、包括阿凡达在内的动画人物等。来自手机的地理位置和日期/时间信息也可以提供有用信息。
戴着太阳镜的人对一些面部识别算法提出了挑战。对这些个人的识别可以通过他们与身份(例如通过常规的面部识别)更容易确定的人的关联性来辅助。即,通过识别iPhoto/Picasa/Facebook等中包括一个或更多作为后者的个人的其它团体照,在这些照片中描绘的其他个人也可能出现在主体图像中。与无限的iPhoto/Picasa/Facebook等数据通常提供的可能范围相比,这些候选个人形成了小得多的可能范围。可从主体图像中带太阳镜的脸上辨别出的面部向量然后可以与该更小的可能范围进行比较以便确定最佳匹配。如果在识别脸的通常情况下(在任意的最高匹配分数100中)要求90分来认定匹配,那么在搜索这样的有群组约束的一组图像时,70或80分可能就足够了。(其中,如在图像44中,描绘有两个人没戴太阳镜,这两个个人在具有一个或更多其他个人的照片中的出现可以提高其与这样的分析的相关性,这例如通过提高匹配算法中的权重因子来实现。)
图像45示出纽约市的洛克菲勒中心的普罗米修斯雕像的一部分。其识别可以遵循本说明书其它地方详述的教导。
图像46是描绘科罗拉多州的Maroon Bells山脉的风景画。该图像主体可以通过参考来自手机的地理位置数据,结合地理信息服务(诸如GeoNames或Yahoo!的GeoPlanet)来识别。
(应该理解的是,在上面与图15中的图像41-46之一的处理相关地提到的技术同样可以应用于其它图像。此外,应该理解的是,尽管在一些方面中根据识别主体并编制响应的容易程度对所描绘的图像进行了排序,但是在有些方面中则没有。例如,尽管风景画图像46被描绘在最右边,但是其地理位置数据与元数据“Maroon Bells”强烈相关。因此,该特定图像呈现了比许多其它图像呈现的情况更容易的情况。)
在一个实施例中,这样的图像处理自动地发生—无需每次都要有专门的用户指令。受限于网络连接和功率限制,信息可以从这样的处理连续不断地被收集,并且可以在处理随后拍摄的图像时得到使用。例如,在包括照片44的序列中的更早的图像可能会示出所描绘的团体的没戴太阳镜的成员,从而简化后面描绘的戴太阳镜的人的识别。
图16等、实现方案
图16进入特定实现方案的本质,从而包含前面讨论的某些特征。(其它讨论的特征可以由技术人员基于所提供的公开内容在本架构内实现。)在该数据驱动式配置30中,手机照相机32的操作根据由设置模块34发送的分组数据来动态地控制,设置模块34继而由控制处理器模块36控制。(控制处理器模块36可以是手机的主处理器或辅助处理器,或者该功能可以是分布式的。)分组数据还指定将由随后的处理级38构成的链条执行的操作。
在一个特定实现方案中,设置模块34逐帧地规定照相机32在进行曝光时将要使用的参数。设置模块34也指定照相机将要输出的数据的类型。这些指示参数在与该帧相对应的数据分组57的信头部分56的第一字段55中传递(图17)。
例如,对于每个帧,设置模块34可以发出分组57,该分组57的第一字段55向照相机指示例如曝光时间长度、孔径尺寸、透镜焦距、景深等。模块34可以进一步编写字段55以指定:传感器将对传感器电荷进行求和以降低分辨率(例如从能够达到1280×960的传感器产生640×480数据的帧),输出仅来自红滤光传感器单元的数据,输出仅来自传感器中间的一条水平线的单元的数据,输出仅来自像素阵列的中心的一块128×128的单元的数据,等等。照相机指令字段55可以进一步指定照相机拍摄数据的精确时间,从而允许例如与环境照明的期望的同步(如后面详述)。
设置模块34发出的每个分组56可以在第一信头字段55中包括不同的照相机参数。因此,第一个分组可能会使照相机32用1毫秒的曝光时间拍摄一整帧图像。下一个分组可能会使照相机用10毫秒的曝光时间拍摄一整帧图像,并且第三个分组可能会规定100毫秒的曝光时间。(这些帧可以稍后组合起来被处理以产生高动态范围图像。)第四个分组可能会指示照相机对来自图像传感器的数据进行缩减采样,并把来自不同颜色滤光传感器单元的信号组合起来,以便输出4×3阵列的灰度级亮度值。第五个分组可能会指示照相机输出仅来自位于帧的中心的一块8×8像素的数据。第六个分组可能会指示照相机输出仅来自传感器的顶排、底排、中排、中上排和中下排的5行图像数据。第七个分组可能会指示照相机输出仅来自蓝色滤光传感器单元的数据。第八个分组可能会指示照相机无视任何自动聚焦指令,而是以无限远焦点拍摄一整帧。诸如此类。
每个这样的分组57从设置模块34越过总线或其它数据信道60提供给与照相机相关的照相机控制器模块。(数字照相机的细节(包括光电传感器单元的阵列、相关的模数转换器和控制电路等)对技术人员来说是公知的,因此不对其作过多的说明。)照相机32根据分组的信头字段55中的指令拍摄数字图像数据并将作为结果而得到的图像数据填充到分组的主体59中。照相机32还从分组信头删除照相机指令55(或者以允许随后的处理级无视信头字段55的方式标记信头字段55)。
当分组57由设置模块34生成时,其还包括一系列另外的信头字段58,每个信头字段58指定对应的相继的后传感器级38应该如何处理拍摄的数据。如图16中所示,存在若干这样的后传感器处理级38。
照相机32把由照相机产生的填充有图像的分组(像素分组)输出到总线或其它数据信道61上,总线或其它数据信道61将像素分组传递给第一处理级38。
处理级38检查分组的信头。由于照相机删除了传递照相机指令的指令字段55(或者将其标记为应被无视),所以级38的控制部遇到的第一信头字段是字段58a。该字段详述了级38对分组主体中的数据将要施加的操作的参数。
例如,字段58a可以指定级38对分组的图像数据将要施加的边缘检测算法的参数(或者简单地指定:应该应用这样的算法)。字段58a还可以指定:级38将用作为结果而得到的边缘检测后的一组数据替换分组主体中的原始图像数据。(数据的替换而不是附加,可以通过分组信头中的单比特标记的值来指示。)级38执行所请求的操作(在某些实现方案中可以涉及配置可编程硬件)。第一级38然后从分组信头56中删除指令58a(或者把它们标记为应被无视)并输出处理后的像素分组以便由下一处理级采取动作。
下一处理级(在这里包括稍后讨论的级38a和38b)的控制部检查分组的信头。由于字段58a被删除(或被标记为应被无视),所以遇到的第一字段是字段58b。在该特定分组中,字段58b可以指示第二级不对分组主体中的数据执行任何处理,而是仅从分组信头中删除字段58b并将像素分组传递到下一级。
分组信头的下一字段可以指示第三级38c基于16×16块对在分组主体中发现的图像数据执行二维FFT操作。所述下一字段可以进一步指示该级把处理后的FFT数据移交给无线接口,以便由指定数据伴随着一起通过因特网传送到地址216.239.32.10(所述指定数据详述例如由位于该地址的计算机对接收到的FFT数据执行的任务,诸如纹理分类)。所述下一字段可以进一步指示该级把与所拍摄图像的中心相对应的单块16×16的FFT数据移交给相同或不同的无线接口,以便传送到地址12.232.235.27,再次伴随有关于其使用的对应指令(例如,在存储的FFT数据的档案中搜索匹配者,并且如果找到匹配者则返回信息;此外,将该16×16块存储在具有相关标识符的档案中)。最后,由设置模块34生成的信头可以指示级38c把分组的主体替换为发送给无线接口的单块16×16的FFT数据。如前所述,该级也编辑分组信头以删除(或标记)它所响应的指令,使得用于下一处理级的信头指令字段是首先遇到的字段。
在另外的配置中,远程计算机的地址不是硬编码的。例如,分组可以包括指向(电话中或云中的)数据库记录或存储器位置的指针,该指针包含目的地址。或者,可以指示级38c把处理后的像素分组移交给询问路由器和响应管理器(例如图7)。该模块检查像素分组以确定接下来需要什么类型的处理,并将其路由到适当的提供商(如果资源允许的话可以在手机中,或者可以在云中—在一批静态提供商当中,或者路由到通过拍卖确定的提供商)。提供商返回所请求的输出数据(例如纹理分类信息和有关档案中任何匹配的FFT的信息),并且处理根据像素分组信头中的下一条指令继续进行。
数据流通过特定操作所需要的数量的功能而继续得到处理。
在所示出的特定配置中,每个处理级38从分组信头中剥除它执行操作所依据的指令。这些指令按照处理级的顺序在信头中排序,因此这种剥除允许每一级看到残留在信头中的第一条指令从而获得指示。当然,可以可选地采用其它配置。(例如,模块可以基于处理结果而将新信息插入到信头中(在序列中的前部、尾部或其它地方)。该修正后的信头然后控制分组流并因此控制处理。)
除了对下一级输出数据之外,每个级38还可以具有将数据提供回控制处理器模块36的输出31。例如,本地级38之一所承担的处理可以指示:照相机的曝光量或焦距应该被调节以便最优化所拍摄数据的即将到来的帧对于特定类型的处理(例如物体识别)的适配性。该焦距/曝光量信息可以用作下一次拍摄到同一类型或相似类型的帧时照相机的预测性设置数据。控制处理器模块36可以使用来自先前的帧或这些帧的子集的焦距信息的经滤波的或时序预测序列来设立帧请求。
错误和状态报告功能也可以使用输出31来实现。每一级也可以具有用于将数据提供给其他处理或模块(在本地位于手机内,或者是远程的(“在云中”))的一个或更多其它输出33。(分组形式或其它格式的)数据可以根据分组57中的指令或以其它方式被送往这样的输出。
例如,处理模块38可以基于它所执行的处理的一些结果而做出数据流选择。例如,如果边缘检测级辨别出一鲜明对比的图像,那么输出的分组可以被路由到外部服务提供商进行FFT处理。该提供商可以将作为结果而产生的FFT数据返回给其它级。然而,如果图像具有劣质的边缘(诸如散焦),那么系统可能不希望对数据执行FFT和随后的处理。因此,处理级可以取决于处理的参数(诸如辨别出的图像特性),而使数据流出现分支。
规定这种条件分支的指令可以被包括在分组57的信头中,或者它们可以以其它方式提供。图19示出了一种配置。原先在分组57中的指令58d规定了一条件,并且规定了存储器79中的位置,在所述条件得到满足的情况下可以从该位置读取替换用后续指令(58e’-58g’)并将其替换到分组信头中。如果条件未得到满足,则根据分组中已经有的信头指令继续进行处理的执行。
在其它配置中,可以采用其它变型。例如,所有可能的条件指令可以设置在分组中。在另一配置中,分组架构仍然使用,但是一个或更多信头字段不包括明确的指令。而是,它们简单地指向存储器位置,例如对应的处理级38可从所述存储器位置取回对应的指令(或数据)。
即使没有采用条件分支,存储器79(其可以包括云组件)也可以便于使处理流程得到适应。例如,处理级可以产生输出数据,该输出数据确定后一级将要施加的滤波器或其它算法的参数(例如卷积核、时间延迟、像素掩码(pixel mask)等)。这些参数可以由前一处理级在存储器中标示出(例如被确定/计算,并被存储),并且由后一级再调用以供使用。在图19中,例如,处理级38产生存储在存储器79中的参数。随后的处理级38c之后取回这些参数,并在执行其被分配的操作时使用它们。(存储器中的信息可以被标注以标识它们所来源于的或将要去往的模块/提供商<如果知道的话>,或者可以使用其他寻址配置。)因此,处理流程可以适应于在控制处理器模块36最初指示设置模块34生成分组57的时候还未知的情况和参数。
在一个特定实施例中,每个处理级38包括专门用于特定任务的硬件电路。第一级38可以是专用的边缘检测处理器。第三级38c可以是专用的FFT处理器。其它级可以专门用于其它处理。这些可以包括DCT、小波、Haar、Hough和Fourier-Mellin变换处理器,不同种类的滤波器(例如Wiener、低通、带通、高通),以及用于执行诸如下述的操作的全部或一部分的级:面部识别,光学字符识别,特征值计算,形状、颜色和纹理特征数据提取,条形码解码,水印解码,物体分割,模式识别,年龄和性别检测,情感分类,方位确定,压缩,解压缩,对数极坐标映射,卷积,内插,抽选/缩减采样/抗锯齿;相关(correlation),执行平方根和平方运算、数组乘法、透视变换、蝶式运算(将较小的DFT结果组合成较大的DFT,或者将较大的DCT分解成子变换)等。
这些硬件处理器可以是可现场配置的,而不是专用的。因此,图16中的每个处理块可以根据情况准许而动态地重新配置。在某一时刻,一个块可以配置为FFT处理模块。在下一时刻,其可以配置为过滤器级等。在某一时刻,硬件处理链可以配置为条形码读取器;在下一时刻,其可以配置为面部识别系统等。
这样的硬件重新配置信息可以从云或者从Apple AppStore等服务下载。并且该信息不需要一旦下载就静止地驻留在电话中—它可以在需要的时候从云/AppStore被召唤。
假定不断提高的宽带可用性和速度,硬件重新配置数据可以在每次手机开机或初始化时或者无论何时特定功能被初始化时被下载到手机。取决于不同用户上一次下载更新的时间,在任何给定时刻在市场中都会使用许多不同版本的应用程序的困境,以及公司在实地支持完全不同的版本的产品时面临的难题都将一去不返。每次设备或应用程序被初始化时,所有的或所选择的功能的最新版本就会被下载到电话。并且这不仅对整个系统功能有效,而且对各组件(诸如硬件驱动器、用于硬件层的软件等)有效。在每次初始化时,硬件用最新版本的可应用指令被重新配置。(对于在初始化过程中使用的代码,其可以被下载以便在下一次初始化时使用。)一些更新后的代码可以被下载并且仅在特定应用程序需要它(诸如用来配置图6的硬件以执行专门的功能)时动态地加载。所述指令也可以为特定平台定制,例如iPhone设备可以采用与Android设备不同的加速度计,并且应用程序指令可以相应地改变。
在一些实施例中,用于各种目的的处理器可以以固定的顺序形成链条。边缘检测处理器可以是第一个,FFT处理器可以是第三个,等等。
可选地,处理模块可以通过允许任何级从任何级接收数据并向任何级输出数据的一个或更多总线(和/或交叉开关矩阵(crossbar)配置或其他互连架构)而互连。另一种互连方法是片上网络(实际上是基于分组的LAN;在适应性方面类似于交叉开关矩阵,但是可通过网络协议编程)。这样的配置还可以支持使一个或更多级迭代地处理数据—把输出作为输入以执行进一步的处理。
一种迭代处理配置由图16中的级38a/38b示出。可以把来自级38a的输出作为对级38b的输入。可以指示级38b对数据不做任何处理,而是仅再次将其施加回级38a的输入。这可以循环所期望的次数。当级38a进行的迭代处理完成时,其输出可以传递给链条中的下一级38c。
除了简单地充当过渡级之外,级38b还可以对级38a处理的数据执行自身类型的处理。其输出可以施加于级38a的输入。可以指示级38a再次将其处理施加于级38b产生的数据,或者仅使级38b产生的数据通过。因此可以获得级38a/38b处理的任何串行组合。
级38a和38b在上述内容中的角色也可以互换。
以这种方式,级38a和38b可以工作以便(1)对数据施加一次或多次级38a处理;(2)对数据施加一次或多次级38b处理;(3)对数据施加由级38a和38b处理以任何组合和顺序构成的处理;或者(4)仅将输入数据传递到下一级,而不进行处理。
照相机级可以结合到迭代处理循环中。例如,为了锁定焦距,分组可以从照相机传递到确定焦距的处理模块。(实例可以包括:寻找高频图像成分的FFT级;寻找对比强烈的边缘的边缘检测器级;等等。样本边缘检测算法包括Canny、Sobel和差分。边缘检测对于物体跟踪也是有用的。)来自这样的处理模块的输出可以回送给照相机的控制器模块并改变焦距信号。照相机采用改变后的焦距信号拍摄随后的帧,并且作为结果而得到的图像再次被提供给确定焦距的处理模块。该循环继续进行,直到处理模块报告实现了阈值范围内的焦距。(分组信头或者存储器中的参数可以规定迭代极限,例如规定如果在10次迭代之内不能达到满足规定要求的焦距,则迭代应该终止并输出错误信号。)
尽管讨论集中在串行数据处理上,但是图像或其它数据也可以以两个或更多并行路径来处理。例如,级38d的输出可以施加于两个后续的级,这两个后续的级各自开始处理中的分叉的相应分支。这两个链条可以在此后独立地被处理,或者由这样的处理产生的数据可以在后续的级中被组合或者结合起来使用。(这些处理链条中的每个继而可以分叉等。)
如提到的那样,分叉在链条中通常将更早出现。即,在大多数实施例中,将采用并行处理链来产生图像以供人类消费,这与供机器消费形成对比。因此,并行处理可以在照相机传感器12之后立刻分叉,如图13中的接合点17所示。用于人类视觉系统的处理13包括降噪、白平衡和压缩等操作。相反,用于物体识别的处理14可以包括本说明书中详述的操作。
当架构涉及分叉或其它并行处理时,不同模块可能会在不同时刻完成它们的处理。它们可以在它们完成时输出数据,从而如流水线或其它互连网络允许的那样异步地输出数据。当流水线/网络空闲时,下一模块可以传递其所完成的结果。流程控制可以涉及某种仲裁,诸如赋予一种路径或数据更高的优先级。分组可以传递优先级数据,从而在需要仲裁的情况下确定它们的先后次序。例如,许多图像处理操作/模块利用诸如由FFT模块产生的傅立叶域数据。来自FFT模块的输出可以因此被赋予高优先级以及在对数据流进行仲裁时先于其它数据的先后次序,使得其它模块可能会需要的傅立叶数据可以以最小的延迟得到。
在其它实现方案中,处理级中的一些或全部并不是专用处理器,而是通过软件编程的通用微处理器。在另外的实现方案中,处理器是硬件可重新配置的。例如,一些或全部可以是现场可编程门阵列,诸如Xilinx Virtex系列器件。可选地,它们可以是数字信号处理核,诸如Texas Instruments的TMS320系列器件。
其它实现方案可以包括PicoChip器件,诸如PC302和PC312多核DSP。它们的编程模块允许每个核独立地被编码(例如用C语言),并随后通过内部互连网与其它核通信。相关工具特别适用于在蜂窝设备中使用这样的处理器。
另外的实现方案可以采用ASIC上的可配置逻辑。例如,处理器可以包括可配置逻辑(其与专用逻辑混合在一起)的区域。这允许利用专用流水线或总线接口电路,而使得流水线中具有可配置逻辑。
一个实现方案还可以包括具有小CPU和RAM的一个或更多模块,所述RAM具有用于固件的可编程代码空间和用于处理的工作空间—实质上是专用核。这样的模块可以执行相当广泛的计算,从而可根据在当时正使用硬件的处理的需要来配置。
所有这样的设备可以配置在也允许任何级从任何级接收数据并向任何级输出数据的总线、交叉开关矩阵或其他互连架构中。(以这种方式实现的FFT或其它变换处理器可以动态地重新配置以处理16×16、64×64、4096×4096、1×64、32×128等的块。)
在某些实现方案中,一些处理模块是重复的,从而允许在并行硬件上并行执行。例如,若干FFT可以同时进行处理。
在变型配置中,分组传递用来重新配置一个或更多处理模块的硬件的指令。当分组进入模块时,信头使模块在接受图像相关数据进行处理之前对硬件进行重新配置。架构因此通过分组(其可以传递或者可以不传递图像相关数据)即时地得到配置。分组可以类似地传递固件以使其被加载到具有CPU核的模块或者被加载到基于应用程序或基于云的层(同样利用软件指令)。
模块配置指令可以通过无线或其它外部网络来接收;其不需要始终驻留在本地系统上。如果对用户请求的操作而言本地指令不可用,则系统可以从远程的源请求配置数据。
分组也可以简单地传递索引号、指针或其他地址信息,而不是传递配置数据/指令本身。该信息可以由处理模块使用以访问对应的存储库,从该存储库可以取回所需的数据/指令。如同缓存一样,如果发现本地存储库没有包含所需的数据/指令,则然后可以(例如越过外部网络)从另一个源请求它们。
这样的配置将动态路由能力下放到硬件层,从而在数据到达模块时对该模块进行配置。
并行性在图形处理单元(GPU)中广泛地得到采用。许多计算机系统采用GPU作为处理图形渲染等操作的辅助处理器。手机越来越多地包含GPU芯片以允许手机充当游戏平台;这些可以被采用以便有利于本技术的某些实现方案。(举例来说而不是进行限制,GPU可以用来执行双线性和双三次内插、投影变换、滤波等。)
根据本技术的另一方面,GPU被用来校正透镜像差和其它光学畸变。
手机照相机经常显示光学非线性,诸如桶形畸变、周界上的对焦异常等。这特别是在对来自所拍摄图像的数字水印信息进行解码时遇到的问题。利用GPU,图像可以作为纹理映射图来对待并被施加到校正表面上。
典型地,纹理映射被用来将砖或石墙的照片放到例如地牢的表面上。参考纹理存储器数据,并且在绘制平面或多边形时将纹理存储器数据映射到平面或多边形上。在本上下文中,是图像被施加到表面上。该表面是有形状的,使得图像利用任意校正变换得到绘制。
加有数字水印的图像中的数字隐写校准信号可以用来分辨出借以对图像进行变换的畸变。(参见例如Digimarc的专利6,590,996。)加有水印的图像的每一块都可以通过仿射变换参数(诸如平移和缩放)来表征。由此可以导出所拍摄的帧中的每个位置的误差函数。从该误差信息中,可以作出对应的表面—当GPU把畸变的图像投影到其上时,该表面使图像以其反畸变的、原始的形态出现。
透镜可以以这种方式用参考水印图像表征。一旦已经作出相关的校正表面,它就可以与通过该光学系统拍摄的其它图像一起重新使用(由于相关的畸变是固定的)。其它图像可以由GPU投影到该校正表面上以校正透镜畸变。(由于经过透镜的光路可能会不同,所以不同的焦深和孔径可能会需要不同的校正函数来表征。)
当拍摄到新图像时,最初可以对其进行直线化,以使其摆脱梯形畸变/梯形透视效应。一旦被直线化(例如相对于照相机透镜剪切成方形(re-square)),局部畸变可以通过使用GPU把直线化图像映射到校正表面上而得到校正。
因此,校正模型本质上是多边形表面,在该表面上,倾斜和隆起对应于焦距的不规则性。图像的每个区域具有允许校正该块图像的局部变换矩阵。
相同的配置可以同样用来校正图像投影系统中的透镜的畸变。在投影之前,将图像如同纹理那样映射到合成的校正表面上以抵消透镜畸变。当这样处理过的图像通过透镜投影时,透镜畸变抵消早先施加的校正表面畸变,从而使校正后的图像从系统投影出来。
参考作为照相机32在进行曝光时可以采用的参数之一的景深。尽管透镜仅能精确地聚焦在一个距离处,但是锐度在聚焦距离的任一侧上是逐渐降低的。(景深取决于光学器件的点扩散函数—包括透镜焦距和孔径。)只要拍摄到的像素产生对意图进行的操作有用的信息,它们就不需要完美地对焦。
有时对焦算法搜寻焦点但是未能找到焦点,从而浪费周期和电池寿命。在一些实例中,更好的是,简单地以一系列不同的焦距设置来抓取帧。可以使用焦深或景深的搜索树。这在图像可能包括潜在感兴趣的各自处于不同平面中的多个主体的情况下特别有用。系统可以拍摄聚焦在6英寸处的一帧,并且可以拍摄聚焦在24英寸处的另一帧。不同的帧可以揭示出在视场内存在两个感兴趣的物体—一个物体在一个帧中更好地被拍摄,另一个物体在另一帧中更好地被拍摄。或者可能会发现24英寸聚焦的帧不具有有用的数据,但是6英寸聚焦的帧可能包括足够有辨别力的频率内容从而能看到存在两个或更多主体图像平面。基于所述频率内容,然后可以用其它焦距设置来拍摄一个或更多帧。或者24英寸聚焦的帧中的一区域可能具有一组傅立叶特性,而6英寸聚焦的帧中的相同区域可能具有不同的一组傅立叶特性,并且从这两帧之间的区别中,可以确定下一试验焦距设置(例如聚焦在10英寸处),并且可以以该焦距设置来拍摄又一帧。施加反馈不一定是为了获得完美的焦距锁定,而是根据搜索标准施加反馈来决定可能会揭示额外有用细节的另外的拍摄。搜索可以取决于所辨别出的物体的数目和相关的傅立叶等信息而分叉和分支,直到生成了有关所有物体的满意信息为止。
相关方法是,当照相机透镜系统正经历调节从而被调节成期望的焦距设置时,拍摄和缓冲多个帧。对最终以期望的焦距拍摄的帧的分析可能会暗示出中间焦距的帧会揭示出有用的信息,例如有关在早先不明显或不显著的主体的信息。早先拍摄和缓冲的一个或更多帧然后可以被召回并处理以提供显著性在早先未被识别的信息。
照相机控制也可以对空间坐标信息做出响应。通过使用地理位置数据和方位(例如通过磁力计),照相机可以检查它正在拍摄期望的目标。照相机设置模块不仅可以请求某些曝光参数的图像,而且可以请求某些物体或位置的图像。当照相机以恰当的姿态拍摄特定主体(其可以已经预先由用户指定,或者通过计算机处理识别)时,可以自动地拍摄一帧或更多帧的图像数据。(在一些配置中,照相机的方位由步进电机或其它机电装置控制,使得照相机可以自主地设置方位角和俯仰角以从特定方向拍摄图像数据,从而拍摄期望的主体。也可以利用透镜方向的电子或流体控制。)
如提到的那样,照相机设置模块可以指示照相机拍摄一序列帧。除了合成高动态范围图像等益处之外,这些帧还可以排列和组合以获得超分辨率的图像。(如本领域已知的那样,超分辨率可以通过多种多样的方法获得。例如,图像的频率内容可以被分析,通过线性变换而彼此相关,进行仿射变换以校正对准,随后被重叠和组合。除了其它应用程序之外,这可以在对来自图像的数字水印数据进行解码时使用。如果主体离照相机太远以致于通常不能获得满意的图像分辨率,则可以通过这样的超分辨率技术使其加倍以获得成功进行水印解码所需的更高分辨率。)
在示例性实施例中,每个处理级用其处理结果替换当接收到分组时该分组中所包含的输入数据。在其它配置中,处理后的数据可以添加到分组主体中,同时维持原来就存在的数据。在这样的情况下,分组在处理过程中增大,因为添加了更多信息。尽管这在一些情况下可能是不利的,但是也提供了优点。例如,可以消除使处理链分叉成两个分组或两个线程的需要。有时原始数据和处理后的数据对后续的级都是有用的。例如,FFT级可以将频域信息添加到包含原始像素域图像的分组中。这两者都可以由后续级在例如执行用于超分辨率处理的子像素对准时使用。同样,焦距度量可以由后续级从图像中提取并与伴随的图像数据一起使用。
应认识到的是,所详述的配置可以用来控制照相机逐帧地产生不同类型的图像数据,并用来控制系统的后续级有差别地处理每个这样的帧。因此,系统可以在为了使绿色水印检测最优化而选择的条件下拍摄第一帧,在为了使条形码读取最优化而选择的条件下拍摄第二帧,在为了使面部识别最优化而选择的条件下拍摄第三帧,等等。可以指示后续级有差别地处理这些帧中的每一帧,以便最佳地提取所寻求的数据。所有帧可以被处理以感测照度变化。可以例如通过在图像帧内的九个不同位置计算16×16像素的FFT,来每隔一帧地进行处理以评估焦距。(或者可以存在允许所有帧被评估以获得焦距的分叉,并且焦距分支可以在不需要时被禁用,或者被重新配置以为另一目的服务。)等等。
在一些实现方案中,帧拍摄可以转变成捕获数字水印信号中存在的数字隐写校准信号,而不考虑是否成功解码了水印有效载荷数据自身。例如,所拍摄的图像数据可以是较低分辨率的—足以辨别出校准信号,但不足以辨别出有效载荷。或者照相机可以在不考虑人类感知的情况下对图像进行曝光,例如进行过曝光使得图像最明亮部分被洗掉,或者进行欠曝光使得图像的其它部分不能区分。然而这样的曝光可能足以捕获水印定位信号。(当然可以采用反馈来拍摄一个或更多后续图像帧,从而纠正先前图像帧的一个或更多缺陷。)
作为图像亮度的调制,一些数字水印被嵌入特定颜色通道(例如蓝色)中,而不是跨越各颜色(参见例如与Reed共有的专利申请12/337,029)。在拍摄包括这样的水印的帧时,可以在不考虑图像中其它颜色的曝光量的情况下,选择曝光量以产生蓝色通道中的最大动态范围(例如在8位传感器中为0-255)。一个帧可以拍摄成使一种颜色(诸如蓝色)的动态范围最大化,并且后一帧可以拍摄成使另一颜色通道诸如黄色(即沿着红-绿轴)的动态范围最大化。这些帧然后可以被对准,并且蓝-黄差别可以得到确定。这些帧可以取决于光照、主体等而具有完全不同的曝光时间。
合乎期望地,系统具有即使当用户不打算“拍”一张照片时仍拍摄和处理图像的操作模式。如果用户按压快门按钮,则以其它方式安排的图像拍摄/处理操作可以被暂停,而消费者照片拍摄模式可以优先执行。在这种模式下,可以采用设计成增强图像的人类视觉系统方面的拍摄参数和处理作为替代。
(应认识到的是,图16中示出的特定实施例在收集到任何图像数据之前产生分组。相反,图10A和相关的讨论并不涉及在照相机之前存在的分组。任何一种配置可以用在任何一个实施例中。即,在图10A中,分组可以在照相机拍摄图像数据之前建立,在这种情况下,可视关键字向量处理和封装模块用来把像素数据(或更典型地,像素数据的子集或超集)插入早先形成的分组中。类似地,在图16中,直到照相机已经拍摄图像数据之后,才需要生成分组。)
如早先提到的那样,一个或更多处理级可以远离手机。一个或更多像素分组可以被路由到云(或者被路由经过云)进行处理。结果可以返回给手机,或者发送到另一云处理级(或者既返回给手机又发送到另一云处理级)。一旦回到手机,就可以执行一个或更多进一步的本地操作。数据然后可以发送回给云,等等。处理因此可以在手机和云之间交替进行。最终,结果数据通常在手机上被呈现回给用户。
申请人预期不同的商家将提供为了专门的处理任务而竞争的云服务。例如,Apple、Google和Facebook可以各自提供基于云的面部识别服务。用户设备将传送处理数据的分组以进行处理。分组的信头可以指示用户、所请求的服务,并任选地指示微支付指令。(再者,信头可以传递借以在云数据库中查找期望的业务、或者用来为某种业务(诸如购买,在Facebook上张贴,面部或物体识别操作等)安排操作或一序列处理的索引或其它标识符。一旦这样的索引式业务安排最初得到了配置,就可以简单地通过向云发送包含图像相关数据和指示所期望的操作的标识符的分组,来容易地调用所述业务安排。)
在例如Apple服务中,服务器可以检查到来的分组,查找用户的iPhoto账户,从该账户访问用户的朋友的面部识别数据,从利用分组传递的图像数据中计算面部识别特征,确定最佳匹配,并将结果信息(例如所描绘的个人的名字)返回给始发设备。
在用于Google服务的IP地址处,服务器可以采取类似的操作,但是将参考用户的Picasa账户。对于Facebook而言,也同上。
从几十或几百的已知朋友的脸中识别一张脸比识别陌生人的脸要更容易。其它商家可以提供后一种服务。例如,L-1 Identity Solutions公司维护来自政府颁发的凭证(诸如驾驶者的执照)的图像的数据库。在适当的许可下,该公司可以提供从这样的数据库得到的面部识别服务。
其它处理操作可以类似地在远程进行。一种是条形码处理器,其取得从移动电话发送的处理后的图像数据,施加对于出现的条形码的类型而言特定的解码算法。一种服务可以提供一个、几个或几十个不同类型的条形码。解码数据可以返回给电话,或者服务提供商可以访问由该解码数据指示的另外的数据(诸如产品信息、用法说明、购买选择权等),并将这些另外的数据返回给电话。(或者两者都可以被提供。)
另一种服务是数字水印读取。另一种是光学字符识别(OCR)。OCR服务提供商可以进一步提供翻译服务,例如将所处理的图像数据转换成ASCII符号,并随后将ASCII字码提交给翻译引擎以将它们翻译成不同的语言。其它服务在图2中举出。(实际情况阻止了对也可以被提供的无数其它服务和组分操作的枚举。)
来自远程服务提供商的输出通常被返回给手机。在许多实例中,远程服务提供商将返回处理后的图像数据。在一些情况下,它可以返回ASCII或其它这样的数据。然而,有时远程服务提供商可能会产生其它形式的输出,包括音频(例如MP3)和/或视频(例如MPEG4和Adobe Flash)。
从远程提供商返回给手机的视频可以呈现在手机显示屏上。在一些实现方案中,这样的视频呈现用户界面屏幕,邀请用户触摸或在所显示的图像内作手势以选择信息或操作或者发布指令。手机中的软件可以接收这样的用户输入并采取响应操作或者呈现响应信息。
在另一些配置中,从远程服务提供商提供回给手机的数据可以包括JavaScript或其它这样的指令。当由手机运行时,JavaScript把与所涉及的处理后的数据相关的响应提供给远程提供商。
远程处理服务可以在各种各样的不同的财务模型下提供。AppleiPhone服务计划可以无额外费用地与各种各样的远程服务(例如基于iPhoto的面部识别)捆绑在一起。其它服务可以依据按使用量收费、每月预订或其它使用计划来开帐单。
一些服务将无疑是高度品牌化和市场化的。有些服务可以以质竞争;有些服务可以以价格竞争。
如提到的那样,存储的数据可以指示不同服务的首选提供商。这些可以明确地标识出来(例如把所有FFT操作发送给FraunhoferInstitute服务),或者它们可以由其它属性指定。例如,手机用户可以指示所有远程服务请求将被路由到在(例如由消费者联盟进行的)定期更新的提供商调查中被评级为最快的提供商。手机可以定期地检查该信息的公布结果,或者它可以在请求服务时被动态地检查。另一用户可以规定服务请求将被路由到具有最高消费者满意度分数的服务提供商(同样通过参考在线评级资源)。另一用户可以规定请求应该被路由到具有最高消费者满意度分数的提供商—但是仅当该服务是免费提供时才这样;否则被路由到费用最低的提供商。这些配置和其它配置的组合当然是可能的。在特定情况下,用户可以规定一特定服务提供商,从而胜过由所存储的配置数据作出的任何选择。
在另一些配置中,用户对服务的请求可以公布给外部,并且若干服务提供商可能会表达对执行所请求的操作的兴趣。或者请求可以被发送给若干特定服务提供商以获得建议(例如发送给Amazon、Google和Microsoft)。不同提供商的响应(定价、其它条款等)可以呈递给在他们之间进行选择的用户,或者选择可以基于先前存储的规则自动地作出。在一些情况下,可以向一个或更多竞争服务提供商提供借以在服务提供商选择最终被作出之前开始执行或完全执行主题操作的用户数据,从而向这些提供商提供加快他们的响应时间和遇到另外的真实世界数据的机会。(也参见例如结合图7-12对远程服务提供商(包括基于拍卖的服务)的早先讨论。)
如在其它地方表明的那样,某些外部服务请求可以经过公共中枢(模块),其负责将请求分发给适当的服务提供商。相互地,来自某些外部服务请求的结果可以类似地通过公共中枢被路由。例如,由不同服务提供商从不同数字水印解码出的有效载荷(或者从不同条形码解码出的有效载荷,或者从不同内容对象计算出的指纹)可以被提交给公共中枢,该公共中枢可以统计和汇总信息(类似于Nielsen的监测服务—用不同的数据调查消费者遭遇)。除了解码的水印数据(条形码数据,指纹数据)之外,还可以(或者可以可选地)向所述中枢提供与各解码/计算操作相关的质量或置信度度量。这可以有助于揭示需要考虑的封装问题、打印问题、媒介损坏问题等。
管道管理器
在图16的实现方案中,去往以及来自云的通信由管道管理器51推动。该模块(其可以被实现为图7的询问路由器和响应管理器的手机端部分)执行与越过数据管道52进行的通信有关的各种各样的功能。(应认识到的是,管道52是一种可以包括各种各样的通信信道的数据构造。)
由管道管理器51执行的一种功能是为所需的通信资源进行协商。手机可以采用各种各样的通信网络和商业数据运营商(例如蜂窝数据、WiFi、蓝牙等,这些的任何一种或全部都可以利用)。每种通信网络都可能具有自己的协议堆栈。在一个方面中,管道管理器51与用于这些数据信道的各个接口交互,从而确定用于不同数据有效载荷的带宽的可用性。
例如,管道管理器可以警告蜂窝数据运营商本地接口和网络:在大约450毫秒之后将有一有效载荷准备好进行传送。管道管理器可以进一步规定有效载荷的大小(例如两兆比特)、特征(例如块数据)和所需的服务质量(例如数据吞吐率)。管道管理器也可以规定传送的优先级,使得在发生冲突的情况下,接口和网络可以先于低优先级的数据交换来为这样的传送服务。
管道管理器由于控制处理器模块36所提供的信息而知道有效载荷的预期大小。(在示出的实施例中,控制处理器模块指定将会产生有效载荷的特定处理,并因此可以估算结果数据的大小)。控制处理器模块也可以预测数据的特征,例如数据将作为固定的块出现还是以脉冲串形式间歇地出现,数据为了传输而被提供的速率等。控制处理器模块36也可以预测数据准备好进行传送的时间。优先级信息也是被控制处理器模块所知的。在一些实例中,控制处理器模块自主地设置优先级。在另一些实例中,优先级由用户或者由正被服务的特定应用程序规定。
例如,用户可以通过手机的图形用户界面明确地发信号通知或者特定应用程序可以定期地请求:基于图像的动作将被立刻处理。这可以是例如这样的情况:基于图像处理的结果可预期来自用户的进一步的动作。在有些情况下,用户可以明确地发信号通知或者特定应用程序可以通常地允许:基于图像的动作可以在任何方便的时候(例如当所需的资源具有低或零利用率时)被执行。这可以是例如这样的情况:用户要将快照贴到社交网络站点(诸如Facebook)上并且希望该图像用所描绘的那些个人的名字来注释(通过面部识别处理)。也可以采用中级优先化(由用户或应用程序表达),例如在1分钟、10分钟、1小时、1天等之内处理。
在示出的配置中,控制处理器模块36向管道管理器通知预期的数据大小、特征、定时和优先级,使得管道管理器可以在为期望的服务协商时使用它们。(在其它实施例中,可以提供更少或更多的信息。)
如果运营商和接口可以满足管道管理器的请求,则进一步的数据交换可以接着发生以便为数据传送作准备并使远程系统为预期的操作做好准备。例如,管道管理器可以与云中的将要接收该特定数据有效载荷并识别用户的特定计算机建立安全套接字连接。如果云计算机将要执行面部识别操作,则它可以通过从Apple/Google/Facebook中取回指定用户的朋友们的面部识别特征和相关的名字,来为该操作作准备。
因此,除了为外部通信准备信道之外,管道管理器还启用远程计算机的预热,以便使其为预期的服务请求作好准备。(服务请求可能没有跟着发生。)在一些实例中,用户可能会操作快门按钮,并且手机可能会不知道接着将是什么操作。用户将要请求面部识别操作吗?条形码解码操作吗?将图像贴到Flickr或Facebook上吗?在一些情况下,管道管理器或控制处理器模块可以预热若干处理。或者它可以基于过去的经验来预测将要采取什么操作,并使适当的资源准备好。(例如,如果用户在最近的三次快门操作之后执行了面部识别操作,则存在着用户将再次请求面部识别的很大可能性。)手机可以实际上在任何功能已经被选择之前就开始执行用于各种可能功能的组分操作—特别是其结果可能对若干功能都有用的那些操作。
预热也可以包括手机内的资源:对处理器进行配置,加载缓存等。
刚刚回顾的情况设想:期望的资源已准备好处理预期的业务。在另一情况下,管道管理器可能会报告运营商是不可用的(例如由于用户正处于削弱的无线电服务的区域中。)该信息可以被报告给控制处理器模块36,控制处理器模块36可以改变图像处理的进度安排,对结果进行缓存,或者采取其它响应动作。
如果其它有冲突的数据传输正在进行中,则运营商或接口可以对管道管理器做出这样的响应:所请求的传输不能例如在请求的时间或以请求的服务质量被提供。在这种情况下,管道管理器可以把同样的情况报告给控制处理器模块36。控制处理器模块可以中止将要导致2兆比特数据服务请求的处理,并重新安排它在以后执行。可选地,控制处理器模块可以决定:2兆比特有效载荷可以按照原来安排的那样产生,并且其结果可以在本地缓存以便当运营商和接口能够这样做时进行传输。或者可以采取其它动作。
考虑一个商业聚会,在该商业聚会中在晚餐前参加者聚集在一起拍合照。用户可能希望照片中的所有脸都被立即识别,使得这些脸可以被快速回顾以避免无法想起同僚名字的尴尬。甚至在用户操作手机的用户快门按钮之前,控制处理器模块就使该系统处理图像数据的帧,并且正在识别视场中的明显的脸(例如在预期的位置具有两个似乎是眼睛的东西的椭圆形)。这些可以在手机的取景器(屏幕)显示屏上用矩形突出显示。
尽管当前的照相机具有基于透镜/曝光配置(例如特写、夜景、海滩、风景、雪景等)的拍照模式,但是成像设备可以另外地(或可选地)具有不同的图像处理模式。一种模式可以由用户选择来获得照片中描绘的人们的名字(例如通过面部识别)。另一种模式可以被选择来执行在图像帧中发现的文本的光学字符识别。另一种模式可以触发与所描绘项目的购买相关的操作。对于卖出所描绘的项目而言,也同上。对于(例如从Wikipedia、社交网络、制造商的网站)获得有关所描绘的物体、场景或人的信息等而言,也同上。对于建立与项目或相关系统的ThinkPipe会话而言,也同上。等等。
这些模式可以在操作快门控制之前或之后由用户选择。在其它配置中,多种快门控制(物理的或GUI)被提供给用户,从而分别调用不同的可用操作。(在另外的实施例中,设备推断什么操作可能是期望的,而不是让用户明确地指示期望的操作。)
如果用户在商业聚会上拍摄了描绘十二个人的集体照并且请求即时地获得那些名字,则管道管理器51可以把所请求的服务不能被提供的情况报告回给控制处理器模块(或应用软件)。由于瓶颈或其它限制,管理器51可以报告仅三个所描绘的脸的识别可以在被认为构成“即时”标准的服务质量参数内提供。另外三个脸可以在两秒内被识别,并且完整的一组脸的识别可以预期在5秒钟后完成。(这可能是由于远程服务提供商的限制,而不是运营商自身的限制。)
控制处理器模块36(或应用软件)可以根据算法或者通过参考存储在本地或远程数据结构中的规则集来对该报告做出响应。算法或规则集可以断定:对于面部识别操作而言,在无论什么样的条件可用时都应该接受延迟的服务,并且应该(通过设备GUI)警告用户:在完整的结果可用之前将有大约N秒钟的延迟。任选地,所报告的预期延迟的原因也可以透露给用户。其它服务异常可以有差别地得到处理—在一些情况下操作被中止或重新安排或路由到次优选的提供商,和/或不警告用户。
除了考虑本地设备通过接口连接到网络的能力以及网络/运营商(在指定的参数内)处理预测的数据业务的能力之外,管道管理器还可以从云中询问出资源—以确保这些资源能够(在指定的参数内)执行所请求的任何服务。这些云资源可以包括例如数据网络和远程计算机。如果任何云资源否定地做出响应或者以服务水平资格做出响应,则这也可以被报告回给控制处理器模块36,使得可以采取适当的动作。
响应于来自管道管理器51的表明在为预期的数据流服务的过程中可能有的困难的任何通信,控制处理36可以在必要的情况下向管道管理器和/或其它模块发布对应的指令。
除了刚刚详述的预先为所需的服务进行协商和设立适当的数据连接的任务之外,管道管理器还可以充当流控制管理器—协调来自手机中的不同模块的数据的传递,解决冲突,并将错误报告回给控制处理器模块36。
尽管上述讨论已经集中在出站的数据业务上,但是也存在类似的返回给手机的入站流。管道管理器(和控制处理器模块)也可以帮助管理该业务—提供与结合出站业务讨论的那些服务互补的服务。
在一些实施例中,可以存在远在云中的管道管理器对应模块53,其与手机中的管道管理器51协作执行所详述的功能。
控制处理器&管道管理器的软件实施例
自主机器人技术领域的研究与在此描述的方案共同具有一些类似的挑战,具体地说,是使传感器的系统能够将数据传递到本地和远程处理,从而导致在本地采取动作的挑战。在机器人技术的情况下,其涉及移动机器人离开危险地;在本情况下,其最一般地集中在基于遭遇到的图像、声音等来提供期望的体验上。
与执行简单操作(诸如障碍回避)相反,本技术的各方面期望基于传感输入来提供更高级的语义学并因此提供更丰富的体验。将照相机指向海报的用户不想知道与墙壁的距离;用户更加倾向于想知道海报上的内容,它是否与电影有关,它正在哪里上映,评论,他们的朋友怎么认为,等等。
尽管有这样的不同,但是来自机器人工具包的架构方法可以得到适应以供本上下文使用。一种这样的机器人工具包是例如Player Project—可作为开放源码从sourceforge-dot-net获得的一组用于机器人和传感器应用的免费软件工具。
Player Project架构的例子在图19A中示出。移动式机器人(其典型地具有相对低性能的处理器)使用无线协议与固定的服务器(其具有相对高性能的处理器)通信。各种传感器外围设备通过相应的驱动程序和API连接到移动式机器人(客户机)处理器。同样,服务可以由服务器处理器通过另一API从软件库调用。(图19A示出了CMU的CMVision库。)
(除了用于将机器人装备通过接口连接到传感器和服务库的基本工具之外,Player Project还包括“Stage”软件,其利用各种传感器和处理(包括视觉污点检测)来模拟在2D环境中移动的一群移动式机器人。“Gazebo”将Stage模型扩展到3D。)
通过这样的系统架构,可以通过提供经由接口与机器人API连接的驱动器软件来快速利用新传感器。类似地,新服务可以通过服务器API被容易地插入。这两个Player Project的API提供标准化的抽象,使得驱动器和服务不需要参与机器人或服务器的特定配置(并且反之亦然)。
(下面讨论的图20A也提供了传感器、本地可用的操作和外部可用的操作之间的抽象层。)
本技术的某些实施例可以使用通过技术人员所熟悉的分组网络和处理间&处理内通信构造(例如所谓的管道、套接字等)连接的、类似于Player Project的本地处理&远程处理范式来实现。在通信细节之上的是不同处理借以通信的协议;这可以采取分组传递范式和消息队列的形式,或者更多地采取在事后解决关键字向量的冲突的网络中心方法(重新发送,在实际上及时的情况下丢弃,等等)的形式。
在这样的实施例中,来自移动设备上的传感器(例如麦克风、照相机)的数据可以以关键字向量的形式用相关的指令封装。与数据相关的指令可以不是明确的;它们可以基于背景环境或用户期望(在拍照模式中,可以假定是面部检测)而是暗示的(诸如Bayer转换)或者会话特定的。
在一种特定配置中,来自每个传感器的关键字向量通过设备驱动器软件处理来创建和封装,所述设备驱动器软件处理把传感器的硬件特定实施例抽象化并提供遵循所选择的协议的完整地形成的关键字向量。
设备驱动器软件可以随后将形成的关键字向量放在该传感器独有的输出队列上,或者放入所有传感器共享的公用消息队列中。不管采用什么方法,在将作为结果而产生的关键字向量放回到队列上之前,本地处理可以使用关键字向量并执行所需的操作。这些将由远程服务处理的关键字向量随后被放入分组中并直接传送到用于进行附加处理的远程处理或者传送到分发关键字向量的远程服务(类似于路由器)。对于读者来说应该清楚的是,用于初始化或设立系统中的任何传感器或处理的这些命令可以以相似的方式从控制处理(例如图16中的框36)分发。
分支预测;商业激励
分支预测技术是为了满足日益复杂的处理器硬件的需要而出现的;它允许具有很长流水线的处理器取来数据和指令(并且在一些情况下,执行指令),而无需等待做出关于条件分支的决定。
类似的技术可以应用在本上下文中—预测人类用户将采取什么动作。例如,如上面讨论的那样,刚刚详述的系统可以在预期到某些数据或处理操作即将到来的情况下“预热”某些处理器或通信信道。
当用户从她的手提包中取出iPhone(从而使传感器暴露于增强的光照)并将其举到视高度(由加速度计感测)时,她将要做什么呢?可以参考过去的行为来做出预测。特别相关的行为可以包括:在最后一次使用手机照相机时用户用手机照相机做了什么;在昨天的大约同一时间(以及在一周前的同一时间)用户用手机照相机做了什么;用户最后一次在大约同一位置做了什么;等等。可以预先地采取相应的动作。
如果她的纬度/经度对应于录像带出租店内的位置,那么那会有所帮助。预期可能对来自DVD盒上的图片执行图像识别。为了加快可能的识别,或许SIFT或其它特征识别参考数据应该被下载作为候选DVD并存储到手机缓存中。最近的新发行影片是好的有希望的候选者(除了评级为G或因暴力而评级较高的那些影片—存储的配置数据表明用户就是没有观看那些影片的历史)。她在过去已经看过的电影(由历史租借记录表明—对手机也是可用的)也是好的有希望的候选者。
如果用户的位置对应于商业区街道并且磁力计和其它位置数据表明她正注视北方且从地平线向上倾,什么可能是她所感兴趣的呢?即使没有图像数据,快速参考在线资源(诸如Google Streetview)也可以暗示她正在沿第5大街看商业标志。或许用于该地理位置的特征识别参考数据应该下载到缓存中以便快速匹配将要获取的图像数据。
为了加快性能,缓存应该以合理的方式加载,使得最有可能的物体被首先考虑。该位置的Google Streetview包括表明第5大街具有Starbucks、Nordstrom商店和泰国餐馆的标志的元数据。为用户存储的配置文件数据揭示出她每天光顾Starbucks(她有它们品牌的忠诚卡);她是一个频繁购买服装的购物者(虽然有Macy的签帐卡,但没有Nordstrom的签帐卡);并且她从未在泰国餐馆吃过饭。或许缓存应该被加载以便最快地识别Starbucks的标志,接着识别Nordstrom的标志,接着识别泰国餐馆的标志。
所拍摄的用于在取景器上呈现的低分辨率图像不能触发照相机对可能的脸进行特征突出显示(例如出于曝光最优化的目的)。这会有所帮助。不需要预热与面部识别相关的复杂处理。
她触摸虚拟的快门按钮,从而拍摄一帧高分辨率图像,并且图像分析开始进行—尝试识别在视场中有什么,使得照相机应用程序能够叠加与所拍摄帧中的物体相关的图形链接。(或者这可以无需用户动作就发生—照相机可以主动地注视。)
在一种特定配置中,可视“小玩意”(图0)被覆盖在所拍摄的图像上。轻拍任何一个小玩意会拉起一信息屏幕(诸如链接的排序列表)。不同于Google网络搜索(其基于综合的用户数据来将搜索结果以某一顺序排序),照相机应用程序尝试进行为用户配置文件定制的排序。如果Starbucks标志在帧中被发现,则对于该用户而言Starbucks链接位于顶部位置。
如果Starbucks、Nordstrom和泰国餐馆的标志全都被发现,则链接将通常按照(与从配置文件数据推断的用户偏好相应的)所述顺序呈现。然而,如果情况准许的话,手机应用程序可以具有资本主义倾向并愿意将一链接提升一或两个位置(尽管可能不会提升到顶部位置)。在本情况下,手机例行地将IP分组发送给与每个链接相关联的地址处的网络服务器,警告它们有一iPhone用户已经从特定纬度/经度识别出他们公司的标志。(如果隐私考虑和用户许可允许的话,还可以提供其它用户数据。)泰国餐馆服务器立刻返回响应—向接下来两位顾客提供任何一个项目的75折(餐馆的销售点系统表明仅四张桌子被占用并且没有待处理的订单;厨师正闲着)。如果电话在其呈现的搜索结果中呈现提供给用户的折扣,则餐馆服务器将出价三美分,或者如果电话还将该链接提升到排序列表的第二位,则餐馆服务器将出价五美分,或者如果电话这样做并且是结果列表中呈现的唯一折扣推荐,则餐馆服务器将出价十美分。(Starbucks也以激励做出了响应,但是没有那么吸引人)。手机快速接受餐馆的出价并且支付快速地得到作出—或者给用户(例如支付每月的电话账单)或者更可能给电话的运营商(例如AT&T)。链接按照Starbucks、泰国餐馆和Nordstrom的顺序为它们呈现,且餐馆的链接指明对接下来两位顾客的折扣。
Google的AdWord技术已经是知名的。它基于包括拍卖确定的支付在内的因素来决定哪些广告将作为赞助链接呈现在Google网络搜索结果的旁边。Google已经使该技术适用于基于第三方网络站点的特定内容来将广告呈现在这些站点和博客上,这被称为服务AdSense。
根据本技术的另一方面,AdWord/AdSense技术被扩展到手机上的可视图像搜索。
考虑位于小书店中拍摄了一张Warren Buffet的传记《Snowball》的照片的用户。该书被快速地识别,但是不是(如采用常规Google搜索可能会发生的那样)将对应的Amazon链接呈现在列表顶部,手机识别出该用户位于独立的书店中。基于环境的规则因此规定:手机首先呈现非商业链接。这种类型的排名第一的是《华尔街日报》对该书的评论,其排在所呈现的链接列表的顶部。然而,恰当得体也只能仅此而已。手机将该书的书名或ISBN(或者图像本身)传递给GoogleAdSense或AdWord,Google AdSense或AdWord确定将与该物体相关联的赞助链接。(Google可以独立地对任何提供的图像执行自己的图像分析。在一些情况下,它可以对这样的手机提交的图像提供支付—由于Google具有开发来自形形色色的源的数据的习惯。)根据Google,Barnes和Noble具有顶部的赞助位置,接着是alldiscountbooks-dot-net。手机应用程序可以以在图形上作区分的方式呈现这些赞助链接以表明它们的来源(例如在显示屏的不同部分呈现,或者以不同的颜色呈现),或者手机应用程序可以将它们与非商业搜索结果交替地插入(即插入第二和第四位的位置)。由Google收集的AdSense收益可以再次与用户分享或者与用户的运营商分享。
在一些实施例中,手机(或Google)再次对为其呈现链接的公司的服务器进行分组因特网探索(ping)—帮助他们跟踪他们的基于实体世界的在线可见度。分组因特网探索可以包括用户的的位置和引起该分组因特网探索的物体的标识。当alldiscountbooks-dot-net接收到该分组因特网探索时,它可以检查库存并发现它的《Snowball》的库存显著过剩。如在早先给出的实例中那样,它可以为某种额外的促销(例如在呈现的链接中包括“我们有732本—便宜!”)提供额外支付。
除了为更突出的搜索列表(例如在列表中处于更高位置,或者添加有附加信息)提供激励之外,公司还可以提供额外的带宽来向客户供应信息。例如,用户可能会从电子广告牌拍摄视频图像并且想下载副本给朋友们看。用户的手机(例如参考编码水印来)识别该内容作为用户生成的内容的流行剪辑,并且发现该剪辑可从若干站点得到—最流行的是YouTube,接下来是MySpace。为了诱导用户链接到MySpace,MySpace可以提供将用户的基线无线服务从每秒3兆比特升级到每秒10兆比特的服务,使得该视频将以三分之一的时间下载。这种升级的服务可以仅针对该视频下载,或者它可以持续更长时间。呈现在用户手机屏幕上的链接可以被修改以突出显示更快服务的可用性。(再次,MySpace可以作出相关的支付。)
有时减轻带宽瓶颈需要打开无线链路的手机端上的带宽节流阀。或者手机必须请求或授权带宽服务变更。在这样的情况下,MySpace可以告诉手机应用程序采取所需的步骤来获得更高带宽服务,并且MySpace向用户(或者为了用户帐户的利益而向运营商)退还额外的相关费用。
在一些配置中,服务的质量(例如带宽)由管道管理器51管理。即使在用户选择MySpace链接之前,来自MySpace的指令也可以请求管道管理器开始请求增强的服务质量并设立预期的高带宽会话。
在一些情况下,商家可以为其内容协商优先带宽。MySpace可以与AT&T达成这样的协议:例如,所有递送到AT&T电话订户的MySpace内容都以每秒10兆比特来递送—即使大多数订户通常仅接收每秒3兆比特的服务。在所呈现的链接中,更高质量的服务可以突出显示给用户。
从上述内容应认识到的是,在某些实施例中,移动电话响应于可视刺激而呈现的信息是随以下两个因素而变的:(1)用户的偏好,和(2)第三方对用户关注的竞争,这很可能是基于用户的人口统计特征概况。在人口统计学上相同、但是具有不同食物口味的用户,在观察挤满了餐馆的街道时,将可能被呈现不同的小玩意或相关信息。具有相同食物口味和其它偏好信息、但是在人口统计因素(例如年龄、性别)方面不同的用户可以同样被呈现不同的小玩意/信息,因为商家等愿意对在人口统计方面有所不同的眼球进行有差别地支付。
用户行为的建模
通过对特定实体环境、特定地点和时间、以及预期用户的行为模式的认识的辅助,人类计算机与实体世界的交互的仿真模型可以基于来自与机器人学和受众测量一样分散的领域的工具和技术。其实例可能是:在特定时间在博物馆内的预期的移动设备的数量;这样的设备很可能将要使用的特定传感器;以及什么样的刺激预期将被这些传感器捕获(例如它们正将照相机指向哪里,麦克风正在听什么,等等)。附加信息可以包括有关用户之间的社会关系的假定:他们有可能分享共同兴趣吗?他们处于有可能分享内容、分享体验或期望创建wiki-maps(参见Barricelli,“Map-Based Wikis as Contextual and CulturalMediators”,MobileHCI,2009)等基于位置的体验的共同社交圈内吗?
另外,建模可以基于从对过去事件的观察导出的一般化的直观推断(例如有多少人使用他们的手机照相机在篮球比赛期间从波特兰开拓者队的记分牌拍摄图像,等等),到基于天生人类行为(例如人们在加时赛期间比在比赛的中场休息期间更有可能从记分牌拍摄图像)的进一步演化的预测模型。
除了在提供和测量体验的过程中所涉及的商业实体之外,这样的模型还可以告知用户体验的许多方面。
上述这些实体可以由在事件产生过程中涉及的传统价值链参与者以及在测量交互并使其货币化的过程中涉及的配置构成。事件策划者、生产者、艺术家处于创造方,并且相关权利社团(ASCAP,美国导演工会等)处于特许权方。从测量视角来看,来自决定参加的用户和设备的基于采样的技术以及人工普查驱动型技术都可以利用。用于更静态的环境的度量可以包括:数字服务提供商网络上创建的数字业务(有多少带宽正被消耗)所生成的每单位收益(RPU),到对特定传感器刺激的点进率(CTR)的进一步演化的模型。
例如,卢浮宫内的蒙娜丽莎画作很可能比该博物馆内的其它画作具有高得多的CTR,从而告知诸如内容提供的优先级等事情,例如如果当用户接近或进入该博物馆时与蒙娜丽莎相关的内容没有被预先加载到移动设备自身上,与蒙娜丽莎相关的内容应该被缓存并尽可能地靠近云的边缘。(同样重要的是CTR在使体验和环境货币化的过程中所起的作用。)
考虑进入具有收藏有罗丹作品的花园的雕塑博物馆的学校团体。该博物馆可以在为该花园服务的服务器或基础措施(例如路由器缓存)上提供与罗丹和他的作品相关的内容。此外,因为参观者包括事先成立的社团,所以博物馆可以预期某种社会联系。因此博物馆可以使得能够分享在其它情况下可能不会使用的能力(例如即兴连网)。如果一个学生询问博物馆的在线内容以便对一特定罗丹雕塑了解更多,则系统可以用一提示来伴随所请求信息的递送,所述提示邀请该学生与团体中的其他人分享该信息。博物馆服务器可以提出可能与其分享这样的信息的该学生的特定“朋友们”—如果这样的信息可从Facebook或其它社交网络数据源公开访问的话。除了朋友们的名字之外,这样的社交网络数据源还可以提供该学生的朋友们的设备标识符、IP地址、配置文件信息等—该学生的朋友们可以通过杠杆作用受到影响从而辅助将教育资料传播给团体中的其他人。这些其他学生可能会发现该特定信息有重大意义,因为该特定信息是他们团体中的另一人所感兴趣的—即使最初的学生的名字没有被识别。如果最初的学生采用传递的信息被识别出来,那么这可以提高该信息对团体中的其他人所引起的兴趣。
(社交联系团体的检测可以从博物馆的网络业务流的检查来推断。例如,如果一设备向另一设备发送数据分组并且博物馆的网络处理该通信的两端(派出和递送),那么在博物馆内的两个设备之间存在关联。如果这些设备不是具有网络使用的历史模式的设备(例如雇员),那么系统可以推断出这两位参观博物馆的参观者在社交上有联系。如果检测到这样的通信构成的网(涉及若干不熟悉的设备),那么可以辨别出参观者的社交团体。该团体的大小可以通过这样的网络业务流中的不同参加者的数目来度量。有关该团体的人口统计信息可以从与其交换数据的外部地址来推断;中学生可能具有高发的MySpace业务流;大学生可能会与大学网域的外部地址通信;老年人可能会显示出不同的业务流特征。在使提供给参观者的信息和服务自动得到适应以及向博物馆的管理和市场营销部门提供有用信息的过程中可以采用所有这样的信息。)
考虑另外的情况。一种是在美国足球超级碗比赛的中场休息时间,由当红表演者(例如Bruce Springsteen或Prince)进行演出。该演出可能会引起好几百粉丝拍摄该事件的照片或音视频。另一种具有可预测的公众行为的背景环境是NBA冠军篮球赛的结束。粉丝可能想要纪念终场哨时的刺激:记分牌,饰带和从天花板上落下的五彩纸屑等。在这样的情况下,应该采取可用来准备或最优化内容或体验的递送的动作。其实例包括:为相关的内容取得权利,渲染虚拟世界和其它合成内容,对例行的时间不敏感型网络业务降低速度,使在人们从Amazon购买作为纪念品的书籍/音乐作品时可能会调用的商业资源排成队列(缓存页面,认证用户去往财务站点),传播赛后访问(一些是预制/预编辑的并且准备放出)的链接,缓存明星运动员的Twitter feed,缓冲来自市中心的显示出家乡群众正在观看超大屏幕显示屏(在哨响时欢乐地爆发等)的视频;在可能的情况下,与该体验或接下来的动作相关的任何东西都应该提前预备/缓存。
最有可能挑起用户动作和注意的对传感器的刺激(听觉的、视觉的、触觉的、嗅觉的等)从商业立场来看比挑起这样的动作的可能性更小的刺激要有价值得多(类似于Google的Adwords广告服务系统所基于的经济原理)。这样的因素和度量通过本领域人员非常理解的拍卖模型直接影响广告模型。
多种递送机制为了通过第三方进行广告递送而存在,通过杠杆作用影响已知的协议诸如VAST。VAST(Digital Video Ad ServingTemplate,数字视频广告服务模板)是由交互广告署发布的标准,其建立了脚本视频渲染系统和广告服务器之间的参考通信协议以及相关的XML大纲。作为一个实例,VAST通常基于网页代码(该代码还有助于跟踪业务流和管理cookie)中所包括的一点Javascript来帮助使独立网站上的视频广告服务标准化(取代老式的横幅广告)。VAST还可以在观看网站递送的其它视频内容时以前置式广告和后置式广告的形式插入推销消息。网站所有者并不参与卖广告和运行广告,但是在月底时网站所有者收到基于观众收视情况/印象的支付。以类似的方式,由移动技术感测到的、呈现给实体世界中的用户的物理刺激可以是向所涉及的各方提供支付的依据。
呈现给用户和他们的移动设备的刺激可以得到控制的动态环境(诸如视频显示器,与静态海报形成对比)为测量和利用CTR等度量提供了新的机会。
背景音乐、数字显示器上的内容、照明等可以被修改以最大化CTR并使业务流成形。例如,特定标志上的照明可以在作为目标的人经过时提高或者闪烁。类似地,当来自日本的班机着陆在机场时,数字标志、音乐等可以全部被明显地修改(改变广告以适合预期观众的兴趣)或者被悄悄地修改(改变所链接的体验以将用户带到日本语的网站)以最大化CTR。
也可以引入机制来对付无赖或未经批准的传感器刺激。在商业园领域的限定空间内,不遵守财产所有者或负责一领域的实体的意图或策略的刺激(海报、音乐、数字标志等)可能需要被管理。这可以通过使用简单的阻挡机制来实现,所述阻挡机制是地理特定的(与DVD上的区域编码没有不同),表明特定GPS坐标内的所有将关键字向量路由到云中的特定地方的尝试都必须通过领域所有者所管理的路由服务或网关来转交。
其它选择包括对作为结果而产生的体验进行过滤。年龄适合吗?它与先前存在的广告或品牌安排相抵触吗(诸如在丹佛掘金队比赛期间可口可乐广告被传递给百事中心球馆内的用户)?
这也可以通过使用内容规则(诸如与冲突媒体内容相关的Movielabs Content Recognition Rules(参见www.movielabs-dot-com/CRR)),由运营商提供给设备的家长控制,或者通过遵循DMCA Automatic Take Down Notices,来在设备上实现。
在各种权利管理范式下,许可证在确定内容如何能够被消费、分享、修改等的过程中起到关键作用。从呈现给用户(和用户的移动设备)的刺激和/或刺激被呈现的位置中提取语义的结果,可以是由第三方发布对所期望的内容或体验(游戏等)的许可证。举例来说,考虑在表演场地内看摇滚音乐会的用户。该用户可以被授予临时许可证来在iTunes上仔细研究和倾听正在表演的艺术家(和/或其他人)的所有音乐曲目—这超出通常授予公众的30秒的预览权利。然而,这样的许可证可以仅在音乐会期间持续存在,或者在仅从门打开时直到主打表演开始其表演为止这一期间持续存在,或者仅当用户在表演场地内时持续存在,等等。此后,这样的许可证终止。
类似地,从国际航班下飞机的乘客们,在当他们过海关时、在机场时、在他们到达后的90分钟内等情况下,可以被授予对他们的移动设备的翻译服务或导航服务(例如增强现实系统在照相机拍摄的场景上叠加关于行李领取、盥洗室等的指示)的基于位置的或受时间限制的许可证。
这样的配置可以充当体验的象征并充当过滤机制。一种通过传感器刺激来触发体验的分享的实施例是通过广播式社交网络(例如Twitter)和企业联合组织协议(例如RSS网络信源(feed)/通道)。其他用户、实体或设备可以订阅这样的广播/信源作为后续通信(社交活动、信息取回等)的基础,作为活动(例如个人的日记)或测量(观众等)的记录。与这样的网络/信源相关联的业务流也可以通过位于特定位置的设备来测量,从而允许用户在时间中穿行以了解谁在特定时间点交流了什么。这使得能够搜索和挖掘额外的信息,例如我朋友上周在这里吗?有跟我同年领组的人在这里吗?什么内容被消费?这样的业务流也使得能够实时监测用户们如何分享体验。监测在音乐会期间有关表演者的歌曲选择的“鸣叫声”可以使表演者改变将要在音乐会的剩余部分表演的歌曲。对于品牌管理来说也同样如此。例如,如果用户在车展期间分享了他们有关车的看法,对业务流的实时关键词过滤可以允许品牌所有者重新定位某些产品以使效果最大化(例如新型号的Corvette应该花费更多的时间在旋转平台上,等等)。
关于最优化的更多说明
预测用户的动作或意图是一种形式的最优化。另一种形式涉及配额处理以便提高性能。
为了示出一种特定配置,再次考虑图6的公共服务分类器。什么关键字向量操作应该在本地、或在远程、或作为某种混合形式来执行?关键字向量操作应该以什么样的顺序执行?等等。预期操作和他们的进度安排的混合应该以适当的方式为正在使用的处理架构、情况和背景环境进行配置。
该处理中的一个步骤是确定哪些操作需要发生。该确定可以基于来自用户的明确请求、使用的历史模式、背景环境和状态等。
许多操作是涉及以特定顺序执行的大量组分操作的高级别功能。例如,光学字符识别可以请求边缘检测,接着是感兴趣区域分割,接着是模板图案匹配。面部识别可以涉及肤色检测,Hough变换(以识别椭圆形区域),特征位置(瞳孔、嘴角、鼻子)的识别,特征脸计算,以及模板匹配。
系统可以识别可能需要被执行的组分操作和他们各自的结果被需要的顺序。规则和直观推断可以用来帮助确定这些操作应该在本地还是在远程执行。
例如,在一个极端,规则可以规定简单操作(诸如颜色直方图和色差阈处理)一般应该在本地执行。在另一极端,复杂操作可以通常默认给外部提供商。
进度安排可以基于哪些操作是其它操作的前提来确定。这也可以影响某一操作是在本地还是在远程执行(本地执行可以提供更快的结果,从而允许后续操作以更少的延迟开始)。规则可以试图识别其输出被最大数量的后续操作使用的操作,并首先执行该操作(在其相应的在先操作允许的情况下)。作为更少的其它后续操作的前提的操作被相继地随后执行。这些操作和他们的次序可以被设想为树形结构—全局上最重要的操作被首先执行,而与其它操作的相关性更小的操作被随后执行。
然而,这样的确定也可以被其它因素调节(或支配)。一个因素是功率。如果手机电池电量低,或者如果操作将涉及对低容量电池的显著消耗,则这可以使平衡朝支持在远程执行操作的方向倾斜。
另一个因素是响应时间。在一些实例中,手机有限的处理能力可能意味着在本地处理要比在远程处理更慢(例如在更健壮的并行架构可能会用于执行该操作的情况下)。在另一些实例中,与远程服务器建立通信以及建立会话过程中的延迟可能会使在本地执行操作更快。取决于用户需求和其它操作的需要,结果返回的速度可能是重要的或者不重要的。
又一个因素是用户偏好。如在其它地方提到的那样,用户可以设置影响在什么地方和在什么时间执行操作的参数。例如,用户可以规定操作可以通过国内服务提供商提交给远程处理,但是如果所有国内服务提供商都不可用,则操作应该在本地执行。
路由限制是另一个因素。有时手机将处于WiFi或其它服务区域(例如音乐会表演场地)中,在该区域中,本地网络提供商对可以通过该网络接入的远程服务请求设置限制或条件。例如在禁止拍照的音乐会中,本地网络可以配置成在音乐会期间阻挡对外部图像处理服务提供商的接入。在这种情况下,通常情况下路由到外部执行的服务应该在本地执行。
另一个因素是手机配备有的特定硬件。如果专用FFT处理器在电话中可用,那么在本地执行密集的FFT操作是有意义的。如果仅有微弱的通用CPU可用,那么密集的FFT操作可能最好提交出去让外部执行。
相关因素是当前硬件利用率。即使手机配备有对于某种任务而言配置得很好的硬件,但是它也可能如此繁忙并处于积压状态以致系统可能会把下一个这种任务提交给外部资源来完成。
另一个因素可能是本地处理链的长度和停顿的风险。流水线化的处理架构在它们等待完成操作所需的数据时可能会停顿一些时间。这样的停顿可能会导致所有其他后续操作被类似地延迟。可能停顿的风险可以被评估(例如,通过历史模式,或者对操作的完成需要不能确保及时被获得的其它数据(诸如来自另一外部处理的结果)的情况的认识),并且如果风险足够大,则该操作可以被提交给外部处理以避免使本地处理链停顿。
又一个因素是连接状态。可靠的高速网络连接建立了吗?或者分组被丢弃了吗或网络速度较低(或完全不可用)吗?
不同种类的地理考虑也可以是因素。一个因素是网络与服务提供商的接近程度。另一个因素是手机是无限制地接入了网络(如在本国区域中那样),还是采用了按使用量付费方案(如在另一个国家漫游时那样)。
有关远程服务提供商的信息也可以成为因素。服务提供商提供立即周转吗?或者所请求的操作在长队列中被放到等待服务的其他用户后面了吗?一旦提供商准备好处理该任务,预期有什么样的执行速度?与其它重要的品质一起,费用对用户来说也可以是关键因素(例如,服务提供商是否满足环境责任的“绿色”标准)。如在特定背景环境中适当的那样,许多其它因素也可以被考虑。这样的数据的源可以包括说明性框图中所示出的各种元素以及外部资源。
上述内容的概念图解在图19B中提供。
基于各种因素,可以作出关于操作应该在本地执行还是在远程执行的确定。(在确定操作应该以什么样的顺序执行时也可以评估相同的因素。)
在一些实施例中,不同的因素可以通过分数来量化,这些分数可以以多项式的形式被组合以产生总分,从而表明操作应该如何被处理。这样的总分充当表明操作对于远程或外部处理的相关适合度的度量。(类似的计分方法可以用来在不同服务提供商之间做出选择。)
取决于变化的环境,给定操作在一个时刻可以在本地执行,而在稍后的时刻可以在远程执行(或者反之亦然)。或者,同一操作可以同时对两组关键字向量数据执行—一个在本地执行,一个在远程执行。
尽管在确定操作应该在本地执行还是在远程执行的背景中进行描述,但是相同的因素也可以影响其它事情。例如,它们也可以在决定什么样的信息被关键字向量传递时使用。
考虑手机将要对所拍摄的图像执行OCR的情况。因为一组因素,来自所拍摄图像的未处理的像素数据可以被发送给远程服务提供商来作出该确定。在一组不同的因素下,手机可以执行初步处理(诸如边缘检测),并随后以关键字向量的形式封装该边缘检测后的数据,并将其路由到外部提供商以完成OCR操作。在另一组因素下,手机可以执行所有组分OCR操作,直到最后一个组分OCR操作(模板匹配),并发出数据仅进行这最后一个操作。(在又一组因素下,OCR操作可以完全由手机完成,或者操作的不同组成部分可以由手机和远程服务提供商交替地执行,等等。)
参考作为一个可能因素的路由限制。这是更一般的因素(外部商业规则)的特定实例。考虑早先提到的在丹佛百事中心参加活动的用户的实例。百事中心可以通过其自身的WiFi和其它网络来向顾客提供无线通信服务。自然,百事中心不情愿其网络资源被用于使竞争者(诸如可口可乐)获利。主网络可以因此影响可由其顾客利用的云服务(例如通过使某些云服务无法接入,或者通过对某些类型的或具有某些目的地的数据业务赋予较低优先级)。网域所有者可以对移动设备能够执行什么操作施加控制。这种控制可以影响本地/远程决定以及关键字向量分组中传递的数据类型。
另一个实例是体育馆,其可能想要例如通过干扰对提供图像的远程服务提供商以及照片分享站点(诸如Flickr和Picasa)的访问,来阻止手机照相机的使用。又一实例是学校,由于隐私的原因,学校可能想要阻止对其学生和职员的面部识别。在这样的情况下,对面部识别服务提供商的接入可以被阻挡,或者仅基于适度的个案分析的原则而被准予。集会场所可能会发现难以阻止人们使用手机照相机(或者为了特定目的而使用它们),但是它们可以采取各种动作来阻止这样的使用(例如通过拒绝推广或促进这种使用的服务)。
下面的概要标示出在确定执行哪些操作、在哪里以及以什么样的顺序执行操作时可能有重大作用的其它因素:
1.基于许多因素进行的关键字向量处理单元的进度安排最优化:
○操作混合,这些操作由类似的原子指令(MicroOps,Pentium II等)构成
○停顿状态,这些操作将由于以下原因而产生停顿:
■等待外部关键字向量处理
■较差的连接性
■用户输入
■用户兴趣中心点的改变
○基于以下因素的操作费用:
■发布费用
■基于拍卖状态的预期费用
■电池的状态和功率模式
■操作的功率分布图(昂贵吗?)
■功率消耗的过去历史
■机会成本,给定设备的当前状态,例如,什么样的其它处理应该优先考虑(诸如语音呼叫,GPS导航等)。
■用户偏好,即我想要“绿色的”提供商或开源提供商
■法律不确定性(例如,某些提供商可能例如由于使用了所谓的专利方法而要承担专利侵权指控的较高风险)
○网域所有者影响:
■特定实体活动场所中的隐私顾虑(诸如学校里不能进行面部识别)
■禁止对特定刺激进行特定操作的预先确定的基于内容的规则
■与使其他歌手的使用变得突出的广播歌曲进行声波纹匹配(当官方发现主题唱片上的实际声乐作品是由其他歌手表演的时,米力瓦利合唱团(Milli-Vanilli)被授予的格莱美奖项被撤销)
○所有上述因素影响进度安排和基于到达期望结果的最优路径来无顺序地执行关键字向量的能力
■很长的操作链条中的不确定性,使得预测对后续关键字向量操作的需要变得困难(类似于处理器中的深度流水线&分支预测)—困难可能是由于对关键字向量的微弱度量
■过去的行为
■位置(GPS表明设备在快速运动)&GPS运动的模式
■存在对刺激的暴露模式吗(诸如走过机场航站楼的用户被反复地暴露给在每个门处呈现的CNN)?
■表明设备被放在口袋中的近程传感器等
■其它方法(诸如最近最少使用算法(Least RecentlyUsed,LRU))可以用来跟踪所产生的或者对期望的效果(歌曲的识别等)有贡献的所期望的关键字向量操作有多罕见
进一步关于流水线化的或其它耗时的操作,特定实施例可以在为可能会多于阈值数量的时钟周期的任务预订处理资源之前进行某种适用性测试。简单的适用性测试是查明对于期望的目的而言图像数据潜在地有用,这与可根据分析被快速取消资格的数据形成对比。例如,是否是全黑(例如在用户的口袋中拍摄的帧)。在交付给扩展操作之前也可以快速检查焦距是否足够。
(技术人员应认识到的是,上面讨论的本技术的某些方面具有以后见之明才能看到的先例。例如,相当多的工作已经投入到对流水线处理器进行指令最优化上。此外,一些设备已经允许用户配置功率设置,例如在某些Apple笔记本电脑中用户可选择不激活耗电的GPU以延长电池寿命。)
上面讨论的对适当的指令混合的确定(例如通过图6的公共服务分类器)特别考虑了在流水线架构中发生的某些问题。在有一个或更多GPU可用的实施例中可以应用不同的原则。这些设备典型地具有几百或几千个适用于并行执行的标量处理器,使得执行的成本(时间、停顿风险等)较小。分支预测可以不通过预测来处理:而是,GPU并行地处理一个分支的所有潜在结果,并且当与实际分支条件相对应的任何输出变得已知时,系统使用该输出。
举例来说,考虑面部识别。配备有GPU的手机可以在其照相机以用户拍照模式激活时调用指令,其配置GPU中的20簇标量处理器。(这样的簇有时也称为“流处理器”。)特别地,每簇处理器配置成对来自所拍摄图像帧的一小瓦片执行Hough变换—从而寻找可能是候选的脸的一个或更多椭圆形。GPU因此通过20个并发的Hough变换来并行地处理整帧。(许多流处理器有可能什么都没有发现,但是处理速度没有受损。)
当这些GPU Hough变换操作完成时,GPU可以重新配置成更少数量的流处理器—每个流处理器专用于分析每个候选椭圆形,以确定眼瞳孔的位置、鼻子位置和嘴巴宽度。对于产生了有用候选面部信息的任何椭圆,相关的参数将以关键字向量形式被封装,并传送给云服务,云服务对照例如用户的Facebook朋友们的已知模板来检查分析出的面部参数的关键字向量。(或者,这样的检查也可以由GPU或者手机中的另一处理器执行。)
(注意到以下情况是有趣的:该面部识别(如同本说明书中详述的其它面部识别那样)对数据的量进行了精炼,例如从原始拍摄图像中的几百万像素(字节)精炼成可能包括几十、几百或几千字节的关键字向量。具有更密集信息内容的该更小块的信息被更快速地路由以进行处理(有时是在外部处理)。精炼出的关键字向量信息的通信通过具有对应带宽容量的信道发生—从而使成本保持合理并使实现方案保持实用。)
将刚刚描述的面部检测的GPU实现方案与可能在标量处理器上实现的操作进行对比。跨越整个图像帧执行基于Hough变换的椭圆检测在处理时间方面是禁止性的—大量努力将会毫无结果,并且将使分配给处理器的其它任务延迟。作为替代,这样的实现方案将典型地让处理器在像素从照相机到来时检查它们—寻找具有预期的“肤色”范围内的颜色的那些像素。仅当识别出肤色像素的区域时,才在那块摘选的图像数据上尝试进行Hough变换。以类似的方式,从检测出的椭圆中提取面部参数的尝试将以费力的串行方式完成—常常不产生有用的结果。
环境光
许多人工光源并不提供一致的照明。大多数人工光源展现出强度(亮度)和/或颜色的时间变化。这些变化通常追随交流电源频率(50/60或100/120Hz),但有时也不这样。例如,荧光灯管可以发出以~40KHz速率变化的红外光照明。发出的光谱取决于特定的照明技术。家庭和工业照明用的有机LED有时可以使用不同颜色的混合光(例如蓝光和琥珀色光)以产生白光。其它发光器件采用更传统的红/绿/蓝光簇,或者具有磷光体的蓝光/紫外LED。
在一种特定实现方案中,处理级38监测分组主体中包含的图像数据的例如平均强度、红色、绿色或其它颜色。该强度数据可以施加到该级的输出33。与图像数据一起,每个分组可以传递表明拍摄该图像数据的特定时刻(绝对的,或基于本地时钟)的时间戳。该时间数据也可以被提供到输出33上。
连接到这样的输出33的同步处理器35可以检查强度(或颜色)作为时间戳数据的函数的帧到帧的变化以辨别出其周期。此外,该模块可以预测强度(或颜色)具有最大值、最小值或其它特定状态的下一时刻。锁相环可以控制被同步化成反映照明特征的周期性的振荡器。更典型地,数字滤波器计算用来设置计时器或与计时器比较的时间间隔—任选地采用软件中断。也可以使用数字锁相环或延迟锁定环。(Kalman滤波器通常用于这种类型的锁相。)
控制处理器模块36可以轮询同步模块35以确定照明状况何时预期具有期望的状态。利用该信息,控制处理器模块36可以指示设置模块34在有利的用于特定目的的照明状况下拍摄一帧数据。例如,如果照相机正在对怀疑具有在绿色通道中编码的数字水印的物体成像,则处理器36可以指示照相机32在绿色照明预期处于最大值的时刻拍摄一帧图像,并指示处理级38处理该帧以检测这样的水印。
照相手机可以配备有多个LED光源,它们通常协力地工作以在物体上产生一瞬间的白光照明。然而,通过单独地工作或以不同组合方式工作,它们可以在物体上投射不同颜色的光。电话处理器可以单独地控制组分LED光源,以便用非白色照明来拍摄帧。如果对将被读取以对绿色通道的水印进行解码的图像进行拍摄,则当拍摄帧时可以仅施加绿色照明。或者照相机可以拍摄多个连续的帧—用不同的LED来照明物体。一个帧可以用纯红色照明的对应期间以1/250秒的曝光量拍摄;随后一帧可以用纯绿色照明的对应期间以1/100秒的曝光量拍摄,等等。这些帧可以分别分析,或者可以组合起来以便进行例如综合分析。或者单帧图像可以在一秒的1/100的间隔范围内以这样的方式拍摄:绿光LED在整个间隔期间都被激活,并且红光LED在该1/100秒的间隔期间仅激活一秒的1/250。瞬时的环境照明可以被感测(或者如上述那样预测),并且组分LED彩色光源可以以响应的方式工作(例如通过添加来自蓝光LED的蓝色照明来抵消钨灯照明的橙色)。
其它注意事项;投影仪
尽管图16中示出的是基于分组的数据驱动式架构,但是各种各样的其它实现方案当然是可能的。基于这里给出的细节,这样的可选架构对技术人员来说是直接明了的。
技术人员将认识到的是,上面提到的配置和细节是任意的。实际选择的配置和细节将取决于所要服务的特定应用,并且非常可能将与上面提到的那些不同。(举一个微不足道的例子,FFT不需要在16×16的块上执行,而是也可以在64×64、256×256、整幅图像等上执行。)
类似地,应认识到的是,分组的主体可以传递整帧数据,或者仅传递摘选的数据(例如128×128的块)。来自单个拍摄帧的图像数据可以因此跨越一系列若干分组。同一帧内的不同摘选可以取决于借以传递它们的分组而被有差别地处理。
此外,可以指示处理级38将一分组分解成多个分组(诸如通过将图像数据分割成16个覆瓦状的更小的子图像。因此,与在起初被产生时相比,在系统的末端可能会出现更多的分组。
以同样的方式,单个分组可以包含来自一系列不同图像的一堆数据(例如以不同的焦距、孔径或快门设置顺次拍摄的图像;一个特定实例是来自采用对焦包围曝光或景深包围曝光拍摄的五张图像的一组聚焦区域—重叠的、邻接的或分开的。)这组数据可以随后被后面的级处理—或者作为一组数据,或者通过选择分组有效载荷的满足规定标准(例如聚焦锐度衡量标准)的一个或更多摘选的处理。
在详述的特定实例中,每个处理级38一般用其处理的结果替换分组的主体中原来接收的数据。在另一些配置中,情况不需要是这样。例如,一个级可以将其处理的结果输出到所描绘的处理链外部的模块,例如输出到输出33上。(或者,如提到的那样,一个级可以在输出分组的主体中保持原来接收到的数据,并用另外的数据(诸如其处理的结果)来扩充它。)
对参照DCT频谱或边缘检测后的数据来确定焦距进行参考。许多消费者照相机执行更简单形式的焦距检查(仅通过确定各对相邻像素之间的强度差(对比度))。该强度差在正确的焦距下达到最大值。这样的配置自然可以用在所详述的配置中。(再者,在传感器芯片上执行这样的处理可以产生一些优点。)
每次数据被传递到邻接的级或者从邻接的级接收到数据时,每个级典型地与邻接的级进行握手交换。这样的握手对于熟悉数字系统设计的技术人员来说是常规的,所以在这里不对其作过多说明。
所详述的配置考虑了单个图像传感器。然而,在其它实施例中,可以使用多个图像传感器。除了使常规的立体处理能够进行之外,两个或更多图像传感器还可以实现或增强许多其它操作。
得益于多个照相机的一种功能是区分物体。举一个简单的例子,单个照相机不能够将人脸与(例如在杂志、广告牌或电子显示屏上可能会发现的)脸的照片区分开。相比之下,利用间隔开的传感器,可以容易地辨别出照片的3D外观,从而允许将照片与人区分开。(取决于实现方案,其可以是实际被辨别出的人的3D外观。)
得益于多个照相机的另一种功能是地理位置的精细化。从两个图像之间的差别,处理器可以确定设备离知道其精确位置的地标的距离。这允许(例如通过WiFi节点识别、GPS等而)对设备可用的其它地理位置数据得到精细化。
正如手机可以具有一个、两个(或更多)传感器,这样的设备也可以具有一个、两个(或更多)投影仪。个人投影仪正在被配置在CKing(N70型号,由ChinaVision配销)和Samsung(MPB200)的手机中。LG和其它公司已经展示了样机。(这些投影仪被理解为使用德州仪器的电子可控的数字微镜阵列,连同LED或激光照明。)Microvision使用微机电扫描镜(连同激光源和光组合器)提供了PicoP显示引擎,其可以集成到各种各样的设备中以产生投影能力。其它适合的投影技术包括3M公司的硅基液晶(LCOS)和Displaytech公司的铁电LCOS系统。
两个投影仪或两个照相机的使用提供了投影或取景的差分,从而提供了关于主体的额外信息。除了立体特征之外,它还使得能够进行区域图像校正。例如,考虑两个照相机对带有数字水印的物体进行成像。一个照相机对物体所成的像给出了可以从物体的表面(例如通过编码的校准信号)辨别出的变换的一种度量。该信息可以用来校正另一照相机对物体所成的像。并且反之亦然。这两个照相机可以迭代,从而产生对物体表面的全面表征。(一个照相机可以对表面的照明状况更好的区域成像,或者可以看到另一个照相机不能看到的某些边缘。一个照相机所成的像因此可以揭示另一个照相机所成的像不能揭示的信息。)
如果参考图案(例如栅格)被投影到表面上,则表面的形状通过图案的畸变而被揭示出来。图16的架构可以扩展成包括投影仪,其将图案投影到物体上以便由照相机系统拍摄。(投影仪的操作可以例如通过控制处理器模块36而与照相机的操作同步—投影仪仅在必要的时候才被激活,因为它施加了显著的电池消耗。)模块38(本地或远程)对结果图像的处理提供了有关物体的表面拓扑的信息。该3D拓扑信息可以用作识别物体的线索。
除了提供有关物体的3D结构的信息之外,形状信息还允许表面被虚拟地重新映射到任何其它结构(例如平面)上。这样的重新映射充当一种归一化操作。
在一种特定配置中,系统30操作投影仪以将参考图案投射到照相机的视场中。当图案正在被投射时,照相机拍摄一帧图像数据。该结果图像被处理以检测参考图案并由此对被成像的物体的3D形状进行表征。基于3D形状数据,后续处理随后接着进行。
(关于这样的配置,读者可参考采用相关原理的Google图书扫描专利7,508,978。连同其它相关公开内容一道,该专利详述了特别有用的参考图案。)
如果投影仪使用准直激光照明(诸如PicoP显示引擎),则图案将会在焦点上,而不管与图案被投射到的物体之间的距离如何。这可以被用作辅助手段来将手机照相机的焦点调节到任意主体上。因为所投影的图案事先为照相机所知,因此所拍摄的图像数据可以被处理以最优化图案的检测(诸如通过相关(correlation))。(或者图案可以被选择以使检测变得容易—诸如当适当聚焦时在图像频域中的单个频率处强烈地显现的西洋跳棋盘。)一旦照相机被调节成最优地聚焦已知的准直的图案,所投影的图案就可以被中断,并且照相机可以随后拍摄图案被投影到的下面的主体的适当聚焦的图像。
也可以采用同步检测。图案可以在拍摄一帧期间被投影,并且随后被取消投影以拍摄下一帧。这两帧然后可以相减。两个帧中共有的图像大体上抵消—从而以高得多的信噪比剩下投影图案。
投影图案可以用来为照相机的视场中的若干主体确定正确的焦距。小孩可能在大峡谷(Grand Canyon)前摆姿势。激光投影图案允许照相机在第一帧中聚焦在小孩上,并且在第二帧中聚焦在背景上。这些帧可以随后被合成—从每个适当对焦的部分中进行提取。
如果在手机的投影仪系统中使用透镜配置,则其也可以用于手机的照相机系统。反射镜可以可控地被移动以将照相机或投影仪引向透镜。或者也可以使用分束器配置80(图20)。这里,手机81的本体包含透镜82,其向分束器84提供光。光照的一部分被路由到照相机传感器12。光路的另一部分去往微镜投影仪系统86。
手机投影仪中使用的透镜典型地比用于手机照相机的透镜具有更大的孔径,因此照相机可以通过使用这样的共享透镜而得到显著的性能优势(例如使得能够进行更短的曝光)。或者,相互地,分束器84可以是不对称的—不同等地支持两条光路。例如,分束器可以是部分镀银的元件,该元件将外部入射光的更少一部分(例如2%、8%或25%)耦合到传感器路径83。分束器可以因此用来耦合从外部来自微镜投影仪的光照的更大一部分(例如98%、92%或75%)以进行投影。通过该配置,照相机传感器12接收常规强度(尽管是较大孔径透镜)的光用于手机照相机,而从投影仪输出的光仅轻微地被透镜共享配置变暗。
在另一配置中,照相机头是与手机本体分离的或者是可拆卸的。手机本体被携带在用户的口袋或手提包中,而照相机头适于越过用户的口袋向外看(例如,以类似于笔的形状因子,所述笔具有口袋夹并且在笔管内具有电池)。这两者通过蓝牙或其它无线配置通信,拍摄指令从手机本体发送,并且图像数据从照相机头发送。这样的配置允许照相机不断地查看用户前面的场景,而无需手机从用户的口袋/手提包中取出。
在相关配置中,用于照相机的闪光灯是与手机本体分离的或者是可拆卸的。该闪光灯(其可以包含LED)可以放到图像主体附近,从而从期望的角度和距离提供照明。闪光灯可以通过手机照相机系统发布的无线命令来闪光。
(在光学系统设计方面有经验的技术人员将认识到该特别指出的配置有许多替代形式。)
由于具有两个照相机而产生的一些优点可以通过具有两个投影仪(与一个照相机)来实现。例如,两个投影仪可以交替地或者以其它可区分的方式(例如,同时进行、但具有不同的颜色、图案、偏振等)投影到照相机的视场中。通过注意当从不同的点投射的两个图案出现在物体上并由照相机观察时这两个图案有怎样的不同,可以再次辨别出立体信息。
许多使用模型通过使用投影仪而得到实现,包括新共享模型(参见Greaves的“View & Share:Exploring Co-Present Viewing and Sharingof Pictures using Personal Proj ection”,Mobile Interaction with the RealWorld 2009)。这样的模型采用投影仪自身创建的图像作为启动共享会话的触发(或者公然地通过普遍理解的符号(“开启”标志),到通过机器可读的隐秘触发)。共享也可以利用点对点应用程序或服务器托管的应用程序通过即兴网络而发生。
来自移动设备的其它输出也可以类似地被共享。考虑关键字向量。一个用户的电话可以用Hough变换和其它特征脸提取技术来处理图像,并随后与该用户的社交圈中的其他人共享作为结果而得到的特征脸数据的关键字向量(通过将关键字向量推送给该用户的社交圈中的其他人,或者允许该用户的社交圈中的其他人将关键字向量拉走)。这些在社交上联系起来的设备中的一个或更多设备可以随后执行面部模板匹配,该面部模板匹配使原始用户拍摄的图像中的先前未被识别的脸得到识别。这样的配置取得个人经验,并使其成为公众经验。此外,通过将关键字向量数据基本上没有限制地共享给大量另外的用户,该经验可以变成病毒性经验。
所选的其它配置
除了早先详述的配置之外,适合于供本技术的某些实现方案使用的另一种硬件配置使用Mali-400ARM图形多处理器架构,其包括可以专用于本文档中提到的不同类型的图像处理任务的多个片段处理器(fragment processor)。
标准组织Khronos已经发布了OpenGL ES2.0,其定义了几百个用于包括多个CPU和多个GPU(手机正在日益朝这个方向发展)的系统的标准化图形函数调用。OpenGL ES2.0专注于将不同的操作路由到不同的处理单元—使这样的细节对应用软件而言透明。其因此提供了可由各式各样的GPU/CPU硬件使用的一致的软件API。
根据本技术的另一方面,OpenGL ES2.0标准被扩展成提供不仅跨越不同CPU/GPU硬件、还跨越不同云处理硬件的标准化图形处理库—再一次,使这样的细节对调用软件而言透明。
越来越多地,Java服务请求(JSR)已经被定义以使某些Java实现的任务标准化。JSR越来越多地被定义以在OpenGL ES2.0类硬件之上高效地实现。
根据本技术的又一方面,本说明书中提到的一些或全部图像处理操作(面部识别、SIFT处理、水印检测、直方图处理等)可以被实现为JSR,从而提供适合于跨越不同硬件平台的标准化实现方案。
除了支持基于云的JSR之外,扩展后的标准规范也可以支持早先详述的询问路由器和响应管理器功能—包括静态和基于拍卖的服务提供商。
与OpenGL类似的是OpenCV-在开源许可下可用的计算机视觉库,其准许编码器调用各种各样的功能,而不管正被用于执行该功能的特定硬件如何。(O’Reilly的书《Learning OpenCV》详尽地为该语言作了注解。)对应物NokiaCV提供了专用于Symbian操作系统(例如Nokia手机)的类似功能。
OpenCV提供了对各种各样的操作(包括面部识别、手势识别、运动跟踪/理解、分段等高级别任务,以及广泛种类的更微小、基本的视觉/图像处理操作)的支持。
CMVision是另一种可在本技术的某些实施例中采用的计算机视觉工具包—该工具包由卡内基梅隆(Carnegie Mellon)大学的研究人员编辑。
另一种硬件架构利用现场可编程对象阵列(FPOA)配置,在该配置中几百个不同的16位“对象”以网格化节点的方式被排列,每个对象能够通过非常高带宽的信道与邻近的设备交换数据。(早先提到的PicoChip设备属于这一类。)每个对象的功能可以被重新编程,如同FPGA一样。同样,不同的图像处理任务可以由不同的FPOA对象执行。这些任务可以根据需要即时地被重新定义(例如,一对象可以在一种状态下执行SIFT处理;在另一种状态下执行FFT处理;在又一种状态下执行对数极坐标处理,等等)。
(尽管逻辑器件的许多网格配置是基于“最近邻”互连,但是通过使用“部分交叉”互连可以获得额外的灵活性。参见例如专利5,448,496(Quickturn Design Systems)。)
此外,在硬件领域,本技术的某些实施例采用“扩展景深”成像系统(参见例如专利7,218,448、7,031,054和5,748,371)。这样的配置包括成像路径中的掩模,该掩模修改系统的光学传递函数以便对物体和成像系统之间的距离不敏感。图像质量于是在景深范围内均一地较差。对图像的数字后处理对掩模的修改进行补偿,从而恢复图像质量,但是保留了增大的景深。使用这样的技术,手机照相机可以拍摄使更近和更远的主体全都对焦(即具有更多的高频细节)的图像,而无需如通常需要的那样需要更长的曝光。(更长的曝光会恶化诸如手抖动和运动的主体等问题。)在这里详述的配置中,更短的曝光允许更高质量的图像被提供给图像处理功能,而无需忍受由光学/机械对焦元件引起的时间延迟或者无需来自用户的关于图像的那些组成部分应该对准焦点的输入。这提供了更直观的体验,因为用户可以简单地将成像设备指向所期望的目标而无需担心焦距或景深设置。类似地,图像处理功能能够通过杠杆作用影响所拍摄的图像/帧中包括的所有像素,因为所有像素被期待对准焦点。另外,关于与帧内的深度有关的识别出的物体或者编成组的像素的新的元数据可以产生简单的“深度图”信息,从而使用在深度信息的传输方面出现的标准来设置用于进行3D视频拍摄和视频流的存储的级。
在一些实施例中,手机可以具有在本地执行给定操作的能力,但是可以决定让该给定操作由云资源执行来作为替代。关于在本地还是在远程处理的决定可以基于“成本”,包括带宽成本、外部服务提供商成本、手机电池的功率成本、由于使处理延迟而在消费者满意度(不满意度)方面引起的无形成本等。例如,如果用户快要用完电池电力并且处于远离蜂窝塔的位置(使得手机在传送时以最大输出功率运行其RF放大器),则发送一大块数据进行远程处理可能会耗费电池的剩余寿命的显著一部分。在这样的情况下,手机可以决定在本地处理数据,或者当手机更靠近蜂窝基站或电池已经被重新充电时发送数据进行远程处理。一组存储的规则可以应用于相关变量以为不同的途径(例如在本地处理,在远程处理,推迟处理)建立净“成本函数”,并且这些规则可以取决于这些变量的状态而指示不同的结果。
吸引人的“云”资源是在无线网络的边缘发现的处理能力。例如,蜂窝网络包括塔站,该塔站在很大程度上是软件定义无线电设备—采用处理器来数字地执行传统上由模拟发送和接收无线电电路(诸如混频器、滤波器、解调器等)执行的一些或全部操作。即使是更小的蜂窝基站即所谓的“飞蜂窝基站(femtocell)”,也典型地具有用于这种目的的强大的信号处理硬件。早先提到的PicoChip处理器和其它现场可编程对象阵列被广泛地配置在这样的应用中。
无线电信号处理和图像信号处理具有许多共同性,例如采用FFT处理来将采样的数据转换到频域,施加各种滤波操作,等等。包括处理器的蜂窝基站设备被设计成满足峰值消费者需求。这意味着显著的处理能力常常处于未使用状态。
根据本技术的另一方面,蜂窝塔站(和无线网络的其它边缘)上的该多余的无线电信号处理能力被赋予与用于消费者无线设备的图像(和/或音频或其它)信号处理相关的新用途。由于不管是处理采样的无线电信号还是处理图像像素,FFT操作都是相同的,所以这种新用途的赋予常常是直接明了的:用于硬件处理核的配置数据如果要改变的话也不需要改变很多。并且因为3G/4G网络很快,所以处理任务可以快速地从消费者设备托付给蜂窝基站处理器,并且结果可以以类似的速度返回。除了通过这样对蜂窝基站处理器赋予新用途而提供的速度和计算力量之外,另一好处是减少消费者设备的功率消耗。
在发送图像数据进行处理之前,手机可以快速地询问该手机正与之通信的蜂窝塔站,以确认该蜂窝塔站具有足够的未使用的能力来进行意图的图像处理操作。这种询问可以通过以下实体发送:图10的封装器/路由器;图10A的本地/远程路由器,图7的询问路由器和响应管理器;图16的管道管理器51,等等。
向蜂窝塔/基站警告即将到来的处理请求和/或带宽要求,允许蜂窝基站在预期到满足这样的需要的情况下更好地分配其处理和带宽资源。
蜂窝基站有出现阻塞的风险:承担了耗尽它们的处理或带宽能力的服务操作。当该情况发生时,它们必须通过突然地减少提供给一个或更多用户的处理/带宽、使得其他用户可以得到服务,来对处理/带宽进行优先分配。服务的这种突然改变是不期望有的,因为改变最初借以建立信道的参数(例如视频可以被递送的比特率)会强迫使用该信道的数据服务重新配置它们各自的参数(例如要求ESPN提供更低质量的视频信源)。重新协商当信道和服务最初被建立时的这些细节总是会引起小故障(例如视频递送不流畅,电话通话过程中丢音节,等等)。
为了避免对这些不可预测的宽带减速的需要以及所引起的服务受损,蜂窝基站倾向于采用保守的策略—节俭地分配带宽/处理资源,以便保留应对可能的峰值需求的能力。但是这种方法会损害以其它方式可能被正常提供的服务的质量—预期到意外情况而牺牲典型的服务。
根据本技术的该方面,手机向蜂窝塔站发送警告,指明其预期到的带宽或处理需要即将到来。实际上,手机要求保存一点未来的服务容量。塔站仍然具有固定的容量。然而,知道特定用户将需要例如在200毫秒后开始的3秒钟的8Mbit/s的带宽,会允许蜂窝基站在服务其他用户时考虑这种预期的需求。
考虑具有15Mbit/s的多余的(可分配的)信道容量的蜂窝基站,其通常向新视频服务用户分配10Mbit/s的信道。如果基站知道手机照相机用户已经请求保留在200毫秒后开始的8Mbit/s的信道,并且新视频服务用户同时请求服务,则基站可以向该新视频服务用户分配7Mbit/s的信道而不是通常的10Mbit/s的信道。通过最初以更低比特率建立新视频服务用户的信道,与在正在进行中的信道会话期间发生的带宽削减相关的服务受损得到了避免。蜂窝基站的容量是一样的,但是现在以这样的方式分配:减少对在传输途中削减现有信道的带宽的需要。
在另一种情况下,蜂窝基站可以确定其目前具有多余的容量,但是预期在半秒后负担会更重。在这种情况下,蜂窝基站可以使用目前的多余容量来提高对一个或更多视频订户(例如,蜂窝基站已经为这些视频订户在缓冲存储器中收集了若干视频数据的分组并准备好进行递送)的吞吐量。在预期到视频信道将在半秒后变慢的情况下,这些视频分组现在可以通过扩大的信道来发送。同样,这是实用的,因为蜂窝基站具有关于未来带宽需求的有用信息。
从手机发送的服务预留消息也可以包括优先级指示符。在需要进行相冲突的服务需求之间的仲裁的情况下,该指示符可以由蜂窝基站使用以确定满足对所宣称的事项的请求的相对重要性。
这种来自手机的预期服务请求还可以允许蜂窝基站提供比按通常方式分配的情况的质量更高的持续服务。
蜂窝基站被理解为采用使用模式的统计模型并相应地分配带宽。所进行的分配典型地是在预期到现实中最糟糕的使用情形(例如包含在99.99%的时间中发生的情形)的情况下保守地设置的。(一些理论上可能的情形是相当不可能会发生的,以致于可以在分配带宽时忽视它们。然而,在这样不可能发生的情形发生的罕见场合下(如当成千上万的订户在奥巴马就职典礼期间从华盛顿特区发送手机照片消息时),一些订户可能完全不能接收服务。)
基站带宽分配所基于的统计模型被理解为在某种程度上把订户作为不可预测的参与者对待。特定订户是否会在即将到来的瞬间请求服务(以及会请求什么样的特定服务)具有随机特征。
在统计模型中随机性越大,情况就倾向于成为越大的极端。如果对未来需求的预留或预测由例如15%的订户例行地提交,那么这些订户的行为就不再随机。对蜂窝基站的最糟糕的峰值带宽需求不会牵涉100%的随机行动的订户,而仅会牵涉85%的随机行动的订户。对其余的15%的随机行动的订户可以采用实际的预留信息。假设的峰值带宽使用的极端情况因此被缓和。
对于较低的峰值使用情形,可以将现有带宽更慷慨地分配给所有订户。即,如果用户基数的一部分向基站发送预留未来容量的警告,那么基站可以预测:可能会即将到来的现实的峰值需求将仍然使基站留下未使用的容量。在这种情况下,基站可以授予照相机手机用户12Mbit/s的信道而不是预留请求中指定的8Mbit/s的信道,和/或可以授予视频用户15Mbit/s的信道而不是通常的10Mbit/s的信道。这样的使用预测可以因此允许基站授予比通常情况质量更高的服务,因为带宽仅保留为更少数量的不可预测参与者保持的需求。
预测服务请求也可以从手机(或蜂窝基站)传送到预期在所请求的服务中将会涉及的其它云处理,从而允许这些云处理以类似的方式预先分配它们的资源。这样的预期服务请求也可以用来警告云处理预热相关的处理。为此目的,附加信息可以从手机或其它地方提供,诸如加密密钥、图像尺寸(例如,将云FPOA配置成充当用于1024×768图像的FFT处理器,以16×16瓦片来处理,并输出对应于32个光谱频带的系数)等。
反过来,云资源可以向手机警告它预期在执行预期操作的过程中可能从手机请求的任何信息或可能请求手机执行的动作,使得手机可以类似地预期其自身的即将到来的动作并相应地做准备。例如,在某些状况下,云处理可以请求另一组输入数据,诸如如果它估计原来提供的数据不足以达到意图的目的(例如输入数据可能是不具有足够调焦分辨率或不具有足够对比度或需要进一步滤波的图像)。事先知道云处理可能会请求这样的另外的数据,可以允许手机在其自身工作中考虑该可能性,例如使以某种滤波器模式配置的处理模块保持比其它情况更长的时间,保留传感时间的间隔以便有可能拍摄替换图像,等等。
预测服务请求(或条件服务请求的可能性)一般涉及可能会在几十或几百毫秒(偶尔为几秒)后开始的事件。动作将在未来的几十或几百秒后开始的情形将是罕见的。然而,尽管提前警告的时间可能很短,但是可以得到显著的优势:如果对于每一秒而言下一秒的随机性被降低,那么系统随机性可以显著地降低。此外,请求所涉及的事件自身可以具有更长的持续时间—诸如可能花费十秒或更多时间的大图像文件的传输。
关于提前安排(预热),合乎期望地,需要花费超过阈值时间间隔(例如几百微秒,一毫秒,十微秒等—取决于实现方案)的时间来完成的任何操作如果可能的话应该提前准备。(当然,在一些实例中,预期的服务从来没有被请求,在该情况下这样的准备可能会毫无结果。)
在另一种硬件配置中,在热图像噪声(Johnson噪声)是潜在问题的情况下,手机处理器可以选择性地激活连接到图像传感器的珀尔帖设备或其它热电冷却器。例如,如果手机检测到低光照状况,则它可以激活传感器上的冷却器以争取增强图像信噪比。或者图像处理级可以在所拍摄的图像上检查与热噪声相关的伪影,并且如果这样的伪影超过阈值,那么可以激活冷却设备。(一种方法是快速地接连两次拍摄一块图像,诸如16×16的像素区域。除去随机因素,这两块图像应该是相同的(完全地相关)。相关度关于1.0的变化是噪声的度量—推测起来是热噪声。)在冷却设备被激活之后的短暂间隔,可以拍摄替代图像—所述间隔取决于冷却器/传感器的热响应时间。同样,如果拍摄手机视频,则也可以激活冷却器,因为电路对传感器的开关动作的增多会提高其温度并因此提高其热噪声。(是否激活冷却器也可以取决于应用,例如冷却器可以在拍摄从中读取水印数据的图像时被激活,但是在拍摄从中读取条形码数据的图像时不激活。)
如提到的那样,图16配置中的分组可以在信头和分组主体中传递各种各样的指令和数据。在另外的配置中,分组可以附加地或可选地包含指向云对象或指向数据库中的记录的指针。云对象/数据库记录可以包含诸如对物体识别有用的物体特性等信息(例如特定物体的指纹或水印特性)。
如果系统已经读取了水印,则分组可以包含水印有效载荷,并且信头(或主体)可以包含使有效载荷能够与相关信息相关联的一个或更多数据库引用(database reference)。从业务名片读取的水印有效载荷可以在一个数据库中查找;从照片解码的水印可以在另一数据库中查找,等等。系统可以将多个不同的水印解码算法应用于单个图像(例如MediaSec、Digimarc ImageBridge、Civolution等)。取决于哪个应用程序执行了特定解码操作,作为结果而得到的水印有效载荷可以发送给对应的目的地数据库。(对于不同的条形码、指纹算法、特征脸技术等,也同样如此)目的地数据库地址可以被包含在应用程序或配置数据中。(通常,利用包含最终数据库的地址的中间数据存储库来间接地执行寻址,从而允许在不改变每个手机应用程序的情况下进行数据库的重新定位。)
系统可以对所拍摄的图像数据执行FFT以获得频域信息,并随后将该信息馈送给并行工作的若干水印解码器—每个水印解码器应用不同的解码算法。当其中一个应用程序提取出有效的水印数据(例如由从有效载荷计算得到的ECC信息指示)时,该数据被发送给与水印的该格式/技术相对应的数据库。多个这样的数据库指针可以被包含在分组中,并且取决于哪个水印解码操作(或条形码读取操作或指纹计算等)产生了有效数据,而被有条件地使用。
类似地,系统可以以包含用户的标识符(但是不包含用户的AppleiPhoto、或Picasa、或Facebook用户名)的分组来将面部图像发送给中间云服务。中间云服务可以取得所提供的用户标识符,并使用它来访问从中获得用户在这些其它服务上的用户名的数据库记录。中间云服务可以随后利用用户的iPhoto用户名将面部图像数据路由到Apple的服务器;利用用户的Google用户名路由到Picasa服务;并利用用户的Facebook用户名路由到Facebook的服务器。这些服务各自可以随后对图像执行面部识别,并返回从用户的iPhoto/Picasa/Facebook账户识别出的人的名字(直接给用户,或通过中间服务)。中间云服务(其可能会为大量用户服务)可以被通知相关服务器(以及在用户远离家的情况下的作为替代者的最接近的服务器)的当前地址,而不是让每个手机尝试以更新的方式保持这样的数据。
面部识别应用程序可以不仅用来识别人,而且用来识别图像中描绘的人们之间的关系。例如,由iPhoto/Picasa/Facebook维护的数据可以不仅包含面部识别特征和相关联的名字,而且包含表明叫该名字的脸与帐户所有者之间的关系(例如父亲、男朋友、兄弟姐妹、宠儿、室友等)的项。因此,不是在用户的图像集中简单地搜索例如“DavidSmith”的所有照片,而是也可以在用户的图像集中搜索描绘“兄弟姐妹”的所有照片。
用来回顾照片的应用软件可以根据相关的关系数据而在不同的已识别的脸四周呈现不同颜色的框架(例如兄弟姐妹是蓝色,男朋友是红色,等等)。
在一些配置中,用户的系统可以访问由用户的网络“朋友们”维护的账户中所存储的这样的信息。通过与用户在Picasa上的账户相关联的面部识别数据可能无法识别的脸,可以通过参考与用户的朋友“David Smith”的帐户相关联的Picasa面部识别数据而得到识别。DavidSmith的帐号所指示的关系数据可以类似地用来呈现和组织用户的照片。早先未被识别的脸可以因此标注有表明这个人是David Smith的室友的标记。这本质上重新映射了关系信息(例如将David Smith的帐户中指示的“室友”映射到该用户的帐户中的“David Smith的室友”)。
上面详述的实施例一般是在单个网络的环境背景下描述的。然而,多个网络可以共同地都对用户的电话而言可用(例如WiFi、蓝牙、可能不同的蜂窝网络等)。用户可以在这些选择对象之间选择,或者系统可以应用存储的规则来自动地选择。在一些实例中,服务请求可以跨越若干网络并行地发布(或者结果可以跨越若干网络并行地返回)。
参考平台架构
手机中的硬件原先是出于特定目的而引入的。例如,麦克风仅被用于通过蜂窝网络进行语音传输:向A/D转换器馈给信号,所述A/D转换器向电话的无线电收发器中的调制器馈给信号。照相机仅被用来拍摄快照。等等。
随着采用这样的硬件的附加应用程序出现,每个应用程序需要发展其自己的与硬件对话的方式。多种多样的软件栈出现了—每个软件栈都是专用的,使得特定应用程序能够与特定的一块硬件交互。这对应用程序的发展造成了阻碍。
当云服务和/或专用处理器被添加到该混合环境中时,这个问题会复杂化。
为了减轻这样的困难,本技术的一些实施例可以采用提供标准接口的中间软件层,利用并通过所述标准接口,硬件和软件能够交互。图20A示出了这样的配置,其中中间软件层被标注为“参考平台”。
在该图中,硬件元件以虚线框示出,包括位于底部的处理硬件和位于左边的外围设备。框“IC HW”是“直觉计算硬件”并且包括早先讨论的支持图像相关数据的不同处理的硬件(诸如图16中的模块38、图6中的可配置硬件等)。DSP是能够配置成执行专门操作的通用数字信号处理器;CPU是电话的主处理器;GPU是图形处理单元。OpenCL和OpenGL是API,通过该API可以调用图形处理服务(在CPU和/或GPU上执行)。
不同的专用技术位于中间,诸如一个或更多数字水印解码器(和/或编码器)、条形码读取软件、光学字符识别软件等。云服务显示在右边,并且应用程序显示在顶部。
参考平台建立了标准接口,通过该标准接口,不同的应用程序能够与硬件交互、交换信息和请求服务(例如通过API调用)。类似地,该平台建立了标准接口,通过该标准接口能够使用不同的技术,并且通过该标准接口,不同的技术能够与其它系统组件发送和接收数据。对于云服务而言也同样如此,其中参考平台还可以为云服务办理识别服务提供商的细节(无论是通过反向拍卖、直观推断等)。在从手机中的技术和远程服务提供商都可以获得服务的情况下,参考平台还可以权衡不同选择的成本和益处并决定那一种选择应该处理特定服务请求。
通过这样的配置,不同的系统组件不需要参与系统的其它组件的细节。应用程序可以要求系统从手机前面的物体读取文本。它不需要参与图像传感器的特定控制参数,也不需要参与OCR引擎的图像格式要求。应用程序可以要求读取手机前面的人的情绪。对应的调用被传递到手机中支持这样的功能的无论什么技术,并且结果以标准化的形式被返回。当改进的技术变得可用时,它可以被添加到手机中,并且通过参考平台,系统能够利用其增强的能力。因此,增长/变化的传感器群集以及增长/演化的服务提供商群组可以通过使用这样的可适应的架构,而被设置给从输入的刺激推导出含意的任务(听觉以及视觉,例如语音识别)。
Arasan Chip Systems有限公司提供了移动行业处理器接口UniPro软件栈,一种目的在于使某些技术到手机的集成得到简化的分层的内核级堆栈。该配置可以扩展成提供上面详述的功能性。(Arasan协议主要集中在传输层问题上,但是也涉及下至硬件驱动器的层。移动行业处理器接口联盟是致力于推进手机技术的大型行业团体。)
通过杠杆作用影响现有图像集以便例如获得元数据
可公开获得的图像和其它内容的群集正变得更普遍。Flickr、YouTube、Photobucket(MySpace)、Picasa、Zooomr、FaceBook、Webshots和Google Images只是其中一些。经常,这些资源也可以充当元数据(或者明确地被识别成这样,或者从文件名、描述等数据中推断出来)的源。有时地理位置数据也是可用的。
根据本技术的一个方面的说明性实施例按如下方式工作。A拍摄了一物体或场景(可能是桌式电话机,如图21中所示)的手机照片。(图像也可以用其它方式来获取,诸如从另一用户传送,或者从远程计算机下载。)
作为初步操作,可以对所拍摄的图像施加已知的图像处理操作以便例如校正颜色或对比度、执行正交归一化等。已知的图像对象分割或分类技术也可以用来识别图像的明显主体区域,并抽离该明显主体区域以进行进一步处理。
图像数据随后被处理以确定在模式匹配和识别过程中有用的表征特征。颜色、形状和纹理度量可共同用于该目的。图像也可以基于布局和特征向量(后者对于面部识别而言特别普遍)而被分组。当然也可以采用许多其它技术,如在本说明书的其它地方提到的那样。
(在识别脸、图像、视频、音频和其它样式的过程中使用向量表征/分类和其它图像/视频/音频度量是公知的并且适合于与本技术的某些实施例结合使用。参见例如专利公开20060020630和20040243567(Digimarc),20070239756和20020037083(Microsoft),20070237364(Fuji Photo Film),7,359,889和6,990,453(Shazam),20050180635(Corel),6,430,306、6,681,032和20030059124(L-1 Corp.),7,194,752和7,174,293(Iceberg),7,130,466(Cobion),6,553,136(Hewlett-Packard),和6,430,307(Matsushita),以及在本公开的末尾引用的期刊参考文献。当与娱乐内容(诸如音视和视频)的识别一起使用时,这样的特征有时被称为内容“指纹”或“散列”。)
在确定了用于图像的特征度量之后,通过一个或更多可公开访问的图像库来搜索具有相似度量的图像,从而识别明显相似的图像。(作为其图像摄取处理的一部分,Flickr和其他这样的库可以在图像被用户上传时对图像计算特征向量、颜色直方图、关键点描述符、FFT或其它分类数据,并将它们收集到索引中以供公共搜索。)该搜索可以产生图22中描绘的、在Flickr中发现的明显相似的电话图像的集合。
随后对这些图像中的每个图像从Flickr获得元数据,并且说明项被解析并通过出现频率来排序。在所描绘的一组图像中,例如,从这样的操作获得的描述符以及它们的发生率可以如下所示:
Cisco(18)
Phone(10)
Telephone(7)
VOIP(7)
IP(5)
7941(3)
Phones(3)
Technology(3)
7960(2)
7920(1)
7950(1)
Best Buy(1)
Desk(1)
Ethernet(1)
IP-phone(1)
Office(1)
Pricey(1)
Sprint(1)
Telecommunications(1)
Uninett(1)
Work(1)
根据该汇总的一组推断的元数据,可以假定具有最高计数值的那些项(例如出现最频繁的那些项)是最准确地表征用户的图21图像的项。
如果期望的话,推断的元数据可以通过已知的图像识别/分类技术来扩充或增强。这样的技术设法提供图像中描绘的物体的自动识别。例如,通过识别按键电话机(TouchTone)键盘布局和螺旋形软线,这样的分类器可以使用项Telephone和Facsimile Machine来标注图21的图像。
如果还没有出现在推断的元数据中,则由图像分类器返回的项可以被添加到列表中并被赋予一计数值。(可以使用任意值例如2,或者可以采用取决于在已辨明的识别中分类器报告的置信度的值。)
如果分类器产生一个或更多已经出现的项,则可以提升这些项在列表中的位置。一种提升项的位置的方式是将其计算值增加一百分比(例如30%)。另一种方式是将其计数值增加到比没有被图像分类器辨出的、排在上面的下一个项大的计数值。(由于分类器返回了项“Telephone”而没有返回项“Cisco”,所以这后一种方法可以用计数值“19”(比Cisco大1)来排列项Telephone。)实现用于利用由图像分类器产生的元数据来扩充/增强推断的元数据的各种各样的其它技术是直接明了的。
由上述方法产生的修正后的元数据列表可以如下所示:
Telephone(19)
Cisco(18)
Phone(10)
VOIP(7)
IP(5)
7941(3)
Phones(3)
Technology(3)
7960(2)
Facsimile Machine(2)
7920(1)
7950(1)
Best Buy(1)
Desk(1)
Ethernet(1)
IP-phone(1)
Office(1)
Pricey(1)
Sprint(1)
Telecommunications(1)
Uninett(1)
Work(1)
推断的元数据的列表可以被限定为具有最高明显可靠性(例如计数值)的那些项。可以使用包括例如前N项或者排序列表的前M%的项的列表子集。该子集在对应于该图像的元数据库中可以与图21的图像相关联,作为推断的元数据。
在本实例中,如果N=4,则项Telephone、Cisco、Phone和VOIP与图21的图像相关联。
一旦(通过上述程序或其它方法)为图21的图像汇编出元数据列表,就可以进行各种各样的操作。
一个选项是把元数据连同所拍摄的内容或从所拍摄的内容中得到的数据(例如,图21的图像,图像特征数据诸如特征向量、颜色直方图、关键点描述符、FFT、从图像解码出的机器可读数据等)一起提交给对提交的数据施加操作并将响应提供给用户的服务提供商。Shazam、Snapnow(现在是LinkMe Mobile)、ClusterMedia Labs、Snaptell(现在是Amazon的A9搜索服务的一部分)、Mobot、Mobile Acuity、NokiaPoint & Find、Kooaba、idée TinEye、iVisit’s SeeScan、Evolution Robotics’ViPR、IQ Engine’s oMoby和Digimarc Mobile是拍摄媒体内容并提供对应响应的若干可商业获得的服务中的一些;其它服务在早先引用的专利公开中有详细描述。通过使内容数据伴有元数据,服务提供商可以做出关于它应该如何响应用户的提交行为的更精明的判断。
服务提供商或者用户设备可以将元数据描述符提交给一个或更多其它服务(例如网络搜索引擎诸如Google)以获得可以帮助更好地辨别/推断/凭直觉获知用户所期望的适合物的更丰富的一组辅助信息。或者从Google(或其它这样的数据库资源)获得的信息可以用来扩充/改进由服务提供商递送给用户的响应。(在一些情况下,可能伴随有从Google接收的辅助信息的元数据可以允许服务提供商即使不请求图像数据也能产生适当的响应给用户。)
在一些情况下,从Flickr获得的一个或更多图像可以替代用户的图像。这可以在例如Flickr图像看起来具有更高质量(使用锐度、亮度直方图或其它度量)并且图像度量充分相似的情况下执行。(相似性可以通过适合于正在使用的度量的距离测度来判断。一个实施例检查距离测度是否低于阈值。如果若干候选图像通过了筛选,那么使用最接近的图像。)或者可以在其它情况下使用替换方式。在这里详述的配置中,替换的图像可以随后被使用来代替所拍摄的图像(或者除了所拍摄的图像之外还可以使用替换的图像)。
在一种这样的配置中,替代图像数据被提交给服务提供商。在另一种这样的配置中,提交若干替代图像的数据。在又一种这样的配置中,原始图像数据与一个或更多组的代用图像数据一起被提交。在后两种情况下,服务提供商可以使用冗余性来帮助降低出错概率—确保适当的响应被提供给用户。(或者服务提供商可以对每组提交的图像数据分别独立地进行处理,并提供多个响应给用户。手机上的客户软件可以随后评估不同的响应,并在它们之间做出选择(例如通过投票安排),或者组合这些响应以帮助向用户提供增强的响应。)
作为替换方式的替代,一个或更多相关的公开图像可以与用户的手机图像合成或融合。作为结果而得到的混合图像可以于是被用在本公开中详述的不同背景环境中。
另一个选项是使用从Flickr收集的明显相似的图像来告知用户图像的增强。实例包括颜色校正/匹配、对比度校正、眩光减少、去除前景/背景物体等。通过这样的配置,例如,这样的系统可以辨别出图21的图像具有位于电话上的应该被遮蔽或忽视的前景组分(明显地是便利贴)。用户的图像数据可以因此被增强,并且在此后使用增强的图像数据。
相关地,用户的图像可能会遭受某种妨碍(例如,诸如从一个奇怪的视角描绘其主体,或者具有较差的光照,等等)。该妨碍可能会使用户的图像无法被服务提供商识别(即,用户所提交的图像数据似乎不能匹配正被搜索的数据库中的任何图像数据)。响应于这样的故障或者是主动地,来自从Flickr识别出的相似图像的数据可以被提交给服务提供商作为代用者—希望这些代用者可能会更好地起作用。
另一种方法(一种打开许多其它可能性的方法)是在Flickr中搜索具有相似图像度量的一个或更多图像,并且如在这里描述的那样收集元数据(例如Telephone、Cisco、Phone、VOIP)。随后基于元数据对Flickr搜索第二次。具有相似元数据的多个图像可以由此被识别。这些另外的图像(包括具有各种各样的不同视角、不同光照等的图像)的数据可以随后被提交给服务提供商,尽管它们可能“看上去”不同于用户的手机图像。
当进行基于元数据的搜索时,可以不要求元数据完全相同。例如,在刚刚参考的Flickr的第二次搜索中,四项元数据可能已经与用户的图像相关联:Telephone、Cisco、Phone和VOIP。匹配可以被认为是这样的实例:发现这些项的子集(例如其中的三个)。
另一种方法是基于共享的元数据项的等级来对匹配进行评级。标记有Telephone和Cisco的图像将因此被评级为比标记有Phone和VOIP的图像更好的匹配。一种对“匹配”进行评级的适应性方法是对用户图像的元数据描述符的计数值求和(例如19+18+10+7=54),并且随后对Flickr图像中的共享项计算计数值(例如,如果Flickr图像标记有Cisco、Phone和VOIP,则为35)。随后可以计算比率(35/54)并将其与阈值(例如60%)进行比较。在这种情况下,找到了一个“匹配”。各种各样的其它适应性匹配技术可以由技术人员设计出来。
上述实例基于图像度量的相似性并且任选地基于文字(语义)元数据的相似性来在Flickr中搜索图像。地理位置数据(例如GPS标签)也可以用来得到元数据立足点。
如果用户从被金属物件包围的或另一不寻常的有利位置拍摄埃菲尔铁塔的艺术抽象照(例如图29),则根据图像度量可能不会将它识别为埃菲尔铁塔。但是与图像一起被捕获的GPS信息会识别出图像主体的位置。公共数据库(包括Flickr)可以被用来基于GPS描述符检索文字元数据。输入该照片的GPS描述符会产生文字描述符Paris和Eiffel。
可以用项Eiffel和Paris询问Google Images或其它数据库以检索埃菲尔铁塔的其它更可能的常规图像。这些图像中的一个或多个可以被提交给服务提供商以驱动其处理。(可选地,来自用户图像的GPS信息可以被用来在Flickr中搜索来自同一位置的图像,从而产生可以提交给服务提供商的埃菲尔铁塔的图像。)
尽管GPS在照相机元数据推广应用方面有所增长,但是目前Flickr和其它公开数据库中的大多数图像正在失去地理位置信息。但是GPS信息可以自动地扩散经过共享可视特征(通过图像度量诸如特征向量、颜色直方图、关键点描述符、FFT或其它分类技术)或具有元数据匹配的一群图像。
举例来说,如果用户拍了一张城市喷泉的手机照片,并且该图像标记有GPS信息,则可以将它提交给基于特征识别方式来识别该喷泉的匹配的Flickr/Google图像的处理。该处理可以将来自用户图像的GPS信息添加到这些图像的每一个中。
第二级搜索也可以采用。从基于外观的相似性进行的第一次搜索识别出的那组喷泉图像中,可以按照上述方式获得元数据并对其进行评级。随后可以对Flickr搜索第二次,以找出具有在规定阈值(例如,如上所述)内匹配的元数据的图像。也可以将来自用户图像的GPS信息添加到这些图像中。
可选地或者另外地,Flickr/Google中与用户的喷泉图像相似的第一组图像可以不通过模式匹配来识别,而是通过GPS匹配来识别(或者同时使用两种方法来识别)。可以从这些GPS匹配的图像中获得元数据并对其进行评级。可以对Flickr搜索第二次以找出具有相似元数据的第二组图像。可以将来自用户图像的GPS信息添加到该第二组图像中。
另一种对图像进行地理定位的方法是在Flickr中搜索具有相似图像特征(例如,gist、特征向量、颜色直方图、关键点描述符、FFT等)的图像,并评估所识别的图像中的地理位置数据以推断原始图像的可能位置。参见例如Hays等人的IM2GPS:Estimating geographicinformation from a single image,Proc.of the IEEE Conf.on ComputerVision and Pattern Recognition,2008。在Hays的论文中详述的技术适合于与本技术的某些实施例(包括在量化推理技术的不确定性时使用概率函数)结合使用。
当地理位置数据由照相机捕获时,它是高度可靠的。同样通常可靠的是由图像的所有者生成的元数据(位置或其它数据)。然而,当元数据描述符(地理位置或语义)是推断的或估计的或者是由对该图像陌生的陌生人生成的时,不确定性和其它问题就出现了。
合乎期望地,这种固有的不确定性应该以某种方式记住,使得其后来的用户(人或机器)可以将该不确定性考虑在内。
一种方法是从设备生成的或创建者生成的元数据中分离出不确定的元数据。例如,可以使用不同的数据结构。或者可以使用不同的标签来区分这样的信息类别。或者每个元数据描述符可以具有其自己的子元数据,表明作者、创建日期和数据的源。子元数据的作者或源字段可以具有表明该描述符是推断的、估计的、推导的等的数据串,或者这样的信息可以是分立的子元数据标签。
每个不确定的描述符可以被赋予置信度度量或等级。该数据可以由公众明确地或推理地确定。一个实例是这样的情况:用户看到她相信是来自黄石国家公园(Yellowstone)的Flickr照片,并且将“Yellowstone”位置标签连同“95%”的置信度标签(她对有关所贡献的位置元数据的确定性的估计)一起添加上去。她可以把指示“Montana”的候选位置标签连同对应的50%置信度标签一起添加上去。(这些置信度标签不需要加起来总和是100%。可以仅贡献一个标签—具有低于100%的置信度。或者可以贡献几个标签—可能会有重叠,如在Yellowstone和Montana的情况中那样)。
如果若干用户将同一类型的元数据贡献给图像(例如位置元数据),则可以评估该组合起来的贡献以产生汇总信息。这样的信息可以指示:例如,贡献元数据的6位用户中的5位将该图像标记为Yellowstone,具有93%的平均置信度;贡献元数据的6位用户中的1位将图像标记为Montana,具有50%的置信度;并且6位用户中的2位将图像标记为Glacier National park,具有15%的置信度,等等。
元数据可靠性的推理确定可以在贡献者所作的明确估计不可用时执行,或者例行地执行。其实例是图21照片的情况,其中元数据出现次数被用来判断每项元数据的相对价值(例如取决于所使用的方法,Telephone=19或7)。当若干元数据贡献者对给定图像提供了描述符时,类似的方法可以用来对可靠性评级。
已知的是,众包(Crowd-sourcing)技术将图像识别任务分配给在线工作者并收集结果。然而,现有技术方案被理解为寻求关于识别的简单且短期的共识。看起来更好的是,对关于图像内容收集的意见(和(任选地)其随时间的变化,以及有关所依赖的源的信息)的多样性进行量化,并使用该更丰富的数据来使自动化系统能够作出有关图像、其价值、其相关性、其用途等的更微妙的决定。
举例来说,已知的众包图像识别技术可以用标识符“足球(soccerball)”和“狗(dog)”来识别出图35的图像。这些是来自一个或若干观察者的达成共识的项。然而,被忽视的可能是有关跟随在后面的一长串备选描述符(例如夏天、拉布拉多猎狗(Labrador)、football、舌头、下午、傍晚、上午、牛毛草(fescue)等)的信息。同样被忽视的可能是有关充当元数据鉴定者的人们(或处理)或者他们评估的情况的人口统计和其它信息。更丰富的一组元数据可以与详述该其它信息的一组子元数据的每个描述符相关联。
子元数据可以指示:例如,标签“football”是由巴西的21岁的男子在2008年6月18日贡献的。它还可以指示:标签“下午”、“傍晚”和“上午”是由德州大学(University of Texas)的自动化图像分类器贡献的,所述自动化图像分类器基于例如主体上的照明角度在2008年7月2日作出这些判断。这三个描述符也可以具有由分类器赋予的相关概率,例如对于下午是50%、对于傍晚是30%并且对于上午是20%(这些百分比的每一个可以存储为子元标签)。由分类器贡献的一个或更多元数据项可以具有指向帮助理解所给定的项的在线词汇表的另一子标签。例如,子标签可以给出一计算机资源的URL,所述计算机资源使项“下午”与表明该项意思是中午至下午7点的定义或同义词相关联。所述词汇表还可以指示概率密度函数,表明“下午”意指的平均时间是下午3:30,中值时间是下午4:15,并且该项具有跨越中午至下午7点这一时间间隔的含意的高斯函数。
元数据贡献者的专业知识也可以反映在子元数据中。项“牛毛草”可以具有表明它由俄勒冈(Oregon)的45岁的草籽农夫贡献的子元数据。自动化系统可以推断出该元数据项是由在相关知识领域具有不寻常专业知识的人贡献的,并且可以因此把该描述符视为高度可靠(虽然可能不高度相关)。该可靠性确定可以添加到元数据集中,使得元数据的其他评论者可以从自动化系统的评估受益。
贡献者专业知识的评估也可以由贡献者自己作出。或者它可以例如通过使用对贡献者的元数据贡献的收集起来的第三方评估的声誉评级来做出。(这种声誉评级可从例如Ebay上的卖方和Amazon上的书评者的公开评估获知。)评估可以是领域特定的,因此一个人可能被判断(或自我判断)为对草的类型了如指掌,但是不了解狗的品种。再一次,所有这样的信息合乎期望地存储在子元标签(当信息是关于子元标签时,包括子子元标签)中。
关于众包的更多信息(包括对贡献者专业知识的使用等)可在Digimarc的已公开的专利申请20070162761中找到。
返回到地理位置描述符(其可以是数值(例如纬度/经度)或者是文字)的情况,图像可以随着时间而累积出贡献的地理描述符的冗长目录。自动化系统(例如Flickr的服务器)可以定期地检查贡献的地理标签信息,并将其提取出来以便于公众使用。对于数值信息,处理可以应用已知的聚类算法来识别相似坐标的聚类,并对其求平均值以对每个聚类产生平均位置。例如,间歇泉的照片可能由一些人标记上Yellowstone的纬度/经度坐标,而由有些人标记上新西兰的Hells GatePark的纬度/经度坐标。这些坐标因此形成截然不同的两个将被分别平均的聚类。如果70%的贡献者把坐标放在Yellowstone,则提取的(平均)值可以赋予70%的置信度。孤立点数据可以被保留,但是被赋予与其孤立点状态相称的低概率。这种由所有者进行的数据提取可以存储在公众可读但是不能写的元数据字段中。
相同或另外的方法可以供添加的文字元数据使用—例如,它可以被累积并基于出现频率而被评级,以提供对相对置信度的了解。
本说明书中详述的技术在涉及水印化、条形编码、指纹识别、OCR解码和用于从图像中获得信息的其它方法的背景环境中得到了许多应用。再次考虑图21的台式电话机的手机照片。可以基于图像度量来搜索Flickr以获得主体相似图像的集合(例如,如上面详述的那样)。数据提取处理(例如水印解码、指纹计算、条形码或OCR读取)可以应用于作为结果而得到的图像中的一些或全部,并且收集的信息由此可以添加到图21图像的元数据中,和/或与图像数据(图21图像的图像数据,和/或相关图像的图像数据)一起被提交给服务提供商。
从在第一次搜索中找到的图像的集合中,可以获得文本或GPS元数据,并且可以对带有相似标签的图像进行第二次搜索。从例如文本标签Cisco和VOIP中,对Flickr的搜索可以发现如图36中所示的用户电话下面的照片(具有OCR可读数据)。再一次,提取的信息可以被添加到图21图像的元数据中,和/或被提交给服务提供商以增强它能够提供给用户的响应。
如刚刚所示,手机用户可以被赋予环顾四周角落和看到物体下方的能力(通过使用一个图像作为对一大群集的相关图像的入口)。
用户界面
参考图44和45A,手机和相关的便携式设备110典型地包括显示屏111和键盘112。除了数字(或字母数字)键盘之外,常常还存在多功能控制器114。一种流行的控制器具有一中心按钮118和四个环绕按钮116a、116b、116c和116d(也在图37中示出)。
一种说明性的使用模型如下所述。系统通过在手机显示屏上显示相关图像的集合给用户来响应(光学地拍摄或无线接收的)图像128。例如,用户拍摄了一图像并将其提交给远程服务。服务确定所提交图像的图像度量(可能在预处理之后,如上面详述的那样),并且(例如在Flickr上)搜索外表上相似的图像。这些图像被传送到手机(例如由服务传送到手机,或直接从Flickr传送到手机),并且它们被缓存以供显示。服务可以例如通过呈现在显示屏上的指令来提示用户重复地按下四向控制器上的右箭头按钮116b(或按下并保持右箭头按钮116b)以察看一序列图案相似图像(130,图45A)。每次按下按钮时,就显示缓存的明显相似图像中的另一个。
通过类似早先描述的那些技术的技术或者以其它方式,远程服务也可以搜索在地理位置方面与所提交的图像相似的图像。这些图像也可以被发送给手机并缓存在手机上。指令可以建议:用户可以按下控制器的左箭头按钮116d来回顾这些GPS相似的图像(132,图45A)。
类似地,服务可以搜索在元数据方面与所提交的图像相似的图像(例如基于从通过模式匹配或GPS匹配识别的其它图像中推断出的文字元数据)。同样,这些图像也可以被发送给电话并被缓存以供立即显示。指令可以建议:用户可以按下控制器的向上箭头按钮116a来回顾这些元数据相似的图像(134,图45A)。
因此,通过按下向右、向左和向上按钮,用户可以回顾在外观、位置或元数据描述符方面与所拍摄图像相似的图像。
每逢这样的回顾揭示出一张特别感兴趣的照片时,用户可以按下向下按钮116c。该动作识别当前察看的照片给服务提供商,服务提供商随后可以以当前察看的照片作为基础图像来重复处理。该处理随后这样重复进行:以用户选择的图像作为基础,并且按下按钮会使得能够回顾在外观(16b)、位置(16d)或元数据(16a)方面与该基础图像相似的图像。
该处理可以无限地继续。在某一时刻,用户可以按下四向控制器的中心按钮118。该动作将那时显示的图像提交给服务提供商以进行进一步动作(例如触发相应的响应,如在例如早先引用的文献中公开的那样)。该动作可以涉及与提供所有备选图像的服务提供商不同的服务提供商,或者他们可以是相同的。(在后一情况下,最终选择的图像不需要发送给服务提供商,因为该服务提供商知道由手机缓存的所有图像并且可以跟踪哪个图像当前正在被显示。)
刚刚详述的信息浏览的维度(相似外观图像;相似位置图像;相似元数据图像)在其它实施例中可以不同。考虑例如取一房子的图像作为输入(或纬度/经度)并返回下列图像序列的实施例:(a)在位置上离输入图像中的房子最近的待售房子;(b)在价格上离输入图像中的房子最近的待售房子;和(c)在特征(例如卧室/浴室)方面离输入图像中的房子最近的待售房子。(所显示的房子的范围可以通过例如邮政编码、大城市区域、学区或其它限定符来限制。)
这种用户界面技术的另一实例是呈现来自EBay的列出Xbox 360游戏操作台的拍卖的搜索结果。一个维度可以是价格(例如按下按钮116b会得到一序列示出Xbox 360拍卖的屏幕,从定价最低的屏幕开始);另一维度可以是卖方与用户的地理接近度(从最接近到最远,通过按下按钮116d来示出);另一维度可以是直到拍卖结束为止的时间(从最短到最长,通过按下按钮116a来呈现)。按下中间按钮118可以加载正被显示的拍卖的完整网页。
一个相关实例是一种系统,该系统通过识别汽车(使用图像特征和相关的数据库),在EBay和Craigslist中搜索相似的汽车,并将结果呈现在屏幕上,来响应用户拍摄的汽车图像。按下按钮116b会呈现基于与输入图像的相似性(首先是相同的型号年份/相同的颜色,其次是最接近的型号年份/颜色)而得到的、全国范围内的有关待售汽车的信息的屏幕(例如包括图像、卖家位置和价格)。按下按钮116d会得到这样的一序列屏幕,但是局限于用户的州(或大城市区域、或用户所在位置的50英里半径等)。按下按钮116a会得到这样的一序列屏幕,同样在地理上被限制,但这次是按价格上升的顺序呈现(而不是最接近的型号年份/颜色)。同样,按下中间按钮会加载最后一次显示的汽车的完整网页(EBay或Craigslist)。
另一实施例是帮助人们记起名字的应用。用户在聚会上看到一熟悉的人,但是记不起他的名字。该用户暗中拍下这个人的照片,并且该图像被发送给远程服务提供商。服务提供商提取面部识别参数并在社交网络站点(例如FaceBook、MySpace、Linked-In)或者包含这些站点上的图像的面部识别参数的分立的数据库上搜索相似外表的脸。(服务可以将用户的登录证书提供给站点,从而允许对不能公开访问的信息进行搜索。)有关通过搜索找到的相似外表的人的名字和其它信息被返回给用户的手机,以帮助唤起用户的记忆。
各种UI程序可以预期。当数据从远程服务返回时,用户可以按下按钮116b以便按照最接近的相似度的顺序滚动各匹配者而不管地理位置如何。可以显示匹配的人的带有相关名字和其它概况信息的缩略图,或者可以仅呈现该人的全屏图像(其上叠加有名字)。当识别出熟悉的人时,用户可以按下按钮118以加载该人的FaceBook/MySpace/Linked-In页面。可选地,不是呈现带有名字的图像,可以仅呈现名字的文字列表,例如所有名字都显示在单个屏幕上并且按照面部匹配的相似性排序;SMS文本消息可以满足该最后一种配置。
按下按钮116d可以按照将居住地列为用户的目前位置或用户的参考位置(例如,家)的某一地理接近度(例如,相同的大城市区域,相同的州,相同的校园,等等)范围内的人的最接近的相似度的顺序滚动匹配者。按下按钮116a可以得到类似的显示,但是局限于在社交网络内是用户的“朋友”的那些人(或者是朋友的朋友的人,或者是另一规定的与用户的分离度范围内的人)。
一种相关的配置是法律实施工具,其中警官拍摄一个人的图像并将其提交给包含来自政府驾驶执照记录和/或其他源的面部肖像/特征值信息的数据库。按下按钮116b会使屏幕显示一序列有关全国范围内具有最接近的面部匹配的人的图像/履历档案。按下按钮116d会使屏幕显示相似的序列,但是局限于警官的州范围内的那些人。按下按钮116a会得到这样的序列,但是局限于警官正在工作的大城市区域内的那些人。
代替信息浏览的三个维度(例如对应于相似外观图像/相似位置图像/相似元数据标签图像的按钮116b、116d、116a),可以采用更多或更少的维度。图45B仅示出两个维度的浏览屏幕。(按下向右按钮会得到信息屏幕的第一序列140;按下向左按钮会得到信息屏幕的不同的序列142。)
代替两个或更多不同按钮,可以采用单个UI控制来在可用的信息维度中航行。操纵杆是一种这样的设备。另一种设备是滚轮。图44的便携式设备110在其侧面上具有能够向上或向下滚动的滚轮124。它也可以被压入以作出选择(例如类似于早先讨论的控制器的按钮116c或118)。类似的控制可用在许多鼠标上。
在大多数用户界面中,相反的按钮(例如向左按钮116b和向右按钮116d)正好沿相反的方向(例如正向/反向)导航同一维度的信息。在上面讨论的特定界面中,应认识到的是,情况并不是这样(尽管在其它实现方案中可能是这样)。按下向右按钮116b并且随后按下向左按钮116d不会使系统返回到原来的状态。而是,按下向右按钮会给出例如第一幅相似外观图像,并且按下向左按钮会给出第一幅相似位置图像。
有时合乎期望的是,只是按与刚刚回顾的顺序相反的顺序航行通过同一序列的屏幕。各种界面控制可以用来这样做。
一种是“反向”按钮。图44中的设备110包括各种各样的还未讨论的按钮(例如围绕控制器14的外围的按钮120a-120f)。这些按钮中的任何一个在被按下的情况下可以用来使滚动顺序反向。通过按下例如按钮120a,与附近的按钮116b相关的滚动(呈现)方向可以被反向。因此如果按钮116b通常按照费用增大的顺序呈现项目,则激活按钮120a可以使按钮116b的功能转换到例如按照费用降低的顺序呈现项目。如果在回顾由按钮116b的使用而产生的屏幕时,用户“动作过头”并想反向,则她可以按下按钮120a并随后再次按下按钮116b。早先呈现过的屏幕将随后从当前屏幕开始沿相反的顺序出现。
或者,操作这样的按钮(例如120a或120f)可以使反向按钮116d沿相反的顺序往回滚动通过激活按钮116b而呈现的屏幕。
在所有这些实施例中文字或符号提示可以叠加在显示屏上—告知用户正在浏览的信息的维度和方向(例如,按照费用浏览:升序)。
在另一些配置中,单个按钮可以执行多个功能。例如,按下按钮116b可以使系统开始呈现例如示出离用户的位置最接近的待售房子的照片的一序列屏幕—将每个照片呈现800毫秒(由用户输入的偏好数据设置的间隔)。第二次按下按钮116b可以使系统停止该序列—显示待售房子的静态屏幕。第三次按下按钮116b可以使系统沿相反的顺序呈现序列,从静态屏幕开始并往回经过早先呈现的屏幕。重复操作按钮116a、116b等可以以同样的方式执行(但是控制不同的信息序列,例如在价格上最接近的房子和在特征方面最接近的房子)。
在所呈现的信息源于应用于基础图像(例如用户拍的照片)的处理的配置中,该基础图像可以呈现在显示屏的任何部分上(例如作为显示屏角落处的缩略图)。或者可以操作设备上的按钮(例如126a或120b)以将基础图像立即召唤回到显示屏上。
触摸界面正在例如可从Apple和Microsoft得到的产品(例如在Apple的专利公开20060026535、20060026536、20060250377、20080211766、20080158169、20080158172、20080204426、20080174570和微软的专利公开20060033701、20070236470和20080001924中详述的那些)中得到流行。这样的技术可以用来增强和扩展刚刚回顾的用户界面概念—允许更高程度的灵活性和控制。上面提到的每个按钮按压都可以在触摸屏系统的词汇表中具有对应的手势。
例如,不同的触摸屏手势可以调用不同类型的刚刚回顾的图像信源的显示。例如,向右刷的手势可以呈现向右滚动的一系列具有相似可视内容的图像的图像帧130(滚动的初始速度取决于用户手势的速度,并且滚动速度随时间减速或者不减速)。向左刷的手势可以呈现具有相似GPS信息的图像132的类似的向左滚动显示。向上刷的手势可以呈现在元数据方面类似的图像134的向上滚动显示。在任何时刻,用户可以轻拍所显示的图像之一以使其成为基础图像,使处理重复进行。
其它手势可以调用其他动作。一种这样的动作是显示对应于与所选择的图像相关的GPS位置的俯瞰图像。该图像可以用其它手势来放大/缩小。用户可以选择显示摄制的图像、地图数据、来自一天的不同时间或不同日期/季节的数据、和/或各种覆盖物(如可从Google Earth获知的地形、名胜和其他数据)等。图标或其它图形可以取决于特定图像的内容而被呈现在显示屏上。Digimarc的已公开申请20080300011详述了一种这样的配置。
也可以显示“路边”或“街道级别的”图像(而不是俯瞰图像)。
应认识到的是,本技术的某些实施例包括共享的一般结构。呈现初始的一组数据(例如图像,或元数据诸如描述符或地理编码信息,或图像度量诸如特征值)。从该组数据,获得第二组数据(例如图像或图像度量或元数据)。从该第二组数据,编辑出第三组数据(例如具有相似图像度量或相似元数据的图像,或者图像度量,或者元数据)。来自第三组数据的项目可以被用作处理的结果,或者处理可以例如通过在确定第四数据时使用第三组数据而继续进行(例如一组描述性元数据可以从第三组的图像中编辑出来)。这可以例如通过从第四组数据中确定出第五组数据而继续进行(例如识别具有来自第四数据组的元数据项的一组图像)。可以从第五组数据中获得第六组数据(例如识别第五组中的图像所标记有的GPS数据的聚类),等等。
各组数据可以是图像,或者它们可以是其它形式的数据(例如图像度量、文字元数据、地理位置数据、解码出的OCR数据、条形码数据、水印数据等)。
任何数据可以充当种子。处理可以从图像数据或其它信息(诸如图像度量、文字元数据(也称为语义元数据)、地理位置信息(例如GPS坐标)、解码出的OCR/条形码/水印数据等)开始。从第一类型的信息(图像度量、语义元数据、GPS信息、解码出的信息),可以获得第一组信息相似的图像。从该第一组图像,可以收集第二种不同类型的信息(图像度量/语义元数据/GPS/解码出的信息等)。从该第二种类型的信息,可以获得第二组信息相似的图像。从该第二组图像,可以收集第三种不同类型的信息(图像度量/语义元数据/GPS/解码出的信息等)。从该第三种类型的信息,可以获得第三组信息相似的图像。等等。
因此,尽管示出的实施例一般从图像开始,并随后通过参考其图像度量等而继续进行,但是动作的完全不同的组合也是可能的。种子可以是来自产品条形码的有效载荷。这可以产生第一组描绘相同条形码的图像。这可以导致一组共同的元数据。基于该元数据,这可以导致第二组图像。从该第二组图像中可以计算出图像度量,并且可以使用最普遍的度量来搜索和识别第三组图像。这样识别出的图像可以使用上面提到的配置而呈现给用户。
本技术的某些实施例可以被认为是采用了迭代递归的处理,通过该处理,有关一组图像(在许多初始情况下是单个图像)的信息被用来识别第二组图像,而第二组图像可以被用来识别第三组图像,等等。每组图像借以与下一组图像相关的函数涉及特定种类的图像信息(例如图像度量、语义元数据、GPS、解码出的信息等)。
在其它背景环境中,一组图像与下一组图像之间的关系不仅是一类信息的函数,而且是两类或更多类信息的函数。例如,对种子用户图像可以不仅检查图像度量而且检查GPS数据。从这两类信息,可以确定一组图像(在视觉外观和位置的某一方面都相似的图像)。在相继的多组图像中的任何一组图像的确定过程中,自然可以采用关系的其它配对、三元组等。
进一步的讨论
本技术的一些实施例分析消费者手机照片,并直观推断地确定有关照片主体的信息。例如,它是人、地点还是物?根据该高级别的确定,系统可以更好地构想消费者可能要寻求什么类型的响应,从而使操作更加直观。
例如,如果照片的主体是人,则消费者可能对将所描绘的人加为FaceBook的“朋友”感兴趣。或者发送文本消息给那个人。或者在网页上发布该照片的有评注的版本。或者仅仅了解这个人是谁。
如果主体是地点(例如时代广场),则消费者可能对当地地理、地图和附近的吸引物感兴趣。
如果主体是物(例如独立钟或一瓶啤酒),则消费者可能对有关该物的信息(例如其历史、使用过它的人)或者对购买或出售该物等感兴趣。
基于图像类型,说明性的系统/服务可以确定它所预期到的一个或更多动作,其中消费者将会发现所述一个或更多动作对于手机图像是最适当的响应。这些动作中的一个或全部可以被采取并缓存在消费者的手机上以供回顾。例如,滚动手机的侧面上的指轮可以呈现一连串不同的屏幕—每个屏幕具有对图像主体的不同信息响应。(或者可以呈现这样的屏幕,其询问消费者一些可能的动作中的哪一个是消费者期望的。)
在使用中,系统可以监测消费者选择了哪一个可用动作。消费者的使用历史可以用来改进消费者兴趣和期望的贝叶斯模型,使得可以为用户更好地定制未来的响应。
这些概念通过实例(其各方面被描绘在例如图46和47中)将会变得更清楚。
处理一组样本图像
假定一游客使用手机或其它移动设备拍了一张纽约洛克菲勒中心的普罗米修斯雕像的照片。最初,它只是一群像素。将要做什么呢?
假定该图像用位置信息(例如以XMP元数据或EXIF元数据表示的纬度/经度)进行了地理编码。
根据地理编码数据,可以在Flickr上搜索第一组图像—从相同(或附近)位置拍摄的图像。在该第一组图像中可能有5或500张图像。
收集来自该组图像的元数据。该元数据可以具有各种类型。一种是来自赋给图像的标题的词/短语。另一种是赋给图像的元标签(通常由拍摄者赋给(例如为图像主体和某些属性/关键词命名),但是也可另外由拍摄设备赋给(例如标识出照相机型号、照片的日期/时间、位置等))中的信息。另一种是由拍摄者生成的照片的叙述性描述中的词/短语。
一些元数据项可以跨越不同的图像而重复出现。两张或更多张图像所共有的描述符可以被识别(被聚类),并且可以对最流行的项进行评级。(例如在图46A中的“A”处示出的列表。在这里以及在其它元数据列表中,为了说明的方便而仅给出了部分结果。)
根据元数据并根据其它分析,可以确定第一组图像中的哪些图像有可能以人为中心,哪些图像以地点为中心,以及哪些图像以物为中心。
考虑一组50张图像所标记有的元数据。一些项与地点相关。一些项与图像中描绘的人相关。一些项与物相关。
以地点为中心的处理
可以使用各种技术来识别与地点相关的项。一种是使用具有地理信息的数据库来查找给定地理位置附近的位置描述符。例如,当用洛克菲勒中心的纬度/经度询问Yahoo的GeoPlanet服务时,Yahoo的GeoPlanet服务返回由描述符(诸如“洛克菲勒中心”、“10024”(邮政编码)、“曼哈顿中城(Midtown Manhattan)”、“纽约市”、“曼哈顿区”、“纽约州”和“美国”)构成的分层结构。
同一服务可以根据请求而返回毗邻/同胞的邻居/特征的名称(例如“10017”、“10020”、“10036”、“剧院区(Theater District)”、“卡耐基音乐厅”、“大中央车站(Grand Central Station)”、“美国民间艺术博物馆(Museum of American Folk Art)”等等。
给定一组纬度/经度坐标或其它位置信息,附近的街道名称可以从各种各样的映射程序获得。
附近的地点描述符的词汇表可以以这样的方式编辑。从一组Flickr图像获得的元数据可以随后参考词汇表进行分析以识别与地点相关(例如匹配词汇表中的项)的项。
随后考虑在所参考的那组从Flickr收集的图像中使用这些与地点相关的元数据。
一些图像可能不具有地点相关的元数据。这些图像有可能是以人为中心或以物为中心,而不是以地点为中心。
有些图像可能具有专门与地点相关的元数据。这些图像有可能是以地点为中心,而不是以人为中心或以物为中心。
在它们之间的是既具有与地点相关的元数据又具有其它元数据的图像。可以设计并利用各种规则来对图像与地点的相对相关性赋值。
一种规则是看与图像相关的元数据描述符的数目,并且确定在与地点相关的项的词汇表中发现的元数据描述符所占的分数比例。这是一种度量。
另一种是看与地点相关的描述符出现在元数据中的哪里。如果它们出现在图像标题中,则它们有可能比它们出现在有关照片的冗长叙述性描述的末尾的情况更加相关。与地点相关的元数据的放置位置是另一种度量。
也可以考虑与地点相关的描述符的特殊性。关于对图像以地点为中心的指示性,与更特殊的描述符诸如“洛克菲勒中心”或“大中央车站”相比,描述符“纽约”或“美国”的指示性可能更差。这可以得到第三种度量。
相关的第四种度量考虑一个项(或者仅位于所收集的元数据内,或者位于该数据的扩展集内)的出现频率(或不可能性)。从该观点看,“RCA Building”比“洛克菲勒中心”更相关,因为它的使用频率小得多。
这些和其它度量可以组合以便向组中的每张图像赋予表示其潜在以地点为中心的性质的地点分数。
所述组合可以是四种因素的直接相加,每种因素从0至100变动。然而,更可能地,一些度量的权重将更大。下面的采用度量M1、M2、M3和M4的等式可以用来产生分数S,其中因子A、B、C、D和指数W、X、Y和Z通过实验或通过贝叶斯技术确定:
S=(A*M1)W+(B*M2)X+(C*M3)Y+(D*M4)Z
以人为中心的处理
不同的分析可以用来估计从Flickr获得的那组图像中的每张图像的以人为中心的性质。
如在刚刚给出的实例中那样,可以编辑相关项的词汇表—这次是与人相关的项。与地名词汇表形成对比,人名词汇表可以是全球性的,而不是与特定地点相关的。(然而,在不同的国家中,不同的词汇表可能是适当的。)
这样的词汇表可以从各种源编辑,包括电话薄、最流行名字的列表和名字会出现在的其它参考作品。该列表可以开始于“Aaron、Abigail、Adam、Addison、Adrian、Aidan、Aiden、Alex、Alexa、Alexander、Alexandra、Alexis、Allison、Alyssa、Amelia、Andrea、Andrew、Angel、Angelina、Anna、Anthony、Antonio、Ariana、Arianna、Ashley、Aubrey、Audrey、Austin、Autumn、Ava、Avery…”。
可以单独考虑姓之前的名(first name),或者也可以考虑姓(lastname)。(一些名字可能是地名或人名。搜索毗连的名/姓和/或毗连的地名可以帮助区分模糊的情况。例如,Elizabeth Smith是一个人;ElizabethNJ是一个地方。)
人称代词等也可以被包括在这样的词汇表中(例如他(he)、她(she)、他(him)、她(her)、他的、我们的、她的、我(I)、我(me)、我自己、我们、他们(they)、他们(them)、我的(mine)、他们的)。也可以包括识别人和人际关系的名词(例如伯父、姐妹、女儿、爷爷、老板、学生、雇员、结婚等)。
通常适用于人的形容词和副词也可以被包括在人项词汇表中(例如高兴的、令人厌烦的、白肤金发的等),宾语的名称和通常与人相关的定语(例如T恤衫、背包、太阳镜、晒成褐色的等)同样可以被包括在人项词汇表中。也可以采用与人相关的动词(例如网络冲浪、喝酒)。
在这最后一组中,如在另外的组中那样,存在着一些项也可能适用于以物为中心的图像(而不是以人为中心的图像)。项“太阳镜”可能出现在单单描绘太阳镜的图像的元数据中;“高兴的”可能出现在描绘一条狗的图像的元数据中。也存在着人项也可能是地点项的情况(例如Boring、Oregon)。在更复杂的实施例中,词汇表项可能与各个置信度度量相关,由此基于这样的项的任何结果可能要打折扣或者被认为具有不同程度的不确定性。)
如前所述,如果图像不与任何涉及人的元数据相关,那么该图像可以被判定为可能不是以人为中心的。相反,如果所有元数据都与人相关,则该图像有可能是以人为中心的。
对于其它情况,与上面回顾的度量类似的度量可以被评估并组合以便例如基于与该图像相关的涉及人的元数据的数目、放置位置、特殊性和/或频率/不可能性,来产生表示每张图像的相对的以人为中心的性质的分数。
尽管对元数据的分析给出了有关图像是否以人为中心的有用信息,但是也可以(可选地或者与元数据分析一起)采用其它技术。
一种技术是寻找肤色颜色的连续区域来分析图像。这样的特征可表征以人为中心的图像的许多特征,但是在地点和物的图像中发现的频率更低。
一种相关的技术是面部识别。该技术已经进步到这样的程度:甚至是便宜的对准即拍数字照相机也可以快速且可靠地识别图像帧内的脸(例如基于这样的主体来对焦或曝光该图像)。
(脸部查找技术被详述在例如以下文献中:专利5,781,650(Univ.of Central Florida)、6,633,655(Sharp)、6,597,801(Hewlett-Packard)和6,430,306(L-1 Corp.),以及Yang等人的Detecting Faces in Images:ASurvey,IEEE Transactions on Pattern Analysis and Machine Intelligence,Vol.24,No.1,January 2002,pp.34-58,和Zhao等人的Face Recognition:A Literature Survey,ACM Computing Surveys,2003,pp.399-458。)
面部识别算法可以应用于从Flickr获得的一组参考图像,以识别具有明显脸部的那些图像并识别那些图像的与脸部相对应的部分。
当然,许多照片具有偶然地描绘在图像帧内的脸部。尽管具有脸部的所有图像可以被识别为以人为中心,但是大多数实施例采用进一步的处理来提供更精确的评估。
一种形式的进一步处理是确定识别出的脸部所占据的图像帧的百分比区域。百分比越高,图像以人为中心的可能性就越高。这是在确定图像的以人为中心的分数时可以使用的另一种度量。
另一种形式的进一步处理是(1)在图像中寻找一个或更多脸部的存在,以及(2)在与该图像相关的元数据中寻找人描述符的存在。在这种情况下,面部识别数据可以用作“附加”因素来增加图像的基于元数据或其它分析的以人为中心的分数。(所述“附加”可以采取各种形式。例如,(0-100范围内的)分数可以增加10或者增加10%。或者增加与100之间的剩余距离的一半,等等。)
因此,例如,带有“Elizabeth”元数据的标签的照片在面部识别算法在图像内发现脸部的情况下比在没有发现脸部的情况下更有可能是以人为中心的照片。
(相反,在图像中不存在任何人脸可以用作“附加”因素来提高图像主体属于另一类型(例如地点或物)的置信度。因此,带有作为元数据的Elizabeth的标签但是不存在任何人脸的图像,提高了该图像与命名为Elizabeth的地方或命名为Elizabeth的物(诸如宠物)相关的可能性。)
如果面部识别算法识别出人脸为女性并且元数据包括女性名字,则在确定过程中可以假定更高的置信度。当然,这样的配置要求词汇表或其它数据结构具有使性别与至少一些名字相关联的数据。
(更复杂的配置可以实现。例如,所描绘的人的年龄可以使用(例如,如Univ.of Central Florida的专利5,781,650中详述的)自动化技术来估计)。在图像元数据中发现的名字也可以被处理以估计这样命名的人的年龄。这可以使用有关名字随年龄而变的统计分布的公共领域信息(例如来自公布的社会保险管理(Social Security Administration)数据和详述来自出生记录的最流行名字的网站)来完成。因此,名字Mildred和Gertrude可能与峰值处于80岁的年龄分布相关,而名字Madison和Alexis可能与峰值处于8岁的年龄分布相关。发现元数据名字和估计的人的年龄之间的在统计上可能的对应关系可以进一步提高图像的以人为中心的分数。在统计上不可能的对应关系可以用来降低以人为中心的分数。(有关消费者的图像中的主体的年龄的估计信息也可以用来编制直觉响应,就如同有关主体性别的信息可以用来编制直觉响应那样。))
正如在图像中检测到脸部可以用作基于元数据的分数的“附加”因素那样,以人为中心的元数据的存在可以用作“附加”因素来提高基于面部识别数据的以人为中心的分数。
当然,如果在图像中没有发现人脸,则该信息可以用来降低图像的以人为中心的分数(可能降至零)。
以物为中心的处理
在本实例中,以物为中心的图像是可在从Flickr获得的一组图像中发现的第三种类型的图像。存在着借以确定图像的以物为中心的分数的各种技术。
一种技术依赖于使用与上面详述的那些原理类似的原理进行的元数据分析。可以从Flickr元数据的领域或一些其它文集(例如WordNet)编辑出名词的词汇表,并且可以通过出现频率来对其进行评级。与地点和人相关的名词可以从词汇表中除去。该词汇表可以以上面确定的方式使用以进行图像的元数据的分析,从而产生每个图像的分数。
另一种方法使用模式匹配来识别以物为中心的图像—对照已知的涉及物的图像的库来匹配每个图像。
又一种方法是基于早先确定的以人为中心的分数和以地点为中心的分数。可以与其余两个分数逆相关地赋予以物为中心的分数(即,如果对于以人为中心来说图像的分数低并且对于以地点为中心来说图像的分数低,那么对于以物为中心来说可以对其赋予高分数)。
这样的技术可以组合起来使用,或者分别单独地使用。在任何情况下,对每张图像产生分数—其倾向于表示该图像以物为中心的可能性是更大还是更小。
对样本图像组的进一步处理
由上述技术产生的数据可以为一组图像中的每张图像产生三种分数,表明图像是(1)以人为中心、(2)以地点为中心或者(3)以物为中心的大致置信度/概率/可能性。这些分数不需要加起来总和为100%(尽管它们有可能这样)。有时图像可以在两个或更多种类的分数方面得到高分数。在这样的情况下,图像可以被认为具有多种相关性(例如被认为既描绘人又描绘物)。
从Flickr下载的一组图像接下来可以取决于被识别为主要以人为中心、以地点为中心还是以物为中心,而被分成多组(例如A、B和C)。然而,由于一些图像可能具有分离的概率(例如一图像可能具有以地点为中心的某种标记,并且具有以人为中心的某种标记),因此完全通过其高分数来识别一图像会忽略有用信息。优选的是,对该组图像计算加权的分数—把每张图像的三种类别的各个分数都考虑在内。
来自Flickr的一组样本图像(全部取自洛克菲勒中心附近)可能会暗示69%是以地点为中心,25%是以人为中心,并且15%是以物为中心。
即使不考虑图像自身的内容(除了其地理编码以外),该信息仍给出了对游客手机图像的有用洞察。即,图像是以地点为中心的概率是较大的,以人为中心的可能性更小一些,并且以物为中心的概率更小。(这个排序可以用来确定处理中的后续步骤的顺序,从而允许系统更快速地给出最有可能适合的响应。)
对手机照片的这种类型评估可以单独用来帮助确定响应于该图像而提供给游客的自动动作。然而,进一步处理可以更好地评估图像的内容,并且由此允许凭直觉获知更特别编制的动作。
相似性评估和元数据加权
在从Flickr收集的一组共处同一位置的图像中,以地点为中心的图像将倾向于具有与以人为中心或以物为中心的图像不同的外观,然而倾向于在以地点为中心的组内具有某种相似性。以地点为中心的图像可以通过直线(例如建筑边缘)表征。或者通过重复图案(窗户)表征。或者通过图像顶部附近的大面积均匀纹理和相似颜色(天空)表征。
以人为中心的图像也将倾向于具有与另外两类图像不同的外观,然而在以人为中心的类中具有共同的属性。例如,以人为中心的图像将通常具有人脸—通常通过具有两只眼睛和一只鼻子、肤色区域等的卵形来表征。
尽管以物为中心的图像可能最多样化,但是来自任何给定地形的图像可能倾向于具有一致化的属性或特征。以马跑道地理编码的照片将以某种频率描绘马;以费城的国家独立历史公园(IndependenceNational Historical Park)地理编码的照片将倾向于有规律地描绘独立钟,等等。
通过确定手机图像更相似于一组Flickr图像中的以地点为中心的图像、还是以人为中心的图像还是以物为中心的图像,可以得到手机图像的主体中的更高置信度(并且更准确的响应可以凭直觉获知并提供给消费者)。
可以应用固定的一组图像评估标准来区分三种类别的图像。然而,详述的实施例适应性地确定这样的标准。特别地,该实施例检查这组图像并确定哪些图像特征/特性/度量最可靠地(1)把分到同样类别中的图像集中在一起(相似性);以及(2)使分到不同类别中的图像彼此区分(差异性)。可在该组图像内测量并检查相似性/差异性行为的属性有:主色;颜色多样性;颜色直方图;主纹理;纹理多样性;纹理直方图;锐利性(edginess);小波域变换系数直方图和主小波系数;频域转换系数直方图和主频系数(其可以在不同的颜色通道中计算);特征值;关键点描述符;几何类概率;对称性;识别为脸部的图像区域的百分比;图像自相关;图像的低维“要点(gist)”;等等。(这些度量的组合可能比各个单独的特性更可靠。)
一种确定哪些度量对这些目的而言最重要的方法是对参考图像计算各种各样的不同图像度量。如果一类图像内对应于特定度量的结果被聚类(例如,如果对于以地点为中心的图像来说,颜色直方图结果被聚类在特定输出值周围),并且如果其它类别的图像在该聚类的结果附近具有很少或没有输出值,那么该度量将看起来很好地适合于用作图像评估标准。(聚类通常使用k平均算法实现方案来执行。)
在来自洛克菲勒中心的一组图像中,系统可以确定:>40的锐利性分数可靠地与在以地点为中心方面得分高的图像相关;>15%的脸部区域分数可靠地与在以人为中心方面得分高的图像相关;并且在金色调中具有局部峰值的颜色直方图连同在较低图像频率处达到峰值的对应于黄色的频率内容一起,有点与在以物为中心方面得分高的图像相关。
在对不同类别的图像进行分类/区分的过程中被发现最有用的分析技术可以随后应用于用户的手机图像。所得结果随后可以被分析以获得与和不同类别的图像相关的表征特征的接近度—在距离度量的意义上(例如多维空间)。(在该特定实施例中,这是第一次手机图像被处理。)
通过使用这样的技术,手机图像可能在以物为中心方面得分60,在以地点为中心方面得分15,并且在以人为中心方面得分0(在0-100范围内)。这是可以用来对手机图像分类的更好的第二组分数(第一组分数是在Flickr中发现的共处同一位置的照片的统计分布)。
用户的手机图像的相似性接下来可以与上述一组参考图像中的各个单独的图像进行比较。可以使用早先识别的相似性度量,或者可以应用不同的度量。专用于该任务的时间或处理可以基于刚刚确定的分数而跨越三种不同的图像类别进行分配。例如,处理可以不花时间判断与分类为100%以人为中心的参考图像的相似性,而是集中判断与分类为以物为中心或以地点为中心的参考图像的相似性(施加到前者的努力比施加到后者的努力更多(例如施加到前者的努力是施加到后者的努力的四倍))。为上述一组参考图像中的大多数图像(除去被评估为100%以人为中心的那些图像)产生相似性分数。
随后考虑元数据。来自参考图像的元数据再次被汇编—这次根据每张图像与手机图像的各种相似性而被加权。(这种加权可以是线性的或指数型的。)由于来自相似图像的元数据被施加的权重比来自不相似图像的元数据更大,因此作为结果而得到的一组元数据被编制成更可能对手机图像做出响应。
从作为结果而得到的该组元数据中,可以使用前N(例如3)个元数据描述符。或者可以使用在加权的基础上包括元数据组的合计M%的描述符。
在给出的实例中,这样识别出的元数据可以包括分数分别为19、12和5的“洛克菲勒中心”、“普罗米修斯”和“溜冰场”(参见图46B中的“B”)。
利用加权的这组元数据,系统可以开始确定什么响应可能是最适合消费者的。然而,在示例性实施例中,系统通过进一步改进其对手机图像的评估而继续进行处理。(系统可以开始确定适当的响应,同时也采取进一步的处理。)
处理第二组参考图像
此时系统被更好地告知有关手机图像的情况。不仅知道其位置,而且知道其可能的类型(以物为中心)和一些其最可能相关的元数据。该元数据可以在从Flickr获得第二组参考图像时使用。
在说明性实施例中,向Flickr询问具有识别出的元数据的图像。该询问可以在地理上局限于手机的地理位置,或者可以搜索更广阔的(或不受限制的)地理范围。(或者询问可以进行两次,使得一半图像与手机图像共处同一位置,并且其余图像位于遥远地,等等。)
搜索可以首先寻找带有所有识别出的元数据的标签的图像。在这种情况下,找到60张图像。如果期望更多的图像,则可以在Flickr上搜索以不同形式配对的元数据项或各个单独的元数据项。(在后者的这些情况下,可以对所选图像的分布进行选择,使得结果中的元数据出现率与不同元数据项的各个分数(即19/12/5)相对应。)
来自该第二组图像的元数据可以被获得、被聚类,并且可以被评级(图46B中的“C”)。(可以消除噪声词(“和、……的、或”等)。也可以忽视仅描述照相机或照片类型的词(例如“Nikon”、“D80”、“HDR”、“黑白”等)。也可以去除月份名。)
借以将第一组图像中的每张图像归类为以人为中心、以地点为中心或以物为中心的早先执行的分析可以在第二组图像中的图像上重复。用于确定该第二图像组的各类别内和之间的相似性/差异性的适当的图像度量可以被识别(或者可以采用早先的度量)。这些度量随后如前所述那样被应用以产生用户的手机图像在以人为中心、以地点为中心或以物为中心方面的改进的分数。通过参考该第二组的图像,手机图像可以在以物为中心方面得分65,在以地点为中心方面得分12,并且在以人为中心方面得分0。(如果期望的话,这些得分可以例如通过求平均而与早先确定的分数组合。)
如前所述,用户的手机图像和第二组中的每张图像之间的相似性可以得到确定。来自每张图像的元数据可以随后根据对应的相似性度量来加权。所得结果可以随后被组合以产生一组根据图像相似性加权的元数据。
一些元数据(常常包括一些评级很高的项)将在确定呈现给消费者的适合于图像的响应的过程中具有相对低的价值。“纽约”、“曼哈顿”是一些实例。通常更有用的将是相对不寻常的元数据描述符。
“不寻常性”这一度量可以通过确定不同元数据项在相关语料库(诸如Flickr图像标签(全球范围或一地理位置区域内),或者提交各张图像的拍摄者的图像标签,或者百科全书或Google的web索引中的词,等等)内的出现频率来计算。加权的元数据列表中的项可以根据它们的不寻常性而被进一步加权(即第二次加权)。
这样的连续处理的结果可以产生在图46B中的“D”处示出的元数据列表(每个元数据与其各自的分数一起示出)。该信息(任选地可与表示人/地点/物的确定的标签结合)允许提供给消费者的响应很好地与手机照片相关。
应认识到的是,这组为用户的手机照片推断的元数据是完全通过对从公共源(诸如Flickr)以及其它公共资源(例如名字、地点的列表)获得的其它图像的自动化处理来编辑的。推断的元数据可以自然地与用户的图像相关联。然而,对于本申请来说更重要的是,它可以帮助服务提供商决定如何最好地对用户图像的提交作出响应。
为消费者确定适当的响应
参考图50,刚刚描述的系统可以被视为“图像榨汁机”的一种特定应用,所述“图像榨汁机”接收来自用户的图像数据并应用不同形式的处理以便收集、计算和/或推断可能与该图像相关的信息。
当辨别出信息时,它可以由路由器发送到不同的服务提供商。这些提供商可以配置成处理不同类型的信息(例如语义描述符、图像纹理数据、关键点描述符、特征值、颜色直方图等)或处理不同种类的图像(例如朋友的照片、一罐汽水的照片等)。来自这些服务提供商的输出被发送到一个或更多设备(例如用户的手机)以供呈现或后来参考。本讨论现在考虑这些服务提供商如何决定什么样的响应可能适合于给定的一组输入信息。
一种方法是建立图像主体和对应响应的分类系统。可以使用树形结构,使图像首先被分类到少数高层群组中的一个群组(例如人/地点/物)中,并且随后每个群组被划分成更多的子群组。在使用中,图像通过树的不同分支来评估,直到可用信息的极限不允许做出进一步的进展。随后采取与树的止叶(terminal leaf)或节点相关的动作。
一种简单的树形结构的一部分在图51中示出。(每个节点产生三个分支,但是这仅是为了举例说明;当然可以使用更多或更少的分支。)
如果图像的主体被推断为一项食物(例如如果图像与食物相关元数据有关),则三个不同的信息屏幕可以缓存在用户的手机上。一个信息屏幕在在线商家处开始所描绘项目的在线购买。(对商家和支付/运送细节的选择可以从用户配置数据获得。)第二屏幕示出有关该产品的营养信息。第三屏幕呈现当地区域的地图—标识出出售所描绘产品的商店。用户使用手机的侧面上的滚轮124(图44)来在这些响应之间进行切换。
如果主体被推断为家庭成员或朋友的照片,则呈现给用户的一个屏幕给出将注释有这个人的可能的名字的照片的副本贴到用户的FaceBook页面上的选项。(对照片中描绘的人的名字的确定可以通过将照片提交到用户在Picasa的帐户来完成。Picasa对所提交的用户图像执行面部识别操作,并使脸部特征向量与用户提供的个人名字相关,从而编辑出用户的先前图像中描绘的朋友和其他人的面部识别信息的用户特定的数据库。Picasa的面部识别被理解为是基于Google的专利6,356,659中详述的技术。Apple的iPhoto软件和Facebook的PhotoFinder软件包括类似的面部识别功能。)另一屏幕开始准备提供给该人的文本消息,其中寻址信息已经从用户的地址簿获得并且是由Picasa确定的身份指出的。用户可以通过在相关屏幕之间切换来寻求所呈现的选项中的任何一项或全部。
如果主体看起来是陌生人(例如未被Picasa识别),则系统将已经在早先通过使用可公开获得的面部识别信息而尝试对这个人进行了识别。(这样的信息可以从已知的人们的照片中提取。VideoSurf是一个具有演员和其他人的面部识别特征的数据库的商家。L-1Corp.维护着可以(在具有适当安全措施的情况下)用于面部识别目的的驾驶执照照片和相关数据的数据库。)呈现给用户的屏幕可以显示出匹配的人的参考照片(连同“匹配”分数一起)以及从网络和其它数据库编辑的相关信息的档案。另一屏幕向用户给出在MySpace或识别出的人会发现其存在的另一社交网络站点上发送“朋友”邀请给识别出的人的选项。又一屏幕详述用户和识别出的人之间的分离度。(例如,我兄弟David有一位同班同学Steve,Steve有一位朋友Matt,Matt有一位朋友Tom,Tom是所描绘的人的儿子。)这样的关系可以从社交网络站点上公开的关联信息确定。
当然,为图像主体的不同子群组设想的响应选项可能会满足大多数用户期望,但是一些用户将会想要不同的东西。因此,对每张图像的至少一种备选响应可以是开放式的,从而允许用户航行到不同的信息或者指定期望的响应—利用可用的任何图像/元数据处理后的信息。
一种这样的开放式方法是将上面提到的两次加权的元数据(例如图46B中的“D”)提交给通用搜索引擎。Google本身在该功能方面不一定是最好的,因为当前的Google搜索要求在结果中找到所有搜索项。更好的是这样一种搜索引擎,其进行模糊搜索并且对不同地加权的关键词做出响应(并非所有关键词都需要被找到)。取决于哪些关键词被找到、它们在哪里被发现等,结果可以指示不同的表面上的相关性。(包括“普罗米修斯”但不包括“RAC Building”的结果将被评级为比包括后者但不包括前者的结果更相关。)
来自这种搜索的结果可以通过其它概念而被聚类。例如,一些结果可能由于它们共同具有主题“艺术装饰”而被聚类。有些结果可能由于它们涉及RCA和GE的公司历史而被聚类。有些结果可能由于它们涉及建筑师Raymond Hood的作品而被聚类。有些结果可能由于涉及20世纪美国雕塑或Paul Manship而被聚类。被发现产生截然不同的聚类的有些概念可能包括John Rockefeller、三菱集团、哥伦比亚大学、无线城音乐厅、彩虹屋饭店(The Rainbow Room Restaurant)等。
来自这些聚类的信息可以在相继的UI屏幕(例如,在呈现有规定的信息/动作的屏幕之后)上呈现给用户。这些屏幕的顺序可以通过信息聚类的大小或者关键词确定的相关性来确定。
另一种响应是将预填充有作为搜索项的两次加权的元数据的Google搜索屏幕呈现给用户。用户可以随后删除与他/她的兴趣不相关的项并增加其它项,以便快速地执行导致用户期望的信息或动作的网络搜索。
在一些实施例中,系统响应可以取决于用户在社交网络中与其具有“朋友”关系或某种其它信任象征的人。例如,如果对用户Ted了解很少但是存在着丰富的一组有关Ted的朋友Alice的信息可用,那么该丰富的一组信息可以在结合给定内容刺激来确定如何对Ted作出响应的过程中采用。
类似地,如果用户Ted是用户Alice的朋友,并且Bob是Alice的朋友,那么与Bob有关的信息可以在确定对Ted的适当响应的过程中使用。
假如存在另一隐含的信任的基础,即使Ted和Alice是陌生人,也可以采用相同的原理。尽管基本概况相似性是一种可能的基础,但是更好的基础是共同具有一不寻常的属性(或者更好的是,共同具有若干不寻常的属性)。因此,例如,如果Ted和Alice都共同具有是支持Dennis Kucinich当总统的狂热支持者和腌姜的爱好者的特点,那些与一个人相关的信息可以在确定呈现给另一个人的适当响应的过程中使用。
刚刚描述的配置提供了强有力的新功能。然而,对用户可能期望的响应的“直觉感知”在很大程度上依赖于系统设计者。他们考虑可能会遇到的不同类型的图像,并规定他们相信将最佳地满足用户的可能期望的响应(或响应的选择)。
在这方面,上面描述的配置类似于早期的web索引—诸如Yahoo!团队的人产生人们可能要搜索的信息的分类系统,并随后手工地确定可能满足不同搜索请求的网络资源。
最终,web压倒了这种有组织的人工努力。Google的创始人是认识到以下情况的那些人中的一些:有关web的大量未被利用的信息可以通过检查网页之间的链接和用户在浏览这些链接时的动作来获得。对系统的理解因此来自于系统内的数据而不是来自于外部视角。
以同样的方式,人工制作的图像分类/响应的树将可能在某一天被视为是图像响应技术的发展过程中的早期阶段。最终,这样的方法将被依赖于从系统自身及对其的使用推导出的机器理解的配置超越。
一种这样的技术简单地检查在特定背景环境中用户选择了哪些响应屏幕。当这样的使用模式变得明显时,在呈现给用户的屏幕序列中可以较早地呈现最流行的响应。
同样,如果在开放式搜索询问选项的使用方面模式变得明显,则这样的动作可以成为标准响应并且在呈现队列中处于更靠前的位置。
使用模式可以在背景环境的各个维度中编制。在拍摄了一张20世纪雕塑家创作的雕像的快照之后,纽约的年龄在40岁和60岁之间的男性可能感兴趣的响应,会与北京的年龄在13岁和16岁之间的女性不同。在圣诞节前的几周拍了一张食品加工机的照片的大多数人可能对找到该产品的最便宜的在线卖家感兴趣;在圣诞节后的一星期拍了相同物品的照片的大多数人可能对在E-Bay或Craigslist上列出该项目进行出售感兴趣。等等。合乎期望地,利用尽可能多的人口统计和其它描述符来跟踪使用模式,以便最大程度地预测用户行为。
也可以应用许多复杂的技术,从而从现在可用的明确链接的和推断地链接的数据源的丰富来源中提取使用模式。这些数据源不仅包括web和个人配置信息,还包括我们接触和我们在其中留下痕迹的各式各样的其它数字数据(例如手机账单、信用卡账单、来自Amazon和EBay的购物数据、Google搜索历史、浏览历史、缓存网页、cookies、email存档、来自Google Voice的电话信息存档、Expedia和Orbitz上的旅游预订、iTunes上的音乐收藏、有线电视订阅、Netflix电影选择、GPS跟踪信息、社交网络数据和活动、照片站点(诸如Flickr和Picasa)和视频站点(诸如YouTube)上的活动和张贴、在这些记录上存储的日时等)。(我们的“数字生活日志”)。此外,这种信息不仅对用户潜在可用,而且对用户的朋友/家人,对与用户具有人口统计相似性的其他人,并且最终对任何其他人(在具有适当的匿名化和/或隐私安全措施的情况下)都潜在可用。
这些数据源之间的相互关系的网络比由Google分析的web链接的网络要小,但是可能在链接的多样性和类型方面要更丰富。从该网络中可以挖掘出大量的推断和洞察,这些推断和洞察可以帮助告知一特定用户可能想用特定的拍摄图像做什么。
人工智能技术可以应用于该数据挖掘任务。一类这样的技术是自然语言处理(NLP),其是一种近来已经取得显著进步的技术。
一个实例是由Cognition Technologies有限公司编辑的语义地图(Semantic Map),其是一种可以用来分析上下文中的词以便识别它们的意思的数据库。这种功能可以用来例如解决对图像元数据进行分析的过程中的同音异义词的歧义性(例如“bow”指的是船的一部分、缎带装饰品、表演者的感谢还是箭的互补物呢?与诸如“嘉年华邮轮”、“缎子”、“卡耐基音乐厅”或“打猎”的项的接近度可以提供可能的答案)。专利5,794,050(FRCD Corp.)详述了基础的技术。
通过NLP技术得到的对意思的理解也可以用于用其它相关描述符(其可以在这里详述的实施例中用作附加元数据)来扩充图像元数据。例如,标记有描述符“芙蓉的雄蕊”的特写图像可以通过NLP技术被进一步标记有项“花”。(到写本文时为止,Flickr具有460张标记有“芙蓉”和“雄蕊”但是省略了“花”的图像。)
专利7,383,169(Microsoft)详述了如何能够通过NLP技术处理词典和其它大型语言著作来编辑出充当这种有关世界的常识信息的丰富的源的词汇知识库。该常识知识可以在这里详述的元数据处理中应用。(Wikipedia是可以充当这种知识库的基础的另一种参考源。我们的数字生活日志是另一种源—一种能够产生对于作为个体的我们而言是独有的洞察的源。)
当应用于我们的数字生活日志时,NLP技术可以得到有关我们的历史兴趣和动作的有细微差别的理解(即,可以用来对我们的当前兴趣和即将到来的动作进行建模(预测)的信息)。这种理解可以用来动态地决定响应于特定用户拍摄了一特定图像(或者响应于其它刺激),应该呈现什么样的信息或者应该采取什么样的动作。真正直觉的计算在那时将已经发生。
其它评论
尽管上面详述的图像/元数据处理用了许多文字来描述,但是它不需要花太多时间来执行。确实,参考数据的处理、词汇表的编辑等等中的许多处理可以离线地完成(在任何输入图像被呈现给系统之前)。Flickr、Yahoo!或其它服务提供商可以定期地编辑和预处理各个地点的各组参考数据,以便在需要对图像询问作出响应时可快速地得到。
在一些实施例中,其它处理活动将与详述的那些处理活动并行地开始。例如,如果第一组参考图像的初步处理暗示出所拍图像是以地点为中心,则系统可以在完成用户图像的处理之前从其它资源请求可能有用的信息。举例来说,系统可能立刻请求附近区域的街道地图以及卫星视图、街道视图、公共交通地图等。同样,可以编辑有关附近餐馆的信息的页面,以及详述附近电影和放映时间的另一页面和具有当地天气预报的又一页面。这些可以全都发送到用户的手机并被缓存以供后来显示(例如通过滚动手机的侧面上的指轮)。
这些动作同样可以在任何图像处理发生之前,简单地基于伴随着手机图像的地理编码数据来进行。
尽管在特别描述的配置中使用了地理编码数据伴随着手机图像的方案,但是这不是必须的。其它实施例可以基于其它标准(诸如图像相似性)来选择参考图像组。(这可以通过上面指出以及下面详述的各种度量来确定。已知的图像分类技术也可以用来确定输入图像落入若干图像种类中的哪一类,使得可以随后取回相似地分类的图像。)另一标准是上传输入图像的IP地址。从同一IP地址或地理上接近的IP地址上传的其它图像可以被采样以形成参考组。
即使缺少输入图像的地理编码数据,参考图像组仍然可以基于位置来编辑。输入图像的位置信息可以从各种间接的技术来推断。借以中继手机图像的无线服务提供商可以识别接收到的游客的传送信号所来自的特定蜂窝塔。(如果传送信号通过另一无线链路诸如WiFi发生,则其位置也可以被获知。)游客在一个小时前在曼哈顿酒店可能已经使用了他的信用卡,从而允许系统(在具有适当的隐私安全措施的情况下)推断出该照片是在曼哈顿附近的某个地方拍摄的。有时图像中描绘的特征是如此形象化以致于在Flickr上快速搜索相似图像就可以找出用户的位置(例如用户正在埃菲尔铁塔处或者正在自由女神像处)。
GeoPlanet作为一种地理信息源而被引用。然而,可以可选地使用许多其它地理信息数据库。GeoNames-dot-org就是一个。(应认识到的是,使用“-dot-”习惯写法以及对通常的http前缀的省略,是为了防止该文本在专利局复制时被显示为活的超链接)。除了(在附近地区、城市、州、国家的级别上)提供给定纬度/经度的地名以及提供对应于各地理区划的母区划、子区划和同胞区划的信息之外,GeoNames的免费数据(可作为web服务获得)还提供诸如找出最近的十字路口、找出最近的邮局、找出地面高程等功能。另一选项是Google的GeoSearchAPI,其允许从Google Earth和Google Maps中取回数据并与来自Google Earth和Google Maps的数据交互。
应认识到的是,航摄图像的档案正在成指数增长。一部分这样的图像来自正对下方的视角,但是在轴外,这种图像变得越来越倾斜。从一个位置的两个或更多不同的倾斜视角,可以创建3D模型。随着这种图像的分辨率的提高,可以获得足够丰富的数据组使得对于一些位置来说可以合成好像从地平面拍摄的场景视图。这样的视图可以与街道级别的照片匹配,并且来自一方的元数据可以扩充另一方的元数据。
如图47中所示,上面特别描述的实施例利用各种资源,包括Flickr、人名数据库、词语频率数据库等。这些仅是可能在这种配置中采用的许多不同信息源中的一些。其它社交网络站点、购物站点(例如Amazon、EBay)、天气及交通站点、在线辞典、最近访问的网页的缓存、浏览历史、cookie收藏、Google、(如这里详述的)其它数字储存库等,全都可以提供可应用于意图的任务的大量附加信息。一些这种数据揭示了有关用户的兴趣、习惯和偏好的信息—可以用来更好地推断所拍照片的内容并更好地编制直觉响应的数据。
同样,尽管图47示出了使不同项目互相连接的几条线,但是这些线仅是说明性的。可以自然地采用不同的互连关系。
在本说明书中详述的配置是可以采用的无数配置中的特定的几个。大多数实施例将与详述的那些不同。一些动作将被省略,一些动作将以不同的顺序执行,一些动作将被并行地而不是串行地执行(并且反之亦然),一些附加动作可以被包括,等等。
一种附加动作是通过例如在第一组Flickr图像的处理之后接收用户相关输入来改进刚刚详述的处理。例如,系统识别出“洛克菲勒中心”、“普罗米修斯”和“溜冰场”作为与用户拍摄图像相关的元数据。系统可以向用户询问这些项中的哪一个与他/她的特定兴趣最相关(或最不相关)。进一步的处理(例如进一步的搜索等)因此可以得到集中。
在呈现在触摸屏上的图像内,用户可以触摸一区域以指示图像帧内具有特定相关性的对象。图像分析和随后的动作可以随后集中在该标识出的对象上。
一些数据库搜索可以是迭代/递归的。例如,来自一个数据库搜索的结果可以与原始搜索输入组合并被用作进一步搜索的输入。
应认识到的是,很多前面的处理是模糊的。很多数据可能在度量方面不具有绝对含义,而只是相关到不同于其它度量的程度。许多这样的不同概率因素可以被评估并随后被组合(统计混合(statisticalstew))。技术人员应认识到的是,适合于给定情况的特定实现方案可能在很大程度上是任意的。然而,通过经验和贝叶斯技术,加权和使用不同因素的更精明的方式可以得到识别并最终得到使用。
如果Flickr档案库足够大,则上面详述的配置中的第一组图像可以被有选择地挑选以便更可能与主体图像相似。例如,可以在Flickr上搜索在一天中的大约同一时间拍摄的图像。光照状况将会大体上相似,使得例如能够避免将夜晚场景与白天场景进行匹配,并且阴影/遮光状况可能要相似。同样,可以在Flickr上搜索在同一季节/月份拍摄的图像。诸如洛克菲勒中心的溜冰场和冬季风景照中的雪的季节性消失等问题可以因此得到缓和。类似地,如果照相机/手机配备有磁力计、惯性传感器或允许其方向(和/或方位/海拔)得到确定的其它技术,那么也可以在Flickr上搜索具有这种相似度的照片。
此外,从Flickr收集的各组参考图像合乎期望地包括来自许多不同的源(拍摄者)的图像,因此他们并不趋向于使用相同的元数据描述符。
可以对从Flickr收集的图像进行筛选以获得足够的元数据。例如,不具有元数据(可能要把任意图像编号除外)的图像可以从参考组中去除。同样,具有少于2(或20)个元数据项、或不具有叙述性描述的图像可以不考虑。
Flickr在本说明书中常常提及,但是当然也可以使用其它内容集。Flickr中的图像通常对每张图像而言都具有规定的许可权。这些许可包括“保留所有权利”以及各种各样的创作共享许可(Creative Commonlicense),通过这些许可,公众可以在不同的条件下利用图像。这里详述的系统可以限定:它们通过Flickr搜索满足规定许可标准的图像(例如不考虑标记有“保留所有权利”的图像)。
其它图像集在一些方面中是优选的。例如,images.google-dot-com的数据库似乎比Flickr更擅长基于元数据相关性来对图像评级。
Flickr和Google维护着可公开访问的图像档案。许多其它图像档案是私有的。本技术的实施例可以在两种情况下都得到应用—包括既使用公开图像集又使用私有图像集的一些混合背景环境(例如使用Flickr来基于用户图像来找出图像,并且Flickr图像被提交到私有数据库以找出匹配者并确定对用户的相应响应)。
类似地,尽管参考诸如Flickr等服务来提供数据(例如图像和元数据),当然也可以使用其它源。
一种可选的源是即兴点对点(P2P)网络。在一种这样的P2P配置中,可以任选地存在一中心索引,利用该中心索引,对等点在搜索期望的内容和详述它们可用于分享的内容的过程中可以进行通信。该索引可以包括图像的元数据和度量,以及指向存储有图像自身的节点的指针。
对等点可以包括照相机、PDA和在图像已被拍摄之后可以几乎立即从其获得图像信息的其他便携设备。
在这里详述的方法的过程中,在图像之间发现了某些关系(例如相似的地理位置;相似的图像度量;相似的元数据等)。这些数据通常是相互的,因此如果系统在处理图像A的过程中发现其颜色直方图与图像B的相似,那么该信息可以被存储以供后面使用。如果后面的处理涉及图像B,则可以参考早先存储的信息来发现图像A具有相似的直方图,而无需分析图像B。这样的关系类似于图像之间的虚拟链接。
为了使这样的关系信息能随着时间的逝去而维持其效用,期望以持久稳固的方式识别图像。如果在图像A处于用户的PDA上并且图像B处于桌面上的某处时发现了一种关系,那么应该提供一种手段,以便即使图像A被转移到用户的MySpace帐户中之后仍能识别出图像A,并且在图像B被存档到云网络中的一匿名计算机中之后仍能跟踪图像B。
为此目的,图像可以被赋予数字对象标识符(DOI)。国际DOI基金会已经实现了CNRI处理系统,使得这样的资源可以通过网址为doi-dot-org的网站被解析为它们的当前位置。另一种选择是使图像被赋予并数字地水印化有由Digimarc For Images服务跟踪的标识符。
如果正在若干不同的储存库中搜索图像或其它信息,则常常合乎需要的是使询问适应于正被使用的特定数据库。例如,不同的面部识别数据库可以使用不同的面部识别参数。为了跨越多个数据库进行搜索,诸如Digimarc的已公开专利申请20040243567和20060020630中详述的技术可以被用来确保采用适当编制的询问来探查每个数据库。
已经频繁地参考图像,但是在许多情况下可以使用其它信息来代替图像信息本身。在不同的应用中,图像标识符、表征特征向量、颜色直方图、关键点描述符、FFT、相关元数据、解码出的条形码或水印数据等可以作为图像本身的替代者而被使用(例如作为数据代理)。
尽管早先的实例谈到通过纬度/经度数据进行地理编码,但是在其它配置中,手机/照相机可以提供一种或更多其它参照系中的位置数据,诸如Yahoo的GeoPlanet ID-Where on Earth ID(WOEID)。
除了识别位置相似的图像之外,位置元数据还可以被用于识别其它资源。例如,网页可以具有地理关联(例如,博客可能会涉及作者的附近地区;饭店的网页与特定的实体地址相关联)。Web服务GeoURL-dot-org是可以用来识别与特定地理位置相关的网站的、位置到URL的反向目录。
GeoURL支持各种各样的位置标签,包括它们自己的ICMB元标签以及Geo标签。支持贴地理标签的其它系统包括RDF、Geo微格式和通常在XMP照相机元信息和EXIF照相机元信息中使用的GPS经度/GPS纬度标签。Flickr使用由Geobloggers建立的语法,例如
geotagged
geo:lat=57.64911
geo:lon=10.40744
在处理元数据的过程中,有时有帮助的是在分析之前清理数据,如上面提到的那样。也可以检查元数据以找出占优势的语言,并且如果不是英语(或者实现方案中的其它特定语言),则该元数据和相关图像可以从考虑对象中去除。
尽管早先详述的实施例设法将图像主体识别为人/地点/物中的一种,使得可以采取相应地不同的动作,但是可以自然地采用在其它类别内对图像进行分析/识别。无数其它类别/类型的分组方式的一些实例包括:动物/蔬菜/矿物;高尔夫/网球/足球/篮球;男性/女性;检测到结婚戒指/未检测到结婚戒指;城市/乡村;下雨的/晴朗的;白天/黑夜;小孩/成人;夏天/秋天/冬天/春天;汽车/卡车;消费品/非消费品;罐/箱/包;自然的/人工的;适合所有年龄/对13岁及以下的孩子需家长忠告/对17岁及以下的孩子需家长忠告/仅供成人;等等。
有时不同的分析引擎可以应用于用户的图像数据。这些引擎可以顺序地或并行地操作。例如,图48A示出了一种配置,其中如果一张图像被识别为以人为中心,则接下来将其提交给两个另外的引擎。一个引擎将这个人识别为家人、朋友或陌生人。另一个引擎将这个人识别为孩子或成人。在第一个引擎已经完成其工作后,后两个引擎并行地工作。
有时引擎可以在根本不能确定它们适用的情况下被采用。例如,图48B示出了执行家人/朋友/陌生人和孩子/成人分析的引擎—同时人/地点/物引擎正在进行其分析。如果后一引擎确定该图像有可能是地点或物,则前面两个引擎的结果将可能不会被使用。
(专门的在线服务可以用于某些类型的图像鉴别/识别。例如,一个网站可以提供飞机识别服务:当飞行器的图像被上传到该站点时,其返回以款式和型号表示的飞机的识别结果。(这样的技术可以遵循例如以下文献的教导:Sun的The Features Vector Research on TargetRecognition of Airplane,JCIS-2008 Proceedings;和Tien的UsingInvariants to Recognize Airplanes in Inverse Synthetic Aperture RadarImages,Optical Engineering,vol.42,No.1,2003。)这里详述的配置可以将看起来属于飞行器的图像提交给这样的站点,并使用返回的识别信息。或者所有输入图像可以提交给这样的站点;大多数返回结果将是模糊不清的并且将不被使用。)
图49示出了不同的分析引擎可以将它们的输出提供给不同的响应引擎。常常,不同的分析引擎和响应引擎可能由不同的服务提供商操作。来自这些响应引擎的输出可以随后被合并/调整以便呈现给消费者。(这种合并可以由用户的手机执行—汇编来自不同数据源的输入;或者这样的任务可以由其它地方的处理器执行。)
这里详述的技术的一个实例是拍了一张需要备用部件的钻机的手机图像的住宅施工人员。该图像被分析,钻机被系统识别为Black andDecker的DR250B,并且用户被提供各种信息/动作选项。这些选项包括回顾具有相似外观的钻机的照片、回顾具有相似描述符/特征的钻机的照片、回顾该钻机的用户手册、察看该钻机的部件列表、从Amazon购买新钻机或从EBay购买二手钻机、在EBay上列出该施工人员的钻机、购买该钻机的部件等。施工人员选择“购买部件”选项并继续定购必要的部件(图41)。
另一实例是购买住宅的人。她拍了一张房子的照片。系统将该图像提交给MLS信息的私有数据库和诸如Google等公开数据库。系统以各种各样的选项做出响应,包括回顾最近的待售房子的照片;回顾在价格上与所拍摄的住宅最接近且位于同一邮政编码内的待售房子的照片;回顾在特征上与所拍摄的住宅最相似且位于同一邮政编码内的待售房子的照片;邻近区域和学校信息,等等(图43)。
在另一实例中,第一个用户在音乐会上拍摄了一张Paul Simon的图像。系统自动地将该图像连同通过上面详述的程序推断的元数据一起贴到用户的Flickr账户上。(艺术家的名字在Google中搜索用户的地理位置时可能已经被发现;例如,Ticketmaster网页揭示了Paul Simon在那个晚上要在那个地点表演。)片刻之后,处理第二个常去听音乐会的人从不同的有利位置拍摄的同一事件的照片的系统遇到了第一用户的照片。向第二用户显示第一用户的照片作为系统对第二照片的响应之一。系统也可以警告第一用户:如果他按下某一按钮两次,则同一事件的来自不同观察点的另一张照片可呈现在他的手机上以供回顾。
在许多这样的配置中,应认识到的是,“内容就是网络”。与每张照片或照片中描绘的每个主体(或其中表达的任何其它一项数字内容或信息)相关联的是充当通往动作和其它内容的隐含链接或明确链接的一组数据和属性。用户可以从一个航行到下一个,从而在网络上的节点之间航行。
电视节目是通过观众的数量来评价的,并且学术论文是通过后来的引用数量来评定的。抽象到更高一层,应认识到的是,这种对实体内容或虚拟内容的“受众测量”是对使其与其它实体内容或虚拟内容关联起来的链接的普查。
尽管Google局限于分析和利用数字内容之间的链接,但是这里详述的技术也允许分析和利用实体内容之间(以及实体内容和电子内容之间)的链接。
已知的手机照相机和其它成像设备典型地具有单个“快门”按钮。然而,设备可以设置有不同的执行按钮—每个执行按钮用所拍摄的图像信息调用不同的操作。通过该配置,用户可以在最初就指示出意图动作的类型(例如,根据Picasa或VideoSurf信息来识别图像中的脸部,并将其贴到我的FaceBook页面上;或者尝试识别所描绘的人,并向这个人的MySpace账户发送“朋友请求”)。
胜于多个执行按钮,也可以根据设备上的其它UI控制来控制单个执行按钮的功能。例如,重复按下功能选择按钮可以使不同的意图操作显示在UI的屏幕上(正如熟悉的消费者照相机具有不同的拍照模式,诸如特写、海滩、夜景、人像等)。当用户随后按下快门按钮时,调用所选择的操作。
一种普通的响应(可能不需要确认)是将图像贴在Flickr或社交网络站点上。通过这里详述的处理推断的元数据可以与(在其置信度方面可能是合格的)图像一起保存。
在过去,鼠标的“单击”用来触发用户期望的动作。该动作在虚拟景观(例如桌面屏幕)上标识出指示用户的明确意图的XY位置坐标。发展下去,该角色将日益由快门的“摁动”来担任—拍摄从中将推断出用户意图的真实景观。
商业规则可以规定适合于给定情况的响应。这些规则和响应可以通过参考由web索引器(诸如Google等)收集的数据、使用智能路由来确定。
众包通常不适合于实时实现方案。然而,妨碍系统并且未能产生相应动作(或产生了用户未从中选择任何一个的多个动作)的输入可以提交给外线以进行众包分析—使得下一次它被给出时,它可以被更好地处理。
基于图像的导航系统呈现出与从基于网页的导航系统熟悉的拓扑不同的拓扑。图57A示出了因特网上的网页以点到点的方式发生关系。例如,网页1可以链接到网页2和3。网页3可以链接到网页2。网页2可以链接到网页4。等等。图57B示出了与基于图像的导航相关的对比网络。各个单独的图像被链接到中央节点(例如路由器),中央节点然后根据图像信息链接到另外的节点(例如响应引擎)。
这里的“路由器”并不(如因特网业务路由器的熟悉情况中那样)简单地将输入分组路由到利用分组传递的地址信息所确定的目的地。而是,路由器取得图像信息并决定对其做什么(例如图像信息应该提交给哪个响应系统)。
路由器可以是网络上的独立节点,或者它们可以与其它设备结合在一起。(或者它们的功能可以分布在这些位置之间。)可佩戴式计算机可以具有路由部(例如一组软件指令)—从计算机取得图像信息并决定应该如何处理它。(例如,如果它将图像信息识别为业务名片的图像,则它可以对名字、电话号码和其他数据进行OCR并将其输入到联系人数据库中。)对不同类型的输入图像信息的特定响应可以由例如由计算机操作系统或以其它方式维护的那类注册数据库来确定。
同样,尽管响应引擎可以是网络上的独立节点,但是它们也可以与其它设备结合在一起(或者它们的功能是分布的)。可佩戴式计算机可以具有对路由部提供的信息采取动作的一个或若干个不同的响应引擎。
图52示出了采用若干计算机(A-E)的配置,所述计算机(A-E)中的一些可以是可佩戴式计算机(例如手机)。计算机包括处理器、内存、存储器、输入/输出等通常补充物。存储器或内存可以含有内容(诸如图像、音频和视频)。计算机也可以包括一个或更多路由器和/或响应引擎。独立的路由器和响应引擎也可以连接到网络。
计算机是连网的,由链路150示意性地示出。这种连接可以借助任何已知的连网配置,包括因特网和/或无线链路(WiFi、WiMax、蓝牙等)。至少某些计算机中的软件包括点到点(P2P)客户程序,其使该计算机的资源中的至少一些对网络上的其它计算机可用,并且相互地使该计算机能够使用其它计算机的某些资源。
通过P2P客户程序,计算机A可以从计算机B获得图像、视频和音频内容。计算机B上的共享参数可以被设置成确定哪些内容被共享以及与谁共享。计算机B上的数据可以规定:例如,有些内容将被保持为私有的;有些内容可以与认识的各方(例如一群社交网络“朋友们”)共享;并且有些内容可以自由地共享。(其它信息诸如地理位置信息也可以被共享—服从于这些参数。)
除了基于对等方来设置共享参数之外,共享参数也可以基于内容的新老来规定共享。例如,比一年老的内容/信息可能会被自由地共享,而比一个月老的内容可能会与一群朋友们共享(或者根据其它基于规则的限制而与一群朋友们共享)。在其它配置中,更新鲜的内容可能是最自由共享的类型。例如,在过去的一小时、一天或一周内拍摄或存储的内容可能会被自由地共享,而来自过去的一个月或一年内的内容可能会与朋友们共享。
例外列表可以识别以与上面详述的规则不同的方式被处理的内容或者内容的一种或更多种类别(例如从不共享或始终共享的内容)。
除了共享内容之外,计算机也可以跨越网络共享它们各自的路由器和响应引擎资源。因此,例如,如果计算机A不具有适合于某种类型的图像信息的响应引擎,则它可以将信息传递给计算机B以便通过计算机B的响应引擎进行处理。
应认识到的是,在降低成本和提高可靠性方面,这样的分布式架构具有许多优点。另外,“对等点”的编组可以从地理上限定,例如发现自身位于特定空间环境内的计算机(例如,由特定WiFi系统服务的区域)。对等点可以因此建立对来自附近计算机的内容和服务的动态的即兴的预订。当计算机离开该环境时,会话终止。
一些研究者预见到了我们的所有体验都以数字形式捕获的那一天。确实,微软的Gordon Bell已经通过他的技术CyberAll、SenseCam和MyLifeBits编辑了他最近生活的数字档案。包括在Bell的档案中的有:所有电话通话的记录,日常生活的视频,所有消费的电视和广播的记录,所有访问过的网页的存档,所有游览过的地方的地图数据,他的睡眠呼吸暂停的多导睡眠图,等等。(了解更多的信息,参见例如Bell的A Digital Life,Scientific American,March,2007;Gemmell的MyLifeBits:A Personal Database for Everything,Microsoft ResearchTechnical Report MSR-TR-2006-23;Gemmell的Passive Capture andEnsuing Issues for a Personal Lifetime Store,Proceedings of The FirstACM Workshop on Continuous Archival and Retrieval of PersonalExperiences(CARPE′04),pp.48-55;Wilkinson的Remember This,TheNew Yorker,May 27,2007。也参见Gordon′s Bell的Microsoft Research网页以及ACM Special Interest Group网页上引用的其它文献来了解CARPE(Capture,Archival & Retrieval of Personal Experiences)。)
包含本技术的一些方面的某些实施例很好地适合于供这样的来自经验的数字内容使用—或者作为对系统的输入(即系统对用户目前的体验作出响应),或者作为可以从中挖掘元数据、习惯和其它属性的资源(包括在早先详述的实施例中担任Flickr档案库的角色的服务)。
在采用个人体验作为输入的实施例中,最初合乎需要的是,使系统仅在用户期望的时候触发并作出响应,而不是不断地空转(从处理、存储和宽带问题的观点来看,空转在当前是禁止性的)。
用户的期望可以通过用户有意的动作(例如,按下按钮或者用头或手作姿势)来表达。系统从当前的经验环境中取得数据并提供候选响应。
更有趣的可能是,通过生物传感器来确定用户兴趣的系统。例如,脑电图法可以用来产生触发系统响应(或者触发几个不同响应中的一个,例如对当前环境中的不同刺激作出响应)的信号。皮肤传导性、瞳孔放大和其它自主的生理反应也可以被光学地或电学地感测并将触发信号提供给系统。
眼睛跟踪技术可以用来识别由经验视频传感器拍摄的视场中的哪个对象是用户所感兴趣的。如果Tony正坐在酒吧里,并且他的眼睛落在附近的女子面前的一瓶不寻常的啤酒上,则系统可以识别他的集中关注点,并将其自身的处理精力集中在与该瓶子对应的像素上。利用来自Tony的信号(诸如两次快速眨眼),系统可以基于该啤酒瓶(可能也通过从环境中收集的其它信息(日时、日期、周围声音等)以及Tony自己的个人配置数据来告知)来发起提供候选响应的努力。(凝视辨认和相关技术被公开在例如Apple的专利公开20080211766中。)
系统可以例如通过来自图像的模式匹配(和/或OCR)而快速地将啤酒识别为Doppelbock。利用该标识符,系统发现了其它资源,其表明该啤酒发源于巴伐利亚(Bavaria),在那里该啤酒由宝莱圣弗朗西斯修道院(St.Francis ofPaula)的修道士们酿造。其9%的酒精含量也是很有特色的。
通过检查朋友们已经允许Tony获得的个人体验档案,系统了解到他的密友Geoff喜欢Doppelbock,并且最近在都柏林(Dublin)的酒吧中喝了一瓶。Tony看了一眼该瓶子的遭遇被记录到他自己的经验档案中,Geoff可能之后会在该经验档案中看到该遭遇。该遭遇的事实也可以实时传达给在布拉格(Prague)的Geoff,从而帮助增加有关他的朋友们的活动的正在发生的数据供给。
酒吧也可以提供经验数据服务器,Tony被准予无线接入该经验数据服务器。该服务器维护着在酒吧中拍摄的和由顾客贡献的数字数据的档案。服务器也可以预先准备有管理人员可能认为其顾客会感兴趣的相关元数据和信息,诸如有关宝莱圣弗朗西斯修道院的修道士们的酿造方法的Wikipedia页面、哪些乐队可能在即将到来的几周内表演、或者晚上的特别节目是什么。(根据用户偏好,有些用户要求他们的数据在他们离开酒吧时被清除;有些用户允许他们的数据被保留。)Tony的系统可以例行地检查当地环境的经验数据服务器以察看可以发现什么样的零星信息。这次其示出:坐在3号高脚凳上的女子(其可能采用了范围隐私直观推断来了解在哪里以及与谁分享她的信息;在该实例中她可能对陌生人隐藏她的身份)即享有Doppelbock的女子在她的朋友中有Tom<姓被加密>。Tony的系统识别出Geoff的朋友圈(Geoff允许他的朋友们了解该朋友圈)包括有同一Tom。
在他眨了两次眼之后的数秒,Tony的手机在他的腰带上振动。翻开手机并转动侧面上的滚轮,Tony回顾一系列屏幕,系统在这些屏幕上呈现它所收集的信息,其中它认为对Tony最有用的信息被首先显示。
具备对Tony-Geoff-Tom这种联系的认识(比通常的六度分离更紧密)并且掌握了有关她的Doppelbock啤酒的琐事,Tony拿起他的酒杯并顺着酒吧走过去。
(可以在这样的配置中采用的、包括用户界面和可视化技术在内的附加细节可以在Dunekacke的“Localized Communication with MobileDevices”,MobileHCI,2009中找到。)
尽管P2P网络(诸如BitTorrent)已经允许音频、图像和视频内容的分享,但是像图52中所示那样的配置允许网络分享语境上更丰富的一组经验内容。P2P网络的基本宗旨是:即使面对挖掘出一长串内容的技术,大多数用户仍对相似的内容感兴趣(今晚NBA球赛的比分、《Lost》的当前情节等),并且在足够带宽和协议给定的情况下,将相似内容递送给用户的最高效的机制不是发送各个单独的流,而是基于你的“邻居”在网络上所拥有的东西来把内容拼凑在一起。同样的机制可以用来提供与体验(诸如在酒吧喝Dopplebock,或者在酒吧时在手机上观看今晚NBA球赛的精彩片段)的增强相关的元数据。上面描述的即兴网络中使用的协议可能会通过由体验服务器提供对等点注册服务(类似于早期的P2P网络),或者以真正的P2P形式通过由即兴网络中的所有设备宣传它们有什么样的体验(元数据、内容、社会联系等)可供分享(免费地,或者付费地,或者以实物交换信息,等等),而借助杠杆作用影响P2P协议。Apple的Bonjour软件很适合于这种应用。
在该构造内,Tony的手机可以只是通过将问题贴在对等网络上而取回有关Dopplebock的信息,并从酒吧内的各种各样的设备或体验服务器接收到大量信息而永远无需知道来源。类似地,体验服务器也可以充当数据记录器,记录即兴网络内的那些设备的体验,向时间和地点方面的体验提供存留的地方。Geoff可能会在未来的某一时刻造访同一酒吧并察看他的朋友Tony在两个星期前留下了什么样的通信或联系的线索,或者可能甚至留下便条给Tony以便取回下次他造访酒吧的将来时间。
挖掘网络上的业务流所表示的社交线索的能力也可以使酒吧的经营者能够通过精心安排互动或介绍认识来增强顾客的体验。这可以包括具有共同兴趣的人、单身者等,或者采取游戏(通过允许人们决定参加基于主题的游戏,在这些游戏中顾客们将线索拼凑在一起以找出酒吧中某人的真实身份,或者解开一秘密(类似于棋盘游戏《Clue》))的形式。最终,人口统计信息由于与受众测量相关,而在经营者考虑接下来要采购哪些啤酒、在哪里做广告等时对经营者有重要价值。
进一步的讨论
某些便携设备(诸如Apple的iPhone)提供对预定义功能的单按钮访问。在这些预定义功能当中有:察看偏爱的股票的价格,察看天气预报,以及察看用户所在位置的总地图。附加的功能是可访问的,但是用户必须进行一系列附加的操作,例如到达偏爱的网站等。
本技术的某方面的实施例允许这些另外的操作通过拍摄特别的图像而得到简化。拍摄用户的手的图像可以将用户链接回到家里的婴儿监视器(babycam)—递送婴儿床内的新生儿的实时视频。拍摄手表的图像可以加载示出沿着用户开车回家的路线的某部分的交通情况的地图。这样的功能在图53-55中示出。
用于便携设备的用户界面包括允许用户使不同的功能与不同的视觉标志相关联的设立/训练阶段。用户被提示拍摄一张照片并输入将与所描绘的对象相关联的URL和动作的名称。(URL是一种类型的响应;也可以使用其它形式,诸如启动JAVA应用程序等。)
系统随后通过导出借以识别相似图像(例如通过模式/模板匹配)的一组特征向量来表征所拍摄的图像。这些特征向量被与功能名称和相关URL相关联地存储在数据结构(图55)中。
在该最初的训练阶段,用户可以拍摄同一视觉标志的若干图像(可能从不同的距离和视角,并且具有不同的光照和背景)。特征提取算法处理该集合以提取捕获到所有训练图像的共有相似性的特征组。
图像特征的提取和数据结构的存储可以在便携设备或者远程设备上执行(或者以分布的方式执行)。
在后面的操作中,设备可以检查由设备拍摄的每张图像是否与所存储的视觉标志之一相对应。如果识别出任何视觉标志,则可以启动相应的动作。否则,设备用当拍摄新图像时对用户而言可用的其它功能作出响应。
在另一实施例中,便携设备配备有两个或更多快门按钮。操作一个按钮会拍摄图像并基于所拍摄图像和所存储的视觉标志之间的最接近的匹配来执行动作。操作另一按钮会拍摄图像而不采取这样的动作。
设备UI可以包括将标志的可视词汇表呈现给用户的控制,如图54中所示。当被激活时,不同视觉标志的缩略图与早先存储的功能的名称相关联地被呈现在设备显示屏上,从而使用户想起各标志的定义词汇。
启动该标志词汇表的控制可以自身就是一图像。一种适合于这种功能的图像是大体上无特征的帧。全黑的帧可以通过在镜头被盖住的情况下操作快门来获得。全亮的帧可以通过在镜头指向光源的情况下操作快门来获得。另一种(中等密度的)基本上无特征的帧可以通过对一块皮肤或墙或天空成像来获得。(为了基本上无特征,与和其它存储的视觉标志之一匹配相比,帧应该更接近无特征。在其它实施例中,如果图像具有低于阈值的纹理度量,则可以得出“无特征”的结论。)
(通过拍摄全亮的帧来触发操作的概念可以扩展到任何设备功能。在一些实施例中,反复全亮曝光可选地切换功能的开和关。对于全黑和中等密度的帧也同样如此。阈值可以由用户利用UI控制来设置或者由制造商设置,以建立这样的帧必须多“亮”或多“黑”才能被解释为一个命令。例如,来自百万像素的传感器的8位(0-255)像素值可以被求和。如果总和小于900,000,则该帧可以被认为是全黑的。如果大于254百万,则该帧可以被认为是全亮的。等等。)
其它无特征的帧中的一种可以触发另一特别响应。它可以使便携设备启动词汇表中的所有存储的功能/URL(或者例如某5个或10个)。设备可以缓存作为结果而得到的信息帧,并且当用户操作其中一种手机控制(诸如图44中的按钮116b或滚轮124)或者在触摸屏上作出某一手势时相继地呈现它们。(这种功能也可以通过其它控制来调用)。
无特征的帧中的第三种(即黑、白或中等密度)可以将设备的位置发送到地图服务器,该地图服务器可以随后传回用户位置的多个地图视图。这些视图可以包括不同缩放级别的俯瞰图和街道地图视图,以及附近街道级别的图像。这些帧中的每个帧可以缓存在设备上,并通过转动滚轮或通过其它UI控制来快速地回顾。
用户界面合乎期望地包括用于删除视觉标志和编辑赋予每个视觉标志的名称/功能的控制。URL可以通过在键盘上键入来定义,或者通过航行到期望的目的地并随后将该目的地保存为对应于特定图像的响应来定义。
对模式识别引擎的训练可以通过使用而继续进行(其中不同视觉标志的相继图像中的每个都被用来改进借以定义视觉标志的模板模型)。
应认识到的是,可以使用通常对用户而言可用的资源来定义各种各样的不同视觉标志。通过将手指布置在不同位置(握成拳头,一个手指至五个手指,拇指和食指构成的OK手势,打开手掌,翘拇指,美式手语手势,等等),手可以定义许多不同的标志。也可以使用衣服及其组成部分(例如鞋子、扣子),如同也可以使用珠宝那样。也可以使用来自公共环境的特征(例如电话)。
除了启动特定的偏爱操作之外,这样的技术在其它情况下可以用作用户界面技术。例如,软件程序或web服务可以将选项的列表呈现给用户。胜于操作键盘来输入例如选择#3,用户可以拍摄三只手指的图像,从而用视觉符号表示选择。软件将三只手指符号识别为意指数字3,并将该值输入到处理中。
如果期望的话,视觉标志可以形成认证程序的一部分以便例如访问银行或社交网络网站。例如,在站点上输入注册名或密码后,可以向用户显示出存储的图像(以确认该站点是可信的)并且随后提示用户提交特定视觉类型的图像(早先由用户定义,而不是当前由站点特别提示)。在允许用户访问该网站前,网站检查从刚刚拍摄的图像中提取的特征是否与预期的响应相对应。
其它实施例可以对某一时间(例如10秒)内的一序列快照(图像的语法)作出响应。“手表”、“四只手指”、“三只手指”所构成的图像序列可以将便携设备上的闹钟功能设置为在上午7点用钟声报时。
在另一些实施例中,视觉标志可以是包括由便携设备拍摄为一序列帧(例如视频)的动作在内的手势。
语境数据(例如表明用户的地理位置、日时、月份等)也可以用来编制响应。例如,当用户在工作时,对某一视觉标志的响应可以是从来自用户家里的安全摄像机取回图像。在家里,对同一标志的响应可以是从工作地的安全摄像机取回图像。
在该实施例中,如在其它实施例中那样,响应不需要是视觉上的。音频或其它输出(例如触觉的、嗅觉的等)当然可以采用。
刚刚描述的技术允许用户定义视觉标志的词汇表和对应的定制响应。意图的响应可以通过对容易得到的主体进行成像而快速地调用。所拍摄的图像可以具有低品质(例如过度曝光、模糊不清),因为它仅需要在相对小范围的可选对象之间归类并区分。
视觉智能预处理
本技术的另一方面是对照相机传感器拍摄的图像信息执行一个或更多视觉智能预处理操作。这些操作可以在没有用户请求的情况下并且在照相机照例执行的其它图像处理操作之前执行。
图56是示出在示例性照相机(诸如手机照相机)中执行的某些处理的简化图。光照射在包括光电二极管阵列的图像传感器上。(通常使用CCD或CMOS传感器技术。)作为结果而得到的模拟电信号被放大,并通过D/A转换器转换为数字形式。这些D/A转换器的输出以其最原始或“天然”的形式提供图像数据。
上述操作典型地由形成在公共衬底上(即“片内”)的电路执行。在其它处理可以获得图像数据之前,通常执行一个或更多其它处理。
一种这样的其它操作是Bayer插值(去马赛克)。传感器阵列的光电二极管由于滤色器阵列而典型地各自仅拍摄单一颜色的光:红色、绿色或蓝色(R/G/B)。该阵列由滤色器元件的覆瓦状的2×2图案(一个红色滤色器,斜对面的一个蓝色滤色器,和其余两个绿色滤色器)构成。Bayer插值有效地“填充”从传感器产生的R/G/B马赛克图案的“空白”(例如,在设有蓝色滤色器的地方提供红色信号,等等)。
另一通常进行的操作是白平衡校正。该处理调节组分R/G/B颜色的强度以便正确地表现某些颜色(特别是中和色)。
可以执行的其它操作包括伽马校正和边缘增强。
最后,处理后的图像数据被典型地压缩以减少存储需求。JPEG压缩被最一般地使用。
处理、压缩后的图像数据随后被存储在缓冲存储器中。仅在此时,图像信息才通常可由手机的其它操作和服务获得(例如通过调用系统API)。
通常用该处理后的图像数据调用的一种这样的处理是在照相机的屏幕上将图像呈现给用户。用户可以随后评估该图像并决定:例如,(1)是否将其保存在照相机的存储卡中,(2)是否以照片消息传送它,(3)是否删除它,等等。
直到用户指示照相机(例如通过图形的或基于按钮的用户界面中的控制)为止,图像都停留在缓冲存储器中。在没有进一步指示的情况下,处理后的图像数据的唯一用途是在手机的屏幕上显示处理后的图像数据。
图57示出本技术的目前讨论的方面的示例性实施例。在将模拟信号转换成数字天然形式之后,执行一个或更多其它处理。
一种这样的处理是对天然的图像数据执行傅立叶变换(例如FFT)。这将图像的空间域表示形式转换成频域表示形式。
天然的图像数据的傅立叶域表示形式可以以各种方式有用。一种方式是筛选图像以找出可能的条形码数据。
一种熟悉的2D条形码是由黑白正方形构成的棋盘状阵列。组分正方形的尺寸和由此确定的它们的重复间隔,在图像的傅立叶域表示形式中在对应频率处引起一对显著的尖峰。(如果图案在竖直和水平方向上以相等的频率重现,则尖峰可以在UV平面上相位相隔九十度。)这些尖峰在附近的图像频率处显著地延伸到其它图像成分的上方—尖峰的幅度常常是附近图像频率的两倍至五倍或十倍(或更多)。如果在来自图像的覆瓦状的块(例如,16×16像素或128×128像素的块,等等)上进行傅立叶变换,那么可以发现:完全位于图像帧的条形码部分内的某些块,在除了该特征频率以外的频率处基本上不具有信号能量。
如图57所示,可以分析傅立叶变换信息以获得与条形码的图像相关的指示标志。可以使用模板式方法。模板可以包括检验傅立叶变换信息时所对照的一组参数—以查看数据是否具有与类似条形码的图案相关联的标记。
如果傅立叶数据与描绘2D条形码的图像一致,则对应的信息可以被路由以进行进一步的处理(例如从手机发送到条形码响应服务)。该信息可以包括天然的图像数据,和/或从图像数据中导出的傅立叶变换信息。
在前一种情况下,不需要发送完整的图像数据。在一些实施例中,可以发送图像数据的缩减采样版本(例如在水平和竖直两个方向上均为四分之一分辨率)。或者可以仅发送图像数据中描绘部分条形码图案的可能性最高的那些块。或者,相反地,可以不发送图像数据中描绘条形码的可能性最低的那些块。(这些块可以是在特征频率处不具有尖峰的块或者是在特征频率处的幅度比附近频率处的幅度低的块。)
传送可以由用户促使。例如,照相机UI可以询问用户是否应该把信息指引到条形码处理。在其它配置中,一旦确定图像帧匹配模板从而表明可能有条形码数据,就立即分派该传送。不涉及用户动作。
也可以检验傅立叶变换数据来找出其它图像主体的迹象。例如,1D条形码是通过高频处的显著幅度分量(“越过尖木桩”)以及低频处的另一显著幅度尖峰(沿着尖木桩前进)来表征的。(再一次,“显著”意指是附近频率的幅度的两倍或更多倍,如上面提到的那样。)其它图像内容也可以参考它们的傅立叶域表示形式来表征,并且可以设计出对应的模板。在计算用于媒体内容的自动识别的指纹的过程中也通常使用傅立叶变换数据。
在表征包括上面提到的条形码在内的各种图像主体/组分时,Fourier-Mellin(F-M)变换也是有用的。F-M变换具有对图像主体的缩放和旋转有鲁棒性(缩放/旋转不变性)的优点。在示例性实施例中,如果主体的大小增大(如同通过把照相机移得更近一些),则F-M变换图案上移;如果大小减小,则F-M图案下移。类似地,如果顺时针旋转主体,则F-M图案向右移;如果逆时针旋转主体,则F-M图案向左移。(特定的移动方向可以取决于实现方案而被调整。)这些属性使得F-M数据在识别可能被仿射变换的图案(诸如面部识别、字符识别、对象识别等)时显得重要。
图57中示出的配置将Mellin变换应用于傅立叶变换处理的输出以得到F-M数据。随后可以筛选F-M以找出与不同图像主体相关联的属性。
例如,文本是通过由与更大的背景区域形成对比的前景颜色的笔划构成的、大致相似尺寸的多个符号来表征的。垂直边缘倾向于占支配地位(虽然对于斜体字而言有轻微倾斜),并且也会在水平方向上发现显著的能量。笔划之间的间隔通常落在相当窄的范围内。
这些属性显现为倾向于可靠地落入F-M变换空间中的某些边界内的特征。再一次,模板可以定义检验,通过这些检验能够筛选F-M数据以指示出文本在所拍摄的天然图像数据中的可能的存在。如果图像被确定为包括可能的文本,那么可以将其分派到处理这种类型的数据的服务(例如光学字符识别或OCR引擎)。再一次,可以发送图像(或图像的变体),或者可以发送变换数据,或者可以发送某些其它数据。
正如文字通过F-M中的某组特征属性而显现,脸部也是如此。可以对照不同的模板来检验来自Mellin变换的F-M数据输出以确定脸部在所拍摄图像内的可能的存在。
同样,可以检查F-M数据以找出指示图像数据传递了水印的指示标志。水印定位信号是一些水印中存在的独特的信号,其可以充当指示存在有水印的标志。
在刚刚给出的实例中,如在其它实例中那样,可以通过用已知的图像进行检验(例如“训练”)来编辑模板。通过拍摄许多不同文本外观的图像,可以检查作为结果而得到的变换数据来找出在样本组范围内一致的属性或者(更可能找出)落入有界限的范围内的属性。这些属性可以随后被用作借以识别含有可能的文本的图像的模板。(对于脸部、条形码和其它类型的图像主体而言也同样如此。)
图57示出各种各样的不同变换可以应用于图像数据。这些变换被一般地示为并行地执行,尽管一个或更多变换可以顺序地执行—或者所有变换都对同一输入图像数据执行,或者一种变换使用先前的变换的输出(如在Mellin变换的情况中那样)。尽管没有全部示出(为了说明的清晰性),但是可以检查来自其它变换处理中的每个变换处理的输出以找出暗示某种图像类型的存在的特征。如果找到,则相关数据随后被发送到适合于该类型的图像信息的服务。
除了傅立叶变换和Mellin变换处理之外,可以应用诸如特征脸(特征向量)计算、图像压缩、裁切、仿射畸变、滤波、DCT变换、小波变换、Gabor变换等处理和其它信号处理操作(全部都被认为是变换)。其它变换在本说明书的其它地方和通过引用而结合在本文中的文献中提到。来自这些处理的输出随后被检验,以找出表明图像描绘某类信息的概率大于随机概率的特征。
来自一些处理的输出可以输入到其它处理。例如,来自图57中标注为ETC的框之一的输出被提供为对傅立叶变换处理的输入。该ETC框可以是例如滤波操作。样本滤波操作包括中值、Laplacian、Wiener、Sobel、高通、低通、带通、Gabor、正负号函数等。(Digimarc的专利6,442,284、6,483,927、6,516,079、6,614,914、6,631,198、6,724,914、6,988,202、7,013,021和7,076,082示出了各种这样的滤波器。)
有时单个服务可以处理不同的数据类型或处理通过了不同筛选的数据。在图57中,例如,面部识别服务可以接收F-M变换数据或特征脸数据。或者它可以接收已经通过了若干不同的筛选之一的图像信息(例如,其F-M变换通过了一种筛选,或者其特征脸表示形式通过了另一种筛选)。
在一些情况下,数据可以被发送到两个或更多不同的服务。
尽管不是必须的,但是合乎期望的是,图57中示出的一些或全部处理应由集成在作为图像传感器的同一衬底上的电路执行。(一些操作可以由处于衬底上或衬底外的可编程硬件响应于软件指令而执行。)
尽管上述操作被描述为在把模拟传感器信号转换成数字形式之后立即执行,但是在其它实施例中,这样的操作可以在其它处理操作(例如Bayer插值、白平衡校正、JPEG压缩等)之后执行。
信息被发送到的一些服务可以在本地在手机中提供。或者它们可以由远程设备提供,手机与该远程设备建立至少部分是无线的链路。或者这样的处理可以分布在各种设备之间。
(尽管在常规CCD和CMOS传感器的背景环境中描述,但是不管传感器类型任何,都可应用该技术。因此,例如Foveon和全色图像传感器可以作为替代者而被使用。高动态范围传感器和使用柯达的Truesense Color Filter Pattern的传感器(其将全色传感器像素添加到红/绿/蓝传感器像素的通常的Bayer阵列中)也可以作为替代者而被使用。具有红外输出数据的传感器也可以有利地使用。例如,输出红外图像数据(除了输出可视图像数据之外还输出红外图像数据,或者不这样)的传感器可以用来识别脸部或具有温差的其它图像主体—帮助在帧内分割图像主体。)
应认识到的是,采用图57架构的设备实质上具有两条并行的处理链。一条处理链产生将被表现成供人类观察者使用的感知形式的数据。这条链典型地包括去马赛克处理器、白平衡模块和JPEG图像压缩器等中的至少一个。第二条处理链产生将由一个或更多机器实现的算法分析的数据,并且在该示例性实例中包括傅立叶变换处理器、特征脸处理器等。
这样的处理架构在早先引用的申请61/176,739中被进一步详述。
通过诸如上述的配置,甚至在用户决定如何处置所拍摄的图像之前,一个或更多适当的图像响应服务就可以开始创制对可视刺激的候选响应。
有关视觉智能预处理的进一步评论
尽管静态图像预处理结合图57(和图50)进行了讨论,但是这样的处理也可以包括时间特征,诸如运动。
运动最一般地与视频相关,并且这里详述的技术可以在拍摄视频内容时使用。然而,运动/时间暗示也存在于“静止”图像中。
例如,一些图像传感器被按顺序地从顶行到底行读取。在读取操作期间,图像主体可能在图像帧内移动(即由于照相机移动或主体移动)。该效果的夸大视图在图60中示出,其描绘了当传感器向左移动时拍摄到的所成像的“E”。由于像素数据在从传感器被输出时传感器的移动,该字母的竖直笔划在底部比在顶部离图像帧的左边缘更远。
当照相机汇编来自若干帧的数据以产生单个“静止”图像时,该现象也会出现。用户常常不知道,许多消费者成像设备快速地拍摄多帧图像数据,并将数据的不同特征组合在一起(使用例如由FotoNation有限公司(现在是Tessera Technologies有限公司)提供的软件)。例如,设备可以进行三次曝光—一次曝光用来最优化图像帧内检测到的脸部的外观,另一次是根据背景进行曝光,并且又一次是根据前景进行曝光。这些图像被融合在一起以产生满意的画面剪辑。(在另一实例中,照相机拍摄突发的一串帧并且在每个帧中确定人们是否正在微笑或眨眼睛。它可以随后从不同的帧中选择不同的脸部以产生最终的图像。)
因此,视频和静止图像之间的区别不再简单地是设备模态,而是正在成为用户模态。
对运动的检测可以在空间域(例如通过参考各帧之间的特征像素的移动)或变换域中完成。傅立叶变换和DCT数据是示例性的。系统可以提取图像成分的变换域特征标记,并跟踪其在不同帧范围内的运动,从而识别其运动。一种例证性技术删除例如最低的N个频率系数,从而仅留下高频边缘等。(也可以不考虑最高的M个频率系数。)对剩余系数的幅度执行阈值操作—使低于某一值(诸如平均值的30%)的那些幅度为零。作为结果而得到的系数充当该图像区域的特征标记。(变换可以基于例如8×8像素的瓦片。)当与该特征标记相对应的图案在另一(或同一)图像帧内的附近位置被发现(使用已知的相似性检验,诸如相关(correlation))时,可以识别该图像区域的移动。
语义信息的图像传递
在许多系统中,合乎期望的是,以可伸缩(例如分布式)的方式执行提取有关到来的内容(例如图像数据)的信息的一组处理步骤(类似上面详述的那些步骤)。该提取的信息(元数据)随后被合乎期望地封装以便于后续处理(其可以是应用特定的或者是更加计算密集的,并且可以在始发设备内执行或者由远程系统执行)。
一个粗略的类比是用户与Google的交互。不会好像来自哑终端一样仅仅将搜索项发送给Google主机。而是,用户的计算机将询问格式化为包括始发计算机的(指示位置的)因特网协议地址的HTTP请求,并使得借以辨认用户语言偏好、期望的安全搜索过滤等的cookie信息可被获得。该相关信息的构造充当Google搜索处理的预报器,允许Google更智能地执行搜索处理—向用户提供更快且更好的结果。
图61示出在示例性系统中可能会涉及的一些元数据。最左边的一列信息类型可以直接从取自图像传感器的天然图像数据信号计算得到。(如提到的那样,这些信息类型中的一些或全部可以使用与公共衬底上的传感器集成的处理配置来计算。)附加信息可以通过参考第二列信息类型所示出的这些基本数据类型来导出。该进一步的信息可以通过手机中的处理产生,或者可以采用外部服务(例如图57中示出的OCR识别服务可以位于手机内或者可以是远程服务器等;与图50中示出的操作类似。)
如何封装该信息以便于后续处理?一种可选方案是用公共图像格式的“alpha”通道来传递它。
大多数图像格式通过在多个通道或字节平面中传递的数据来表示图像。例如,在RGB中,一个通道传递红色亮度,第二个通道传递绿色亮度,并且第三个通道传递蓝色亮度。与CMYK类似(各通道分别传递青色、品红、黄色和黑色信息)。对于通常由视频使用的YUV(一个亮度通道Y和两个颜色通道U和V)以及LAB(也是一个亮度通道和两个颜色通道)而言也同上。
这些成像构造被共同地扩展成包括附加通道:alpha。该alpha通道被提供用来传递不透明度信息—表明通过图像看到背景主体的可见程度。
尽管共同地由图像处理文件结构、软件和系统支持,但是alpha通道并没有使用得太多(除了最显著地在计算机产生的图像和辐射(radiology)中)。本技术的某些实现方案使用alpha通道来传送从图像数据导出的信息。
图像格式的不同通道共同地具有相同的尺寸和比特深度。例如,在RGB中,对于640×480阵列中的每个像素,红色通道可以传递8位数据(允许0-255的值得到表示)。对于绿色和蓝色通道也同样如此。这样的配置中的alpha通道也共同地是8位,并且随图像尺寸共同扩展(例如8比特×640×480)。每个像素因此具有红色值、绿色值、蓝色值和alpha值。(该复合图像表示形式被一般地称为RGBA。)
可以使用Alpha通道来传递从图像数据导出的信息的许多方式中的一些在图62-71中示出,并且在下面讨论。
图62示出用户可能用手机拍摄的照片。手机中的处理器(位于传感器衬底上或其它地方)可以将边缘检测滤波器(例如Sobel滤波器)应用于图像数据,从而得到边缘图。图像的每个像素被确定为是边缘的一部分或者不是边缘的一部分。因此该边缘信息可以仅用alpha通道中可用的八个比特平面中的一个比特平面来传递。这样的alpha通道有效载荷在图63中示出。
手机照相机也可以应用已知的技术来识别图像帧内的脸部。来自与脸部区域相对应的像素的红色、绿色和蓝色图像数据可以被组合以得到灰度级表示形式,并且该表示形式可以被包括在alpha通道中(例如以与RGB图像数据中的识别出的脸部对准的方式)。传递边缘信息和灰度级脸部的alpha通道在图64中示出。(在示出的实施例中8位灰度级被用于脸部,尽管在其它配置中可以使用更浅的比特深度(诸如6或7位)从而释放出其它比特平面用于其它信息。)
照相机也可以执行操作来找出眼睛和嘴巴在每个检测出的脸部中的位置。标记符可以在alpha通道中传送—表明这些检测出的特征的大小和位置。一种简单形式的标记符是“笑脸”位映射图标,其中图标的眼睛和嘴巴位于检测出的眼睛和嘴巴的位置上。脸部的大小可以通过图标的嘴巴的长度来指示,或者通过围绕的椭圆形的尺寸(或者眼睛标记符之间的间隔)来指示。脸部的倾斜可以通过嘴巴的角度(或者眼睛之间的线的角度,或者围绕的椭圆形的倾斜)来指示。
如果手机处理产生了图像中描绘的人们的性别的确定,则这也可以在额外的图像通道中表示。例如,限定检测出的女性脸部的椭圆形线可以画成虚线或其它形式的图案。眼睛可以被表示为十字线或X来代替变黑的圆圈等。所描绘的人们的年龄也可以被近似并被类似地指示。处理也可以通过可视脸部线索来将每个人的情绪状态归类,并且诸如惊讶/高兴/悲伤/愤怒/平和的迹象可以得到表示。(参见例如Su的“A simple approach to facial expression recognition”,Proceedings of the2007 Int’l Conf on Computer Engineering and Applications,Queensland,Australia,2007,pp.456-461。也参见专利公开20080218472(EmotivSystems,Pty)和20040207720(NTT DoCoMo))。
当确定结果具有一些不确定性(诸如猜测性别、年龄范围或情绪)时,由分析处理输出的置信度度量也可以以图标方式来表示,诸如通过线的宽度或者图案元素的大小或选择来表示。
图65示出可以用来在辅助图像平面中表示包括性别和置信度在内的不同信息的不同图案元素。
便携设备也可以执行以图像数据中描绘的字母数字符号和字符串的光学字符识别而告终的操作。在示出的实例中,设备可以识别照片中的字符串“LAS VEGAS”。该确定结果可以通过添加到alpha通道中的PDF4172D条形码来记忆。该条形码可以位于图像帧中的经过OCR的文本的位置或者位于其它地方。
(PDF417仅是示例性的。自然可以使用其它条形码(诸如1D、Aztec、Datamatrix、High Capacity Color Barcode、Maxicode、QR Code、Semacode和ShotCode)或者其它机器可读的数据符号体系(诸如OCR字体和数据字形)。字形既可以用来传递任意数据,又可以用来形成中间色的图像描绘。在这方面,参见Xerox的专利6,419,162和Hecht的“Printed Embedded Data Graphical User Interfaces”,IEEE ComputerMagazine,Vol.34,No.3,2001,pp 47-55。)
图66示出一些由设备确定的信息的alpha通道表示形式。所有这种信息都按照允许它在alpha通道的(八个比特平面中的)仅仅单个比特平面内传递的方式来构造。由其它处理操作(例如图50和61中示出的分析)产生的信息可以在该同一比特平面或其它比特平面中传递。
尽管图62-66示出了可以在alpha通道中传递的各种各样的信息以及这些信息的不同表示形式,但是图67-69的实例中示出了更多。这些涉及一辆新的GMC卡车及其所有者的手机照片。
在其它处理当中,该实例中的手机处理图像数据以识别卡车的型号、年份和颜色,识别卡车散热器护栅和所有者的T恤上的文本,识别所有者的脸部,并识别草地和天空的区域。
天空通过其位于帧顶部的位置、在预期标准的阈值距离内的颜色直方图、以及在某些频率系数处较弱的光谱组成(例如基本上“平坦的”区域)来识别。草地通过其纹理和颜色来识别。(用于识别这些特征的其它技术在例如以下文献中有教导:Batlle的“A review onstrategies for recognizing natural objects in colour images of outdoorscenes”,Image and Vision Computing,Volume 18,Issues 6-7,1 May2000,pp.515-530;Hayashi的“Fast Labelling of Natural Scenes UsingEnhanced Knowledge”,Pattern Analysis & Applications,Volume 4,Number 1,March,2001,pp.20-27;和Boutell的“Improved semanticregion labeling based on scene context”,IEEE Int’l Conf.on Multimediaand Expo,July,2005。也参见专利公开20050105776和20050105775(柯达)。)树木可能已经被类似地识别。
使用与消费者照相机中通常采用的配置类似的配置来检测图像中的人脸。对通过把边缘检测算法应用于输入图像而产生的数据组执行光学字符识别,随后执行傅立叶和Mellin变换。(尽管找出了文本GMC和LSU TIGERS,但是算法未能识别出T恤上的其它文本和轮胎上的文本。利用额外的处理时间,一些这种遗漏的文本可能已经被解码。)
卡车首先被归类为车辆,并随后归类为卡车,并随后通过模式匹配而被最终识别为具有加长驾驶室的Dark Crimson Metallic 2007 GMCSierra Z-71。(该详细的识别结果通过使用来自各种资源(诸如GM卡车网站、Flickr和致力于识别好莱坞电影中的车辆的爱好者站点IMCDB-dot-com)的已知的参考卡车图像来获得。对款式和型号进行识别的另一种方法在Zafar的“Localized Contourlet Features in VehicleMake and Model Recognition”,Proc.SPIE,Vol.7251,725105,2009中详述。)
图68示出添加到图67图像的alpha通道中的辨认出的信息的说明性的图形二值表示。(图69示出合成图像的不同平面:红色、绿色、蓝色和alpha。)
被检测为描绘草地的图像区域的部分是由均匀的点阵列表示的。描绘天空的图像区域被表示为网格线。(如果树木已经被特别地识别出来,则它们可能已经使用相同的图案之一被标注,但是具有不同的尺寸/间隔等。或者可能已经使用完全不同的图案。)
将卡车识别为具有加长驾驶室的Dark Crimson Metallic 2007 GMCSierra Z-71的识别结果被编码在PDF417 2D条形码(缩放到卡车的尺寸并由卡车的形状掩盖)中。因为PDF417利用纠错特征来冗余地对信息进行编码,所以丢失的矩形条形码的部分不会阻止编码信息得到恢复。
脸部信息被编码在第二PDF417条形码中。该第二条形码被定向成相对于卡车条形码成90度并且被有差别地缩放,以帮助下游的解码器区分两种截然不同的符号。(可以使用其它不同的定向,并且在一些情况下优选的是例如30度、40度等。)
脸部条形码在形状上是椭圆形并且可以以椭圆形边界为轮廓(尽管这没有被描绘出来)。条形码的中心被放置在人眼的中点处。条形码的宽度是两眼之间距离的两倍。椭圆形条形码的高度是嘴巴与连接两眼的线之间的距离的四倍。
脸部条形码的有效载荷传递从脸部辨别出的信息。在基本实施例中,条形码简单地表示脸部的明显存在。在更复杂的实施例中,从脸部图像计算得到的特征向量可以被编码。如果识别出特定的脸,那么标识该人的信息可以被编码。如果处理器作出了有关主体的可能性别的判断,则该信息也可以在条形码中传递。
在由消费者照相机和手机拍摄的图像中出现的人们不是随机的:占相当大百分比的是复现的主体,例如所有者的孩子、配偶、朋友、用户自己等。在所有者拥有或使用的设备(例如PDA、手机、家庭计算机、网络存储库等)当中常常分布有这些复现主体的多张先前图像。许多这些图像注释有所描绘的人的名字。从这样的参考图像中,多组表征脸部向量可以被计算出来并用于识别新照片中的主体。(如提到的那样,Google的Picasa服务根据该原理工作以识别用户的照片集中的人;Facebook和iPhoto也同样如此。)这种由参考脸部向量构成的库可以被检查以尝试识别图67照片中描绘的人,并且识别结果可以用条形码来表示。(识别结果可以包括该人的名字和/或借以获知匹配的脸部的其它标识符(例如数据库或联系人列表中的索引号、电话号码、FaceBook用户名等)。)
从图67图像的各区域中识别出的文本被添加到alpha通道帧的对应区域中,以能够可靠解码的OCR字体呈现。(OCR-A被绘出,尽管可以使用其它字体。)
各种各样的另外的信息可以被包含在图68的alpha通道中。例如,处理器怀疑存在有文本、但是OCR并没有成功地解码出字母数字符号(可能在轮胎上,或者是人的T恤上的其它字符)的帧内位置,可以通过添加对应的视觉线索(例如对角线的图案)而得到标识。人的轮廓(而不仅仅是他的脸部的指示)也可以通过处理器来检测并且通过对应的边界或填充图案来指示。
尽管图62-66和图67-69的实例示出了在alpha通道中表示语义元数据的各种不同的方式,但是图70-71的实例中示出了更多的技术。这里用户已经拍摄了在玩耍的小孩的快照(图70)。
小孩的脸从照相机方向转开,并且用较差的对比度被拍摄。然而,即使对于这种受限制的信息,处理器仍通过参考用户先前的图像((看似是在数不尽的用户存档照片中发现的)用户的初生儿Matthew Doe)而作出可能的识别。
如图71中所示,该实例中的alpha通道传递用户图像的边缘检测后的版本。叠加在小孩头上的是小孩的脸的替代图像。可以对该替代图像进行选择以获得其组成成分(例如描绘两只眼睛、鼻子和嘴巴)和更好的对比度。
在一些实施例中,系统知道的每个人具有充当该人在不同语境中的视觉代表的图标脸部图像。例如,一些PDA存储包括联系人的脸部图像的联系人列表。用户(或联系人)提供容易被识别的图标式脸部图像。这些图标脸部图像可以被缩放成与图像中描绘的人的头匹配,并且被添加到相应脸部位置处的alpha通道中。
图71中所描绘的alpha通道中还包括有2D条形码。该条形码可以传递根据对图像数据的处理而辨别出的或以其它方式可获得的其它信息(例如小孩的名字、颜色直方图、曝光元数据、在照片中检测出了多少张脸、最大的十个DCT或其它变换系数等)。
为了使2D条形码对压缩和其它图像处理操作有尽可能高的鲁棒性,其尺寸可以不固定,而是基于情况(诸如图像特性)被动态地缩放。在所描绘的实施例中,处理器分析边缘图以识别具有均匀锐利度(即在某一阈值范围内)的区域。选择最大的这种区域。条形码随后被缩放并放置成占据该区域的中心范围。(在后续处理中,发生条形码置换的位置处的锐利度可以通过对毗连条形码的四个边的中心点处的锐利度求平均而在很大程度上得到恢复。)
在另一实施例中,在确定将条形码放在哪里时用锐利度来调和区域尺寸:低锐利度是优选的。在该可选实施例中,可以优先于较高锐利度的较大区域而选择较低锐利度的较小区域。每个候选区域的尺寸减去该区域中的锐利度的折合值所得的结果可以充当用于确定哪个区域应该放置条形码的度量。这是图71中使用的配置,导致条形码被放到Matthew的头部的左边的区域—而不是放到更大但是更锐利的右边区域。
尽管图70照片是相对“锐利的”(例如与图62照片对比),但是许多锐利度可能是不相关的。在一些实施例中,边缘数据被过滤以便仅保留主要边缘(例如由连续线轮廓表示的那些边缘)。在作为结果而得到的过滤后的边缘图的空白区域内,处理器可以传递附加数据。在一种配置中,处理器插入图案以表示该区域的图像颜色所落入到的特定颜色直方图bin。(在需要64个不同图案的64-bin直方图中,bin 2可以包含红色通道具有0-63的值、绿色通道具有0-63的值并且蓝色通道具有64-127的值的颜色,等等。)其它图像度量可以类似地被传递。
作为使用不同图案来表示不同数据的方案的替代,过滤后的边缘图中的空白区域可以充满类似噪声的信号—以数字隐写方式被编码从而传递作为数字水印数据的直方图(或其它信息)。(Digimarc的专利6,590,996详述了适合的水印技术。)
应认识到的是,alpha通道中的一些信息在以图形的形式可视地呈现给人的情况下会传递有用的信息。从图63中,人可以辨别出在写着“WELCOME TO Fabulous LAS VEGAS NEVADA”的标志前面有一个男子拥抱着一个女子。从图64中,人可以看见灰度级的脸和场景的轮廓。从图66中,人可以额外地识别出传递某种信息的条形码,并且可以识别示出脸部位置的两个笑脸图标。
同样,图68中的图形信息的帧被呈递给的观察者可以识别人的轮廓,可以从人的衬衣读出LSU TIGERS,并且辨认出看起来像是卡车的轮廓的东西(通过卡车的散热器护栅所在位置处的GMC文本的线索来辅助)。
从图71的alpha通道数据的呈现,人可以识别坐在地板上玩着玩具的小孩。
图71中的条形码(类似图66中的条形码)突出地向正在观察的人指示信息的存在(虽然不是其内容)。
alpha通道中的其它图形内容可以在人观察时并不提供给人。例如,如果在图71中小孩的名字以类似噪声的信号用数字隐写方式编码为数字水印,则即使在该噪声中存在有信息,也可以不被人觉察到。
上述实例详述了可以填充到alpha通道中的语义信息的多样性以及可以采用的表示构造的多样性中的一些。当然,这仅仅是小样本;技术人员可以快速地使这些教导适应特定应用的需要,从而得到许多其它不同的实施例。因此,例如,可从图像中提取的任何信息可以使用与这里公开的那些配置类似的配置来记忆在alpha通道中。
应认识到的是,与图像相关的信息可以在不同的位置、由不同的处理器在不同的时间添加到alpha通道中。例如,便携设备中的传感器芯片可以具有执行某些分析并将作为结果而得到的数据添加到alpha通道中的片内处理。设备可以具有对图像数据和/或早先分析的结果执行进一步处理并将那些进一步的结果的表示形式添加到alpha通道中的另一处理器。(这些进一步的结果可以部分地基于从远程源无线获取的数据。例如,消费者照相机可以通过蓝牙连接到用户的PDA,以从用户的联系人文件中获得脸部信息。)
合成图像文件可以从便携设备传送到(例如Verizon、AT&T或T-Mobile等运营商或者另一服务提供商的)中间网络节点,该中间网络节点执行额外的处理并将其结果添加到alpha通道中。(利用其更有能力的处理硬件,这样的中间网络节点可以执行更复杂的资源密集型处理—诸如更复杂的面部识别和模式匹配。利用其更高带宽的网络接入,这样的节点也可以采用各种各样的远程资源以用额外的数据(例如去往Wikipedia条目的链接或Wikipedia内容本身,查找电话数据库和图像数据库而得到的信息等)来扩充alpha通道)这样得到补充的图像可以随后被发送到图像询问服务提供商(例如SnapNow、MobileAcuity等),该图像询问服务提供商可以继续进行处理和/或基于这样提供的信息来指示响应动作。
alpha通道可以因此传递所有的在先处理已经辨别出的或者关于该图像所了解到的信息的图标视图。每个后续处理器可以容易地获得该信息并贡献更多。这全部是在现有的工作流程通道和已建立很久的文件格式的限制内完成的。
在一些实施例中,辨别/推断出的数据的一些或全部的出处被指示。例如,存储的数据可以指示:产生某个文本的OCR是由具有唯一标识符(诸如MAC地址01-50-F3-83-AB-CC或网络标识符PDX-LA002290.corp.verizon-dot-com)的Verizon服务器在2008年8月28日午后8:35执行的。这样的信息可以存储在alpha通道中,存储在信头数据中,存储在指针所指向的远程存储库中,等等。
不同的处理器可以对alpha通道的不同比特平面作出贡献。拍摄设备可以将其信息写到比特平面#1中。中间节点可以将其贡献存储在比特平面#2中,等等。某些比特平面可以共用。
或者不同的比特平面可以被分配给语义信息的不同类别或类型。与图像中的脸部或人相关的信息可以始终被写入比特平面#1中。与地点相关的信息可以始终被写入比特平面#2中。边缘图数据可以与(例如以2D条形码形式表示的)颜色直方图数据一起始终在比特平面#3中发现。其它内容标签(例如草地、沙滩、天空)可以与OCR得到的文本一起在比特平面#4中发现。文字信息(诸如相关链接或从web获得的文字内容)可以在比特平面#5中发现。(ASCII符号可以作为位组合而被包括,例如每个符号占据平面中的8比特。对后续处理的鲁棒性可以通过在图像平面中给ASCII数据的每个比特分配2个或更多比特而得到增强。也可以对图像平面信息的一些或全部采用卷积编码和其它纠错技术。因此,纠错条形码也可以采用。)
alpha通道中传递的信息的索引可以被编辑在例如与图像相关的EXIF标头中,从而允许后续系统提高它们对这样的数据进行解释和处理的速度。该索引可以采用类似XML的标签,其规定alpha通道中传递的数据的类型以及任选的其它信息(例如它们的位置)。
位置可以例如通过XY坐标而被规定为比特平面阵列中的最上部比特(或最左上部比特)的位置。或者矩形边界框可以通过参考(例如由XY坐标规定的)两个隅角点而被规定,从而详述表现有信息的区域。
在图66的实例中,索引可以传递诸如下述的信息
<MaleFace1>AlphaBitPlane1(637,938)</MaleFace1>
<FemaleFace1>AlphaBitPlane1(750,1012)</FemaleFace1>
<OCRTextPDF417>AlphaBitPlane1(75,450)-(1425,980)</OCRTextPDF417>
<EdgeMap>AlphaBitPlane1</EdgeMap>
该索引因此指示:男子的脸会在alpha通道的比特平面#1中被发现,其利用位于位置(637,938)处的顶部像素;女子的脸类似地利用位于(750,1012)处的顶部像素来呈现;被编码为PDF417条形码的OCR得到的文本会在具有隅角点(75,450)和(1425,980)的矩形区域中的比特平面#1中被发现,并且该比特平面#1还包括图像的边缘图。
自然可以提供更多或更少的信息。一种具有更少信息的不同形式的索引可以规定例如:
<AlphaBitPlane1>Face,Face,PDF417,EdgeMap</AlphaBitPlane1>
这种形式的索引简单地指示:alpha通道的比特平面#1包括2张脸、一个PDF417条形码和一个边缘图。
具有更多信息的索引可以规定包括下述信息的数据:每张脸的旋转角度和比例因子,PDF417条形码的LAS VEGAS有效载荷,PDF417条形码的角度,关于主观确定的置信度因子,识别出的人的名字,详述alpha通道中使用的每个图案(例如图65的图案和图68中用于天空和草地的图形标签)的语义重要性的词典或词汇表,辅助数据的源(例如图71中叠加的小孩的脸的辅助数据的源,或者充当图67中的卡车是Sierra Z71这一结论的推断基础的远程参考图像数据),等等。
如可以看到的那样,索引可以传递也在alpha通道的比特平面中传递的信息。通常,在alpha通道的图形表示中和在索引中使用不同形式的表示方式。例如,在alpha通道中,第二张脸的女性特征用“+”来表示以代表眼睛;在索引中,女性特征用XML标签<FemaleFace1>来表示。信息的冗余表示可以充当对数据完整性的检查手段。
有时,诸如EXIF数据的标头信息变得与图像数据分离(例如当图像被转换成不同的格式时)。作为在标头中传递索引信息这一方案的替代,alpha通道的比特平面(例如比特平面#1)可以用来传递索引信息。一种这样的配置将索引信息编码为2D条形码。该条形码可以被缩放以填充帧,从而提供对可能的图像劣化的最大鲁棒性。
在一些实施例中,一些或全部索引信息被复制到不同的数据存储地点中。例如,它既可以以EXIF标头形式传递,又可以作为比特平面#1中的条形码来传递。一些或全部数据也可以在远程被维护(诸如由Google或“云中的”其它web存储库维护)。由图像传递的地址信息可以充当指向该远程存储库的指针。该指针(其可以是URL,但更通常地是数据库中的UID或索引,当询问该数据库时数据库返回所寻求数据的当前地址)可以被包括在索引内,和/或被包括在alpha通道的一个或更多比特平面中。或者指针可以使用数字水印技术而以数字隐写方式被编码在(一些或全部合成图像平面中的)图像数据的像素内。
在其它实施例中,存储在alpha通道中的一些或全部上述信息可以额外地或可选地存储在远程或者编码在图像像素内作为数字水印。(具有或不具有alpha通道的照片本身也可以由处理链中的任何设备复制到远程存储库中。)
一些图像格式包括多于上面详述的四个平面。地理空间图像和其它绘图技术通常利用扩展到半打或更多信息平面的格式来表示数据。例如,多谱段的基于空间的图像可以具有专用于(1)红色、(2)绿色、(3)蓝色、(4)近红外、(5)中红外、(6)远红外和(7)热红外的分立的图像平面。上面详述的技术可以使用可用这样的格式获得的一个或更多辅助数据平面来传递推导/推断出的图像信息。
当图像在处理节点之间移动时,一些节点可能会改写由早先的处理插入的数据。尽管不是必须的,但是改写处理器可以将改写的信息复制到远程存储库中,并且在alpha通道或索引或图像中包括针对改写的信息的链接或其它引用(以防在后面会需要用到改写的信息)。
当在alpha通道中表示信息时,可以考虑该通道可能会遭受的劣化。例如,JPEG压缩通常会丢弃对人感知图像没有做出有意义的贡献的高频细节。然而,当应用于出于其它目的而提供的信息时(尽管人对alpha通道的察看当然是有可能的并且在一些情况下是有用的),基于人类视觉系统的这种信息丢弃可能会带来不利影响。
为了防止这样的劣化,alpha通道中的信息可以通过不大可能被认为是在视觉上不相关的特征来表示。不同类型的信息可以通过不同的特征来表示,使得最重要的信息甚至是经过严重的压缩后仍然继续存在。因此,例如,图66中脸部的存在是通过黑体的椭圆形表示的。眼睛位置的相关性可能更小一些,因此通过更小的特征来表示。图65中示出的图案在压缩后可能不能可靠地被区分,并且因此可能被保留用来表示次要信息(其丢失不会显得太重要)。利用JPEG压缩,最显著的比特平面被最好地保留,而显著程度较低的比特平面越来越受损。因此,最重要的元数据应该在alpha通道的最显著的比特平面中传递以便增强生存性。
如果图62-71所示出的种类的技术成为用于传递元数据的通用语言,那么图像压缩可能会演化以将它的存在考虑在内。例如,JPEG压缩可以应用于红色、绿色和蓝色图像通道,但是无损(或者损失较少的)压缩可以应用于alpha通道。由于alpha通道的各种比特平面可以传递不同的信息,所以它们可以被分别地压缩,而不是作为8比特深度的字节来压缩。(如果分别地被压缩,则有损压缩可能是更可接受的。)在每个比特平面仅传递双值信息的情况下,可以使用从传真技术获知的压缩方案,包括Modified Huffman、Modified READ、行程编码和ITU-T T.6。混合压缩技术因此很好地适合于这样的文件。
当使用诸如JPEG 2000的压缩配置时,alpha通道对元数据的传递可以配置成与相关联的图像特征大体一致地渐进地传送和解码。即,由于alpha通道正在视觉域中(例如以图标的方式)呈现语义信息,所以它可以被表示成使得语义细节的各层以与图像相同的速率解压缩。
在JPEG 2000中,小波变换被用来产生表示图像的数据。JPEG 2000以产生渐进的传送和解码的方式封装和处理该变换数据。例如,当再现JPEG 2000图像时,图像的大致细节首先出现,随后更精细的细节相继出现。对于传送而言也类似是这样。
考虑图67的卡车和男人的图像。再现JPEG 2000版本的该图像将首先呈现低频的黑体形式的卡车。此后男人的形状将出现。接着,诸如写在卡车散热器护栅上的GMC和男人的T恤上的标志等特征将得到区分。最后,男人的脸部特征的细节、草地、树木和其它高频细节将完成图像的再现。对于传送而言也类似是这样。
该渐进过程在图77A的金字塔中示出。最初,相对少量的信息被呈现—给出大致形状细节。渐进地,图像填充进来—最终以相对大量的小细节数据结束。
alpha通道中的信息可以被类似地布置(图77B)。有关卡车的信息可以用大的低频(形状主导的)符号体系来表示。指示男人的存在和位置的信息可以用第二占主导的表示形式来编码。与写在卡车散热器护栅上的GMC和男人的T恤上的文字相对应的信息可以用更高精细度的细节表示在alpha通道中。图像中的最高精细度的显著细节(例如男人脸部的细节)可以用最高精细度的细节表示在alpha通道中。(如可能提到的那样,图68的说明性的alpha通道并不完全遵循该模型。)
如果alpha通道以机器可读的符号体系(例如条形码、数字水印、字形等)的形式来传递其信息,则alpha通道解码的顺序可以被确定性地控制。具有最大特征的特征被首先解码;具有更精细的特征的那些特征被最后解码。因此,alpha通道可以传递若干不同尺寸的条形码(全部都在同一比特帧中(例如并排布置),或者分布在多个比特帧之间)。或者alpha通道可以传递多个数字水印信号,例如一个数字水印信号以粗分辨率(例如对应于每英寸10个水印元素或“waxel”)传递,并且其余数字水印信号以逐步更精细的分辨率(例如每英寸50、100、150和300waxel)传递。对于数据字形也同样如此:可以使用一定范围的较大尺寸和较小尺寸的字形,并且它们将被相对更早或更迟地解码。
(JPEG2000是展现出渐进行为的最普通的压缩方案,但是也存在其它的压缩方案。通过某些努力,JPEG可以具有类似的行为。只要存在这样的渐进性,本概念就是可适用的。)
通过这样的配置,当图像特征被解码以供呈现或者被传送(例如通过流媒体递送)时,对应的元数据变得可用。
应认识到的是,由各种分布式处理节点贡献给alpha通道的结果立刻可由图像的每个后续接收者获得。接收到处理后的图像的服务提供商例如因此快速地理解:图62描绘了在拉斯维加斯的男子和女子;图63示出一男子和他的GMC卡车;并且图70图像示出名字叫MatthewDoe的小孩。与这些图像一起传递的边缘图、颜色直方图和其它信息向服务提供商给出在其对图像进行处理时的起点(例如,分割它;识别其内容,启动适当的响应,等等)。
接收节点也可以使用传递的数据来增强与用户相关的所存储的配置信息。接收图66的元数据的节点可以将拉斯维加斯注释为潜在感兴趣的位置。接收图68的元数据的系统可以推断:GMC Z71卡车与用户和/或该照片中所描绘的人相关。这种关联可以充当编制的用户体验的启动点。
元数据也允许具有某些属性的图像能够响应于用户询问而被快速地识别。(例如找出示出GMC Sierra Z71卡车的照片。)合乎期望地,web索引爬行器(crawler)可以检查他们在web上找到的图像的alpha通道,并将来自alpha通道的信息添加到编辑的索引中以使图像能够更容易地被搜索者识别。
如提到的那样,基于alpha通道的方法对于本说明书中详述的技术的使用而言并不是必不可少的。另一种可选方案是具有通过图像像素的坐标定义的索引的数据结构。该数据结构可以(例如作为EXIF标头数据)与图像文件一起传递,或者被存储在远程服务器中。
例如,数据结构中与图66中的像素(637,938)相对应的一个条目可以指示出该像素形成男子的脸的一部分。该像素的第二条目可以指向存储有该脸部的特征脸值的共享的子数据结构。(该共享的子数据结构也可以列出与这张脸相关的所有像素。)与像素(622,970)相对应的数据记录可以指示出与该男子的脸的左边眼睛相对应的像素。由像素(155,780)提供索引的数据记录可以指示出该像素形成(由OCR)识别为字母“L”的文本的一部分,并且也落入颜色直方图bin 49内,等等。信息的每种数据的出处也可以被记录。
(作为通过XY坐标识别每个像素这一方案的替代,每个像素可以被赋予借以引用该像素的序号。)
作为若干指针从不同像素的数据记录指向共同的子数据结构这一方案的替代,各条目可以形成链接起来的列表,其中每个像素包括指向具有共同属性(例如与同一张脸相关联)的下一像素的指针。一个像素的记录可以包括指向多个不同子数据结构或指向多个其它像素的指针,以使该像素与多个不同的图像特征或数据相关联。
如果数据结构在远程存储,则指向该远程存储库的指针可以与图像文件一起被包括(例如以数字隐写方式编码在图像数据中,用EXIF数据来表达,等等)。如果使用任何水印配置,则水印的起点(origin)(参见Digimarc的专利6,307,949)可以被用作基点,其中像素引用被规定为从所述基点的偏移(而不是使用例如图像的左上角)。这样的配置允许像素被正确地识别,而不管劣化(诸如裁切或旋转)情况如何。
如同alpha通道数据一样,写入远程存储库中的元数据合乎期望地可用于搜索。遇到该图像的web爬行器可以使用EXIF数据中的指针或以数字隐写方式编码的水印来识别对应的元数据储存库,并将来自该储存库的元数据添加到该web爬行器的对应于该图像的索引项中(尽管是在不同的位置发现的)。
通过上述配置,应认识到的是,最初设计成仅支持像素图像数据的现有图像标准、工作流程和生态系,在这里也被用来支持元数据。
(当然,在这节中详述的alpha通道和其它方法对于本技术的其它方面不是必不可少的。例如,从诸如图50、57和61所示的那些处理的处理中推导或推断出的信息可以通过其它传输配置来发送,例如使用WiFi或WiMax作为分组数据被发送,从使用蓝牙的设备传送,作为SMS短文本消息或MMS多媒体消息发送,分享给低功率点到点无线网络中的另一节点,利用无线蜂窝传输或无线数据服务来传递,等等。)
发送短消息(texting)等
美国专利5,602,566(Hitachi)、6,115,028(Silicon Graphics)、6,201,554(Ericsson)、6,466,198(Innoventions)、6,573,883(Hewlett-Packard)、6,624,824(Sun)和6,956,564(British Telecom)和已公开的PCT申请WO9814863(Philips)教导了便携式计算机可以配备有借以感测倾斜并将其用于不同目的(例如滚动菜单)的装置。
根据本技术的另一方面,俯仰/倾斜界面与键入操作结合使用,以便例如编写从PDA、手机或其它便携无线设备通过简单消息服务(Simple Message Service,SMS)协议发送的文本消息。
在一个实施例中,用户使用任何各种已知的手段(例如按下按钮、输入手势等)来激活俯仰/倾斜文本输入模式。可滚动的用户界面出现在设备屏幕上,呈现一系列图标。每个图标具有手机按键的外观,诸如描绘数字“2”和字母“abc”的按钮。用户向左或向右倾斜设备以便往回或往前滚动一系列图标以到达期望的按钮。用户随后将设备朝向自己或远离自己俯仰以便在与该图标相关的三个字母之间航行(例如远离自己俯仰会航行到“a”;不俯仰对应于“b”;并且朝向自己俯仰会航行到“c”)。在航行到期望的字母之后,用户采取动作来选择该字母。该动作可以是按下设备上的按钮(例如用用户的拇指),或者另一动作可以示意该选择。用户随后如所描述的那样继续选择随后的字母。通过该配置,用户输入一系列文本而不会受到大手指在微小按钮或UI特征上操作的限制。
许多变型当然是可能的。设备不需要是电话;它可以是手表、密钥卡(keyfob)或者具有另一小形状因子。
设备可以具有触摸屏。在航行到期望的字符后,用户可以轻拍触摸屏以实现该选择。当俯仰/倾斜设备时,对应的字母可以以放大的方式显示在屏幕上(例如显示在表示按钮的图标上,或叠加在其它地方)以指示出用户在航行中的进展。
尽管在某些实施例中采用了加速度计或其它物理传感器,但是有些实施例使用2D光学传感器(例如照相机)。用户可以将传感器指向地板、膝盖或另一对象,并且该设备可以随后通过感测特征在图像帧内的运动(上/下;左右)来感测相对物理运动。在这样的实施例中,由照相机拍摄的图像帧不需要呈现在屏幕上;可以仅显示符号选择UI。(或者UI可以被呈现为叠加在照相机所拍摄的背景图像上的叠加物。)
在基于照相机的实施例中,如同采用物理传感器的实施例一样,也可以感测运动的另一维度:上/下。这可以提供额外的控制度(例如转换为大写字母,或者从字符转换为数字,或者选择当前符号,等等)。
在一些实施例中,设备具有若干模式:一种模式用于输入文本;另一种模式用于输入数字;另一种模式用于输入符号,等等。用户可以使用机械控制(例如按钮)或者通过用户界面的控制(例如触摸或作手势或语音命令)来在这些模式之间切换。例如,当轻拍屏幕的第一区域可以选择当前显示的符号时,轻拍屏幕的第二区域可以在字符输入和数字输入之间切换模式。或者在该第二区域中轻拍一下可以切换到字符输入(默认);在该区域中轻拍两下可以切换到数字输入;并且在该区域中轻拍三下可以切换到其它符号的输入。
作为在各个单独的符号之间进行选择这一方案的替代,这样的界面也可以包括用户可以通过俯仰/倾斜而航行到并随后选择的常用词或短语(例如签名栏)。可以存在词/短语的若干列表。例如,第一列表可以是标准化的(由设备厂商预先编程),并且包括统计上常用的词。第二列表可以包括与特定用户(或特定类的用户)相关的词和/或短语。用户可以输入这些词到这样的列表中,或者设备可以在操作过程中编辑该列表—确定哪些词最常被用户输入。(第二列表可以排除在第一列表上发现的词,或者不这样。)同样,用户可以如上面所述的那样在这些列表之间切换。
合乎期望地,俯仰/倾斜界面的灵敏度是可由用户调节的,以便适应不同的用户偏好和技巧。
尽管上述实施例预期了关于倾斜/俯仰的有限的语法,但是可以设计出更加扩展的语法。例如,当相对慢地将屏幕向左倾斜可以使图标沿给定方向(向左或向右,这取决于实现方案)滚动时,沿该方向突然倾斜屏幕可以引起不同的操作,诸如在文本中插入分行符(或分段符)。沿另一方向的急剧倾斜可以使设备发送该消息。
作为倾斜速度的替代,倾斜的程度可以对应于不同的动作。例如,在5和25度之间倾斜设备可以使图标滚动,但是倾斜设备超过30度可以插入分行符(如果向左倾斜的话)或者可以使消息得到发送(如果向右倾斜的话)。
不同的俯仰手势同样可以触发不同的动作。
刚刚描述的配置当然只是许多不同可能性中的一些。预期采用这种技术的技术人员将会修改并使这些教导得到适应从而适合于特定的应用。
仿射拍摄参数
根据本技术的另一方面,便携设备拍摄并且可以呈现与设备的位置(或主体的位置)相关的几何信息。
Digimarc的已公开专利申请20080300011教导了各种配置,通过这些配置,可以使手机对它所“看到”的东西作出响应,包括在某些被成像的对象上面叠加图形特征。可以根据该对象的被感知到的仿射畸变来使叠加的叠加物翘曲。
例如,Digimarc的专利6,614,914和6,580,809以及专利公开20040105569、20040101157和20060031684详述了借以准确地量化成像对象的仿射畸变的数字隐写校准信号。Digimarc的专利6,959,098教导了如何通过这样的水印校准信号结合可视图像特征(例如直线对象的边缘)来表征畸变。根据这样的仿射畸变信息,加有水印的对象相对于手机的成像仪的6D位置可以得到确定。
存在着可以描述6D位置的各种方式。一种方式是通过三个位置参数x、y、z和三个角度参数—俯仰、倾斜、旋转。另一种方式是通过旋转和缩放参数,以及确定线性变换(例如剪切映射(shear mapping)、平移等)的4个元素所构成的2D矩阵。矩阵将任何像素x、y的位置变换到线性变换已经发生后的结果位置。(读者可查阅有关剪切映射的参考文献(例如Wikipedia)来获得有关矩阵数学的信息等。)
图58示出手机如何显示(例如从图像中导出或以其它方式导出的)仿射参数。照相机可以通过UI控制(例如轻拍实体按钮,作出触摸屏手势等)而被设置在该模式中。
在所描绘的配置中,设备从(表观的)水平方向的旋转被呈现在手机屏幕的顶部。手机处理器可以通过分析图像数据从而找出一个或更多大体上平行拉长的笔直边缘特征、对它们求平均从而确定平均值并假定这是地平线,来做出该确定。如果照相机常规地与地平线对准,则该平均线将是水平的。这条线与水平线的偏差指示照相机的旋转。该信息可以用文字呈现(例如“向右12度”),和/或示出与水平线的偏差的图形表示形式可以被呈现。
(可以采用其它用于感测角度方位的方法。例如,许多手机包括加速度计或其它倾斜检测器,它们输出手机处理器可从中辨别出设备的角度方位的数据。)
在所示出的实施例中,当处于这种操作模式时照相机拍摄一序列图像帧(例如视频)。第二数据指示自从图像拍摄开始以来图像帧中的特征已经旋转过的角度。同样,该信息可以通过分析图像数据来收集并且可以以文本形式和/或以图形方式呈现。(图形可以包括圆圈,其中直线或箭头穿过其中心,示出照相机向左或向右的实时角度运动。)
以类似的方式,设备可以跟踪图像中的边缘、物体和/或其它特征的表观尺寸的变化,以确定自从图像拍摄开始以来缩放比例已经改变的量。这指示照相机是否已经朝向或远离主体移动,以及移动了多少。同样,该信息可以用文字或图形呈现。图形呈现可以包括两条线:一条参考线,以及长度根据缩放比例的变化而实时改变(对于照相机靠近主体移动的情况其长度大于参考线,并且对于照相机远离主体移动的情况其长度小于参考线)的第二条平行线。
尽管在图58的示例性实施例中没有特别示出,但是其它这样的几何数据(例如平移、差分缩放(differential scaling)、俯仰角度(即向前/向后)等)也可以被推导出来并被呈现。
如果照相机视场包括具有在所参考的专利文献中详述的种类的数字隐写校准/定位数据的数字水印,则上面详述的确定过程可以得到简化。然而,信息也可以从图像中的其它特征导出。
当然,在其它实施例中,来自设备中的一个或更多加速度计或其它位置感测装置的数据可以单独地或者与图像数据结合地被用来产生所呈现的信息。
除了在设备屏幕上呈现这样的几何信息之外,这样的信息也可以在例如下述的情况下使用:在感测用户在设备上所作的手势时,在提供借以定制远程系统响应的语境时,等等。
基于照相机的环境和行为状态机
根据本技术的又一方面,手机充当状态机,例如基于先前获取的图像相关信息来改变其功能的各方面。图像相关信息可以集中在照相机用户的自然行为、照相机被操作的典型环境、照相机自身的固有物理特性、正被照相机成像的场景的结构和动态特性以及许多其它这类信息上。所引起的照相机功能的变化可以朝改善驻留在照相机设备上的或在远程位于某个图像分析服务器上的图像分析程序的方向指引。图像分析应被非常广义地解释,覆盖一定范围的分析,从数字水印读取到对象和面部识别、到2D和3D条形码读取和光学字符识别,一直到场景分类分析和更多的分析。
一些简单的实例将示出什么将预期成为未来移动设备的重要方面。
考虑对象识别的问题。大多数对象取决于它们被观察的角度而具有不同的外观。如果向机器视觉对象识别算法提供有关对象被观察的视角的一些信息,则它可以更准确(或更快速地)猜出对象是什么。
人是有习惯的动物,包括在他们使用手机照相机方面也有习惯。这扩展到他们典型地握住该手机的手以及他们在拍照期间怎样倾斜手机。在用户已经建立了与手机的历史后,使用模式可以从所拍摄的图像中辨别出来。例如,用户可能倾向于不是径直地而是稍微从右边拍摄主体的照片。视角方面的这种右倾倾向可能是由于用户习惯性地用右手握照相机的事实,因此从中心稍微偏右进行曝光。
(右倾可以以各种方式感测到,例如通过图像帧内的竖直平行边缘的长度。如果边缘倾向于在图像的右侧更长,则这倾向于指示图像是从右倾视角拍摄的。也可以使用跨越前景主体的光照的差异—在主体的右侧有更亮的光照暗示出右侧更靠近镜头。等等。)
类似地,为了在握着设备的同时能够舒适地操作手机的快门按钮,该特定用户可能习惯性地采用将照相机的顶部朝用户(即向左)倾斜五度的手机握法。这导致所拍摄的图像主体大体上有明显旋转了五度的歪斜。
这种复现的偏斜可以通过检查该用户用该照相机拍摄的图像集而被辨别出来。一旦被识别,记忆这些癖性的数据就可以被存储在存储器中并且被用来最优化由设备执行的图像识别处理。
因此,设备可以在某一时刻从给定的图像帧产生第一输出(例如暂定的对象识别结果),但是由于照相机的介入使用而在之后的某一时刻从同一图像帧产生不同的第二输出(例如不同的对象识别结果)。
用户的手抖动的特征模式也可以通过检查多张图像来推断。例如,通过检查不同曝光时间的照片,可以发现用户以大约4Hz的频率抖动,该抖动主要在左右(水平)方向上。为该抖动行为编制(并且也取决于曝光的长度)的锐化滤波器可以随后被应用以增强作为结果而得到的图像。
以类似的方式,通过使用,设备可以注意到:在平日时间9:00至5:00期间由用户拍摄的图像被习惯性地用荧光照明的频谱特性来照明,其中相当极端的白平衡操作需要应用于所述图像以尝试补偿。在先验地知道这种倾向性的情况下,设备可以对在上述时间段期间拍摄的照片进行与利用其基线曝光参数的方式不同的曝光—该曝光方式预期到荧光照明并允许获得更好的白平衡。
随着时间的过去,设备推导出对用户的习惯行为或环境变量的某一方面进行建模的信息。设备随后相应地使其操作的某一方面得到适应。
设备也可以适应于其自身的怪癖或劣化。这些包括图像传感器的光电二极管中的非均匀性、图像传感器上的灰尘、镜头上的划痕等。
同样,随着时间的过去,设备可以检测到复现的图案,例如检测到:(a)一个像素给出比邻接的像素低2%的平均输出信号;(b)一组邻接的像素倾向于输出比平均输出信号所指示的数字图像值低大约3个数字图像值(digital number)的信号;(c)光电传感器的某一区域看起来不能拍摄高频细节—该区域中的图像一贯有点模糊不清,等等。从这样的复现的现象中,设备可以推断出例如(a)为该像素服务的放大器的增益较低;(b)灰尘或其它异物正遮住这些像素;以及(c)镜头缺陷阻止落入光电传感器的该区域的光被适当地聚焦,等等。适当的补偿可以随后被应用以缓和这些缺陷。
主题或“被成像的场景”的共同特征是用于后续图像分析例程或者至少早期图像处理步骤的信息的另一丰富的源,所述早期图像处理步骤通过对像素数据进行最佳的过滤和/或变换来辅助后期图像分析例程。例如,随着日复一日、周复一周的对照相机的使用,可能会变得清楚的是,给定用户仅使用他们的照相机来满足三个基本兴趣:数字水印读取、条形码读取和对实验室中的实验设备进行视觉记录。直方图可以随着时间的过去而逐渐形成,从而示出这样的“最终结果”操作:该“最终结果”操作由某种给定的照相机用途所导致,并且后面跟随着专用于水印和条形码基本特征的早期检测的处理循环的增多。这里钻研得更深一点,傅立叶变换后的一组图像数据可以优选地被路由到在其它情况下可能不会列入优先的快速2D条形码检测功能。同样在数字水印读取方面,傅立叶变换后的数据可以被运送到专门的模式识别例程。观察该状态机变化的部分抽象的方式是,仅存在固定数量的可由照相机设备利用的CPU和图像处理循环,并且需要对哪些分析模式获得这些循环的哪些部分做出选择。
这些实施例的一种过于简化的表示形式在图59中示出。
通过诸如刚刚讨论的配置,配备有成像仪的设备的操作通过其连续不断的操作而演化。
对焦问题、基于页面排版的增强的印刷物到web的链接
(Print-to-Web Linking)
当前设置在大多数手机和其它便携PDA式设备上的照相机通常不具有可调焦距。而是,光学器件以折衷的方式布置—目的在于在典型的人像快照和风景照的情况下得到象样的图像。在近距离处成像通常会得到较差的结果—损失了高频细节。(这可通过刚刚讨论的“扩展景深”图像传感器来改善,但是这种设备的普遍应用还没有出现。)
人类视觉系统对不同光谱频率的图像有不同的敏感度。不同的图像频率传递不同的印象。低频给出有关图像的整体信息,诸如其方位和大致形状。高频给出细微的细节和边缘。如图72中所示,人类视觉系统的敏感度在视网膜上以大约10周/mm的频率达到峰值,并且在两侧急剧降低。(感知也取决于要设法区分的特征之间的对比度—纵轴。)具有处于交叉阴影线区域中的空间频率和对比度的图像特征通常不会被人类觉察到。图73示出具有分别(在左边和右边)描绘出的低频和高频的图像。
印刷媒体(诸如报纸)的数字水印化可以通过(在印刷之前、印刷期间或印刷之后)使页面涂染有无碍的背景图案来实现,所述背景图案以数字隐写方式传递辅助有效载荷数据。文本的不同列可以编码有不同的有效载荷数据,从而例如允许每个新闻报道链接到不同的电子资源(参见例如Digimarc的专利6,985,600、6,947,571和6,724,912)。
根据本技术的另一方面,便携成像设备的近对焦缺陷通过嵌入(例如具有曲线上方的、以图72的左侧为中心的频谱成分的)更低频率的数字水印而得到克服。作为将不同的水印编码在不同的列中这一方案的替代,页面被标记有跨越该页面的单个水印—对该页面的标识符进行编码。
当用户拍摄了感兴趣的报纸报道的照片(该照片可以仅拍摄来自期望的报道/广告的文本/图形,或者也可以跨越其它内容)时,该页面的水印被解码(或者在本地由设备解码,在远程由不同的设备解码,或者以分布式的方式解码)。
解码出的水印用来为数据结构做索引,所述数据结构将信息返回到设备以使信息呈现在设备的显示屏上。显示屏呈现报纸页面排版的分布图,其中不同的文章/广告以不同的颜色示出。
图74和75示出一个特定实施例。原始页面在图74中示出。显示在用户设备屏幕上的排版分布图在图75中示出。
为了链接到有关任何报道的额外信息,用户简单地触摸所显示的分布图中与感兴趣的报道相对应的部分。(如果设备没有配备触摸屏,则图75的分布图可以用标识不同分布图区域的标记(例如1、2、3…或A、B、C…)来呈现。用户可以随后操作设备的数字或字母数字用户界面(例如键盘)来识别感兴趣的文章。)
用户的选择被传送到远程服务器(其可以是将排版分布图数据提供给便携设备的同一远程服务器,或者是另一个远程服务器),该远程服务器随后参考所存储的数据以识别对用户的选择作出响应的信息。例如,如果用户触摸了页面分布图的右下部的区域,则远程系统可以指示buick-dot-com的服务器来传送用于在用户设备上呈现的、具有关于Buick Lucerne的更多信息的页面。或者远程系统可以向用户设备发送去往该页面的链接,并且设备可以随后加载该页面。或者远程设备可以使用户设备呈现选项菜单,例如对于新闻文章可以向用户给出以下选项:听相关的播客(podcast);看关于同一主题的早先报道;定购重印本;下载该文章作为Word文件,等等。或者远程系统可以通过电子邮件向用户发送去往网页或菜单页面的链接,使得用户可以在以后回顾它。(对用户表达的选择的各种这样的不同响应可以被提供,如从这里提到的技术中获知的那样。)
作为图75的分布图的替代,系统可以使用户设备显示示出报纸页面自身的缩小比例的版本的屏幕(类似图74中所示)。同样,用户可以简单地触摸感兴趣的文章以触发相关联的响应。
或者作为呈现页面的图形排版这一方案的替代,远程系统可以返回页面上的所有内容的标题(例如“Banks Owe Billions…”,“McCainPins Hopes…”,“Buick Lucerne”)。这些标题以菜单的形式呈现在设备屏幕上,并且用户触摸期望的项目(或者输入对应的数字/字母进行选择)。
各印刷的报纸和杂志页面的排版分布图典型地是由出版公司作为其排版处理的一部分而产生的(例如使用来自诸如Quark、Impress和Adobe等供应商的自动化软件)。现有的软件因此知道什么样的文章和广告出现在每张印刷页面上的什么位置。这些同样的软件工具或其它软件工具可以得到适应以便取得该排版分布图信息,对每个报道/广告关联相应的链接或其它数据,并将作为结果而得到的数据结构存储在可web访问的服务器中,而便携设备可以从所述可web访问的服务器访问所述数据结构。
报纸和杂志页面的排版提供了在进行水印解码时有用的定位信息。列是竖直的。文本的标题和行是水平的。即使在非常低的空间图像频率处,这样的形状方向也可以得到区分。拍摄了印刷页面的图像的用户可能并不是“方方正正地”拍摄内容。然而,图像的这些强烈的竖直和水平成分可通过对所拍摄的图像数据进行算法分析来容易地确定,并且允许所拍摄图像的旋转得到辨认。这种认识简化了水印解码处理并提高了水印解码处理的速度(因为许多水印解码操作的第一步是辨认图像从其原始编码状态的旋转)。
在另一实施例中,不需要将页面分布图从远程服务器递送给用户设备。同样,页面中跨越若干内容项目的区域被编码有单个水印有效载荷。同样,用户拍摄包含感兴趣的内容的图像。标识该页面的水印被解码。
在该实施例中,所拍摄的图像被显示在设备屏幕上,并且用户触摸特定感兴趣的内容区域。用户所做的选择在所拍摄图像数据内的坐标被记录。
图76是说明性的。用户已经使用Apple iPhone、T-Mobile Android手机等拍摄了来自水印化的报纸页面的摘录图像,并随后触摸感兴趣的文章(由椭圆形表示)。该触摸在图像帧内的位置对于触摸屏软件来说是已知的(例如作为从左上角的偏移量,以像素为单位来测量)。(显示屏可以具有480×320像素的分辨率)。该触摸可以位于像素位置(200,160)。
水印跨越该页面,并且在图76中通过虚线型对角线示出。水印(例如,如在Digimarc的专利6,590,996中描述的水印)具有起点,但是该起点并不位于用户所拍摄的图像帧内。然而,从该水印中,水印解码器软件获知图像的缩放比例及其旋转。它也知道所拍摄的图像帧与水印起点的偏移量。基于该信息和有关原始水印以什么样的缩放比例被编码的信息(该信息可以与水印一起传递,从远程储存库获得,硬编码到检测器中,等等),软件可以确定所拍摄图像帧的左上角与从原始印刷页面的左上角向下1.6英寸并向右2.3英寸的点相对应(假定水印的起点在页面的左上角)。从解码出的缩放比例信息中,软件可以辨认出:所拍摄图像的480像素宽度与原始印刷页面的12英寸宽度的区域相对应。
软件最终确定用户触摸的位置,作为从原始印刷的页面的左上角的偏移量。软件知道所拍摄图像的拐角是从印刷页面的左上角偏移(1.6”,2.3”),并且触摸位置是进一步向右偏移5”(200像素×12”/480像素)且进一步向下偏移4”(160像素×12”/480像素),对应于原始印刷页面内的最终位置(6.6”,6.3”)。
设备随后将这些坐标连同(标识该页面的)水印的有效载荷一起发送到远程服务器。服务器(从排版分布图被页面排版软件存储到的适当的数据库中)查找所标识的页面的排版分布图,并且参考坐标来确定用户的触摸落入哪一个文章/广告中。远程系统随后把与所指示的文章相关的设备响应信息返回给用户设备,如上面提到的那样。
返回到对焦,PDA照相机的近对焦缺陷实际上可以转变成对水印进行解码时的优点。从文本的着墨区域中不会取回水印信息。大多数水印所基于的细微的亮度调制在印刷为全黑的区域中被丢失。
如果页面的基底涂染有水印,则有用的水印信息从页面中未被印刷的那些区域(例如,来自各列之间、各行之间、段落末尾处等的“空白”)中得到恢复。着墨的字符是最好被忽略的“噪声”。由PDA照相机的对焦缺陷引入的页面印刷部分的模糊之处可以用来定义掩模—识别着墨很重的区域。当对水印数据进行解码时可以忽视这些部分。
更特别地,模糊的图像数据可以被阈值化。具有比阈值更暗的值的任何图像像素可以被忽略。以另一种方式表述,仅把具有比阈值更亮的值的图像像素输入到水印解码器中。由着墨的字符贡献的“噪声”因此被过滤掉。
在拍摄锐聚焦的文本的成像设备中,可以通过用模糊核(blurringkernel)处理文本并且把因此被发现由印刷文本占主导的那些区域扣除,来产生类似的优点。
通过诸如前面详述的配置,便携成像设备的缺陷被修正,并且能够实现基于页面排版数据的增强的印刷物到web的链接。
图像搜索、特征提取、模式匹配等
某些前述实施例中的图像搜索功能可以使用均来自Idée有限公司(多伦多,安大略省)的Pixsimilar图像搜索软件和/或视觉搜索开发者工具包(Visual Search Developer’s Kit,SDK)来实现。用于为图像自动地产生描述性注释的工具是如专利7,394,947(宾夕法尼亚州)中详述的ALIPR(图片自动语言标引,Automatic Linguistic of Pictures)。
基于内容的图像检索(CBIR)也可以用在前述实施例中。如技术人员所熟悉的那样,CBIR实质上涉及(1)提取图像的表征—通常用数学方法;以及(2)使用这样的表征来评估图像之间的相似性。概述这些领域的两篇论文是:Smeulders等人,“Content-Based ImageRetrieval at the End of the Early Years”,IEEE Trans.Pattern Anal.Mach.Intell.,Vol.22,No.12,pp.1349-1380,2000;和Datta等人,“ImageRetrieval:Ideas,Influences and Trends of the New Age”,ACM ComputingSurveys,Vol.40,No.2,April 2008。
从大型图像数据库中识别外观相似图像的任务是在颁发驾驶执照的过程中的熟悉操作。即,通常对照所有以前的驾驶执照照片的数据库来检查从新的申请者拍摄的图像,以检查该申请者是否已经(可能以另一名字)被颁发了驾驶执照。从驾驶执照领域获知的方法和系统可以用在这里详述的配置中。(实例包括Identix的专利7,369,685以及L-1Corp.的专利7,283,649和7,130,454。)
在这里的许多实施例中有用的是被称为CEDD和FCTH的图像特征提取算法。前者在Chatzichristofis等人的“CEDD:Color and EdgeDirectivity Descriptor-A Compact Descriptor for Image Indexing andRetrieval”,6th International Conference in advanced research on ComputerVision Systems ICVS 2008,May,2008中有详述;后者在Chatzichristofis等人的“FCTH:Fuzzy Color And Texture Histogram-A Low LevelFeature for Accurate Image Retrieval”9th International Workshop onImage Analysis for Multimedia Interactive Services”,Proceedings:IEEEComputer Society,May,2008中有详述。
实现这些技术的开源软件是可获得的;参见网页savvash.blogspot-dot-com/2008/05/cedd-and-fcth-are-now-open-dot-html。实现它们的功能的DLL可以下载得到;可以按照如下方式在输入的图像数据(例如file.jpg)上调用class:
CEDD和FCTH可以被组合,以便使用可从刚刚提到的网页获得的Joint Composite Descriptor文件来得到改善的结果。
Chatzichristofis已经使开源程序“img(Finder)”(参见网页savvash.blogspot-dot-com/2008/07/image-retrieval-in-facebook-dot-html)可被获得,其是一种使用CEDD和FCTH对来自FaceBook社交网络站点的图像进行检索和做索引的、基于内容的图像检索桌面应用程序。在使用中,用户用他们的个人账户数据连接到FaceBook并且应用程序从用户的图像以及用户的朋友们的图像相册下载信息,从而为这些图像做索引以便用CEDD和FCTH特征来进行检索。该索引可以在此后通过样本图像来询问。
Chatzichristofis也已经使在线搜索服务“img(Anaktisi)”可被获得,其中用户将照片上传到该在线搜索服务,并且该服务使用包括CEDD和FCTH在内的图像度量来在11个不同的图像档案库之一中搜索相似图像。参见orpheus.ee.duth-dot-gr/anaktisi/。(图像档案库包括Flickr)。在对Anaktisi搜索服务的相关评论中,Chatzichristofis解释到:
通过计算机和因特网的广泛普及而引起的数字图像的快速增长使
得高效的图像检索技术的开发势在必行。被称为CBIR的基于内容的图
像检索提取描述图像内容的若干特征,将图像的视觉内容映射到被称
为特征空间的新空间。给定图像的特征空间值被存储在可用来检索相
似图像的描述符中。成功的检索系统的关键在于选择尽可能准确且唯
一地表示图像的正确特征。所选择的特征必须在描述图像中存在的对
象方面是有辨别力的且足够的。为了实现这些目标,CBIR系统使用三
种基本类型的特征:颜色特征、纹理特征和形状特征。仅使用这些特
征类型之一难以得到令人满意的检索结果。
迄今,许多提出的检索技术采用涉及多于一种特征类型的方法。
例如,颜色、纹理和形状特征被用在IBM的QBIC和MIT的Photobook
中。QBIC使用颜色直方图、基于时刻的形状特征和纹理描述符。
Photobook使用外观特征、纹理特征和2D形状特征。其它CBIR系统
包括SIMBA、CIRES、SIMPLIcity、IRMA、FIRE和MIRROR。研究
的累积体提出了用于这些特征类型的提取方法。
在组合两种或更多种特征类型(诸如颜色和纹理)的大多数检索
系统中,独立的向量被用来描述每一种信息。可以通过增大具有高维
向量的图像的描述符的尺寸来得到非常好的检索得分,但是这种技术
具有若干缺点。如果描述符具有几百甚至几千个bin,那么它可能没有
实用价值,因为检索程序被显著地延迟。此外,增大描述符的尺寸会
增加存储要求,这对于包含几百万图像的数据库而言可能会有显著的
困难。许多提出的方法将描述符的长度限制到小数量的bin,从而以十
进制的非量化的形式留下可能的因素值。
活动图像专家组(MPEG)定义了对以他们的MPEG-7标准表示
的多媒体数据进行基于内容的使用的标准。该标准识别在特征的尺寸
和检索结果的质量之间维持平衡的一组图像描述符。
在该网站中,在检索系统中提出了新的一组特征描述符。这些描
述符是带着对它们的尺寸和存储要求的特别关注而设计的,使它们保
持尽可能地小而不会损害它们的识别能力。这些描述符将颜色和纹理
信息并入一个直方图中,同时将它们的尺寸保持在每张图像为23和74
字节之间。
基于内容的图像检索系统中的高检索得分可以通过采用相关反馈
机制来获得。这些机制要求用户通过将检索到的图像标记为相关或不
相关来对询问结果的质量进行分级。随后,搜索引擎在后续的询问中
使用该分级信息以更好地满足用户们的需要。应注意的是,尽管相关
反馈机制首先是在信息检索领域中引入的,但是它们当前在CBIR领域
中受到了相当多的关注。在本文中提出的大多数相关反馈技术是基于:
修改搜索参数的值使得它们更好地表示用户所想的概念。搜索参数是
作为用户向迄今为止检索到的所有图像赋予的相关度值的函数来计算
的。例如,相关度反馈常常按照询问向量的更改和/或按照适应性的相
似性度量而被公式化。
此外,在该网站中,介绍了基于所提出的描述符的自动相关反馈
(Auto Relevance Feedback,ARF)技术。所提出的自动相关反馈(ARF)
算法的目标是基于用户偏好来最优地重新调整初始检索结果。在该程
序期间,用户从第一回检索到的图像中选择一张图像作为与他/她的初
始检索期待相关的图像。来自这些所选图像的信息被用来改变初始询
问图像描述符。
另一开源的基于内容的图像检索系统是由日内瓦大学的研究者制作的GIFT(GNU Image Finding Tool,GNU图像发现工具)。其中一种工具允许用户对包含图像的目录树做索引。GIFT服务器及其客户机程序(SnakeCharmer)可以随后被用来基于图像相似性搜索编入索引的图像。该系统在网页gnu-dot-org/software/gift/gift-dot-html上有进一步描述。该软件的最新版本可以在ftp服务器ftp.gnu-dot-org/gnu/gift上找到。
又一种开源CBIR系统是由RWTH Aachen University的TomDeselaers和其他人编写的Fire,可从网页i6.informatik.rwth-aachen-dot-de/~deselaers/fire/下载。Fire利用例如在Deselaers等人的“Features for Image Retrieval:An ExperimentalComparison”,Information Retrieval,Vol.11,No.2,The Netherlands,Springer,pp.77-107,March,2008中描述的技术。
本发明的实施例通常涉及图像中描绘的对象,而不是图像像素的完整的帧。图像内的对象的识别(有时被称为计算机视觉)是读者被假定熟悉的大学科。边缘和形心是可以用来辅助识别图像中的对象的图像特征之一。形状上下文是另一种图像特征(参看Belongie等人,Matching with Shape Contexts,IEEE Workshop on Content Based Accessof Image and Video Libraries,2000.)对仿射变换有鲁棒性(例如缩放不变性、旋转不变性)是某些对象识别/模式匹配/计算机视觉技术的有利特征。基于Hough变换和Fourier Mellin变换的方法展现出旋转不变特性。(下面讨论的)SIFT是具有这种和其它有利特性的图像识别技术。
除了对象识别/计算机视觉之外,本说明书中考虑的图像处理(与处理相关元数据相对比)可以使用可能涵盖各种名称的各种其它技术。所包括的名称有图像分析、模式识别、特征提取、特征检测、模板匹配、面部识别、特征向量等。(所有这些术语在本说明书中通常可互换使用。)感兴趣的读者可查阅Wikipedia,上面有关于刚刚列出的主题的每一个的文章,包括指南和对相关信息的引用。
所讨论的种类的图像度量有时被认为是元数据,称为“依赖于内容的元数据”。这与“描述内容的元数据”(这是使用术语元数据所表达的更熟悉的意义)形成对比。
与通信设备的交互
上面详述的大多数实例涉及对没有办法进行通信的对象成像。本节更特别地考虑应用于如下对象的这种技术:其被配备以进行通信或者能够具有这样的配备。简单的实例是配备有WiFi的恒温器和停车计时器,通过以太网连接的电话,和配备有蓝牙的旅馆床头闹钟。
考虑驾驶到她在商业区的办公室的用户。找到未被占用的停车位后,她将她的手机指向停车计时器。虚拟用户界面(UI)几乎立即出现在手机的屏幕上—允许她从计时器购买两个小时的时间。在办公楼内,该女子发现会议室很冷并将手机指向恒温器。片刻之后,另一虚拟用户界面出现在手机上—允许她改变恒温器的设置。在停车计时器将要用完时间前的十分钟,手机用钟声报时并且再次呈现用于停车计时器的UI。用户从她的办公室购买又一小时时间。
对于工业用户、和交互的安全很重要的其它应用、或者匿名很重要的应用而言,各种级别的安全措施和访问特权可以结合到用户的移动设备与被成像的对象之间的交互会话中。第一级别包括只是公开地或隐秘地将联络指令编码在对象的表面特征中,诸如IP地址;第二级别包括将公共密钥信息(或者通过公开的符号体系明确地,或者通过数字水印更加巧妙地)提供给设备;并且在第三级别中,只有通过主动地拍摄对象的照片才能获取唯一的图案或数字水印。
呈现在用户的手机上的界面可以根据用户偏好来定制,和/或以便便于与设备之间的面向特定任务的交互(例如技师可以改进用于恒温器的“调试”界面,而上班族可以改进温度设置控制)。
在存在包含显示屏、按钮、拨号盘等元件或者用来与实体对象或设备进行物理交互的其它这种特征的实体对象或设备的任何地方,这样的成本可以不是必需的。取而代之,它们的功能可以由主动地且在视觉上与该对象或设备交互的移动设备复制。
通过将无线芯片结合到设备中,制造商有效地实现了用于该设备的移动GUI。
根据一个方面,这样的技术包括使用移动电话来获得与设备相对应的识别信息。通过参考所获得的识别信息,与所述设备相对应的应用软件随后被识别并被下载到移动电话中。该应用软件随后被使用以便于用户与设备的交互。通过这样的配置,移动电话充当多功能控制器—适于通过使用参考与该设备相对应的信息而识别的应用软件来控制特定设备。
根据另一方面,这样的技术包括使用移动电话来感测来自设备外壳的信息。通过使用该感测到的信息,其它信息通过使用与该设备相对应的公共密钥而被加密。
根据又一方面,这样的技术包括使用移动电话来感测来自设备的模拟信息。感测到的模拟信息被转换成数字形式,并且相应的数据从手机被传送。该传送的数据被用来在允许用户使用移动电话与设备交互之前确认用户与设备的接近度。
根据又一方面,这样的技术包括使用用户手机上的用户界面来接收与设备的控制相关的指令。该用户界面和手机所拍摄的设备的图像共同被呈现在手机的屏幕上。与指令相对应的信息在指令待解决时以第一种形式发送给用户;并且在指令已经被成功地执行时以第二种形式发送给用户。
根据又一方面,本技术包括当用户接近设备时,使用呈现在用户手机屏幕上的用户界面对与设备之间的处理进行初始化。之后,手机被用于与设备不相关的目的。再之后,用户界面被再调用并被用来从事与设备之间的进一步的处理。
根据又一方面,这样的技术包括移动电话,其包括处理器、存储器、传感器和显示器。存储器中的指令配置处理器以实现以下动作:感测来自最接近的第一设备的信息;参考感测到的信息,下载与第一设备相对应的第一用户界面软件;通过与所下载的第一用户界面软件的用户交互,来与第一设备进行交互;从存储器中再调用与第二设备相对应的第二用户界面软件,该第二用户界面软件已经在先前被下载到移动电话中;以及通过与再调用的第二用户界面软件的用户交互来与第二设备进行交互,而不管用户是否接近所述第二设备。
根据又一方面,这样的技术包括移动电话,其包括处理器、存储器和显示器。存储器中的指令配置处理器以呈现一用户界面,该用户界面允许用户在存储器中存储的若干其它设备特定的用户界面之间选择,以便使用移动电话与多个不同的外部设备交互。
参考图78-87更具体地详述这些配置。
图78和79示出现有技术的配备有WiFi的恒温器512。其包括温度传感器514、处理器516和用户界面518。用户界面包括各种按钮518、LCD显示屏520和一个或更多指示灯522。存储器524存储用于恒温器的程序编制和数据。最后,WiFi收发器526和天线528允许与远程设备通信。(所描绘的恒温器512可从Radio Thermostat Company ofAmerica作为型号CT80获得。WiFi收发器包括GainSpan GSl010 SoC(片上系统)设备。)
图80示出类似的但是体现根据本技术某一方面的原理的恒温器530。如同恒温器512那样,恒温器530包括温度传感器514和处理器532。存储器534可以存储与存储器524相同的程序编制和数据。然而,该存储器534包括更多的一些软件以支持下面描述的功能。(为了说明的方便,与本技术的该方面相关的软件被赋予一个名字:ThingPipe软件。恒温器存储器因此具有与其它设备(诸如手机)上的其它代码协作的ThingPipe代码以实现所详述的功能。
恒温器530可以包括与恒温器512相同的用户界面518。然而,显著的经济性可以通过省略许多相关部件(诸如LCD显示屏和按钮)来实现。所描绘的恒温器因此仅包括指示灯522并且甚至这些指示灯也可以省略。
恒温器530还包括手机可借以感测恒温器530的身份的配置。可以采用来自恒温器的WiFi发射(例如通过设备的MAC标识符)。然而,其它方法是优选的,诸如可由手机的照相机感测的标记。
数字隐写数字水印是可由手机照相机感测的一种这样的标记。数字水印技术在受让人的专利(包括6,590,996和6,947,571)中有详述。水印数据可以编码在恒温器的外表上的纹理图案中,编码在粘胶标签上,编码在恒温器上的仿木纹装饰上,等等。(由于数字隐写编码是隐藏的,所以它在图80中没有绘出。)
另一种适合的标记是1D或2D条形码或其它公开的符号系统,诸如图80中示出的条形码536。这可以印刷在恒温器外壳上,通过粘胶标签来贴敷,等等。
可以采用其它用于识别恒温器的方法,诸如RFID芯片538。另一种是蓝牙标识符的短距离无线广播(诸如通过蓝牙),或者网络服务发现协议(例如Bonjour)。也可以使用借助图像指纹或缩放不变特征变换(诸如SIFT)等方式的对象识别。也可以使用其它标识符—由用户手动输入的标识符或者通过浏览可能设备的目录结构而识别的标识符。技术人员将会认识到许多其它可选方案。
图81示出示例性的手机540,诸如Apple iPhone设备。其包括常规元件,这些常规元件包括处理器542、照相机544、麦克风、RF收发器、网络适配器、显示器和用户界面。用户界面包括实体控制以及触摸屏传感器。(用户界面和相关软件的细节在Apple的专利公开20080174570中有提供。)手机的存储器546包括通常的操作系统和应用软件。另外,存储器546还包括用于执行本说明书中详述的功能的ThingPipe软件。
转到所示出的实施例的操作,用户使用手机照相机544拍摄描绘数字水印化的恒温器530的图像。手机中的处理器542预处理所拍摄的图像数据(例如通过应用Wiener滤波器或其它滤波,和/或对图像数据进行压缩),并将处理后的数据连同识别手机的信息一起无线传送到远程服务器552(图82)。(这可以是手机中的ThingPipe代码的功能的一部分。)无线通信可以通过WiFi传送到附近的无线接入点,并随后通过因特网传送到服务器522。或者可以采用手机网络等。
服务器552将解码算法应用于从手机接收的处理后的图像数据,从而提取以数字隐写方式编码的数字水印数据。该解码出的数据(其可以包括恒温器的标识符)连同识别手机的信息一起通过因特网传送到路由器554。
路由器554接收标识符并在命名空间数据库555中查找它。命名空间数据库555检查标识符的最高有效位,并进行询问以识别对该组标识符负责的特定服务器。通过该处理而由此识别的服务器556具有与该恒温器有关的数据。(这样的配置类似于在因特网路由中采用的域名服务器。专利6,947,571额外公开了如何使用水印化的数据来识别知道如何处置这种数据的服务器。)
路由器554询问所识别的服务器556以获得信息。例如,路由器554可以从服务器556请求与恒温器相关的当前数据(例如可由服务器556通过包括WiFi的链路从恒温器获得的当前温度设置点和环境温度。)另外,服务器556被请求提供有关适合于在Apple iPhone 540上显示的图形用户界面的信息以控制该特定恒温器。该信息可以包括例如在手机540上运行并且呈现适合于供恒温器使用的GUI的JavaScript应用程序。该信息被直接地或者通过服务器552传递回给手机。所返回的信息可以包括服务器556的IP地址,使得手机可以在此之后直接与服务器556交换数据。
手机540中的ThingPipe软件通过在其屏幕上呈现用于恒温器530的图形用户界面,来对接收到的信息作出响应。该GUI可以包括恒温器的环境和设置点温度—不管是从服务器556接收到的还是直接(诸如通过WiFi)从恒温器接收到的。另外,所呈现的GUI包括用户可操作从而改变设置的控制。为了提高设置点温度,用户触摸与该操作相对应的所显示的控制(例如“提高温度”按钮)。呈现在UI显示中的设置点温度响应于用户的动作而立即增高(可能以闪烁或其它独特的方式来指示请求处于待解决的状态)。
用户的触摸也使ThingPipe软件将相应的数据从手机540传送到恒温器(该传送可以包括图82中示出的一些或全部其它设备,或者它可以直接去往恒温器—诸如通过WiFi)。在接收到该数据时,恒温器按照用户的指令提高其设置温度。它随后发出从恒温器中继回到手机的证实消息。在接收到证实消息时,温度增高的指示器的闪烁停止,并且设置点温度随后以静态形式显示。(其它配置当然是可能的。例如,证实消息可以作为可视信号(诸如呈现在显示屏上的文本“已接受”)或听得见的钟声或说“OK”的语音呈递给用户。)
在一个特定实施例中,所显示的UI被呈现为手机屏幕上的叠加物,叠加在用户早先拍摄的描绘恒温器的图像上面。UI的特征按照与所拍摄的图像中示出的任何对应的实体控制(例如按钮)经注册而对准的方式呈现。因此,如果恒温器具有温度提高和温度降低按钮(例如图79中的“+”和“-”按钮),则图形叠加物可以以独特的格式画出所显示的图像中的这些按钮的轮廓,诸如用滚动的红色虚线。这些是用户触摸以提高或降低设置点温度的图形控制。
这通过图83示意性地示出,其中用户已经拍摄了恒温器的一部分的图像560。至少一部分水印562(为了举例说明而将其示为可见的)被包括在该图像中。通过参考水印和从服务器556获得的有关恒温器的布局的数据,手机处理器将滚动的虚线叠加在图像的上面—画出“+”和“-”按钮的轮廓。当手机的触摸屏用户界面感测到用户在这些画出轮廓的区域中触摸时,它将该情况报告给手机中的ThingPipe软件。ThingPipe软件继而将这些触摸解释为增高或降低恒温器温度的命令,并将这些指令发送到恒温器(例如通过服务器552和/或556)。同时,ThingPipe软件增加也叠加在图像上面的图形“SET TEMPERATURE(设置温度)”,并使其闪烁直到证实消息从恒温器接收回来。
图形用户界面在所拍摄的图像数据上面的注册的叠加是通过恒温器外壳上的编码的水印数据来使能的。水印中的校准数据允许恒温器在图像内的布置的缩放、平移和旋转得到精确的确定。如果水印按照已知的与其它设备特征(例如按钮和显示屏)的空间关系被可靠地布置在恒温器上,那么这些特征在所拍摄图像内的位置可以参考水印而得到确定。(申请人的已公开专利申请20080300011进一步详述了这样的技术。)
如果手机不具有触摸屏,则仍然可以使用UI的注册叠加。然而,作为提供屏幕目标给用户触摸这一方案的替代,呈现在手机屏幕上的画出轮廓的按钮可以指示手机键盘上的、用户应该按下以激活被画出轮廓的功能的对应按钮。例如,围绕“+”按钮的画出轮廓的框可以周期性地用数字“2”闪烁橙色—指示用户应该按下手机键盘上的“2”按钮以提高恒温器的温度设置点。(数字“2”在图像的“+”部分的上面闪烁,从而允许用户在该数字没有闪烁时辨认出所拍摄图像中的“+”标记。)类似地,围绕“-”按钮的画出轮廓的框可以周期性地用数字“8”闪烁橙色—指示用户应该按下手机键盘上的“8”按钮以降低恒温器的温度设置点。参见图84的572、574。
尽管图形用户界面按照经注册而对准的方式叠加在恒温器的所拍摄的图像上被认为是最容易通过使用水印来实现的,但是其它配置是可能的。例如,如果条形码的尺寸和缩放比例及其在恒温器上的位置是已知的,那么用于叠加目的的恒温器特征的位置可以用几何学确定。对于基于图像指纹的方法(包括SIFT)也类似是这样。如果恒温器的标称外观是已知的(例如通过服务器556),那么各特征在所拍摄的图像内的相对位置可以通过图像分析来辨认。
在一种特定配置中,用户拍摄描绘恒温器的一帧图像,并且该帧被手机缓存以供静态显示。叠加物随后按照与该静态图像经注册而对准的方式被呈现。如果用户移动照相机,则静态图像持续不变,并且叠加的UI类似地静止。在另一配置中,用户拍摄图像流(例如视频拍摄),并且即使图像中的特征随着帧的不同而移动,叠加物仍然按照与图像中的特征经注册而对准的方式被呈现。在这种情况下,叠加物可以与所描绘的恒温器在手机屏幕内的移动相对应地跨越屏幕移动。这样的配置可以允许用户移动照相机来拍摄恒温器的不同外观—可能揭示出额外的特征/控制。或者它允许用户将照相机移向目标使得某些特征(和对应的图形叠加物)得到揭示或者以更大的比例出现在手机的触摸屏显示上。在这样的动态叠加实施例中,用户可以选择性地在任何时刻使所拍摄的图像凝固住,并且随后继续利用(那时是静态的)所叠加的用户界面控制进行操作,而无需考虑将恒温器保持在照相机的视场中。
如果恒温器530属于不具有可视控制的那类恒温器,那么显示在手机上的UI可以是任何格式。如果手机具有触摸屏,则恒温器控制可以被呈现在显示屏上。如果没有触摸屏,则显示屏可以简单地呈现对应的菜单。例如,它可以指示用户按下“2”以提高温度设置点,按下“8”以降低温度设置点,等等。
在用户已经经由手机发出了指令之后,命令如上所述地被中继到恒温器,并且证实消息合乎期望地被返回,以便通过ThingPipe软件呈递给用户。
应认识到的是,所显示的用户界面是手机与之交互的设备(即恒温器)的功能,并且也可以是手机自身的能力(例如,它是否具有触摸屏,屏幕的尺寸,等等)的功能。使手机的ThingPipe软件能够创建这些不同的UI的指令和数据可以存储在管理恒温器的服务器556中并且被递送到恒温器与之交互的手机的存储器546。
可以这样被控制的设备的另一实例是WiFi使能的停车计时器。用户用手机照相机拍摄停车计时器的图像(例如通过按下按钮,或者图像拍摄可以是自由运行的—诸如每秒或每几秒拍摄一次)。处理一般按照上面详述的方式发生。ThingPipe软件处理图像数据,并且路由器554识别负责与该停车计时器的ThingPipe交互的服务器556a。服务器返回UI指令,任选地还有该计时器的状态信息(例如剩余时间;最大可允许时间)。这些数据被显示在手机UI上,例如连同用于购买时间的控制/指令一起叠加在手机的所拍摄图像上。
用户与手机交互以添加两小时的时间到计时器。对应的支付例如从用户的信用卡账户被记入借方,其中用户的信用卡账户作为加密的概况信息被存储在手机或远程服务器中。(包括适合于供手机使用的支付配置在内的在线支付系统是公知的,因此在这里不再作过多说明。)手机上的用户界面确认支付已经令人满意地做出,并指示出从计时器购买的分钟数。街边计时器的显示屏也可以反映所购买的时间。
用户离开计时器并办理其它事情,并且可以将手机用于其它目的。手机可以陷入低功耗模式—使屏幕变暗。然而,所下载的应用软件跟踪计时器上剩余的分钟数。它可以通过周期性地向相关服务器询问数据来实现该功能。或者它可以独立地用倒数式计时来跟踪时间。在给定的时间点(例如剩下十分钟),手机发出警报声。
看着手机,用户发现手机已经返回到其激活状态,并且计时器UI已经恢复到屏幕上。所显示的UI报告剩下的时间,并向用户提供购买更多时间的机会。用户购买另外30分钟的时间。所完成的购买在手机显示屏上被确认—示出剩余40分钟的时间。街边计时器上的显示屏也可以类似地被更新。
应注意的是,用户不必在物理上返回到计时器处来增加时间。虚拟链接持续存在于手机和停车计时器之间或者在它们之间重新建立—即使用户可能已经走了十几个街区并且乘电梯上了多层楼。停车计时器控制与手机一样接近。
(尽管没有特别地详述,但是停车计时器的框图类似于图80的恒温器的框图,虽然没有温度传感器。)
考虑第三个实例—旅馆中的床头闹钟。大多数旅行者都了解被这样的钟所呈现的各种不合理的用户界面弄糊涂的体验。天色已晚;旅行者由于长途飞行而头昏眼花,并且现在面对着要弄清楚黑色钟上的哪些黑色按钮必须在光线昏暗的旅馆客房中被操作以将闹钟设置为上午5:30的琐事。如果这种设备能够通过呈现在用户手机上的界面(优选地是旅行者通过反复使用而了解的标准化用户界面)来控制,那么将会更好一些。
图85示出采用本技术的一些方面的闹钟580。如同其它闹钟一样,它包括显示器582、实体UI 584(例如按钮)和控制处理器586。然而,该闹钟还包括蓝牙无线接口588和存储有用于由处理器执行的ThingPipe和蓝牙软件的存储器590。闹钟还具有用于识别自身的手段,诸如上面描述的数字水印或条形码。
如在早先的实例中那样,用户拍摄闹钟的图像。标识符由手机处理器或者远程服务器552b中的处理器从图像中解码出来。根据该标识符,路由器识别出对这种闹钟有丰富知识的另一服务器556b。路由器将标识符连同手机的地址一起传递到该另一服务器。服务器使用解码出的水印标识符来查找该特定闹钟并调用有关其处理器、显示屏和其它配置数据的指令。服务器还提供手机530的特定显示屏可借以呈现标准化闹钟界面的指令,通过所述闹钟界面可以设置闹钟参数。服务器将该信息封装在一文件中,该文件被传送回到手机。
手机接收该信息并在屏幕上呈现由服务器556b详述的用户界面。它是熟悉的界面,每次该手机被用来与旅馆闹钟交互时该界面都会出现,而不管闹钟的型号或制造商如何。(在一些情况中,手机可以简单地从例如手机中的UI缓存中调用UI,因为它被频繁地使用。)
包括在UI中的是控制“LINK TO CLOCK(连接到闹钟)”。当被选择时,手机通过蓝牙与闹钟通信。(可能需要从服务器556b发送的参数来建立会话。)当通过蓝牙被连接时,显示在闹钟上的时间连同选项菜单一起被呈现在手机UI上。
呈现在手机屏幕上的选项之一是“SET ALARM(设置闹铃)”。当被选择时,UI转到另一屏幕595(图86),邀请用户通过按下手机键盘上的数字键来输入期望的闹铃时间。(自然可以使用其它范例,例如轻拂触摸屏界面上显示的数字以使它们旋转直至期望的数字出现,等等。)当期望的时间已经输入时,用户按下手机键盘上的OK按钮以设置时间。
如前所述,所输入的用户数据(例如闹铃时间)在命令被传送到设备(在这种情况下通过蓝牙)时闪烁,直到设备发出证实信号—这时所显示的数据停止闪烁。
在闹钟中,用于将闹铃时间设置为上午5:30的指令通过蓝牙来接收。闹钟存储器中的ThingPipe软件理解数据通过蓝牙信号被传递所用的格式,并解析出期望的时间和用于设置闹铃的命令。闹钟处理器随后将闹铃设置为在指定的时间响铃。
应注意的是,在该实例中,手机和闹钟直接通信,而不是通过一个或更多中间计算机。(其它计算机被手机咨询以获得用于该闹钟的编程细节,但是一旦获得了这些编程细节,手机将不再进一步联系其它计算机。)
另外应注意的是,在这个实例中,与恒温器不同,用户界面并不将其自身与用户拍摄的闹钟的图像集成在一起(例如按照经注册而与用户拍摄的闹钟的图像对准的方式)。这种改进被省略是为了有利于呈现一致的用户界面体验—独立于被编程的特定闹钟。
如在早先的实例中那样,本申请人优选水印来识别特定的设备。然而,可以使用任何其它已经的识别技术,包括上面提到的那些。
还没有对每个详述的设备中的任选的定位模块596进行任何描述。一种这样的模块是GPS接收器。适合于这样的模块的另一种新兴的技术依赖通常在设备之间交换的无线电信号(例如WiFi、蜂窝等)。给定若干通信设备,信号自身和控制这些信号的不完美的数字时钟信号形成了一个参考系统,从该参考系统中可以抽取均高度准确的时间和位置。这样的技术在早期公开的国际专利公开WO08/073347中有详述。
知道设备的位置允许增强的功能得到实现。例如,这允许设备通过它们的位置(例如唯一的纬度/经度/海拔坐标)而不是通过标识符(例如水印化的标识符或其它标识符)得到识别。此外,这允许手机和其它ThingPipe设备之间的接近度得到确定。
考虑靠近恒温器的用户的实例。胜于拍摄恒温器的图像,用户可以简单地启动手机的ThingPipe软件(或者它可能已经在后台中运行)。该软件将手机的当前位置传递到服务器552并请求识别附近的其它ThingPipe使能的设备。(“附近”当然取决于实现方案。它可以是例如10英尺、10米、50英尺、50米等。该参数可以由手机用户定义,或者可以采用默认值)。服务器552检查识别其它ThingPipe使能的设备的当前位置的数据库,并将数据返回到识别位于附近的那些设备的手机。列表598(图87)被呈现在手机屏幕上—包括与用户的距离。(如果手机的定位模块包括磁力计或用于确定设备所面对的方向的其它装置,则所显示的列表还可以包括与距离一起的方向线索,例如“向你左边4’”。)
用户从所显示的列表中选择THERMOSTAT(恒温器)(例如通过触摸屏幕(如果有触摸屏的话),或者通过在键盘上输入相关的数字)。手机随后建立与这样识别的设备的ThingPipe会话,如上面详述的那样。(在该实例中,恒温器用户界面没有叠加在恒温器的图像的上面,因为没有拍摄图像。)
在上面详述的三个实例中,存在着谁应该被授权与设备交互以及交互多久的问题。
在旅馆闹钟的情况下,授权并不是紧要的。能够感测闹钟标识符的客房中的任何人可以被认为经授权设置闹钟参数(例如当前时间、闹铃时间、显示亮度、通过蜂鸣或广播来闹铃等)。然而,该授权应该仅在用户位于闹钟附近范围内(例如蓝牙范围内)的情况下持续。当一个客人将在下一晚上睡觉时,将不会让前一个客人对闹铃进行重新编程。
在停车计时器的情况下,授权可以同样是接近计时器并拍摄照片(或以其它方式从短距离感测其标识符)的任何人。
如提到的那样,在停车计时器的情况下,用户能够在之后的时刻再调用对应的UI,并从事与设备的进一步处理。这在某一点上是很好的。或许距离图像拍摄的时刻十二小时是用户可以与计时器交互的适合的时间间隔。(当某个其他人停在该车位时,如果用户在十二小时之后增加时间的话,没什么坏处。)可选地,用户与设备交互的授权可以在新用户启动与计时器的会话(例如通过拍摄设备的图像并启动上面识别的这类处理)时终止。
存储设置用户的授权时间的数据的存储器可以位于计时器中,或者它可以位于其它地方,例如位于服务器556a中。该用户的对应ID也通常被存储。这可以是用户的电话号码、电话设备的MAC标识符或者某种其它大体唯一的标识符。
在恒温器的情况下,可以存在关于谁被授权改变温度以及改变多长时间的更严格的控制。可能仅仅办公室中的主管人可以设置温度。其它职员可以被授予更少的特权,例如仅能察看当前环境温度。同样,存储这样的数据的存储器可以位于恒温器中,位于服务器556中,或者位于其它地方。
这三个实例是简单的,并且被控制的设备具有较小的重要性。在其它应用中,更高的安全性将自然是关注的问题。认证技术已开发得很好,而且技术人员可以从已知的技巧和技术中吸取经验来实现适合于任何给定应用的特定需求的认证配置。
如果该技术变得普遍,则用户可能需要在若干正在进行的ThingPipe会话之间切换。ThingPipe应用程序可以具有“最近的UI”菜单选项,当它被选择时,该菜单选项会引出未决的或最近的会话的列表。选择任何一个会调用对应的UI,从而允许用户继续早先的与特定设备的交互。
诸如用于恒温器等的实体用户界面是固定的。所有用户都被呈现相同的实体显示屏、按钮、拨号盘等。所有交互都必须强制装入该相同的实体控制词汇表中。
本技术的一些方面的实现可以更多样化。用户可能已经存储了概况设置—(普遍地和/或逐个设备地)将手机UI定制为符合用户的特定偏好。例如,色盲用户可以这样规定,以致于使灰度界面始终被呈现来代替对用户而言可能难以区分的带颜色的界面。具有远视视力的人可能会偏爱使信息以最大可能的字体来显示,而不管美观性如何。另一个人可能会选择文本从显示屏中读出来,诸如通过合成的语音。一个特定的恒温器UI可以正常地呈现指示当前日期的文本;用户可能会偏好使UI不被乱糟糟地堆满这样的信息,并且可能会规定对于该UI而言不应该显示日期信息。
用户界面也可以被定制成用于与对象的面向特定任务的交互。技术人员可以调用用于恒温器的“调试”界面,以便对相关的HVAC系统进行故障查找;上班族可以调用仅呈现当前温度和设置点温度的更简单的UI。
正如不同的用户可以被呈现不同的界面,不同级别的安全措施和接入特权也可以被提供。
第一安全级别包括简单地将用于对象的联络指令(隐秘地或公开地)编码在对象的表面特征中,诸如IP地址。会话简单地开始于手机从设备收集联络信息。(可以涉及间接寻址;设备上的信息可以指向存储用于该设备的联络信息的远程存储库。)
第二级别包括通过公开的符号体系明确地呈现在设备上、通过数字隐写数字水印化而被更巧妙地隐藏、被间接地获得、或者以其它方式传递的公共密钥信息。例如,设备上的机器可读数据可以提供设备的公共密钥—来自用户的传输必须用该公共密钥加密。用户的传输也可以传递用户的公共密钥,其中设备可通过该公共密钥来识别用户,并且返回给手机的数据/指令用该公共密钥加密。
这样的配置允许与设备进行安全会话。购物商场中的恒温器可以使用这样的技术。所有过路人都能够读取恒温器的公共密钥。然而,恒温器可以仅把控制特权授予某些用户—由他们各自的公共密钥来识别。
第三级别包括除非用户提交只能通过主动地拍摄对象的照片来获取的唯一图案或数字水印,否则阻止对设备的控制。即,只是发送与设备相对应的标识符并不是足够的。而是,证明用户与设备的物理接近度的细节也必须被拍摄并传送。只有拍摄设备的照片,用户才能够获得必需的数据;图像像素基本上证明用户在附近并拍摄了照片。
为了避免欺骗,先前提交的所有图案可以缓存在远程服务器或设备中,并且当接收到新数据时对照该新数据来检查先前提交的所有图案。如果第二次提交了相同的图案,那么可以取消其资格—作为明显的回放攻击(即,每张设备的图像应该在像素层面上有一些变化)。在一些配置中,设备的外观随着时间而变化(例如通过呈现周期性变化的像素图案的显示屏),并且所提交的数据必须与刚刚在前的时间间隔(例如5秒或5分钟)内的设备相对应。
在相关实施例中,任何模拟信息(外观、声音、温度等)可以从设备或其环境中感测到,并被用来建立用户与设备的接近度。(模拟信息在被转换成数字形式时的不完美的表示形式同样可以被用来检测重放攻击。)
该配置的一种简单应用是大地寻宝(scavenger hunt)—在这种情况下拍摄设备的照片可提供用户在该设备处的存在。更实际的应用是工业设置,在这种情况下关注人们不用身处遥远地就能尝试使用那里的设备。
根据上述内容,这种配置的大量变型和混合对于技术人员来说将是明显的。
SIFT
有时参考SIFT技术。SIFT是Scale-Invariant Feature Transform(尺度不变特征变换)的首字母缩略词,是由David Lowe开创的计算机视觉技术并且被记述在各种他的论文(包括“Distinctive Image Featuresfrom Scale-Invariant Keypoints”,International Journal of ComputerVision,60,2(2004),pp.91-110;和“Object Recognition from LocalScale-Invariant Features”,International Conference on Computer Vision,Corfu,Greece(September 1999),pp.1150-1157)以及专利6,711,293中。
SIFT通过对局部图像特征的识别和描述以及随后的检测来工作。SIFT特征是局部的并且基于特定兴趣点处的对象的外观,并且不随图像的尺度、旋转和仿射变换而改变。SIFT特征也对光照变化、噪声和视角的一些变化具有鲁棒性。除了这些特性之外,SIFT特征是独特的,相对容易提取的,允许以低的误匹配概率来进行正确的对象识别,并且可直接用于对照局部特征的(大型)数据库进行匹配。通过一组SIFT特征进行的对象描述也对部分遮挡具有鲁棒性;只需来自对象的三个SIFT特征就足以计算其位置和姿态。
该技术通过识别参考图像中的局部图像特征(被称为关键点)而开始。这是通过以不同尺度(分辨率)用高斯模糊滤波器对图像进行卷积,并确定相继的高斯模糊图像之间的差异来实现的。关键点是具有以多个尺度出现的高斯差分的最大值或最小值的那些图像特征。(把高斯差分帧中的每个像素与该像素的处于同一尺度的八个相邻像素以及每个相邻尺度(例如九个其它尺度)的对应像素进行比较。如果像素值是来自所有这些像素的最大值或最小值,那么选择它作为候选关键点。)
(应认识到的是,刚刚描述的程序是检测图像的尺度局部化的拉普拉斯变换的空间尺度极值的污点检测方法。高斯差分方法是这种拉普拉斯操作的近似,以金字塔设置来表达。)
上述程序典型地识别例如由于具有低对比度(因此易受噪声影响)或者由于沿着边缘具有较差地确定的位置(高斯差分函数沿着边缘具有强烈的响应,从而产生许多候选关键点,但是许多这些候选关键点对噪声没有鲁棒性)而不合适的许多关键点。通过对候选关键点执行详尽的拟合以拟合到附近数据从而获得准确的位置、尺度和主曲率比,来把这些不可靠的关键点筛除。这会排除具有低对比度或者沿着边缘被较差地定位的关键点。
更特别地,该处理通过对每个候选关键点插入附近数据以更准确地确定关键点位置而开始。这常常通过以关键点作为原点进行泰勒展开以确定最大值/最小值位置的精确的估计来实现。
二阶泰勒展开的值也可以用来识别低对比度的关键点。如果对比度小于阈值(例如0.03),则丢弃该关键点。
为了去除具有强烈边缘响应但是被较差地局部化的关键点,应用角点检测程序的变型。简要地说,这涉及计算跨越边缘的主曲率并将其与沿着边缘的主曲率进行比较。这是通过求出二阶Hessian矩阵的特征值来实现的。
一旦不合适的关键点被丢弃,剩下的那些关键点就通过局部图像梯度函数来评估其方向。为(处于该关键点的尺度的)高斯模糊图像中的围绕关键点的相邻区域中的每个像素计算梯度的大小和方向。随后编辑出具有36个bin的方向直方图—每个bin包含十度的方向。相邻区域中的每个像素对直方图作出贡献,该贡献通过其梯度大小以及通过σ为关键点的尺度的1.5倍的高斯函数来加权。该直方图中的峰值定义关键点的主方向。该方向数据允许SIFT实现对旋转的鲁棒性,因为关键点描述符可以相对于该方向被表示。
根据上述内容,不同尺度的多个关键点被识别—每个关键点具有对应的方向。该数据不随图像平移、缩放和旋转而变化。随后为每个关键点产生128个元素描述符,从而允许对光照和3D视角有鲁棒性。
该操作类似于刚刚回顾的方向评估程序。关键点描述符被计算为(4×4)像素相邻区域上的一组方向直方图。方向直方图与关键点方向有关,并且方向数据来自在尺度上最接近关键点尺度的高斯图像。如前所述,每个像素的贡献是通过梯度大小以及通过σ为关键点的尺度的1.5倍的高斯函数来加权的。直方图各自包含8个bin,并且每个描述符包含关键点周围的16个直方图的4×4阵列。这导致具有(4×4×8=128元素)的SIFT特征向量。该向量被归一化以增强对光照变化的不变性。
前述的程序被应用于各训练图像以编辑参考数据库。未知的图像随后如上所述被处理以产生关键点数据,并且数据库中的最接近匹配的图像通过类似欧几里德距离的度量来识别。(典型地使用“best-bin-first(最优节点优先)”算法来代替纯欧几里德距离计算,以实现几个数量级的速度改进。)为了避免错误肯定,如果一个最佳匹配的距离得分接近下一个最佳匹配的距离得分(例如相差25%),则产生“不匹配”输出。
为了进一步提高性能,图像可以通过聚类来匹配。这会识别出属于同一参考图像的特征,从而允许非聚类的结果作为假的结果被丢弃。可以使用Hough变换—识别体现同一对象姿态的特征的聚类。
详述用于执行SIFT程序的特定硬件实施例的论文是Bonato等人的“Parallel Hardware Architecture for Scale and Rotation Invariant FeatureDetection”,IEEE Trans on Circuits and Systems for Video Tech,Vol.18,No.12,2008。图18(改编自Bonato)提供了这种配置70的框图。
除了产生像素数据的照相机32之外,还存在三个硬件模块72-74。模块72接收来自照相机的像素作为输入,并且执行两种类型的操作:高斯滤波和高斯差分。前者被发送到模块73;后者被发送到模块74。模块73计算像素的方向和梯度大小。模块74检测关键点并执行稳定性检查以确保关键点可以作为识别特征而被依赖。
(在Altera NIOS II现场可编程门阵列上执行的)软件单元75基于由单元73产生的像素方向和梯度大小来产生用于由单元74检测的每个特征的描述符。
除了不同模块同时执行之外,在每个硬件单元内还存在并行性。Bonato的说明性实现方案每秒处理30帧。手机实现方案可能运行得稍微更慢一点,诸如10fps-至少在初始产生时。
读者可查阅Bonato的论文以获得进一步的细节。
用于执行SIFT技术的可选硬件架构在Se等人的“Vision BasedModeling and Localization for Planetary Exploration Rovers”,Proc.of Int.Astronautical Congress(IAC),October,2004中有详述。
另一配置在Henze等人的“What is That?Object Recognition fromNatural Features on a Mobile Phone”,Mobile Interaction with the RealWorld,Bonn,2009中有详述。Henze等人使用Nister等人和Schindler等人的技术以便通过使用求树法来扩展可能被识别的对象的使用(例如参见Nister等人的“Scalable Recognition with a Vocabulary Tree”,proc.of Computer Vision and Pattern Recognition,2006,和Schindler等人的“City-Scale Location Recognition”,Proc.of Computer Vision and patternRecognition,2007。)
上述实现方案可以采用在手机平台上,或者处理可以分布在手机和一个或更多远程服务提供商之间(或者它可以利用所有在手机外执行的图像处理来实现)。
已公开的专利申请WO07/130688涉及SIFT的基于手机的实现方案,其中本地描述符特征由手机处理器提取并被传送到远程数据库以便对照参考库来进行匹配。
尽管SIFT可能是用于产生鲁棒的本地描述符的最公知的技术,但也存在其它技术,它们可以取决于应用场合而具有更高或更低的适合度。这些包括GLOH(参看Mikolajczyk等人的“Performance Evaluationof Local Descriptors”,IEEE Trans.Pattern Anal.Mach.Intell.,Vol.27,No.10,pp.1615-1630,2005);和SURF(参看Bay等人的“SURF:Speeded Up Robust Features”,Eur.Conf.on Computer Vision(1),pp.404-417,2006);以及Chen等人的“Efficient Extraction of Robust ImageFeatures on Mobile Devices”,Proc.of the 6th IEEE and ACM Int.Symp.On Mixed and Augmented Reality,2007;和Takacs等人的“OutdoorsAugmented Reality on Mobile Phone Using Loxel-B ased Visual FeatureOrganization”,ACM Int.Conf.on Multimedia Information Retrieval,October 2008。Mikolajczyk等人的“A Performance Evaluation of LocalDescriptors”,IEEE Trans.On Pattern Analysis and Machine Intelligence,2005提供了本地描述符特征的综述。
Takacs的论文教导了通过将(从中提取匹配者的)参考图像的范围限制到例如在地理上靠近用户的当前位置(例如30米内)的那些参考图像来极大地提高图像匹配速度。申请人相信该范围可以有利地通过用户的选择或其它方式限制到专门的领域,诸如脸部、杂货店商品、房子等。
关于音频应用的更多说明
移动设备上的语音对话自然地定义了会话的构造,从而提供数量相当大的可以用来区分音频关键字向量处理的优先次序的元数据(主要是以识别出的呼叫者、地理位置等的形式表示的管理信息)。
如果接收到未伴随有呼叫者身份(CallerID)信息的呼叫,则这可以触发与仍在语音邮件中的过去的呼叫或者已经为其保存了关键字向量数据的过去的呼叫进行的语音模式匹配处理。(Google Voice是对识别或匹配目的潜在有用的语音数据的长期存储库。)
如果呼叫的始发地理位置可以被识别但它是不熟悉的号码(例如不在用户的联系人列表中也不是通常所接的号码),则可以在把始发地理位置考虑在内的情况下调用目的在于语音识别的功能单元。例如,如果是在外国,则可以启动该国语言的语音识别。如果接听者接听了呼叫,则同步的声音到用户本国语言的文本转换可以被启动并显示在屏幕上以协助对话。如果地理位置是国内,则可以允许调用地方性的方言/口音所特定的语音识别库以更好地应对拉长语调的南方口音或波士顿口音。
一旦对话已经启动,基于语音识别的提示就可以提供在手机屏幕上(或另一地方)。如果在该连接的远端的说话者开始特定话题的讨论,则本地设备可以使用所产生的文本来创建对参考站点(诸如Wikipedia)的自然语言询问,查看本地用户的日程表以检查是否有空,写出购物单等。
除了对会话期间的语音进行评价和处理外,其它音频也可以被分析。如果处于对话的远端的用户不能够或者选择不进行本地处理和关键字向量创建,则这可以在本地用户的手持机上完成,从而允许远程体验在本地共享。
应该清楚的是,上面的全部内容也适用于视频呼叫,在这种情况下音频和视觉信息都可以被分析并处理成关键字向量。
用于个体处理的公开图像
许多前面的讨论已经涉及由个人设备(诸如移动电话)拍摄的图像。然而,所讨论的原理和配置也可应用于其它图像。
考虑在拥挤的停车场中找出你停放的汽车的问题。停车场的经营者可能架设一个或更多杆架式照相机以从高处的有利位置拍摄停车场的图像。可以使这样的图像被普遍地(例如通过来自因特网的页面或文件下载)或者在本地(例如通过来自本地无线网络的页面或文件下载)被获得。个人可以从这样的照相机获得图像并分析该图像以用于他们个人的目的—诸如找出他们的汽车停放在哪里。例如,用户的移动电话可以下载一张或更多图像,并应用诸如上面描述的图像处理(机器视觉)技术以识别并因此找出用户的红色本田思域车(Honda Civic)在停车场内的位置(或者如果没有发现完美的匹配或者如果发现若干匹配,则识别若干候选位置)。
在变型配置中,用户的移动电话只是向(例如由停车场的经营者操作的)web服务提供表征所期望的汽车的数据模板。web服务随后分析可用的图像以识别匹配数据模板的候选汽车。
在一些配置中,照相机可以安装在可操纵的万向接头上,并且配备有变焦透镜,从而提供摇摄/俯仰/变焦控制。(一种这样的照相机是Axis 215 PTZ-E。)可以使这些控制对用户可用,从而允许用户操纵照相机从停车场的特定部分拍摄图像用于分析(我知道我停在Macy’s百货的旁边…),或者在其它图像的分析已经被执行时允许用户操纵照相机将镜头移向目标以更好地从候选匹配汽车当中进行区分。(为了防止滥用,照相机控制特权可以仅授予经授权的用户。一种建立授权的方法是用户保管当用户的车辆最初进入停车场时发布的停车单据。该单据可以被显示给用户的移动电话照相机并被分析(例如通过与停车场相关的服务器)以辨认表示用户在某一时间段(例如之前的12小时)内将车停在停车场内的印刷信息(例如字母数字、条形码、水印等)。)
作为由停车场经营者提供的杆架式照相机的替代(或者除此之外),类似的“找出我的车”功能可以通过使用众包图像来实现。如果个人用户各自具有处理由他们的移动电话拍摄的图像以找出他们各自的车辆的“找出我的车”应用程序,则以这种方式拍摄的图像可以为了其他人的利益而被分享。因此,用户“A”可能徘徊在过道中以搜寻特定的车辆,并且用户“B”可能在停车场的其它地方做同样的事情,并且来自每个人的图像供给可以被分享。因此,用户B的移动电话可能会在用户A的移动电话所拍摄的图像中找出B的汽车的位置。
这样收集的图像可以存储在可通过本地无线网络访问的档案库中,图像在设定的时间(例如两小时)后从该档案库中去除。合乎期望地,地理位置数据与每张图像相关联,使得与不同的用户拍摄的图像匹配的汽车可在物理上在停车场内发现。这样的图像档案库可以由停车场经营者(或者通过经营者与之签订合同的服务)来维护。可选地,图像可以来源于其它地方。例如,移动电话可以自动地或者响应于用户指令而张贴所拍摄的图像以将其存储在一个或更多在线档案库(诸如Flickr、Picasa等)中。用户的“找出我的车”应用程序可以向一个或更多这样的档案库询问在地理上最接近(诸如在用户或参考位置的某一距离内(诸如10或100码内)拍摄的图像或者描绘用户或参考位置的某一距离内(诸如10或100码内)的主题的图像)并且在时间上也最接近(例如在某一先前的时间间隔内(诸如在过去的10或60分钟内)拍摄)的图像。对这样的第三方图像的分析可以用来找出用户的汽车的位置。
稍微扩展一下视野,现在考虑可从中公开获得信息的世界上所有的照相机(激增的高速公路照相机仅是一个实例)被想象为只是不断变化的“数据”网页。(可以使来自照相机的私有网络(诸如安全照相机)的图像在具有某些隐私安全措施的情况下获得或者在对敏感信息进行了其它净化的情况下获得。)在过去,“数据”受“文本”支配,导致了关键词,导致了搜索引擎,导致了Google。然而,由于高度分布的照相机网络,最普遍的数据形式成为像素。再加上位置和时间数据,以及一些数据结构(例如以成为标准化的格式表示的关键字向量—其可以包括时间/位置)和在此详述的其它技术,用于一种新型搜索的平台得到了建立,在该新型搜索中,提供商对充满一些形式的关键字向量分类和时间/位置(两者都是基本上新的搜索成分)的、现在和过去的公开的视点的大型集合进行编辑和/或编目录(或做索引)。随着基于可视刺激和关键字向量属性的新的询问范式的出现,文本搜索显著地衰落。
其它评论
尽管已经参考说明性实例描述和举例说明了我们的发明工作的原理,但是应认识到的是,该技术并不限于此。
例如,尽管参考了手机,但是应认识到的是,这种技术可在各式各样的便携和固定设备中得到应用。PDA、管理器、便携音乐播放器、台式计算机、膝上型计算机、平板计算机、上网本、超轻便计算机、可佩戴式计算机、服务器等全都可以利用在此详述的原理。特别考虑的手机包括Apple iPhone和遵循Google的Android规范的手机(例如由HTC公司为T-Mobile制造的G1 phone)。术语“手机”(和“移动电话”)应该被解释为包括所有这样的设备,甚至是那些不是严格地被称为蜂窝和电话的设备。
(iPhone的细节(包括其触摸界面)在Apple的已公开的专利申请20080174570中有提供。)
在本公开中提及的手机和其它计算机的设计对于技术人员来说是熟悉的。一般地说,各自包括一个或更多处理器、一个或更多内存(例如RAM)、存储器(例如磁盘或闪存)、用户界面(其可以包括例如键盘、TFT LCD或OLED显示屏、触摸或其它手势传感器、照相机或其它光学传感器、罗盘传感器、3D磁力计、3轴加速度计、麦克风等,以及用于提供图形用户界面的软件指令)、这些元件之间的互连(例如总线)和用于与其它设备通信的接口(其可以是无线的(诸如GSM、CDMA、W-CDMA、CDMA2000、TDMA、EV-DO、HSDPA、WiFi、WiMax或蓝牙)和/或有线的(诸如通过以太局域网、T-1因特网连接等))。
本说明书中详述的配置也可以用在便携监测设备中,诸如PersonalPeople Meter(PPM)—为了受众调查目的而感测环境媒体的寻呼机大小的设备(参见例如Nielsen专利公开20090070797以及Arbitron专利6,871,180和7,222,071)。相同的原理也可以应用于可在线提供给用户的不同形式的内容。在这点上,参见Nielsen的专利申请20080320508,其详述了通过网络连接的媒体监测设备。
尽管本说明书早先提到其与受让人以前的专利申请的关系,但是这值得重复。这些公开应该被共同阅读并作为整体来解释。申请人的意思是每个申请中的特征应该与其它申请中的特征组合。因此,例如,申请12/271,772和12/490,980中公开的信号处理可以使用本说明书中详述的架构和云配置来实现,而在申请12/271,772和12/490,980中详述的众包数据库、封面流(cover flow)用户界面和其它特征可以结合在当前公开的技术的实施例中。等等。因此,应该理解的是,本申请中公开的方法、元素和概念应该与那些相关申请中详述的方法、元素和概念组合。尽管一些组合已经特别地在本说明书中进行了详述,但是许多组合还没有进行详述—由于置换和组合的数量很大。然而,根据所提供的教导,所有这样的组合的实现方案对于技术人员而言是直接了当的。
本说明书中公开的不同实施例中的元素和教导也意味着可被互换和组合。例如,图1-12的上下文中详述的教导可以用在图14-20的配置中,并且反之亦然。
本说明书中详述的处理和系统组件可以被实现为用于计算设备的指令,包括用于各种可编程处理器的通用处理器指令,所述可编程处理器包括微处理器、图形处理单元(GPU,诸如nVidia Tegra APX 2600)、数字信号处理器(例如德州仪器TMS320系列器件)等。这些指令可以实现为软件、固件等。这些指令也可以实现为各种形式的处理器电路,包括可编程逻辑器件、FPGA(例如著名的Xilinx Virtex系列器件)、FPOA(例如著名的PicoChip器件)和专用电路(包括数字、模拟和混合模拟/数字电路)。指令的执行可以分布在处理器之间和/或并行地跨越设备内的各处理器或跨越设备的网络。对内容信号数据的变换也可以分布在不同的处理器和存储器装置之间。对“处理器”或“模块”(诸如傅立叶变换处理器或FFT模块等)的提及应被理解为是指功能,而不是要求特定形式的实现。
对FFT的提及应该理解为也包括逆FFT和相关变换(例如DFT、DCT、它们各自的逆变换等)。
根据这里提供的描述,用于实现所详述的功能的软件指令可以容易地由技术人员编写,例如以C、C++、Visual Basic、Java、Python、Tcl、Perl、Scheme、Ruby等编写。根据本技术的某些实现方案的手机和其它设备可以包括用于执行不同功能和动作的软件模块。可以采用已知的人工智能系统和技术来作出上面提及的推断、推论和其它确定。
通常,每个设备包括向硬件资源和通用功能提供接口的操作系统软件,并且也包括可被选择性地调用以执行用户期望的特定任务的应用软件。已知的浏览器软件、通信软件和媒体处理软件可以得到适应以用于这里详述的许多用途。软件和硬件配置数据/指令通常被存储为可以跨越网络获得的、由有形媒介(诸如磁盘或光盘、存储卡、ROM等)传递的一个或更多数据结构中的指令。一些实施例可以实现为嵌入式系统—一种专用计算机系统,在该专用计算机系统中,操作系统软件和应用软件对用户来说是难以区分的(例如,如通常在基本手机中的情况那样)。本说明书中详述的功能可以以操作系统软件、应用软件来实现,和/或作为嵌入式系统软件来实现。
不同的功能可以实现在不同的设备上。例如,在手机与远程服务提供商的服务器通信的系统中,不同的任务可以专门由一个设备或另一设备来执行,或者该执行可以分布在设备之间。从图像中提取特征值数据仅是这种任务的一个实例。因此,应该理解的是,对由特定设备(例如手机)执行的操作的描述不是限制性的而是示例性的;操作的执行由另一设备(例如远程服务器)完成或者在设备之间分担也是被明确预期到的。(此外,多于两个设备可以被共同地采用。例如,服务提供商可以将一些任务(诸如图像搜索、对象分割和/或图像分类)提交给专用于这样的任务的服务器。)
(以类似的方式,对存储在特定设备上的数据的描述也是示例性的;数据可以存储在任何地方:本地设备、远程设备、云中、分布式等。)
操作不需要专门由可明确识别的硬件来执行。而是,一些操作可以向外提交给其它服务(例如云计算),这些其它服务通过另外的通常匿名的系统来处理它们的执行。这样的分布式系统可以是大规模的(例如涉及全球范围的计算资源),或者本地的(例如当便携设备通过蓝牙通信而识别附近的设备并使一个或更多附近设备卷入一个任务(诸如贡献来自本地地理位置的数据)中时;在这点上,参见Beros的专利7,254,406。)
类似地,尽管某些功能已经被详述为由某些模块(例如控制处理器模块36、管道管理器51、图7的询问路由器和响应管理器等)执行,但是在其它实现方案中,这样的功能可以由其它模块或者由应用软件(或者完全分发)来执行。
读者将注意到的是,某些讨论考虑大多数图像处理在手机上执行的配置。在这样的配置中,与用于图像处理任务相比,外部资源被更多地用作数据的源(例如Google)。这样的配置自然可以使用在其它节中讨论的原理来实践,在所述其它节中,对图像相关数据的一些或全部核心硬件处理被向外提交给外部处理器(服务提供商)。
同样,尽管本公开已经在说明性实施例中详述了动作的特定排序和元素的特定组合,但应认识到的是,其它预期到的方法可以对动作进行重新排序(可能省略一些动作并增加其它一些动作),并且其它预期到的组合可以省略一些元素并增加其它一些元素等。
尽管被公开为完整的系统,但是详述的配置的子组合也可分别预期到。
在说明性实施例中通常参考因特网。在其它实施例中,包括计算机的私有网络在内的其它网络也可以被采用,或者作为替代者使用。
读者将注意到的是,当提到类似或相同的组件、处理等时,有时使用了不同的名称。这部分地是由于本专利说明书是在接近一年的时间内写成的—术语随着时间而变化。因此,例如,“可视询问分组”和“关键字向量”都可以指代同样的东西。对于其它术语而言也类似是这样。
在一些模式下,采用本技术的一些方面的手机可以被认为是观测性状态机。
尽管主要是在执行图像拍摄和处理的系统的背景环境中进行详述,但是对应的配置可同等地应用于捕获和处理音频的系统或者捕获和处理图像和音频的系统。
基于音频的系统中的一些处理模块自然可以不同。例如,音频处理通常依赖临界频带采样(根据人类听觉系统)。倒谱处理(功率谱的DCT)也频繁地使用。
一种示例性处理链可以包括带通滤波器以对麦克风捕获的音频进行滤波以便去除低频和高频,例如留下300-3000Hz的频带。随后可以是抽选级(例如将采样率从40K样本/秒降低到6K样本/秒)。随后可以是FFT。功率谱数据可以通过将来自FFT的输出系数求平方来计算(这些输出系数可以被分组以实现临界频带分割)。随后可以执行DCT以产生倒谱数据。这些操作的一部分可以在云中执行。来自这些级中的任何一级的输出可以发送到云以便应用诸如语音识别、语言翻译、匿名化(以不同的语音返回相同的发音)等处理。远程系统也可以对由用户说出并由麦克风捕获的命令作出响应,以便例如控制其它系统、提供由另一处理使用的信息等。
应认识到的是,所详述的对内容信号(例如图像信号、音频信号等)的处理包括对以各种物理形式呈现的这些信号进行变换。图像和视频(通过物理空间传播并描绘物理对象的电磁波的形式)可以使用照相机或其它拍摄设备从物理对象拍摄,或者通过计算设备产生。类似地,通过物理媒介传播的声压波可以使用音频换能器(例如麦克风)来捕获并转换成电子信号(数字或模拟形式)。尽管这些信号典型地以电子和数字形式被处理以实现上面描述的组件和处理,但是它们也可以以其它物理形式(包括电子的、光的、磁的和电磁波形式)被捕获、处理、转移和存储。内容信号在处理期间以各种方式并出于各种目的被变换,从而产生信号和相关信息的各种数据结构表示。继而,存储器中的数据结构信号被变换以便在搜索、分类、读取、写入和检索期间被操作。信号也被变换以便被捕获、转移、存储并经由显示器或音频换能器(例如扬声器)输出。
在一些实施例中,对所拍摄图像的适当响应可以参考存储在设备中的数据来确定,而不参考任何外部资源。(在许多操作系统中使用的注册数据库是可以规定对应于某些输入的响应相关数据的一个地方。)可选地,信息可以发送到远程系统以便让它确定响应。
上面未特别识别的图示出了说明性实施例的一些方面或所公开技术的一些细节。
从设备发送的信息可以是原始像素,或者是压缩形式的图像,或者是图像的变换后的对应物,或者是从图像数据中提取的特征/度量,等等。全部都可以被认为是图像数据。接收系统可以识别数据类型,或者数据类型可以明确地标识给接收系统(例如位图、特征向量、Fourier-Mellin变换数据等),并且该系统可以在决定如何处理时使用该数据类型作为其中一个输入。
如果传送的数据是完整的图像数据(原始的或以压缩形式),那么在处理系统所接收的分组中将基本上不存在重复—基本上每张照片都稍微有点不同。然而,如果始发设备对完整的图像执行处理以提取特征或度量等,那么接收系统可能有时会接收到与它早先遇到的分组相同的分组(或几乎相同的分组)。在这种情况下,对该“快照分组”(也称为“像素分组”或“关键字向量”)的响应可以从缓存调用,而不是重新确定。(如果用户偏好信息可获得并且可应用的话,响应信息可以根据用户偏好信息来修改。)
在某些实施例中,可能会期望拍摄设备包括某种形式的生物统计认证,诸如与快门按钮集成在一起的指纹读取器,以确保已知用户正在操作系统。
一些实施例可以从不同的视角拍摄主体的若干图像(例如视频剪辑)。随后可以应用算法来合成被成像主题的3D模型。从这样的模型,可以推导出该主体的新视图,即可能更适合作为对所详述处理的刺激的视图(例如,避免遮住前景对象)。
在采用文字描述符的实施例中,有时期望用同义词、下位词(更具体的项)和/或上位词(更一般的项)来扩充描述符。这些可以从各种源(包括由普林斯顿大学编辑的WordNet数据库)获得。
尽管上面描述的许多实施例的背景环境是手机将图像数据提交到服务提供商从而触发相应的响应,但是该技术可更一般地得到应用—只要发生图像或其它内容的处理。
本公开的焦点在图像上。但是该技术对于音频和视频也是有用的。所详述的技术对于用户产生内容(UGC,User Generated Content)站点(诸如YouTube)特别有用。视频常常在具有很少元数据或没有元数据的情况下被上传。各种技术被应用以便以不同的不确定度来识别元数据(例如读取水印;计算指纹、人类评论者等),并且该识别元数据被存储。进一步的元数据基于观看视频的用户的概况而得到积累。再进一步的元数据可以从之后用户贴出的有关视频的评论中收获。(申请人希望本技术被包括在其中的UGC相关配置在已公开的专利申请20080208849和20080228733(Digimarc)、20080165960(TagStory)、20080162228(Trivid)、20080178302和20080059211(Attributor)、20080109369(Google)、20080249961(Nielsen)以及20080209502(MovieLabs)中有详述。)通过类似于在此详述的配置的配置,适当的广告/内容配对可以被收集,并且对用户体验的其它增强可以得到提供。
类似地,该技术可以与由用户设备捕获的音频以及对所捕获语音的识别一起使用。从任何捕获的信息中收集的信息(例如OCR所得的文本、解码出的水印数据、识别出的语音)可以用作元数据以用于在此描述的各种目的。
该技术的多媒体应用也是预期到的。例如,图像可以被模式匹配或GPS匹配以在Flickr中识别一组相似图像。元数据描述符可以从该组相似图像中收集并被用来询问包括音频和/或视频的数据库。因此,用户拍摄并提交阿巴拉契小道上的路标的图像(图38)可以触发从Aaron Copeland的“Appalachian Spring(阿巴拉契之春)”管弦乐组曲中下载音轨到用户的手机或家庭娱乐系统。(关于将内容发送到可能与用户相关的不同目的地,参见例如专利公开20070195987。)
本文反复提到了GPS数据。这应该被理解为任何位置相关信息的速记;它不需要从全球定位系统的卫星群得到。例如,另一种适合于产生位置数据的技术依赖通常在设备之间交换的无线电信号(例如WiFi、蜂窝等)。给定若干通信设备,信号自身以及控制这些信号的不完美的数字时钟信号形成一个参考系统,从该参考系统中可以抽取均高度准确的时间和位置。这样的技术在早期公开的国际专利公开WO08/073347中有详述。技术人员将熟悉若干其它位置估计技术,包括那些基于到达时间技术的位置估计技术,以及那些基于(由Rosum提供的)广播无线电和电视塔和(由Skyhook Wireless提供并用在iPhone中的)WiFi节点的位置的位置估计技术,等等。
尽管地理位置数据通常包括纬度和经度数据,但是它可以可选地包括更多、更少或不同的数据。例如,它可以包括方向信息(诸如由磁力计提供的罗盘方向,或者由陀螺仪或其它传感器提供的倾斜方向)。它还可以包括诸如由数字测高仪系统提供的高程信息。
本文提到了Apple的Bonjour软件。Bonjour是零配置网络(Zeroconf)的Apple实现方案,是一种服务发现协议。Bonjour使用多点传送域名系统服务记录来定位本地网络上的设备并识别它们各自提供的服务。该软件被内置到Apple MAC OS X操作系统中,并且也被包含在用于iPhone的Apple“Remote(远程)”应用程序中—在这里它被用来通过WiFi建立与iTunes库的连接。Bonjour服务使用标准TCP/IP呼叫而被大部分实现在应用层上,而不是实现在操作系统中。Apple已经使Bonjour多点传送DNS响应器的源代码(其是服务发现的核心组成部分)可作为达尔文开源项目被获得。该项目提供源代码以便为大范围的平台(包括Mac OS X、Linux、*BSD、Solaris和Windows)建立响应器守护程序(daemon)。另外,Apple提供了被称作Bonjour for Windows的用户可安装的一组服务,以及Java库。Bonjour可以用在本技术的各种实施例中,包括设备和系统之间的通信。
(其它软件可以可选地或附加地被用来在设备之间交换数据。实例包括通用即插即用(UPnP)及其后继者Devices Profile for WebServices(用于web服务的设备概要,DPWS)。这些是实现零配置网络服务的其它协议,通过这些协议,设备可以连接、识别自己、宣传可用于其它设备的能力、分享内容等。)
如早先提及的那样,人工智能技术可以在本技术的实施例中起到重要作用。最近进入该领域的进入者是Wolfram Research的WolframAlpha产品。Alpha通过参考策划数据(curated data)的知识库来计算对结构化输入做出响应的答案和可视化。从这里详述的元数据分析或语义搜索引擎收集的信息可以被呈现给Wolfram Alpha产品以把响应信息提供回给用户。在一些实施例中,用户被牵扯到该信息提交过程中,诸如通过从系统收集的项和其它原词构造出询问,通过从系统所编写的不同询问的菜单当中选择,等等。附加地或者可选地,来自Alpha系统的响应信息可以作为对其它系统(诸如Google)的输入来提供,以识别更多的响应信息。Wolfram的专利公开20080066052和20080250347进一步详述了该技术的各方面。
另一最近的技术引入是Google Voice(基于早先的风险企业的GrandCentral产品),其向传统的电话系统提供了大量改进。这样的特征可以与本技术的某些实施例结合使用。
例如,由Google Voice提供的语音到文本转录服务可以被采用以便使用用户手机中的麦克风从说话者的环境中捕获环境声音,并产生相应的数字数据(例如ASCII信息)。系统可以将这样的数据提交给服务(诸如Google或Wolfram Alpha)以获得相关信息,系统可以随后将该相关信息提供回给用户(或者通过屏幕显示,或者通过语音)。类似地,由Google Voice提供的语音识别可以用来向手机设备提供对话用户界面,由此这里详述的技术的一些特征可以通过说出的语言而被选择性地调用和控制。
在另一方面中,当用户用手机设备捕获内容(听觉或视觉内容)并且采用本公开技术的系统返回响应时,响应信息可以从文本转换成语音,并被递送给用户在Google Voice中的语音邮件账户。用户可以从任何电话或从任何计算机访问该数据存储库。所存储的语音邮件可以以其听得见的形式回顾,或者用户可以选择回顾例如呈现在手机或计算机屏幕上的文字对应物作为替代。
(Google Voice技术的各方面在专利申请20080259918中有详述。)
超过一个世纪的历史已经使用户习惯于把电话看作是在点A接收音频并将该音频递送到点B的通信设备。然而,可以采用本技术的各方面来获得非常不同的效果。音频输入、音频输出可能会变成过时的范式。根据本技术的某些方面,电话也是在点A接收图像(或其它刺激),从而导致文字、语音、数据、图像、视频、气味或其它感官体验被递送到点B的通信设备。
作为使用现在详述的技术作为询问设备(单个电话既充当输入设备又充当输出设备)这一方案的替代,用户可以命令:对询问做出响应的内容应被递送到一个或若干个目的地系统—其可以包括或者可以不包括始发电话。(接收者可以通过已知的UI技术(包括键盘输入、滚动接收者菜单、语音识别等)来选择。)
该使用模型的简单例证是使用手机来拍摄盛开的玫瑰植物的照片的人。响应于用户的指令,通过该特定品种的玫瑰的合成气味而得到增强的照片被递送给该用户的女朋友。(用于装备计算机设备以散发可编程的气味的配置是已知的,例如由Digiscents提供的iSmell以及在专利文献20080147515、20080049960、20060067859、WO00/15268和WO00/15269中详述的技术)。由一位用户在一个位置捕获的刺激可以导致不同但是相关的体验刺激被递送到处于不同位置的不同用户。
如提到的那样,对可视刺激的响应可以包括呈现在手机屏幕上的一个或更多图形叠加物(小玩意)—叠加在来自手机照相机的图像数据上面。叠加物可以在几何学上与图像数据中的特征注册在一起,并且与图像中描绘的对象的仿射畸变相对应地发生仿射畸变。图形特征可以用来引起对小玩意的注意,诸如从该区域发出的火星或者闪烁/移动视觉效果。这样的技术在例如Digimarc的专利公开20080300011中有进一步详述。
这样的图形叠加物可以包括菜单特征,用户可与这些菜单特征进行交互以执行期望的功能。附加地或可选地,叠加物可以包括一个或更多图形用户界面控制。例如,若干不同的对象可以在照相机的视场内被识别。与每个对象相关联的叠加物可以是一图形,用户可触摸该图形以获得与该相应对象相关的信息或者触发与该相应对象相关的功能。叠加物可以被认为是视觉标记—把注意力吸引到可通过用户与这样的图形特征的交互(例如,诸如通过用户用手指或指示笔轻拍屏幕的该位置或者在该区域画圈,等等)来访问的信息的可用性上。当用户改变照相机的视角时,不同的小玩意可以出现—跟踪不同对象在下面的真实世界图像中的移动,并邀请用户探索相关的辅助信息。同样,如果叠加物在被仿射投影到相关的真实世界特征上时是恰当的,那么叠加物合乎期望地在正射方面也是恰当的。(在真实世界中被成像的主体的姿态估计(从该姿态估计可确定叠加物的适当的空间注册)合乎期望地在本地执行,但是可以取决于应用而被提交给云。)
对象可以通过上面详述的操作而被识别、被跟踪和作为反馈提供。例如,本地处理器可以执行对象解析和最初的对象识别(例如盘点原型对象)。云处理可以完成识别操作并提供适当的交互入口,该交互入口被正射地注册到显示场景上(该注册可以通过本地处理器或者通过云来执行)。
在一些方面中,应认识到的是,本技术可以在手机上充当去往真实世界的图形用户界面。
在早期的实现方案中,所描述的种类的通用视觉询问系统将相对笨重并且没有展示出许多洞察力。然而,通过将关键字向量数据的滴流(或洪流)(连同有关基于这样的数据的用户动作的信息一起)馈送回给云以进行存档和分析,那些早期的系统可以建立数据基础,从该数据基础可以建立模板和其它训练模型—使随后的各代这种系统在被呈现可视刺激时能够有高度直觉性和响应性。(所述滴流可以由本地设备上的子程序来提供,该子程序偶尔地抓取少量有关用户如何用设备进行工作、做什么工作、不做什么、用户基于哪种刺激做了什么样的选择、所涉及的刺激等的信息,并将这些信息馈送给云。)
本文提到了触摸屏界面—一种形式的手势界面。可在某些实施例中使用的另一种形式的手势界面通过感测手机的移动(通过跟踪所拍摄图像内的特征的移动)来工作。Digimarc的专利6,947,571详述了关于这种手势界面的进一步的信息。
水印解码可以用在某些实施例中。用于对水印进行编码/解码的技术在例如Digimarc的专利6,614,914和6,122,403,Nielsen的专利6,968,564和7,006,555,以及Arbitron的专利5,450,490、5,764,763、6,862,355和6,845,360中有详述。
Digimarc具有与本主题相关的各种其它专利申请。参见例如专利公开20070156726、20080049971和20070266252以及Sharma等人在2008年5月22日提交的未决申请12/125,840。
Google的图书扫描专利7,508,978详述了在本上下文中有用的一些原理。例如,7,508,978专利教导:通过将参考图案投影到非平面表面上,表面的拓扑可以被辨认。从该表面拍摄的图像可以随后被处理以将其重新归一化,以便看起来像是发源于平坦页面。这样的重新归一化也可以与这里详述的对象识别配置结合使用。类似地,详述了对与下一代电视交互的洞察的Google的专利申请20080271080也详述了在与现在详述的技术结合时有用的原理。
音频指纹化的实例在专利公开20070250716、20070174059和20080300011(Digimarc),20080276265、20070274537和20050232411(Nielsen),20070124756(Google),7,516,074(Auditude),以及6,990,453和7,359,889(两者属于Shazam)中有详述。图像/视频指纹化的实例在专利公开7,020,304(Digimarc),7,486,827(Seiko-Epson),20070253594(Vobile),20080317278(Thomson)和20020044659(NEC)中有详述。
尽管所详述的技术的某些方面涉及处理大量的图像以收集信息,但是应认识到的是,相关结果可以通过让许多人(和/或自动处理)考虑单张图像(例如众包)来获得。更大量的信息和效用可以通过将这两种通常的方法组合来实现。
举例说明意味着是示例性的而不是限制性的。例如,当可以使用单个数据库时,所举的例子有时会示出多个数据库(并且反之亦然)。同样,所描绘的单元之间的一些连接为了清晰明了而并没有示出。
在全部详述的实施例中都可以使用语境数据来进一步增强操作。例如,处理可以取决于:始发设备是手机还是台式计算机;环境温度是30还是80;用户的位置和表征用户的其它信息,等等。
尽管详述的实施例常常在手机屏幕上将候选结果/动作呈现为一系列缓存的显示,并且用户可以在这些缓存的显示之间快速地切换,但在其它实施例中情况不需要是这样。可以使用给出结果的菜单的、更传统的单屏呈现,并且用户可以按下键盘的数字或者加亮所期望的选项以作出选择。或者带宽可以充分地提高,使得同一用户体验可以在不需要在本地缓存或缓冲数据、而是让它根据需要被递送给手机的情况下得到提供。
基于地理的数据库方法在例如Digimarc的专利公开20030110185中有详述。用于航行通过图像集和执行搜索的其它配置在专利公开20080010276(Executive Development Corp.)和20060195475、20070110338、20080027985、20080028341(Microsoft’s Photosynth work)中示出。
不可能对在此描述的技术的无数变型和组合明确地编出目录。申请人认识到并且希望本说明书的概念可以被组合、替换和互换—既包括在它们自己之间被组合、替换和互换,又包括与从所引用的现有技术获知的那些概念组合、替换和互换。此外,应认识到的是,所详述的技术可以与(当前的和即将出现的)其它技术被包括在一起以获得有利效果。
读者被假定熟悉这里引用的文献(包括专利文献)。为了提供全面的公开而不会过度地使本说明书变长,申请人通过引用把上面参考的这些文献结合在本文中。(这些文献的全部内容被结合在本文中,即使上面是结合它们的特定教导来引用的。)这些参考文献公开了可以结合到在此详述的配置中并且在此详述的技术和教导可以结合到其中的技术和教导。
如将认识到的那样,本说明书已经详述了大量的新颖配置。(由于实际限制,许多这样的配置还没有在本申请的原始提交时被要求保护,但是申请人意图在要求优先权的后续申请中要求保护这样的其它主题。)下面的段落回顾了一些创造性配置的不完全样本:
一种用于处理由用户移动设备的传感器捕获的刺激的配置,其中,一些处理任务可以在设备中的处理硬件上执行,并且另一些处理任务可以在远离设备的一个处理器或多个处理器上执行,并且,基于对从一组因素中取出的两个或更多不同因素的考虑、以自动的方式来作出有关第一任务应在设备硬件上执行还是在远程处理器上执行的决定,所述一组因素至少包括:移动设备功耗考虑因素;所需的响应时间;路由限制;移动设备内的硬件资源的状态;连接状态;地理考虑因素;管道停顿的风险;有关远程处理器的信息,包括其备用状态、处理速度、成本和对移动设备的用户的重要性的属性;以及该任务与其它处理任务的关系;其中在一些情况下,第一任务在设备硬件上执行,并且在另一些情况下,第一任务在远程处理器上执行。此外,在这样的配置中,基于取决于与至少一些所列出的考虑因素相关的参数的组合的分数来做出决定。
一种用于处理由用户移动设备的传感器捕获的刺激的配置,其中,一些处理任务可以在设备中的处理硬件上执行,并且另一些处理任务可以在远离设备的一个处理器或多个处理器上执行,并且,基于对从一组因素中取出的两个或更多不同因素的考虑、以自动的方式来作出一组任务应该被执行的顺序,所述一组因素至少包括:移动设备功耗考虑因素;所需的响应时间;路由限制;移动设备内的硬件资源的状态;连接状态;地理考虑因素;管道停顿的风险;有关远程处理器的信息,包括其备用状态、处理速度、成本和对移动设备的用户的重要性的属性;以及该任务与其它处理任务的关系;其中在一些情况下,所述一组任务以第一顺序执行,并且在另一些情况下,所述一组任务以不同的第二顺序执行。此外,在这样的配置中,基于取决于与至少一些所列出的考虑因素相关的参数的组合的分数来做出决定。
一种用于处理由用户移动设备的传感器捕获的刺激的配置,其中,一些处理任务可以在设备中的处理硬件上执行,并且另一些处理任务可以在远离设备的一个处理器或多个处理器上执行,并且,基于对从一组因素中取出的两个或更多不同因素的考虑、以自动的方式来确定采用分组在处理任务之间传递数据以及分组的内容,所述一组因素至少包括:移动设备功耗考虑因素;所需的响应时间;路由限制;移动设备内的硬件资源的状态;连接状态;地理考虑因素;管道停顿的风险;有关远程处理器的信息,包括其备用状态、处理速度、成本和对移动设备的用户的重要性的属性;以及该任务与其它处理任务的关系;其中在一些情况下,分组可以包括第一形式的数据,并且在另一些情况下,分组可以包括第二形式的数据。此外,在这样的配置中,基于取决于与至少一些所列出的考虑因素相关的参数的组合的分数来做出决定。
一种配置,其中,场所通过网络向用户提供数据服务,并且网络被配置成阻止用户在该场所中时使用电子成像。此外,在这样的配置中,通过将来自用户设备的数据传输限制到该网络外部的某些数据处理提供商来实现所述阻止。
一种配置,其中,具有图像捕获能力的移动通信设备包括用于执行第一操作的管道化的处理链,和具有通过对图像数据执行第二操作来测试图像数据的模式的控制系统,第二操作在计算上比第一操作简单,并且仅当第二操作产生第一类型的输出时,控制系统将图像数据应用于管道化的处理链。
一种配置,其中,移动电话配备有GPU以便于再现用于在移动电话屏幕上显示的例如用于游戏的图形,并且GPU也被用于机器视觉目的。此外,在这样的配置中,机器视觉目的包括面部识别。
一种配置,其中,由不同的个人维护的多个在社交上联系起来的移动设备合作执行机器视觉操作。此外,在这样的配置中,第一设备执行从图像中提取脸部特征的操作,并且第二设备执行对第一设备产生的提取出的脸部特征的模板匹配。
一种配置,其中,对来自输入的视频或电话呼叫的音频执行语音识别操作以识别呼叫者。此外,在这样的配置中,仅当输入的呼叫没有被CallerID数据识别时,执行语音识别操作。此外,在这样的配置中,语音识别操作包括对与一个或更多早先存储的语音消息相对应的数据的参考。
一种配置,其中,来自输入的视频或电话呼叫的语音被识别,并且当呼叫在进行中时,产生与语音相对应的文本数据。此外,在这样的配置中,输入的呼叫与特定的地理位置相关联,并且这样的地理位置在识别语音的过程中被考虑。此外,在这样的配置中,文本数据被用来向数据结构询问辅助信息。
一种配置,用于把来源于本地和云处理的叠加小玩意填充到移动设备屏幕上。此外,在这样的配置中,叠加小玩意根据用户偏好信息而被调谐。
一种配置,其中,可视询问数据在用户移动设备和云资源之间以分布式方式被处理以产生响应,并且相关信息被存档在云中并被处理使得后续的可视询问数据能够产生更直观的响应。
一种配置,其中,用户可以(1)因为数据处理服务而被供应商收费,或者可选地(2)可以在用户采取了与供应商相关的某种动作的情况下被免费地提供服务或者甚至从供应商接收积分。
一种配置,其中,作为被呈现推销内容(其由用户搬运的移动设备感测)的交换,用户接收商业利益。
一种配置,其中,由于第一用户和第二方之间的社交网络连接,第一用户允许第二方消费第一用户的积分或者允许引起的费用由第一用户承担。此外,在这样的配置中,社交网络的网页是一种构造,第二方必须与这种构造交互以花费这样的积分或者引起这样的费用。
一种用于慈善筹款的配置,其中,用户与和慈善事业相关联的物理对象交互,以触发便于用户向慈善团体捐赠的计算机相关处理。
一种便携设备,其接收来自一个或更多物理传感器的输入,采用一个或更多本地服务的处理,并且也采用一个或更多远程服务的处理,其中设备中的软件包括一个或更多抽象层,通过该抽象层,所述传感器、本地服务和远程服务通过接口连接到设备架构,从而便于操作。
一种便携设备,其接收来自一个或更多物理传感器的输入,处理该输入并将结果封装成关键字向量形式,并从设备传送该关键字向量形式。此外,在这样的配置中,设备从关键字向量被传送到的远程资源接收回与该关键字向量对应的进一步处理过的对应物。此外,在这样的配置中,关键字向量形式根据与语境相一致地暗示出的一个或更多指令,在便携设备或远程设备上被处理。
一种用于对移动设备感测的物理刺激作出响应的分布式处理架构,该架构采用移动电话上的本地处理和远程计算机上的远程处理,这两个处理通过分组网络和处理间通信构造来连接,该架构也包括不同处理可借以通信的协议,该协议包括具有消息队列或冲突处理配置的消息传递范式。此外,在这样的配置中,用于一个或更多物理传感器组件的驱动软件以分组形式提供传感器数据并将分组放在与该传感器唯一相关或者多个组件共用的输出队列上;其中,除非分组将在远程被处理(在这种情况下,分组通过路由器配置被指引给远程处理),否则本地处理对分组进行操作并将所得到的分组放回到队列上。
一种配置,其中,与特定物理场所相关联的网络适于通过参考网络上的业务流来自动地辨认来到该场所的一组访问者是否具有社会联系。此外,这样的配置也包括辨认该群体的人口统计特征。此外,在这样的配置中,网络便于在被辨认为具有社会联系的访问者之间进行即兴连网。
一种配置,其中,包括公共场所处的计算机资源的网络根据访问所述场所的用户的行为的预测模型而被动态地重新配置。此外,在这样的配置中,网络的重新配置是部分地基于语境。此外,在这样的配置中,网络的重新配置包括缓存某些内容。此外,在这样的配置中,重新配置包括再现合成的内容并将其存储在一个或更多计算机资源中以使该合成的内容可被更快速地获得。此外,这样的配置包括在预期到来自用户的业务流的暂时增加的情况下,对时间不敏感的网络业务流进行节流。
一种配置,其中,广告与真实世界内容相关联,并且收费因此基于对(如用户移动电话中的传感器所指示的)所述内容的受众量(exposure)的调查来评估。此外,在这样的配置中,被收费的内容是通过使用自动拍卖配置来设置的。
一种包括公共场所中的两个主体的配置,其中,在所述主体上的照明基于靠近该主体的人的属性而被不同地改变。
一种配置,其中,内容被呈现给公共场所中的人,并且在被呈现的内容和辅助内容之间存在链接,其中根据内容被呈现给的人的人口统计属性来改变所链接的辅助内容。
一种配置,其中,与一个人对公共场所的访问相关联地向这个人授予对某些内容的临时电子许可证。
一种配置,其中,移动电话包括连接到人类视觉系统处理部和机器视觉处理部的图像传感器,其中图像传感器在不经过人类视觉系统处理部的状态下连接到机器视觉处理部。此外,在这样的配置中,人类视觉系统处理部包括白平衡校正模块、伽马校正模块、边缘增强模块和/或JPED压缩模块。此外,在这样的配置中,机器视觉处理部包括FFT模块、边缘检测模块、模式提取模块、Fourier-Mellin处理模块、纹理分类器模块、颜色直方图模块、运动检测模块和/或特征识别模块。
一种配置,其中,移动电话包括图像传感器和用于处理图像相关数据的多个级,其中采用数据驱动式分组架构。此外,在这样的配置中,分组的信头中的信息确定将被图像传感器应用在最初捕获的图像数据中的参数。此外,在这样的配置中,分组的信头中的信息确定多个级将对分组的主体中传递的图像相关数据执行的处理。
一种配置,其中,移动电话与一个或更多远程处理器合作执行图像相关处理。此外,在这样的配置中,移动电话将图像相关数据封装成多个分组,这多个分组中的至少一些包括少于单帧的图像数据。此外,在这样的配置中,移动电话对某些图像相关数据进行路由以由移动电话内的处理器处理,并且对某些图像相关数据进行路由以由远程处理器处理。
一种配置,其中,移动电话与远程路由系统协作,远程路由系统用来分配来自移动电话的图像相关数据以便由不同的远程处理器处理,并从所述处理器收集处理过的图像相关数据以返回到移动电话。此外,一种配置,其中移动电话包括内部路由系统,其用来将图像相关数据分配到移动电话内部的一个或更多处理器以进行处理,或者分配到远程路由系统以便由远程处理器处理。
一种配置,其中,来自移动电话的图像相关数据被提交给远程处理器进行处理,其中远程处理器通过涉及多个远程处理器的自动评估来选择。此外,在这样的配置中,评估包括反向拍卖。此外,在这样的配置中,来自所选择的远程处理器的输出数据被返回到移动电话。此外,在这样的配置中,图像相关数据在被发送到所选择的处理器之前由移动电话中的处理模块处理。此外,在这样的配置中,来自移动电话的其它图像相关数据被提交给与所选择的处理器不同的远程处理器。
一种配置,其中,图像数据被存储在多平面数据结构的至少一个平面中,并且与该图像数据相关的元数据的图形表示被存储在该数据结构的另一平面中。此外,在这样的配置中,元数据包括从该图像数据中得到的边缘图数据。此外,在这样的配置中,元数据包括有关在图像数据中识别出的脸部的信息。
一种配置,其中,配备有照相机的移动电话显示表示以下信息中的至少一种的数据:(1)从水平面的旋转;(2)自从早先时间以来的旋转;以及(3)自从早先时间以来的缩放比例变化,其中所显示的数据通过参考来自照相机的信息来确定。
一种配置,其中,配备有照相机的移动电话包括第一和第二并行处理部,第一处理部处理图像数据以使其再现成供人类观察者使用的感知形式,并且包括去马赛克处理器、白平衡校正模块、伽马校正模块、边缘增强模块和JPEG压缩模块中的至少一个,第二处理部分析图像数据以从中得出语义信息。
一种配置,其中,与主体相关的两个或更多维度的信息被呈现在移动电话的屏幕上,其中第一用户界面控制的操作呈现提供与主体相关的第一维度的信息的一序列屏幕显示,并且第二用户界面控制的操作呈现提供与主体相关的第二维度的信息的一序列屏幕显示。此外,在这样的配置中,当呈现该主体的屏幕被显示时,可以通过操作用户界面控制来改变该主体。此外,在这样的配置中,主体是图像,并且第一维度包括在(1)地理位置、(2)外观或(3)描述内容的元数据中的一个方面与图像的相似性,并且第二维度是在所述(1)、(2)或(3)中的另一方面与图像的相似性。
一种用于在配备有照相机的便携设备上编写文本消息的配置,其中,沿第一方向倾斜设备会滚动一序列显示图标(每个显示图标表示字母表的多个字母),并且随后从这多个字母中进行选择。此外,这样的配置包括沿第二方向倾斜设备以在多个字母当中进行选择。此外,在这样的配置中,通过参考由照相机捕获的图像数据来感测倾斜。此外,在这样的配置中,不同特征的倾斜被赋予不同的含义。
一种配置,其中,配备有照相机的移动电话充当状态机,基于先前获取的图像相关信息来改变其功能的一方面。
一种配置,其中,与配备有处理器的设备相对应的标识信息被识别并被用来识别相应的应用软件,该应用软件随后被用来对移动电话设备的操作进行编程,其中被编程的移动设备充当用于设备的控制器。此外,在这样的配置中,设备是恒温器、停车计时器、闹钟或车辆。此外,在这样的配置中,移动电话设备捕获设备的图像,并且该软件使用于设备的用户界面被呈现为叠加在所捕获图像上的图形叠加物(任选地,以与设备在所捕获图像中的位置或姿态相对应的位置或姿态来呈现图形叠加物)。
一种配置,其中,移动电话的屏幕呈现用于分立的设备的一个或更多用户界面控制,其中屏幕上的用户界面控制与电话所捕获的分立设备的图像组合呈现。此外,在这样的配置中,用户界面控制被用来发布与分立设备的控制相关的指令,其中当指令待解决时屏幕以第一方式发出与该指令相对应的信息,并且在该指令已经被成功执行时,以第二方式发出与该指令相对应的信息。
一种配置,其中,当电话在物理上与分立设备接近时,呈现在移动电话的屏幕上的用户界面被用来对与该设备的处理进行初始化,并且移动电话之后被用于与分立设备无关的目的,并且再之后用户界面被再调用到移动电话的屏幕上以从事与该设备的进一步处理。此外,在这样的配置中,当移动电话远离该设备时,用户界面被再调用以从事与该设备的进一步处理。此外,在这样的配置中,设备包括停车计时器、车辆或恒温器。
一种配置,其中,移动电话呈现允许在与不同的设备相对应的若干用户界面之间进行选择的用户界面,使得电话可以用于与多个分立设备进行交互。
一种配置,其包括使用移动电话从通过网络连接的设备的外壳感测信息,并通过使用这样的信息,使用与该设备相对应的密钥来对信息进行加密。
一种配置,其中,移动电话被用来从配备有无线设备的设备感测信息,并从移动电话传送相关信息,其中所传送的数据用来确认用户与设备的接近度。此外,在这样的配置中,在允许用户使用移动电话与设备交互之前需要这样的接近度。此外,在这样的配置中,所感测的信息是模拟信息。
一种采用便携电子设备和可重新配置的硬件的配置,其中,当被初始化以准备好供使用时,用于硬件的更新后的配置指令从远程源无线地下载并被用来配置可重新配置的硬件。
一种配置,其中,无线电系统基站的硬件处理组件被用来处理与在基站和多个相关联的远程无线设备之间交换的无线电信号相关的数据,并且也被用来处理由照相机设备卸到无线电基站上以便进行处理的图像相关数据。此外,在这样的配置中,硬件处理组件包括一个或更多现场可编程对象阵列,并且远程无线设备包括移动电话。
一种配置,其中,光学畸变函数被表征,并被用来定义光学畸变图像随后被投影到的相应的虚拟校正表面的几何结构,该几何结构使所投影图像的畸变被抵消。此外,一种配置,其中图像被投影到虚拟表面上,该虚拟表面的拓扑被成形为抵消图像中存在的畸变。此外,在这样的配置中,畸变包括由透镜引入的畸变。
一种配置,其中,无线站接收来自移动设备的服务预留消息,该消息包括移动设备请求不是立刻而是在未来的某个时间可获得的未来服务的一个或更多参数;并且无线站部分地基于从第一移动设备接收的服务预留消息来决定提供给第二移动设备的服务,使得由于有关预期服务的超前信息被提供给第一移动设备,而使无线站的资源分配得到改进。
一种配置,其中,热电冷却设备被连接到移动电话中的图像传感器,并被选择性地激活以减少所捕获图像数据中的噪声。
一种配置,其中,移动电话包括第一和第二无线连接部,第一无线连接部包括光学传感器和透镜组件并适于在与用户的身体有关的第一位置处携带,第二无线连接部包括显示器和用户界面并适于在不同的第二位置处携带。此外,在这样的配置中,第二无线连接部适于可拆卸地收容第一无线连接部。
一种配置,其中,移动电话包括第一和第二无线连接部,第一无线连接部包括可拆卸地连接到第二无线连接部的LED照明组件,第二无线连接部包括显示器、用户界面、光学传感器和透镜,其中第一无线连接部可以从第二无线连接部上拆卸下来并被定位成照明被第二无线连接部的光学传感器成像的主体。
一种配置,其中,配备有照相机的移动电话通过对多个处理级的选择来处理图像数据,其中对一个处理级的选择取决于从前一处理级输出的处理后的图像数据的属性。
一种配置,其中,在配备有照相机的移动电话中采用不同的图像处理级之间的条件分支。此外,在这样的配置中,处理级对分组数据作出响应,并且条件分支指令在分组数据中传递。
一种配置,其中,配备有照相机的移动电话中的GPU被用来处理由照相机捕获的图像数据。
一种配置,其中,配备有照相机的移动设备感测照明的时间变化,并在其工作过程中将这样的变化考虑在内。此外,在这样的配置中,照相机预测随时间变化的照明的未来状态,并且在所述照明预期具有期望的状态时捕获图像数据。
一种配置,其中,配备有照相机的移动电话配备有两个或更多照相机。
一种配置,其中,移动电话配备有两个或更多投影仪。此外,在这样的配置中,投影仪交替地将图案投射在表面上,并且所投射的图案由移动电话的照相机部感测并被用来辨认拓扑信息。
一种配置,其中,配备有照相机的移动电话配备有将图案投射到随后由照相机捕获的表面上的投影仪,其中移动电话可以辨认有关表面的拓扑的信息。此外,在这样的配置中,辨认出的拓扑信息被用来辅助识别对象。此外,在这样的配置中,辨认出的拓扑信息被用来对照相机所捕获的图像信息进行归一化。
一种配置,其中,移动电话的照相机部和投影仪部共享至少一个光学部件。此外,在这样的配置中,照相机部和投影仪部共享透镜。
一种配置,其中,配备有照相机的移动电话采用分组架构来在多个处理模块之间路由图像相关数据。此外,在这样的配置中,分组额外地传递处理模块对其作出响应的指令。此外,在这样的配置中,电话的图像传感器对将图像捕获指令传递给它的分组作出响应。
一种配置,其中,配备有照相机的移动电话的图像捕获系统根据提供给它的自动指令,输出相继的第一和第二组不同类型的数据。此外,在这样的配置中,相继的数据组在尺寸或颜色或分辨率方面不同。
一种配置,其中,配备有照相机的移动电话捕获一序列可视数据组,其中在捕获一组数据时使用的参数取决于对先前捕获的数据组的分析。
一种配置,其中,配备有照相机的移动电话将图像相关数据发送到多个相互竞争的基于云的服务进行分析。此外,在这样的配置中,分析包括面部识别、光学字符识别或FFT操作。此外,这样的配置包括基于规则集从多个相互竞争的服务中选择服务。
一种配置,其中,配备有照相机的移动电话将图像相关数据发送到基于云的服务以进行处理,并接收作为响应的音频或视频数据或者Javascript指令。
一种配置,其中,配备有照相机的移动电话将图像相关数据发送到基于云的服务以进行处理,其中在预期到发送图像相关数据的情况下,电话预热服务或通信信道。此外,在这样的配置中,被预热的服务或信道通过基于环境的预测来识别。
一种配置,其中,配备有照相机的移动电话具有用户可以在之间进行选择的多个模式,其中多个模式之一包括面部识别模式、光学字符识别模式、与购买被成像的项目相关的模式、与出售被成像的项目相关的模式、或者用于确定有关被成像的项目、场景或人的信息(例如从Wikipedia、制造商的网站、社交网站)的模式。此外,在这样的配置中,用户在捕获图像之前选择模式。
一种配置,其中,用户定义视觉标志的词汇表,这些视觉标志由移动电话识别并用来触发相关的功能。
一种配置,其中,配备有照相机的移动电话被用作名字回想过程中的辅助手段,其中照相机捕获包括脸部的图像,该图像由面部识别处理结合远程资源(诸如Facebook、Picasa或iPhote)维护的参考数据来处理。
一种配置,其中,由配备有照相机的移动电话捕获的对象的图像被用来链接到与该对象相关的信息,诸如备用部件或使用手册、具有相似外观的对象的图像等。
一种配置,其中,图像与充当去往动作和/或其它内容的隐含或明确的链接的一组数据或属性相关联地存储。此外,在这样的配置中,用户从一张图像航行到下一张图像—类似于在网络上的节点之间航行。此外,在这样的配置中,这样的链接被分析以辨认附加信息。
一种配置,其中,根据来自数据存储库的信息来处理图像以辨认相关的语义信息。此外,在这样的配置中,再次根据来自数据存储库的信息来处理辨认出的语义信息以辨认更多相关的语义信息。
一种包括网络簇(networked cluster)中的多个移动电话的配置。此外,在这样的配置中,网络簇包括点到点网络。
一种配置,其中,默认的规则管理网络中内容的分享,其中,默认的规则规定:第一年龄范围的内容不被分享。此外,在这样的配置中,默认规则规定:第二年龄范围的内容可以被分享。此外,在这样的配置中,默认的规则规定:第二年龄范围的内容可以被分享,但是仅限于存在社交联系的情况。
一种配置,其中,使与一位置相关的体验数据可由处于该位置的用户获得。此外,在这样的配置中,处于该位置的移动电话形成即兴网络,体验数据可从该即兴网络被共享。
一种配置,其中,配备有照相机的移动电话中的图像传感器被形成在基底上,在该基底上也形成有用于处理图像相关数据以便为自动可视询问(例如对象识别)目的服务的一个或更多模块。
一种配置,其中,图像由一方捕获并使该图像可供多个用户进行分析,诸如用于对象识别目的(例如找出我的汽车)。
一种配置,其中,使来自分布式照相机网络的图像供给可用于公共搜索。
此外,与前述配置相对应、但是涉及由麦克风捕获的音频而不是图像传感器捕获的可视输入(例如包括用于面部识别的语音识别等)的配置。
此外,与前述配置相对应的方法、系统和子组合,以及具有用于配置处理系统以执行部分或全部这样的方法的指令的计算机可读存储媒介。
Claims (10)
1.一种移动电话,包括麦克风和无线电收发器,并且还包括连接到人类视觉系统处理部和机器视觉处理部的图像传感器,所述人类视觉系统处理部产生将被表现成供人类观察者观看的感知形式的图像数据,所述机器视觉处理部产生将由一个或多个机器实现的算法分析的图像数据以产生物体识别数据和特征识别数据,其中,
所述图像传感器在不经过所述人类视觉系统处理部的状态下被连接到所述机器视觉处理部,使得由所述机器视觉处理部分析的图像数据与供人类观察者观看的图像数据相比经过了较少处理而互不相同,并且其中所述人类视觉系统处理部包括从白平衡校正模块、伽马校正模块、边缘增强模块、插值模块和JPEG压缩模块中选出的模块。
2.如权利要求1所述的移动电话,其中所述机器视觉处理部包括从FFT模块、边缘检测模块、模式提取模块、Fourier-Mellin模块、纹理分类器模块、颜色直方图模块、运动检测模块和特征识别模块中选出的至少一个模块。
3.如权利要求2所述的移动电话,其中所述机器视觉处理部采用与所述图像传感器一起集成在公共衬底上的处理电路。
4.如权利要求1所述的移动电话,其中所述人类视觉系统处理部包括白平衡校正模块。
5.如权利要求1所述的移动电话,其中所述人类视觉系统处理部包括伽马校正模块。
6.如权利要求1所述的移动电话,其中所述人类视觉系统处理部包括插值模块。
7.如权利要求1所述的移动电话,其中所述人类视觉系统处理部包括JPEG压缩模块。
8.一种移动电话,包括设置模块、麦克风和无线电收发器,并且还包括图像传感器和用于处理图像相关数据的多个级,其中数据驱动式分组架构被采用,在所述数据驱动式分组架构中,所述设置模块向所述图像传感器发送分组,所述分组的信头确定在最初捕获图像数据时将由所述图像传感器应用的参数,所述图像传感器使用从所述设置模块接收的分组中的所述参数捕获图像数据、将所述图像数据填充到所述分组的主体中、并将填充有所述图像数据的所述分组发送给由所述多个级构成的链条进行图像处理。
9.如权利要求8所述的移动电话,其中分组的信头中的信息确定所述多个级将对所述分组的主体中传递的图像相关数据执行的处理。
10.如权利要求8所述的移动电话,其中填充有所述图像数据的所述分组包括少于单帧的图像数据。
Applications Claiming Priority (27)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US9008308P | 2008-08-19 | 2008-08-19 | |
US61/090,083 | 2008-08-19 | ||
US9670308P | 2008-09-12 | 2008-09-12 | |
US61/096,703 | 2008-09-12 | ||
US10064308P | 2008-09-26 | 2008-09-26 | |
US61/100,643 | 2008-09-26 | ||
US10390708P | 2008-10-08 | 2008-10-08 | |
US61/103,907 | 2008-10-08 | ||
US11049008P | 2008-10-31 | 2008-10-31 | |
US61/110,490 | 2008-10-31 | ||
US12/271,692 | 2008-11-14 | ||
US12/271,692 US8520979B2 (en) | 2008-08-19 | 2008-11-14 | Methods and systems for content processing |
US16926609P | 2009-04-14 | 2009-04-14 | |
US61/169,266 | 2009-04-14 | ||
US17482209P | 2009-05-01 | 2009-05-01 | |
US61/174,822 | 2009-05-01 | ||
US17673909P | 2009-05-08 | 2009-05-08 | |
US61/176,739 | 2009-05-08 | ||
US12/484,115 US8385971B2 (en) | 2008-08-19 | 2009-06-12 | Methods and systems for content processing |
US12/484,115 | 2009-06-12 | ||
US12/498,709 | 2009-07-07 | ||
US12/498,709 US20100261465A1 (en) | 2009-04-14 | 2009-07-07 | Methods and systems for cell phone interactions |
US22619509P | 2009-07-16 | 2009-07-16 | |
US61/226,195 | 2009-07-16 | ||
US23454209P | 2009-08-17 | 2009-08-17 | |
US61/234,542 | 2009-08-17 | ||
PCT/US2009/054358 WO2010022185A1 (en) | 2008-08-19 | 2009-08-19 | Methods and systems for content processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102216941A CN102216941A (zh) | 2011-10-12 |
CN102216941B true CN102216941B (zh) | 2015-08-12 |
Family
ID=43760038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980141567.8A Active CN102216941B (zh) | 2008-08-19 | 2009-08-19 | 用于内容处理的方法和系统 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2313847A4 (zh) |
KR (2) | KR101680044B1 (zh) |
CN (1) | CN102216941B (zh) |
CA (1) | CA2734613C (zh) |
WO (1) | WO2010022185A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200199A (zh) * | 2020-09-30 | 2021-01-08 | 南宁学院 | 一种屏幕颜色识别系统的识别方法 |
Families Citing this family (175)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8520979B2 (en) | 2008-08-19 | 2013-08-27 | Digimarc Corporation | Methods and systems for content processing |
US20120135744A1 (en) | 2009-07-21 | 2012-05-31 | Kota Enterprises, Llc | Systems and methods for generating and managing communication rules associated with geographic locations |
US9183580B2 (en) * | 2010-11-04 | 2015-11-10 | Digimarc Corporation | Methods and systems for resource management on portable devices |
US8121618B2 (en) | 2009-10-28 | 2012-02-21 | Digimarc Corporation | Intuitive computing methods and systems |
US8175617B2 (en) * | 2009-10-28 | 2012-05-08 | Digimarc Corporation | Sensor-based mobile search, related methods and systems |
JP5843207B2 (ja) * | 2010-03-19 | 2016-01-13 | ディジマーク コーポレイション | 直観的コンピューティング方法及びシステム |
US20110320560A1 (en) * | 2010-06-29 | 2011-12-29 | Microsoft Corporation | Content authoring and propagation at various fidelities |
US8774267B2 (en) * | 2010-07-07 | 2014-07-08 | Spinella Ip Holdings, Inc. | System and method for transmission, processing, and rendering of stereoscopic and multi-view images |
JP2012027263A (ja) * | 2010-07-23 | 2012-02-09 | Sony Corp | 撮像装置、その制御方法およびプログラム |
JP2012058838A (ja) | 2010-09-06 | 2012-03-22 | Sony Corp | 画像処理装置、プログラム及び画像処理方法 |
US8762852B2 (en) | 2010-11-04 | 2014-06-24 | Digimarc Corporation | Smartphone-based methods and systems |
US9484046B2 (en) * | 2010-11-04 | 2016-11-01 | Digimarc Corporation | Smartphone-based methods and systems |
US9235277B2 (en) * | 2010-12-03 | 2016-01-12 | Razer (Asia-Pacific) Pte Ltd. | Profile management method |
JP5891425B2 (ja) * | 2011-03-03 | 2016-03-23 | パナソニックIpマネジメント株式会社 | 追体験映像を提供することができる映像提供装置、映像提供方法、映像提供プログラム |
CN102170471A (zh) * | 2011-04-14 | 2011-08-31 | 宋健 | 一种替代卫星网络的实时音视频信号传输的方法和系统 |
US8516607B2 (en) * | 2011-05-23 | 2013-08-20 | Qualcomm Incorporated | Facilitating data access control in peer-to-peer overlay networks |
KR20200074229A (ko) | 2011-05-27 | 2020-06-24 | 돌비 레버러토리즈 라이쎈싱 코오포레이션 | 변하는 레벨들의 메타데이터을 포함하는 컬러 관리를 제어하기 위한 스케일러블 시스템들 |
CN103814545B (zh) | 2011-06-30 | 2016-10-26 | 东莞市瑞腾电子科技有限公司 | 手机用户身份认证方法 |
US8627096B2 (en) | 2011-07-14 | 2014-01-07 | Sensible Vision, Inc. | System and method for providing secure access to an electronic device using both a screen gesture and facial biometrics |
CN103018162B (zh) * | 2011-09-22 | 2016-07-06 | 致茂电子股份有限公司 | 一种处理用于测试的影像数据的系统及方法 |
US9106927B2 (en) | 2011-09-23 | 2015-08-11 | Qualcomm Incorporated | Video coding with subsets of a reference picture set |
US8798363B2 (en) * | 2011-09-30 | 2014-08-05 | Ebay Inc. | Extraction of image feature data from images |
ES2632440T3 (es) | 2011-10-14 | 2017-09-13 | Siemens Aktiengesellschaft | Procedimiento y sistema para la alimentación con energía de al menos un componente móvil en un sistema de comunicación inalámbrico, en particular de etiquetas RFID de un sistema RFID |
TWI455579B (zh) | 2011-10-26 | 2014-10-01 | Ability Entpr Co Ltd | 影像擷取方法及應用其之影像處理系統及影像擷取裝置 |
CN103095977B (zh) * | 2011-10-31 | 2016-08-10 | 佳能企业股份有限公司 | 影像撷取方法及应用其的影像处理系统及影像撷取装置 |
KR20130048035A (ko) * | 2011-11-01 | 2013-05-09 | 엘지전자 주식회사 | 미디어 장치, 컨텐츠 서버 및 그 동작방법 |
US8931062B2 (en) * | 2011-11-10 | 2015-01-06 | Empire Technology Development Llc | Remote displaying |
US8774147B2 (en) | 2012-02-23 | 2014-07-08 | Dahrwin Llc | Asynchronous wireless dynamic ad-hoc network |
US9940118B2 (en) | 2012-02-23 | 2018-04-10 | Dahrwin Llc | Systems and methods utilizing highly dynamic wireless ad-hoc networks |
KR101375962B1 (ko) * | 2012-02-27 | 2014-03-18 | 주식회사 팬택 | 플렉서블 단말기 |
SG11201405180SA (en) | 2012-03-01 | 2014-09-26 | Sys Tech Solutions Inc | Unique identification information from marked features |
US20150379321A1 (en) | 2012-03-01 | 2015-12-31 | Sys-Tech Solutions, Inc. | Methods and a system for verifying the authenticity of a mark |
US20150169928A1 (en) | 2012-03-01 | 2015-06-18 | Sys-Tech Solutions, Inc. | Methods and a system for verifying the identity of a printed item |
CN109274905B (zh) * | 2012-05-23 | 2022-06-21 | 杭州阿尔法红外检测技术有限公司 | 热像记录装置和热像记录方法 |
US8959092B2 (en) * | 2012-06-27 | 2015-02-17 | Google Inc. | Providing streams of filtered photographs for user consumption |
US9373182B2 (en) * | 2012-08-17 | 2016-06-21 | Intel Corporation | Memory sharing via a unified memory architecture |
CN109284264B (zh) * | 2012-09-16 | 2021-10-29 | 吴东辉 | 一种图像文件格式及生成方法及装置及应用 |
US9164552B2 (en) * | 2012-09-27 | 2015-10-20 | Futurewei Technologies, Inc. | Real time visualization of network information |
US8811670B2 (en) * | 2012-09-28 | 2014-08-19 | The Boeing Company | Method and system for using fingerprints to track moving objects in video |
CN103714089B (zh) * | 2012-09-29 | 2018-01-05 | 上海盛大网络发展有限公司 | 一种实现云数据库回滚的方法及系统 |
US10318308B2 (en) * | 2012-10-31 | 2019-06-11 | Mobileye Vision Technologies Ltd. | Arithmetic logic unit |
CN104823145A (zh) * | 2012-11-29 | 2015-08-05 | 爱德拉株式会社 | 在智能设备的屏幕上提供与视觉上改变的微件相对应的不同内容的方法 |
US9589314B2 (en) * | 2013-04-29 | 2017-03-07 | Qualcomm Incorporated | Query processing for tile-based renderers |
US9843623B2 (en) | 2013-05-28 | 2017-12-12 | Qualcomm Incorporated | Systems and methods for selecting media items |
KR101480065B1 (ko) * | 2013-05-29 | 2015-01-09 | (주)베라시스 | 패턴 히스토그램을 이용한 객체검출방법 |
US9443355B2 (en) * | 2013-06-28 | 2016-09-13 | Microsoft Technology Licensing, Llc | Reprojection OLED display for augmented reality experiences |
CN104424485A (zh) * | 2013-08-22 | 2015-03-18 | 北京卓易讯畅科技有限公司 | 一种基于图像识别来获取特定信息的方法与装置 |
CN103442218B (zh) * | 2013-08-27 | 2016-12-28 | 宁波海视智能系统有限公司 | 一种多模式行为识别与描述的视频信号预处理方法 |
KR101502841B1 (ko) * | 2013-08-28 | 2015-03-16 | 현대미디어 주식회사 | 비트맵 폰트 외곽선 처리 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 |
AU2014321165B2 (en) | 2013-09-11 | 2020-04-09 | See-Out Pty Ltd | Image searching method and apparatus |
US10496243B2 (en) * | 2013-09-16 | 2019-12-03 | Interdigital Ce Patent Holdings | Method and apparatus for color detection to generate text color |
AT514861A3 (de) | 2013-09-20 | 2015-05-15 | Asmag Holding Gmbh | Authentifizierungssystem für ein mobiles Datenendgerät |
CN103530649A (zh) * | 2013-10-16 | 2014-01-22 | 北京理工大学 | 一种适用于移动终端的视觉搜索方法 |
US20150286873A1 (en) * | 2014-04-03 | 2015-10-08 | Bruce L. Davis | Smartphone-based methods and systems |
US9354778B2 (en) | 2013-12-06 | 2016-05-31 | Digimarc Corporation | Smartphone-based methods and systems |
CN105745663B (zh) * | 2013-12-19 | 2018-11-16 | 英特尔公司 | 包括机器学习快照评估的保护系统 |
CN110263202A (zh) * | 2013-12-20 | 2019-09-20 | 西-奥特有限公司 | 图像搜索方法及设备 |
US9311639B2 (en) | 2014-02-11 | 2016-04-12 | Digimarc Corporation | Methods, apparatus and arrangements for device to device communication |
CA2885874A1 (en) * | 2014-04-04 | 2015-10-04 | Bradford A. Folkens | Image processing system including image priority |
US9213941B2 (en) | 2014-04-22 | 2015-12-15 | Google Inc. | Automatic actions based on contextual replies |
CN103996209B (zh) * | 2014-05-21 | 2017-01-11 | 北京航空航天大学 | 一种基于显著性区域检测的红外舰船目标分割方法 |
CN105303506B (zh) * | 2014-06-19 | 2018-10-26 | Tcl集团股份有限公司 | 一种基于html5的数据并行处理方法及系统 |
KR101487461B1 (ko) * | 2014-06-26 | 2015-01-28 | 우원소프트 주식회사 | 개인영상 정보보호 기능이 탑재된 얼굴인식 보안 관제 시스템 |
CN104967790B (zh) * | 2014-08-06 | 2018-09-11 | 腾讯科技(北京)有限公司 | 照片拍摄方法、装置及移动终端 |
CN104267808A (zh) * | 2014-09-18 | 2015-01-07 | 北京智谷睿拓技术服务有限公司 | 动作识别方法和设备 |
US9560465B2 (en) * | 2014-10-03 | 2017-01-31 | Dts, Inc. | Digital audio filters for variable sample rates |
KR101642602B1 (ko) * | 2014-12-02 | 2016-07-26 | 서진이엔에스(주) | 아날로그 또는 디지털 cctv 영상을 이용한 소프트웨어 방식의 주차 검지 시스템 및 방법 |
CN105095398B (zh) * | 2015-07-03 | 2018-10-19 | 北京奇虎科技有限公司 | 一种信息提供方法和装置 |
CN105046256B (zh) * | 2015-07-22 | 2018-10-16 | 福建新大陆自动识别技术有限公司 | 基于畸变图像校正的qr码解码方法和系统 |
US10372957B2 (en) * | 2015-09-15 | 2019-08-06 | Pepperl+Fuchs Gmbh | Apparatus and method for providing a graphic representation or graphic representation sequence for detection by a detector |
JP6493264B2 (ja) | 2016-03-23 | 2019-04-03 | 横河電機株式会社 | 保全情報共有装置、保全情報共有方法、保全情報共有プログラム及び記録媒体 |
US10769155B2 (en) | 2016-05-17 | 2020-09-08 | Google Llc | Automatically augmenting message exchange threads based on tone of message |
US10310725B2 (en) * | 2016-06-12 | 2019-06-04 | Apple Inc. | Generating scenes based on accessory state |
US10498552B2 (en) | 2016-06-12 | 2019-12-03 | Apple Inc. | Presenting accessory state |
CN106213968A (zh) * | 2016-08-04 | 2016-12-14 | 轩脉家居科技(上海)有限公司 | 一种基于人体动作识别的智能窗帘 |
CN106326888B (zh) * | 2016-08-16 | 2022-08-16 | 北京旷视科技有限公司 | 图像识别方法和装置 |
EP3293648B1 (en) * | 2016-09-12 | 2024-04-03 | Dassault Systèmes | Representation of a skeleton of a mechanical part |
US10846618B2 (en) * | 2016-09-23 | 2020-11-24 | Google Llc | Smart replies using an on-device model |
CN106815673A (zh) * | 2016-11-29 | 2017-06-09 | 施冬冬 | 一种用于车辆的智能管理系统 |
CN108228580A (zh) * | 2016-12-09 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 一种在图像中展现业务对象数据的方法和装置 |
CA3046448C (en) * | 2016-12-09 | 2020-06-02 | Sys-Tech Solutions, Inc. | Methods and a computing device for determining whether a mark is genuine |
KR20180070082A (ko) * | 2016-12-16 | 2018-06-26 | (주)태원이노베이션 | Vr 컨텐츠 생성 시스템 |
EP3343445A1 (en) * | 2016-12-28 | 2018-07-04 | Thomson Licensing | Method and apparatus for encoding and decoding lists of pixels |
DE102017100622A1 (de) * | 2017-01-13 | 2018-07-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtungen und Verfahren zum Korrigieren von Ausrichtungsinformationen von einem oder mehreren Trägheitssensoren |
CN108804387B (zh) * | 2017-04-27 | 2021-07-23 | 腾讯科技(深圳)有限公司 | 目标用户确定方法及装置 |
CN107465868B (zh) * | 2017-06-21 | 2018-11-16 | 珠海格力电器股份有限公司 | 基于终端的物体识别方法、装置及电子设备 |
CN107231547B (zh) * | 2017-07-07 | 2021-03-12 | 广东中星电子有限公司 | 视频监控系统和方法 |
KR102282455B1 (ko) * | 2017-07-11 | 2021-07-28 | 한화테크윈 주식회사 | 영상 처리 장치 및 영상 처리 방법 |
CA3070850A1 (en) * | 2017-07-31 | 2019-02-07 | Smiths Detection Inc. | System for determining the presence of a substance of interest in a sample |
US10565087B2 (en) * | 2017-08-03 | 2020-02-18 | Microsoft Technology Licensing, Llc | Tentative execution of code in a debugger |
US10360832B2 (en) | 2017-08-14 | 2019-07-23 | Microsoft Technology Licensing, Llc | Post-rendering image transformation using parallel image transformation pipelines |
KR102337182B1 (ko) * | 2017-09-29 | 2021-12-09 | 한국전력공사 | 기능 확장용 미들웨어 플랫폼이 탑재된 전자식 전력량계, 이를 이용한 전력량계 애플리케이션 관리 시스템 및 그 방법 |
CN108874445A (zh) * | 2017-10-30 | 2018-11-23 | 上海寒武纪信息科技有限公司 | 神经网络处理器及使用处理器执行向量点积指令的方法 |
CN109724617B (zh) * | 2017-10-31 | 2021-12-24 | 腾讯科技(深圳)有限公司 | 一种导航路线的绘制方法以及相关设备 |
KR102523672B1 (ko) * | 2017-11-14 | 2023-04-20 | 삼성전자주식회사 | 디스플레이장치 및 그 제어방법과 기록매체 |
CN107992809A (zh) * | 2017-11-24 | 2018-05-04 | 合肥博焱智能科技有限公司 | 一种用于人脸识别的图像处理系统 |
CN108257077B (zh) * | 2018-01-02 | 2022-03-22 | 深圳云天励飞技术有限公司 | 基于gpu的聚类数据的处理方法、系统及计算设备 |
WO2019182907A1 (en) * | 2018-03-21 | 2019-09-26 | Nulman Yanir | Design, platform, and methods for personalized human interactions through digital communication devices |
CN108446964B (zh) * | 2018-03-30 | 2022-03-22 | 中南大学 | 一种基于移动流量dpi数据的用户推荐方法 |
CN108960285B (zh) * | 2018-05-31 | 2021-05-07 | 东软集团股份有限公司 | 一种分类模型生成方法、舌体图像分类方法及装置 |
CN108830594B (zh) * | 2018-06-22 | 2019-05-07 | 山东高速信联支付有限公司 | 多模式电子支付系统 |
EP3857518A1 (en) * | 2018-09-26 | 2021-08-04 | Guardian Glass, LLC | Augmented reality system and method for substrates, coated articles, insulating glass units, and/or the like |
FR3088160B1 (fr) * | 2018-11-06 | 2021-04-02 | Teledyne E2V Semiconductors Sas | Capteur d'image pour la reconnaissance optique de code(s) |
CN109598668B (zh) * | 2018-12-05 | 2023-03-14 | 吉林大学 | 一种基于静电力的触觉形式数字水印嵌入及检测方法 |
CN111292245A (zh) * | 2018-12-07 | 2020-06-16 | 北京字节跳动网络技术有限公司 | 图像处理方法和装置 |
CN109711361A (zh) * | 2018-12-29 | 2019-05-03 | 重庆集诚汽车电子有限责任公司 | 基于深度学习的智能座舱嵌入式指纹特征提取方法 |
NO345328B1 (en) | 2019-02-01 | 2020-12-14 | Roest Bernt Erik | Method and system for extracting metadata from an observed scene. |
US11620478B2 (en) * | 2019-02-06 | 2023-04-04 | Texas Instruments Incorporated | Semantic occupancy grid management in ADAS/autonomous driving |
CN109886205B (zh) * | 2019-02-25 | 2023-08-08 | 苏州清研微视电子科技有限公司 | 安全带实时监测方法和系统 |
CN109872334A (zh) * | 2019-02-26 | 2019-06-11 | 电信科学技术研究院有限公司 | 一种图像分割方法及装置 |
KR102586014B1 (ko) | 2019-03-05 | 2023-10-10 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 제어 방법 |
WO2020187705A1 (en) * | 2019-03-15 | 2020-09-24 | Retinai Medical Ag | Feature point detection |
US10990840B2 (en) * | 2019-03-15 | 2021-04-27 | Scenera, Inc. | Configuring data pipelines with image understanding |
JP7211492B2 (ja) | 2019-03-29 | 2023-01-24 | 日本電気株式会社 | 撮像システムおよび撮像方法 |
US11281400B2 (en) * | 2019-04-16 | 2022-03-22 | Micron Technology, Inc. | Temperature-based storage system organization |
CN111695395B (zh) * | 2019-04-22 | 2021-01-05 | 广西众焰安科技有限公司 | 现场违规行为识别方法 |
CN110069719B (zh) * | 2019-04-24 | 2023-03-31 | 西安工程大学 | 一种面向互联网环境的行为预测方法及其预测系统 |
CN113826376B (zh) * | 2019-05-24 | 2023-08-15 | Oppo广东移动通信有限公司 | 用户设备和斜视校正方法 |
CN110276281A (zh) * | 2019-06-10 | 2019-09-24 | 浙江工业大学 | 一种面向移动端的截屏图文识别提取方法及系统 |
US12033232B2 (en) | 2019-06-19 | 2024-07-09 | Google Llc | Image watermarked with a string associated with image metadata associated with the image |
WO2020256718A1 (en) * | 2019-06-19 | 2020-12-24 | Google Llc | Improved image watermarking |
US11537816B2 (en) * | 2019-07-16 | 2022-12-27 | Ancestry.Com Operations Inc. | Extraction of genealogy data from obituaries |
US20210034907A1 (en) * | 2019-07-29 | 2021-02-04 | Walmart Apollo, Llc | System and method for textual analysis of images |
CN110853108B (zh) * | 2019-10-11 | 2020-07-10 | 中国南方电网有限责任公司超高压输电公司天生桥局 | 一种红外热图数据的压缩存储方法 |
CN110762817B (zh) * | 2019-10-31 | 2020-08-07 | 万秋花 | 临床检验科室可移动式出风口高度调节平台及方法 |
CN110826726B (zh) * | 2019-11-08 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 目标处理方法、目标处理装置、目标处理设备及介质 |
US11373106B2 (en) * | 2019-11-21 | 2022-06-28 | Fractal Analytics Private Limited | System and method for detecting friction in websites |
CN110895557B (zh) * | 2019-11-27 | 2022-06-21 | 广东智媒云图科技股份有限公司 | 基于神经网络的文本特征判断方法、装置和存储介质 |
CN110930064B (zh) * | 2019-12-09 | 2023-04-25 | 山东大学 | 一种火星尘暴时空概率提取和着陆安全性评价的方法 |
WO2021126866A1 (en) * | 2019-12-16 | 2021-06-24 | Schlumberger Technology Corporation | Patterned substrate for use in image-based classification of rock cuttings |
CN111178946B (zh) * | 2019-12-17 | 2023-07-18 | 清华大学深圳国际研究生院 | 一种用户行为表征的方法及系统 |
CN111145180A (zh) * | 2019-12-25 | 2020-05-12 | 威创集团股份有限公司 | 一种应用于可视化大屏的地图瓦片的处理方法和相关装置 |
CN111145354B (zh) * | 2019-12-31 | 2024-02-13 | 北京恒华伟业科技股份有限公司 | 一种bim数据模型的标识方法及装置 |
CN111275057B (zh) * | 2020-02-13 | 2023-06-20 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置及设备 |
WO2021177943A1 (en) * | 2020-03-03 | 2021-09-10 | Google Llc | Explanation of machine-learned models using image translation |
CN111491088B (zh) * | 2020-04-23 | 2021-08-31 | 支付宝(杭州)信息技术有限公司 | 安全摄像头、图像加密方法及装置和电子设备 |
CN113488037B (zh) * | 2020-07-10 | 2024-04-12 | 海信集团控股股份有限公司 | 一种语音识别方法 |
KR20230004887A (ko) * | 2020-07-15 | 2023-01-06 | 코어포토닉스 리미티드 | 스캐닝 폴디드 카메라에서의 시점 수차-보정 |
CN111881982A (zh) * | 2020-07-30 | 2020-11-03 | 北京环境特性研究所 | 一种无人机目标识别方法 |
CN112148710B (zh) * | 2020-09-21 | 2023-11-14 | 珠海市卓轩科技有限公司 | 微服务分库方法、系统和介质 |
CN112149732A (zh) * | 2020-09-23 | 2020-12-29 | 上海商汤智能科技有限公司 | 图像保护方法、装置、电子设备及存储介质 |
CN112191055B (zh) * | 2020-09-29 | 2021-12-31 | 武穴市东南矿业有限公司 | 一种矿山机械用具有空气检测结构的降尘装置 |
CN112256581B (zh) * | 2020-10-27 | 2024-01-23 | 华泰证券股份有限公司 | 高仿真证券业交易类系统的日志回放测试方法及装置 |
CN112036387B (zh) * | 2020-11-06 | 2021-02-09 | 成都索贝数码科技股份有限公司 | 基于门控卷积神经网络的新闻画面拍摄角度识别方法 |
CN112257037B (zh) * | 2020-11-13 | 2024-03-19 | 北京明朝万达科技股份有限公司 | 一种进程水印方法、系统及电子设备 |
CN112564796B (zh) * | 2020-11-25 | 2021-11-02 | 重庆邮电大学 | 基于可见光无线通信的设备支付信息交互系统 |
CN112767225A (zh) * | 2021-01-14 | 2021-05-07 | 同方威视科技江苏有限公司 | 前端图像处理方法、装置、电子设备和可读存储介质 |
CN112819761B (zh) * | 2021-01-21 | 2023-09-01 | 百度在线网络技术(北京)有限公司 | 模型训练方法、分数确定方法、装置、设备、介质和产品 |
CN112991659B (zh) * | 2021-03-18 | 2023-07-28 | 浙江赛龙建设科技有限公司 | 一种具备预警处理功能的大数据安防监控管理方法 |
CN112995329B (zh) * | 2021-03-22 | 2023-06-16 | 广东一一五科技股份有限公司 | 一种传输文件方法及系统 |
CN113020428B (zh) * | 2021-03-24 | 2022-06-28 | 北京理工大学 | 级进模的加工监控方法、装置、设备及存储介质 |
US11977533B2 (en) | 2021-04-02 | 2024-05-07 | Kofax, Inc. | Automated document processing for detecting, extracting, and analyzing tables and tabular data |
WO2022229312A1 (en) * | 2021-04-29 | 2022-11-03 | Asml Netherlands B.V. | Hierarchical clustering of fourier transform based layout patterns |
CN113297547B (zh) * | 2021-05-24 | 2022-07-08 | 上海大学 | 数据集的后门水印添加方法、验证方法及系统 |
CN113255059B (zh) * | 2021-05-26 | 2024-04-05 | 上海海事大学 | 一种邮轮重量控制方法 |
US11989260B2 (en) * | 2021-06-30 | 2024-05-21 | Huawei Cloud Computing Technologies Co., Ltd. | Data-sharing systems and methods, which use multi-angle incentive allocation |
US12051216B2 (en) * | 2021-07-14 | 2024-07-30 | GE Precision Healthcare LLC | System and methods for visualizing variations in labeled image sequences for development of machine learning models |
CN113722672B (zh) * | 2021-07-20 | 2022-04-05 | 厦门微亚智能科技有限公司 | 一种VR Lens杂散光噪声的检测计算方法 |
CN113610194B (zh) * | 2021-09-09 | 2023-08-11 | 重庆数字城市科技有限公司 | 一种数字档案自动分类方法 |
KR102606911B1 (ko) * | 2021-09-13 | 2023-11-29 | 주식회사 위버스컴퍼니 | Api 서버로 인입되는 트래픽을 조절하는 방법 및 시스템 |
US11995900B2 (en) * | 2021-11-12 | 2024-05-28 | Zebra Technologies Corporation | Method on identifying indicia orientation and decoding indicia for machine vision systems |
CN113989604B (zh) * | 2021-11-18 | 2024-06-25 | 广东工业大学 | 基于端到端深度学习的轮胎dot信息识别方法 |
TW202324986A (zh) | 2021-12-09 | 2023-06-16 | 韓商愛思開海力士有限公司 | 用於互連協定的錯誤處理的方法、控制器以及儲存裝置 |
CN114374636B (zh) * | 2021-12-21 | 2024-04-02 | 航天科工网络信息发展有限公司 | 一种智能路由方法、装置及网络设备 |
TWI806299B (zh) | 2021-12-21 | 2023-06-21 | 宏碁股份有限公司 | 聲音浮水印的處理方法及聲音浮水印產生裝置 |
CN114611015B (zh) * | 2022-03-25 | 2024-06-11 | 阿里巴巴达摩院(杭州)科技有限公司 | 交互信息处理方法、装置和云服务器 |
DE102022204996A1 (de) | 2022-05-19 | 2023-11-23 | Carl Zeiss Smt Gmbh | Verfahren und Vorrichtung zur Bestimmung eines Restgases mittels eines Restgasanalyseverfahrens in einem Vakuum einer Vakuumkammer |
CN114697964B (zh) * | 2022-05-30 | 2022-08-09 | 深圳市中电网络技术有限公司 | 一种基于互联网和生物认证的信息管理方法及云服务平台 |
CN115115885B (zh) * | 2022-06-30 | 2024-04-02 | 中国科学院南京地理与湖泊研究所 | 一种保留重要极值点的格拉姆角场转换的用地分类方法 |
CN116309494B (zh) * | 2023-03-23 | 2024-01-23 | 宁波斯年智驾科技有限公司 | 一种电子地图中兴趣点信息确定方法、装置、设备及介质 |
CN117275069B (zh) * | 2023-09-26 | 2024-06-04 | 华中科技大学 | 基于可学习向量与注意力机制的端到端头部姿态估计方法 |
CN118349350A (zh) * | 2023-12-08 | 2024-07-16 | 荣耀终端有限公司 | 一种数据处理方法、电子设备及存储介质 |
KR102663992B1 (ko) * | 2024-01-22 | 2024-05-10 | 주식회사 딥핑소스 | 비디오 분석을 통해 사람의 행동을 검출하는 딥러닝 기반의 행동 검출 모델을 학습하는 방법 및 테스트하는 방법, 그리고, 이를 이용한 학습 장치 및 테스트 장치 |
CN117647826B (zh) * | 2024-01-29 | 2024-04-12 | 成都星历科技有限公司 | 基于干扰源定位的导航欺骗干扰信号的检测系统及方法 |
CN118447926B (zh) * | 2024-07-08 | 2024-10-29 | 智菲科技集团有限公司 | 一种基于深度学习的生物元件联想研发应用方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1613032A (zh) * | 2002-11-08 | 2005-05-04 | 诺基亚有限公司 | 照相机模块 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI222315B (en) * | 2003-06-25 | 2004-10-11 | Sunplus Technology Co Ltd | Digital camera controller apparatus for a mobile phone |
US20050094730A1 (en) * | 2003-10-20 | 2005-05-05 | Chang Li F. | Wireless device having a distinct hardware video accelerator to support video compression and decompression |
US7565139B2 (en) * | 2004-02-20 | 2009-07-21 | Google Inc. | Image-based search engine for mobile phones with camera |
JP2007028326A (ja) * | 2005-07-19 | 2007-02-01 | Alps Electric Co Ltd | カメラモジュール及び移動電話端末 |
US7797740B2 (en) * | 2006-01-06 | 2010-09-14 | Nokia Corporation | System and method for managing captured content |
KR100757167B1 (ko) * | 2006-06-09 | 2007-09-07 | 엘지이노텍 주식회사 | 생체인식 촬상을 위한 카메라모듈을 구비한 이동통신단말기및 그 영상처리 방법 |
US8184166B2 (en) * | 2006-07-06 | 2012-05-22 | Nokia Corporation | Method, device, mobile terminal and computer program product for a camera motion detection based scheme for improving camera input user interface functionalities |
US20080094466A1 (en) | 2006-10-18 | 2008-04-24 | Richard Eric Helvick | Target use video limit notification on wireless communication device |
US7656438B2 (en) * | 2007-01-04 | 2010-02-02 | Sharp Laboratories Of America, Inc. | Target use video limit enforcement on wireless communication device |
-
2009
- 2009-08-19 CN CN200980141567.8A patent/CN102216941B/zh active Active
- 2009-08-19 EP EP09808792.7A patent/EP2313847A4/en not_active Ceased
- 2009-08-19 KR KR1020117006167A patent/KR101680044B1/ko active IP Right Grant
- 2009-08-19 CA CA2734613A patent/CA2734613C/en active Active
- 2009-08-19 WO PCT/US2009/054358 patent/WO2010022185A1/en active Application Filing
- 2009-08-19 KR KR1020167032337A patent/KR101763132B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1613032A (zh) * | 2002-11-08 | 2005-05-04 | 诺基亚有限公司 | 照相机模块 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200199A (zh) * | 2020-09-30 | 2021-01-08 | 南宁学院 | 一种屏幕颜色识别系统的识别方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101680044B1 (ko) | 2016-11-28 |
CA2734613C (en) | 2020-06-09 |
CN102216941A (zh) | 2011-10-12 |
CA2734613A1 (en) | 2010-02-25 |
KR101763132B1 (ko) | 2017-07-31 |
EP2313847A4 (en) | 2015-12-09 |
EP2313847A1 (en) | 2011-04-27 |
WO2010022185A1 (en) | 2010-02-25 |
KR20110043775A (ko) | 2011-04-27 |
KR20160136467A (ko) | 2016-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102216941B (zh) | 用于内容处理的方法和系统 | |
US11587432B2 (en) | Methods and systems for content processing | |
US9918183B2 (en) | Methods and systems for content processing | |
US9271133B2 (en) | Methods and systems for image or audio recognition processing | |
US9692984B2 (en) | Methods and systems for content processing | |
US9204038B2 (en) | Mobile device and method for image frame processing using dedicated and programmable processors, applying different functions on a frame-by-frame basis | |
CN102884779B (zh) | 直觉计算方法和系统 | |
CN107103316A (zh) | 基于智能手机的方法和系统 | |
CN102893327A (zh) | 直觉计算方法和系统 | |
CN102741858A (zh) | 基于传感器的移动搜索、相关方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |