JP6489262B2 - 誘導画像キャプチャユーザインタフェース - Google Patents

誘導画像キャプチャユーザインタフェース Download PDF

Info

Publication number
JP6489262B2
JP6489262B2 JP2018076499A JP2018076499A JP6489262B2 JP 6489262 B2 JP6489262 B2 JP 6489262B2 JP 2018076499 A JP2018076499 A JP 2018076499A JP 2018076499 A JP2018076499 A JP 2018076499A JP 6489262 B2 JP6489262 B2 JP 6489262B2
Authority
JP
Japan
Prior art keywords
image
item
capture
user interface
product
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.)
Expired - Fee Related
Application number
JP2018076499A
Other languages
English (en)
Other versions
JP2018190398A (ja
Inventor
グラハム ジェイミー
グラハム ジェイミー
ジー ヴァン オルスト ダニエル
ジー ヴァン オルスト ダニエル
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 JP2018190398A publication Critical patent/JP2018190398A/ja
Application granted granted Critical
Publication of JP6489262B2 publication Critical patent/JP6489262B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • 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/62Control of parameters via user interfaces
    • 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/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • 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

Description

本願明細書は、概して、コンピュータビジョンシステムのための商品データベースを構築するために商品画像を取得することに関する。特に、本願明細書は、異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成するシステム及び方法に関する。
標準的に、コンピュータビジョンシステムは、デジタル画像又はビデオから高水準の理解を得るために使用される。コンピュータビジョンタスクは、数値又は記号情報を生成するために、デジタル画像を取得し、処理し、分析し、及び理解する方法、並びに現実世界からの高次元データの抽出を含む。コンピュータビジョンの1つの重要な側面は、データベースを生成することであって、該データベースに対して新しい画像が比較され得る。特に、オブジェクト又は商品の認識に関して、完全なデータベースが重要である。画像認識処理は、商品のクエリ画像を受信すること、及びデータベース内に格納された画像のうちの1つがクエリ画像に一致するか否かを決定するためにデータベースを検索することを含む。肯定的一致がある場合、画像認識は成功する。しかしながら、データベースが商品の情報を有する場合でも、データベースが各商品に関して限られた情報しか有しないとき、画像認識は、常に成功するわけではない。
商品の認識における従来の試みは欠点を有する。例えば、商品のクエリ画像について一致を検索するために使用されるデータベース内に格納された画像が、クエリ画像に「類似」して見えないことを理由に、商品の認識は失敗する。ロバストな画像認識をサポートするために、正しい種類の画像及び十分な数の画像がデータベースに格納されるべきである。残念ながら、現在の方法は、この問題に対して信頼できる且つ効率的な解決策を提供しない。
本願明細書で紹介した技術は、異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成するシステム及び方法により、従来技術の欠点及び制限を少なくとも部分的に克服する。一実施形態では、システムは、1又は複数のプロセッサと命令を格納するメモリとを有し、該命令は、実行されると、前記1又は複数のプロセッサに、品目の寸法を含む該品目の商品情報を受信し及び提示するよう構成される第1ユーザインタフェースを生成させ、第1画像を受信させ、テンプレートを提示するために第2ユーザインタフェースを生成させ、前記テンプレートは、前記品目の前記寸法に合うよう大きさの定められる境界ボックスを含み、前記第2ユーザインタフェースは、前記境界ボックスを第2画像に重ね合わせて提示するよう構成され、前記境界ボックスの範囲内にある前記第2画像の一部をキャプチャするための入力を受信させ、前記第2画像をキャプチャするための前記入力に応答して、前記第1画像と前記第2画像の前記キャプチャした一部とを前記品目の面の変異形として提示するために、第3ユーザインタフェースを生成させ、前記品目の前記フェイスの一変異形として前記第2画像の前記キャプチャした一部を及び前記品目の前記情報をデータベースに格納させる。
他の態様は、上述の及び他の新規な態様のための対応する方法、システム、装置及びコンピュータプログラムを有する。
本願明細書に記載される特徴及び利点は網羅的ではなく、図面及び説明を参照して多くの追加の特徴及び利点が明らかになるだろう。さらに、留意すべき点は、本願明細書で用いられる語は、基本的に読み易さ及び説明的目的で選択されており、記載の技術の範囲を制限しない。
ここで紹介する技術は、例を用いて説明され、添付の図面に限定されるものではない。図中、同様の参照符号は同様の要素を表すために用いられる。
異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成するシステムの一実施形態を示す上位ブロック図である。 プラノグラムアプリケーションを有するコンピューティング装置の一実施形態を示すブロック図である。 データベースから品目の情報を検索する処理の一実施形態のグラフィカル表現である。 品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。 品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。 品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。 品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。 品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。 品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。 品目の情報を収集するようユーザに指示する誘導情報キャプチャ処理の一実施形態のグラフィカル表現である。 例示的な誘導キャプチャテンプレートのグラフィカル表現である。 携帯電話機のユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。 携帯電話機のユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。 タブレットコンピュータのユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。 タブレットコンピュータのユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。 データベース内の商品変異形に基づき動的に生成される例示的なテンプレートのグラフィカル表現である。 品目の情報を収集するようユーザに指示する例示的な方法の一実施形態を示すフロー図である。 異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成する例示的な方法の一実施形態を示すフロー図である。 異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成する例示的な方法の一実施形態を示すフロー図である。 異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成する例示的な方法の一実施形態を示すフロー図である。
図1は、リアログラム(realogram)からプラノグラム(planogram)を作成するユーザインタフェースを生成するシステム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は、プロセッサ、メモリ、アプリケーション、データベース及びネットワーク通信能力を有するコンピューティング装置であって良く、又はそれらにより実装されて良い。図1の例では、認識サーバ101のコンポーネントは、以下に詳述するプラノグラムアプリケーション103aを実装するために構成される。一実施形態では、認識サーバ101は、棚、ラック又は展示にある商品を識別し及び商品の配置を構成する構造化方法(例えば、プラノグラム)を決定するサービスを消費者包装品(consumer packaged goods:CPG)会社に提供する。本願明細書の例は、小売展示のような棚の画像の中の商品の認識を記載するが、画像は系統的なオブジェクト又は品目の任意の配置を有しても良いことが理解されるべきである。例えば、画像は、倉庫、貯蔵室、保管室、キャビネット、等であって良い。同様に、オブジェクトは、小売商品に加えて、製造、建築又は保守、薬剤、救急補給品、緊急又は安全設備、等で用いられるツール、部品であって良い。
幾つかの実施形態では、認識サーバ101は、ネットワーク105を介して、システム100の他のエンティティへ及びそれらからデータを送受信する。例えば、認識サーバ101は、画像を含むデータをクライアント装置115へ送信し及びそれから受信する。認識サーバ101により受信された画像は、クライアント装置115によりキャプチャされる画像、ウェブサイト若しくは電子メールからコピーされる画像、又は任意の他のソースからの画像を有して良い。図1には単一の認識サーバ101のみが示されるが、任意の数の認識サーバ101又はサーバクラスタが存在して良いことが理解されるべきである。認識サーバ101はデータ記憶装置を有して良い。
クライアント装置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は、画像処理中に特徴位置及び特徴記述の決定のために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の動作及び上述の機能は、図3〜10を参照して以下に詳述する。
図2は、プラノグラムアプリケーション103を有するコンピューティング装置200の一実施形態を示すブロック図である。コンピューティング装置200は、幾つかの例に従って、プロセッサ235、メモリ237、任意ディスプレイ装置239、通信ユニット241、データ記憶装置243、及び任意キャプチャ装置247も有して良い。コンピューティング装置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に結合されて良く、該メモリからのデータ及び命令にアクセスし、該メモリにデータを格納して良い。バス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)装置、DRAM(dynamic random access memory)装置、埋め込みメモリ装置、個別メモリ装置(例えば、PROM、EPROM、ROM)、ハードディスクドライブ、光ディスクドライブ(CD、DVD、Blue−ray(登録商標)、等)媒体を有して良く、プロセッサ235により若しくはプロセッサ235と共に処理するために、命令、データ、コンピュータプログラム、ソフトウェア、コード、ルーチン、等を有し、格納し、通信し、又は伝送できる任意の有形機器若しくは装置であり得る。幾つかの実装では、メモリ237は、揮発性メモリ及び不揮発性メモリのうちの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が含まれ、画像及び関連する認識結果を表示するために使用される。
通信ユニット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は、画像認識目的で、複数の最小在庫管理単位のデータベーステーブル又はテンプレートを格納して良い。最小在庫管理単位(stock keeping unit:SKU)は、セールのために提供される商品のような明白に区別される品目である。データベーステーブルは、品目を全ての他の品目から明白に区別される商品として区別可能にする全ての属性を含む。例えば、これらの属性は、ユニークな識別子(例えば、汎用商品コード(Universal Product Code:UPC))、商品名、物理的寸法(例えば、幅、高さ、奥行き、等)、サイズ(例えば、リッター、ガロン、オンス、ポンド、キログラム、液量オンス、等)、フェイシング側(例えば、前、後、横、上、底、等)、説明、ブランド製造者、色、梱包バージョン、材料、型番、価格、値引き、基本画像、等を含む。用語「最小在庫管理単位」又は「SKU」は、在庫の中の特定の商品又はサービスを参照するユニークな識別子も表して良い。幾つかの実施形態では、データ記憶装置243は、受信画像、受信画像について決定された特徴セット、及び受信画像に関連付けられたリアログラムを格納する。データ記憶装置243は、同様に、1又は複数のプラノグラムを格納して良い。さらに、データ記憶装置243は、1又は複数のプラノグラムを評価する際に使用されるデータセットを格納して良い。幾つかの実施形態では、データ記憶装置243は、品目のフェイスに関連付けられた変異形画像、及び変異形画像をキャプチャする際に使用されるテンプレートも格納する。データ記憶装置243に格納されたデータは、以下に詳細に記載される。
キャプチャ装置247は、関心オブジェクトの画像又はデータをデジタル的にキャプチャするよう動作して良い。例えば、キャプチャ装置247は、HD(high definition)カメラ、標準2Dカメラ、マルチスペクトルカメラ、構造光3Dカメラ、飛行時間3Dカメラ、立体カメラ、標準的なスマートフォンカメラ、又はウェアラブルコンピューティング装置であって良い。キャプチャ装置247は、プロセッサ235、メモリ237、又はデータ記憶装置243に画像及び他の処理済みメタデータを提供するために、バスに結合される。留意すべきことに、キャプチャ装置247は、任意であることを示すために、図2に破線で示される。例えば、コンピューティング装置200が認識サーバ101である場合、キャプチャ装置247はシステムの部分ではなく、コンピューティング装置200がクライアント装置115である場合、キャプチャ装置247が含まれ、画像及び後述する他のメタデータ情報を提供するために使用される。
幾つかの実施形態では、プラノグラムアプリケーション103は、制御部201、画像処理モジュール203、グルーピングモジュール205、プラノグラム生成モジュール207、ユーザインタフェースモジュール209、商品画像キャプチャモジュール211、誘導キャプチャモジュール213、及び動的テンプレート生成モジュール215を有して良い。プラノグラムアプリケーション103のコンポーネントは、バス220により通信可能に結合される。プラノグラムアプリケーション103のコンポーネントは、それぞれ、それらの個々の機能を提供するソフトウェア及び/又はロジックを有して良い。幾つかの実施形態では、プラノグラムアプリケーション103のコンポーネントは、それぞれ、FPGA(field−programmable gate array)又はASIC(application−specific integrated circuit)を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、プラノグラムアプリケーション103のコンポーネントは、それぞれ、ハードウェアとプロセッサ235により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、プラノグラムアプリケーション103のコンポーネントは、それぞれ、メモリ237に格納され、プロセッサ235によりアクセス可能且つ実行可能であって良い。幾つかの実装では、プラノグラムアプリケーション103のコンポーネントは、それぞれ、プロセッサ235、メモリ237及びプラノグラムアプリケーション103の他のコンポーネントとバス220を介して協働し通信するために適応されて良い。
制御部201は、プラノグラムアプリケーション103の他のコンポーネントの動作を制御するためにソフトウェア及び/又はロジックを有して良い。制御部201は、図9〜10を参照して以下に記載される方法を実行するためにプラノグラムアプリケーション103の他のコンポーネントを制御する。制御部201は、プラノグラムアプリケーション103とコンピューティング装置200の他のコンポーネントとの間の、並びにプラノグラムアプリケーション103のコンポーネント同士の間の通信を処理する機能を提供するために、ソフトウェア及び/又はロジックを有して良い。
幾つかの実施形態では、制御部201は、通信ユニット241を介して、データをクライアント装置115及び認識サーバ101のうちの1又は複数へ送信し及びそれらから受信する。例えば、制御部201は、通信ユニット241を介して、ユーザにより操作されるクライアント装置115から画像を受信し、画像処理モジュール203へ画像を送信する。別の例では、制御部201は、グラフィカルユーザインタフェースをユーザに提供するためのデータをユーザインタフェースモジュール209から受信し、クライアント装置115へデータを送信して、クライアント装置115にユーザに対してユーザインタフェースを提示させる。
幾つかの実施形態では、制御部201は、プラノグラムアプリケーション103の他のコンポーネントからデータを受信し、データ記憶装置243に該データを格納する。例えば、制御部201は、画像について識別された特徴を含むデータを画像処理モジュール203から受信し、データ記憶装置243に該データを格納する。他の実施形態では、制御部201は、データ記憶装置243からデータを読み出し、プラノグラムアプリケーション103の他のコンポーネントへ該データを送信する。例えば、制御部201は、品目又は商品を含むデータをデータ記憶装置243から読み出し、プラノグラム生成モジュール207に該読み出したデータを送信する。
幾つかの実施形態では、プラノグラムアプリケーション103とコンピューティング装置200の他のコンポーネントとの間の、及びプラノグラムアプリケーション103のコンポーネント間の通信は、自律的に生じ、制御部201と独立であり得る。
画像処理モジュール203は、クライアント装置115から、棚の1又は複数の画像を受信し処理する機能を提供するソフトウェア及び/又はロジックを有して良い。例えば、画像は、1又は複数の小売店舗内の一式の棚にある品目の現在レイアウトを示す画像であって良い。一式の棚のプラノグラムが利用可能ではない又は最新ではない場合、画像は、対応するプラノグラムを決定する際の開始点として機能する。
幾つかの実施形態では、画像処理モジュール203は、クライアント装置115から一式の棚の1又は複数の画像を受信する。画像は、認識のために受信されて良く、複数の関心品目を有して良い。例えば、画像は、小売店舗内の棚にある包装商品のリアルタイム配置及び移動を反映する、小売店舗の棚にある包装商品(例えば、コーヒーパッケージ、朝食シリアルボックス、ソーダボトル、等)の画像であり得る。ブランド製造者の包装商品は、該商品を1又は複数の他のブランド製造者に属する包装商品から区別する、文字及び絵で表された、該商品の表面に印刷された情報を含み得る。包装商品は、棚を見ているユーザに露出される棚の方向に置かれても良い。例えば、箱のような包装商品は、商品の前、後、横、上、又は底が棚を見ているユーザに露出されて、方向付けられて良い。包装を有しないで棚に展示される他の商品が存在し得ることが理解されるべきである。
幾つかの実施形態では、画像処理モジュール203は、受信した画像に対して認識が成功しそうか否かを決定し、クライアント装置115によりキャプチャされた画像が完全な認識のために限られた情報しか有しない(例えば、豊富な特徴を有する部分がカットされている)、画像がぼやけ過ぎている、画像が照明アーチファクトを有する(例えば、過剰反射)、等の場合に、画像を再取り込みするためのユーザに対する指示を含むグラフィカルデータを生成するようユーザインタフェースモジュール209に指示する。幾つかの実施形態では、画像処理モジュール203は、一式の棚の個別の及び十分に重なり合う画像のシーケンスを受信して良い。例えば、個別画像間の重なり合いは、40%〜50%であり得る。画像処理モジュール203は、個別画像を単一の線形パノラマ画像に縫い合わせ(例えば、合成画像)、縫い合わせた画像に対して画像認識を実行する。縫い合わせた画像及び最終的には縫い合わせた画像に基づくリアログラムの中に、目に見える幾何学ひずみ及び他のアーチファクトが存在し得る幾何学ひずみは、個別画像がクライアント装置115によりキャプチャされ及び合成画像に縫い合わせられる度に、棚に対するクライアント装置115の位置が変化するという事実に起因する。1又は複数の棚の物理的寸法は、縫い合わせた画像の中では不明である。他の実施形態では、画像処理モジュール203は、いかなる歪みも有しないで、単一の画像を受信して良い。
幾つかの実施形態では、画像処理モジュール203は、画像の特徴セットを決定する。例えば、画像処理モジュール203は、画像の中で識別された各々の特徴について、位置(例えば、X−Y座標)、方位、及び画像記述子を決定して良い。幾つかの実施形態では、画像処理モジュール203は、特徴位置を決定するコーナー検出アルゴリズムを使用する。例えば、コーナー検出アルゴリズムは、Shi−Tomasiコーナー検出アルゴリズム、Harris及びStephensコーナー検出アルゴリズム、等を含み得る。幾つかの実施形態では、画像処理モジュール203は、有効な画像特徴記述子を決定する特徴記述子アルゴリズムを使用する。例えば、特徴記述子アルゴリズムは、BRIEF(Binary Robust Independent Elementary Feature)、SIFT(Scale−Invariant Feature Transform)等を有して良い。特徴の画像記述子は、特徴によりカバーされる画像小領域を記述する256ビットのビットマスクであり得る。幾つかの実施形態では、画像処理モジュール203は、強度について特徴の近くの256個のピクセルペアの各々のペアを比較し、各比較に基づき、画像処理モジュール203は、256ビットのビットマスクの中の1ビットを設定又はクリアして良い。
幾つかの実施形態では、画像処理モジュール203は、画像認識を実行するために、画像の特徴を複数の品目に関連付けられたテンプレートの特徴と照合する。例えば、画像処理モジュール203は、画像の特徴を分析するデータ記憶装置243に商品の情報を格納するデータベーステーブルを使用する。画像処理モジュール203は、画像内の一致した品目の各々を縁取る(bordering)関心領域(region of interest:ROI)を識別する。関心領域は、任意の形状、例えば、多角形、中心点と直径を有する円、領域の幅と高さと1又は複数の基準点(例えば、領域の中心点、1又は複数の角点、等)を有する長方形、等であり得る。例えば、関心領域は、その全体の中で一致した品目を縁取る認識長方形であって良い。別の例では、関心領域は、一致した品目に関連付けられた絵で表した及び文字の情報を含む露出したラベルを縁取って良い。
幾つかの実施形態では、画像処理モジュール203は、画像からの画像特徴を複数の品目について格納されたテンプレート特徴と照合することに基づき、関心領域に関連付けられた品目又は商品を認識する。記号情報又はメタデータは、画像処理モジュール203により識別された品目についての認識結果と関連して決定される。記号情報は、汎用商品コード(UPC)、位置(例えば、相対X−Y座標における位置、棚のスロット位置、特定の在庫(shelf off the ground)、等)、関心領域のフェイシング側(例えば、上、底、前、後、又は横)及び寸法(例えば、幅、高さ、等)、及び他のメタデータ(例えば、包装バージョン)を含んで良い。幾つかの実施形態では、画像処理モジュール203は、相対単位で、画像内で認識された品目の座標位置及び寸法を決定する。相対単位は、インチのような物理的次元に対応しない。
幾つかの実施形態では、画像処理モジュール203は、画像に基づき、棚にある品目のリアログラムを決定する。リアログラムは、画像内で認識された複数の非隣接品目の記号情報を含んで良い。幾つかの実施形態では、画像処理モジュール203は、グルーピングモジュール205、プラノグラム生成モジュール207、及びユーザインタフェースモジュール209へ、リアログラムを含むデータを送信する。他の実施形態では、画像処理モジュール203は、データ記憶装置243にリアログラムを含むデータを格納する。
グルーピングモジュール205は、リアログラムの中の識別された品目の部分集合の線形群を決定する機能を提供するソフトウェア及び/又はロジックを有しても良い。線形群は、リアログラム内の棚上で線形に同時に生じる認識された品目の水平方向の集合又はグルーピングとして説明できる。幾つかの実施形態では、線形群は、リアログラムの中の棚に対応し、リアログラムからプラノグラムを生成する際に使用される。標準的に、リアログラムの中の線形群の正確な数は、対応するプラノグラムが利用可能であるとき、特定できる。例えば、グルーピングモジュール205が、対応するプラノグラムの中のデータ構造により示唆されるように、リアログラムの中に5個の棚しか存在できないことを決定した場合、グルーピングモジュール205は、リアログラムの中の認識された品目の位置に基づき、リアログラムの中で認識される品目を5個の線形群だけに適合しようと試みる。幾つかの実施形態では、プラノグラムデータ構造は、グルーピングモジュール205が線形群を決定するために使用する各棚にある品目数も示唆する。
プラノグラムは、完全画像(キャプチャノイズが無い)、完全画像配列、フェイシング及び完全画像認識における単一代表品目のような属性を含む。リアログラムについて対応するプラノグラムが存在しない又は利用できないとき、リアログラムの中の線形群の決定はエラーを示す。
幾つかの実施形態では、グルーピングモジュール205は、プラノグラムを有しないで、リアログラムの中の1又は複数の線形群を決定する。グルーピングモジュール205は、画像処理モジュール203から、品目の認識結果を含むリアログラムを受信する。このようなリアログラムは、縫い合わせ画像に基づいて良く、縫い合わせ画像は、あまり長方形ではなく、歪んでいて良い。幾つかの実施形態では、グルーピングモジュール205は、リアログラムの上に線形群を形成するユーザインタフェースを生成するために、ユーザインタフェースモジュール209へ命令を送信する。幾つかの実施形態では、グルーピングモジュール205は、また、リアログラムの中の線形群を番号付けする。
幾つかの実施形態では、グルーピングモジュール205は、プラノグラム生成モジュール207、及びユーザインタフェースモジュール209へ、識別した線形群を含むデータを送信する。他の実施形態では、グルーピングモジュール205は、データ記憶装置243に識別した線形群を含むデータを格納する。
プラノグラム生成モジュール207は、リアログラムからプラノグラムを生成する機能を提供するために、ソフトウェア及び/又はロジックを有して良い。幾つかの実施形態では、プラノグラム生成モジュール207は、画像処理モジュール203から、品目の認識結果を含むリアログラムを受信する。幾つかの実施形態では、プラノグラムは、単一の小売店舗又は複数の小売店舗に関連付けられて良い。幾つかの実施形態では、プラノグラム生成モジュール207は、後に詳述するように、リアログラムを正規化することによりプラノグラムを生成する。
幾つかの実施形態では、プラノグラム生成モジュール207は、品目の認識結果に基づきリアログラムの中の複数のフェイシング(facing)を識別する。フェイシング(facing)は、顧客に向けて展開された棚にある1又は複数の品目の垂直方向の積み重ねであり得る。例えば、歯磨き粉商品の集合は、それぞれ箱のような包装であり、互いに上に積み重ねられて、棚の1つの位置でフェイシングを形成し得る。フェイシングにおける1又は複数の品目は、同一商品(又は同じSKU)を提示するよう設計される。リアログラムの中の認識された品目は、リアログラムの中の認識された(例えば、相対X−Y座標の)場所に対応する関心領域に関連付けられ得る。フェイシングは、フェイシングの中の複数の品目に対応する複数の関心領域を含んで良い。あるいは、フェイシングは、単一の関心領域を含んで良い。しかしながら、認識されない品目が存在する場合、該品目は、対応する関心領域を有しないことがある。品目は、幾つかの理由で、画像処理モジュール203により認識されないことがある。例えば、品目について決定された画像特徴が、画像中に存在する歪みのために認識するのに十分でない場合がある。別の例では、品目は、データ記憶装置243の中の商品データベースに未だインデックス付けされていない新規品目である場合がある。また、品目が棚において誤って配置されている場合、フェイシングが混ざってしまう場合がある。例えば、歯磨き粉ブランド「X」が、歯磨き粉ブランド「Y」を意味するフェイシングの中で歯磨き粉ブランド「Y」の上に誤って配置される場合があり、したがって、フェイシングが混合したフェイシングになってしまう。
標準的に、プラノグラムは、一式の棚の各位置に提示される1つの品目を有して良い。つまり、プラノグラムは、品目の積み重ねをフェイシングとして表示しない。むしろ、プラノグラムは、積み重ねを提示する品目の単一の画像だけを表示する。プラノグラムを生成する過程で、幾つかの実施形態では、プラノグラム生成モジュール207は、フェイシングの中の1又は複数の一致した品目に関連付けられた認識の信頼性スコアを識別する。プラノグラム生成モジュール207は、リアログラムの中に現れる複数のフェイシングの各々に割り当てるべき最良の認識を決定するために信頼性スコアを使用する。
幾つかの実施形態では、プラノグラム生成モジュール207は、フェイシングの中の各品目についての認識の数に基づき、該フェイシングに割り当てるべき認識を決定する。例えば、混合したフェイシングの中に積み重ねられた3個の品目が存在する場合、プラノグラム生成モジュール207は、品目のうちの2個についての認識結果が最小在庫管理単位(SKU)「X歯磨き粉」に関連し、品目のうちの1個についての認識結果がSKU「Y歯磨き粉」に関連することを識別する。プラノグラム生成モジュール207は、フェイシングの中の3個の品目に関連付けられた認識の重み付けを実行し、SKU「歯磨き粉X」をフェイシングの中の各品目の最も可能性の高い認識として決定する。他の実施形態では、プラノグラム生成モジュール107は、近隣のフェイシングの中の認識された品目の識別を用いて、品目のどの候補認識を検討中のフェイシングの最も可能性の高い品目として推奨すべきかを検証する。
幾つかの実施形態では、プラノグラム生成モジュール207は、識別したフェイシングについての認識を、フェイシングの中の品目に関連付ける。例えば、プラノグラム生成モジュール207は、リアログラムの中のフェイシングの代表品目として認識を関連付ける。幾つかの実施形態では、プラノグラム生成モジュール207は、品目の認識がフェイシングに適用された後に、リアログラムの中の識別されたフェイシングから他の品目を除去する。例えば、プラノグラム生成モジュール207は、リアログラムの中の識別されたフェイシングの底にある品目の上面に積み重ねられた品目を除去する。幾つかの実施形態では、プラノグラム生成モジュール207は、データ記憶装置243内の商品データベースから最良認識に対応する品目の画像を読み出し、関心領域内の認識された品目を読み出した品目の画像で置き換える。例えば、プラノグラム生成モジュール207は、関心領域内のピクセル情報を除去し、読み出した画像のコピーを読み出し、関心領域に画像をスライドさせる。
幾つかの実施形態では、プラノグラム生成モジュール207は、グルーピングモジュール205から受信したような線形群に対応する1又は複数のフェイシングの棚を識別する。認識が棚上のフェイシングに適用されるとき、前述のような画像内の歪みのために、認識は互いに対して僅かに歪み及び/又は互いに重なり合うことがある。例えば、棚に属する認識品目(例えば、品目に関連付けられた関心領域に基づく)は、互いに垂直方向の配列から外れ、左及び/又は右にある他の認識品目と重なり合うことがある。幾つかの実施形態では、プラノグラム生成モジュール207は、棚に属する品目の端を水平方向に揃える。例えば、プラノグラム生成モジュール207は、棚に渡り配置された品目の底辺を揃える。品目の他の種類の整列が可能である。例えば、品目が棚にある掛け札から吊り下げられる場合、プラノグラム生成モジュール207は、品目の上辺を揃える。幾つかの実施形態では、プラノグラム生成モジュール207は、品目が間隔を空けられ且つ重なり合わない位置を占有するよう、棚に渡り品目を極小移動することにより、棚にある品目同士の重なり合いを解消する。例えば、プラノグラム生成モジュール207は、品目を水平方向に入れ替えて、品目の垂直方向の辺が互いに重なり合わないよう且つ互いに間隔を空けられるようにする。プラノグラム生成モジュール207は、最小数の品目が移動され得るよう及び移動が可能な限り最小限であるように、品目の移動を決定する。プラノグラム生成モジュール207は、プラノグラム全体の明確な境界を確立するために、及びプラノグラム境界を越えて品目を移動することを回避するために、左端及び右端から内側へ向けて品目を移動する。
リアログラムに基づくプラノグラムは、可能な限りリアログラムに近いものであるべきである。幾つかの実施形態では、プラノグラム生成モジュール207は、棚にあるスロット数を決定する。スロットは、棚の中の位置(又はフェイシング)の中にある品目に関連付けられる認識の通常位置である。幾つかの実施形態では、プラノグラム生成モジュール207は、スロットの番号付けを生成する。番号付けは、どの品目が棚にあるどの番号付けされたスロットにあるかを識別できる。例えば、プラノグラム生成モジュール207は、棚の左から右へ(又は右から左へ)スロットを番号付けする。リアログラムの物理的寸法及びリアログラム内のギャップは不明である。プラノグラムが正確であるためには、認識された品目の物理的寸法及びギャップの物理的幅を決定することが望ましい。プラノグラム生成モジュール207は、一式の棚上で認識される非隣接に且つ順に配置された品目間の水平方向の間隔及びギャップを保存するプラノグラムを生成する。ギャップは、品目に関連付けられた認識を欠いている棚の一部である。例えば、リアログラムは、棚の画像がキャプチャされたとき、顧客が棚の入荷したフェイシングから全部の商品を取り出してしまったために、空きスポットを有して良い。別の例では、リアログラムは、棚にある未認識品目のために、空きスポットを有して良い。更に別の例では、リアログラムは、棚の始め及び/又は終わりに空きスポットを有して良い。プラノグラム生成モジュール207は、これらの空きスポットの各々を、プラノグラム内で保存されるべき潜在的水平方向ギャップとして識別する。幾つかの実施形態では、プラノグラム生成モジュール207は、プラノグラムを生成するためにリアログラムの各棚を個別に処理する。これは、リアログラムの中で提示され得る幾何学歪みの影響を最小化するために行われる。
プラノグラム生成モジュール207は、リアログラムの中で認識された品目の集合のうちの部分集合を識別し、認識された商品の集合のうちの該部分集合をリアログラムの中の棚と関連付ける。プラノグラム生成モジュール207は、認識された品目の集合のうちの部分集合の中で最初の認識された品目の前にあり且つ棚にある最後の認識された品目に続く、多数のギャップの場所(例えば、相対X−Y座標における位置、棚にあるスロット位置、特定の在庫、等)を決定する。幾つかの実施形態では、プラノグラム生成モジュール207は、ギャップの番号付けを生成する。例えば、プラノグラム生成モジュール207は、棚の左から右へ(又は右から左へ)ギャップを番号付けする。
プラノグラム生成モジュール207は、画像処理モジュール203から、棚にある1又は複数の認識された品目に関連付けられた認識情報を受信する。例えば、品目の認識情報は、ユニークな識別子、フェイシング側、及び包装バージョンを含む。プラノグラム生成モジュール207は、特定寸法についてデータ記憶装置243内の商品データベースを検索するために、1又は複数の認識された品目の認識情報を使用する。プラノグラム生成モジュール207は、この検索に基づき、1又は複数の認識された品目の対応する物理寸法を決定する。例えば、認識された品目のフェイシング側と包装バージョンの各々の組合せは、それ自体の寸法セットを有し得る。前面フェイシングにより識別された第1品目及び側面フェイシングにより識別された第2品目は、第1及び第2品目が同じUPCである場合、それらに関連付けられた2つの異なる物理的幅を有する。同様に、同じUPCの第1包装バージョンで識別された第1品目及び第2包装バージョンで識別された第2品目は、それらに関連付けられた2つの異なる物理的幅を有して良い。
幾つかの実施形態では、プラノグラム生成モジュール207は、認識された品目の集合及びそれらの対応する物理的寸法、並びに認識された品目の集合の中のギャップの場所に基づき、リアログラムから代表プラノグラムを生成する。幾つかの実施形態では、プラノグラムは象徴的であり得る。プラノグラム生成モジュール207は、プラノグラムに変更を行うためにリードバック可能なファイルフォーマットで、プラノグラム情報を保存する。例えば、プラノグラム生成モジュール207は、商品識別子、商品名、ブランド、幅、高さ、フェイシング側、等を、カンマ区切り値(comma−separated values:CSV)ファイルに集約して、プラノグラムを象徴的に記述する。ここで、ファイルの各行はプラノグラムの品目に対応する。
幾つかの実施形態では、プラノグラム生成モジュール207は、リアログラム、リアログラムに対する上述の一連の正規化ステップを実行することにより生成されたプラノグラム、及び商品データベースを表示するユーザインタフェースを生成するよう、ユーザインタフェースモジュール209に命令を送信する。プラノグラムの表示は、ユーザが更に生成されたプラノグラムを編集すること及び/又は生成されたプラノグラムを補強することを可能にする可能な視覚化を提供する。例えば、ユーザは、生成されたプラノグラムを編集するために、ドラッグアンドドロップ、カットアンドペースト、及び取り消し及びやり直しのようなグラフィカル編集動作を提供され得る。
幾つかの実施形態では、プラノグラム生成モジュール207は、プラノグラムの変更するためのユーザ入力を受信し、プラノグラム生成モジュール207は、ユーザ入力に基づき相応してプラノグラムを更新する。
幾つかの実施形態では、プラノグラム生成モジュール207は、ユーザインタフェースモジュール209へ、プラノグラムを含むデータを送信する。他の実施形態では、プラノグラム生成モジュール207は、データ記憶装置243にプラノグラムを含むデータを格納する。
ユーザインタフェースエンジン209は、ユーザインタフェースをユーザに提供するためのソフトウェア及び/又はロジックを有して良い。幾つかの実施形態では、ユーザインタフェースモジュール209は、画像処理モジュール203から、クライアント装置115のディスプレイにリアログラムのユーザインタフェースを生成するための命令を受信する。例えば、一実施形態では、リアログラムは、棚にある認識された品目の各々が認識された品目の周りの色付きの関心領域指示子で強調表示されて、ユーザインタフェース上に表示されて良い。関心領域の指示は任意の種類の視覚指示子により可能であることが理解されるべきである。別の実施形態では、リアログラムは、個々の認識された品目がそれらの相対的位置にあり及び全ての認識されなかった品目(例えば、棚枠、価格タグ、非認識可能商品、等)が隠され又は除去されて、ユーザインタフェース上に表示されて良い。更に別の実施形態では、リアログラムは、データベースからの対応する商品画像が認識された品目に対応する関心領域に代入されて、ユーザインタフェース上に表示されて良い。幾つかの実施形態では、ユーザインタフェースモジュール209は、プラノグラム生成モジュール207から、クライアント装置115のディスプレイにプラノグラムのグラフィカルユーザインタフェースを生成するための命令を受信する。幾つかの実施形態では、ユーザインタフェースモジュール209は、商品データベースをユーザによる検索のための表形式表現として表示するグラフィカルユーザインタフェースを生成する。他の実施形態では、ユーザインタフェースモジュール209は、アプリケーションにグラフィカルユーザインタフェースとしてデータを表示させるグラフィカルユーザインタフェースデータを通信ユニット241を介してクライアント装置115の中のアプリケーション(例えば、ブラウザ)へ送信する。
本開示はプラノグラムアプリケーション103の部分である文脈でここに及び以下に記載されるが、これは単なる一実装例であること、及び本開示、特に商品画像キャプチャモジュール211、誘導キャプチャモジュール213、及び動的テンプレート生成モジュール215が多数の種々の他の構成で実装されてよいことが理解されるべきである。例えば、商品画像キャプチャモジュール211、誘導キャプチャモジュール213、及び動的テンプレート生成モジュール215は、画像を追加するため又はコンピュータビジョンシステムにより使用されるデータベースを補強するために、スタンドアロン型アプリケーションとして一緒に使用されて良い。別の構成では、商品画像キャプチャモジュール211、誘導キャプチャモジュール213、及び動的テンプレート生成モジュール215は、携帯電話機又はタブレットのためのモバイルアプリケーションとして一緒に使用されて良い。このような場合には、スタンドアロン型アプリケーションは、制御部201、画像処理モジュール203、ユーザインタフェースモジュール209、商品画像キャプチャモジュール211、誘導キャプチャモジュール213、及び動的テンプレート生成モジュール215を含む、商品画像キャプチャ(product image capture:PIC)アプリケーションであって良い。
商品画像キャプチャモジュール211は、品目の情報を受信し及び受信した情報に基づき品目の1又は複数の画像をキャプチャするようユーザを誘導するためにユーザインタフェースを生成するソフトウェア及び/又はロジックを有して良い。幾つかの実施形態では、商品画像キャプチャモジュール211は、図9〜10を参照して後述する方法を実行するために、ユーザインタフェースモジュール209、誘導キャプチャモジュール213、動的テンプレート生成モジュール215、及びプラノグラムアプリケーション103の他のコンポーネントと通信して良い。商品画像キャプチャモジュール211の詳細な動作の一実施形態は、以下の付録Aに記載される。
誘導キャプチャモジュール213は、画像認識を及びデータベースに格納されるときに検索を実現する品目の1又は複数の画像をキャプチャするためにユーザを助ける命令及びパラメータを生成し及び提供するソフトウェア及び/又はロジックを有して良い。例えば、誘導キャプチャモジュール213は、商品の画像が該商品の置かれている棚からの異なる距離から撮影できるよう、異なるサイズパラメータを生成しユーザに提供して良い。誘導キャプチャモジュール213は、異なる視野及び角度、及び異なる側面、商品の上面又は底面で商品の画像をキャプチャするために異なるサイズパラメータを生成し提供して良い。誘導キャプチャモジュール213は、また、棚の異なる位置に置かれた同じ商品の商品画像を取得するようユーザに指示して良い。棚の異なる位置にある商品について、異なる距離から取られた商品画像は、該商品のランダムクエリ画像とより多くの類似性を共有するので、クエリ画像と商品データベースに格納された商品画像との間の比較は、結果として、より肯定的一致をもたらし、したがって、よりロバスト名画像認識及びより大きな精度を可能にする。幾つかの実施形態では、誘導キャプチャモジュール213は、また、受信した画像をトレーニングし及び該トレーニングからデータベースの検索機能を向上する方法を学習するために、機械学習アルゴリズムを適用するために、商品画像キャプチャモジュール211、動的テンプレート生成モジュール215、及びプラノグラムアプリケーション103の他のコンポーネントと通信して良い。
動的テンプレート生成モジュール215は、1又は複数のテンプレートを動的に生成するソフトウェア及び/又はロジックを有して良く、商品画像をキャプチャするようユーザを誘導する際に使用するために1又は複数のテンプレートを誘導キャプチャモジュール213へ送信する。幾つかの実施形態では、動的テンプレート生成モジュール215は、データベースが認識のために使用されるときに認識がよりロバスト且つ正確になるように、データベースを拡張するために特定商品の既存テンプレートに追加可能な追加テンプレートを決定するために、機械学習アルゴリズムを使用する。例えば、所与の商品にういて、キャプチャされ及び使用されデータベースに格納されている3個のテンプレートに対応する画像が存在する。動的テンプレート生成モジュール215は、現在商品を表す全ての画像を分析し、将来の認識を向上するためにどんな追加画像を取得すべきかに関する推奨を行うために、機械学習アルゴリズムをトレーニングして良い。結果として、動的テンプレート生成モジュール215は、1又は複数の新しいテンプレートを生成し、該新しいテンプレートを誘導キャプチャモジュール213へ送信して、この新しいテンプレート内に合う推奨画像がキャプチャされ得るようにする。
図3を参照すると、誘導キャプチャモジュール213により実施される誘導情報キャプチャ処理は、示されるようにデータ検索処理により開始され得る。図3の例では、ユーザ、例えば店長は、店舗の棚にある対象商品を見付ける。301で、誘導キャプチャモジュール213は、対象商品のバーコードをスキャンしている店長のユーザ入力を受信する店長の携帯電話機上にユーザインタフェースを生成するよう、ユーザインタフェースモジュール209へ命令を送信する。303で、誘導キャプチャモジュール213は、受信したバーコードを店長に提示するためにユーザインタフェースを更新する。バーコードに基づき、誘導キャプチャモジュール213は、バーコードにより識別された対象商品がデータベース内に存在するかどうかを決定するために、商品データベースを検索する。データベース内に対象商品に関する情報が存在する場合、誘導キャプチャモジュール213は、データベースから商品情報を読み出し、ユーザインタフェースモジュール209と通信して、305に示すように、読み出した情報をユーザインタフェースの中で店長に提示する。しかしながら、対象商品についての情報が利用可能ではない又は対象商品の十分な情報が読み出されず提示されない場合には(例えば、誘導キャプチャモジュール213により定められるルールに基づき決定される)、誘導情報キャプチャ処理が開始されて、対象商品の情報を受信し、及び受信した情報をデータベースに追加する。
幾つかの実施形態では、データベース内の品目又は商品は、最上位から最下位までのUPC、1又は複数のバージョン、1又は複数のフェイス、及び1又は複数の変異形を含む階層構造に分解され得る。UPCは、商品を識別するために使用されるユニークなインデックスである。UPCにより識別される商品は、複数のバージョンを有して良い。ここで、バージョンは、異なる商品包装インスタンスを表す。例えば、商品は、クリスマスバージョン、感謝祭バージョン、等を有して良い。各商品バージョンは、該商品の異なる包装を有し、幾つかのフェイス、例えば商品の異なる側面を含んで良い。例えば、商品は、前、後、上、底、左側、及び右側のフェイスを有して良い。各フェイスは、商品が現実世界で見える種々の方法を表す多くの変異形又は変異形画像を含んで良い。例えば、商品のバージョンは、異なる角度又は異なる照明条件での商品の僅かな差を示すために、前面の5個の変異形画像を含む。変異形はエントリとして参照される場合も多い。
幾つかの実施形態では、誘導キャプチャモジュール213は、商品のバージョンについてフェイスの変異形をキャプチャするために、誘導情報キャプチャ処理を実行する。図4A〜4Gは、この誘導キャプチャ処理の一実施形態のグラフィカル表現である。図4A〜4Gの例では、ユーザのスマートフォンに格納された誘導キャプチャモジュール213は、商品情報を入力し及び該スマートフォンに備えられたカメラを用いて商品画像をキャプチャするようユーザを誘導するためのユーザインタフェースを該スマートフォン上に生成するために、プラノグラムアプリケーション103の他のコンポーネントと通信する。
図4Aで、誘導キャプチャモジュール213は、ユーザが商品のバーコード又は他の識別子をスキャンするために、「スキャン(Scan)」ボタン402を含むユーザインタフェースを生成する。「スキャン(Scan)」ボタン402の選択に応答して、画像がキャプチャされ、誘導キャプチャモジュール213は、バーコード404を含み得る画像を提示するためにユーザインタフェースを更新する。誘導キャプチャモジュール213は、バーコード404を使用して、対応する商品の情報がデータベース内に存在するかどうかを調べるために、商品データベースを検索する。
検索結果は、図4Bのユーザインタフェース406に示される。この例では、商品は商品データベース内に存在しない。スキャンしたバーコード番号408以外の情報は表示されない。検索結果に基づき、誘導キャプチャモジュール213は、ユーザインタフェース406内にメッセージ「バージョンを追加する(Add version)」を提示して、商品の新しいバージョンが追加可能であることをユーザに通知する。誘導キャプチャモジュール213は、ユーザが赤い囲いにより示されるようなバージョンの追加手順を選択し起動するために、ユーザインタフェース406内に動作ボタン410も有する。
ユーザが新しいバージョンを追加するために410を選択すると、誘導キャプチャモジュール213は、「フェイスを選択する(Select Face)」画面をユーザインタフェース412内に提示する。ここで、ユーザは、彼又は彼女がキャプチャしているフェイス(上、前、右側、等)を選択する。例えば、ユーザは、赤い囲いにより示されるように、「前(front)」414をキャプチャするために選択する。
図4Bのユーザインタフェース412におけるキャプチャすべき商品フェイス(例えば、前)の選択に応答して、誘導キャプチャモジュール213は、カメラビューを表示するためにユーザインタフェース416を更新する。ここで、ユーザは、ユーザインタフェース416内のボタンの選択により、図4Cに示すように商品の前面の第1画像をキャプチャする。誘導キャプチャモジュール213は、ユーザが画像を切り取るために、切り取り画面419を生成しユーザインタフェース418内に提示して良い。例えば、ユーザは、第1画像を切り取るために切り取り画面419の角をドラッグできる。画像切り取りが完了すると、誘導キャプチャモジュール213は、切り取った画像422をユーザに提示するためにユーザインタフェース420を更新し、424で次のステップへと続けるためにユーザ入力を受信する。誘導キャプチャモジュール213は、ユーザ入力に応答して、切り取った画像422を商品の第1画像として保存する。
図4Dで、誘導キャプチャモジュール213は、ユーザインタフェース425を更新する。428に示すように、第1画像426は、第1バージョンの商品の前面フェイスの画像である。誘導キャプチャモジュール213は、また、ユーザインタフェース425に商品情報を入力するようユーザを促す。商品情報は、限定ではなく、商品名、商品の寸法、商品カテゴリ及び/又はサブカテゴリ、商品ブランド、商品製造者、等を含む。幾つかの実施形態では、誘導キャプチャモジュール213は、ユーザによる手動入力から商品の寸法を受信する。他の実施形態では、誘導キャプチャモジュール213は、第1画像のキャプチャに応答して、商品の寸法を自動的に投入する。誘導キャプチャモジュール213は、後述のように1又は複数のサイズパラメータを決定するために、商品の寸法を使用して良い。ユーザインタフェース425内の赤い囲いにより示されるような「確認及び保存(Confirm & Save)」ボタン429のユーザ選択に応答して、誘導キャプチャモジュール213は、商品情報を商品の第1画像と一緒に商品データベースに保存し、ユーザインタフェース430を生成する。
誘導キャプチャモジュール213は、ユーザインタフェース430内に「商品フェイス(Product Face)」ビューを提示する。このビュー内で、誘導キャプチャモジュール213は、商品のフェイスに関する受信した情報、及び各フェイスに関連する変異形画像を表示する。図4Dの例では、1つの変異形画像L1のみがある。文字指示子431、及び視覚指示子232は、この変異形画像L1が前面フェイスに関連することを示す。誘導キャプチャモジュール213は、赤い囲いにより強調表示されたような「更に5枚の画像を取得してください(Please acquire 5 more images)」というメッセージ433を生成して、前面フェイスの更なる変異形がデータベースに追加されるべきであることをユーザに知らせる。これらの5枚の画像がキャプチャされると、メッセージ433は提示されない。
ユーザインタフェース430は、図4Eにも示される。ここで、カメラボタン431は、フェイス、例えば前面フェイスに変異形画像を追加するためにユーザが選択できることを示すために強調表示される。ユーザが赤い囲いにより示すようにカメラボタン431を選択すると、誘導キャプチャモジュール213は、ユーザインタフェース432を更新して、ユーザが変異形画像をキャプチャするために別のカメラビューを提示する。このとき、テンプレートがカメラビューの中に現れる。テンプレートは、商品の寸法に一致するよう大きさの決められた境界ボックス(赤で強調表示される)である。図4Eの例では、テンプレートは、図4Dで受信した寸法に基づき、商品と同じサイズを有する長方形である。テンプレートは、正方形、円、他の多角形、又は不規則形状のような任意の形状を有し得る。
ユーザが実際の商品をユーザインタフェース432のカメラビューの中に入れるためにカメラを位置決めすると、誘導キャプチャモジュール213は、カメラビュー上に示される実際の商品の画像に重ね合わされるテンプレート又は長方形を提示するよう構成される。ユーザは、実際の商品が長方形の内側に合うようにカメラの位置を調整し、写真を撮る。
誘導キャプチャモジュール213が、画像がキャプチャされたことを決定すると、誘導キャプチャモジュール213は、ユーザインタフェース434を更新して切り取り画面435を表示する。この切り取り画面435は、図4Cに示した切り取り画面と異なる。誘導情報キャプチャ処理のこの段階では、誘導キャプチャモジュール213は、幾つかの商品情報、特に商品の寸法、を受信しており、したがって、受信した寸法に少なくとも基づき切り取りゾーンを自動的に識別できる。切り取りゾーンは、図6A〜7Bを参照して更に詳細に説明される。誘導キャプチャモジュール213は、既にユーザに対して指定された切り取りゾーンと共に切り取り画面435を提示する。したがって、画像切り取りは容易に行うことができ、したがって、ユーザ経験が向上する。必要な場合には、ユーザは、切り取りゾーンに調整を施すことにより画像を更に精緻化できる。
ユーザインタフェース434内の「続ける(Continue)」ボタンのユーザ選択に応答して、誘導キャプチャモジュール213は、新たにキャプチャされた画像を商品の第2画像としてデータベースに保存し、図4Fのユーザインタフェース436内で「商品フェイス(Product Face)」ビューを再び提示する。ユーザは、今、437において2枚の画像がキャプチャされていること、及び、438において誘導キャプチャ処理のためにキャプチャされるべき残り4枚の画像があることを知る。同様に、ユーザは、商品の前面フェイスに関する次の変異形画像を追加するためにカメラボタン439を選択して良い。
次の変異形画像を追加するためのユーザ入力を受信すると、誘導キャプチャモジュール213は、新しいサイズを有する新しいテンプレート442を含むユーザインタフェース440を生成し提示する。異なるサイズを有するテンプレートは、図5を参照して後述する。誘導キャプチャモジュール213は、ユーザが撮影している商品画像に新しいテンプレートを重ね合わせ、テンプレートの内側に画像を合わせるようユーザに指示する。次のユーザインタフェースでは、誘導キャプチャモジュール213は、既に指定された切り取りゾーンと共に切り取り画面を提示する。したがって、ユーザは、切り取られた画像を容易に得ることができる。この画像のキャプチャを完了するユーザ確認の受信に応答して、誘導キャプチャモジュール213は、「商品フェイス(Product Face)」ビューに戻り、何枚の画像がキャプチャされているか、及び何枚がキャプチャするために残されているか、を示す。誘導キャプチャ処理は、全ての誘導キャプチャテンプレートが完成され及び相応してフェイスの全ての変異形がキャプチャされるまで、続く。この方法では、誘導キャプチャモジュール213は、正しい画像及び十分な数の画像の両方をキャプチャするようユーザを誘導するのを助ける。これらの画像(例えば、商品の各フェイスの変異形画像)によりデータベースを構築することは、特に機械学習アルゴリズムがこれらの画像から学習するために適用されるとき、(例えば、異なる距離、位置、照明及び他の条件を表す種々の画像により)商品認識を大幅に向上できる。
図5は、例示的な誘導キャプチャテンプレートのグラフィカル表現500である。テンプレート502、504、506、508、及び510は、同じ商品の同じフェイスの画像をキャプチャするために、誘導キャプチャモジュール213により使用される。しかしながら、これらのテンプレートは、少なくとも2つの特長:サイズ及び位置において異なる。幾つかの実施形態では、誘導キャプチャモジュール213は、テンプレートを決定するために、カメラと商品との間の距離、棚にある商品の位置、照明条件、等のような要因を考慮する。例えば、誘導キャプチャモジュール213は、ユーザが商品の写真を撮るために該商品から更に遠くに移動しなければならないように、より大きなサイズのテンプレート(例えば、502)を生成する。或いは、誘導キャプチャモジュール213は、カメラビューの異なる位置に重ね合わされるべきテンプレート502〜510を生成する。これは、異なる位置で商品の画像をキャプチャするために、したがって、異なる照明条件又は異なる位置における他の条件を反映させるために、ユーザにカメラを棚の異なる場所に位置決めさせる。他の実施形態では、誘導キャプチャモジュール213は、前の切り取りビューでキャプチャされたサイズに基づき、テンプレートのサイズを決定しても良い。言い換えると、誘導キャプチャモジュール213は、第2画像をキャプチャする際に使用された切り取りゾーンのサイズに基づき、第3画像のキャプチャのための新しいテンプレートを決定して良い。新しいテンプレートのサイズは切り取り損のサイズに依存するので、ユーザにより入力された商品の元の寸法情報が不正確な場合でも、商品の実際のサイズに常に近くなる。
図6A及び6Bは、携帯電話機のユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。キャプチャゾーン又は切り取りゾーンは、誘導キャプチャモジュール213がユーザに商品の画像をキャプチャするよう望む、テンプレート内の対象領域である。幾つかの実施形態では、キャプチャゾーンは長方形である。この特定の例では、テンプレートは、より大きな垂直アスペクト比を有する商品を対象とする。誘導キャプチャモジュール213は、テンプレートからキャプチャゾーンを識別するために、商品寸法に基づき決定されたアスペクト比を用いる。幾つかの実施形態では、商品の全体写真を受信することに応答して、誘導キャプチャモジュール213は、商品画像を生成するときに、キャプチャゾーンに基づき写真を自動的に切り取って良い。幾つかの実施形態では、誘導キャプチャモジュール213は、サイズを調整しながら(例えば、縮める)、対象位置にキャプチャゾーンを位置決めするテンプレートセットを決定しても良い。
図6Aの602に示すように、誘導キャプチャモジュール213は、商品の寸法に基づき、キャプチャゾーンを長方形として決定する。幾つかの実施形態では、装置画面(例えば、図6Aの携帯電話機)の寸法及び商品の最長側面が与えられると、誘導キャプチャモジュール213は、画面サイズより約X%小さい縮尺でキャプチャゾーンの境界ボックスを描くために、幅及び高さだけを使用する。このように、誘導キャプチャモジュール213は、キャプチャ#1のために長方形の寸法を計算する。キャプチャ#2及び#3について、誘導キャプチャモジュール213は、キャプチャ#1の長方形をY%だけ縮小する。キャプチャ#4及び#5について、誘導キャプチャモジュール213は、再びZ%だけサイズを縮小する。X、Y、及びZは、0〜100の間の数値である。これらの数値は、等しくて良く又はそうでなくて良い。
図6Bは、異なる商品の例示的なキャプチャゾーンを示す。この特定の例では、テンプレートは、より大きな水平アスペクト比を有する商品を対象とする。誘導キャプチャモジュール213は、キャプチャゾーンを識別するために商品寸法に基づき決定されたアスペクト比を使用するので、図6A及び6Bの商品のアスペクト比の間の異なる差は、図6A及び6Bのキャプチャゾーンの間の異なる差を与える。
図7A及び7Bは、タブレットコンピュータのユーザインタフェースに含まれる例示的なキャプチャゾーンのグラフィカル表現である。ここでも、キャプチャゾーンは、商品寸法に関連するアスペクト比及び装置画面(例えば、タブレットコンピュータ)の寸法に基づき決定される。タブレットの画面寸法は電話機と異なるので、テンプレートのサイズ及び形状も相応して変更される。
図8を参照すると、動的テンプレート生成モジュール215により生成された例示的なテンプレートが記載される。上述のように、動的テンプレート生成モジュール215は、誘導情報キャプチャ処理において使用されるテンプレートを動的に生成するソフトウェア及び/又はロジックを有して良い。上述のように、誘導キャプチャモジュール213は、商品画像をキャプチャするようユーザを誘導するとき、テンプレートセットを生成し及び使用する。誘導キャプチャモジュール213は、キャプチャされている商品の寸法に基づきテンプレートセットを決定する。これらのテンプレートは、各テンプレートが同じ位置に現れる場面で静的であり、キャプチャされている商品に拘わらず、商品の比率に関して基本的に同じサイズである。しかしながら、認識精度を向上するために、追加テンプレートが追加されて良い。データベースの使用の精度を増大する追加すべきテンプレートは、動的テンプレート生成モジュール215により決定される。
幾つかの実施形態では、動的テンプレート生成モジュール215は、1又は複数のテンプレートを動的に生成し、商品画像をキャプチャするようユーザを誘導する際に使用するために1又は複数のテンプレートを誘導キャプチャモジュール213へ送信する。幾つかの実施形態では、動的テンプレート生成モジュール215は、カメラビュー内のサイズ及び位置に調整を行うために、キャプチャされた情報に対するフィードバックを受信するために、機械学習システムと通信する。例えば、5枚の画像がキャプチャされデータベースに格納されている場合、動的テンプレート生成モジュール215は、現在商品を表す全ての画像を分析し、将来の認識を向上するためにどんな追加画像を取得すべきかに関する推奨を行うために、機械学習アルゴリズムをトレーニングして良い。結果として、動的テンプレート生成モジュール215は、新しいテンプレートを生成し、該新しいテンプレートを誘導キャプチャモジュール213へ送信して、この新しいテンプレート内に合う推奨画像がキャプチャされ得るようにする。
図8は、データベース内の製品変異形に基づき動的に生成される例示的なテンプレートのグラフィカル表現である。テンプレートX、Y、及びZは、異なるサイズ及び異なる位置を有する動的に生成されたテンプレートである。例えば、動的テンプレート生成モジュール215は、テンプレート1、2、及び3の内側に合う商品画像がキャプチャされたというフィードバックを受信し、テンプレートXを生成することを決定する。したがって、テンプレートXのサイズ及び位置を有する追加画像がキャプチャされ格納され得る。画像認識は、したがって、位置及びサイズにおいて多様な画像から利益を得る。
図9は、品目の情報を収集するようユーザに指示する例示的な方法900の一実施形態を示すフロー図である。902で、誘導キャプチャモジュール213は、品目の識別子、例えばUPCの画像を受信する。UPCは、画像から認識される。904で、誘導キャプチャモジュール213は、識別子に基づきデータベース内で該品目を検索する。906で、誘導キャプチャモジュール213は、データベース内に品目の情報が存在するか否かを決定する。例えば、誘導キャプチャモジュール213は、ユーザによりスキャンされた商品のバーコードを受信し読み取るために商品画像キャプチャモジュール211と通信し、バーコードに基づき商品データベースを検索し、商品データベースが商品情報を含むか否かを決定する。データベースが品目の情報を含む場合、908で、誘導キャプチャモジュール213は、ユーザへの提示のために、データベースから情報を読み出す。その他の場合、910で、誘導キャプチャモジュール213は、品目の情報のユーザ入力をユーザから受信する。例えば、誘導キャプチャモジュール213は、商品名、商品カテゴリ、及び商品寸法、等を入力するようユーザを促すために、商品画像キャプチャモジュール211及びユーザインタフェースモジュール209と通信する。幾つかの実施形態では、誘導キャプチャモジュール213は、ユーザから受信した品目の情報をデータベースに格納する。
品目の情報がユーザから受信されると又はデータベースから読み出されると、912で、誘導キャプチャモジュール213は、品目の画像をキャプチャするようユーザに指示するユーザインタフェースを生成するために、商品画像キャプチャモジュール211及びユーザインタフェースモジュール209と通信する。幾つかの実施形態では、品目の情報は、品目の寸法を含む。誘導キャプチャモジュール213は、テンプレートを提示し及びテンプレートに基づき品目の変異形画像をキャプチャするようユーザに指示するユーザインタフェースを生成して良い。変異形画像は品目のフェイスに対応する。テンプレートは、品目の寸法に一致するよう大きさの決められた境界ボックスである。
914で、画像はユーザによりキャプチャされ、誘導キャプチャモジュール213は品目の画像をデータベースに追加する。916で、誘導キャプチャモジュール213は、更なる画像がキャプチャされる必要があるか否かを決定する。キャプチャされる必要がある場合、方法900は、ブロック912に戻り、更なる画像をキャプチャするようユーザに指示するためにユーザインタフェースを生成する。キャプチャされる必要が無い場合、例えば、受信した画像の数が、データベース上のロバストな画像認識のために十分である場合、方法900は終了する。
図10A〜10Cは、異なる条件下で正しい大きさで品目の画像をキャプチャするようユーザを誘導するテンプレートセットを提示するユーザインタフェースを生成する例示的な方法の一実施形態を示すフロー図1000である。1002で、誘導キャプチャモジュール213は、品目の識別子を受信する。1004で、誘導キャプチャモジュール213は、識別子に基づきデータベース内で該品目を検索する。1006で、誘導キャプチャモジュール213は、品目の1又は複数の変異形をユーザに提示するユーザインタフェースを生成する。1008で、誘導キャプチャモジュール213は、データベース内に品目の変異形を追加すべきか否かを決定する。品目の情報がデータベースに格納されていない場合、つまり、1010で、誘導キャプチャモジュール213は、品目の情報を追加するようユーザに指示するユーザインタフェースを生成し、誘導キャプチャモジュール213及び次に方法900は、図10Bのステップ1022へ進み、新しい変異形のフェイス及び情報を追加する。1008で、品目の変異形がデータベースに存在すると決定された場合、1012で、誘導キャプチャモジュール213は、存在する変異形の1又は複数のフェイスをユーザに提示するために、ユーザインタフェースを更新する。例えば、ユーザインタフェースは、ユーザインタフェース内に商品の後及び左の例示的な画像を提示する。1014で、誘導キャプチャモジュール213は、フェイスを追加すべきか否かを決定する。フェイスを追加すべきである場合、誘導キャプチャモジュール213は、図10Bのステップ1022へ進み、例えば、後述するように商品の前面フェイス画像を追加する。誘導キャプチャモジュール213がフェイスを追加しないと決定した場合、1016で、誘導キャプチャモジュール213は、既存のフェイスの1又は複数のエントリを提示するために、ユーザインタフェースを更新する。エントリは、同じフェイスの変異形画像である。例えば、ユーザインタフェースは、データベースに格納された変異形フェイスを提示する。例えば、前面フェイスの5個の変異形が存在する場合、ユーザインタフェースは、商品の5枚の前面フェイス画像を表示する。1018で、誘導キャプチャモジュール213は、データベースにフェイスのエントリ又は変異形を追加すべきか否かを決定する。追加すべきである場合、方法1000は、後述する図10Cへ進む。その他の場合、1020で、誘導キャプチャモジュール213は、既存のフェイスの個々のエントリを提示するためにユーザインタフェースを更新する。例えば、ユーザは、商品の5枚の背面画像のうち第1画像を見る。
図10Bを参照すると、1022で、誘導キャプチャモジュール213は、ユーザインタフェース内でフェイス選択肢セットを提供する。1024で、フェイス選択肢セットからの1つのフェイスのユーザ選択に応答して、誘導キャプチャモジュール213は、品目のフェイスの第1画像をキャプチャするようユーザに指示するユーザインタフェースを提示する。1026で、誘導キャプチャモジュール213は、第1画像を切り取るために、第1切り取り画面をユーザに提供するユーザインタフェースを提示する。1028で、誘導キャプチャモジュール213は、ユーザインタフェースに品目の情報を入力するようユーザを促すユーザインタフェースを提示する。該情報は、品目の寸法を含む。1030で、誘導キャプチャモジュール213は、品目の情報及び品目のフェイスの第1画像をデータベースに格納する。1032で、誘導キャプチャモジュール213は、格納されたフェイス及び該格納されたフェイスに関連する画像を示すフェイスビューを提供する。1034で、誘導キャプチャモジュール213は、フェイスの変異形画像を追加すべきか否かを決定する。フェイスの変異形画像が追加されるべきであると決定された場合、方法は図10Cへ進む。その他の場合、1036で、誘導キャプチャモジュール213は、別のフェイスを追加すべきか否かを決定する。別のフェイスを追加すべきではないと決定された場合、方法は終了する。別のフェイスを追加すべきであると決定された場合、方法1000は、ステップ1022へ進み、フェイスを追加する手順を繰り返す。
図10Cを参照すると、1036で、誘導キャプチャモジュール213は、テンプレートを含むユーザインタフェースを提示する。テンプレートは、品目の寸法に基づきサイズの決定された境界ボックスである。1038で、誘導キャプチャモジュール213は、境界ボックスの内側に適合するフェイスの変異形画像をキャプチャするようユーザに指示するユーザインタフェースを提示する。1040で、誘導キャプチャモジュール213は、変異形画像を切り取るために、指定切り取りゾーンに関連する第2切り取り画面をユーザに提示するユーザインタフェースを提供するユーザインタフェースを提示する。1042で、誘導キャプチャモジュール213は、データベース内に品目のフェイスの変異形画像を格納する。1044で、誘導キャプチャモジュール213は、フェイスの変異形画像を追加すべきか否かを決定する。フェイスの変異形画像が追加されるべきであると決定された場合、1046で、誘導キャプチャモジュール213は、テンプレートを更新する。方法1000は、1036に戻り、フェイスの別の変異形画像を追加し始める。しかしながら、フェイスの別の変異形画像が追加される必要がないと決定された場合、1048で、誘導キャプチャモジュール213は、別のフェイスを追加すべきか否かを決定する。別のフェイスを追加すべきであると決定された場合、方法1000は、フェイスを追加するために図10Bのステップ1022に戻る。その他の場合、方法1000は終了する。
品目の画像をキャプチャするときに異なる条件下で品目を正しく大きさ決めするようユーザを誘導するためにテンプレートセットを提示するユーザインタフェースを生成するシステム及び方法が記載された。以上の説明では、説明を目的として、上述の技術の完全な理解を提供するために、多くの詳細事項が説明された。しかしながら、当業者は、実施技術がそのような特定の詳細にかかわらず実施できることを理解するだろう。他の例では、説明を不明瞭にしないために及び理解を容易にするために、構造及び装置がブロック図で示される。例えば、技術は上述の一実施形態では主にソフトウェア及び特定のハードウェアを参照して記載される。しかしながら、本発明は、サービスを提供する任意の周辺装置の部分としてデータ及びコマンドを受信し及び情報を提示できる任意の種類のコンピューティングシステムに適用される。
本願明細書において「一実施形態」又は「ある実施形態」等のような表現は、実施形態と関連して記載された特定の機能、構造又は特徴が少なくとも1つの実施形態に含まれることを意味する。明細所内の種々の文の中の「一実施形態では」という表現の出現は、必ずしも全て同じ実施形態を参照していない。
上述の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズム及び象徴的表現の観点で提示される。これらのアルゴリズムの説明及び表現は、幾つかの環境では、データ処理技術の当業者により、業務内容を最も効率的に他の当業者に伝えるために用いられる手段である。アルゴリズムは、ここでは及び概して、所望の結果を生じる自己矛盾のないステップシーケンスであると考えられる。ステップは、物理量の物理的操作を必要とするステップである。通常、必ずしも必要ではないが、これらの量は、格納され、転送され、結合され、比較され及びその他の場合には操作され得る電気信号又は磁気信号の形式を取る。基本的に一般的に用いられるという理由で、これらの信号をビット、値、要素、シンボル、文字、語、数値、等として表すことが時には便利であることが分かっている。
しかしながら、これらの及び類似の語の全ては、適切な物理量に関連付けられ、これらの量に適用される便宜的ラベルに過ぎない。特に断りのない限り、以下の議論から明らかなように、以下の説明を通じて、「処理」、「計算」、「演算」、「決定」、「表示」、等の語を用いた議論は、コンピュータシステム又は同様の電子コンピューティング装置の動作及び処理を表す。コンピュータシステム又は同様の電子コンピューティング装置は、コンピュータシステムのレジスタ及びメモリ内にある物理(電子)量として表されたデータを操作し、コンピュータシステムのメモリ若しくはレジスタ又は情報記憶、送信又は表示装置等の中の物理量として同様に表される他のデータに変換する。
本発明は、本願明細書の動作を実行する装置にも関する。この装置は、所要の目的のために特に構成されても良く、又はコンピュータに格納されたコンピュータプログラムにより選択的に起動され又は再構成される汎用目的コンピュータを有しても良い。このようなコンピュータプログラムは、フロッピディスク、光ディスク、CD−ROM及び磁気ディスクを含む任意の種類のディスク、ROM(read−only memory)、RAM(random access memory)、EPROM、EEPROM、磁気若しくは光カード、不揮発性メモリを有するUSBキーを含むフラッシュメモリ、又は電子命令を格納するのに適する任意の種類の媒体のような、各々がコンピュータシステムバスに結合された、しかしこれらに限定されない非一時的コンピュータ可読記憶媒体に格納されても良い。
幾つかの実施形態は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態又はハードウェアとソフトウェア要素の両方を含む実施形態の形式を取り得る。一実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがこれらに限定されないソフトウェアで実装されて良い。
さらに、幾つかの実施形態は、コンピュータ又は任意の命令実行システムにより又はそれと関連して使用するためのプログラムコードを提供するコンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体からアクセス可能なコンピュータプログラムプロダクトの形式を取り得る。この説明の目的のために、コンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体は、命令実行システム、機器又は装置により若しくはそれらと関連して使用するためのプログラムを有し、格納し、通信し、伝達し又は転送することが可能な任意の機器であって良い。
プログラムコードを格納し及び/又は実行するのに適するデータ処理システムは、システムバスを通じてメモリ要素に直接又は間接に結合される少なくとも1つのプロセッサを有し得る。メモリ要素は、プログラムコードの実際の実行中に用いられるローカルメモリ、大容量記憶装置、及び実行中にコードが大容量記憶装置から読み出されなければならない回数を低減するために少なくとも特定のプログラムコードの一時的記憶を提供するキャッシュメモリを含み得る。
入力/出力又はI/O装置(キーボード、ディスプレイ、ポインティングデバイス等を含むがこれらに限定されない)は、直接に又は介入するI/O制御部を通じてシステムに結合され得る。
ネットワークアダプタも、介入する私設若しくは公衆ネットワークを通じてデータ処理システムを他のデータ処理システムに又は遠隔プリンタ若しくは記憶装置に結合するために、システムに結合されて良い。モデム、ケーブルモデム及びEthernetカードは、現在利用可能な種類のネットワークアダプタのうちの少数の例に過ぎない。
最後に、本願明細書で提示されるアルゴリズム及びディスプレイは、本質的に、任意の特定のコンピュータ又は他の機器にも関連しない。種々の汎用システムが、本願明細書の教示に従ってプログラムと共に用いられて良く、所要の方法ステップを実行するために更に特定の装置を構成することが都合が良いことがあり得る。種々のこれらのシステムの所要の構造は、上述の説明から明らかである。さらに、技術は、任意の特定のプログラミング言語を参照して記載されない。理解されるべきことに、種々のプログラミング言語が、本願明細書に記載された種々の実施形態の教示を実施するために用いられて良い。
以上の実施形態の説明は、説明及び開設を目的としている。上述の記載は、網羅的であること又は本願明細書を開示の特定の形式に限定することを意図しない。上述の教示に照らして多くの修正及び変形が可能である。実施形態の範囲はこの詳細な説明に限定されず、本願の特許請求の範囲により定められる。当業者により理解されるように、種々の例が、本発明の精神又は基本的特徴から逸脱することなく他の特定の形式で実施できる。同様に、モジュール、ルーチン、特徴、属性、方法及び他の態様の特定の名称及び区分は、必須でも重要でもなく、明細書及びその特徴を実施するメカニズムは、異なる名称、区分及び/又はフォーマットを有して良い。さらに、当業者に明らかなように、本願明細書のモジュール、ルーチン、特徴、属性、方法は、ソフトウェア、ファームウェア、又それらの任意の組合せで実装できる。また、本願明細書の例えばモジュールであるコンポーネントがソフトウェアとして実装されるときは、コンポーネントは、スタンドアロンプログラム、大規模プログラムの一部、複数の別個のプログラム、静的又は動的リンクライブラリ、カーネルローダブルモジュール、デバイスドライバとして、及び/又はコンピュータプログラミングの当業者に現在知られている若しくは将来知られる如何なる他の方法でも実装され得る。さらに、本願明細書は、特定プログラミング言語、又は特定のオペレーティングシステム若しくは環境での実施形態に限定されない。したがって、本開示は、限定ではなく、本願明細書の範囲の説明を目的とする。
100 システム
101 認識サーバ
115 クライアント装置
103 プラノグラムアプリケーション
105 ネットワーク
<付録A>

