CN105809619A - 用于线性全景图像拼接的图像获取用户界面 - Google Patents

用于线性全景图像拼接的图像获取用户界面 Download PDF

Info

Publication number
CN105809619A
CN105809619A CN201610017945.3A CN201610017945A CN105809619A CN 105809619 A CN105809619 A CN 105809619A CN 201610017945 A CN201610017945 A CN 201610017945A CN 105809619 A CN105809619 A CN 105809619A
Authority
CN
China
Prior art keywords
image
client device
preview image
user interface
designator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610017945.3A
Other languages
English (en)
Other versions
CN105809619B (zh
Inventor
雅梅·格雷厄姆
丹尼尔·G·范奥尔斯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of CN105809619A publication Critical patent/CN105809619A/zh
Application granted granted Critical
Publication of CN105809619B publication Critical patent/CN105809619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B6/00Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
    • A61B6/52Devices using data or image processing specially adapted for radiation diagnosis
    • A61B6/5211Devices using data or image processing specially adapted for radiation diagnosis involving processing of medical diagnostic data
    • A61B6/5229Devices using data or image processing specially adapted for radiation diagnosis involving processing of medical diagnostic data combining image data of a patient, e.g. combining a functional image with an anatomical image
    • A61B6/5235Devices using data or image processing specially adapted for radiation diagnosis involving processing of medical diagnostic data combining image data of a patient, e.g. combining a functional image with an anatomical image combining images from the same or different ionising radiation imaging techniques, e.g. PET and CT
    • A61B6/5241Devices using data or image processing specially adapted for radiation diagnosis involving processing of medical diagnostic data combining image data of a patient, e.g. combining a functional image with an anatomical image combining images from the same or different ionising radiation imaging techniques, e.g. PET and CT combining overlapping images of the same imaging modality, e.g. by stitching
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B8/00Diagnosis using ultrasonic, sonic or infrasonic waves
    • A61B8/52Devices using data or image processing specially adapted for diagnosis using ultrasonic, sonic or infrasonic waves
    • A61B8/5215Devices using data or image processing specially adapted for diagnosis using ultrasonic, sonic or infrasonic waves involving processing of medical diagnostic data
    • A61B8/5238Devices using data or image processing specially adapted for diagnosis using ultrasonic, sonic or infrasonic waves involving processing of medical diagnostic data for combining image data of patient, e.g. merging several images from different acquisition modes into one image
    • A61B8/5246Devices using data or image processing specially adapted for diagnosis using ultrasonic, sonic or infrasonic waves involving processing of medical diagnostic data for combining image data of patient, e.g. merging several images from different acquisition modes into one image combining images from the same or different imaging techniques, e.g. color Doppler and B-mode
    • A61B8/5253Devices using data or image processing specially adapted for diagnosis using ultrasonic, sonic or infrasonic waves involving processing of medical diagnostic data for combining image data of patient, e.g. merging several images from different acquisition modes into one image combining images from the same or different imaging techniques, e.g. color Doppler and B-mode combining overlapping images, e.g. spatial compounding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3876Recombination of partial images to recreate the original image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/633Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
    • H04N23/635Region indicators; Field of view indicators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Economics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Radiology & Medical Imaging (AREA)
  • Pathology (AREA)
  • Veterinary Medicine (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Animal Behavior & Ethology (AREA)
  • Biophysics (AREA)
  • Surgery (AREA)
  • Molecular Biology (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • High Energy & Nuclear Physics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)

Abstract

本公开涉及用于线性全景图像拼接的图像获取用户界面。公开了允许捕获一系列图像以创建单个线性全景图像的系统和方法。所述方法包括:捕获图像;将先前捕获的图像与在捕获设备的显示器上的预览图像进行动态比较,直到满足预定的重叠阈值为止;生成用户界面,以在捕获设备的显示器上提供反馈来引导捕获设备的移动;以及捕获预览图像,所述预览图像与先前捕获的图像具有足够的重叠,并且没有或仅略微倾斜,以创建线性全景图像。

Description

用于线性全景图像拼接的图像获取用户界面
技术领域
本发明总体涉及提供用于引导用户捕获一系列的图像来创建单个线性全景图像的用户界面。本发明尤其涉及如下这样的系统和方法,所述系统和方法用于生成一个或多个用户界面单元,所述用户界面单元提供瞬时反馈,以引导用户捕获一系列的图像来创建单个线性全景图像。
背景技术
表示货架图(planogram)是零售环境下产品的视觉表示。例如,表示货架图可以描述零售环境中的位置和应当放置什么数量的产品。已知这样的表示货架图是增加销售、管理库存和确保放置期望的数量和大小的物品以最优化利润或其他参数的有效工具。然而,货架、搁架和展示架上货品的充足水平的呈现和维护是劳动密集的工作,因此实现表示货架图是困难的。尽管可以由用户人工跟踪零售商店中产品的位置和数量,但人们仍希望能够自动识别产品并且自动或半自动地获取与产品的状态有关的信息。
现有的识别产品的方法存在缺陷。例如,在一种如下方法中,通过图像拼接来实现从多个图像中识别多个产品的目的。但不幸的是,现有的图像拼接技术可能会导致伪影(artifact),并且可能会干扰识别的最优操作。
发明内容
本文中描述的技术用于捕获一系列图像来创建线性全景图像的系统和方法,克服了现有技术中的缺陷和限制。在一个实施例中,系统包括图像识别应用。图像识别应用被配置为,从捕获设备接收感兴趣的对象的一部分的图像,并且确定图像的特征。图像识别应用还被配置为,在捕获设备的显示器上生成包括感兴趣的对象的当前预览图像的用户界面,并且将所述图像与捕获设备的显示器上的感兴趣的对象的当前预览图像的特征进行动态比较,以确定重叠。所述图像识别应用还被配置为,更新用户界面,以包括用于引导捕获设备的移动来产生重叠的第一视觉区分指示符,并确定所述图像和当前预览图像之间的重叠是否满足预定的重叠阈值。图像识别应用还被配置为,基于满足预定重叠阈值的重叠,使用捕获设备捕获感兴趣的对象的该部分的下一个图像。
其他方面包括这些和其他创新方面的对应的方法、系统、装置和计算机程序产品。
本文中描述的特征和优势并不是完全包括形式的,并且许多额外的特征和优势对于阅读了本说明书和附图的本领域技术人员而言是清楚的。此外,还应当注意的是,本说明书中选用使用的词语主要用于易于理解本申请和指示性的目的,而并不限制本申请的范围。
附图说明
通过实例来说明在这里引入的技术,附图不对所述技术构成限制,在附图中,相似的附图标记用于指代相似的单元。
图1是说明了用于捕获一系列图像来创建线性全景的系统的一个实施例的高级框图。
图2是说明了包括图像识别应用的计算设备的一个实施例的框图。
图3是说明了用于捕获单个线性全景图像的感兴趣的对象的一系列图像的方法的一个实施例的流程图。
图4A-4B是说明了用于捕获单个线性全景图像的感兴趣的对象的一系列图像的方法的另一个实施例的流程图。
图5A-5B是说明了用于捕获单个线性全景图像的感兴趣的对象的一系列图像的方法的又一个实施例的流程图。
图6A-6B是说明了将当前的预览图像与感兴趣的对象的之前捕获的图像的重新对齐的方法的一个实施例的流程图。
图7A是用于捕获货架的图像的用户界面的实施例的图形表示。
图7B是用于捕获货架的图像的用户界面的另一个实施例的图形表示。
图8是针对感兴趣的对象所捕获的图像之间的重叠的一个实施例的图形表示。
图9是用于生成重叠的视觉区分指示符的图像匹配过程的一个实施例的图形表示。
图10A-10D是当捕获设备从左向右移动时显示重叠的视觉区分指示符的用户界面的实施例的图形表示。
图11A-11D是当捕获设备向底部或顶部移动时显示重叠的视觉区分指示符的用户界面的实施例的图形表示。
图12A-12C是当捕获设备绕Z轴滚动时显示倾斜的视觉区分指示符的用户界面的实施例的图形表示。
图13A-13C是当捕获设备绕X轴俯仰时显示倾斜的视觉区分指示符的用户界面的实施例的图形表示。
图14A-14B是当捕获设备在X和Z轴上倾斜时显示倾斜的视觉区分指示符的用户界面的实施例的图形表示。
图15是用于生成重新对齐的视觉区分指示符的重新对齐过程的一个实施例的图形表示。
图16A-16D是将在捕获设备上显示的当前的预览图像与先前捕获的图像重新对齐的用户界面显示的实施例的图形表示。
图17A-17B是示出了一组捕获的图像的预览的用户界面的实施例的图形表示。
具体实施方式
图1是说明了用于捕获一系列的图像来创建线性全景的系统100的一个实施例的高级框图。所示的系统100可以具有能够由用户访问的一个或多个客户端设备115a...115n和识别服务器101。在图1和其他附图中,参考数字之后的字母(例如“115a”)代表对具有该特定参考数字的单元的引用。后面不带有字母的参考数字(例如“115”)代表具有该参考数字的单元的实例的总体引用。在所示的实施例中,经由网络105可通信地耦接系统100的这些实体。
网络105可以是常规类型的有线或无线网络,并且可以具有各种不同的配置,包括星形配置、令牌环配置或其他配置。此外,网络105可以包括局域网(LAN)、广域网(WAN)(例如互联网)和/或其他互连的数据路径,其中多个设备可以跨过网络105进行通信。在一些实施例中,网络105可以是对等网络。网络105还可以耦接到或包括通信网络的各部分,用于以各种不同的通信协议发送数据。在一些实施例中,网络105可以包括用于发送和接收数据的蓝牙通信网络或蜂窝通信网络,包括经由短消息服务(SMS)、多媒体消息服务(MMS)、超文本传输协议(HTTP)、直接数据连接、WAP、电子邮件等。尽管图1中所示的一个网络105耦接到了客户端设备115和识别服务器101,但在实际上一个或多个网络105可以连接到这些实体。
在一些实施例中,系统100包括与网络105耦接的识别服务器101。在一些实施例中,识别服务器101可以是硬件服务器、软件服务器、或硬件和软件的组合。识别服务器101可以是计算设备或可以由计算设备实现,所述计算设备包括处理器、存储器、应用、数据库和网络通信功能。在图1的示例中,识别服务器101的组件被配置为实现图像识别应用103a,在下文中对此进行更详细地描述。在一个实施例中,识别服务器101向包装的消费品的商品公司提供服务,以识别货架、搁架或展示架上的产品。尽管这里的示例将描述了货架的图像中的产品(例如零售显示)的识别,但应当理解图像可以包括被组织的对象的任何布置。例如,图像可以是仓库、库房、储藏室、陈列室等的图像。类似地,除了零售产品之外,对象还可以是在制造、建造或维护中使用的工具或部件、医药用品、急救用品、紧急或安全设备等。
在一些实施例中,识别服务器101经由网络105向/从系统100的其他实体发送/接收数据。例如,识别系统101向/从客户端设备115发送/接收包括图像的数据。由识别服务器101接收到的图像可以包括由客户端设备115捕获的图像、从网站或电子邮件复制的图像或来自任何其他源的图像。尽管图1中仅示出了单个识别服务器101,但应当理解的是,还可以存在任何其他数量的识别服务器101或服务器集群。识别服务器101还包括数据存储243,在下文中将参照图2对该数据存储243进行更详细的描述。
客户端设备115可以是这样的计算设备,其包括存储器、处理器和相机,例如膝上型计算机、平板计算机、移动电话、智能电话、个人数字助理(PDA)、移动电子邮件设备、网络摄像头、用户可穿戴计算设备或能够访问网络105的任何其他的电子设备。客户端设备115提供任何类型应用的总体图形和多媒体处理。例如,客户端设备115可以包括用于进行图形和多媒体处理的图形处理器单元(GPU)。客户端设备115包括用于浏览由识别服务器101提供的信息的显示器。尽管图1中示出了两个客户端设备115a和115n,但本公开也适用于具有一个或更多个客户端设备115的系统结构。
客户端设备115适用于向/从识别服务器101发送/接收数据。例如,客户端设备115向识别服务器101发送查询图像,并且识别服务器101将与查询图像中识别出的一个或多个对象相关的JavaScript对象注释(JSON)格式的数据提供给客户端设备115。客户端设备115可以支持使用图形应用程序接口(API),例如苹果公司的iOSTM上的Metal或AndroidTM上的RenderScript,用于确定客户端设备115上的特征位置和特征描述符。
图像识别应用103可以包括软件和/或逻辑来提供捕获一系列的图像的功能以创建线性全景。在一些实施例中,可以使用可编程或专门的硬件(例如现场可编程门阵列(FPGA)或专用集成电路(ASIC))来实现图像识别应用103。在一些实施例中,可以使用硬件和软件的组合来实现图像识别应用103。在另一些实施例中,图像识别应用103可以被存储在识别服务器101和客户端设备115的组合中并且在该组合上被执行,或者可以由客户端设备115或识别服务器101中的任何一个来进行上述的存储和执行。
在一些实施例中,图像识别应用103b可以是这样的瘦客户端应用,其具有在客户端设备115上执行的某一功能,并且由图像识别应用103a在识别服务器101上执行额外的功能。例如,在客户端设备115上的图像识别应用103b可以包括这样的软件和/或逻辑,所述软件和/或逻辑用于捕获图像,将图像发送到识别服务器101,并且显示图像识别结果。在另一个示例中,识别服务器101上的图像识别应用103a可以包括这样的软件和/或逻辑,所述软件和/或逻辑用于接收图像,基于与先前接收到的图像进行足够的重叠来将图像拼接为马赛克视图,并且生成图像识别结果。图像识别应用103a或103b可以包括在本文中描述的其他功能,例如处理图像和执行特征识别。
在一些实施例中,图像识别应用103从捕获设备接收感兴趣的对象的一部分的图像。图像识别应用103确定图像的特征。图像识别应用103在捕获设备的显示器上生成包括感兴趣的对象的当前预览图像的用户界面。图像识别应用103将感兴趣的对象的当前预览图像与图像的特征进行动态比较,以确定重叠。图像识别应用103更新用户界面以包括视觉区分指示符,从而引导捕获设备的移动,来生成图像之间的期望或预定的重叠和对齐。图像识别应用103确定图像和当前预览图像之间的重叠是否满足预定的重叠和对齐阈值。例如,重叠阈值可以被设置为要拼接到一起以创建线性全景图像的图像之间的百分之六十。图像识别应用103基于满足预定的重叠阈值的重叠,捕获感兴趣的对象的一部分的预览图像。在下文中,将参照图3-15,对图像识别应用103的操作和上述功能进行更详细地描述。
图2是说明了包括图像识别应用103的计算设备200的一个实施例的框图。根据一些实施例,计算设备200还可以包括处理器235、存储器237、可选显示设备239、通信单元241、数据存储243和可选方位传感器245。通过总线220可通信地耦接计算设备200的组件。总线220可以代表一个或多个总线,包括工业标准结构(ISA)总线、外围组件互连(PCI)总线、通用串行总线(USB)或现有技术中的提供类似功能的一些其他总线。在一些实施例中,计算设备200可以是客户端设备115、识别服务器101或客户端设备115和识别服务器101的组合。在计算设备200是识别服务器101或客户端设备115的这样的实施例中,应当理解的是,客户端设备115和识别服务器101可以包括图2中未示出的如上所述的其他组件。
处理器235可以通过执行各种输入/输出、逻辑和/或数学操作来执行软件指令。处理器235可以具有各种计算结构来处理数据信号,包括例如复杂指令集计算机(CISC)结构、缩减指令集计算机(RISC)结构、和/或实现指令集的组合的结构。处理器235可以是物理上的和/或虚拟的,并且可以包括单个处理单元或多个处理单元和/或内核。在一些实现中,处理器235能够生成电子显示信号并将电子显示信号提供给显示设备,支持图像的显示,捕获并发送图像、执行复杂任务,所述复杂任务包括各种类型的特征提取和采样等。在一些实现中,处理器235可以经由总线220耦接到存储器237来从其访问数据和指令并在其中存储数据。总线220可以将处理器235耦接到计算设备200的其他组件,例如包括存储器237、通信单元241、图像识别应用103和数据存储243。对于本领域技术人员而言明显的是,还可以使用其他的处理器、操作系统、传感器、显示器和物理配置。
存储器237可以为计算设备200的其他组件存储数据并提供对数据的访问。存储器237可以被包括在单个计算设备中或分布在多个计算设备中,如本文中其他位置所述。在一些实现中,存储器237可以存储可以由处理器235执行的指令和/或数据。指令和/或数据可以包括用于执行本文中描述的技术的代码。例如,在一个实施例中,存储器237可以存储图像识别应用103。存储器237还能够存储其他指令和数据,包括例如操作系统、硬件驱动器、其他软件应用、数据库等。存储器237可以耦接到总线220以与处理器235和计算设备200的其他组件进行通信。
存储器237可以包括一个或多个非易失性计算机可使用(例如可读、可写)设备、静态随机存储器(SRAM)设备、嵌入式存储器设备、独立的存储器设备(例如PROM、FPROM、ROM)、硬盘驱动器、光盘驱动器(CD、DVD、蓝光(Blu-rayTM)等)介质,其可以是任何这样的有形装置或设备,所述装置或设备能够包括、存储、传送或传输指令、数据、计算机程序、软件、代码、例程等,以由处理器235处理或与处理器235相连接。在一些实现中,存储器237可以包括一个或多个易失性或非易失性存储器。例如,存储器237可以包括但不限于一个或多个动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、嵌入的存储器设备、分离的存储器设备(例如PROM、FPROM、ROM)、硬件驱动器、光盘驱动器(CD、DVD、蓝光(Blu-rayTM)等)。应当理解,存储器237可以是单个设备,或可以包括多种类型的设备和配置。
显示设备239是液晶显示器(LCD)、发光二极管(LED)或任何其他类似配置的显示设备、屏幕或监视器。显示设备239代表适用于显示本文中描述的用户界面、电子图像和数据的任何设备。在其他一些实施例中,显示是二进制的(针对像素仅仅只有两个不同的值)、单色(一个颜色的多种阴影),或允许多种颜色和阴影。显示设备239耦接到总线220,以与处理器235和计算设备200的其他组件进行通信。应当注意的是,图2中所示的显示设备239是以虚线绘示的,以指示其是可选的。例如,在计算设备200是识别服务器101的情况下,显示设备239不是系统的一部分,而在计算设备200是客户端设备115的情况下,显示设备239被包括并被用于显示在下文中参照图7A、图7B和图9A-15B所描述的用户界面。
通信单元241是用于通过将处理器235链接到网络105和其他处理系统来接收和发送数据的硬件。通信单元241从客户端设备115接收诸如请求之类的数据,并且将请求(例如处理图像的请求)发送到控制器201。通信单元241例如响应于处理图像,还将包括识别结果的信息发送到客户端设备115以进行显示。通信单元241耦接到总线220。在一个实施例中,通信单元241可以包括与客户端设备115或另一个通信通道的直接物理连接的端口。例如,通信单元241可以包括RJ45端口或与客户端设备115进行有线通信的类似端口。在另一个实施例中,通信单元241可以包括无线收发器(未示出),用于使用一个或多个无线通信方法(例如IEEE802.11、IEEE802.16、蓝牙或另一种适当的无线通信方法)经由客户端设备115或任何其他通信通道交换数据。
在另一个实施例中,通信单元241可以包括蜂窝通信收发器,用于通过蜂窝通信网络经由例如经由短消息服务(SMS)、多媒体消息服务(MMS)、超文本传输协议(HTTP)、直接数据连接、WAP、电子邮件或另一种适当类型的电子通信等发送和接收数据。在另一个实施例中,通信单元241可以包括有线端口和无线收发器。本领域技术人员可以理解的是,通信单元241还向网络105提供其他的常规连接,以使用诸如TCP/IP、HTTP、HTTPS和SMTP之类的标准网络协议分发文件和/或媒体对象。
数据存储243是存储用于提供本文中描述的功能的数据的非暂时性存储器。数据存储243可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪速存储器或一些其他的存储器设备。在一些实施例中,数据存储243还可以包括非易失性存储器或其他类似的永久性存储设备和介质,包括硬盘驱动器、软盘驱动器、CD-ROM设备、DVD-ROM设备、DVD-RAM设备、DVD-RW设备、闪速存储器设备或其他一些大容量存储设备,用于更持久地存储信息。
在所示的实施例中,数据存储243可通信地耦接到总线220。数据存储243存储用于分析所接收到的图像的数据以及分析和本文中所描述的其他功能的结果。例如,数据存储243可以存储图像重叠阈值,用于捕获最优重叠图像。数据存储243可以类似地存储捕获的图像和针对捕获的图像确定的特征集。此外,数据存储243可以存储拼接的线性全景图像。在下文中更详细地描述数据存储243中存储的数据。
方位传感器245可以是基于硬件的或基于软件的,或硬件和软件的组合,用于确定计算设备200的位置或运动。在一些实施例中,方位传感器245可以包括加速度器、陀螺仪、邻近传感器、地磁场传感器等。在另一些实施例中,方位传感器245可以提供三坐标轴的加速力数据,三坐标轴的转动数据的速率(例如,偏离(yaw)、俯仰(pitch)和滚动(roll)的值)、指示对象的距离的邻近度数据等。应当注意的是,图2中所示的方位传感器245是以虚线示出的,以指示其是可选的。例如,在计算设备200是识别服务器101的情况下,方位传感器245不是系统的一部分,而在计算设备200是客户端设备115的情况下,方位传感器245被包括并被用于提供本文中描述的各种运动的传感器信息或客户端设备200的位置确定事件。
捕获设备247可操作以捕获感兴趣的对象的数字数据或图像。例如,捕获设备247可以是高清(HD)相机、常规的2D相机、多光谱相机、结构化的发光3D相机、瞬时3D相机、立体相机、标准的智能电话相机或可穿戴计算设备。捕获设备247耦接到总线,以向处理器235、存储器237或数据存储243提供图像和其他处理过的元数据。应当注意的是,图2中所示的捕获设备247是以虚线绘示的,以指示其是可选的。例如,在计算设备200是识别服务器101的情况下,捕获设备247不是系统的一部分,而在计算设备200是客户端设备115的情况下,捕获设备247被包括并被用于提供在下文中参照图7A、图7B和图9A-15B所描述的图像和其他元数据。
在一些实施例中,图像识别应用103可以包括控制器201、特征提取模块203、预览生成模块205、特征比较模块207、方位检测模块209、拼接模块211和用户界面模块213。通过总线220可通信地耦接图像识别应用103的各个组件。
控制器201可以包括软件和/或逻辑,用于控制图像识别应用103的其他组件的操作。控制器201控制图像识别应用103的其他组件,以执行下文中参照图3-6描述的方法。控制器201可以包括软件和/或逻辑,以提供用于进行图像识别应用103和计算设备200的其他组件之间、以及图像识别应用103的组件之间的通信的功能。在一些实施例中,可以使用可编程或专门的硬件(例如现场可编程门阵列(FPGA)或专用集成电路(ASIC))来实现控制器201。在一些实施例中,可以使用由处理器235可执行的硬件和软件的组合来实现控制器201。在一些实施例中,控制器201是可由处理器235执行的指令集。在一些实现中,控制器201被存储在存储器237中,并且可被处理器235访问和执行。在一些实现中,控制器201适用于经由总线220与处理器235、存储器237和图像识别应用103的其他组件进行协作和通信。
在一些实施例中,控制器201经由通信单元241向/从客户端设备115和识别服务器101中的一个或多个发送/接收数据。例如,控制器201经由通信单元241从由用户操作的客户端设备115接收图像,并且将图像发送到特征提取模块203。在另一个示例中,控制器201从用户界面模块213接收用于将图形用户界面提供到用户的数据,并且将数据发送到客户端设备115,使得客户端设备115向用户呈现用户界面。
在一些实施例中,控制器201从图像识别应用103的其他组件接收数据,并且将数据存储在数据存储243中。例如,控制器201从特征提取模块203接收包括针对图像识别出的特征的数据,并且将数据存储在数据存储243中。在其他一些实施例中,控制器201从数据存储243获取数据,并且将数据发送到图像识别应用103的其他组件。例如,控制器201从数据存储243获取包括重叠阈值的数据,并且将所获取的数据发送到特征比较模块207。
特征提取模块203可以包括软件和/或逻辑,用于提供从客户端设备115接收感兴趣的对象的图像并且确定图像的特征的功能。在一些实施例中,可以使用可编程或专门的硬件(例如现场可编程门阵列(FPGA)或专用集成电路(ASIC))来实现特征提取模块203。在一些实施例中,可以使用由处理器235可执行的硬件和软件的组合来实现特征提取模块203。在一些实施例中,特征提取模块203是可由处理器235执行的指令集。在一些实现中,特征提取模块203被存储在存储器237中,并且可被处理器235访问和执行。在一些实现中,特征提取模块203适用于经由总线220与处理器235、存储器237和图像识别应用103的其他组件进行协作和通信。
在一些实施例中,特征提取模块203接收图像,并且确定图像的特征。在一些实施例中,特征提取模块203从预览生成模块205接收感兴趣的对象的预览图像,并且确定图像的一组特征。例如,特征提取模块203可以确定图像中识别出的每个特征的位置、方位和图像描述符。在一些实施例中,特征提取模块203使用角点检测算法(例如Shi-Tomasi角点检测算法、Harris和Stephens角点检测算法等)来确定特征位置。在一些实施例中,特征提取模块203使用二进制稳健独立基本特征(BRIEF)描述符方法来确定有效的图像特征描述符。在一些实施例中,特征提取模块203将图像的特征集发送到特征比较模块207。在其他实施例中,特征提取模块203将图像识别为参考图像,并且在数据存储243中存储特征集。
预览生成模块205可以包括软件和/或逻辑,用于提供从客户端设备115接收感兴趣的对象的预览图像并且指示用户界面模块213生成包括预览图像的用户界面的功能。在一些实施例中,可以使用可编程或专门的硬件(例如现场可编程门阵列(FPGA)或专用集成电路(ASIC))来实现预览生成模块205。在一些实施例中,可以使用由处理器235可执行的硬件和软件的组合来实现预览生成模块205。在一些实施例中,预览生成模块205是可由处理器235执行的指令集。在一些实现中,预览生成模块205被存储在存储器237中,并且可被处理器235访问和执行。在一些实现中,预览生成模块205适用于经由总线220与处理器235、存储器237和图像识别应用103的其他组件进行协作和通信。
在一些实施例中,预览生成模块205连续接收由捕获设备247采样的感兴趣的对象的预览图像,并且将预览图像发送到特征提取模块203。在一些实施例中,预览生成模块205可以接收在客户端设备115上图像捕获的样式的用户选择。在其他实施例中,预览生成模块205指示用户界面模块213生成用于在客户端设备115的显示器上显示预览图像的用户界面。
特征比较模块207可以包括软件和/或逻辑,提供用于将感兴趣的对象的预览图像与参考图像的特征进行动态比较的功能。在一些实施例中,可以使用可编程或专门的硬件(例如现场可编程门阵列(FPGA)或专用集成电路(ASIC))来实现特征比较模块207。在一些实施例中,可以使用由处理器235可执行的硬件和软件的组合来实现特征比较模块207。在一些实施例中,特征比较模块207是可由处理器235执行的指令集。在一些实现中,特征比较模块207被存储在存储器237中,并且可被处理器235访问和执行。在一些实现中,特征比较模块207适用于经由总线220与处理器235、存储器237和图像识别应用103的其他组件进行协作和通信。
在一些实施例中,特征比较模块207从特征提取模块203接收预览图像的特征,并且将参考图像的特征与预览图像的特征进行动态比较。在一些实施例中,特征比较模块207确定图像之间的重叠,并且指示用于在用户界面上生成视觉区分指示符的用户界面模块213以引导客户端设备115的移动来生成期望的重叠。在其他实施例中,特征比较模块207确定重叠是否满足预定的重叠阈值,并且将指令发送到特征提取模块203,以基于所满足的预定的重叠阈值将预览图像设置为参考图像。
方位检测模块209可以包括软件和/或逻辑,用于提供确定客户端设备115的倾斜并且指示用户界面模块213在视觉上指示倾斜的功能。在一些实施例中,可以使用可编程或专门的硬件(例如现场可编程门阵列(FPGA)或专用集成电路(ASIC))来实现方位检测模块209。在一些实施例中,可以使用由处理器235可执行的硬件和软件的组合来实现方位检测模块209。在一些实施例中,方位检测模块209是可由处理器235执行的指令集。在一些实现中,方位检测模块209被存储在存储器237中,并且可被处理器235访问和执行。在一些实现中,特征比较模块207适用于经由总线220与处理器235、存储器237和图像识别应用103的其他组件进行协作和通信。
在一些实施例中,方位检测模块209从客户端设备115的方位传感器245接收陀螺仪传感器信息。在一些实施例中,方位检测模块209基于陀螺仪传感器信息确定客户端设备115是否在方位的三个轴的一个轴上倾斜。在其他一些实施例中,方位检测模块209将指令发送到用户界面模块213,以在用户界面上生成视觉区分指示符,来引导客户端设备115的方位来消除倾斜。
拼接模块211可以包括软件和/或逻辑,以提供用于将一系列的图像拼接为单个线性全景图像的功能。在一些实施例中,可以使用可编程或专门的硬件(例如现场可编程门阵列(FPGA)或专用集成电路(ASIC))来实现拼接模块211。在一些实施例中,可以使用由处理器235可执行的硬件和软件的组合来实现拼接模块211。在一些实施例中,拼接模块211是可由处理器235执行的指令集。在一些实现中,拼接模块211被存储在存储器237中,并且可被处理器235访问和执行。在一些实现中,拼接模块211适用于经由总线220与处理器235、存储器237和图像识别应用103的其他组件进行协作和通信。
在一些实施例中,拼接模块211从特征提取模块203接收感兴趣的对象的参考图像。在一些实施例中,拼接模块211接收由特征比较模块207处理的图像之间的重叠信息。在一些实施例中,在计算设备200是客户端设备115的情况下,图像识别应用103的拼接模块211将感兴趣的对象的参考图像、重叠信息和其他元数据信息发送到识别服务器101,以生成单个线性全景图像。在一些实施例中,在计算设备200是识别服务器101的情况下,图像识别应用103的拼接模块211使用感兴趣的对象的参考图像、重叠信息和其他元数据信息来生成单个线性全景图像。在其他一些实施例中,拼接模块211接收线性全景图像,在数据存储243中存储线性全景图像,并且指示用户界面模块213生成用于显示线性全景图像的用户界面。
用户界面模块213可以包括用于将用户界面提供给用户的软件和/或逻辑。在一些实施例中,可以使用可编程或专门的硬件(例如现场可编程门阵列(FPGA)或专用集成电路(ASIC))来实现用户界面模块213。在一些实施例中,可以使用由处理器235可执行的硬件和软件的组合来实现用户界面模块213。在一些实施例中,用户界面模块213是可由处理器235执行的指令集。在一些实现中,用户界面模块213被存储在存储器237中,并且可被处理器235访问和执行。在一些实现中,用户界面模块213适用于经由总线220与处理器235、存储器237和图像识别应用103的其他组件进行协作和通信。
在一些实施例中,用户界面模块213从预览生成模块205和特征比较模块207接收指令,以生成指示用户如何移动客户端设备115以捕获接下来的图像的图形用户界面,所述接下来的图像具有与先前捕获的图像的良好的重叠。在一些实施例中,用户界面模块213从预览生成模块205和方位检测模块209接收指令,以生成图形用户界面,所述图形用户界面引导用户捕获在方位轴的任何一个轴(例如X、Y或Z轴)上不倾斜或仅略微倾斜的重叠图像。在其他一些实施例中,用户界面模块213将图形用户界面数据经由通信单元241发送到客户端设备115中的应用(例如浏览器),使得该应用将数据显示为图形用户界面。
方法
图3是说明了用于捕获单个线性全景图像的感兴趣的对象的一系列的图像的方法300的一个实施例的流程图。在302处,特征提取模块203从客户端设备115接收感兴趣的对象的一部分的图像,并且将图像识别为参考图像。例如,图像可以是货架、区域、艺术作品、路标、景区位置、外空间等的图像。对图像进行处理,并且假定其满足作为一系列的图像中的第一个图像的标准(位置、方位和对齐)以形成单个线性全景图像,其被识别为参考图像。在304处,特征提取模块203确定参考图像的特征。特征提取模块203可以确定参考图像中识别出的每个特征的位置、方位和图像描述符。例如,特征提取模块203使用角点检测算法(例如Shi-Tomasi角点检测算法)来确定特征位置。在另一个实施例中,特征提取模块203使用二进制稳健独立基本特征(BRIEF)描述符方法来确定有效的图像特征描述符。在306处,预览生成模块205确定是否存在由客户端设备115正在采样预览图像。在308处,如果预览图像正被采样,则预览生成模块205从客户端设备115接收感兴趣的对象的另一个部分的预览图像。在310处,用户界面模块213在客户端设备115的显示器上生成包括预览图像的用户界面。在312处,特征比较模块207将预览图像与参考图像的特征进行动态比较,以确定重叠。在314处,用户界面模块213将视觉区分指示符添加到用户界面,所述视觉区分指示符用于引导客户端设备115的移动以产生期望的重叠。在316处,特征比较模块207确定参考图像和预览图像之间的重叠是否满足预定的重叠阈值。预定的重叠阈值例如可以是大约百分之六十。在318处,特征比较模块207检查是否满足重叠阈值。在320处,如果满足重叠阈值,则特征提取模块203将预览图像设置为参考图像,并且方法300重复从步骤304开始的过程。例如,当参考图像和预览图像之间的重叠例如为大约百分之六十时,特征提取模块203可以从客户端设备接收感兴趣的对象的该部分的接下来的图像。随后,特征提取模块203将该新的图像识别为参考图像。如果并不满足重叠阈值,则方法300重复从步骤306开始的过程。随着持续更新捕获设备的显示器和用户界面上的预览图像,会接收到更多的图像,直到确定预览图像与参考图像具有足够的重叠为止。如果客户端设备115没有正对预览图像进行采样,则在322处,拼接模块211发送感兴趣的对象的各部分的图像,以生成单个线性全景图像。
图4A-4B是说明了用于捕获单个线性全景图像的感兴趣的对象的一系列的图像的方法400的另一个实施例的流程图。在402处,特征提取模块203从客户端设备115接收感兴趣的对象的一部分的图像,并且将图像识别为参考图像。在404处,特征提取模块203确定参考图像的特征。例如,特征提取模块203确定针对参考图像识别出的每个特征的图像描述符。特征提取模块203使用二进制稳健独立基本特征(BRIEF)描述符方法来确定有效的图像特征描述符。图像描述符可以是256比特的比特掩码,其描述由特征覆盖的图像子区域。在406处,预览生成模块205确定是否存在由客户端设备115正在采样预览图像。例如,预览图像可以是通过持续接收在镜头上形成并且由在客户端设备115内包括的图像传感器处理的图像而在客户端设备115的显示屏上生成的实时预览。如果预览图像正被采样,则在408处,预览生成模块205从客户端设备115接收感兴趣的对象的另一个部分的预览图像。在410处,用户界面模块213在客户端设备115的显示器上生成包括预览图像的用户界面。在412处,特征比较模块207将感兴趣的对象的预览图像与参考图像的特征进行动态比较。例如,特征比较模块207使用汉明距离(Hammingdistance)将感兴趣的对象的预览图像与参考图像的特征的图像描述符进行比较。在414处,特征比较模块207基于动态比较确定参考图像和预览图像之间的重叠。在416处,用户界面模块213将在预览图像上重叠的第一视觉区分指示符添加到用户界面,所述第一视觉区分指示符用于引导客户端设备115的移动以产生期望的重叠。例如,视觉区分指示符可以使用其在预览图像上重叠的相对位置来指示重叠的程度。视觉区分指示符的相对位置可以关联于用户对客户端设备115的移动。
在418处,特征比较模块207确定参考图像和预览图像之间的重叠是否满足预定的重叠阈值。在420处,方位检测模块209从客户端设备115接收陀螺仪传感器信息。在422处,方位检测模块209基于陀螺仪传感器信息确定客户端设备115是否在方位的三个轴的一个轴上倾斜。例如,方位检测模块209确定客户端设备115在X轴(俯仰)、Y轴(偏离)或Z轴(滚动)上倾斜。在424处,用户界面模块213将在预览图像上重叠的第二视觉区分指示符添加到用户界面,所述第二视觉区分指示符用于引导客户端设备115的方位以消除倾斜。例如,第二视觉指示符可以通过改变预览图像的外围上的外观或格式来指示在方位的三个轴的一个轴上的倾斜的程度。在426处,特征比较模块207检查是否满足重叠阈值。如果满足重叠阈值,则在428处,方位检测模块209检查是否存在倾斜。如果存在倾斜,则方法400重复从步骤406开始的过程。如果不存在倾斜,则在430处,特征提取模块203将预览图像设置为参考图像,并且方法400重复从步骤404开始的过程。例如,当实现了满足重叠阈值的重叠时,特征提取模块203可以从客户端设备接收感兴趣的对象的该部分的预览图像。随后,特征提取模块203将该接下来的图像识别为参考图像。如果并不满足重叠阈值,则方法400重复从步骤406开始的过程。随着持续更新捕获设备的显示器和用户界面上的预览图像,会接收到更多的图像,直到确定预览图像与参考图像具有足够的重叠为止。如果客户端设备115没有正对预览图像进行采样,则在432处,拼接模块211发送感兴趣的对象的各部分的图像,以生成单个线性全景图像。
图5A-5B是说明了用于捕获单个线性全景图像的感兴趣的对象的一系列的图像的方法500的又一个实施例的流程图。在502处,特征提取模块203从客户端设备115接收感兴趣的对象的一部分的图像,并且将图像识别为参考图像。在504处,特征提取模块203确定参考图像的特征。在506处,预览生成模块205确定是否存在由客户端设备115正在采样预览图像。如果预览图像正被采样,在508处,则预览生成模块205从客户端设备115接收感兴趣的对象的另一个部分的预览图像。在510处,用户界面模块213在客户端设备115的显示器上生成包括预览图像的用户界面。在512处,特征比较模块207将感兴趣的对象的预览图像与参考图像的特征进行动态比较。在514处,特征比较模块207基于动态比较确定参考图像和预览图像之间的重叠。例如,特征比较模块207动态地识别参考图像和预览图像之间的匹配图像描述符,以确定在两个图像之间存在重叠。在516处,用户界面模块213将在预览图像上重叠的第一视觉区分指示符添加到用户界面,所述第一视觉区分指示符用于引导客户端设备115的移动以产生期望的重叠。视觉区分指示符可以在如下方面中的一个方面视觉上不同:形状、尺寸、颜色、位置、方位和阴影。在518处,用户界面模块213基于动态比较、指示该重叠满足预定的重叠阈值的目标轮廓内部的第一视觉区分指示符的位置,更新第一视觉区分指示符相对于用户界面中的预览图像的中心处的目标轮廓的位置。例如,第一视觉区分指示符可以是彩色球,并且目标轮廓可以是几何形状的边界轮廓。与在预览图像上重叠的目标轮廓相关的彩色球的位置说明了期望的重叠。彩色球的位置越接近目标轮廓,重叠就越接近满足重叠阈值。在下文中,参考图9A-9D更详细地描述示例性的实施例。
在520处,特征比较模块207确定参考图像和预览图像之间的重叠是否满足预定的重叠阈值。在522处,方位检测模块209从客户端设备115接收陀螺仪传感器信息。在524处,方位检测模块209基于陀螺仪传感器信息确定客户端设备115在方位的三个轴的一个轴上倾斜。在526处,用户界面模块213将在预览图像的外围上重叠的第二视觉区分指示符添加到用户界面,所述第二视觉区分指示符用于引导客户端设备115的方位以消除倾斜。例如,倾斜的第二视觉区分指示符可以是基于梯度的指示符,以示出用户设备115上的用户界面的外围上的倾斜反馈。在528处,用户界面模块213基于倾斜修改用户界面中的第二视觉区分指示符的格式或外观。在530处,特征比较模块207检查是否满足重叠阈值。如果满足重叠阈值,则在532处,方位检测模块209检查是否存在倾斜。如果存在倾斜,则方法500重复从步骤506开始的过程。如果不存在倾斜,则在534处,特征提取模块203将预览图像设置为参考图像,并且方法500重复从步骤504开始的过程。例如,当参考图像和预览图像之间的期望重叠例如为大约百分之六十并且客户端设备115没有测量到或仅测量到略微的倾斜时,特征提取模块203可以从客户端设备115接收感兴趣的对象的一部分的接下来的图像。特征提取模块203将该接下来的图像识别为参考图像。如果并不满足重叠阈值,则方法500重复从步骤506开始的过程。随着持续更新捕获设备的显示器和用户界面上的预览图像,会接收到更多的图像,直到确定预览图像与参考图像具有足够的重叠为止。如果客户端设备115没有正对预览图像进行采样,则在536处,拼接模块211发送感兴趣的对象的各部分的图像,以生成单个线性全景图像。
图6A-6B是说明了将当前的预览图像与感兴趣的对象的之前捕获的图像之间重新对齐的方法600的一个实施例的流程图。在602处,特征提取模块203从客户端设备115接收感兴趣的对象的一部分的图像。在604处,特征提取模块203确定是否需要重新对齐。例如,特征提取模块203可以接收用户输入,以将客户端设备115上的预览图像与先前捕获的图像进行重新对齐。如果不需要重新对齐,则方法600结束。如果需要重新对齐,则在606处,特征提取模块203将图像识别为重影图像(ghostimage),并且确定重影图像的特征。在608处,预览生成模块205确定是否存在由客户端设备115正在采样预览图像。如果没有正对预览图像进行采样,则方法600结束。如果预览图像正被采样,则在610处,预览生成模块205从客户端设备115接收感兴趣的对象的另一个部分的预览图像。在612处,用户界面模块213生成与重影图像重叠的用户界面作为客户端设备115的显示器上的预览图像的上面的半透明掩膜。在614处,特征比较模块207将感兴趣的对象的预览图像与重影图像的特征进行动态比较,以确定重影图像和预览图像之间的重新对齐。在616处,用户界面模块213将在预览图像上重叠的视觉区分指示符添加到用户界面,所述视觉区分指示符用于引导客户端设备115的移动以产生期望的重新对齐。在618处,用户界面模块213基于动态比较、指示重新对齐成功的目标轮廓内部的视觉区分指示符的位置,更新与用户界面中的预览图像的中心处的目标轮廓相关的视觉区分指示符的位置。在620处,特征比较模块207检查重新对齐是否成功。如果重新对齐成功,则在622处,用户界面模块213更新用户界面以指示重新对齐成功。如果重新对齐不成功,则方法600重复从步骤608开始的过程。
用户界面
在一些实施例中,预览生成模块205从客户端设备115的用户接收请求,以捕获感兴趣的对象的图像。例如,图像可以是货架、区域、艺术作品、路标、景区位置、外空间等的图像。在一些实施例中,预览生成模块205指示用户界面模块213生成用户界面,以便在客户端设备115的显示器上包括感兴趣的对象的预览图像。特征提取模块203接收由客户端设备115捕获的图像,并且提取图像的特征集。如图7A的示例中所示,图形表示说明了用于捕获货架的图像的用户界面700的实施例。例如,货架的图像捕获零售商店处的货架的状态。图形表示中的用户界面700包括:由四个角标记702定义的框架701,用于将客户端设备115与图像捕获的货架对齐;位于显示中心的货架中心处的同心圆形状的一对目标轮廓703和704;陀螺仪水平线705和处于外围的一对倾斜参考箭头709a-709b以及711a-711b,用于指示在捕获图像之前货架的预览图像707是否偏离中心和/或倾斜。连接倾斜参考箭头709a-709b的细直线715可以与倾斜参考箭头709a-709b一致地水平左右移动,以指示方位的轴中的客户端设备115的倾斜。连接倾斜参考箭头711a-711b的细直线717可以与倾斜参考箭头711a-711b一致地上下移动,以指示方位的另一个轴中的客户端设备115的倾斜。外部目标轮廓704可以包括一对倾斜参考箭头713a-713b,其以不同方式提供与倾斜参考箭头709a-709b相同的功能。在另一个实施例中,如图7B中所示,图形表示说明了用于捕获货架的图像的用户界面750的另一个实施例。图形表示中的用户界面750是极简化的。在图7B中舍弃了图7A中的倾斜参考箭头709a-709b。替代地使用外部目标轮廓704内部放置的倾斜参考箭头713a-713b。与陀螺仪水平线705相结合的倾斜参考箭头709a-709b可以指示货架的预览图像707是否偏离中心和/或倾斜。例如,倾斜参考箭头709a-709b和陀螺仪水平线705可以根据客户端设备115绕着Z轴滚动的方向顺时针/逆时针转动。可以接收货架的图像以用于识别,并且货架的图像可以包括感兴趣的多个货品。例如,图像可以包括零售商店中的货架上的包装产品的图像(例如咖啡包装、早餐燕麦盒、苏打饮料瓶等等)。包装的产品可以包括在其表面上印刷的文本和图形信息,以将其与货架上的其他货品相区分。在一个示例中,客户端设备115的显示器可以闪烁以指示响应于用户触拍屏幕而捕获了图像。
在一些实施例中,特征提取模块203从客户端设备115接收感兴趣对象的一部分的图像,从图像中提取特征集,并且将特征集发送到特征比较模块207。所提取的特征集对于伸缩、转动、环境光、图像获取参数等的变化具有鲁棒性。特征提取模块203在特征集中定位每个特征,并且确定每个特征的位置、方位和图像描述符。位置可以是出现了每个特征的图像中的点的相对位置(例如,所识别出的一个特征的位置)。在一些实施例中,特征提取模块203使用角点检测算法(例如Shi-Tomasi角点检测算法、Harris和Stephens角点检测算法等)来确定特征位置。在一些实施例中,特征提取模块203使用二进制稳健独立基本特征(BRIEF)描述符方法来确定有效的图像特征描述符。特征的图像描述符可以是256比特的比特掩码,其描述由特征覆盖的图像子区域。在一些实施例中,特征提取模块203可以将密度的特征附近的每对256个像素对进行比较,并且基于每个比较,特征提取模块203可以设置或清除256比特的比特掩码中的一个比特。在一些实施例中,特征提取模块203确定所接收到的图像是否对于图像识别最优,并且指示用户界面模块213生成数据,所述数据指示用户在所拍摄的图像的部分具有完整识别的有限信息(例如,切除掉了特征富有的部分)、图像过于模糊、图像具有照明伪影(例如过多的反射)等的情况下重新拍摄图像。在一些实施例中,特征提取模块203识别由客户端设备115捕获的图像作为参考图像,并且将参考图像的所识别出的特征的集合存储在高速缓存中。例如,特征提取模块203处理图像,并且确定其是否满足作为形成单个线性全景图像所需的一系列图像中的第一个图像的标准(位置、方位和对齐)。如果满足,则特征提取模块203将图像识别为参考图像。在其他一些实施例中,特征提取模块203将由客户端设备115捕获的图像发送到拼接模块211。在其他一些实施例中,特征提取模块203从预览生成模块207接收感兴趣的对象的预览图像,从预览图像中实时地提取特征集,并且将特征集发送到特征比较模块207。
为了使用一系列的图像创建线性全景图像,用户可以沿着感兴趣的对象在任何方向上移动客户端设备115,同时保持与感兴趣的对象平行,以捕获跟随第一图像的接下来的图像。例如,携带客户端设备115的用户可以从位置的一个点向北、南、东或西向移动到另一个点,同时保持与货架单元保持平衡,以捕获一系列图像中的其他图像。客户端设备115的用户无法通过保持在位置的固定点处的稳定来捕获用于创建长货架单元的线性全景图像所需的图像。这是因为,从位置的固定点处,用户仅垂直或水平地转动以捕获与第一图像相连接的周围环境图像。如果货架的图像是以这种方式捕获的,在不会在两个图像拼接到一起的位置处的全景图像中产生奇怪的伪影的情况下,无法将图像拼接到一起。在一些实施例中,预览生成模块205接收用户针对用于捕获一系列的图像的图像捕获的样式的选择。
在一些实施例中,图像捕获的所选择的样式可以是蜿蜒扫描样式。在蜿蜒扫描样式中,图像捕获的顺序可以在顶部和底部之间(或左右之间)变换,同时客户端设备115在水平方向(或垂直方向)上与感兴趣的对象平行地移动。预览生成模块205指示用户界面模块213基于蜿蜒扫描样式,生成用于引导用户移动客户端设备115的用户界面。例如,用户界面可以指示客户端设备115可以首先向下(或向上)移动到感兴趣的对象,随后移动到感兴趣的对象的右侧(或左侧),随后向上(或向下)移动到感兴趣的对象,随后移动到感兴趣的对象的右侧(左侧),并且再次向下(或向上)移动感兴趣的而对象,以便跟随弯曲的扫描样式。特征提取模块203可以在每次移动的结束处接收由客户端设备115捕获的感兴趣的对象的图像。
在一些实施例中,图像捕获的所选择的样式可以是光栅扫描样式。光栅扫描样式通过沿着感兴趣的对象一次一条线地渐进移动客户端设备115,来覆盖感兴趣的对象的图像捕获。预览生成模块205指示用户界面模块213生成用于由用户基于光栅扫描样式引导客户端设备115的移动的用户界面。例如,用户界面可以指示客户端设备115可以在一条线上从左向右(或从右向左)移动到感兴趣的对象,随后在线的结束处向下(或向上)移动感兴趣的对象,并且在下一条线上再次从左向右(或从右向左)开始移动到感兴趣的对象,以便跟随光栅扫描样式。特征提取模块203可以在客户端设备115从左向右(或从右向左)每次移动的结束处接收由客户端设备115捕获的感兴趣的对象的图像。
在其他一些实施例中,图像捕获的所选择的样式可以是回场扫描样式(over-and-backscanpattern)。回场扫描样式通过在水平(或垂直)方向上在感兴趣的对象的一部分之上向一端移动客户端设备115并且随后将客户端设备115移动回来以捕获并未覆盖的感兴趣的对象的另一部分,来覆盖感兴趣的对象的图像捕获。预览生成模块205基于回场扫描样式,指示用户界面模块213生成用于引导用户移动客户端设备115的用户界面。例如,用户界面可以指示客户端设备115从左向右(或从右向左)向一端移动到感兴趣的对象,随后向下(或向上)移动到感兴趣的对象,并且从右向左(或从左向右)移动回开始端,以便跟随回场扫描样式。特征提取模块203接收在客户端设备115从左向右每次移动到一端的结束处、以及在客户端设备115从右向左每次移动并回到开始端处的结束处由客户端设备115捕获的感兴趣的对象的图像。
如图8的示例中所示,图形表示800说明了感兴趣的对象的所捕获的图像之间重叠的一个实施例。图像表示800包括零售商店中货架单元805的第一捕获图像801和第二捕获图像803。货架单元805存储有消费产品。图形表示800说明了第一捕获图像801与第二捕获图像803之间的重叠807。在一些实施例中,特征比较模块207指示用户界面模块213生成用户界面,以引导客户端设备115的移动来捕获一系列的图像中的下一个图像,所述下一个图像与感兴趣的对象的先前捕获的图像在一定程度上重叠。可以根据携带捕获设备的用户移动客户端设备115的方向来在水平或垂直方向上计算重叠。该重叠可以是用于通过将一系列图像中的每个单独的捕获图像拼接在一起来创建线性全景的拼接算法所预期的图像之间的重叠的阈值量(例如大约60%)。在一些实施例中,图像重叠阈值可以基于由识别服务器101使用的拼接算法来调谐图像重叠阈值。例如,拼接算法可以是在开源计算机视觉(OpenCV)包中包括的拼接器类,其中找到拼接器类的特征和支持拼接器类的描述算法可以是由下述各项组成的组中的一项或多项:二进制鲁棒不变尺度特征关键点(BRISK)算法、快速视网膜关键点(FREAK)算法、面向FAST和转动的BRIEF(ORB)算法等。在一些实施例中,图像重叠阈值可以是其他百分比。在一些实施例中,图像重叠阈值可以处于55%至65%之间的范围内。这样,客户端设备115可以调谐用于捕获图像的可兼容的参数,并且改进拼接算法的性能。
在一些实施例中,当客户端设备115指向感兴趣的对象时,预览生成模块205连续接收由客户端设备115所显示的感兴趣的对象的一部分的预览图像。预览图像可以是通过持续接收在镜头上形成并且由在客户端设备115内包括的图像传感器处理的图像而在客户端设备115的显示屏上生成的实时预览。在一些实施例中,预览生成模块205将正从客户端设备115连续接收的感兴趣的对象的预览图像发送到特征提取模块203以提取图像特征。
在一些实施例中,特征比较模块207将感兴趣的对象的先前捕获的图像的所识别出的特征与由客户端设备115正在显示的当前预览图像的特征进行动态比较。特征比较模块207识别出先前捕获的图像中的区别性特征,并且随后将它们有效地匹配到针对当前预览图像所提取的特征,以快速建立图像对之间的对应关系。例如,特征比较模块207使用汉明距离将感兴趣的对象的预览图像与参考图像的特征的图像描述符(即,256比特的比特掩码)进行比较。假定,如果变量“i”可以用于代表最新的先前捕获的图像,则图像特征集可以被表示为“Fi”,并且因此图像流水线中的当前图像的图像特征集可以被表示为Fi+1。序列中的第一个图像的图像特征集可以被表示为F0。在一些实施例中,特征比较模块207确定相似度函数,以将先前捕获的图像Fi与当前预览图像Fi+1进行比较,以生成相似度测量值Si。例如,公式可以被表示为sim(Fi,Fi+1)=Si。值Si代表先前捕获图像Fi与当前预览图像Fi+1之间的相似度的量。
在一些实施例中,特征比较模块207使用图像重叠阈值作为参数以及当前预览图像与先前捕获的图像之间的动态特征比较,以经由客户端设备115上的用户界面向用户提供引导和/或反馈。例如,特征比较模块207使用图像重叠阈值来设置相似度的值“V”为0.6。在一些实施例中,当用户在捕获上一个图像之后在与感兴趣的对象平行的一个方向(例如北、南、东或西)上移动客户端设备115时,特征比较模块207可以从方位传感器245接收包括客户端设备115的移动的数据。在一些实施例中,特征比较模块207基于在感兴趣的对象的先前捕获的图像与由客户端设备115所显示的当前预览图像之间的动态特征比较,确定客户端设备115的移动的方向。先前捕获的图像与当前预览图像之间的动态特征比较确定了图像差别的程度。特征比较模块207确定在先前捕获的图像与当前预览图像之间在客户端设备115的移动方向上是否存在现有的重叠,以及当客户端设备115在移动方向上移动时,现有的重叠是否接近预定的图像重叠阈值。特征比较模块207响应于客户端设备115的移动方向上的确定的重叠,指示用户界面模块213在用户界面上生成重叠的视觉区分指示符。重叠的视觉区分指示符可以在由客户端设备115显示的预览图像上重叠。重叠的视觉区分指示符可以在视觉上在如下方面中的一个方面不同:形状、尺寸、颜色、位置、方位和阴影。
特征比较模块207将用户界面上的重叠的视觉区分指示符的位置耦接到客户端设备115的移动方向。例如,如果携带客户端设备115的用户从左向右移动,则重叠的视觉区分指示符可以初始地显现在显示器的右侧上,并且基于动态特征比较开始移动到左侧。在另一个示例中,如果携带用户设备115的用户从右向左移动,则重叠的视觉区分指示符可以初始地显现在显示器的左侧上,并且基于动态特征比较开始移动到右侧。特征比较模块207在客户端设备115的移动方向上继续动态比较感兴趣的对象的先前捕获的图像的所识别出的特征与当前预览图像的特征。特征比较模块207将移动方向上的动态比较数据转换为改变用户界面上的视觉区分指示符的位置,该用户界面向用户提供如何移动客户端设备115以实现满足预定的重叠阈值的最优重叠的瞬时反馈。例如,如果先前捕获的图像与当前预览图像之间的重叠在移动方向上对应于预定的图像重叠阈值(例如,相似度值“V”=60%),则重叠的视觉区分指示符在用户界面上改变位置以指示已经符合这样的条件。重叠的视觉区分指示符可以移动到在客户端设备115的显示器的中心处的预览图像上重叠的几何形状(例如圆形、方形或多边形)的边界目标轮廓,以说明已经符合了最优重叠的条件。在一些实施例中,当重叠的视觉区分指示符在范围内时,例如在几何形状的内部时,特征比较模块207使用容差值“T”以及相似度值“V”来进行计算。在一些实施例中,特征比较模块207使用容差值“T”来允许在捕获图像之前相对于重叠的视觉区分指示符的多少的失真的比特需要处于几何形状的内部。在其他示例中,视觉区分指示符可以匹配为指示部分位于几何形状的内部,并且可以无需在捕获图像之前精确匹配在几何形状的内部。在一些实施例中,特征比较模块207指示用户界面模块213在用户界面上生成进度状态条,以指示在先前捕获图像与当前预览图像之间出现的重叠的程度,直到符合图像重叠阈值为止。例如,进度状态条可以示出实现重叠的递增进度。在其他实施例中,特征比较模块207响应于满足图像重叠阈值的重叠将捕获命令发送到客户端设备115以捕获图像,从客户端设备115接收图像,并且将图像发送到特征提取模块203。
在一些实施例中,特征比较模块207确定随着相似度函数的距离测量函数,以将指令发送到用户界面模块213。例如,发送到用户界面模块213的指令可以是驱动用户界面以显示重叠的视觉区分指示符并确定何时捕获图像的指令。距离测量函数代表从图像F0(即S0)到图像Fi(即Si)的这样确定的所有相似度测量值“S”的总和,并且可以被表示为dist(Si)。距离测量函数确定两个图像F0和Fi彼此有多接近。特征比较模块207确定相似度测量Si是否在相似度值“V”的容差值“T”的范围内,使得满足条件(V-T)<dist(Si)<(V+T)。如果满足该条件,则特征比较模块207将捕获命令发送到客户端设备115以捕获图像。随着距离测量函数dist(Si)接近位于容差值“T”的范围内,特征比较模块207使用通过距离测量函数dist(Si)产生的值来表示重叠的视觉区分指示符正在接近几何形状以适配在用户界面上的几何形状的边界区域内。例如,这可以转换为用于重叠的视觉区别指示符在客户端设备115的用户界面上显现得越来越不透明。
如图9的示例中所示,图形表示900说明了用于生成重叠的视觉区分指示符的图像匹配过程的实施例。在图9中,图形表示900包括相机预览帧902,所述相机预览帧902用于基于用户移动客户端设备115来改变图像帧(F1到F4),并且接收客户端设备115的显示器上的预览图像。图形表示900还包括针对每两个图像帧902进行计算的相似度测量函数904和针对目前已经接收的图像帧902进行计算的距离测量函数906。
如图10A-10D的示例中所示,图形表示说明了当客户端设备115从左向右方向移动时显示重叠的视觉区分指示符的用户界面的实施例。在图10A中,图形表示说明了用户界面1000,该用户界面1000包括球1001(阴影填充的圆)和货架的当前预览图像1005上的同心圆的一对目标轮廓1003和1003,如客户端设备115上所显示的那样。球1001用作重叠的视觉区分指示符,并且初始显现为透明,并且处于用户界面1000上的显示的右边缘处,这是因为随着客户端设备115从货架的左侧向右侧移动而开始出现重叠。圆的内部目标轮廓1003用作其中可以放置球1001的目标边界区域。在一些实施例中,球1001和一对目标轮廓1003和1003可以被定制为任何颜色、阴影、透明性、方位、形状、符号等。用户的目标在于通过将客户端设备115从货架的左侧向右侧移动对齐并且将球1001放置在用户界面1000上的内部目标轮廓1003内,以便捕获在显示器上正被连续预览的重叠图像。球1001被对齐在外部目标轮廓1003之内但在内部目标轮廓1003之外,这表明重叠良好但不足够。球1001被对齐在内部目标轮廓1003之内表明当前预览图像1005和先前捕获图像之间的重叠足够满足用于捕获下个图像的图像重叠阈值。在图10B和图10C中,各个图形表示说明了更新后的用户界面1030和1060,所述更新后的用户界面1030和1060显示球1001朝向接近内部目标轮廓1003移动并且显现为在色彩上越来越不透明,以指示正在产生期望的重叠。在其他一些实施例中,可以改变球1001的外观,以在视觉上指示重叠的程度。例如,球1001改变颜色、形状、透明性、阴影、方位等。随着球1001越来越接近内部目标轮廓1003,球1001的位置指示一进程,该进程关联于获取对应于图像重叠阈值的当前预览图像1005和先前捕获的图像之间的重叠。在图10D中,图形表示说明了更新用户界面1090以显示以实体非透明的颜色在内部目标轮廓1003内为中心的球1001。这向用户指示满足捕获图像的图像重叠阈值条件。可以通过从其先前状态以视觉区分(例如闪烁、以不同颜色闪烁、形状上的变化(例如三角形、五角形等)、填充的改变等)的方式示出球1001来以各种其他方式示出满足重叠阈值。在一些实施例中,用户界面1090可以在客户端设备115上暂短闪烁伴随有能够听得见的按快门的声音来指示已经捕获了图像。在图10D中,用户界面1090可以被重置,并且球1001可以在图像已经被捕获之后从用户界面1090消失,直到客户端设备115再次开始在货架上的一个方向上移动为止。
在图11A-11D的另一个示例中,图形表示说明了当客户端设备115从下向上方向移动时显示重叠的视觉区分指示符的实施例。在图11A中,图形表示说明了用户界面1100,该用户界面1100包括球1101和货架的当前预览图像1105上的同心圆的一对目标轮廓1103和1104,如客户端设备115上所显示的那样。球1101用作重叠的视觉区分指示符,并且初始显现为透明,并且处于用户界面1100上的显示的顶部边缘处,这是因为随着客户端设备115从货架的底部向顶部移动而开始出现重叠。用户的目的是通过将客户端设备115从货架的底部移动到顶部,对齐并且将球1101放置在用户界面1100上的内部目标轮廓1103中,以便捕获在显示器上正在预览的重叠图像。球1101被对齐在内部目标轮廓1103之内表明当前预览图像1105和先前捕获图像之间的重叠满足用于捕获下个图像的图像重叠阈值。在图11B和图11C中,各个图形表示说明了更新后的用户界面1130和1160,所述更新后的用户界面1130和1160显示球1101朝向接近内部目标轮廓1103移动并且显现为在色彩上越来越不透明。随着球1101越来越接近内部目标轮廓1103,球1101的位置指示一进程,该进程关联于获取对应于图像重叠阈值的当前预览图像1105和先前捕获的图像之间的重叠。在图11D中,图形表示说明了更新用户界面1190以显示以实体非透明的颜色在目标轮廓1103内为中心的球1101。这向用户指示满足捕获图像的图像重叠阈值条件。在一些实施例中,用户界面1190可以在客户端设备115上暂短闪烁伴随有能够听得见的按快门的声音来指示已经捕获了图像。在图11D中,用户界面1190可以重置,并且球1101可以在图像已经被捕获之后从用户界面1190消失,直到客户端设备115再次开始在货架上的一个方向上移动为止。
在一些实施例中,特征提取模块203接收随后捕获的图像,所述随后捕获的图像跟随感兴趣的对象的第一捕获图像,并且在图像之间没有或仅略微有倾斜,以便从图像中提取特征。在一些实施例中,方位检测模块209指示用户界面模块205生成用户界面,所述用户界面用于引导用户调整客户端设备115的方位,以捕获在方位的各个轴的任何一个轴(例如X、Y或Z轴)上不倾斜或仅略微倾斜的重叠图像。可以通过拼接算法来实现不倾斜或仅略微倾斜的重叠图像,以创建高分辨率的线性全景图像,该高分辨率的线性全景图像继而可以使得实现更好的图像识别。在一些实施例中,方位检测模块209接收陀螺仪传感器数据,该陀螺仪传感器数据包括在方位的三个轴的任何一个轴上的客户端设备115的倾斜。可以由在测量三个轴的任意一个轴中的转动的角度的客户端设备115内包括的方位传感器245来生成陀螺仪数据。例如,由俯仰参数来定义X轴上转动的角度,由偏离参数来定义Y轴上转动的角度,并且由滚动参数来定义Z轴上转动的角度。方位检测模块209基于陀螺仪传感器数据确定客户端设备115是否在方位的各个轴的一个轴上倾斜。响应于客户端设备115在方位的各个轴的一个轴或多个轴上倾斜,方位检测模块209指示用户界面模块213在客户端设备115的用户界面上生成倾斜的视觉区分指示符。用户界面上的倾斜的视觉区分指示符的位置和/或外观可以耦接到客户端设备115的倾斜,使得其在方位的三个轴的任何一个轴上存在与客户端设备115相关联的倾斜时能够通过瞬时反馈进行指示。在一个示例中,倾斜的视觉区分指示符可以是基于梯度的指示符,以示出用户设备115上的用户界面的外围上的倾斜反馈。基于梯度的指示符可以在颜色上不同,例如红色指示滚动,蓝色指示俯仰,并且白色指示偏离。在另一个示例中,倾斜的视觉区分指示符可以是在客户端设备115上的用户界面的中心处显示的水平线。在另一个示例中,倾斜的视觉区分指示符可以是角度偏移指示符,以示出客户端设备115的用户界面上的绕X轴、Y轴和Z轴转动的角度。在另一个示例中,倾斜的视觉区分指示符可以是连接在客户端设备115上显示的用户界面的相对侧上的两个箭头点的线。连接跨用户界面的两个箭头点的线的移动可以被配置为示出用户界面上的倾斜反馈。在另一个实施例中,倾斜的视觉区分指示符可以是基于梯度的指示符、水平线和连接两个箭头点的线的组合。在一些实施例中,方位检测模块209指示用户界面模块205在用户界面上生成警告通知,以指示用户在能够捕获感兴趣的对象的图像之前首先必须要纠正倾斜。
如图12A-12D的示例中所示,图形表示说明了当客户端设备115绕Z轴滚动时显示倾斜的视觉区分指示符的用户界面的实施例。在图12A中,图形表示说明了用户界面1200,该用户界面1200包括在货架的当前预览图像1205上的一对滚动参考箭头1201a-1201b、一对俯仰参考箭头1209a-1209b以及水平线1203,如客户端设备115上所显示的那样。滚动参考箭头1201a-1201b位于用户界面1200的顶部和底部外围部分处。通过细直线1207连接滚动参考箭头1201a-1201b,并且它们用作滚动的视觉区分指示符。俯仰参考箭头1209a-1209b位于用户界面1200的左侧和右侧外围部分处。通过细直线1211连接俯仰参考箭头1209a-1209b,并且它们用作俯仰的视觉区分指示符。在图12A中,通过细直线1207连接的滚动参考箭头1201a-1201b、通过细直线1211连接的俯仰参考箭头1209a-1209b和水平线1203处于中间滚动位置,这是因为客户端设备115并不朝向货架倾斜。在图12B中,图形表示说明了在客户端设备115向左滚动同时与货架平行时的更新后的用户界面1230。通过细直线1207连接的滚动参考箭头1201a-1201b移动到用户界面1230的左侧,以指示与指向货架的客户端设备115相关联的滚动的程度。由于客户端设备115并不俯仰,通过细直线1211连接的俯仰参考箭头1209a-1209b并不改变位置。除了滚动参考箭头1201a-1201b之外,用户界面1230还包括在用户界面1230的外围上的滚动梯度1213a和1213b,以用作滚动的视觉区分指示符。滚动梯度1213a和1213b指示由于滚动到左侧造成倾斜离中心有多远。水平线1203提供客户端设备115距离中间滚动位置多远的额外信息。在图12C中,图形表示说明了在客户端设备115向右滚动同时与货架平行时的另一个更新后的用户界面1260。通过细直线1207连接的滚动参考箭头1201a-1201b移动到用户界面1260的右侧,以指示与指向货架的客户端设备115相关联的滚动的程度。滚动梯度1213a-1213b再次指示由于滚动到右侧造成倾斜离中心有多远,并且水平线1203示出了客户端设备115离中间滚动位置有多远。在一些实施例中,图12B和图12C中的球1215可以变换为不同的黄色,以指示客户端设备115正滚动到左侧或右侧。在一些实施例中,当存在与先前捕获图像的较好的重叠时,球1215可以变为位于内部目标轮廓1217内的中心处。方位检测模块209指示用户界面模块213在用户界面上生成警告通知,以指示用户在能够捕获图像之前首先必须要消除倾斜。
如图13A-13C的示例中所示,图形表示说明了当客户端设备115绕X轴俯仰时显示倾斜的视觉区分指示符的用户界面的实施例。在图13A中,图形表示说明了用户界面1300,该用户界面1300包括在货架的当前预览图像1305上的一对俯仰参考箭头1301a-1301b、以及一对滚动参考箭头1303a-1303b,如客户端设备115上所显示的那样。俯仰参考箭头1301a-1301b位于用户界面1300的左侧和右侧的外围部分处。通过细直线1307连接俯仰参考箭头1301a-1301b,并且俯仰参考箭头1301a-1301b可以用作俯仰的视觉区分指示符。在图13A中,俯仰参考箭头1301a-1301b位于中间俯仰位置,这是因为客户端设备115并不朝向货架倾斜。在图13B中,图形表示说明了在客户端设备115向前俯仰时的更新后的用户界面1330。客户端设备115的顶部接近货架的顶部,并且朝向货架顶部的产品在当前预览图像1205上显得比较大。通过细直线1307连接的俯仰参考箭头1301a-1301b移动到用户界面1330的顶部,以指示与指向货架的客户端设备115相关联的俯仰的程度。由于客户端设备115并不滚动,因此通过细直线1309连接的一对滚动参考箭头1303a-1303b并不改变位置。除了俯仰参考箭头1301a-1301b之外,用户界面1330还包括在用户界面的外围上的俯仰梯度1311a和1311b,以用作俯仰的视觉区分指示符。俯仰梯度1311a和1311b指示客户端设备115感测到多少俯仰。在图13C中,图形表示说明了在客户端设备115向后俯仰时的另一个更新后的用户界面1360。客户端设备115的底部接近货架的底部,并且朝向货架底部的产品在当前预览图像1305上显得比较大。通过细直线1307连接的俯仰参考箭头1301a-1301b移动到用户界面1360的底部,以指示与指向货架的客户端设备115相关联的俯仰的程度。俯仰梯度1311a和1311b再次指示在进行向后俯仰时客户端设备115感测到多少俯仰。在一些实施例中,图13B和图13C中的球1313可以变换为不同的颜色,以指示客户端设备115正在向前或向后俯仰。
如图14A-14B的示例中所示,图形表示说明了当客户端设备115在X轴和Z轴上倾斜时显示倾斜的视觉区分指示符的用户界面的实施例。在图14A中,图形表示说明了在客户端设备115向前倾斜并且向左滚动同时指向货架时的用户界面1400。连接滚动参考箭头1407a-1407b的细直线1415和连接俯仰参考箭头1411a-1411b的细直线1417在内部目标轮廓1403之外彼此交叉以形成交叉点1401。位于内部目标轮廓1403之外的交叉点1401的位置可以向用户视觉指示客户端设备115在X轴上或Z轴上倾斜或者在X和Z轴两者上倾斜。在图14B中,图形表示说明了在客户端设备115向后倾斜并且向右滚动同时指向货架时的另一个用户界面1450。再次位于目标轮廓1403之外的交叉点1401可以向用户视觉指示客户端设备115在X轴上或Z轴上倾斜或者在X和Z轴两者上倾斜。在图14A和图14B中,包括基于梯度的指示符(例如滚动梯度1409a-1409b、俯仰梯度1413a-1413b等)的用户界面1400和1450的外围部分可以改变颜色以向用户视觉指示客户端设备115在一个轴或多个轴上倾斜得过多了。在用户界面1400和1450的外围上,由直线1415连接的滚动参考箭头1407a-1407b左右滑动,并且由直线1417连接的俯仰参考箭头1411a-1411b上下滑动,上述滑动接合它们对应的在滚动(Z)轴上的滚动梯度1409a-1409b和在俯仰(X)轴上的俯仰梯度1413a-1413b,以向用户提供关于倾斜的瞬时反馈。
在一些实施例中,特征提取模块203可以从用户接收请求来将由客户端设备115所显示的感兴趣的对象的当前预览图像与在图像捕获样式的序列中的中断之后先前捕获的图像的观察点进行对齐。例如,用户可以在捕获感兴趣的对象的一部分的图像的同时进行中断,并且不得不离开场景一段时间。用户可能随后希望返回以继续捕获感兴趣的对象的后续图像。在一些情况下,可能忘记了图像捕获过程中的中断的位置。在捕获过道中的货架单元的图像的示例中,关键的是在中断之前捕获最后图像大致相同的位置处重新开始图像捕获过程。在一些实施例中,重叠和/或倾斜的视觉区分指示符可能不会起作用,除非用户从与先前捕获的图像良好重叠的位置重新开始图像捕获过程。重要的是找到总体区域,在所述总体区域中,在重新开始图像捕获过程之前由客户端设备115捕获感兴趣的对象的先前的图像。
在一些实施例中,特征提取模块203识别出先前捕获的图像作为重影图像(期望将该重影图像与预览图像重新对齐),并且将重影图像发送到预览生成模块205和特征比较模块207。预览生成模块205指示用户界面模块213生成用户界面,所述用户界面将作为重影图像的先前捕获的图像放置在正由客户端设备115显示的当前预览图像的顶部上。例如,用户可以走到沿着感兴趣的对象的位置(该位置为用户理解的最后的图像被先前捕获的位置),并且使用在当前预览图像之上的重影图像的重叠来开始重新对齐过程。重影图像显现为重叠在预览图像之上的半透明掩膜。特征比较模块314指示用户界面模块213利用视觉区分指示符更新用户界面,以引导客户端设备115的移动以产生期望的重新对齐。重新对齐的视觉区分指示符可以在如下方面中的一个方面在视觉上不同:形状、尺寸、颜色、位置、方位和阴影。特征比较模块207将用户界面上的重新对齐的视觉区分指示符的位置耦接到客户端设备115的移动。特征比较模块207在客户端设备115的移动方向上动态比较感兴趣的对象的先前捕获的图像的所识别出的特征与当前预览图像的特征,以确定图像之间的重新对齐。例如,先前捕获的图像的图像特征集可以被表示为F0。为预览图像帧确定的图像特征集可以被表示为Fi。随着客户端设备115沿着感兴趣的对象移动以与先前捕获的图像重新对齐,特征提取模块203为每个预览图像帧生成图像特征。如果Fi中的变量“i”等于五(即五个预览图像帧已经被捕获,其中没有计算先前捕获的图像,第五个预览图像帧是F5),则特征比较模块207确定相似度函数,以将先前捕获的图像F0与当前的预览图像F5进行比较,以生成相似度测量值S5。例如,相似度函数可以被表示为sim(F0,F5)=S5。该值S5表示两个图像彼此之间的相似度,并且指示用户必须沿着感兴趣的对象移动多远才能与先前捕获的图像重新对齐。相似度测量值S5指示与用作参考图像的先前捕获的图像F0的比较,而非与在图像特征集F5之前的最后图像特征集F4的比较。特征比较模块207随后将移动方向上的动态比较(即相似度函数)转换为改变用户界面上的视觉区分指示符的位置,使得其向用户提供如何移动客户端设备115以实现与先前捕获图像的适当重新对齐的反馈。在一些实施例中,特征比较模块207确定并接收重新对齐成功的确认。特征比较模块207随后指示用户界面模块213更新用户界面以指示重新对齐成功并且将用户界面从重新对齐模式返回到能够引导用户如何捕获一系列图像中的下个图像的捕获模式。
如图15的示例中所示,图形表示1500说明了用于生成重新对齐的视觉区分指示符的重新对齐过程的实施例。在图15中,图形表示1500包括相机预览帧1504,所述相机预览帧1504用于基于用户沿着感兴趣的对象移动客户端设备115来改变图像帧(F1到F4)。图形表示1500还包括在每个预览图像帧1504的特征和先前捕获的图像1502的特征之间计算的相似度测量函数1506。如上所述,相似度测量函数1506代表每个预览图像帧1504与先前捕获的图像1502之间的相似度,并且指示用户必须如何沿着感兴趣的对象移动客户端设备115来将预览图像与先前捕获的图像1502重新对齐。
如图16A-16D的示例中所示,图形表示说明了将在客户端设备115上显示的当前的预览图像与先前捕获的图像重新对齐的用户界面显示的实施例。在图16A中,图形表示说明了用户界面1600,该用户界面1600包括球1601和在货架的当前预览图像1607的顶部上出现的重影图像1605之上的同心圆的一对目标轮廓1603和1604,如客户端设备115上所显示的那样。球1601用作重新对齐的视觉区分指示符。内部目标轮廓1603可以显现为被修改有“X”交叉线,以指示用户界面处于重新对齐模式中。内部目标轮廓1603假定与客户端设备115的用户选择开始重新对齐的对齐按钮1609具有相同的外观。内部目标轮廓1603用作目标边界区域,在该目标边界区域中,定位重新对齐的视觉区分指示符。用户的目的是通过移动客户端设备115,对齐并且将球1601放置在用户界面1600上的目标轮廓1603中,以实现与重影图像1605的对齐。在图16B中,图形表示说明了显示随着预览图像1607显现与重影图像1605重新对齐,球1601移动接近内部目标轮廓1603的更新后的用户界面1630。在图16C中,图形表示说明了显示更新后的内部目标轮廓1603的另一个用户界面1660,以示出重新对齐已经基本上完成,并且球1601几乎处于内部目标轮廓1603的内部。内部目标轮廓1603返回到常规的交叉线。在图16D中,图形表示说明了用户界面1690,所述用户界面1690被更新以显示重新对齐之后的当前预览图像1607。由于重新对齐成功,因此来自图16C的重影图像1605不再在预览图像1607上重叠。这向用户指示用户界面1690被从重新对齐模式切换到捕获模式,并且现在已经准备好捕获感兴趣的对象的下一个图像。
在一些实施例中,拼接模块211从特征提取模块203接收图像,并且将捕获的图像集以及重叠信息从客户端设备115发送到识别服务器101以拼接单个线性全景图像。在一些实施例中,拼接模块211将捕获的图像集中的每个单独图像的所提取的特征与在数据存储243中存储的那些特征进行比较以进行识别。拼接模块211例如识别单个图像中的产品,并且使用这样的信息以及重叠信息,以将所捕获的图像集拼接为单个线性全景图像。如图17A-17B的示例中所示,图形表示说明了用于预览所捕获的图像集的用户界面的实施例。在图17A中,图形表示说明了显示马赛克1701的图形界面1700,该马赛克1701预览目前已经被捕获的货架的图像集,并且使用当捕获图像时获取的图像特征和重叠信息来拼接成单个全景图像。例如,用户界面1700中所示的图像的重叠可以大致相同于百分之六十的重叠阈值参数。用户界面1700还包括滑块(tab)1703,用户可以滑动该滑块1703以观看每个单独捕获的图像。在图17B中,图形表示说明了用户界面1750,该用户界面1750响应于用户滑动滑块1703而突出显示每个单独捕获的图像。例如,用户可以触拍突出显示的图像1705,从而以更大的预览用户界面观看图像。在一些实施例中,拼接模块211根据线性全景图像确定包括与货架的状态相关的信息的相关分析数据。例如,拼接模块211可以根据线性全景图像识别出产品缺货、未知产品等。在另一个示例中,拼接模块211可以使用线性全景图像确定表示货架图遵从度。拼接模块211可以将全景图像和相关联的元数据存储在数据存储243中。拼接模块211还可以指示用户界面模块213在客户端设备115的显示器上提供指令,以请求用户采取正确的商店中的行为。例如,正确的行为可以是遵从于表示货架图而在货架上布置产品。
已经描述了用于捕获一系列的图像来创建线性全景图像的系统和方法。在上述方法中,出于解释的目的,阐述了许多具体细节以便提供对上述介绍的技术的彻底理解。但应当理解的是,对于本领域技术人员而言,可以在没有这些具体细节的情况下实现本申请中的技术。在其他示例中,以框图形式示出了结构和设备,以便避免对说明书造成模糊并便于理解。例如,在上文中主要参照软件和特定硬件在一个实施例中描述了技术。然而,本发明可以适用于任何类型的计算系统,所述计算系统能够接收数据和命令,并且呈现信息作为提供服务的任何外围设备的一部分。
在本说明书中对“一个实施例”或“实施例”的引用表示与实施例相关联而描述的特定的特征、结构或特性被包括在至少一个实施例中。本说明书中各处出现的词语“在一个实施例中”不一定都指示相同的实施例。
以对计算机存储器内的数据比特进行从操作的算法和符号表示的形式呈现了以上描述的详细说明中的一部分。在一些情况下,这些算法描述和表示由数据处理技术领域的技术人员使用,用于将他们工作的实质传递给本领域中的其他技术人员。这样的算法通常被构思为能够得到期望的结果的自身一致的步骤的序列。这些步骤需要针对物理量的物理操作。尽管并非必要,但这些量一般采用能够被存储、传输、组合、比较或进行其他操作的电或磁信号的形式。已经证实了在一些情况下主要出于公共使用的原因以比特、值、单元、符号、字符、词语或数字等参照这些信号是有益的。
但应当理解,所有这些和类似词语将关联于适当的物理量,并且仅是被应用于这些量的方便标签。除非在以下论述中另有明确说明,否则应当理解在说明书中使用诸如“处理”、“计算”、“算术”、“确定”或“显示”之类的词语进行的论述是指计算机系统或类似的电子计算设备的动作或处理,所述计算机系统或类似的电子计算设备操作并将被表示为计算机系统的寄存器和存储器中的物理(电子)量的数据转换为被类似表示为计算机系统的存储器或寄存器或其他这样的信息存储、传输或显示设备中的物理量的其他数据。
本技术还涉及用于执行本文中所述的操作的装置。可以为了所需的目的专门构造该装置,或者其可以包括被选择性地激活的通用计算机或通过在计算机中存储的计算机程序被重新配置。这样的计算机程序可以被存储在非易失性计算机可读存储介质中,例如但不限于任何类型的盘片(包括软盘、光盘、CD-ROM和磁盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、包括具有非易失性存储器的USB密钥的闪速存储器或适合于存储电子指令的任何类型的介质,上述存储介质均耦接到计算机系统总线。
一些实施例可以采用完全硬件实施例的形式、完全软件实施例的形式或包括硬件和软件单元两者的实施例的形式。以软件实现实施例,所述软件包括但不限于固件、驻留软件、微代码等。
此外,一些实施例可以采用从计算机可使用或计算机可读介质可访问的计算机程序产品的形式,所述介质提供程序代码,以供由计算机或任何指令执行系统使用或与计算机或任何指令执行系统相关联。出于本说明的目的,计算机可使用或计算机可读介质可以是能够包含、存储、通信、传播或传输程序的任何装置,所述程序由指令执行系统、装置或设备使用或与指令执行系统、装置或设备相关联地使用。
适用于存储和/或执行程序代码的数据处理系统可以包括通过系统总线与存储器单元直接或间接耦接的至少一个处理器。处理器单元包括在程序代码实际执行期间采用的本地存储器、大容量存储器或高速缓存存储器,所述高速缓存存储器提供至少一些程序代码的临时存储,以便减少在执行期间必须从大容量存储器获取代码的次数。
输入/输出(I/O)设备(包括但不限于键盘、显示器、指向设备等)可以被直接或通过中间I/O控制器耦接到系统。
网络适配器还可以耦接到系统,以使得数据处理系统能够通过中间私有或公共网络耦接到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器和以太网卡仅仅是当前可用类型的网络适配器中的一些。
最后,本文中出现的算法和显示并不内在地涉及任何特定的计算机或其他装置。可用根据本文中的技术与程序一起使用各种通用系统,或可以证明便捷地构件更专门的装置来执行所需的方法步骤。从以上的描述中可以看出各种这些系统所需的结构。此外,并不参照任何特定的编程语言来描述上述技术。应当理解,可以使用各种编程语言来实现在本文中描述的各个实施例的教诲。
出于说明和描述的目的已经呈现了实施例的以上描述。其并不意在是穷尽的或将说明书限制到所公开的精确形式。根据上述教诲可以进行许多修改和变更。并非由详细的说明书、而是由本申请的权利要求来显示实施例的范围。如本领域技术人员所熟悉的那样,实施例可以被体现为其他具体形式,而不偏离其精神和实质特征。同样,模型、例程、特征、属性、方法或其他方面的特定名称和划分并不是必要或重要的,并且实现说明或其特征的机构可以具有不同的名称、划分和/或格式。此外,如对于本领域一般技术人员而言显而易见的,本说明书的模型、例程、特征、属性、方法或其他方面可以被实现为软件、硬件、固件或这三者的任意组合。而且,在本说明书的组件(其示例是模块)被实现为软件的情况下,组件可以被实现为单独的程序、大型程序的一部分、多个分离的程序、静态或动态的链接库、内核可加载模块、设备驱动器,和/或如计算机编程领域的一般技术人员现在或在未来以每种方式或以任何其他方式已知的那样。此外,说明书并不被限制为任何特定编程语言的实施例,或并不被限制为任何特定的操作系统或环境。相应地,本公开意在是说明性的,而非限制说明的范围,其在所附权利要求中进行限制。
本申请基于并要求于2015年1月19日提交的美国临时专利申请No.62/105,189、于2015年3月3日提交的美国临时专利申请No.62/127,750以及于2015年7月3日提交的美国专利申请No.14/791,374的优先权,上述申请的全部内容通过引用方式并入到本文中。

Claims (14)

1.一种方法,包括:
从客户端设备接收感兴趣的对象的一部分的图像;
将所述图像识别为参考图像;
确定所述参考图像的特征;
接收感兴趣的对象的另一部分的预览图像;
确定所述预览图像的特征;
生成包括所述预览图像的用户界面;
将所述参考图像的特征与所述预览图像的特征进行动态比较,以确定重叠;
将在所述预览图像上重叠的第一视觉区分指示符添加到所述用户界面,所述第一视觉区分指示符用于引导所述客户端设备的移动以产生期望的重叠;
确定所述参考图像和所述预览图像之间的重叠是否满足预定的重叠阈值;以及
响应于所述参考图像和所述预览图像之间的重叠满足预定的重叠阈值,将感兴趣的对象的预览图像设置为所述参考图像。
2.如权利要求1所述的方法,包括:基于所述参考图像和所述预览图像的特征的动态比较,更新所述第一视觉区分指示符相对于在所述预览图像的中心处重叠的目标轮廓的位置。
3.如权利要求1所述的方法,还包括:
从所述客户端设备接收陀螺仪传感器信息;
基于所述陀螺仪传感器信息,确定所述客户端设备在方位的三个轴中的一个轴上的倾斜;以及
响应于存在倾斜,将在所述预览图像的外围上重叠的第二视觉区分指示符添加到所述用户界面,所述第二视觉区分指示符用于引导所述客户端设备的方位以消除倾斜。
4.如权利要求3所述的方法,包括:
修改所述第二视觉区分指示符的外观以指示所述客户端设备的倾斜,并且响应于不存在所述倾斜而将所述感兴趣的对象的预览图像设置为所述参考图像。
5.如权利要求1所述的方法,包括:
响应于在所述参考图像和所述预览图像之间的重叠不满足所述预定的重叠阈值,接收所述感兴趣的对象的不同部分的下一个预览图像。
6.如权利要求1所述的方法,包括:
发送针对所述感兴趣的对象接收的图像,以生成单个线性全景图像。
7.如权利要求1所述的方法,其中
所述第一视觉区分指示符在如下各项中的一项上视觉上不同:形状、尺寸、颜色、位置、方位和阴影。
8.如权利要求1所述的方法,其中
所述第二视觉区分指示符是如下各项中的一项:基于梯度的指示符、角度偏移指示符和倾斜参考箭头。
9.一种系统,包括:
一个或多个处理器;以及
存储器,所述存储器存储指令,所述指令当被执行时使得所述一个或多个处理器执行:
从客户端设备接收感兴趣的对象的一部分的图像;
将所述图像识别为参考图像;
确定所述参考图像的特征;
接收感兴趣的对象的另一部分的预览图像;
确定所述预览图像的特征;
生成包括所述预览图像的用户界面;
将所述参考图像的特征与所述预览图像的特征进行动态比较,以确定重叠;
将在所述预览图像上重叠的第一视觉区分指示符添加到所述用户界面,所述第一视觉区分指示符用于引导所述客户端设备的移动以产生期望的重叠;
确定所述参考图像和所述预览图像之间的重叠是否满足预定的重叠阈值;以及
响应于所述参考图像和所述预览图像之间的重叠满足预定的重叠阈值,将感兴趣的对象的预览图像设置为所述参考图像。
10.如权利要求9所述的系统,其中
所述指令还使得所述一个或多个处理器执行:基于所述参考图像和所述预览图像的特征的动态比较,更新所述第一视觉区分指示符相对于在所述预览图像的中心处重叠的目标轮廓的位置。
11.如权利要求9所述的系统,其中
所述指令还使得所述一个或多个处理器执行:
从所述客户端设备接收陀螺仪传感器信息;
基于所述陀螺仪传感器信息,确定所述客户端设备在方位的三个轴中的一个轴上的倾斜;以及
响应于存在倾斜,将在所述预览图像的外围上重叠的第二视觉区分指示符添加到所述用户界面,所述第二视觉区分指示符用于引导所述客户端设备的方位以消除倾斜。
12.如权利要求11所述的系统,其中
所述指令还使得所述一个或多个处理器执行:修改所述第二视觉区分指示符的外观以指示所述客户端设备的倾斜,并且响应于不存在所述倾斜而将所述感兴趣的对象的预览图像设置为所述参考图像。
13.如权利要求9所述的系统,其中
所述指令还使得所述一个或多个处理器执行:响应于在所述参考图像和所述预览图像之间的重叠不满足所述预定的重叠阈值,接收所述感兴趣的对象的不同部分的下一个预览图像。
14.如权利要求9所述的系统,其中
所述指令还使得所述一个或多个处理器执行:发送针对所述感兴趣的对象接收的图像,以生成单个线性全景图像。
CN201610017945.3A 2015-01-19 2016-01-12 用于线性全景图像拼接的图像获取用户界面 Active CN105809619B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201562105189P 2015-01-19 2015-01-19
US62/105,189 2015-01-19
US201562127750P 2015-03-03 2015-03-03
US62/127,750 2015-03-03
US14/791,374 2015-07-03
US14/791,374 US9594980B1 (en) 2015-01-19 2015-07-03 Image acquisition user interface for linear panoramic image stitching

Publications (2)

Publication Number Publication Date
CN105809619A true CN105809619A (zh) 2016-07-27
CN105809619B CN105809619B (zh) 2019-12-20

Family

ID=55221269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610017945.3A Active CN105809619B (zh) 2015-01-19 2016-01-12 用于线性全景图像拼接的图像获取用户界面

Country Status (4)

Country Link
US (2) US9594980B1 (zh)
EP (1) EP3046069A1 (zh)
JP (2) JP6132038B2 (zh)
CN (1) CN105809619B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071281A (zh) * 2017-04-19 2017-08-18 珠海市魅族科技有限公司 全景拍摄方法及装置
CN108111752A (zh) * 2017-12-12 2018-06-01 北京达佳互联信息技术有限公司 视频拍摄方法、装置及移动终端
CN108154526A (zh) * 2016-12-06 2018-06-12 奥多比公司 突发模式图像的图像对准
CN108960012A (zh) * 2017-05-22 2018-12-07 中科创达软件股份有限公司 特征点检测方法、装置及电子设备
CN109102233A (zh) * 2018-08-28 2018-12-28 深圳市鼎昇贸易有限公司 库存错误分析方法及相关产品
CN109934093A (zh) * 2019-01-21 2019-06-25 创新奇智(南京)科技有限公司 一种识别货架商品的方法、计算机可读介质及识别系统
CN110060207A (zh) * 2017-12-15 2019-07-26 Neato机器人技术公司 提供平面布置图的方法、系统
CN110622219A (zh) * 2017-03-10 2019-12-27 杰创科增强现实有限公司 交互式增强现实
CN111008289A (zh) * 2018-10-04 2020-04-14 丰田自动车株式会社 图像处理设备、图像处理方法和存储程序的非暂时性可读记录介质
CN112313643A (zh) * 2018-06-21 2021-02-02 谷歌有限责任公司 基于检索/创建的数字媒体文件预测潜在相关的主题
CN112545551A (zh) * 2019-09-10 2021-03-26 通用电气精准医疗有限责任公司 用于医学成像设备的方法和系统
CN114040096A (zh) * 2021-10-27 2022-02-11 上海小零网络科技有限公司 针对货架图像的辅助拍摄方法、装置、设备及介质
CN114072107A (zh) * 2016-06-29 2022-02-18 视觉探索工业股份有限公司 矫正装置的测量和排序系统

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626589B1 (en) * 2015-01-19 2017-04-18 Ricoh Co., Ltd. Preview image acquisition user interface for linear panoramic image stitching
JP6072096B2 (ja) * 2015-01-30 2017-02-01 キヤノン株式会社 放射線撮影システム、制御方法、制御方法、及びプログラム
CN104898321A (zh) * 2015-06-25 2015-09-09 京东方科技集团股份有限公司 显示面板及显示设备
US9300678B1 (en) 2015-08-03 2016-03-29 Truepic Llc Systems and methods for authenticating photographic image data
US10169882B1 (en) * 2015-09-11 2019-01-01 WinguMD, Inc. Object size detection with mobile device captured photo
US20180300043A1 (en) * 2017-04-12 2018-10-18 Ricoh Company, Ltd. Realogram to Planogram User Interface
US11030732B2 (en) * 2017-04-14 2021-06-08 Sony Interactive Entertainment Inc. Information processing device, information processing system, and image processing method for generating a sum picture by adding pixel values of multiple pictures
US10375050B2 (en) 2017-10-10 2019-08-06 Truepic Inc. Methods for authenticating photographic image data
CN107918927B (zh) * 2017-11-30 2021-06-04 武汉理工大学 一种匹配策略融合及低误差的快速图像拼接方法
JP6950548B2 (ja) * 2018-01-29 2021-10-13 富士通株式会社 送信プログラム、方法及び装置、並びに画像合成プログラム、方法及び装置
US10691745B2 (en) * 2018-05-23 2020-06-23 At&T Intellectual Property I, L.P. Planogram compliance scoring based on image analysis
US10360668B1 (en) 2018-08-13 2019-07-23 Truepic Inc. Methods for requesting and authenticating photographic image data
CN109829853B (zh) * 2019-01-18 2022-12-23 电子科技大学 一种无人机航拍图像拼接方法
USD956772S1 (en) * 2019-02-18 2022-07-05 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
JP1653657S (zh) * 2019-07-30 2020-02-25
JP1653656S (zh) * 2019-07-30 2020-02-25
USD921655S1 (en) * 2020-01-13 2021-06-08 Stryker European Operations Limited Display screen with animated graphical user interface
US11037284B1 (en) * 2020-01-14 2021-06-15 Truepic Inc. Systems and methods for detecting image recapture
US11842321B1 (en) * 2021-03-17 2023-12-12 Amazon Technologies, Inc. Image-based detection of planogram product spaces
US20220318729A1 (en) * 2021-03-31 2022-10-06 Target Brands, Inc. Shelf-mountable imaging system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000101895A (ja) * 1998-09-25 2000-04-07 Sony Corp 画像信号撮像装置および方法
JP3832895B2 (ja) * 1996-05-28 2006-10-11 キヤノン株式会社 画像合成装置及び画像合成システム
CN102957868A (zh) * 2011-08-24 2013-03-06 宏达国际电子股份有限公司 拍摄全景图的方法与电子装置
CN103534727A (zh) * 2011-05-17 2014-01-22 苹果公司 全景处理
CN103907340A (zh) * 2011-11-07 2014-07-02 索尼电脑娱乐公司 图像生成装置和图像生成方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3513320A1 (de) 1985-04-13 1986-10-23 Feldmühle AG, 4000 Düsseldorf Streichleiste fuer eine papiermaschine
US5550937A (en) * 1992-11-23 1996-08-27 Harris Corporation Mechanism for registering digital images obtained from multiple sensors having diverse image collection geometries
US6038349A (en) * 1995-09-13 2000-03-14 Ricoh Company, Ltd. Simultaneous registration of multiple image fragments
US6549681B1 (en) * 1995-09-26 2003-04-15 Canon Kabushiki Kaisha Image synthesization method
US6075905A (en) * 1996-07-17 2000-06-13 Sarnoff Corporation Method and apparatus for mosaic image construction
US6304284B1 (en) 1998-03-31 2001-10-16 Intel Corporation Method of and apparatus for creating panoramic or surround images using a motion sensor equipped camera
JPH11352568A (ja) * 1998-06-11 1999-12-24 Casio Comput Co Ltd カメラ及びその制御方法
US6633685B1 (en) 1998-08-05 2003-10-14 Canon Kabushiki Kaisha Method, apparatus, and storage media for image processing
EP1613060A1 (en) 2004-07-02 2006-01-04 Sony Ericsson Mobile Communications AB Capturing a sequence of images
US7471234B1 (en) 2004-12-16 2008-12-30 Unisys Corporation Producing improved mosaic of multiple field radar data product to enable improved weather display
US20060268129A1 (en) 2005-05-26 2006-11-30 Yining Deng Composite images
US7460730B2 (en) * 2005-08-04 2008-12-02 Microsoft Corporation Video registration and image sequence stitching
JP5103899B2 (ja) * 2006-12-28 2012-12-19 カシオ計算機株式会社 画像合成装置、画像合成プログラム及び画像合成方法
KR101354899B1 (ko) 2007-08-29 2014-01-27 삼성전자주식회사 파노라마 사진 촬영 방법
JP4922106B2 (ja) 2007-08-30 2012-04-25 オリンパスイメージング株式会社 カメラ及びこれに適用されるパノラマ撮影ガイド表示方法,パノラマ撮影ガイド表示プログラム
US8340452B2 (en) 2008-03-17 2012-12-25 Xerox Corporation Automatic generation of a photo guide
WO2009142327A1 (ja) * 2008-05-20 2009-11-26 日本電気株式会社 撮影装置および携帯型情報処理端末および撮影装置のモニタ表示方法およびプログラム
JP2010199971A (ja) 2009-02-25 2010-09-09 Casio Computer Co Ltd 撮像装置、撮像方法、及びプログラム
US9197736B2 (en) * 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
US8332429B2 (en) 2010-06-22 2012-12-11 Xerox Corporation Photography assistant and method for assisting a user in photographing landmarks and scenes
US8615254B2 (en) * 2010-08-18 2013-12-24 Nearbuy Systems, Inc. Target localization utilizing wireless and camera sensor fusion
JP5574423B2 (ja) 2010-09-24 2014-08-20 カシオ計算機株式会社 撮像装置、表示制御方法及びプログラム
JP6070541B2 (ja) * 2011-03-30 2017-02-01 日本電気株式会社 撮像装置、撮像装置の撮影ガイド表示方法及びプログラム
JP5965596B2 (ja) 2011-07-27 2016-08-10 オリンパス株式会社 画像処理システム、情報処理装置及びプログラム
US8805091B1 (en) * 2012-08-17 2014-08-12 Google Inc. Incremental image processing pipeline for matching multiple photos based on image overlap
US10444845B2 (en) * 2012-12-21 2019-10-15 Qualcomm Incorporated Display of separate computer vision based pose and inertial sensor based pose
WO2014169238A1 (en) * 2013-04-11 2014-10-16 Digimarc Corporation Methods for object recognition and related arrangements
US9354778B2 (en) * 2013-12-06 2016-05-31 Digimarc Corporation Smartphone-based methods and systems
US10387996B2 (en) 2014-02-02 2019-08-20 Trax Technology Solutions Pte Ltd. System and method for panoramic image processing
US9911454B2 (en) * 2014-05-29 2018-03-06 Jaunt Inc. Camera array including camera modules

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3832895B2 (ja) * 1996-05-28 2006-10-11 キヤノン株式会社 画像合成装置及び画像合成システム
JP2000101895A (ja) * 1998-09-25 2000-04-07 Sony Corp 画像信号撮像装置および方法
CN103534727A (zh) * 2011-05-17 2014-01-22 苹果公司 全景处理
CN102957868A (zh) * 2011-08-24 2013-03-06 宏达国际电子股份有限公司 拍摄全景图的方法与电子装置
CN103907340A (zh) * 2011-11-07 2014-07-02 索尼电脑娱乐公司 图像生成装置和图像生成方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114072107A (zh) * 2016-06-29 2022-02-18 视觉探索工业股份有限公司 矫正装置的测量和排序系统
CN114072107B (zh) * 2016-06-29 2024-04-16 视觉探索工业股份有限公司 矫正装置的测量和排序系统
CN108154526A (zh) * 2016-12-06 2018-06-12 奥多比公司 突发模式图像的图像对准
CN108154526B (zh) * 2016-12-06 2023-09-22 奥多比公司 突发模式图像的图像对准
CN110622219B (zh) * 2017-03-10 2024-01-19 杰创科增强现实有限公司 交互式增强现实
CN110622219A (zh) * 2017-03-10 2019-12-27 杰创科增强现实有限公司 交互式增强现实
CN107071281A (zh) * 2017-04-19 2017-08-18 珠海市魅族科技有限公司 全景拍摄方法及装置
CN108960012A (zh) * 2017-05-22 2018-12-07 中科创达软件股份有限公司 特征点检测方法、装置及电子设备
CN108960012B (zh) * 2017-05-22 2022-04-15 中科创达软件股份有限公司 特征点检测方法、装置及电子设备
CN108111752A (zh) * 2017-12-12 2018-06-01 北京达佳互联信息技术有限公司 视频拍摄方法、装置及移动终端
CN110060207A (zh) * 2017-12-15 2019-07-26 Neato机器人技术公司 提供平面布置图的方法、系统
CN110060207B (zh) * 2017-12-15 2023-05-12 Neato机器人技术公司 提供平面布置图的方法、系统
CN112313643A (zh) * 2018-06-21 2021-02-02 谷歌有限责任公司 基于检索/创建的数字媒体文件预测潜在相关的主题
US11971925B2 (en) 2018-06-21 2024-04-30 Google Llc Predicting topics of potential relevance based on retrieved/created digital media files
CN109102233A (zh) * 2018-08-28 2018-12-28 深圳市鼎昇贸易有限公司 库存错误分析方法及相关产品
CN111008289A (zh) * 2018-10-04 2020-04-14 丰田自动车株式会社 图像处理设备、图像处理方法和存储程序的非暂时性可读记录介质
CN109934093A (zh) * 2019-01-21 2019-06-25 创新奇智(南京)科技有限公司 一种识别货架商品的方法、计算机可读介质及识别系统
CN112545551A (zh) * 2019-09-10 2021-03-26 通用电气精准医疗有限责任公司 用于医学成像设备的方法和系统
CN114040096A (zh) * 2021-10-27 2022-02-11 上海小零网络科技有限公司 针对货架图像的辅助拍摄方法、装置、设备及介质

Also Published As

Publication number Publication date
JP2016134183A (ja) 2016-07-25
EP3046069A1 (en) 2016-07-20
US20170187953A1 (en) 2017-06-29
US9594980B1 (en) 2017-03-14
US9852356B2 (en) 2017-12-26
JP2017188906A (ja) 2017-10-12
JP6132038B2 (ja) 2017-05-24
JP6361778B2 (ja) 2018-07-25
CN105809619B (zh) 2019-12-20

Similar Documents

Publication Publication Date Title
CN105809619A (zh) 用于线性全景图像拼接的图像获取用户界面
CN105809620A (zh) 用于线性全景图像拼接的预览图像获取用户界面
CN110310175B (zh) 用于移动增强现实的系统和方法
US10192364B2 (en) Augmented reality product preview
US10262356B2 (en) Methods and arrangements including data migration among computing platforms, e.g. through use of steganographic screen encoding
CN106558026A (zh) 偏离用户界面
US11810344B2 (en) Image recognition system
CN108876934B (zh) 关键点标注方法、装置和系统及存储介质
CN106558027A (zh) 用于估计相机姿态中的偏离误差的算法
US11410390B2 (en) Augmented reality device for visualizing luminaire fixtures
US11900552B2 (en) System and method for generating virtual pseudo 3D outputs from images
US11769308B2 (en) Systems and methods of augmented reality guided image capture
US9449427B1 (en) Intensity modeling for rendering realistic images
EP3177005B1 (en) Display control system, display control device, display control method, and program
CN115843375A (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
GR01 Patent grant
GR01 Patent grant