JP2017188906A - 線形パノラマ画像連結のための画像取得ユーザインタフェース - Google Patents

線形パノラマ画像連結のための画像取得ユーザインタフェース Download PDF

Info

Publication number
JP2017188906A
JP2017188906A JP2017083375A JP2017083375A JP2017188906A JP 2017188906 A JP2017188906 A JP 2017188906A JP 2017083375 A JP2017083375 A JP 2017083375A JP 2017083375 A JP2017083375 A JP 2017083375A JP 2017188906 A JP2017188906 A JP 2017188906A
Authority
JP
Japan
Prior art keywords
image
user interface
client device
module
overlap
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
JP2017083375A
Other languages
English (en)
Other versions
JP6361778B2 (ja
Inventor
グラハム ジェイミー
Jamey Graham
グラハム ジェイミー
ジー ヴァン オルスト ダニエル
Olst Daniel G Van
ジー ヴァン オルスト ダニエル
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 JP2017188906A publication Critical patent/JP2017188906A/ja
Application granted granted Critical
Publication of JP6361778B2 publication Critical patent/JP6361778B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Tourism & Hospitality (AREA)
  • Molecular Biology (AREA)
  • Operations Research (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Veterinary Medicine (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Public Health (AREA)
  • Surgery (AREA)
  • Radiology & Medical Imaging (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Data Mining & Analysis (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • High Energy & Nuclear Physics (AREA)

Abstract

【課題】 単一の線形パノラマ画像を生成するために画像シリーズのキャプチャを可能にするシステム及び方法が開示される。【解決手段】 方法は、画像をキャプチャするステップと、所定の重なり合い閾が満たされるまで、前にキャプチャした画像をキャプチャ装置のディスプレイ上のプレビュー画像と動的に比較するステップと、前記キャプチャ装置の動きを誘導するよう前記キャプチャ装置の前記ディスプレイにフィードバックを提供するために、ユーザインタフェースを生成するステップと、線形パノラマを生成するために僅かな傾きしか有しない乃至全く傾きを有しない前にキャプチャした画像との十分な重なり合いを有するプレビュー画像をキャプチャするステップと、を有する。【選択図】 図1

Description

[関連出願の参照]
本願は、米国仮特許出願番号第62/105,189号、2015年1月9日出願、名称「Image Acquisition User Interface for Linear Panoramic Image Stitching」、及び米国仮特許出願番号第62/127,750号、2015年3月3日出願、名称「Image Acquisition User Interface for Linear Panoramic Image Stitching」の優先権を主張する。両仮出願は、参照することによりそれらの全体がここに組み込まれる。
本願明細書は、概して、単一の線形パノラマ画像を生成するために、画像シリーズをキャプチャするようユーザを誘導するユーザインタフェースを提供することに関する。特に、本願明細書は、単一の線形パノラマ画像を生成するために画像シリーズをキャプチャする際にユーザを誘導する即時フィードバックを提供する1又は複数のユーザインタフェース要素を生成するシステム及び方法に関する。
プラノグラムは、小売環境における商品の視覚的演出である。例えば、プラノグラムは、小売環境のどこに、及びどれ位の量の商品が配置されるべきかを説明し得る。このようなプラノグラムは、売り上げを増大し、在庫を管理し、及び又は利益若しくは他のパラメータを最適化するよう所望の量及び大きさの品物が置かれることを保証するために有効なツールであるとして知られる。しかしながら、棚、ラック及び陳列台の上の在庫の適切なレベルの提示及び維持は、労働集約的努力であり、それによりプラノグラムの実施を困難にしている。小売店における商品の位置及び量はユーザにより手動で追跡できる。一方で、商品を自動的に認識する又は商品の状態に関する情報を半自動的に得るための試みがなされている。
商品の認識における従来の試みは欠点を有する。例えば、複数の画像から複数の商品を認識するという目標を達成するための1つの方法は、画像連結(image stitching)による。残念ながら、既存の画像連結技術は、アーチファクトを生じ、最適な認識動作の妨げとなってしてしまう。
本願明細書で紹介する技術は、線形パノラマを生成するために画像シリーズをキャプチャするシステム及び方法により、少なくとも部分的に従来技術の欠点及び限界を克服する。一実施形態では、システムは画像認識アプリケーションを有する。画像認識アプリケーションは、キャプチャ装置から関心オブジェクトの一部の画像を受信し、該画像の特徴を決定するよう構成される。画像認識アプリケーションは、キャプチャ装置のディスプレイに関心オブジェクトの現在のプレビュー画像を含むユーザインタフェースを生成し、重なり合いを決定するために、画像の特徴をキャプチャ装置のディスプレイ上の関心オブジェクトの現在のプレビュー画像と動的に比較するよう更に構成される。画像認識アプリケーションは、ユーザインタフェースを更新して、重なり合いを生成するようキャプチャ装置の動きを誘導するために第1の視覚的区別指示子を含め、前記画像と前記現在のプレビュー画像との間の重なり合いが所定の重なり合い閾を満たすか否かを決定するよう更に構成される。画像認識アプリケーションは、重なり合いが所定の重なり合い閾を満たすことに基づき、キャプチャ装置を用いて関心オブジェクトの一部の次の画像をキャプチャするよう更に構成される。
他の態様は、上述の及び他の新規な態様のための対応する方法、システム、装置及びコンピュータプログラムを有する。
本願明細書に記載される特徴及び利点は網羅的ではなく、図面及び説明を参照して多くの追加の特徴及び利点が当業者に明らかになるだろう。さらに、留意すべき点は、本願明細書で用いられる語は、基本的に読み易さ及び説明的目的で選択されており、記載の技術の範囲を制限しない。
ここで紹介する技術は、例を用いて説明され、添付の図面に限定されるものではない。図中、同様の参照符号は同様の要素を表すために用いられる。
線形パノラマを生成するために画像シリーズをキャプチャするシステムの一実施形態を示す上位ブロック図である。 画像認識アプリケーションを有するコンピューティング装置の一実施形態を示すブロック図である。 単一の線形パノラマ画像のために関心オブジェクトの画像シリーズをキャプチャする方法の一実施形態を示すフロー図である。 単一の線形パノラマ画像のために関心オブジェクトの画像シリーズをキャプチャする方法の別の実施形態を示すフロー図である。 単一の線形パノラマ画像のために関心オブジェクトの画像シリーズをキャプチャする方法の別の実施形態を示すフロー図である。 単一の線形パノラマ画像のために関心オブジェクトの画像シリーズをキャプチャする方法の更に別の実施形態を示すフロー図である。 単一の線形パノラマ画像のために関心オブジェクトの画像シリーズをキャプチャする方法の更に別の実施形態を示すフロー図である。 関心オブジェクトの前にキャプチャした画像に現在のプレビュー画像を再調整する方法の一実施形態を示すフロー図である。 関心オブジェクトの前にキャプチャした画像に現在のプレビュー画像を再調整する方法の一実施形態を示すフロー図である。 棚の画像をキャプチャするユーザインタフェースの一実施形態のグラフィック表現である。 棚の画像をキャプチャするユーザインタフェースの別の実施形態のグラフィック表現である。 関心オブジェクトのキャプチャした画像同士の重なり合いの一実施形態のグラフィカル表現である。 重なり合いの視覚的区別指示子を生成する画像整合処理の一実施形態のグラフィカル表現である。 キャプチャ装置が左から右方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置が左から右方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置が左から右方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置が左から右方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置が上から下方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置が上から下方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置が上から下方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置が上から下方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置がZ軸の周りを回転するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置がZ軸の周りを回転するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置がZ軸の周りを回転するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置がX軸の周りを縦揺れするとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置がX軸の周りを縦揺れするとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置がX軸の周りを縦揺れするとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置がX軸及びZ軸の両方で傾斜するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャ装置がX軸及びZ軸の両方で傾斜するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態のグラフィカル表現である。 再調整の視覚的区別指示子を生成する再調整処理の一実施形態のグラフィカル表現である。 前にキャプチャした画像にキャプチャ装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態のグラフィカル表現である。 前にキャプチャした画像にキャプチャ装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態のグラフィカル表現である。 前にキャプチャした画像にキャプチャ装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態のグラフィカル表現である。 前にキャプチャした画像にキャプチャ装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャした画像のセットのプレビューを表示するユーザインタフェースの実施形態のグラフィカル表現である。 キャプチャした画像のセットのプレビューを表示するユーザインタフェースの実施形態のグラフィカル表現である。
図1は、線形パノラマを生成するために画像シリーズをキャプチャするシステム100の一実施形態を示す上位ブロック図である。図示のシステム100は、ユーザ及び認識サーバ101によりアクセスできる1又は複数のクライアント装置115a...115nを有しても良い。図1及び以下の図では、参照符号、例えば「115a」の後の文字は、特定の参照符号を有する要素への参照を表す。文章中の、後続の文字を有しない参照符号、例えば「115」は、その参照符号を付された要素の任意の又は全ての例への全般的な参照を表す。図示の実施形態では、システム100のこれらのエンティティはネットワーク105を介して通信可能に結合される。
ネットワーク105は、従来型の有線又は無線であり、スター構成、トークンリング構成若しくは他の構成を含む多数の異なる構成を有しても良い。さらに、ネットワーク105は、LAN(local area network)、WAN(wide area network)(例えば、インターネット)、及び/又は複数の装置が通信できる他の相互接続されたデータ経路を有しても良い。幾つかの実施形態では、ネットワーク105は、ピアツーピアネットワークであっても良い。ネットワーク105は、種々の異なる通信プロトコルでデータを送信する通信ネットワークの一部に結合され又はそれを含んでも良い。幾つかの実施形態では、ネットワーク105は、Bluetooth(登録商標)通信ネットワーク又はSMS(short messaging service)、MMS(multimedia messaging service)、HTTP(hypertext transfer protocol)、直接データ接続、WAP、電子メール等を介することを含むデータを送信及び受信するセルラ通信ネットワークを有しても良い。図1はクライアント装置115及び認識サーバ101に結合された1つのネットワーク105を示すが、実際には、1又は複数のネットワーク105がこれらのエンティティに接続できる。
幾つかの実施形態では、システム100は、ネットワーク105に結合される認識サーバ101を有する。幾つかの実施形態では、認識サーバ101は、ハードウェアサーバ、ソフトウェアサーバ、又はハードウェアとソフトウェアとの組合せであっても良い。認識サーバ101は、プロセッサ、メモリ、アプリケーション、データベース及びネットワーク通信能力を有するコンピューティング装置であっても良く、又はそれらにより実装されても良い。図1の例では、認識サーバ101のコンポーネントは、以下に詳述する画像認識アプリケーション103aを実装するために構成される。一実施形態では、認識サーバ101は、棚、ラック又は展示にある商品を識別するサービスを消費者包装品会社に提供する。本願明細書の例は、小売展示のような棚の画像の中の商品の認識を記載するが、画像は系統的なオブジェクトの任意の配置を有しても良いことが理解されるべきである。例えば、画像は、倉庫、貯蔵室、保管室、キャビネット、等であっても良い。同様に、オブジェクトは、小売商品に加えて、製造、建築又は保守、薬剤、救急補給品、緊急又は安全設備、等で用いられるツール、部品であっても良い。
幾つかの実施形態では、認識サーバ101は、ネットワーク105を介して、システム100の他のエンティティへ及びそれらからデータを送受信する。例えば、認識サーバ101は、画像を含むデータをクライアント装置115へ送信し及びそれから受信する。認識サーバ101により受信された画像は、クライアント装置115によりキャプチャされる画像、ウェブサイト若しくは電子メールからコピーされる画像、又は任意の他のソースからの画像を有しても良い。図1には単一の認識サーバ101のみが示されるが、任意の数の認識サーバ101又はサーバクラスタが存在しても良いことが理解されるべきである。認識サーバ101は、図2を参照して以下に詳述するデータ記憶装置243も有する。
クライアント装置115は、メモリとプロセッサとカメラとを有するコンピューティング装置、例えばラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、移動電話機、スマートフォン、PDA(personal digital assistant)、モバイル電子メール装置、ウェブカメラ、ユーザウエアラブルコンピューティング装置、又はネットワーク105にアクセス可能な任意の他の電子装置であっても良い。クライアント装置115は、任意の種類のアプリケーションに汎用グラフィック及びマルチメディア処理を提供する。例えば、クライアント装置115は、グラフィック及びマルチメディア処理を扱うGPU(graphics processor unit)を有しても良い。クライアント装置115は、認識サーバ101により提供される情報を閲覧するためのディスプレイを有する。図1は2個のクライアント装置115a及び115nを示すが、本開示は1又は複数のクライアント装置115を有するシステムアーキテクチャに適用される。
クライアント装置115は、データを認識サーバ101へ送信し及びそれから受信するよう適応される。例えば、クライアント装置115は、認識サーバ101へクエリ画像を送信し、認識サーバ101は、該クエリ画像の中で認識された1又は複数のオブジェクトに関するJSON(JavaScript(登録商標) Object Notation)フォーマットのデータをクライアント装置115に提供する。クライアント装置115は、クライアント装置115にある特徴位置及び特徴記述の決定のためにApple iOS(商標)でのMetal又はAndroid(商標)でのRenderScriptのようなグラフィカルAPI(application program interface)の使用をサポートしても良い。
画像認識アプリケーション103は、線形パノラマを生成するために画像シリーズをキャプチャする機能を提供するソフトウェア及び/又はロジックを有しても良い。幾つかの実施形態では、画像認識アプリケーション103は、FPGA(field−programmable gate array)又はASIC(application−specific integrated circuit)のようなプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、画像認識アプリケーション103は、ハードウェア及びソフトウェアの組み合わせを用いて実装できる。他の実施形態では、画像認識アプリケーション103は、クライアント装置115及び認識サーバ101の組合せに、又はクライアント装置115若しくは認識サーバ101のうちの任意の1つに、格納され実行されても良い。
幾つかの実施形態では、画像認識アプリケーション103bは、一部の機能がクライアント装置115で実行される小型軽量クライアントアプリケーションであり、追加機能が画像認識アプリケーション103aにより認識サーバ101で実行されても良い。例えば、クライアント装置115にある画像認識アプリケーション103bは、画像をキャプチャし、画像素認識サーバ101へ送信し、画像認識結果を表示するソフトウェア及び/又はロジックを有し得る。別の例では、認識サーバ101にある画像認識アプリケーション103aは、画像を受信し、前に受信した画像との十分な重なり合いに基づき画像をモザイクビューに繋ぎ合わせ、画像認識結果を生成するソフトウェア及び/又はロジックを有し得る。画像認識アプリケーション103a又は103bは、画像を処理する及び特徴識別を実行するような、本願明細書に記載の更なる機能を有しても良い。
幾つかの実施形態では、画像認識アプリケーション103は、キャプチャ装置から関心オブジェクトの一部の画像を受信する。画像認識アプリケーション103は、画像の特徴を決定する。画像認識アプリケーション103は、キャプチャ装置のディスプレイに、関心オブジェクトの現在のプレビュー画像を含むユーザインタフェースを生成する。画像認識アプリケーション103は、重なり合いを決定するために、画像の特徴を関心オブジェクトの現在のプレビュー画像と動的に比較する。画像認識アプリケーション103は、画像同士の所望の又は所定の重なり合い及び調整を生成するために、キャプチャ装置の動きを誘導するための視覚的区別指示子を含むよう、ユーザインタフェースを更新する。画像認識アプリケーション103は、画像と現在のプレビュー画像との間の重なり合いが、所定の重なり合い及び調整閾を満たすか否かを決定する。例えば、重なり合い閾は、60パーセントに設定され得る。画像認識アプリケーション103は、所定の重なり合い閾を満たす重なり合いに基づき関心オブジェクトの一部のプレビュー画像をキャプチャする。画像認識アプリケーション103の動作及び上述の機能は、図3〜15を参照して以下に詳述する。
図2は、画像認識アプリケーション103を有するコンピューティング装置200の一実施形態を示すブロック図である。コンピューティング装置200は、幾つかの例に従って、プロセッサ235、メモリ237、任意ディスプレイ装置239、通信ユニット241、データ記憶装置243、及び任意方位センサ245も有しても良い。コンピューティング装置200のコンポーネントは、バス220により通信可能に結合される。バス220は、ISA(industry standard architecture)バス、PCI(peripheral component interconnect)バス、USB(universal serial bus)又は同様の機能を提供する従来知られている特定の他のバスを含む1又は複数のバスを表しても良い。幾つかの実施形態では、コンピューティング装置200は、クライアント装置115、認識サーバ101、又はクライアント装置115と認識サーバ101との組合せであっても良い。コンピューティング装置200がクライアント装置115又は認識サーバ101であるこのような実施形態では、クライアント装置115及び認識サーバ101は、上述したが図2に示されない他のコンポーネントを有しても良いことが理解されるべきである。
プロセッサ235は、種々の入力/出力、論理、及び/又は演算動作を実行することによりソフトウェア命令を実行しても良い。プロセッサ235は、例えばCISC(complex instruction set computer)アーキテクチャ、RISC(reduced instruction set computer)アーキテクチャ、及び/又は命令セットの組合せを実施するアーキテクチャを含む、データ信号を処理する種々のコンピューティングアーキテクチャを有しても良い。プロセッサ235は、物理的及び/又は仮想的であっても良く、単一の信号処理ユニット又は複数の信号処理ユニット及び/又はコアを有しても良い。幾つかの実装では、プロセッサ235は、電子ディスプレイ信号を生成しディスプレイ装置に提供し、画像の表示をサポートし、画像をキャプチャ及び送信し、種々の特徴抽出及びサンプリングを含む複雑なタスクを実行する、等が可能であっても良い。幾つかの実装では、プロセッサ235は、バス220を介してメモリ237に結合されても良く、メモリ237からのデータ及び命令にアクセスし、メモリ237内にデータを格納しても良い。バス220は、例えばメモリ237、通信ユニット241、画像認識アプリケーション103、及びデータ記憶装置243を含むコンピューティング装置200の他のコンポーネントに、プロセッサ235を結合しても良い。当業者には、他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、物理的構成が可能であることが明らかである。
メモリ237は、コンピューティング装置200の他のコンポーネントのためにデータを格納しデータへのアクセスを提供しても良い。メモリ237は、本願明細書のどこかで議論されるように、単一のコンピューティング装置に含まれ又は複数のコンピューティング装置の間に分散されても良い。幾つかの実装では、メモリ237は、プロセッサ235により実行され得る命令及び/又はデータを格納しても良い。命令及び/又はデータは、本願明細書に記載の技術を実行するコードを有しても良い。例えば、一実施形態では、メモリ237は、画像認識アプリケーション103を格納しても良い。メモリ237は、例えばオペレーティングシステム、ハードウェアドライバ、他のソフトウェアアプリケーション、データベース、等を含む他の命令及びデータも格納可能である。メモリ237は、プロセッサ235及びコンピューティング装置200の他のコンポーネントと通信するために、バス220に結合されても良い。
メモリ237は、1又は複数の非一時的コンピュータ使用可能(例えば、可読、書き込み可能)装置、SRAM(static random access memory)装置、埋め込みメモリ装置、個別メモリ装置(例えば、PROM、EPROM、ROM)、ハードディスクドライブ、光ディスクドライブ(CD、DVD、Blue−ray(登録商標)、等)媒体を有しても良く、プロセッサ235により若しくはプロセッサ235と共に処理するために、命令、データ、コンピュータプログラム、ソフトウェアコード、ルーチン、等を有し、格納し、通信し、又は伝送する任意の有形機器若しくは装置であり得る。幾つかの実装では、メモリ237は、揮発性メモリ及び不揮発性メモリのうちの1又は複数を有しても良い。例えば、メモリ237は、DRAM(dynamic random access memory)装置、SRAM(static random access memory)装置、埋め込みメモリ装置、個別メモリ装置(例えば、PROM、FPROM、ROM)、ハードディスクドライブ、光ディスクドライブ(CD、DVD、Blue−ray(登録商標)、等)のうちの1又は複数を有しても良いが、これに限定されない。理解されるべきことに、メモリ237は、単一の装置であっても良く、又は複数種類の装置及び較正を有しても良い。
ディスプレイ装置239は、LCD(liquid crystal display)、LED(light emitting diode)又は任意の他の同様の搭載ディスプレイ装置、スクリーン若しくはモニタである。ディスプレイ装置239は、本願明細書に記載のようなユーザインタフェース、電子画像、及びデータを表示するために備えられた任意の装置を表す。異なる実施形態では、ディスプレイは2値(ピクセルに対して2個の異なる値のみ)、モノクロ(1色のうちの複数の陰影)であり、又は複数色及び陰影が可能である。ディスプレイ装置239は、プロセッサ235及びコンピューティング装置200の他のコンポーネントと通信するために、バス220に結合される。留意すべきことに、ディスプレイ装置239は、任意であることを示すために、図2に破線で示される。例えば、コンピューティング装置200が認識サーバ101である場合、ディスプレイ装置239はシステムの部分ではなく、コンピューティング装置200がクライアント装置115である場合、ディスプレイ装置239が含まれ図7A、7B、9A〜15Bを参照して後述するユーザインタフェースを表示するために用いられる。
通信ユニット241は、プロセッサ235に接続することにより、ネットワーク105及び他の処理システムからデータを受信し及びそれへ送信するハードウェアである。通信ユニット241は、クライアント装置115から要求のようなデータを受信し、制御部201へ要求、例えば画像を処理する要求を送信する。通信ユニット241は、例えば画像を処理することに応答して、表示のために、クライアント装置115へ認識結果を含む情報も送信する。通信ユニット241はバス220に結合される。一実施形態では、通信ユニット241は、クライアント装置115への又は別の通信チャネルへの直接物理接続のためのポートを有しても良い。例えば、通信ユニット241は、クライアント装置115との有線通信のためにRJ45ポート又は類似のポートを有しても良い。別の実施形態では、通信ユニット241は、IEEE802.11、IEEE802.16、Bluetooth(登録商標)又は別の適切な無線通信方法のような1又は複数の無線通信方法を用いて、クライアント装置115又は任意の他の通信チャネルとデータを交換するために無線通信機(図示しない)を有しても良い。
更に別の実施形態では、通信ユニット241は、SMS(short messaging service)、MMS(multimedia messaging service)、HTTP(hypertext transfer protocol)、直接データ接続、WAP、電子メール又は他の適切な種類の電子通信等を介してセルラネットワークでデータを送信及び受信するセルラ通信トランシーバを有しても良い。更に別の実施形態では、通信ユニット241は、有線ポート及び無線通信機を有しても良い。通信ユニット241は、当業者に理解されるように、TCP/IP、FTP、HTTP、HTTPS及びSMTPのような標準的ネットワークプロトコルを用いてファイル及び/又はメディアオブジェクトを分配するために、ネットワーク105への他の従来型接続も提供する。
データ記憶装置243は、本願明細書に記載の機能を提供するためにデータを格納する非一時的メモリである。データ記憶装置243は、DRAM(dynamic random access memory)素子、SRAM(static random access memory)素子、フラッシュメモリ又は幾つかの他のメモリ素子であっても良い。幾つかの実施形態では、データ記憶装置243は、不揮発性メモリ、又はハードディスクドライブ、フロッピディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置又は従来知られているより永久的に情報を格納する特定の他の大容量記憶装置を含む同様の永久記憶装置及び媒体も有しても良い。
図示の実施形態では、データ記憶装置243は、バス220に通信可能に結合される。データ記憶装置243は、受信した画像を分析するためのデータ、分析の結果、及び本願明細書に記載のような他の機能を格納する。例えば、データ記憶装置243は、最適な重なり合い画像をキャプチャするための画像重なり合い閾を格納しても良い。データ記憶装置243は、同様に、キャプチャした画像及びキャプチャした画像について決定した特徴のセットを格納しても良い。さらに、データ記憶装置243は、連結した線形パノラマ画像を格納しても良い。データ記憶装置243に格納されたデータは、以下に詳細に記載される。
方位センサ245は、コンピューティング装置200の位置又は動きを決定するために、ハードウェアに基づいても又はソフトウェアに基づいても、又はハードウェアとソフトウェアの組合せに基づいても良い。幾つかの実施形態では、方位センサ245は、加速度計、ジャイロスコープ、近接センサ、地磁場センサ、等を有しても良い。異なる実施形態では、方位センサ245は、3つの座標軸の加速力、3つの座標軸の回転レートデータ(例えば、ヨー、ピッチ、ロール値)、オブジェクトとの距離を示す近接データ、等を提供しても良い。留意すべきことに、方位センサ245は、任意であることを示すために、図2に破線で示される。例えば、コンピューティング装置200が認識サーバ101である場合、方位センサ245はシステムの部分ではなく、コンピューティング装置200がクライアント装置115である場合、方位センサ245が含まれ本願明細書に記載のクライアント装置200の種々の動き又は位置決定イベントについてのセンサ情報を提供するために用いられる。
キャプチャ装置247は、関心オブジェクトの画像又はデータをデジタル的にキャプチャするために動作可能であっても良い。例えば、キャプチャ装置247は、HD(high definition)カメラ、標準2Dカメラ、マルチスペクトルカメラ、構造光3Dカメラ、飛行時間3Dカメラ、立体カメラ、標準的なスマートフォンカメラ、又はウェアラブルコンピューティング装置であっても良い。キャプチャ装置247は、プロセッサ235、メモリ237、又はデータ記憶装置243に画像及び他の処理済みメタデータを提供するために、バスに結合される。留意すべきことに、キャプチャ装置247は、任意であることを示すために、図2に破線で示される。例えば、コンピューティング装置200が認識サーバ101である場合、キャプチャ装置247はシステムの部分ではなく、コンピューティング装置200がクライアント装置115である場合、キャプチャ装置247が含まれ図7A、7B、9A〜15Bを参照して後述する画像及び他のメタデータ情報を提供するために用いられる。
幾つかの実施形態では、画像認識アプリケーション103は、制御部201、特徴抽出モジュール203、プレビュー生成モジュール205、特徴比較モジュール207、方位決定モジュール209、連結モジュール211、及びユーザインタフェースモジュール213を有しても良い。画像認識アプリケーション103のコンポーネントは、バス220により通信可能に結合される。
制御部201は、画像認識アプリケーション103の他のコンポーネントの動作を制御するためにソフトウェア及び/又はロジックを有しても良い。制御部201は、図3〜6を参照して以下に記載される方法を実行するために画像認識アプリケーション103の他のコンポーネントを制御する。制御部201は、画像認識アプリケーション103とコンピューティング装置200の他のコンポーネントとの間の、並びに画像認識アプリケーション103のコンポーネント同士の間の通信を処理する機能を提供するために、ソフトウェア及び/又はロジックを有しても良い。幾つかの実施形態では、制御部201は、FPGA(field−programmable gate array)又はASIC(application−specific integrated circuit)を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、制御部201は、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、制御部201は、プロセッサ235により実行可能な命令セットである。幾つかの実施形態では、制御部201は、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能である。幾つかの実装では、制御部201は、プロセッサ235、メモリ237及び画像認識アプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応される。
幾つかの実施形態では、制御部201は、通信ユニット241を介して、データをクライアント装置115及び認識サーバ101のうちの1又は複数へ送信し及びそれらから受信する。例えば、制御部201は、通信ユニット241を介して、ユーザにより操作されるクライアント装置115から画像を受信し、特徴抽出モジュール203へ画像を送信する。別の例では、制御部201は、ユーザインタフェースモジュール213からグラフィカルユーザインタフェースを提供するためのデータを受信し、クライアント装置115へデータを送信して、クライアント装置115にユーザに対してユーザインタフェースを提示させる。
幾つかの実施形態では、制御部201は、画像認識アプリケーション103の他のコンポーネントからデータを受信し、データ記憶装置243に該データを格納する。例えば、制御部201は、画像について識別された特徴を含むデータを特徴抽出モジュール203から受信し、データ記憶装置243に該データを格納する。他の実施形態では、制御部201は、データ記憶装置243からデータを読み出し、画像認識アプリケーション103の他のコンポーネントへ該データを送信する。例えば、制御部201は、重なり合い閾を含むデータをデータ記憶装置243から読み出し、特徴比較モジュール207に該読み出したデータを送信する。
特徴抽出モジュール203は、クライアント装置115から関心オブジェクトの画像を受信し、該画像について特徴を決定するソフトウェア及び/又はロジックを有しても良い。幾つかの実施形態では、特徴抽出モジュール203は、FPGA(field−programmable gate array)又はASIC(application−specific integrated circuit)を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、特徴抽出モジュール203は、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、画像抽出モジュール203は、プロセッサ235により実行可能な命令セットである。幾つかの実装では、特徴抽出モジュール203は、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能である。幾つかの実装では、特徴抽出モジュール203は、プロセッサ235、メモリ237及び画像認識アプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応される。
幾つかの実施形態では、特徴抽出モジュール203は、画像を受信し、該画像の特徴を決定する。幾つかの実施形態では、特徴抽出モジュール203は、プレビュー生成モジュール205から関心オブジェクトのプレビュー画像を受信し、画像の特徴セットを決定する。例えば、特徴抽出モジュール203は、画像の中で識別された各々の特徴について、位置、方位、及び画像記述子を決定しても良い。幾つかの実施形態では、特徴抽出モジュール203は、特徴位置を決定するために、Shi−Tomasiコーナ検出アルゴリズム、Harris and Stephensコーナ検出アルゴリズム、等のようなコーナ検出アルゴリズムを用いる。幾つかの実施形態では、特徴抽出モジュール203は、効率的な画像特徴記述子を決定するBRIEF(Binary Robust Independent Elementary Features)記述子アプローチを用いる。幾つかの実施形態では、特徴抽出モジュール203は、画像についての特徴セットを、特徴比較モジュール207へ送信する。他の実施形態では、特徴抽出モジュール203は、参照画像として画像を識別し、データ記憶装置243に特徴セットを格納する。
プレビュー生成モジュール205は、クライアント装置115から関心オブジェクトのプレビュー画像を受信し、該プレビュー画像を含むユーザインタフェースを生成するようユーザインタフェースモジュール213に指示するソフトウェア及び/又はロジックを有しても良い。幾つかの実施形態では、プレビュー生成モジュール205は、FPGA(field−programmable gate array)又はASIC(application−specific integrated circuit)を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、プレビュー生成モジュール205は、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、プレビュー生成モジュール205は、プロセッサ235により実行可能な命令セットである。幾つかの実装では、プレビュー生成モジュール205は、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能である。幾つかの実装では、プレビュー生成モジュール205は、プロセッサ235、メモリ237及び画像認識アプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応される。
幾つかの実施形態では、プレビュー生成モジュール205は、キャプチャ装置247によりサンプリングされた関心オブジェクトのプレビュー画像を受信し、該プレビュー画像を特徴抽出モジュール203へ送信する。幾つかの実施形態では、プレビュー生成モジュール205は、クライアント装置115にある画像キャプチャのパターンのユーザ選択を受信しても良い。他の実施形態では、プレビュー生成モジュール205は、クライアント装置115のディスプレイにプレビュー画像を表示するユーザインタフェースを生成するよう、ユーザインタフェースモジュール213に指示する。
特徴比較モジュール207は、参照画像と関心オブジェクトのプレビュー画像とで特徴を動的に比較する機能を提供するソフトウェア及び/又はロジックを有しても良い。幾つかの実施形態では、特徴比較モジュール207は、FPGA(field−programmable gate array)又はASIC(application−specific integrated circuit)を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、特徴比較モジュール207は、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、特徴比較モジュール207は、プロセッサ235により実行可能な命令セットである。幾つかの実装では、特徴比較モジュール207は、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能である。幾つかの実装では、特徴比較モジュール207は、プロセッサ235、メモリ237及び画像認識アプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応される。
幾つかの実施形態では、特徴比較モジュール207は、特徴抽出モジュール203からプレビュー画像の特徴を受信し、参照画像の特徴をプレビュー画像の特徴と動的に比較する。幾つかの実施形態では、特徴比較モジュール207は、画像間の重なり合いを決定し、所望の重なり合いを生成するようクライアント装置115の動きを誘導するために、ユーザインタフェースに視覚的区別指示子を生成するユーザインタフェースモジュール213に指示する。他の実施形態では、特徴比較モジュール207は、重なり合いが所定の重なり合い閾を満たすか否かを決定し、所定の重なり合い閾が満たされていることに基づき、プレビュー画像を参照画像として設定する命令を特徴抽出モジュール203へ送信する。
方位決定モジュール209は、クライアント装置115の傾きを決定し及び該傾きを視覚的に示すようユーザインタフェースモジュール213に指示する機能を提供するためにソフトウェア及び/又はロジックを有しても良い。幾つかの実施形態では、方位決定モジュール209は、FPGA(field−programmable gate array)又はASIC(application−specific integrated circuit)を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、方位検出モジュール209は、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、方位検出モジュール209は、プロセッサ235により実行可能な命令セットである。幾つかの実装では、方位検出モジュール209は、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能である。幾つかの実装では、特徴比較モジュール207は、プロセッサ235、メモリ237及び画像認識アプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応される。
幾つかの実施形態では、方位検出モジュール209は、クライアント装置115の方位センサ245からジャイロスコープセンサ情報を受信する。幾つかの実施形態では、方位検出モジュール209は、ジャイロスコープセンサ情報に基づき、クライアント装置115が3つの方位軸のうちの1つにおいて傾いているか否かを決定する。他の実施形態では、方位検出モジュール209は、傾きを無効にするようクライアント装置115の方位を誘導するために、ユーザインタフェース上で視覚的区別指示子を生成するユーザインタフェースモジュール213に指示する。
連結モジュール211は、画像シリーズを単一の線形パノラマに繋ぎ合わせる機能を提供するソフトウェア及び/又はロジックを有しても良い。幾つかの実施形態では、連結モジュール211は、FPGA(field−programmable gate array)又はASIC(application−specific integrated circuit)を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、連結モジュール211は、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、連結モジュール211は、プロセッサ235により実行可能な命令セットである。幾つかの実施形態では、連結モジュール211は、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能である。幾つかの実装では、連結モジュール211は、プロセッサ235、メモリ237及び画像認識アプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応される。
幾つかの実施形態では、連結モジュール211は、特徴抽出モジュール203から、関心オブジェクトの参照画像を受信する。幾つかの実施形態では、連結モジュール211は、特徴比較モジュール207により処理されている画像同士の重なり合い情報を受信する。幾つかの実施形態では、コンピューティング装置200がクライアント装置115である場合、画像認識アプリケーション103の連結モジュール211は、単一の線形パノラマ画像を生成する認識サーバ101へ、関心オブジェクトの参照画像、重なり合い情報及び他のメタデータ情報を送信する。幾つかの実施形態では、コンピューティング装置200が認識サーバ101である場合、画像認識アプリケーション103の連結モジュール211は、関心オブジェクトの参照画像、重なり合い情報、及び他のメタデータ情報を用いて、単一の線形パノラマ画像を生成する。他の実施形態では、連結モジュール211は、線形パノラマ画像を受信し、データ記憶装置243に線形パノラマ画像を格納し、線形パノラマ画像を表示するユーザインタフェースを生成するようユーザインタフェースモジュール213に指示する。
ユーザインタフェースエンジン213は、ユーザインタフェースをユーザに提供するためのソフトウェア及び/又はロジックを有しても良い。幾つかの実施形態では、ユーザインタフェースモジュール213は、FPGA(field−programmable gate array)又はASIC(application−specific integrated circuit)を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、ユーザインタフェースモジュール213は、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、ユーザインタフェースモジュール213は、プロセッサ235により実行可能な命令セットである。幾つかの実装では、ユーザインタフェースモジュール213は、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能である。幾つかの実装では、ユーザインタフェースモジュール213は、プロセッサ235、メモリ237及び画像認識アプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応される。
幾つかの実施形態では、ユーザインタフェースモジュール213は、前にキャプチャされた画像と良好な重なり合いを有する次の画像をキャプチャするためにクライアント装置115をどれ位移動するかについてユーザに指示するグラフィカルユーザインタフェースを生成する命令を、プレビュー生成モジュール205及び特徴比較モジュール207から受信する。幾つかの実施形態では、ユーザインタフェースモジュール213は、任意の方位軸(例えば、X、Y、又はZ軸)において僅かな傾きしかない又は全く傾きを有しない重なり合い画像をキャプチャするようユーザを誘導するグラフィカルユーザインタフェースを生成する命令を、プレビュー生成モジュール205及び方位検出モジュール209から受信する。他の実施形態では、ユーザインタフェースモジュール213は、アプリケーションにグラフィカルユーザインタフェースとしてデータを表示させるグラフィカルユーザインタフェースデータを通信ユニット241を介してクライアント装置115の中のアプリケーション(例えば、ブラウザ)へ送信する。
<方法>
図3は、単一の線形パノラマ画像のために関心オブジェクトの画像シリーズをキャプチャする方法300の一実施形態を示すフロー図である。302で、特徴抽出モジュール203は、クライアント装置115から関心オブジェクトの一部の画像を受信し、参照画像として画像を識別する。例えば、画像は、棚、領域、芸術品、目印、景色のいい場所、他の空間、等の画像であり得る。画像は処理され、単一の線形パノラマ画像を形成するために必要な画像シリーズの中の第1の画像であるための基準(場所、方位、及び配置)を満たす場合、参照画像として識別される。304で、特徴抽出モジュール203は、参照画像の特徴を決定する。特徴抽出モジュール203は、参照画像の中で識別された各々の特徴について、位置、方位、及び画像記述子を決定する。例えば、特徴抽出モジュール203は、特徴位置を決定するために、Shi−Tomasiコーナ検出アルゴリズムのようなコーナ検出アルゴリズムを用いる。別の例では、特徴抽出モジュール203は、効率的な画像特徴記述子を決定するBRIEF(Binary Robust Independent Elementary Features)記述子アプローチを用いる。306で、プレビュー生成モジュール205は、クライアント装置115によりサンプリングされているプレビュー画像が存在するか否かを決定する。プレビュー画像がサンプリングされている場合、308で、プレビュー生成モジュール205は、クライアント装置115から関心オブジェクトの別の部分のプレビュー画像を受信する。310で、ユーザインタフェースモジュール213は、クライアント装置115のディスプレイに、プレビュー画像を含むユーザインタフェースを生成する。312で、特徴比較モジュール207は、重なり合いを決定するために、参照画像の特徴をプレビュー画像と動的に比較する。314で、ユーザインタフェースモジュール213は、所望の重なり合いを生成するために、クライアント装置115の動きを誘導する視覚的区別指示子をユーザインタフェースに追加する。316で、比較モジュール207は、参照画像とプレビュー画像との間の重なり合いが所定の重なり合い閾を満たすか否かを決定する。所定の重なり合い閾は、例えば約60%満たされても良い。318で、特徴比較モジュール207は、重なり合い閾が満たされるか否かを調べる。重なり合い閾が満たされる場合、320で、特徴抽出モジュール203は、プレビュー画像を参照画像であると設定し、方法300はステップ304から処理を繰り返す。例えば、特徴抽出モジュール203は、参照画像とプレビュー画像との間の重なり合いが例えば約60%であるとき、クライアント装置から関心オブジェクトの部分の次の画像を受信しても良い。特徴抽出モジュール203は、次に、この新しい画像を参照画像として識別する。重なり合い閾が満たされない場合、方法300は、ステップ306から処理を繰り返す。より多くの画像が、クライアント装置115のディスプレイ上のプレビュー画像として受信され、ユーザインタフェースは、参照画像との十分な重なり合いを有するプレビュー画像が決定されるまで、連続的に更新される。プレビュー画像がクライアント装置115によりサンプリングされていない場合、322で、連結モジュール211は、単一の線形パノラマ画像を生成するために関心オブジェクトの部分の画像を送信する。
図4A〜4Bは、単一の線形パノラマ画像のために関心オブジェクトの画像シリーズをキャプチャする方法400の別の実施形態を示すフロー図である。402で、特徴抽出モジュール203は、クライアント装置115から関心オブジェクトの一部の画像を受信し、参照画像として画像を識別する。404で、特徴抽出モジュール203は、参照画像の特徴を決定する。例えば、特徴抽出モジュール203は、参照画像について識別された各々の特徴の画像記述子を決定する。特徴抽出モジュール203は、効率的な画像特徴記述子を決定するBRIEF(Binary Robust Independent Elementary Features)記述子アプローチを用いる。画像記述子は、特徴によりカバーされる画像小領域を記述する256ビットのビットマスクであり得る。406で、プレビュー生成モジュール205は、クライアント装置115によりサンプリングされているプレビュー画像が存在するか否かを決定する。例えば、プレビュー画像は、レンズに形成され且つクライアント装置115に含まれる画像センサにより処理される画像を連続的に受信することによりクライアント装置115のディスプレイスクリーン上に生成されるライブプレビュー画像であり得る。プレビュー画像がサンプリングされている場合、408で、プレビュー生成モジュール205は、クライアント装置115から関心オブジェクトの別の部分のプレビュー画像を受信する。410で、ユーザインタフェースモジュール213は、クライアント装置115のディスプレイに、プレビュー画像を含むユーザインタフェースを生成する。412で、特徴比較モジュール207は、参照画像の特徴を関心オブジェクトのプレビュー画像と動的に比較する。例えば、特徴比較モジュール207は、参照画像の特徴の画像記述子を関心オブジェクトのプレビュー画像と比較するためにハミング距離を用いる。414で、特徴比較モジュール207は、動的比較に基づき、参照画像とプレビュー画像との間の重なり合いを決定する。416で、ユーザインタフェースモジュール213は、所望の重なり合いを生成するために、クライアント装置115の動きを誘導する第1の視覚的区別指示子を、プレビュー画像にオーバレイしてユーザインタフェースに追加する。例えば、視覚的区別指示子は、プレビュー画像にオーバレイされたその相対的位置を用いて、重なり合いの程度を示しても良い。視覚的区別指示子の相対的位置決めは、ユーザによるクライアント装置115の動きに結び付けられ得る。
418で、比較モジュール207は、参照画像とプレビュー画像との間の重なり合いが所定の重なり合い閾を満たすか否かを決定する。420で、方位検出モジュール209は、ジャイロスコープセンサ情報をクライアント装置115から受信する。422で、方位検出モジュール209は、ジャイロスコープセンサ情報に基づき、3つの方位軸のうちの1つにおけるクライアント装置115の傾きを決定する。例えば、方位検出モジュール209は、X軸(ピッチ)、Y軸(ヨー)、Z軸(ロール)のクライアント装置115の傾きを決定する。424で、ユーザインタフェースモジュール213は、傾きを無効にするために、クライアント装置115の方位を誘導する第2の視覚的区別指示子を、プレビュー画像にオーバレイしてユーザインタフェースに追加する。例えば、第2の視覚的区別指示子は、プレビュー画像の周辺の外観又は形式を変化することにより、3つの方位軸のうちの1つにおける傾きの程度を示しても良い。426で、特徴比較モジュール207は、重なり合い閾が満たされるか否かを調べる。重なり合い閾が満たされる場合、428で、方位検出モジュール209は、傾きが存在するか否かを調べる。傾きが存在する場合、方法400は、ステップ406から処理を繰り返す。傾き存在しない場合、430で、特徴抽出モジュール203は、プレビュー画像を参照画像であると設定し、方法400はステップ404から処理を繰り返す。例えば、特徴抽出モジュール203は、重なり合い閾を満たす重なり合いが達成されるとき、クライアント装置から関心オブジェクトの部分のプレビュー画像を受信しても良い。特徴抽出モジュール203は、次に、この次の画像を参照画像として識別する。重なり合い閾が満たされない場合、方法400は、ステップ406から処理を繰り返す。より多くの画像が、クライアント装置115のディスプレイ上のプレビュー画像として受信され、ユーザインタフェースは、参照画像との十分な重なり合いを有するプレビュー画像が決定されるまで、連続的に更新される。プレビュー画像がクライアント装置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は、2つの画像の間に重なり合いが存在することを決定するために、参照画像とプレビュー画像との間の整合する画像記述子を動的に識別する。516で、ユーザインタフェースモジュール213は、所望の重なり合いを生成するために、クライアント装置115の動きを誘導する第1の視覚的区別指示子を、プレビュー画像にオーバレイしてユーザインタフェースに追加する。視覚的区別指示子は、形状、大きさ、色、位置、方位、及び陰影のグループのうちの1つにより視覚的に区別できる。518で、ユーザインタフェース213は、動的比較に基づき、ユーザインタフェースの中のプレビュー画像の中心にある目標アウトラインに対して第1の視覚的区別指示子の位置を更新する。目標アウトラインの内側にある第1の視覚的区別指示子の位置は、重なり合いが所定の重なり合い閾を満たすことを示す。例えば、第1の視覚的区別指示子は色付きボールであり、目標アウトラインは、幾何学的形状の境界アウトラインであり得る。プレビュー画像にオーバレイされる目標アウトラインに対する色付きボールの位置決めは、所望の重なり合いを示す。色付きボールの位置が目標アウトラインに近いほど、重なり合いは重なり合い閾を厳密に満たす。例示的な実施形態は、図9A〜9Dを参照して以下に詳述される。
520で、比較モジュール207は、参照画像とプレビュー画像との間の重なり合いが所定の重なり合い閾を満たすか否かを決定する。522で、方位検出モジュール209は、ジャイロスコープセンサ情報をクライアント装置115から受信する。524で、方位検出モジュール209は、ジャイロスコープセンサ情報に基づき、3つの方位軸のうちの1つにおけるクライアント装置115の傾きを決定する。526で、ユーザインタフェースモジュール213は、傾きを無効にするようクライアント装置115の方位を誘導するために、第2の視覚的区別指示子を、プレビュー画像の周辺にオーバレイしてユーザインタフェースに追加する。例えば、傾きのための第2の視覚的区別指示子は、クライアント装置115のユーザインタフェースの周辺に傾きフィードバックを示すために、傾斜に基づく指示子であり得る。528で、ユーザインタフェースモジュール213は、傾きに基づき、ユーザインタフェースの中の第2の視覚的区別指示子の外観又は形態を変更する。530で、特徴比較モジュール207は、重なり合い閾が満たされるか否かを調べる。重なり合い閾が満たされる場合、532で、方位検出モジュール209は、傾きが存在するか否かを調べる。傾きが存在する場合、方法500は、ステップ506から処理を繰り返す。傾き存在しない場合、534で、特徴抽出モジュール203は、プレビュー画像を参照画像であると設定し、方法500はステップ504から処理を繰り返す。例えば、特徴抽出モジュール203は、参照画像とプレビュー画像との間の所望の重なり合いが例えば約60%であり、クライアント装置115により測定された傾きが僅かしか又は全く存在しないとき、クライアント装置115から関心オブジェクトの部分の次の画像を受信しても良い。特徴抽出モジュール203は、次の画像を参照画像として識別する。重なり合い閾が満たされない場合、方法500は、ステップ506から処理を繰り返す。より多くの画像が、クライアント装置115のディスプレイ上のプレビュー画像として受信され、ユーザインタフェースは、参照画像との十分な重なり合いを有するプレビュー画像が決定されるまで、連続的に更新される。プレビュー画像がクライアント装置115によりサンプリングされていない場合、536で、連結モジュール211は、単一の線形パノラマ画像を生成するために関心オブジェクトの部分の画像を送信する。
図6A〜6Bは、関心オブジェクトの前にキャプチャした画像に現在のプレビュー画像を再調整する方法600の一実施形態を示すフロー図である。602で、特徴抽出モジュール203は、クライアント装置115から関心オブジェクトの一部の画像を受信する。604で、特徴抽出モジュール203は、再調整が必要か否かを決定する。例えば、特徴抽出モジュール203は、クライアント装置115にあるプレビュー画像を前にキャプチャした画像に再調整するユーザ入力を受信しても良い。再調整が必要ない場合、方法600は終了する。再調整が必要な場合、606で、特徴抽出モジュール203は、画像をゴースト画像として識別し、ゴースト画像の特徴を決定する。608で、プレビュー生成モジュール205は、クライアント装置115によりサンプリングされているプレビュー画像が存在するか否かを決定する。プレビュー画像がサンプリングされていない場合、方法600は終了する。プレビュー画像がサンプリングされている場合、610で、プレビュー生成モジュール205は、クライアント装置115から関心オブジェクトの別の部分のプレビュー画像を受信する。612で、ユーザインタフェースモジュール213は、クライアント装置115のディスプレイ上で、プレビュー画像の一番上に半透明マスクとしてゴースト画像を重ね合わせるユーザインタフェースを生成する。614で、特徴比較モジュール207は、ゴースト画像とプレビュー画像との間の再調整を決定するために、ゴースト画像の特徴を関心オブジェクトのプレビュー画像と動的に比較する。616で、ユーザインタフェースモジュール213は、所望の再調整を生成するために、クライアント装置115の動きを誘導する第1の視覚的区別指示子を、プレビュー画像にオーバレイしてユーザインタフェースに追加する。618で、ユーザインタフェース213は、動的比較に基づき、ユーザインタフェースの中のプレビュー画像の中心にある目標アウトラインに対して視覚的区別指示子の位置を更新する。目標アウトラインの内側にある視覚的区別指示子の位置は、再調整が成功していることを示す。620で、特徴比較モジュール207は、再調整が成功しているか否かを調べる。再調整が成功している場合、622で、ユーザインタフェースモジュール213は、再調整が成功していることを示すためにユーザインタフェースを更新する。再調整が成功しない場合、方法600は、ステップ608から処理を繰り返す。
<ユーザインタフェース>
幾つかの実施形態では、プレビュー生成モジュール205は、クライアント装置115のユーザから、関心オブジェクトの画像をキャプチャする要求を受信する。例えば、画像は、棚、領域、芸術品、目印、景色のいい場所、他の空間、等の画像であり得る。幾つかの実施形態では、プレビュー生成モジュール205は、クライアント装置115のディスプレイに関心オブジェクトのプレビュー画像を含むユーザインタフェースを生成するよう、ユーザインタフェースモジュール213に指示する。特徴抽出モジュール203は、クライアント装置115によりキャプチャされた画像を受信し、画像の特徴セットを抽出する。図7Aの例に示すように、グラフィック表現は、棚の画像をキャプチャするユーザインタフェース700の一実施形態を示す。例えば、棚の画像は、小売店舗にある棚の状態をキャプチャする。グラフィカル表現の中のユーザインタフェース700は、画像キャプチャのためにクライアント装置115を棚に揃えるための4個のコーナーマーカ702により定められるフレーム701、棚をディスプレイの中央にセンタリングするための同心円の目標アウトライン703及び704の対、画像をキャプチャする前に棚のプレビュー画像707の中心がずれているか否か及び/又は傾いているか否かを示すためのジャイロ水平線705及び周辺にある傾き参照矢印709a〜709b及び711a〜711bの対、を有する。傾き参照矢印709a〜709bを接続する細い直線715は、方位軸におけるクライアント装置115の傾きを示すために、傾き参照矢印709a〜709bと一緒に左右に横方向に移動できる。傾き参照矢印711a〜711bを接続する細い直線717は、別の方位軸におけるクライアント装置115の傾きを示すために、傾き参照矢印711a〜711bと一緒に上下に移動できる。外側の目標アウトライン704は、傾き参照矢印709a〜709bと異なる方法で同じ機能を提供する傾き参照矢印713a〜713bの対を有しても良い。別の例では、図7Bに示すように、グラフィック表現は、棚の画像をキャプチャするユーザインタフェース750の別の実施形態を示す。グラフィカル表現の中のユーザインタフェース750は、最小限である。図7Aからの傾き参照矢印709a〜709bは、図7Bでは無くなっている。外側目標アウトライン704の内部に配置される傾き参照矢印713a〜713bが代わりに用いられる。ジャイロ水平線705と関連する傾き参照矢印709a〜709bは、棚のプレビュー画像707の中心がずれているか及び/又は傾いているか否かを示しても良い。例えば、傾き参照矢印709a〜709b及びジャイロ水平線705は、クライアント装置115がZ軸の周りを回転する方向に依存して時計回り/反時計回りに回転しても良い。棚の画像は、認識のために受信されても良く、複数の関心アイテムを有しても良い。例えば、画像は、小売店舗の棚にある包装商品(例えば、コーヒーパッケージ、朝食シリアルボックス、ソーダボトル、等)の画像であり得る。包装商品は、該商品を棚にある他のアイテムと区別するための、その表面に印刷された文字及び絵入り情報を有しても良い。一例では、クライアント装置115のディスプレイは、ユーザがスクリーンをタッピングすることに応答して画像がキャプチャされたことを示すために、点滅しても良い。
幾つかの実施形態では、特徴抽出モジュール203は、クライアント装置115から関心オブジェクトの一部の画像を受信し、画像から特徴セットを抽出し、特徴比較モジュール207へ特徴セットを送信する。抽出された特徴セットは、縮尺、回転、周囲照明、画像取得パラメータ、等の変化に対してロバストであっても良い。特徴抽出モジュール203は、特徴セットの中の各々の特徴の位置を特定し、各々の特徴について、位置、方位、及び画像記述子を決定する。位置は、各々の特徴が生じる画像内のポイント(例えば、識別された特徴の位置)に対する相対位置であっても良い。幾つかの実施形態では、特徴抽出モジュール203は、特徴位置を決定するために、Shi−Tomasiコーナ検出アルゴリズム、Harris and Stephensコーナ検出アルゴリズム、等のようなコーナ検出アルゴリズムを用いる。幾つかの実施形態では、特徴抽出モジュール203は、効率的な画像特徴記述子を決定するBRIEF(Binary Robust Independent Elementary Features)記述子アプローチを用いる。特徴の画像記述子は、特徴によりカバーされる画像小領域を記述する256ビットのビットマスクであり得る。幾つかの実施形態では、特徴抽出モジュール203は、強度について特徴の近くの256ピクセルペアの各々のペアを比較し、各比較に基づき、特徴抽出モジュール203は、256ビットのビットマスクの中の1ビットを設定又はクリアしても良い。幾つかの実施形態では、特徴抽出モジュール203は、受信した画像が画像認識のために最適か否かを決定し、取り込まれた画像のセクションが完全な認識のために限られた情報しか有しない(例えば、豊富な特徴を有する部分がカットされている)、画像がぼやけ過ぎている、画像が照明アーチファクトを有する(例えば、過剰反射)、等の場合に、画像を再取り込みするようユーザに指示するデータを生成するようユーザインタフェースモジュール213に指示する。幾つかの実施形態では、特徴抽出モジュール203は、参照画像としてクライアント装置115によりキャプチャされた画像を識別し、キャッシュに参照画像の識別された特徴のセットを格納する。例えば、特徴抽出モジュール203は、画像を処理して、単一の線形パノラマ画像を形成するために必要な画像シリーズの中の第1の画像であるための基準(場所、方位、及び配置)を満たすか否かを決定する。満たす場合、特徴抽出モジュール203は、画像を参照画像として識別する。他の実施形態では、特徴抽出モジュール203は、クライアント装置115によりキャプチャされた画像を連結モジュール211へ送信する。他の実施形態では、特徴抽出モジュール203は、プレビュー生成モジュール207から関心オブジェクトのプレビュー画像を受信し、プレビュー画像から特徴セットをリアルタイムに抽出し、特徴比較モジュール207へ特徴セットを送信する。
画像シリーズを用いて線形パノラマ画像を生成する目的で、ユーザは、第1の画像に続く後続の画像をキャプチャするために関心オブジェクトに平行なまま、関心オブジェクトに沿った任意の方向にクライアント装置115を移動しても良い。例えば、クライアント装置115を運ぶユーザは、シリーズの中の他の画像をキャプチャするために棚ユニットに平行なまま、ある位置ポイントから別の位置ポイントへ北、南、東、又は西方向に移動できる。長い棚ユニットの線形パノラマ画像を生成するために必要な画像は、固定位置ポイントに静的に留まることによりクライアント装置115のユーザによりキャプチャできない。これは、固定位置ポイントからは、ユーザは、第1の画像に接続する周囲画像をキャプチャするために単に垂直方向に又は水平方向に回転できるだけだからである。棚の画像がこのような方法でキャプチャされた場合、画像は、2つの画像が互いに繋ぎあわされる位置でパノラマ画像の中に奇妙なアーチファクトを生じること無しに、互いに繋ぎ合わせることができない。幾つかの実施形態では、プレビュー生成モジュール205は、画像シリーズをキャプチャするために画像キャプチャのパターンのユーザ選択を受信する。
幾つかの実施形態では、画像キャプチャの選択されたパターンは、蛇行スキャンパターンであっても良い。蛇行スキャンパターンでは、画像キャプチャのシーケンスは、上と下の間(又は左と右の間)で交互に生じ、その間、クライアント装置115は関心オブジェクトに対して水平方向に(又は垂直方向に)平行して移動する。プレビュー生成モジュール205は、蛇行スキャンパターンに基づきユーザによりクライアント装置115の動きを誘導するユーザインタフェースを生成するよう、ユーザインタフェースモジュール213に指示する。例えば、ユーザインタフェースは、蛇行スキャンパターンに従うために、クライアント装置115が先ず関心オブジェクトの下へ(又は上へ)移動し、次に関心オブジェクトの右へ(又は左へ)移動し、次に関心オブジェクトの上へ(又は下へ)移動し、次に関心オブジェクトの右へ(又は左へ)移動し、再び関心オブジェクトの下へ(又は上へ)移動することを示しても良い。特徴抽出モジュール203は、各動きの終わりに、クライアント装置115によりキャプチャされた関心オブジェクトの画像を受信する。
幾つかの実施形態では、画像キャプチャの選択されたパターンは、ラスタスキャンパターンであっても良い。ラスタスキャンパターンは、クライアント装置115を関心オブジェクトに沿って一度に1つの線で漸進的に移動することにより、関心オブジェクトの画像キャプチャをカバーする。プレビュー生成モジュール205は、ラスタスキャンパターンに基づきユーザによりクライアント装置115の動きを誘導するユーザインタフェースを生成するよう、ユーザインタフェースモジュール213に指示する。例えば、ユーザインタフェースは、ラスタスキャンパターンに従うために、クライアント装置115が線に沿って関心オブジェクトの左から右へ(又は右から左へ)移動し、次に線の終わりで関心オブジェクトの下へ(又は上へ)移動し、再び次の線で関心オブジェクトの左から右へ(又は右から左へ)出発しても良いことを示しても良い。特徴抽出モジュール203は、左から右への(又は右から左への)クライアント装置115の各動きの終わりに、クライアント装置115によりキャプチャされた関心オブジェクトの画像を受信する。
他の実施形態では、画像キャプチャの選択されたパターンは、オーバアンドバックスキャンパターンであっても良い。オーバアンドバックスキャンパターンは、クライアント装置115を水平(又は垂直)方向に一端へ関心オブジェクトの一部を超えて移動し、次に、カバーされなかった関心オブジェクトの別の部分をキャプチャするためにクライアント装置115を戻すことにより、関心オブジェクトの画像キャプチャをカバーする。プレビュー生成モジュール205は、オーバアンドバックスキャンパターンに基づきユーザによりクライアント装置115の動きを誘導するユーザインタフェースを生成するよう、ユーザインタフェースモジュール213に指示する。例えば、ユーザインタフェースは、オーバアンドバックスキャンパターンに従うために、クライアント装置115が関心オブジェクトの左から右へ(又は右から左へ)一端へ移動し、次に右から左へ(又は左から右へ)開始端へ移動して戻っても良いことを示しても良い。特徴抽出モジュール203は、一端への左から右へのクライアント装置115の各動きの終わりに、及び開始端へ戻る右から左へのクライアント装置115の各動きの終わりに、クライアント装置115によりキャプチャされた関心オブジェクトの画像を受信する。
図8の例に示すように、グラフィック表現800は、関心オブジェクトのキャプチャされた画像同士の重なり合いの一実施形態を示す。グラフィカル表現800は、小売店舗の棚ユニット805の第1のキャプチャされた画像801及び第2のキャプチャされた画像803を有する。棚ユニット805は、消費者商品を蓄えられている。グラフィカル表現800は、第1のキャプチャされた画像801と第2のキャプチャされた画像803との間の重なり合い807を示す。幾つかの実施形態では、特徴比較モジュール207は、ユーザインタフェースを生成するユーザインタフェースモジュール213に、関心オブジェクトの前にキャプチャされた画像と特定量だけ重なり合う画像シリーズの中の次の画像をキャプチャするためにクライアント装置116の動きを誘導するよう指示する。重なり合いは、キャプチャ装置を運んでいるユーザがクライアント装置115をどの方向に移動するかに依存して、水平方向又は垂直方向で計算されても良い。この重なり合いは、シリーズの中の個々にキャプチャされた画像を互いに繋ぎ合わせることにより線形パノラマを生成するために用いられる連結アルゴリズムにより期待される画像同士の重なり合いの閾量(例えば、約60%)であっても良い。幾つかの実施形態では、画像重なり合い閾値は、認識サーバ101により用いられる連結アルゴリズムに基づき調整されても良い。例えば、連結アルゴリズムは、Stitcherクラスをサポートする特徴発見及び記述アルゴリズムがBRISK(Binary Robust Invariant Scalable Keypoints)アルゴリズム、FREAK(Fast Retina Keypoint)アルゴリズム、ORB(Oriented FAST and Rotated BRIEF)アルゴリズム等のグループからの1又は複数であり得るOpenCV(Open Source Computer Vision)パッケージに含まれるStitcherクラスであっても良い。幾つかの実施形態では、画像重なり合い閾値は、他のパーセンテージであっても良い。幾つかの実施形態では、画像重なり合い閾値は、55%乃至65%の間の範囲を有しても良い。このように、クライアント装置115は、互換性があり連結アルゴリズムの性能を向上する、画像をキャプチャするためのパラメータを調整しても良い。
幾つかの実施形態では、プレビュー生成モジュール205は、クライアント装置115が関心オブジェクトに向けられているとき、クライアント装置115により表示される関心オブジェクトの一部のプレビュー画像を連続的に受信する。プレビュー画像は、レンズに形成され且つクライアント装置115に含まれる画像センサにより処理される画像を連続的に受信することによりクライアント装置115のディスプレイスクリーン上に生成されるライブプレビュー画像であり得る。幾つかの実施形態では、プレビュー生成モジュール205は、クライアント装置115から特徴抽出モジュール203へ、画像特徴を抽出するために連続的に受信されている関心オブジェクトのプレビュー画像を送信する。
幾つかの実施形態では、特徴比較モジュール207は、関心オブジェクトの前にキャプチャされた画像の識別された特徴を、クライアント装置115により表示されている現在のプレビュー画像の特徴と、動的に比較する。特徴比較モジュール207は、前にキャプチャされた画像の中の目立った特徴を識別し、次に、画像のペアの間の対応を迅速に確立するために、それらを現在のプレビュー画像の抽出された特徴と効率的にマッチングする。例えば、特徴比較モジュール207は、参照画像の特徴の画像記述子(つまり、256ビットのビットマスク)を関心オブジェクトのプレビュー画像と比較するためにハミング距離を用いる。変数「i」が最も最近の前にキャプチャされた画像を表すために用いられる場合、画像特徴セットがFと表すことができるとすると、画像パイプラインの中の現在の画像の画像特徴セットは、Fi+1により表すことができる。シーケンスの中の本当に最初の画像の画像特徴セットは、Fと表すことができる。幾つかの実施形態では、特徴比較モジュール207は、類似指標Sを生成するよう前にキャプチャされた画像Fを現在のプレビュー画像Fi+1と比較するために類似関数を決定する。例えば、式はsim(F,Fi+1)=Sと記述できる。値Sは、前にキャプチャされた画像Fと現在のプレビュー画像Fi+1との間の類似の量を表す。
幾つかの実施形態では、特徴比較モジュール207は、クライアント装置115のユーザインタフェースを介してユーザにガイダンス及び/又はフィードバックを提供するために、現在のプレビュー画像と前にキャプチャされた画像との間の動的特徴比較と一緒に、パラメータとして画像重なり合い閾を用いる。例えば、特徴比較モジュール207は、類似値「V」を0.6に設定するために、画像重なり合い閾を用いる。幾つかの実施形態では、ユーザが前の画像をキャプチャした後にクライアント装置115を関心オブジェクトに平行な方向のうちの1つに(例えば、北、南、東、又は西)移動するとき、特徴比較モジュール207は、クライアント装置115の動きを含むデータを方位センサ245から受信しても良い。幾つかの実施形態では、特徴比較モジュール207は、関心オブジェクトの前にキャプチャされた画像とクライアント装置115により表示されている現在のプレビュー画像の特徴との間の動的特徴比較に基づき、クライアント装置115の動きの方向を決定する。前にキャプチャされた画像とプレビュー画像との間の動的特徴比較は、画像相違の程度を決定する。特徴比較モジュール207は、クライアント装置115の動きの方向に前にキャプチャされた画像とプレビュー画像との間の既存の重なり合いが存在するか否か、及びクライアント装置115が動きの方向に移動しているとき、既存の重なり合いが所定の画像重なり合い閾に近付いているか否かを決定する。特徴比較モジュール207は、クライアント装置115の動きの方向で決定された重なり合いに応答したユーザインタフェース上の重なり合いのために、視覚的区別指示子を生成するよう、ユーザインタフェースモジュール213に指示する。重なり合いのための視覚的区別指示子は、クライアント装置115により表示されるプレビュー画像にオーバレイしても良い。重なり合いのための視覚的区別指示子は、形状、大きさ、色、位置、方位、及び陰影のグループのうちの1つにより視覚的に区別できる。
特徴比較モジュール207は、ユーザインタフェースに重なり合いの視覚的区別指示子の位置をクライアント装置115の動きの方向と結合する。例えば、クライアント装置115を運んでいるユーザが左から右へ移動している場合、重なり合いの視覚的区別指示子は、始めにディスプレイの右側に現れ、動的特徴比較に基づき左側へ動き始めても良い。別の例では、クライアント装置115を運んでいるユーザが右から左へ移動している場合、重なり合いの視覚的区別指示子は、始めにディスプレイの左側に現れ、動的特徴比較に基づき右側へ動き始めても良い。特徴比較モジュール207は、クライアント装置115の動きの方向において、関心オブジェクトの前にキャプチャされた画像の識別された特徴を現在のプレビュー画像の特徴と動的に比較する。特徴比較モジュール207は、動きの方向の動的比較データを、ユーザインタフェース上の視覚的区別指示子の位置の変化に変換する。これは、所定の重なり合い閾を満たす最適重なり合いを達成するために、クライアント装置115をどのように動かすかに関する瞬間的フィードバックをユーザに提供する。例えば、動きの方向において、前にキャプチャした画像と現在のプレビュー画像との間の重なり合いが所定の画像重なり合い閾(例えば、類似値「V」=60%)に対応する場合、重なり合いの視覚的区別指示子の位置は、条件が満たされたことを示すために、ユーザインタフェース上で変化する。重なり合いの視覚的区別指示子は、最適重なり合いのために条件が満たされていることを示すために、クライアント装置115のディスプレイの中央にプレビュー画像にオーバレイされた円、四角、又は多角形のような幾何学的形状の境界目標アウトラインの中へと移動しても良い。幾つかの実施形態では、特徴比較モジュール207は、重なり合いのための視覚的区別指示子が例えば幾何学的形状の内側の範囲内にあるときを計算するために、類似値「V」と一緒に許容値「T」を用いる。幾つかの実施形態では、特徴比較モジュール207は、画像がキャプチャされる前に、重なり合いの視覚的区別指示子が幾何学的形状のどれだけ内側に存在する必要があるかに関する少しの曖昧さを許容するために許容値「T」を用いる。他の例では、視覚的区別指示子は、幾何学的形状の内側に少なくとも部分的に適合しても良く、画像がキャプチャできる前に幾何学的形状の内側に正確に適合する必要がなくても良い。幾つかの実施形態では、特徴比較モジュール207は、画像重なり合い閾が満たされるまで、前にキャプチャした画像と現在のプレビュー画像との間に生じている重なり合いの程度を示すために、ユーザインタフェース上に進捗状態バーを生成するよう、ユーザインタフェースモジュール213に指示する。例えば、進捗状態バーは、重なり合いを達成する際の増加的進捗を示しても良い。他の実施形態では、特徴比較モジュール207は、重なり合いが画像重なり合い閾を満たすことに応答して、画像をキャプチャするためのキャプチャコマンドをクライアント装置115へ送信し、クライアント装置115から画像を受信し、特徴抽出モジュール203へ画像を送信する。
幾つかの実施形態では、特徴比較モジュール207は、ユーザインタフェースモジュール213へ命令を送信するために、類似関数と一緒に距離指標関数を決定する。例えば、ユーザインタフェースモジュール213への命令は、重なり合いの視覚的区別指示子を表示するユーザインタフェースを駆動し及び画像をキャプチャすべきときを決定する命令であっても良い。距離指標関数は、画像F(つまりS)から画像F(つまりS)まで決定された全ての類似指標「S」の和を表し、dist(S)として表すことができる。距離指標関数は、2つの画像F及びFが互いにどれ位近いかを決定する。特徴比較モジュール207は、類似指標Sが類似値「V」の許容値「T」の範囲内か否かを決定し、条件(V−T)<dist(S)<(V+T)が満たされるようにする。満たされる場合、特徴比較モジュール207は、画像をキャプチャするために、クライアント装置115へキャプチャコマンドを送信する。距離指標関数dist(S)が許容値「T」の範囲内に近付くにつれ、特徴比較モジュール207は、距離指標関数dist(S)により生成された値を用いて、重なり合いの視覚的区別指示子が幾何学的形状に近付いていき、ユーザインタフェース上の幾何学的形状の境界範囲の中に適合することを表す。例えば、これは、クライアント装置115のユーザインタフェース上で、重なり合いの視覚的区別指示子がよく見えないこと及びあまり透過でないことに変換しても良い。
図9の例に示すように、グラフィカル表現900は、重なり合いの視覚的区別指示子を生成する画像整合処理の一実施形態を示す。図9で、グラフィカル表現900は、ユーザがクライアント装置115を移動することに基づき画像フレームを変化し(FからF)及びクライアント装置115のディスプレイ上でプレビュー画像を受信するカメラプレビューフレーム902を有する。グラフィカル表現900は、2個の画像フレーム902のそれぞれについて計算された類似指標関数904と、今までに受信された画像フレーム902について計算された距離指標関数906と、を更に有する。
図10A〜10Dの例に示すように、グラフィカル表現は、クライアント装置115が左から右方向に移動するとき、重なり合いの視覚的区別指示子を表示するユーザインタフェースの実施形態を示す。図10Aで、グラフィカル表現は、ボール1001(影付きの円)、クライアント装置115に表示される棚の現在のプレビュー画像1005上の同心円の目標アウトライン1003と1003との対、を含むユーザインタフェース1000を示す。ボール1001は、重なり合いの視覚的区別指示子として機能し、クライアント装置115が棚の左から右へ移動されるとき重なり合いが生じ始めるので、始めは透明にユーザインタフェース1000のディスプレイの右端に現れる。円の内側の目標アウトライン1003は、ボール1001が位置決めされ得る目標境界領域として機能する。幾つかの実施形態では、ボール1001及び目標アウトライン1003と1003との対は、任意の色、陰影、透過度、方位、形状、シンボル、等になるようカスタマイズできる。ユーザの狙いは、ディスプレイに連続的にプレビューされる重なり合う画像をキャプチャするために、クライアント装置115を棚の左から右へ移動することにより、ユーザインタフェース1000上の内側目標アウトライン1003の中にボール1001を揃え位置決めすることである。ボール1001を外側目標アウトライン1003の内側であるが内側目標アウトライン1003の外側に調整することは、重なり合いが良好であるが十分ではないことを意味する。内側目標アウトライン1003の内側にボール1001を調整することは、現在のプレビュー画像1005と前にキャプチャした画像との間の重なり合いが十分であり、次の画像をキャプチャするための画像重なり合い閾を満たすことを意味する。図10B及び10Cで、個々のグラフィカル表現は、ボール1001が内側目標アウトライン1003に近付き、所望の重なり合いが生成されていることを示すためにあまり見えず色があまり透明でないことを表示する更新されたユーザインタフェース1030及び1060を示す。他の実施形態では、ボール1001の外観は、重なり合いの程度を視覚的に示すために変更され得る。例えば、ボール1001は、色、形状、透明度、陰影、方位、等を変更しても良い。ボール1001の位置は、内側目標アウトライン1003に近付くにつれ、画像重なり合い閾に対応する、現在のプレビュー画像1005と前にキャプチャした画像との間の重なり合いを達成することに関連する進捗を示す。図10Dで、グラフィカル表現は、内側目標アウトライン1003の内側に中心のあるボール1001を実線で非透過色で表示するよう更新されたユーザインタフェース1090を示す。これは、画像をキャプチャするための画像重なり合い閾条件が満たされることをユーザに示す。重なり合い閾が満たされることは、点滅する、異なる色で点滅する、形状の変化(例えば、三角、五角形、等)、塗りつぶしの変化、等のような、ボール1001をその前の状態と視覚的に異なる方法で示すことにより、種々の他の方法で示すことができる。幾つかの実施形態では、ユーザインタフェース1090は、画像がキャプチャされたことを示すために、クライアント装置115の可聴シャッタークリック音と共に短く点滅しても良い。図10Dで、画像がキャプチャされた後、クライアント装置115が棚に渡る方向のうちの1つで再び移動し始めるまで、ユーザインタフェース1090はリセットされても良く、ボール1001はユーザインタフェース1090から消えても良い。
図11A〜11Dの別の例に示すように、グラフィカル表現は、クライアント装置115が下から上方向に移動するとき、重なり合いの視覚的区別指示子を表示する実施形態を示す。図11Aで、グラフィカル表現は、ボール1100、クライアント装置115に表示される棚の現在のプレビュー画像1105上の同心円の目標アウトライン1103と1104との対、を含むユーザインタフェース1100を示す。ボール1101は、重なり合いの視覚的区別指示子として機能し、クライアント装置115が棚の下から上へ移動されるとき重なり合いが生じ始めるので、始めは透明にユーザインタフェース1100のディスプレイの上端に現れる。ユーザの狙いは、ディスプレイに連続的にプレビューされる重なり合う画像をキャプチャするために、クライアント装置115を棚の下から上へ移動することにより、ユーザインタフェース1100上の内側目標アウトライン1103の中にボール1101を揃え位置決めすることである。内側目標アウトライン1103の内側にボール1101を調整することは、現在のプレビュー画像1105と前にキャプチャした画像との間の重なり合いが十分であり、次の画像をキャプチャするための画像重なり合い閾を満たすことを意味する。図11B及び11Cで、個々のグラフィカル表現は、ボール1101が内側目標アウトライン1103に近付き、あまり見えず色があまり透明でないことを表示する更新されたユーザインタフェース1130及び1160を示す。ボール1101の位置は、内側目標アウトライン1103に近付くにつれ、画像重なり合い閾に対応する、現在のプレビュー画像1105と前にキャプチャした画像との間の重なり合いを達成することに関連する進捗を示す。図11Dで、グラフィカル表現は、内側目標アウトライン1103の内側に中心のあるボール1101を実線で非透過色で表示するよう更新されたユーザインタフェース1190を示す。これは、画像をキャプチャするための画像重なり合い閾条件が満たされることをユーザに示す。幾つかの実施形態では、ユーザインタフェース1190は、画像がキャプチャされたことを示すために、クライアント装置115の可聴シャッタークリック音と共に短く点滅しても良い。図11Dで、画像がキャプチャされた後、クライアント装置115が棚に渡る方向のうちの1つで再び移動し始めるまで、ユーザインタフェース1190はリセットしても良く、ボール1101はユーザインタフェース1190から消えても良い。
幾つかの実施形態では、特徴抽出モジュール203は、画像から特徴を抽出するために、画像間で僅かな傾きしかない乃至全く傾きがない関心オブジェクトの第1のキャプチャされた画像に続く、後続のキャプチャされた画像を受信する。幾つかの実施形態では、方位検出モジュール209は、ユーザインタフェースモジュール205に、任意の方位軸(例えば、X、Y、又はZ軸)において僅かな傾きしかない又は全く傾きを有しない重なり合い画像をキャプチャするようユーザによりクライアント装置115の方位を誘導するユーザインタフェースを生成するよう指示する。良好な画像認識を可能にし得る僅かな傾きしかない又は全く傾きを有しない重なり合い画像は、高解像度線形パノラマ画像を生成する連結アルゴリズムにより期待されても良い。幾つかの実施形態では、方位検出モジュール209は、3つの方位軸のうちの任意の軸におけるクライアント装置115の傾きを含むジャイロスコープセンサデータを受信する。ジャイロスコープデータは、3軸のうちの任意の軸における回転角を測定する、クライアント装置115に含まれる方位センサ245により生成され得る。例えば、X軸における回転角はピッチパラメータにより定められ、Y軸における回転角はヨーパラメータにより定められ、Z軸における回転角はロールパラメータにより定められる。方位検出モジュール209は、ジャイロスコープセンサデータに基づき、クライアント装置115が任意の方位軸において傾いているか否かを決定する。方位検出モジュール209は、ユーザインタフェースモジュール213に、クライアント装置115が方位軸のうちの1又は複数において傾いていることに応答して、クライアント装置115のユーザインタフェース上で傾きの視覚的区別指示子を生成するよう指示する。ユーザインタフェース上の傾きの視覚的区別指示子の位置及び/又は外観は、クライアント装置115の傾きに結合されて、3つの方位軸のうちの任意の軸においてクライアント装置115に関連する傾きが存在するときを瞬間的フィードバックを通じて示すことができるようにする。一例では、傾きのための視覚的区別指示子は、クライアント装置115のユーザインタフェースの周辺に傾きフィードバックを示すために、傾斜に基づく指示子であり得る。傾斜に基づく指示子は、色が異なっても良い。例えば、回転を示す赤色、ピッチを示す青色、及びヨーを示す白色である。別の例では、傾きのための視覚的区別指示子は、クライアント装置115のユーザインタフェースの中心に表示された水平線であり得る。別の例では、傾きの視覚的区別指示子は、クライアント装置115のユーザインタフェースにおける方位のX軸、Y軸、及びZ軸の周りの回転角を示す角度オフセット指示子であり得る。別の例では、傾きのための視覚的区別指示子は、クライアント装置115に表示されるユーザインタフェースの向かい合う側にある2つの矢印点を結ぶ線であり得る。ユーザインタフェースを横切る2つの矢印点を結ぶ線の動きは、ユーザインタフェース上で傾きフィードバックを示すよう構成されても良い。さらに別の例では、傾きの視覚的区別指示子は、傾斜に基づく指示子、水平線、及び2つの矢印点を結ぶ線の組合せであり得る。幾つかの実施形態では、方位検出モジュール209は、ユーザインタフェースモジュール205に、関心オブジェクトの画像がキャプチャされる前に、先ず傾きが修正されなければならないことをユーザに示すために、ユーザインタフェース上に警告通知を生成するよう指示する。
図12A〜12Cの例に示すように、グラフィカル表現は、クライアント装置115がZ軸の周りを回転しているとき、傾きの視覚的区別指示子を表示するユーザインタフェースの実施形態を示す。図12Aで、グラフィカル表現は、回転参照矢印1201a〜1201bの対、ピッチ参照矢印1209a〜1209bの対、クライアント装置115に表示される棚の現在のプレビュー画像1205上の水平線、を含むユーザインタフェース1200を示す。回転参照矢印1201a〜1201bは、ユーザインタフェース1200の上及び下の周辺部分に位置付けられる。それらは、細い直線1207により結ばれ、回転のための視覚的区別指示子として機能しても良い。ピッチ参照矢印1209a〜1209bは、ユーザインタフェース1200の左及び右の周辺部分に位置付けられる。それらは、細い直線1211により結ばれ、ピッチのための視覚的区別指示子として機能しても良い。図12Aでは、細い直線1207により結ばれた回転参照矢印1201a〜1201b、細い直線1211により結ばれたピッチ参照矢印1209a〜1209b、及び水平線1203は、クライアント装置115が棚に向けて傾いていないので、中立の回転位置にある。図12Bでは、グラフィカル表現は、クライアント装置115が棚に対して平行でありながら左に回転しているとき、更新されたユーザインタフェース1230を示す。細い直線1207により結ばれた回転参照矢印1201a〜1201bは、クライアント装置115が棚を向いていることに関連して回転の程度を示すために、ユーザインタフェース1230の左へ移動する。細い直線1211により結ばれたピッチ参照矢印1209a〜1209bは、クライアント装置115が揺れていないので、位置を変化しない。回転参照矢印1201a〜1201bに加えて、ユーザインタフェース1230は、回転の視覚的区別指示子として機能するために、ユーザインタフェース1230の周辺に回転傾斜1213a及び1213bも有する。回転傾斜1213a及び1213bは、左への回転のために傾きがどれ位中心からずれているかを示す。水平線1203は、クライアント装置115が中立回転位置からどれ位離れているかについての追加情報を提供する。図12Cでは、グラフィカル表現は、クライアント装置115が棚に対して平行でありながら右に回転しているとき、別の更新されたユーザインタフェース1260を示す。細い直線1207により結ばれた回転参照矢印1201a〜1201bは、クライアント装置115が棚を向いていることに関連して回転の程度を示すために、ユーザインタフェース1260の右へ移動する。回転傾斜1213a〜1213bは、ここでも、右への回転のために傾きがどれ位中心からずれているかを示し、水平線1203は、クライアント装置115が中立回転位置からどれ位離れているかを示す。幾つかの実施形態では、図12B及び12Cのボール1215は、クライアント装置115が左へ又は右へ回転していることを示すために、異なる色である黄色に変わっても良い。幾つかの実施形態では、ボール1215は、前にキャプチャした画像との適正な重なり合いが存在するとき、内側目標アウトライン1217の範囲内に中心がきても良い。方位検出モジュール209は、ユーザインタフェースモジュール213に、画像がキャプチャされる前に、先ず傾きが無効にされなければならないことをユーザに示すために、ユーザインタフェース上に警告通知を生成するよう指示する。
図13A〜13Cの例に示すように、グラフィカル表現は、クライアント装置115がX軸の周りで揺れているとき、傾きの視覚的区別指示子を表示するユーザインタフェースの実施形態を示す。図13Aで、グラフィカル表現は、クライアント装置115に表示される棚の現在のプレビュー画像1305上のピッチ参照矢印1301a〜1301bの対と回転参照矢印1303a〜1303bの対とを含むユーザインタフェース1300を示す。ピッチ参照矢印1301a〜1301bは、ユーザインタフェース1300の左及び右の周辺部分に位置付けられる。ピッチ参照矢印1301a〜1301bは、細い直線1307により結ばれ、ピッチのための視覚的区別指示子として機能しても良い。図13Aで、ピッチ参照矢印1301a〜1301bは、クライアント装置115が棚に向けて傾いていないので、中立ピッチ位置にある。図13Bで、グラフィカル表現は、クライアント装置115が前方に揺れているとき、更新されたユーザインタフェース1330を示す。クライアント装置115の上部は、棚の上部に近くなり、棚の上部にある商品ほど現在のプレビュー画像1205で大きく見える。細い直線1307により結ばれたピッチ参照矢印1301a〜1301bは、クライアント装置115が棚を向いていることに関連してピッチの程度を示すために、ユーザインタフェース1330の上部へ移動する。細い直線1309により結ばれた回転参照矢印1303a〜1303bは、クライアント装置115が回転していないので、位置を変化しない。ピッチ参照矢印1301a〜1301bに加えて、ユーザインタフェース1330は、ピッチの視覚的区別指示子として機能するために、ユーザインタフェースの周辺にピッチ傾斜1311a及び1311bも有する。ピッチ傾斜1311a及び1311bは、クライアント装置115によりどれ位のピッチが検知されているかを示す。図13Cで、グラフィカル表現は、クライアント装置115が後方に揺れているとき、別の更新されたユーザインタフェース1360を示す。クライアント装置115の下部は、棚の下部に近くなり、棚の下部にある商品ほど現在のプレビュー画像1305で大きく見える。細い直線1307により結ばれたピッチ参照矢印1301a〜1301bは、クライアント装置115が棚を向いていることに関連してピッチの程度を示すために、ユーザインタフェース1360の下部へ移動する。ピッチ傾斜1311a及び1311bは、ここでも、クライアント装置115が後方に揺れているとき、クライアント装置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を示す。ここでも、交点1401は、目標アウトライン1403の外側にあり、クライアント装置115がX軸において又はZ軸において又はX及びZ軸の両方において傾いていることを、ユーザに視覚的に示す。図14A及び14Bで、傾斜に基づく指示子(例えば、回転傾斜1409a〜1409b、ピッチ傾斜1413a〜1413b、等)を含むユーザインタフェース1400及び1450の周辺位置は、クライアント装置115が1又は複数の軸において傾き過ぎていることをユーザに視覚的に示すために、色を変化しても良い。対応する回転(Z)軸の回転傾斜1409a〜1409b及びピッチ(X)軸のピッチ傾斜1413a〜1413bと連動して、ユーザインタフェース1400及び1450の周辺で、直線1415により結ばれた回転参照矢印1407a〜1407bは左右に滑るように動き、直線1417により結ばれたピッチ参照矢印1411a〜1411bは上下に滑るように動き、傾きに関する瞬間的フィードバックをユーザに提供する。
幾つかの実施形態では、特徴抽出モジュール203は、画像シーケンスキャプチャパターンにおける中断の後に、クライアント装置115により表示される関心オブジェクトの現在のプレビュー画像を前にキャプチャした視点に揃えるための要求をユーザから受信しても良い。例えば、ユーザは、関心オブジェクトの一部の画像をキャプチャする間、割り込まれても良く、時間期間の間、シーンを去る必要があっても良い。ユーザは、次に、関心オブジェクトの後続の画像のキャプチャを続けるために戻ってくることを望み得る。幾つかの例では、ユーザは、彼らが画像キャプチャ処理中に中断された場所を覚えていなくても良い。通路にある棚ユニットの画像をキャプチャする例では、中断の前に最後の画像がキャプチャされた場所と事実上同じ位置から画像キャプチャ処理を再開することが重要である。幾つかの実施形態では、重なり合い及び/又は傾きの視覚的区別指示子は、ユーザが前にキャプチャした画像と良好に重なり合う位置から画像キャプチャ処理を再開しない限り、機能しなくても良い。画像キャプチャ処理を再開する前に、関心オブジェクトの前の画像がクライアント装置115によりキャプチャされた通常の領域を見付けることは重要である。
幾つかの実施形態では、特徴抽出モジュール203は、前にキャプチャした画像をゴースト画像として識別し、ゴースト画像とプレビュー画像との再調整が望ましく、ゴースト画像をプレビュー生成モジュール205及び特徴比較モジュール207に送信する。プレビュー生成モジュール205は、ユーザインタフェースモジュール213に、クライアント装置115により表示されている現在のプレビュー画像の上に、前にキャプチャされた画像をゴースト画像として配置するユーザインタフェースを生成するよう指示する。例えば、ユーザは、関心オブジェクトに沿った位置を通り越して歩く。そこで、彼らは、最後の画像が前にキャプチャされたことを理解し、再調整処理を開始するために、現在のプレビュー画像の上のゴースト画像のオーバレイを用いる。ゴースト画像は、プレビュー画像にオーバレイされた半透明マスクとして現れても良い。特徴比較モジュール207は、ユーザインタフェースモジュール213に、所望の再調整を生成するために、クライアント装置115の動きを誘導する視覚的区別指示子によりユーザインタフェースを更新するよう指示する。再調整のための視覚的区別指示子は、形状、大きさ、色、位置、方位、及び陰影のグループのうちの1つにより視覚的に区別できる。特徴比較モジュール207は、ユーザインタフェースに再調整の視覚的区別指示子の位置をクライアント装置115の動きと結合する。特徴比較モジュール207は、画像間の再調整を決定するために、クライアント装置115の動きの方向において、関心オブジェクトの前にキャプチャされた画像の識別された特徴を現在のプレビュー画像の特徴と動的に比較する。例えば、前にキャプチャした画像の画像特徴セットは、Fとして表すことができる。プレビュー画像フレームについて決定された画像特徴セットは、Fにより表すことができる。前にキャプチャした画像との再調整のために、クライアント装置115が関心オブジェクトに沿って移動するにつれ、特徴抽出モジュール203は、各々のプレビュー画像フレームについて画像特徴を生成する。Fの変数「i」が5に等しい場合(つまり、前にキャプチャした画像を数えないで5個のプレビュー画像フレームがキャプチャされている、5番目のプレビュー画像フレームはFである)、特徴比較モジュール207は、前にキャプチャした画像Fを現在のプレビュー画像Fと比較して類似指標Sを生成するために、類似関数を決定する。例えば、類似関数は、sim(F,F)=Sと表せる。この値Sは、2つの画像が互いにどれだけ類似しているかを表し、前にキャプチャした画像と再調整するためにユーザが関心オブジェクトに沿ってどれだけ移動しなければならないかを示す。類似指標Sは、画像特徴セットFに先行する最後の画像特徴セットFとではなく、参照画像として機能する前にキャプチャした画像Fとの比較を示す。特徴比較モジュール207は、動きの方向の動的比較(つまり、類似関数)を、ユーザインタフェース上の視覚的区別指示子の位置の変化に変換する。これは、前にキャプチャした画像との適正な再調整を達成するために、クライアント装置115をどのように動かすかに関するフィードバックをユーザに提供する。幾つかの実施形態では、特徴比較モジュール207は、再調整が成功したことを決定しその確認を受信する。特徴比較モジュール207は、次に、ユーザインタフェースモジュール213に、再調整が成功したことを示すためにユーザインタフェースを更新し、ユーザインタフェースを再調整モードから、画像シリーズの次の画像をどのようにキャプチャするかをユーザに案内できるキャプチャモードに戻すよう指示する。
図15の例に示すように、グラフィカル表現1500は、再調整の視覚的区別指示子を生成する再調整処理の一実施形態を示す。図15で、グラフィカル表現1500は、ユーザがクライアント装置115を関心オブジェクトに沿って移動することに基づき画像フレームを変化する(FからF)カメラプレビューフレーム1504を有する。グラフィカル表現1500は、各々のプレビュー画像フレーム1504の特徴と前にキャプチャした画像1502の特徴との間で計算される類似指標関数1506も有する。上述のように、類似指標関数1506は、各々のプレビュー画像フレーム1504が前にキャプチャした画像1502とどれだけ類似するかを表し、プレビュー画像を前にキャプチャした画像1502に再調整するために、ユーザが関心オブジェクトに沿ってクライアント装置115をどれだけ移動しなければならないかを示す。
図16A〜16Dの例に示すように、グラフィカル表現は、前にキャプチャした画像にクライアント装置に表示された現在のプレビュー画像を再調整して表示するユーザインタフェースの実施形態を示す。図16Aで、グラフィカル表現は、ボール1601、クライアント装置115に表示される棚の現在のプレビュー画像1607の上部に現れるゴースト画像1605の上の同心円の目標アウトライン1603と1604との対、を含むユーザインタフェース1600を示す。ボール1601は、再調整のための視覚的区別指示子として機能する。内側目標アウトライン1603は、ユーザインタフェースが再調整モードであることを示すために、「X」十字で変形されて現れても良い。内側目標アウトライン1603は、クライアント装置115のユーザが調整を開始するために選択する調整ボタン1609と同じ外観であると仮定する。内側目標アウトライン1603は、再調整のための視覚的区別指示子を位置決めする目標境界領域として機能する。ユーザの狙いは、ゴースト画像1605との再調整を達成するために、クライアント装置115を移動することにより、ユーザインタフェース1600上で目標アウトライン1603の範囲内でボール1601を揃え位置決めすることである。図16Bで、グラフィカル表現は、プレビュー画像1607がゴースト画像1605に再調整するよう現れているとき、内側目標アウトライン1603に近付くボール1601を表示する更新されたユーザインタフェース1630を示す。図16Cで、グラフィカル表現は、再調整がほぼ完了しボール1601が内側目標アウトライン1603のほぼ内側にあることを示すために更新された内側目標アウトライン1603を表示する別のユーザインタフェース1660を示す。内側目標アウトライン1603は、通常の十字に戻される。図16Dで、グラフィカル表現は、再調整の後に現在のプレビュー画像1607を表示するために更新されたユーザインタフェース1690を示す。再調整が成功したので、図16Cからのゴースト画像1605は、もはやプレビュー画像1607にオーバレイされていない。これは、ユーザインタフェース1690が再調整モードからキャプチャモードに切り替えられ、関心オブジェクトの次の画像をキャプチャする準備ができていることをユーザに示す。
幾つかの実施形態では、連結モジュール211は、特徴抽出モジュール203から画像を受信し、単一の線形パノラマ画像を繋ぎ合わせるためにクライアント装置115からの重なり合い情報と一緒にキャプチャされた画像のセットを認識サーバ101へ送信する。幾つかの実施形態では、連結モジュール211は、キャプチャした画像セットの各々の個々の画像の抽出された特徴を、認識のためにデータ記憶装置243に格納された特徴と比較する。連結モジュール211は、例えば、個々の画像の中の商品を識別し、キャプチャした画像セットを単一の線形パノラマ画像に一緒に繋ぎ合わせるために、重なり合い情報と組み合わせてこのような情報を用いる。図17A〜17Bの例に示すように、グラフィック表現は、キャプチャした画像セットをプレビューするユーザインタフェースの一実施形態を示す。図17Aでは、グラフィカル表現は、それまでにキャプチャされ、画像がキャプチャされたときに得られた重なり合い情報及び画像特徴を用いて単一の線形パノラマ画像に一緒に繋ぎ合わせられた棚の画像セットをプレビューするモザイク1701を表示するユーザインタフェース1700を示す。例えば、ユーザインタフェース1700に示す画像の重なり合いは、60%の重なり合い閾パラメータとほぼ同じであっても良い。ユーザインタフェース1700は、ユーザが個々にキャプチャした画像の各々を閲覧するためにスライドできるタブ1703も有する。図17Bで、グラフィカル表現は、ユーザがタブ1703をスライドすることに応答して、個々のキャプチャした画像の各々を強調表示するユーザインタフェース1750を示す。例えば、ユーザは、より大きなプレビューユーザインタフェースで画像を閲覧するために、強調表示された画像1705をタップしても良い。幾つかの実施形態では、連結モジュール211は、線形パノラマ画像から棚の状態に関する情報を含む関連分析データを決定する。例えば、連結モジュール211は、在庫切れ商品、不明商品、等を線形パノラマ画像から識別しても良い。別の例では、連結モジュール211は、線形パノラマ画像を用いてプラノグラム順守を決定しても良い。連結モジュール211は、パノラマ画像及び関連するメタデータをデータ記憶装置243に格納しても良い。連結モジュール211は、ユーザインタフェースモジュール213に、ユーザに店舗内で修正動作を取ることを要求する命令をクライアント装置115のディスプレイ上で提供するよう指示しても良い。例えば、修正動作は、プラノグラムに従って棚に商品を配置することであっても良い。
線形パノラマ画像を生成するために画像シリーズをキャプチャするシステム及び方法が記載された。以上の説明では、説明を目的として、上述の技術の完全な理解を提供するために、多くの詳細事項が説明された。しかしながら、当業者は、実施技術がそのような特定の詳細にかかわらず実施できることを理解するだろう。他の例では、説明を不明瞭にしないために及び理解を容易にするために、構造及び装置がブロック図で示される。例えば、技術は上述の一実施形態では主にソフトウェア及び特定のハードウェアを参照して記載される。しかしながら、本発明は、サービスを提供する任意の周辺装置の部分としてデータ及びコマンドを受信し及び情報を提示できる任意の種類のコンピューティングシステムに適用される。
本願明細書において「一実施形態」又は「ある実施形態」等のような表現は、実施形態と関連して記載された特定の機能、構造又は特徴が少なくとも1つの実施形態に含まれることを意味する。明細所内の種々の文の中の「一実施形態では」という表現の出現は、必ずしも全て同じ実施形態を参照していない。
上述の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズム及び象徴的表現の観点で提示される。これらのアルゴリズムの説明及び表現は、幾つかの環境では、データ処理技術の当業者により、業務内容を最も効率的に他の当業者に伝えるために用いられる手段である。アルゴリズムは、ここでは及び概して、所望の結果を生じる自己矛盾のないステップシーケンスであると考えられる。ステップは、物理量の物理的操作を必要とするステップである。通常、必ずしも必要ではないが、これらの量は、格納され、転送され、結合され、比較され及びその他の場合には操作され得る電気信号又は磁気信号の形式を取る。基本的に一般的に用いられるという理由で、これらの信号をビット、値、要素、シンボル、文字、語、数値、等として表すことが便利であることが分かっている。
しかしながら、これらの及び類似の語の全ては、適切な物理量に関連付けられ、これらの量に適用される便宜的ラベルに過ぎない。特に断りのない限り、以下の議論から明らかなように、以下の説明を通じて、「処理」、「計算」、「演算」、「決定」、「表示」、等の語を用いた議論は、コンピュータシステム又は同様の電子コンピューティング装置の動作及び処理を表す。コンピュータシステム又は同様の電子コンピューティング装置は、コンピュータシステムのレジスタ及びメモリ内にある物理(電子)量として表されたデータを操作し、コンピュータシステムのメモリ若しくはレジスタ又は情報記憶、送信又は表示装置等の中の物理量として同様に表される他のデータに変換する。
本発明は、本願明細書の動作を実行する装置にも関する。この装置は、所要の目的のために特に構成されても良く、又はコンピュータに格納されたコンピュータプログラムにより選択的に起動され又は再構成される汎用目的コンピュータを有しても良い。このようなコンピュータプログラムは、フロッピディスク、光ディスク、CD−ROM及び磁気ディスクを含む任意の種類のディスク、ROM(read−only memory)、RAM(random access memory)、EPROM、EEPROM、磁気若しくは光カード、不揮発性メモリを有するUSBキーを含むフラッシュメモリ、又は電子命令を格納するのに適する任意の種類の媒体のような、各々がコンピュータシステムバスに結合された、しかしこれらに限定されない非一時的コンピュータ可読記憶媒体に格納されても良い。
幾つかの実施形態は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態又はハードウェアとソフトウェア要素の両方を含む実施形態の形式を取り得る。一実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがこれらに限定されないソフトウェアで実装されても良い。
さらに、幾つかの実施形態は、コンピュータ又は任意の命令実行システムにより又はそれと関連して使用するためのプログラムコードを提供するコンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体からアクセス可能なコンピュータプログラムプロダクトの形式を取り得る。この説明の目的のために、コンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体は、命令実行システム、機器又は装置により若しくはそれらと関連して使用するためのプログラムを有し、格納し、通信し、伝達し又は転送することが可能な任意の機器であっても良い。
プログラムコードを格納し及び/又は実行するのに適するデータ処理システムは、システムバスを通じてメモリ要素に直接又は間接に結合される少なくとも1つのプロセッサを有し得る。メモリ要素は、プログラムコードの実際の実行中に用いられるローカルメモリ、大容量記憶装置、及び実行中にコードが大容量記憶装置から読み出されなければならない回数を低減するために少なくとも特定のプログラムコードの一時的記憶を提供するキャッシュメモリを含み得る。
入力/出力又はI/O装置(キーボード、ディスプレイ、ポインティングデバイス等を含むがこれらに限定されない)は、直接に又は介入するI/O制御部を通じてシステムに結合され得る。
ネットワークアダプタも、介入する私設若しくは公衆ネットワークを通じてデータ処理システムを他のデータ処理システムに又は遠隔プリンタ若しくは記憶装置に結合するために、システムに結合されても良い。モデム、ケーブルモデム及びEthernet(登録商標)カードは、現在利用可能な種類のネットワークアダプタのうちの少数の例に過ぎない。
最後に、本願明細書で提示されるアルゴリズム及びディスプレイは、本質的に、任意の特定のコンピュータ又は他の機器にも関連しない。種々の汎用システムが、本願明細書の教示に従ってプログラムと共に用いられても良く、所要の方法ステップを実行するために更に特定の装置を構成することが都合が良いことがあり得る。種々のこれらのシステムの所要の構造は、上述の説明から明らかである。さらに、技術は、任意の特定のプログラミング言語を参照して記載されない。理解されるべきことに、種々のプログラミング言語が、本願明細書に記載された種々の実施形態の教示を実施するために用いられても良い。
以上の実施形態の説明は、説明及び開設を目的としている。上述の記載は、網羅的であること又は本願明細書を開示の特定の形式に限定することを意図しない。上述の教示に照らして多くの修正及び変形が可能である。実施形態の範囲はこの詳細な説明に限定されず、本願の特許請求の範囲により定められる。当業者により理解されるように、種々の例が、本発明の精神又は基本的特徴から逸脱することなく他の特定の形式で実施できる。同様に、モジュール、ルーチン、特徴、属性、方法及び他の態様の特定の名称及び区分は、必須でも重要でもなく、明細書及びその特徴を実施するメカニズムは、異なる名称、区分及び/又はフォーマットを有しても良い。さらに、当業者に明らかなように、本願明細書のモジュール、ルーチン、特徴、属性、方法は、ソフトウェア、ファームウェア、又それらの任意の組合せで実装できる。また、本願明細書の例えばモジュールであるコンポーネントがソフトウェアとして実装されるときは、コンポーネントは、スタンドアロンプログラム、大規模プログラムの一部、複数の別個のプログラム、静的又は動的リンクライブラリ、カーネルローダブルモジュール、デバイスドライバとして、及び/又はコンピュータプログラミングの当業者に現在知られている若しくは将来知られる如何なる他の方法でも実装され得る。さらに、本願明細書は、特定プログラミング言語、又は特定のオペレーティングシステム若しくは環境での実施形態に限定されない。したがって、本開示は、限定ではなく、本願明細書の範囲の説明を目的とする。
101 認識サーバ
103 画像認識アプリケーション
105 ネットワーク
115 クライアント装置
201 制御部
203 特徴抽出モジュール
205 プレビュー生成モジュール
207 特徴比較モジュール
209 方位検出モジュール
211 連結モジュール
213 ユーザインタフェース
235 プロセッサ
237 メモリ
239 ディスプレイ装置
241 通信ユニット
243 データ記憶装置
245 方位センサ
247 キャプチャ装置

Claims (1)

  1. クライアント装置から関心オブジェクトの一部の画像を受信するステップと、
    前記画像を参照画像として識別するステップと、
    前記参照画像の特徴を決定するステップと、
    前記関心オブジェクトの別の部分のプレビュー画像を受信するステップと、
    前記プレビュー画像の特徴を決定するステップと、
    前記プレビュー画像を含むユーザインタフェースを生成するステップと、
    重なり合いを決定するために、前記参照画像の前記特徴を前記プレビュー画像の前記特徴と動的に比較するステップと、
    所望の重なり合いを生成するよう前記クライアント装置の動きを誘導するために、前記プレビュー画像にオーバレイして前記ユーザインタフェースに第1の視覚的区別指示子を追加するステップと、
    前記参照画像と前記プレビュー画像との間の前記重なり合いが所定の重なり合い閾を満たすか否かを決定するステップと、
    前記参照画像と前記プレビュー画像との間の前記重なり合いが前記所定の重なり合い閾を満たすことに応答して、前記関心オブジェクトの前記プレビュー画像を前記参照画像として設定するステップと、
    を有する方法。
JP2017083375A 2015-01-19 2017-04-20 線形パノラマ画像連結のための画像取得ユーザインタフェース Active JP6361778B2 (ja)

Applications Claiming Priority (6)

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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016008221A Division JP6132038B2 (ja) 2015-01-19 2016-01-19 線形パノラマ画像連結のための画像取得ユーザインタフェース

Publications (2)

Publication Number Publication Date
JP2017188906A true JP2017188906A (ja) 2017-10-12
JP6361778B2 JP6361778B2 (ja) 2018-07-25

Family

ID=55221269

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016008221A Active JP6132038B2 (ja) 2015-01-19 2016-01-19 線形パノラマ画像連結のための画像取得ユーザインタフェース
JP2017083375A Active JP6361778B2 (ja) 2015-01-19 2017-04-20 線形パノラマ画像連結のための画像取得ユーザインタフェース

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016008221A Active JP6132038B2 (ja) 2015-01-19 2016-01-19 線形パノラマ画像連結のための画像取得ユーザインタフェース

Country Status (4)

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

Families Citing this family (34)

* 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
CN109414221B (zh) * 2016-06-29 2021-08-17 视觉探索工业股份有限公司 用于矫正装置的测量和定制系统
US10453204B2 (en) * 2016-12-06 2019-10-22 Adobe Inc. Image alignment for burst mode images
WO2018162985A1 (en) * 2017-03-10 2018-09-13 Zyetric Augmented Reality Limited Interactive augmented reality
US20180300043A1 (en) * 2017-04-12 2018-10-18 Ricoh Company, Ltd. Realogram to Planogram User Interface
JP6768933B2 (ja) * 2017-04-14 2020-10-14 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理システム、および画像処理方法
CN107071281A (zh) * 2017-04-19 2017-08-18 珠海市魅族科技有限公司 全景拍摄方法及装置
CN108960012B (zh) * 2017-05-22 2022-04-15 中科创达软件股份有限公司 特征点检测方法、装置及电子设备
US10375050B2 (en) 2017-10-10 2019-08-06 Truepic Inc. Methods for authenticating photographic image data
CN107918927B (zh) * 2017-11-30 2021-06-04 武汉理工大学 一种匹配策略融合及低误差的快速图像拼接方法
CN108111752A (zh) * 2017-12-12 2018-06-01 北京达佳互联信息技术有限公司 视频拍摄方法、装置及移动终端
US10638906B2 (en) * 2017-12-15 2020-05-05 Neato Robotics, Inc. Conversion of cleaning robot camera images to floorplan for user interaction
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
US10860642B2 (en) * 2018-06-21 2020-12-08 Google Llc Predicting topics of potential relevance based on retrieved/created digital media files
US10360668B1 (en) 2018-08-13 2019-07-23 Truepic Inc. Methods for requesting and authenticating photographic image data
CN109102233A (zh) * 2018-08-28 2018-12-28 深圳市鼎昇贸易有限公司 库存错误分析方法及相关产品
JP7059881B2 (ja) * 2018-10-04 2022-04-26 トヨタ自動車株式会社 画像処理装置、画像処理方法、およびプログラム
CN109829853B (zh) * 2019-01-18 2022-12-23 电子科技大学 一种无人机航拍图像拼接方法
CN109934093B (zh) * 2019-01-21 2021-03-30 创新奇智(南京)科技有限公司 一种识别货架商品的方法、计算机可读介质及识别系统
USD956772S1 (en) * 2019-02-18 2022-07-05 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
JP1653657S (ja) * 2019-07-30 2020-02-25
JP1653656S (ja) * 2019-07-30 2020-02-25
US20210068788A1 (en) * 2019-09-10 2021-03-11 GE Precision Healthcare LLC Methods and systems for a medical imaging device
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
US20220321799A1 (en) * 2021-03-31 2022-10-06 Target Brands, Inc. Shelf-mountable imaging system
CN114040096A (zh) * 2021-10-27 2022-02-11 上海小零网络科技有限公司 针对货架图像的辅助拍摄方法、装置、设备及介质
USD1031741S1 (en) * 2022-03-18 2024-06-18 Ab Initio Technology Llc Display panel portion with an animated computer icon

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09322060A (ja) * 1996-05-28 1997-12-12 Canon Inc 撮像装置、画像合成装置及び画像合成システム
JPH11352568A (ja) * 1998-06-11 1999-12-24 Casio Comput Co Ltd カメラ及びその制御方法
JP2009060278A (ja) * 2007-08-30 2009-03-19 Olympus Imaging Corp カメラ及びこれに適用されるパノラマ撮影ガイド表示方法,パノラマ撮影ガイド表示プログラム
WO2012132204A1 (ja) * 2011-03-30 2012-10-04 Necカシオモバイルコミュニケーションズ株式会社 撮像装置、撮像装置の撮影ガイド表示方法及び非一時的なコンピュータ可読媒体
EP2563009A1 (en) * 2011-08-24 2013-02-27 HTC Corporation Method and electric device for taking panoramic photograph
JP2014168251A (ja) * 2008-05-20 2014-09-11 Nec Corp 撮影装置、携帯型情報処理端末、撮影装置のモニタ表示方法およびプログラム

Family Cites Families (29)

* 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
US6633685B1 (en) 1998-08-05 2003-10-14 Canon Kabushiki Kaisha Method, apparatus, and storage media for image processing
JP2000101895A (ja) * 1998-09-25 2000-04-07 Sony Corp 画像信号撮像装置および方法
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 삼성전자주식회사 파노라마 사진 촬영 방법
US8340452B2 (en) 2008-03-17 2012-12-25 Xerox Corporation Automatic generation of a photo guide
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 カシオ計算機株式会社 撮像装置、表示制御方法及びプログラム
US20120293607A1 (en) * 2011-05-17 2012-11-22 Apple Inc. Panorama Processing
JP5965596B2 (ja) 2011-07-27 2016-08-10 オリンパス株式会社 画像処理システム、情報処理装置及びプログラム
US9729788B2 (en) * 2011-11-07 2017-08-08 Sony Corporation Image generation apparatus and image generation method
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
WO2015114621A1 (en) 2014-02-02 2015-08-06 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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09322060A (ja) * 1996-05-28 1997-12-12 Canon Inc 撮像装置、画像合成装置及び画像合成システム
JPH11352568A (ja) * 1998-06-11 1999-12-24 Casio Comput Co Ltd カメラ及びその制御方法
JP2009060278A (ja) * 2007-08-30 2009-03-19 Olympus Imaging Corp カメラ及びこれに適用されるパノラマ撮影ガイド表示方法,パノラマ撮影ガイド表示プログラム
JP2014168251A (ja) * 2008-05-20 2014-09-11 Nec Corp 撮影装置、携帯型情報処理端末、撮影装置のモニタ表示方法およびプログラム
WO2012132204A1 (ja) * 2011-03-30 2012-10-04 Necカシオモバイルコミュニケーションズ株式会社 撮像装置、撮像装置の撮影ガイド表示方法及び非一時的なコンピュータ可読媒体
EP2563009A1 (en) * 2011-08-24 2013-02-27 HTC Corporation Method and electric device for taking panoramic photograph

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6361778B2 (ja) 線形パノラマ画像連結のための画像取得ユーザインタフェース
JP6103082B2 (ja) 線形パノラマ画像連結のためのプレビュー画像取得ユーザインタフェース
CN106558026B (zh) 偏离用户界面
US9911213B2 (en) Panoramic image stitching using objects
CN106558027B (zh) 用于估计相机姿态中的偏离误差的方法
US20190279017A1 (en) User Interface for Object Detection and Labeling
CN108604096B (zh) 显示图像的方法及其电子设备
US9280717B2 (en) Operating a computing device by detecting rounded objects in an image
JP6372487B2 (ja) 情報処理装置、制御方法、プログラム、および記憶媒体
TWI757824B (zh) 擴增實境螢幕系統及擴增實境螢幕顯示方法
JP2015141418A (ja) 両眼光学拡張現実システムの深さ−視差較正
CN110999307A (zh) 显示装置和服务器及其控制方法
JP7417827B2 (ja) 画像編集方法、画像表示方法、画像編集システム、及び画像編集プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180501

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180529

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180611

R151 Written notification of patent or utility model registration

Ref document number: 6361778

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151