Claims (2)

  1. 品目の寸法を含む該品目の商品情報を受信し及び提示するよう構成される第1ユーザインタフェースを生成するステップと、
    第1画像を受信するステップと、
    テンプレートを提示するために第2ユーザインタフェースを生成するステップであって、前記テンプレートは、前記品目の前記寸法に合うよう大きさの定められる境界ボックスを含み、前記第2ユーザインタフェースは、前記境界ボックスを第2画像に重ね合わせて提示するよう構成される、ステップと、
    前記境界ボックスの範囲内にある前記第2画像の一部をキャプチャするための入力を受信するステップと、
    前記第2画像をキャプチャするための前記入力に応答して、前記第1画像と前記第2画像の前記キャプチャした一部とを前記品目のフェイスの変異形として提示するために、第3ユーザインタフェースを生成するステップと、
    前記品目の前記フェイスの一変異形として前記第2画像の前記キャプチャした一部を及び前記品目の前記情報をデータベースに格納するステップと、
    を有する、コンピュータにより実施される方法。
  2. 画像の前記キャプチャを指示し、前記品目の商品情報を検索するため及び前記第1ユーザインタフェース内に前記商品情報を提示するために前記画像を使用する初期ユーザインタフェースを生成するステップ、を更に有する請求項1に記載の、コンピュータにより実施される方法。
