(57)【要約】【課題】複数の画像からの商品の認識のための方法を提供する。【解決手段】上記方法は、複数の入力画像について複数の認識結果を生成する工程と、複数の入力画像を、スティッチングされた単一の画像にスティッチングする工程と、複数の画像のスティッチングからの情報を使用して、複数の認識結果をマージして、マージされた認識結果を生成する工程と、マージされた認識結果を出力する工程とを含む。本開示は更に、上記方法を実現するためのシステムも含む。【選択図】図３
2015165400.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
複数の入力画像について複数の認識結果を生成する工程であって、前記認識結果が前記複数の入力画像内のオブジェクトを識別する工程と、
前記複数の入力画像を、スティッチされた単一の画像にスティッチングする工程と、
前記複数の入力画像のスティッチングからの情報を使用して前記複数の認識結果をマージして、マージされた認識結果を生成する工程と、
前記マージされた認識結果を出力する工程と
を含む方法。
【請求項２】
請求項１記載の方法であって、前記複数の認識結果をマージする工程は、
第１のバウンディング・ボックスの第１の領域を識別する工程と、
第２のバウンディング・ボックスの第２の領域を識別する工程と、
前記第１の領域と前記第２の領域との間の重なり面積を求める工程と、
前記重なり面積を重なり閾値と比較する工程と
を含む方法。
【請求項３】
請求項１記載の方法であって、前記複数の認識結果をマージする工程は、
第１のバウンディング・ボックスの第１の画像パッチを識別する工程と、
第２のバウンディング・ボックスの第２の画像パッチを識別する工程と、
前記第１の画像パッチと前記第２の画像パッチとの間の画像類似度スコアを求める工程と、
前記画像類似度スコアを画像類似度閾値と比較する工程と
を含む方法。
【請求項４】
請求項１記載の方法であって、前記複数の認識結果をマージする工程は、第１のバウンディング・ボックスの第１のラベルを第２のバウンディングの第２のラベルと比較する工程を含み、前記第１のラベル及び前記第２のラベルはそれぞれ、前記認識結果における前記第１のバウンディング・ボックス及び前記第２のバウンディング・ボックスによって認識される方法。
【請求項５】
請求項１記載の方法であって、前記複数の認識結果をマージする工程は、第１のバウンディング・ボックス及び第２のバウンディング・ボックスをシーム・マスク画像と比較して、前記第１のバウンディング・ボックス又は前記第２のバウンディング・ボックスが前記スティッチングされた単一の画像の可視部分内に収まる方法。
【請求項６】
請求項１記載の方法であって、前記複数の認識結果を生成する工程は、バウンディング・ボックス・サイズを、認識データベースに記憶されたオブジェクト・サイズと比較する工程を含む方法。
【請求項７】
請求項１記載の方法であって、前記複数の認識結果をマージする工程は、
より低い優先度を有する認識結果を除外する工程と、
別の認識結果として、前記より低い優先度を有する前記認識結果を提供する工程と
を含む方法。
【請求項８】
請求項１記載の方法であって、前記複数の認識結果をマージする工程は、
同様の認識結果のメタデータを合成する工程と
を含む方法。
【請求項９】
システムであって、
プロセッサと、
命令を記憶するメモリとを備え、
前記メモリは、
複数の入力画像について複数の認識結果を生成するための認識モジュールであって、前記認識結果が、前記複数の入力画像内のオブジェクトを識別する認識モジュールと、
前記複数の入力画像を、スティッチングされた単一の画像にスティッチングするためのジョイント・スティッチング・モジュールと、
前記複数の認識結果をマージして、マージされた認識結果を生成するためのマージ・モジュールと
を備えるシステム。
【請求項１０】
請求項９記載のシステムであって、前記マージ・モジュールは、
第１のバウンディング・ボックスの第１の領域を識別する工程と、
第２のバウンディング・ボックスの第２の領域を識別する工程と、
前記第１の領域と前記第２の領域との間の重なり面積を求める工程と、
前記重なり面積を重なり閾値と比較する工程と
を行うよう構成されたシステム。
【請求項１１】
請求項９記載のシステムであって、前記マージ・モジュールは、
第１のバウンディング・ボックスの第１の画像パッチを識別する工程と、
第２のバウンディング・ボックスの第２の領域を識別する工程と、
前記第１の画像パッチと前記第２の画像パッチとの間の画像類似度スコアを求める工程と、
前記画像類似度スコアを画像類似度閾値と比較する工程と
を行うよう構成されたシステム。
【請求項１２】
請求項９記載のシステムであって、前記マージ・モジュールは、第１のバウンディング・ボックスの第１のラベルを第２のバウンディング・ボックスの第２のラベルと比較する工程を行うよう構成され、前記第１のラベル及び前記第２のラベルはそれぞれ、前記認識結果における前記第１のバウンディング・ボックス及び前記第２のバウンディング・ボックスによって認識されるオブジェクトを識別するシステム。
【請求項１３】
請求項９記載のシステムであって、前記マージ・モジュールは、第１のバウンディング・ボックス及び第２のバウンディング・ボックスをシーム・マスク画像と比較して、前記第１のバウンディング・ボックス又は前記第２のバウンディング・ボックスが前記スティッチングされた単一の画像の可視部分内に収まるシステム。
【請求項１４】
請求項９記載のシステムであって、前記認識モジュールは、バウンディング・ボックス・サイズを、認識データベースに記憶されたオブジェクト・サイズと比較するよう構成されたシステム。
【請求項１５】
請求項９記載のシステムであって、前記マージ・モジュールは、同様な認識結果のメタデータを合成するよう構成されたシステム。
【請求項１６】
１つ又は複数のプロセッサによって処理されると、複数の入力画像について複数の認識結果を生成する工程であって、前記認識結果が前記入力画像内のオブジェクトにおけるオブジェクトを識別する工程と、
前記複数の入力画像を、スティッチングされた単一の画像にスティッチングする工程と、
前記複数の認識結果をマージして、マージされた認識結果を生成する工程と、
前記マージされた認識結果を出力する工程と
を行わせる命令を収容するコンピュータ読み取り可能な媒体。
【請求項１７】
請求項１６記載のコンピュータ読み取り可能な媒体であって、前記複数の認識結果をマージする工程は、
第１のバウンディング・ボックスの第１の領域を識別する工程と、
第２のバウンディング・ボックスの第２の領域を識別する工程と、
前記第１の領域と前記第２の領域との間の重なり面積を求める工程と、
前記重なり面積を重なり閾値と比較する工程と
を含むコンピュータ読み取り可能な媒体。
【請求項１８】
請求項１６記載のコンピュータ読み取り可能な媒体であって、前記複数の認識結果をマージする工程は、
第１のバウンディング・ボックスの第１の画像パッチを識別する工程と、
第２のバウンディング・ボックスの第２の画像パッチを識別する工程と、
前記第１の画像パッチと前記第２の画像パッチとの間の画像類似度スコアを求める工程と、
前記画像類似度スコアを画像類似度閾値と比較する工程と
を含むコンピュータ読み取り可能な媒体。
【請求項１９】
請求項１６記載のコンピュータ読み取り可能な媒体であって、前記複数の認識結果をマージする工程は第１のバウンディング・ボックスの第１のラベルを第２のバウンディング・ボックスの第２のラベルと比較する工程を含み、前記第１のラベル及び前記第２のラベルはそれぞれ、前記認識結果における前記第１のバウンディング・ボックスによって識別されたオブジェクト及び前記第２のバウンディング・ボックスによって識別されたオブジェクトを識別するコンピュータ読み取り可能な媒体。
【請求項２０】
請求項１記載のコンピュータ読み取り可能な媒体であって、前記複数の認識結果をマージする工程は、第１のバウンディング・ボックス及び第２のバウンディング・ボックスをシーム・マスク画像と比較して、前記第１のバウンディング・ボックス又は前記第２のバウンディング・ボックスが前記スティッチングされた単一の画像内に収まるか否かを判定する工程を含むコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容を参照により、本明細書及び特許請求の範囲に援用する、「複数の画像からの商品の認識のための方法」と題する西暦２０１４年２月２８日付出願の米国特許仮出願第６１／９４６，２２５号の米国特許法第１１９条の下での優先権を主張する。
【０００２】
本明細書は一般に、画像処理の分野に関する。より具体的には、本明細書は、複数の画像からのオブジェクト認識のためのシステム及び方法に関する。
【背景技術】
【０００３】
多くの場合、複数の画像にわたって複数のオブジェクト(物体)を認識するための画像認識手法を使用することが有益である。例えば、小売の環境では、特定の商品を特定の場所において蓄えるべき棚上又はディスプレイ上の商品の状態がどのようになっているかが分かっていることが有用であるが、消費者の活動が理由で、商品が在庫切れであり、又は誤った場所に移動していることがあり得る。人間は、商品をその正しい場所に移動し得るが、商品全ての位置を記録することには時間がかかる。したがって、棚上又はディスプレイ上の商品の状態についての情報を自動的又は半自動的に得ることが有用である。棚上又はディスプレイ上の商品の状態についての情報を得るための一方法は、画像認識手法を使用することである。しかし、小売の環境における画像の捕捉は、狭い通路や、店舗内の活動が理由で困難であり得る。したがって、関心の商品全てを捕捉するために複数の画像を撮る必要があり得る。
【０００４】
画像認識手法を使用して棚上又はディスプレイ上の商品の状態についての情報を得るための一方法を図１に示す。１０２では、画像スティッチング・モジュールは複数の入力画像を受け取る。画像は、ＪＰＥＧ、ＴＩＦＦ、ＰＮＧ、ＢＭＰ等などのグラフィック・ファイル形式で受け取り得る。スティッチング・モジュールは、オープンＣＶマシン・ビジョン・ソフトウェア・パッケージの一部である詳細なスティッチング例コードなどの既知のスティッチング・モジュールであり得る。１０４では、スティッチング・モジュールは、複数の入力画像をスティッチングされた単一の画像にスティッチングする。１０６では、この単一の画像は、認識モジュールへの入力として使用される。１０８では、システムは、スティッチングされた単一の画像から認識された商品、及び上記スティッチングされた画像を出力し得る。商品は、マシン読み取り可能な形式で出力し得る。例えば、システムは、アイテムのリスト及び、スティッチングされた画像内のその場所を含む拡張可能なマークアップ言語（ＸＭＬ）ファイル、又はジャバスクリプト・オブジェクト表記（ＪＳＯＮ）ファイルを生成し得る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
残念ながら、画像のスティッチングはアーチファクトにつながり得、認識モジュールの最適な動作を妨害し、又は誤った認識結果をもたらし得る。よって、認識前にスティッチング・モジュールを動作させることは、認識モジュールへの低品質画像入力が理由で、商品の品切れ、及び商品の誤った識別につながり得る。よって、棚の複数の画像を捕捉し、出来る限り多くの商品、及び上記商品の場所を認識することができることが望ましい。商品全てを認識するが、複数の画像に現れる商品の２重計上をしないことが重要である。
【課題を解決するための手段】
【０００６】
本明細書及び特許請求の範囲記載の手法は、複数の画像を受け取り、データベース内で索引化されている複数のオブジェクトを識別するよう構成されたマルチオブジェクト認識システムにより、少なくとも部分的に従来技術の欠点及び制限を解消する。
【０００７】
上記手法は、複数の入力画像について複数の認識結果を生成する画像認識システムを含み、認識結果は、複数の入力画像内のオブジェクトを識別する。画像認識システムは、複数の入力画像を、スティッチングされた単一の画像にスティッチングし、複数の入力画像のスティッチングからの情報を使用して複数の認識結果をマージして、マージされた認識結果を生成するためのジョイント・スティッチング・モジュールを含む。画像認識システムは次いで、マージされた認識結果を出力する。
【０００８】
他の局面には、前述及び他の革新的な手法のための対応する方法、システム、装置、及びコンピュータ・プログラム・プロダクトが含まれる。
【０００９】
本明細書及び特許請求の範囲記載の構成及び利点は、全て包含している訳でなく、多くの更なる構成及び利点は、図及び明細書に鑑み、当業者には明らかとなるであろう。更に、本明細書において使用される文言は、主に、記載した構成及び効果の範囲を制限するものでなく、読みやすさ及び教示の目的で選択している。
【００１０】
本明細書及び特許請求の範囲記載の手法は、例として示しており、添付図面の図における限定として示すものでない。添付図面では、同様な数字は同様な構成要素を表すよう使用される。
【図面の簡単な説明】
【００１１】
【図１】第１にスティッチングを行い、第２に商品の認識を処理するための従来技術の手法を示すフロー図である。
【図２】複数の画像から商品を認識するシステムを示すブロック図である。
【図３】画像認識システムを示すブロック図である。
【図４】オブジェクト認識結果及び画像スティッチングを別個に合成する方法の一実施例を示すフロー図である。
【図５】オブジェクト認識結果及び画像スティッチングを併せてマージする方法の一実施例を示すフロー図である。
【図６】オブジェクト認識結果及び画像スティッチングを併せてマージする方法を表す例示的なシステム・フロー図である。
【図７】複数の入力画像を示す登録を示す例示的なフロー図である。
【図８】画像の複合を表す例示的なフロティッチー図である。
【図９】複数の画像をスティッチングしている間に得られた情報を使用して複数の画像についての認識結果をマージする処理を示す例示的なフロー図である。
【図１０Ａ】複数の画像をスティッチングしている間に得られた情報を使用して複数の画像についての認識結果をマージする処理を示す例示的なフロー図である。
【図１０Ｂ】複数の画像をスティッチングしている間に得られた情報を使用して複数の画像についての認識結果をマージする処理を示す例示的なフロー図である。
【図１０Ｃ】複数の画像をスティッチングしている間に得られた情報を使用して複数の画像についての認識結果をマージする処理を示す例示的なフロー図である。
【図１０Ｄ】複数の画像をスティッチングしている間に得られた情報を使用して複数の画像についての認識結果をマージする処理を示す例示的なフロー図である。
【図１１Ａ】入力画像における認識されたオブジェクトのバウンディング・ボックスを表すブロック図である。
【図１１Ｂ】入力画像における認識されたオブジェクトのバウンディング・ボックスを表すブロック図である。
【図１１Ｃ】入力画像における認識されたオブジェクトのバウンディング・ボックスを表すブロック図である。
【図１２】マスク画像内のバウンディング・ボックスを示す図である。
【発明を実施するための形態】
【００１２】
図は、例証の目的のみで、本明細書及び特許請求の範囲記載の種々の実施例を表す。本明細書及び特許請求の範囲に例証した構造及び方法の別の実施例は、本明細書及び特許請求の範囲記載の手法の原理から逸脱しない限り、使用することができるということを以下の記載から容易に認識されるものである。
【実施例】
【００１３】
複数の画像から商品を認識するシステム及び方法について説明する。図２は、一実施例による、複数の画像から商品を認識するシステム２００を示すブロック図である。例証されたシステム２００は、撮像装置２０２と、ジョイント・スティッチング・モジュール３０３と、画像認識システム２０４と、他のシステム２０８とを含み得る。例証された実施例では、システム２００のエンティティは、通信するよう、ネットワーク２０６を介して結合される。他の実施例では、ネットワーク２０６は任意であり得、システム２００のエンティティは直接、通信し得る。
【００１４】
ネットワーク２０６は、有線又は無線の通常のタイプであり、スター構成、トークン・リング構成、又は他の構成を含む別々の多数の構成を有し得る。更に、ネットワーク２０６は、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）（例えば、インターネット）、及び／又は複数の装置が通信し得る他の相互接続されたデータ・パスを含み得る。一部の実施形態では、ネットワーク２０６はピアツーピア・ネットワークであり得る。ネットワーク２０６は更に、各種通信プロトコルを使用してデータを送出するために通信ネットワークの一部分に結合され、又は上記一部分を含み得る。一部の実施例では、ネットワーク２０６は、ショート・メッセージング・サービス（ＳＭＳ）、マルチメディア・メッセージング・サービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール経由を含み、データを送出し、受け取るために、ブルートゥース（登録商標）通信ネットワーク又はセルラ通信ネットワークを含み得る。図２は、撮像装置２０２に結合された一ネットワーク２０６を示しているが、実際には、１つ又は複数のネットワーク２０６は前述のエンティティを接続することが可能である。
【００１５】
撮像装置２０２はネットワーク２０６を介して画像認識システム２０４と結合される。１つの撮像装置２０２のみを示しているが、何れかの数の撮像装置２０２をシステム２００に含め得る。種々の実施例では、撮像装置２０２は、小売、倉庫、又は保管環境における棚又はディスプレイの複数の画像を捕捉するよう適合される。撮像装置２０２は例えば、ディジタル・カメラ、スマートフォン又はセルラ電話カメラ、ウェブキャム、ビデオ・レコーダ等を含み得る。一実施例では、撮像装置２０２は、自律的に、又は半自律的に棚又はディスプレイ周りを移動し得る移動ベースに搭載し、複数の画像を捕捉し得る。
【００１６】
種々の実施例では、画像認識システム２０４は、プロセッサ、メモリ、アプリケーション、データベース、及びネットワーク通信機能を含むコンピューティング装置であり得る。単一の画像認識システム２０４のみを図２の例に示すが、複数の画像認識システムにおいて、分散した画像認識システムによって行われる１つ又は複数の動作を有する何れかの数の画像認識システム２０４が存在し得る。図２の例における画像認識システム２０４は、複数の画像を、単一のスティッチングされた画像にスティッチングし、複数の画像における認識されたオブジェクトを、マージされた認識結果にマージするよう構成されたジョイント・スティッチング・モジュール３０３を含む。ジョイント・スティッチング処理は、図４乃至図１０Ｄを参照して以下に更に詳細に説明する。
【００１７】
一実施例では、画像認識システム２０４は、ネットワーク２０６に結合し得るその他のシステム２０８とともに動作可能であり得る。図２におけるその他のシステム２０８は、他の既存のシステムを表し得る。例えば、その他のシステム２０８は、商品棚卸システム、小売在庫管理システム、商品配置システム等を含み得る。画像認識システム２０４は、他のシステム２０８とインタフェースし、相互作用することができる。画像認識システム２０４は例えば、在庫分析、商品配置分析、在庫管理等に使用するために、その他のシステム２０８に、スティッチングされた画像及びマージされた認識結果を提供し得る。
【００１８】
次に図３を参照するに、画像認識システム２０４の例を更に詳細に示す。図３の例では、画像認識システム２０４は、認識モジュール３０１、ジョイント・スティッチング・モジュール３０３、プロセッサ３３５、メモリ３３７、通信装置３４１、及びデータ記憶装置３４３を含み得る。画像認識システム２０４の構成部分は、通信するよう、バス３２０によって結合される。バス３２０は、業界標準アーキテクチャ（ＩＳＡ）バス、周辺構成部分相互接続（ＰＣＩ）バス、ユニバーサル・シリアル・バス（ＵＳＢ）、又は同様の機能を提供するための、当該技術分野において知られている特定の他のバスを含む１つ又は複数のバスを表し得る。
【００１９】
プロセッサ３３５は、種々の入出力、論理、及び／又は算術演算を行うことにより、ソフトウェア命令を実行し得る。プロセッサ３３５は、データ信号を処理するための種々のコンピューティング・アーキテクチャ（例えば、複合命令セット・コンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セット・コンピュータ（ＲＩＳＣ）アーキテクチャ、グラフィックス処理装置（ＧＰＵ）、及び／又は命令セットの組み合わせを実現するアーキテクチャを含む）を有し得る。プロセッサ３３５は、物理的であり、かつ／又は仮想的であり得、単一の処理装置、又は複数の処理装置及び／若しくはコアを含み得る。一部の実現形態では、プロセッサ３３５は、電子表示信号を生成し、表示装置に提供する工程、画像の表示をサポートする工程、画像を捕捉し、送信する工程、各種の特徴の抽出及びサンプリングを含む複雑なタスクを行う工程等を行うことができる。一部の実現形態では、プロセッサ３３５は、そこからデータ及び命令をアクセスするためにバス３２０を介してメモリ３３７に結合し得、その中にデータを記憶し得る。バス３２０は、例えば、認識モジュール３０１、ジョイント・スティッチング・モジュール３０３、メモリ３３７、通信装置３４１、及びデータ記憶装置３４３を含む画像認識システム２０４のその他の構成部分にプロセッサ３３５を結合し得る。他のプロセッサ、オペレーティング・システム、センサ、ディスプレイ、及び物理的な構成が考えられることが分かるであろう。
【００２０】
メモリ３３７は、画像認識システム２０４のその他の構成部分についてのデータを記憶し、上記データへのアクセスを提供し得る。メモリ３３７は、特許請求の範囲記載の単一のコンピューティング装置又は複数のコンピューティング装置に含まれ得る。一部の実現形態では、メモリ３３７は、プロセッサ３３５によって実行し得る命令及び／又はデータを記憶し得る。例えば、一実施例では、メモリ２３７は、プロセッサによって実行されると、認識モジュール３０１及び／又はジョイント・スティッチング・モジュール３０３をプロセッサに実現させる命令を記憶し得る。メモリ３３７は更に、例えば、オペレーティング・システム、ハードウェア・ドライバ、他のソフトウェア・アプリケーション、データベース等を含む他の命令及びデータを記憶することができる。メモリ３３７は、画像認識システム２０４のプロセッサ３３５及びその他の構成部分と通信するためにバス３２０に結合し得る。
【００２１】
メモリ３３７は、プロセッサ３３５による、又はプロセッサ３３５との接続における処理のために命令、データ、コンピュータ・プログラム、ソフトウェア、コード、ルーチン等を包含し、記憶し、通信し、伝搬し、又は伝送することが可能な何れかの有形の装置又はデバイスであり得る１つ又は複数の一時的でないコンピュータ使用可能な（例えば、読み取り可能な、書き込み可能な等）媒体を含み得る。一部の実現形態では、メモリ３３７は、揮発性メモリ及び不揮発性メモリの１つ又は複数を含み得る。例えば、メモリ３３７は、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）装置、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）装置、組み込みメモリ装置、ディスクリート・メモリ装置（例えば、ＰＲＯＭ、ＦＲＯＭ、ＲＯＭ）、ハード・ディスク・ドライブ、光ディスク・ドライブ（ＣＤ、ＤＶＤ、ブルーレイ（登録商標）等）の１つ又は複数に限定されないが、前述の１つ又は複数を含み得る。メモリ３３７は単一の装置であり得、又は、複数のタイプの装置及び構成部分を含み得る。
【００２２】
通信装置３４１は、ネットワーク２０６及び他の処理システムにプロセッサ３３５を結合することにより、データを受け取り、送信するためのハードウェアである。通信装置３４１は例えば、撮像装置２０２から複数の画像を受け取り、かつ／又は、画像認識結果及びスティッチされた画像を送信するよう構成される。一実施例では、通信装置３４１は、ネットワーク２０６への直接の物理接続のためのポート、又は別の通信チャネルへのポートを含み得る。例えば、通信装置３４１は、ネットワーク２０６との有線通信のためにＲＪ４５ポート又は同様なポートを含み得る。別の実施例では、通信装置３４１は、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、ブルートゥース（登録商標）、又は別の適切な無線通信方法を使用して、ネットワーク２０６又は何れかの他の通信チャネルを介してデータを交換するための無線トランシーバ（図示せず）を含み得る。
【００２３】
更に別の実施例では、通信装置３４１は、ショート・メッセージング・サービス（ＳＭＳ）、マルチメディア・メッセージング・サービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール、又は別の適切なタイプの電子通信経由などのセルラ通信ネットワークを介してデータを送出し、受け取るためのセルラ通信トランシーバを含み得る。更に別の実施例では、通信装置３４１は、有線ポート及び無線トランシーバを含み得る。通信装置３４１は、更に、当業者に理解されるように、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ及びＳＭＴＰなどの標準ネットワーク・プロトコルを使用してファイル及び／又はメディア・オブジェクトの配信のためにネットワーク２０６に対する他の通常の接続を設ける。
【００２４】
データ記憶装置３４３は、本明細書及び特許請求の範囲記載の機能を提供するためのデータを記憶する一時的でないメモリである。データ記憶装置３４３は、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）装置、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）装置、フラッシュ・メモリ、又は一部の他のメモリ装置であり得る。一部の実施例では、データ記憶装置３４３は更に、ハード・ディスク・ドライブ、フロッピー（登録商標）・ディスク・ドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュ・メモリ装置、又はより永続的に情報を記憶するための特定の他の大容量記憶装置を含む不揮発性メモリ又は同様な永続性記憶装置及び媒体を含み得る。
【００２５】
例証的な実施例では、データ記憶装置３４３は、通信するよう、バス３２０に結合される。一実施例では、データ記憶装置３４３は、複数の画像、及び複数の画像に関連付けられたデータを記憶する。例えば、データ記憶装置３４３は、オブジェクト・バウンディング・ボックス、画像パッチ、及び／又は認識されたオブジェクトを含む画像認識結果を記憶し得る。データ記憶装置３４３は更に、例えば、入力画像、登録（ｒｅｇｉｓｔｒａｔｉｏｎ）画像、シーム・マスク、サイズ変更された画像、ワーピングされた画像等に関連付けられたスティッチングされた画像及びデータを記憶するよう構成し得る。データ記憶装置３４３に記憶されたデータは以下に更に詳細に説明する。一実施例では、データ記憶装置３４３は、本明細書及び特許請求の範囲記載の機能を提供するために他のデータを記憶し得る。
【００２６】
認識モジュール３０１は、画像内のオブジェクトを認識するためのソフトウェア及び／又はロジックを含み得る。認識モジュール３０１は、既存の公開された画像認識アルゴリズム、及び／又は専用の画像認識アルゴリズムに応じて画像認識を行い得る。一部の実施例では、認識モジュール３０１は、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）又は特殊用途向集積回路（ＡＳＩＣ）を含むハードウェアを使用して実現することが可能である。一部の実施例では、認識モジュール３０１は、プロセッサ３３５によって実行可能なハードウェア及びソフトウェアの組み合わせを使用して実現することが可能である。一部の実施例では、認識モジュール３０１は、プロセッサ３３５によって実行可能な命令の組である。一部の実現形態では、認識モジュール３０１はメモリ３３７に記憶され、プロセッサ３３５によってアクセス可能であり、実行可能である。一部の実現形態では、認識モジュール３０１は、バス３２０を介してプロセッサ３３５、メモリ３３７、及び、画像認識システム２０４の他の構成部分と協働し、通信するよう適合される。
【００２７】
図３の例に表す画像認識モジュールは単一の画像モジュール３０１を含んでいるが、画像認識のために、更なる１つ又は複数の認識モジュールを使用し得るということを当業者は認識するであろう。同様に、本明細書の他の箇所に記載するように、個々の画像は直列に、又は並列に認識することが可能である。種々の実施例では、認識モジュール３０１は、元の画像内のオブジェクトの座標及びオブジェクトＩＤを含む認識結果を出力する。認識結果は、以下に更に詳細に説明するように、スティッチングされた画像についての、マージされた認識結果を提供するために使用し得る。一部の実施例では、認識モジュール３０１は、撮像装置２０２が、最終的なスティッチングされた画像の作成に使用する対象の画像をなお捕捉している間に、撮像装置２０２から受け取られた入力画像に対する認識を行い始め得る。
【００２８】
ジョイント・スティッチング・モジュール３０３は、複数の入力画像からの単一のスティッチングされた画像と、複数の入力画像に対応する複数の認識結果からのマージされた認識結果とを作成するためのソフトウェア及び／又はロジックを含み得る。ジョイント・スティッチング・モジュールは、登録モジュール３０７と、複合モジュール３０９と、マージ・モジュール３１１とを含み得る。登録モジュール３０７、複合モジュール３０９、及びマージ・モジュール３１１が、ジョイント・スティッチング・モジュールに含まれているとして示しているが、上記モジュールは、本明細書及び特許請求の範囲に記載されたようなジョイント・スティッチング・モジュール３０３の機能を行うよう協働し得る別個のモジュールとして実現し得る。一部の実施例では、ジョイント・スティッチング・モジュール３０３は、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）又は特殊用途向集積回路（ＡＳＩＣ）を含むハードウェアを使用して実現することが可能である。一部の実施例では、ジョイント・スティッチング・モジュール３０３は、プロセッサ３３５によって実行可能なハードウェア及びソフトウェアの組み合わせを使用して実現することが可能である。一部の実施例では、ジョイント・スティッチング・モジュール３０３は、プロセッサ３３５によって実行可能な命令の組である。一部の実現形態では、ジョイント・スティッチング・モジュール３０３はメモリ３３７に記憶され、プロセッサ３３５によってアクセス可能であり、実行可能である。一部の実現形態では、ジョイント・スティッチング・モジュール３０３は、バス３２０を介して、プロセッサ３３５、メモリ３３７、及びプロセッサ３３５と協働し、通信するよう適合される。ジョイント・スティッチング・モジュール３０３、登録モジュール３０７、複合モジュール３０９、及びマージ・モジュール３１１の機能は、図６乃至図１０Ｄを参照して以下に詳細に説明する。
【００２９】
スティッチングに先行して複数の入力画像の画像それぞれに対して画像認識を行うことにより、オブジェクト認識結果が向上し得る。考えられる一実現形態を図４の例において表す。図４は、オブジェクト認識結果及び画像スティッチングを別個に合成するための方法４００の一実施例のフロー図である。４０２で、画像認識モジュール２０４は複数の入力画像を受け取り得る。４０４で、画像認識モジュール２０４は複数の入力画像からオブジェクトを認識し得る。一部の実施例では、画像認識モジュール２０４は、単一の画像内の複数のオブジェクトを認識し得る。一部の実施例では、画像認識モジュール２０４は、直列に、又は並列に複数の入力画像を処理し、複数の入力画像の各画像の対応する認識結果を出力し得る。
【００３０】
４０６で、画像認識モジュール２０４は、複数の入力画像の認識結果を合成して、認識されたオブジェクト（例えば、店舗の棚上の商品）の単一のリストを形成し得る。この合成は、認識されたオブジェクトの単純な連結であり得る。しかし、認識されたオブジェクトの単純な連結は、２度以上、２つ以上の画像内に現れる実世界の単一のオブジェクトを数えることにつながり得る。よって、認識されたオブジェクトの出力は、複数の入力画像において捕捉された実世界のオブジェクトの正確な数を反映するものでない。
【００３１】
４０８で、ジョイント・スティッチング・モジュール３０３は、既知の手法（例えば、オープンＣＶ画像スティッチング手法）により、複数の入力画像を、スティッチングされた単一の画像にスティッチングし得る。画像スティッチングは、画像認識と直列に、又は並列に行い得、４１０で、システム２００は、合成された認識結果、及びスティッチングされた単一の画像を出力する。
【００３２】
図４の例において表した方法４００は、スティッチング中にもたらされたアーチファクトを削減し得、上述のように、個々の入力画像それぞれにおけるオブジェクト認識の精度を増加させ得る一方、合成された認識結果は正確でないことがあり得る。合成された認識結果の精度を向上させるために、画像スティッチング処理からの情報を使用して、認識結果を、マージされた認識結果にマージし得る。図５は、オブジェクト認識結果及び画像スティッチングを併せてマージする方法５００の一実施例のフロー図である。５０２で画像認識モジュール２０４は複数の入力画像を受け取り得、５０４で認識モジュール３０１は複数の入力画像の各画像内のオブジェクトを認識し得る。各認識結果は、入力画像からの認識されたオブジェクトの記述のリストを含み得る。記述の前述のリストは、例えば、ジャバスクリプト・オブジェクト表示（ＪＳＯＮ）、拡張可能なマークアップ言語（ＸＭＬ）等を含む種々の形式で出力し得る。認識されたオブジェクト毎の記述は例えば、オブジェクト・ラベル、オブジェクトＩＤ（例えば、在庫管理単位（ＳＫＵ））、及びオブジェクトが入力画像のどこに配置されているかを示すバウンディング・ボックスの座標を含み得る。認識されたオブジェクト毎の記述は、更に、オブジェクトの認識における認識モジュール３０１の信頼度を含む他の情報を含み得る。５０６で、ジョイント・スティッチング・モジュール３０３は、複数の画像を単一の画像に併せてスティッチングし、認識結果をマージする。この処理は図６乃至図１０を参照して以下に更に詳細に説明する。５０８で、画像認識システム２０４は、マージされた認識結果、及びスティッチングされた単一の画像を出力する。
【００３３】
図６は、オブジェクト認識結果及び画像スティッチングを併せてマージする方法を行うジョイント・スティッチング・モジュール３０３を表す例示的なシステム・フロー図である。図６の例では、登録モジュール３０７は、その入力として複数の入力画像を受け取り、登録データを出力として生成する。登録データを生成する例示的な一方法について、図７を参照して以下に説明する。複合モジュール３０９は、登録モジュール３０７からの登録データ、及び複数の入力画像をその入力として受け取る。複合モジュール３０９の出力は、単一のスティッチングされた画像、及び単一のスティッチングされた画像の生成に使用されるシーム・マスクを含む。複合モジュール３０９により、シーム・マスク及び単一のスティッチングされた画像を生成する例示的な一方法は図８を参照して以下に説明する。マージ・モジュール３１１は、登録モジュール３０７からの登録データ、複合モジュール３０９からのシーム・マスク、認識モジュール３０１からの認識結果、及び入力画像をその入力として受け取る。マージ・モジュール３１１は前述の入力を使用して、図９を参照して以下に説明したようなマージされた認識結果を生成する。一部の実施例（図示せず）では、ジョイント・スティッチング・モジュール３０３は、マージされた認識結果を使用して、最終的にスティッチングされた画像を精緻化し得る。例えば、マージされた認識結果を生成した後、マージ・モジュール３１１は、マージされた認識結果を複合モジュール３０９に提供し得、複合モジュール３０９は、認識結果の場所を使用して、画像のシームを調節して、認識されたオブジェクト付近におけるアーチファクト又は他の歪みを削減し得る。
【００３４】
図７は、登録モジュール３０７によって行われる複数の入力画像の登録を示す例示的なフロー図である。一実施例では、画像の登録は、既知の公開された、又は専門の手法（例えば、オープンＣＶスティッチング）を使用して行うことが可能である。図７の例において表す工程の一部又は全部は修正し、又は除去し得、特定の画像スティッチングのニーズに合わせるよう更なる工程を追加し得る。７０２で、登録モジュール３０７は、将来の処理のために適したサイズに各入力画像をサイズ変更する。例えば、登録モジュール３０７は、画像サイズを削減して処理時間を削減し得る。しかし、画像サイズの削減は、画像検出の精度の低減をもたらし得る。したがって、一部の実施例では、画像登録の処理は、画像のサイズ変更がほとんどないか、又は全くなしで行い得る。７０４で、登録モジュールは、入力画像それぞれにおける特徴を求める。７０６で、登録モジュール３０７は、入力画像からの特徴をマッチングさせる。７０８で、登録モジュール３０７は、入力画像をマッチングさせて、スティッチングされた画像を構築するためにどの画像を使用することが可能であるかを判定する。一実施例では、登録モジュール３０７は、完全にスティッチングされた画像を作成するために必要でない入力画像（例えば、重複した画像、他の画像の組み合わせにより、完全に覆われた画像、残りの入力画像との重なりがない画像等）を除外することが可能である。７１０で、登録モジュール３０７は、カメラ・パラメータを推定し、７１２で、カメラ・パラメータを精緻化する。登録モジュール３０７は７１４で、カメラ・パラメータを使用して、波形修正を行い、７１６で、入力画像に対してスケール推定を行う。７１８で、登録モジュール３０７は登録データを出力する。
【００３５】
図８は、複合モジュール３０９によって行われる画像の複合を示す例示的なフロー図である。一実施例では、画像の複合は、既知の公開された、又は専門の手法（例えば、オープンＣＶスティッチング）を使用して行うことが可能である。８０２で、複合モジュール３０９は入力画像及び登録データを受け取り、登録モジュール３０７からの登録データを使用して、入力画像に対してワーピングを行う。一実施例では、処理時間を削減するために、複合モジュール３０９は入力画像をサイズ変更し、８０４で、低解像度にサイズ変更し、８０６で、登録モジュール３０７からの登録データを使用して、サイズ変更された画像をワーピングする。しかし、画像サイズの削減は、画像検出の精度の低減をもたらし得る。したがって、他の実施例では、画像複合の処理は、画像のサイズ変更がほとんどないか、又は全くなしで行い得る。８０８で、複合モジュール３０９は、サイズ変更されたワーピングされた画像を使用して露出誤差を推定する。８１０で、複合化モジュールは、推定された露出誤差を使用して、ワーピングされた画像内の露出誤差を補償する。サイズ変更されたワ―ピングされた画像を使用して、複合化モジュール３０９は、８１２でシーム・マスクを求め、８１４で、（例えば、８０４において画像のサイズ変更が、先行して行われている場合）元の解像度へのマスクのサイズ変更を行う。８１６で、複合モジュール３０９は、サイズ変更されたシーム・マスクを使用して、ワーピングされた入力画像を混合して、最終的なスティッチングされた画像を出力する。
【００３６】
図９は、マージ・モジュール３１１によって行われる複数の画像のスティッチングの間に得られた情報を使用して、複数の画像の認識結果をマージする処理を示す例示的なフロー図である。図９の例は、複数の画像から画像認識結果の対を比較する処理の単一の反復を示す。マージ・モジュール３１１は、画像認識結果の対毎に図９において表す処理を行って、画像認識結果の対が、同じ実世界オブジェクトを表す（その場合、画像認識結果を合成し得る）かについて判定し得る。９０２で、マージ・モジュール３１１は、認識モジュール３０１からのバウンディング・ボックスのポリゴン座標、及び登録モジュール３０７からの登録データを使用して、画像認識結果の対について、バウンディング・ボックスをワーピングする。９０４で、マージ・モジュール３１１は、ワーピングされたバウンディング・ボックスを使用して、重なりテストを行って、認識された２つのオブジェクトが、別個の実世界オブジェクトであるか、同じ実世界オブジェクトであるかを判定する。重なりテストは、図１０Ａを参照して以下に更に詳細に説明する。認識された２つのオブジェクトが別個の実世界のオブジェクトであると重なりテストが示す場合、マージ・モジュール３１１は、図９の処理を停止し、画像認識結果の次の対に進む。さもなければ、処理は９０６に続き、又は、任意的には、重なりテストの結果が閾値を超えている場合、（一点鎖線で示すように）９１０に続く。
【００３７】
９０６で、認識された２つのオブジェクトが同じ実世界オブジェクトであり得ることを重なりテストが示す場合、マージ・モジュール３１１は画像コンテント・テストを行う。マージ・モジュール３１１は入力画像からの画像パッチを使用して、図１０Ｂを参照して以下に更に詳細に説明するように画像コンテント・テストを行う。認識された２つのオブジェクトが別個の実世界オブジェクトであると重なりテストが示す場合、マージ・モジュール３１１は、図９の処理を停止し、次の画像認識結果対に進む。さもなければ、処理は９０８に続き、又は、任意的には、画像コンテンツ・テスト結果が閾値を超えている場合、（破線で示すように）９１０に続く。９０８で、認識された２つのオブジェクトが同じ実世界オブジェクトであり得ることを（９０４における）重なりテスト及び（９０６における）画像コンテント・テストが示す場合、マージ・モジュール３１１は認識ラベル・テストを行う。認識ラベル・テストは、図１０Ｃを参照して以下に更に詳細に説明する。認識された２つのオブジェクトが別個の実世界オブジェクトであると認識ラベル・テストが示す場合、マージ・モジュール３１１は、図９の処理を停止し、次の画像認識結果対に進む。さもなければ、９１０で、マージ・モジュール３１１は可視度テストを行う。可視度テストは、図１０Ｄを参照して以下に更に詳細に説明する。マージ・モジュール３１１は、複合モジュール３０９からのシーム・マスクを使用して、後述する可視度テストを行う。９１２で、マージ・モジュール３１１は、マージされた認識結果を生成し、出力する。
【００３８】
図１０Ａは、複数の画像をスティッチングしている間に得られた情報を使用して複数の画像の認識結果をマージする処理１０００を示す例示的なフロー図である。特に、図１０Ａは重なりテストを示す。上述したように、各認識結果は、入力画像からの認識されたオブジェクトの記述のリストを含み得る。１００２で、マージ・モジュール３１１は、２つのバウンディング・ボックスのワーピングされたＣ’ａ及びＣ’ｂを算出する。例えば、９０２で上述したように、マージ・モジュールは、認識モジュール３０１からの認識されたオブジェクト毎にバウンディング・ボックスを受け取り、登録モジュール３０７から受け取られた、検出されたカメラ視点マトリクスを含む登録データを使用してバウンディング・ボックスをワーピングし得る。一実施例では、マージ・モジュール３１１は、ワーピングされたバウンディング・ボックスがなおポリゴンであるようにバウンディング・ボックスの頂点のみをワーピングする。別の実施例では、マージ・モジュール３１１は、バウンディング・ボックスの線全てをワーピングし得る。単一のオブジェクトが別々の２つの入力画像において認識されている場合、各認識のバウンディング・ボックスが、最終的なスティッチングされた画像内に重なりを有するという前提の下で重なりテストは行われる。ワーピングされた２つのバウンディング・ボックスの重なりが、閾値の量を上回る場合、マージ・モジュール重なりテストは、同じオブジェクトが２回、カウントされないことを確実にする。マージ・モジュール３１１は、１００４で２つのバウンディング・ボックスの面積Ａａ及びＡｂを算出し、１００６で２つのバウンディング・ボックスの重なり面積Ａａｂを算出する。２つのバウンディング・ボックスのワーピングされたポリゴン座標のみが与えられれば、２つのポリゴンの重なり面積を算出し得る。
【００３９】
図１１Ａ乃至図１１Ｃは、入力画像における認識されたオブジェクトのバウンディング・ボックスを表すブロック図を示す。図１１Ａの例は、認識モジュール３１１によって求められたバウンディング・ボックス１１１２を有する第１の入力画像からの、認識されたオブジェクト１１１０を表す。同様に、図１１Ｂは、認識モジュール３１１によって求められたバウンディング・ボックス１１１４を有する第２の入力画像からの、認識されたオブジェクト１１１０を表す。図１１Ｃは、第１の画像及び第２の画像がスティッチングされた後の、２つのバウンディング・ボックス１１１２及び１１１４と、認識されたオブジェクト１１１０とを示す。図１１Ａ乃至Ｃの例から分かるように、第１の画像及び第２の画像からの、認識されたオブジェクト１１１０が同じ実世界オブジェクトであるかを判定するために、マージ・モジュール３１１によって使用し得る重なり面積を有し得る。
【００４０】
１００８で、マージ・モジュール３１１は、重なり面積Ａａｂを、最小重なり閾値（例えば、ＭＩＮ（Ａａ，Ａｂ）＊Ｔｌｏｗｏｖｅｒｌａｐ）と比較する。重なりパーセンテージが、最小の重なり閾値（例えば、３０％）よりも小さい場合、２つのオブジェクトは、別々のオブジェクトであるとみなされる。１０１０で、マージ・モジュール３１１は、次のバウンディング・ボックス対に移動する。１００８で重なりパーセンテージが最小重なり閾値よりも大きい場合、マージ・モジュール３１１は、１０１２で、重なり面積Ａａｂを最大重なり閾値（例えば、ＭＩＮ（Ａａ，Ａｂ）＊Ｔｈｉｇｈ＿ｏｖｅｒｌａｐ）と比較する。重なりパーセンテージが最大重なり閾値（例えば、７０％）よりも大きい場合、２つのオブジェクトは同じオブジェクトの反復カウントであるとみなされ、マージ・モジュール３１１は、可視度テスト（参照Ｂ）に続く。重なりパーセンテージが最大重なり閾値未満である場合、マージ・モジュール３１１は、画像コンテント・テスト（参照Ａ）に続く。
【００４１】
図１０Ｂは、複数の画像をスティッチングしている間に得られた情報を使用して複数の画像の認識結果をマージする処理１０００を示す例示的なフロー図の続きである。特に、図１０Ｂは、マージ・モジュール３１１によって行われた画像コンテント・テストの例を示す。画像コンテント・テストに対する動機は、画像スティッチングにおいてもたらされる不正確なスキューが理由で、元の画像内のバウンディング・ボックスが、例えば図１１Ｃの例におけるバウンディング・ボックス１１１４によって表すように、ワーピング後、ターゲットから外れていることがあり得るという点である。この場合、マージ・モジュール３１１は、元の入力画像から抽出されたバウンディング・ボックスに対応する画像パッチの類似度を比較することが可能である。１０１４で、２つのバウンディング・ボックスに関連付けられた元の入力画像Ｉｍｇａ及びＩｍｇｂからの画像パッチが認識モジュール３０１から受け取られる。１０１６で、マージ・モジュール３１１は、２つの画像パッチに対する類似度スコアＳａｂを算出する。次いで、１０１８で、類似度スコアＳａｂは、最小の類似度閾値（すなわち、Ｔｌｏｗ＿ｓｉｍｉｌａｒｉｔｙ）と比較し得る。類似度スコアが最小類似度閾値未満の場合、マージ・モジュール３１１は、認識された２つのオブジェクトが同じ実世界オブジェクトでないことを判定し、１０２０で、次のバウンディング・ボックス対に進む。１０１８で、類似度スコアが最小類似度閾値を上回る場合、マージ・モジュール３１１は１０２２で、類似度スコアを、最大重なり閾値（すなわち、Ｔｈｉｇｈ＿ｓｉｍｉｌａｒｉｔｙ）と比較する。類似度スコアが最大重なり閾値を上回る場合、マージ・モジュール３１１は、可視度テスト（参照Ｂ）に続く。類似度スコアが最大重なり閾値未満である場合、マージ・モジュール３１１は、下記の認識ラベル・テスト（参照Ｃ）に続く。
【００４２】
図１０Ｃは、複数の画像をスティッチングしている間に得られた情報を使用して複数の画像の認識結果をマージする処理１０００を示す例示的なフロー図の続きである。特に、図１０Ｃは、マージ・モジュール３１１によって行われた認識されたオブジェクト・テストの例を示す。前述のように、認識されたオブジェクトは、オブジェクトＩＤ、及び認識結果における他の特性でラベリングされているので、マージ・モジュール３１１は、２つのバウンディング・ボックスが、単一、又は別々の実世界オブジェクトに対応しているか否かの判定において認識データを使用し得る。１０２４で、マージ・モジュール３１１は、２つのバウンディング・ボックスに関連付けられた認識結果Ｒａ及びＲｂを認識モジュール３０１から受け取る。別の実施例では、マージ・モジュール３１１は、認識結果からの他のメタデータを使用して、オブジェクト・マッチを判定し得る。例えば、認識結果は、（例えば、画素数による）認識されたオブジェクトのバウンディング・ボックス）のサイズを含み得、マージ・モジュール３１１はバウンディング・ボックスのサイズを比較し得る。更に、マージ・モジュール３１１は、バウンディング・ボックスのサイズを、認識データベース内のオブジェクトのサイズと比較し、データベース内のオブジェクトのサイズに最もマッチングしたバウンディング・ボックスに優先度を与える。マージ・モジュールは次いで、１０２６では、認識結果Ｒａ及び認識結果Ｒｂを比較する。認識結果Ｒａ及び認識結果Ｒｂが等しい（例えば、２つの認識結果に関連付けられたオブジェクトＩＤが同じでない）場合、マージ・モジュール３１１は、認識された２つのオブジェクトが同じ実世界オブジェクトでないことを判定し、１０２８で、次のバウンディング・ボックス対に進む。認識結果が等しい場合、マージ・モジュール３１１は、下記の可視度テスト（参照Ｂ）に続く。
【００４３】
図１０Ｄは、複数の画像をスティッチングしている間に得られた情報を使用して複数の画像の認識結果をマージする処理１０００を示す例示的なフロー図の続きである。特に、図１０Ｄはマージ・モジュール３１１によって行われた可視度テストの例を示す。マージ・モジュール３１１が、２つのボックスが、（例えば、上記重なりテスト、画像コンテント・テスト、及び／又は認識されたオブジェクト・テストを行うことにより、）同じ実世界オブジェクトの反復された認識である可能性が高いと判定した場合、マージ・モジュール３１１は、可視度テストを使用して、結果を合成し、又は認識結果のうちの一方を除外して、どのバウンディング・ボックスに、より高い優先度を与えるべきかを判定し得る。例えば、マージ・モジュール３１１は、２つのバウンディング・ボックスが、同じ実世界オブジェクトを表していると判定した場合、オブジェクト全体を覆っているか、又はオブジェクトの大部分を覆っているバウンディング・ボックスに、より高い優先度を与え得る。マージ・モジュール３１１は、画像スティッチング・アルゴリズムにおいて生成され、複合モジュール３０９によって提供されるシーム・マスクを使用して、より高い優先度を与える対象のバウンディング・ボックスはどれかを判定し得る。
【００４４】
図１２は、シーム・マスク画像１２００内のバウンディング・ボックスを示す。シーム・マスク画像の白色部分は、最終的にスティッチングされた画像の一部として含まれる面積を示し、濃い部分は、最終的にスティッチングされた画像に含まれていない面積を示す。
【００４５】
１０３２で、次に図１０Ｄに戻れば、マージ・モジュール３１１は、少なくとも１つの画像マスク（例えば、画像マスクＭａｓｋａ及びＭａｓｋｂのうちの１つ又は複数）を複合モジュール３０９から受け取る。１０３４で、マージ・モジュール３１１は、（例えば１００２で、マージ・モジュール３１１によって先行して算出された）ワーピングされたバウンディング・ボックスＣ’ｂがシーム・マスク画像Ｍａｓｋｂの可視部分内に収まるか否かを判定する。マージ・モジュール３１１は、ワーピングされたバウンディング・ボックスがシーム・マスク画像の可視部分内に収まっていると判定した場合、バウンディング・ボックスｂ及びバウンディング・ボックスａの認識結果を合成し（１０３６）、バウンディング・ボックスｂは、より高い優先度を有する。ワーピングされたバウンディング・ボックスがシーム・マスク画像の可視部分内に収まっていないとマージ・モジュール３１１が判定した場合、マージ・モジュール３１１は、バウンディング・ボックスａ及びバウンディング・ボックスｂの認識結果を合成し（１０３８）、バウンディング・ボックスａは、より高い優先度を有する。一実施例では、認識結果を合成する工程は、認識モジュール３０１から受け取られた認識結果に対応するメタデータを合成する工程を含む。例えば、一実施例では、認識モジュール３０１は、認識されたオブジェクトに一致する、入力画像からの点の数の尺度を提供し得る。前述の尺度は、マージされた結果において合成し得る。別の実施例では、２つの結果を合成する代わりに、マージ・モジュール３１１は、より低い優先度を有する認識結果を除外し得る。更に別の実施例では、マージ・モジュール３１１は、マージされた認識結果における別の認識として、除外された認識結果を含み得る。
【００４６】
複数の画像の認識結果をマージするシステム及び方法を説明してきた。上記説明では、説明の目的で、本明細書の詳細な理解をもたらすために、具体的な数多くの詳細を記載している。しかし、前述の具体的な詳細なしで本発明を実施することが可能であるということが当業者に明らかになるであろう。場合によっては、説明を不必要にわかりにくくすることのないように、構造及び装置をブロック図形式で示す。例えば、主に、ソフトウェア及び特定のハードウェアを参照して、上述の一実施例において手法を説明している。しかし、上記手法は、サービスを提供する何れかの周辺装置の一部として情報を提示し、データ及びコマンドを受け取ることが可能な何れかのタイプのコンピューティング・システムを使用して実現し得る。
【００４７】
「一実施例」又は「実施例」に対する本明細書における言及は、上記実施例に関して説明した特定の構成、構造、又は特性が本開示の少なくとも１つの実施例に含まれているということを意味している。本明細書中の種々の箇所において「一実施例において」との句が存在しているということは、必ずしも全て同じ実施例を表している訳でない。
【００４８】
上記詳細な説明の一部分は、コンピュータ・メモリ内のデータ・ビットに対する演算のアルゴリズム及び記号表現に関して提示している。前述のアルゴリズム記述及び表現は、他の当業者にその成果物の本質を最も効果的に伝えるためにデータ処理分野における当業者によって使用される手段である。アルゴリズムはここでは、かつ、一般には、所望の結果につながる自己矛盾のない一連の工程として考えられている。工程は、物理的数量の物理的操作を必要とするものである。通常、必然的でないが、前述の数量は、記憶され、転送され、合成され、比較され、さもなければ、操作されることができる電気信号又は磁気信号の形式をとる。前述の信号をビット、値、要素、記号、文字、項、数字等として表すことが、主に慣用の理由で、時には好都合であることが明らかとなっている。
【００４９】
しかし、前述及び同様の語は、適切な物理的数量と関連付けられるものとし、前述の数量に付された好都合なラベルであるに過ぎないということに留意すべきである。以下の記載から明らかであるように別途明記していない限り、本明細書を通して、「処理」、「計算」、「算出」、「判定」、「表示」等などの語を利用する記載は、コンピュータ・システムのレジスタ内及びメモリ内の物理的（電子的）数量として表されるデータを操作し、コンピュータ・システムのメモリ内若しくはレジスタ内、又は他の前述の情報記憶装置内、伝送装置内、若しくは表示装置内の物理的数量として同様に表される他のデータに変換するコンピュータ・システム、又は同様な電子コンピューティング装置の動作又は処理を表す。
【００５０】
本明細書は更に、本明細書及び特許請求の範囲記載の動作を行う装置に関する。前述の装置は、必要な目的のために特に構成し得、又は、コンピュータに記憶されたコンピュータ・プログラムによって選択的に起動又は再構成される汎用コンピュータであり得る。前述のコンピュータ・プログラムは、限定列挙でないが、フロッピー（登録商標）・ディスク、光ディスク、ＣＤ−ＲＯＭ、磁気ディスク、リードオンリ・メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード又は光カード、それぞれがコンピュータ・システム・バスに結合された、電子命令の記憶に適した何れかのタイプの媒体又は不揮発性メモリを有するＵＳＢキーを含むフラッシュ・メモリなどのコンピュータ読み取り可能な記憶媒体に記憶し得る。
【００５１】
本明細書は、全体がハードウェア実施例、全体がソフトウェア実施例、又は、ハードウェア構成要素及びソフトウェア構成要素を含む実施例の形態をとり得る。一実施例では、本明細書は、限定列挙でないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含むソフトウェアで実現される。
【００５２】
更に、本開示は、コンピュータ又は何れかの命令実行システムによる使用のための、又は、コンピュータ又は何れかの命令実行システムに関するプログラム・コードを提供するコンピュータ使用可能な、又は、コンピュータ読み取り可能な媒体からアクセス可能なコンピュータ・プログラム・プロダクトの形態をとり得る。本開示の目的で、コンピュータ使用可能な媒体、又はコンピュータ読み取り可能な媒体は、命令実行システム、装置、又はデバイスによる使用のための、又は、命令実行システム、装置、又はデバイスに関するプログラムを含み、又は記憶し、通信し、伝播し、又は伝送し得る何れかの装置であり得る。
【００５３】
プログラム・コードを記憶し、かつ／又は実行するのに適したデータ処理システムは、システム・バスを介してメモリ・エレメントに直接、又は間接的に結合された少なくとも１つのプロセッサを含む。メモリ・エレメントは、実行中に大容量記憶装置からコードを取り出さなければならない回数を削減するために少なくとも一部のプログラム・コードの一時記憶装置を備えるキャッシュ・メモリ、大容量記憶装置、及びプログラム・コードの実際の実行中に使用される局所メモリを含み得る。
【００５４】
入出力（Ｉ／Ｏ）デバイス（限定列挙でないが、キーボード、ディスプレイ、ポインティング・デバイス等を含む）は、直接、又は、介在するＩ／Ｏコントローラを介して結合し得る。
【００５５】
ネットワーク・アダプタが更に、介在する専用ネットワーク又は公衆ネットワークを介して他のデータ処理システム、遠隔プリンタ、又は記憶装置にデータ処理システムが結合されることを可能にするためにシステムに結合し得る。モデム、ケーブル・モデム、及びイーサネット（登録商標）カードは、現在利用可能なタイプのネットワーク・アダプタのうちのいくつかに過ぎない。
【００５６】
最後に、本明細書及び特許請求の範囲記載のアルゴリズム及びディスプレイは、何れの特定のコンピュータ又は他の装置にも固有に関係するものでない。種々の汎用システムを本明細書及び特許請求の範囲の教示によるプログラムとともに使用し得、又は、所要の方法工程を行うために、より特化された装置を構成するのが好都合であることが明らかとなり得る。前述の種々のシステムに必要な構造は、以下の説明から明らかとなる。更に、本明細書は、何れかの特定のプログラミング言語を参照して説明されていない。本明細書及び特許請求の範囲記載の明細書の教示を実現するために種々のプログラミング言語を使用し得る。
【００５７】
実施例の上記説明は、例証及び説明の目的で提示してきた。これは、網羅的であること、又は本発明の実施例を、開示されたまさにその形態に制限することを意図するものでない。多くの修正及び変形が上記教示に照らして考えられる。本発明の実施例の範囲は、発明の詳細な説明でなく、本出願の特許請求の範囲によって限定されることを意図している。当技術分野に精通している者によって理解されるように、本発明の実施例は、その趣旨又は必須の特徴から逸脱しない限り、他の特定の形態で実施し得る。同様に、モジュール、ルーチン、構成、属性、方法論、及び他の局面の特定の名前付け及び区分は必須でも重要でもなく、本発明の実施例又はその構成を実現する機構は別々の名前、区分、及び／又は形態を有し得る。更に、関連する技術分野における当業者に明らかになるように、本発明の実施例のモジュール、ルーチン、構成、属性、方法論、及び他の局面は、ソフトウェア、ハードウェア、ファームウェア、又は３つの何れかの組み合わせとして実現することが可能である。更に、モジュールがその例である構成部分がソフトウェアとして実現される場合、構成部分は、スタンドアロン・プログラムとして、より大きなプログラムの一部として、別個の複数のプログラムとして、統計的に、又は動的にリンクされたライブラリとして、カーネル・ロード可能なモジュールとして、デバイス・ドライバとして、かつ／又は、コンピュータ・プログラミングの技術分野における当業者に現在又は将来、知られるありとあらゆる他のやり方で実現することが可能である。更に、上記手法は、何れかの特定のプログラミング言語における、又は何れかの特定のオペレーティング・システム若しくは環境のための実現形態に決して限定されるものでない。よって、明細書は、特許請求の範囲記載の請求項の範囲を限定するものでなく、例証するものであることを意図している。
【図１】
2015165400.tif 000003
【図２】
2015165400.tif 000004
【図３】
2015165400.tif 000005
【図４】
2015165400.tif 000006
【図５】
2015165400.tif 000007
【図６】
2015165400.tif 000008
【図７】
2015165400.tif 000009
【図８】
2015165400.tif 000010
【図９】
2015165400.tif 000011
【図１０Ａ】
2015165400.tif 000012
【図１０Ｂ】
2015165400.tif 000013
【図１０Ｃ】
2015165400.tif 000014
【図１０Ｄ】
2015165400.tif 000015
【図１１Ａ】
2015165400.tif 000016
【図１１Ｂ】
2015165400.tif 000017
【図１１Ｃ】
2015165400.tif 000018
【図１２】
2015165400.tif 000019