JP2018076499A 2017-05-01 2018-04-12 誘導画像キャプチャユーザインタフェース Expired - Fee Related JP6489262B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762492840P 2017-05-01 2017-05-01
US62/492,840 2017-05-01
US15/671,278 US10116861B1 (en) 2017-05-01 2017-08-08 Guided image capture user interface
US15/671,278 2017-08-08

Publications (2)

Publication Number Publication Date
JP2018190398A JP2018190398A (ja) 2018-11-29
JP6489262B2 true JP6489262B2 (ja) 2019-03-27

Family

ID=63895039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018076499A Expired - Fee Related JP6489262B2 (ja) 2017-05-01 2018-04-12 誘導画像キャプチャユーザインタフェース

Country Status (2)

Country Link
US (1) US10116861B1 (ja)
JP (1) JP6489262B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10382673B2 (en) * 2017-01-11 2019-08-13 Hover Inc. Automated guide for image capturing for 3D model creation
KR101998359B1 (ko) * 2017-09-29 2019-07-09 주식회사 투블루 카드뉴스 제작서비스 제공방법 및 애플리케이션
KR101935177B1 (ko) * 2017-12-27 2019-01-17 배석호 중장비 거래 장치 및 방법
US11222050B2 (en) * 2018-08-03 2022-01-11 Kilpatrick Townsend & Stockton Llp Graphically representing related patent families using a phantom parent node
US11226996B2 (en) * 2018-08-03 2022-01-18 Kilpatrick Townsend & Stockton Llp Identifying and graphically representing multiple parent nodes of a child node
US11392627B2 (en) 2018-08-03 2022-07-19 Kilpatrick Townsend & Stockton Llp Identifying missing nodes within a graphically represented family
WO2020071456A1 (ja) 2018-10-05 2020-04-09 日本曹達株式会社 接着性組成物
US11113370B2 (en) 2018-12-05 2021-09-07 Bank Of America Corporation Processing authentication requests to secured information systems using machine-learned user-account behavior profiles
US11048793B2 (en) 2018-12-05 2021-06-29 Bank Of America Corporation Dynamically generating activity prompts to build and refine machine learning authentication models
US11120109B2 (en) 2018-12-05 2021-09-14 Bank Of America Corporation Processing authentication requests to secured information systems based on machine-learned event profiles
US11036838B2 (en) 2018-12-05 2021-06-15 Bank Of America Corporation Processing authentication requests to secured information systems using machine-learned user-account behavior profiles
US11176230B2 (en) 2018-12-05 2021-11-16 Bank Of America Corporation Processing authentication requests to secured information systems based on user behavior profiles
US11159510B2 (en) 2018-12-05 2021-10-26 Bank Of America Corporation Utilizing federated user identifiers to enable secure information sharing
CN109815100B (zh) * 2019-01-04 2022-06-28 深圳市象形字科技股份有限公司 一种利用图像对比分析对叫号宝软件的行为监控方法
JP7405144B2 (ja) * 2019-08-22 2023-12-26 日本電気株式会社 処理装置、処理方法及びプログラム
EP3828734A1 (en) * 2019-11-27 2021-06-02 Ubimax GmbH Method of performing a data collection procedure for a process which uses artificial intelligence
CN111259183B (zh) * 2020-02-21 2023-08-01 北京百度网讯科技有限公司 图像识图方法、装置、电子设备和介质
KR20210144156A (ko) * 2020-05-21 2021-11-30 주식회사 라인어스 전자 가격 표시기 제어 방법
EP4033397A1 (en) 2021-01-21 2022-07-27 ABB S.p.A. A computer-implemented method for assisting a user in interacting with an electronic relay for electric power distribution grids

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489987B2 (en) * 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
JP5359762B2 (ja) * 2009-10-15 2013-12-04 ソニー株式会社 情報処理装置、表示制御方法及び表示制御プログラム
US8401924B1 (en) * 2010-11-19 2013-03-19 Amazon Technologies, Inc. System for enabling electronic catalog users to create and share research data
JP5727542B2 (ja) * 2012-05-21 2015-06-03 株式会社レイメイ藤井 端末、端末の使用方法、手帳アプリケーション及びリフィル
JP5826800B2 (ja) * 2013-07-17 2015-12-02 東芝テック株式会社 認識辞書評価装置及び認識辞書評価プログラム
JP2015210651A (ja) * 2014-04-25 2015-11-24 サントリーシステムテクノロジー株式会社 商品識別システム
JP6555866B2 (ja) * 2014-09-22 2019-08-07 カシオ計算機株式会社 商品登録装置及びプログラム

Also Published As

Publication number Publication date
JP2018190398A (ja) 2018-11-29
US10116861B1 (en) 2018-10-30
US20180316852A1 (en) 2018-11-01

Similar Documents

Publication Publication Date Title
JP6489262B2 (ja) 誘導画像キャプチャユーザインタフェース
US10572757B2 (en) User interface for object detection and labeling
US10445870B2 (en) Linear grouping of recognized items in an image
US9911213B2 (en) Panoramic image stitching using objects
US10445821B2 (en) Planogram and realogram alignment
US10592854B2 (en) Planogram matching
US10318907B1 (en) Autonomous vehicle for mapping store layout
US10592855B2 (en) Method, system, and computer program product for planogram generation
US10438165B2 (en) Planogram generation
JP6635140B2 (ja) リアログラムからプラノグラムのユーザー・インターフェース
US10339690B2 (en) Image recognition scoring visualization
JP6624063B2 (ja) 自動販売機認識装置、商品棚認識装置、自動販売機認識方法、プログラムおよび画像処理装置
EP3217324A1 (en) Hybrid detection recognition system
US9875548B2 (en) Candidate list generation
JP7259754B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US10514825B2 (en) Image recognition result visualization over time
JP7477438B2 (ja) 情報処理装置、情報処理方法及び情報処理システム
JP7477439B2 (ja) 情報処理装置、情報処理方法及び情報処理システム
JP2016224884A (ja) 情報処理装置、及びプログラム
WO2019181442A1 (ja) 情報処理装置、制御方法、及びプログラム

Legal Events

Date Code Title Description
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: 20190129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190211

R151 Written notification of patent or utility model registration

Ref document number: 6489262

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees