(57)【要約】【課題】  高精度な画像探索処理を行える画像探索装置、商品認識装置および画像探索プログラムを提供する。【解決手段】  実施形態によれば、画像探索装置は、画像取得部とプロセッサとを有する。画像取得部は、入力画像を取得する。プロセッサは、入力画像に含まれる探索対象となる画像を複数の小領域に分割し、分割した小領域ごとに所定数を上限とした特徴点を抽出し、前記探索対象となる画像における複数の特徴点と辞書に登録される複数の登録画像の特徴点とに基づいて前記探索対象となる画像と前記辞書が記憶する各登録画像との類似度を算出し、最大の類似度となる登録画像を特定する。【選択図】図２
2019021100.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を取得する画像取得部と、
入力画像に含まれる探索対象となる画像を複数の小領域に分割し、
分割した小領域ごとに所定数を上限とした特徴点を抽出し、
前記探索対象となる画像における複数の特徴点と辞書に登録される複数の登録画像の特徴点とに基づいて前記探索対象となる画像と前記辞書が記憶する各登録画像との類似度を算出し、最大の類似度となる登録画像を特定する、プロセッサと、
を有する画像探索装置。
【請求項２】
プロセッサは、強度が所定閾値以上の特徴点を前記小領域ごとに所定数を上限として抽出する、
請求項１に記載の画像探索装置。
【請求項３】
入力画像を取得する画像取得部と、
入力画像に含まれる商品の画像を複数の小領域に分割し、
分割した小領域ごとに所定数を上限とした特徴点を抽出し、
前記商品の画像における複数の特徴点と辞書に登録される複数の商品に対する特徴点とに基づいて、前記商品と前記辞書が記憶する各商品との類似度を算出し、最大の類似度となる商品を特定する、プロセッサと、
を有する商品認識装置。
【請求項４】
プロセッサは、強度が所定閾値以上の特徴点を前記小領域ごとに所定数を上限として抽出する、
請求項３に記載の商品認識装置。
【請求項５】
前記画像取得部は、認識対象とする少なくとも１つの商品が載置される領域の画像を撮影装置が撮影した画像を入力画像として取得し、
前記プロセッサは、前記入力画像から認識処理の対象とする商品の画像を抽出する、
請求項３または４の何れかに記載の商品認識装置。
【請求項６】
コンピュータに、
入力画像を取得する処理と、
入力画像に含まれる探索対象となる画像を複数の小領域に分割する処理と、
分割した小領域ごとに所定数を上限とした特徴点を抽出する処理と、
前記探索対象となる画像における複数の特徴点と辞書に登録される複数の登録画像の特徴点とに基づいて前記探索対象となる画像と前記辞書が記憶する各登録画像との類似度を算出する処理と、
前記算出する類似度のうち最大の類似度となる登録画像を特定する処理と、
を実行させるための画像探索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像探索装置、商品認識装置および画像探索プログラムに関する。
【背景技術】
【０００２】
従来、入力画像と同じ画像（同一種の画像）をデータベース（辞書）から検索する画像探索処理を用いた画像認識技術には、カテゴリー認識（一般物体認識）と特定物体認識とがある。カテゴリー認識は、主に動物や植物などのように個体ごとの画像パターンや形状のばらつきがある物体を認識対象とする画像認識技術である。特定物体認識は、個体差がほとんど無い物体を認識対象とする画像認識技術である。例えば、特定物体認識は、商品のパッケージの画像から品種を認識する技術として適用される。
【０００３】
特定物体認識は、認識対象となる全種類の物体の画像情報及び特徴情報を記憶した辞書を用意する。特定物体認識では、物体を撮影した画像と辞書に登録されている各物体の画像との類似度を計算し、最も類似度が高い物体を選定する。類似度の計算方法としては、画像同士を直接比較するテンプレートマッチングや画像上の局所的な特徴点を比較する特徴点比較方式などがある。テンプレートマッチングは画像全面を比較するために計算時間や辞書の容量が膨大になるなどの問題があるため、特定物体認識では特徴点比較方式を用いることが多い。
【０００４】
特徴点比較方式では、画像からいくつかの特徴点を抽出し、さらに各特徴点の特徴量と属性を計算する。類似度は、辞書に登録されている各画像の特徴点のリストと比較して、対応する特徴点の数または比率から判定される。特徴点は、画像の濃淡値の分布から局所的に一意に特定できる点であり、たとえば、濃度値の２次微分の極大点などが用いられる。特徴量は、特徴点の近傍の濃度パターンなどから算出される。特徴点の抽出方法や特徴量の計算方法としては、ＳＩＦＴ、ＳＵＲＦ，ＯＲＢなどと呼ばれる方式がある。
【０００５】
上述したように、同一の画像を探索する方法としては、局所特徴量を比較する特徴点比較方式が有効である。特徴点比較方式は、画像全体のごく一部の特徴点の情報を用いて画像の類似度を判定する。パターンマッチング方式などの画像全体を比較する方式に比べて極めて計算量が小さくなる。
【０００６】
しかしながら、特徴点比較方式による画像探索処理を用いた特定物体認識には、いくつかの問題点がある。たとえば、従来のチェックアウト装置（ＰＯＳ端末）などに適用される特定物体認識としての商品認識処理では、共通のデザインを有する商品の識別が難しいことがある。同じメーカの同種の商品では、商標などの同じマークが複数の商品に共通して印刷されている場合が多い。また、同じシリーズの商品では、類似するデザインや共通のデザインが用いられることが多い。従来の特徴点比較方式では、認識対象の画像全面から強度の高い順に特徴点を抽出する。このため、従来の特徴点比較方式を用いた特定物体認識では、類似や共通のデザイン部分から強度の高い特徴点が抽出される商品群は、正確に識別するのが難しい。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１４０６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記した課題を解決するために、高精度な画像探索処理を行える画像探索装置、商品認識装置および画像探索プログラムを提供する。
【課題を解決するための手段】
【０００９】
実施形態によれば、画像探索装置は、画像取得部とプロセッサとを有する。画像取得部は、入力画像を取得する。プロセッサは、入力画像に含まれる探索対象となる画像を複数の小領域に分割し、分割した小領域ごとに所定数を上限とした特徴点を抽出し、前記探索対象となる画像における複数の特徴点と辞書に登録される複数の登録画像の特徴点とに基づいて前記探索対象となる画像と前記辞書が記憶する各登録画像との類似度を算出し、最大の類似度となる登録画像を特定する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る画像探索装置としての認識装置の構成例を示す外観図である。
【図２】図２は、実施形態に係る画像探索装置としての認識装置の制御系の構成例を示すブロック図である。
【図３】図３は、実施形態に係る画像探索装置としての認識装置における画像探索処理を含む商品認識処理の流れを説明するためのフローチャートである。
【図４】図４は、実施形態に係る画像探索装置としての認識装置における画像探索処理を含む商品認識処理の流れを説明するためのフローチャートである。
【図５】図５は、実施形態に係る画像探索装置としての認識装置が処理対象とする商品画像の例を示す図である。
【図６】図６は、実施形態に係る画像探索装置としての認識装置が図５に示す商品画像全体から強度の高い特徴点を抽出した例を示す図である。
【図７】図７は、実施形態に係る画像探索装置としての認識装置が図５に示す商品画像全体における各分割領域から特徴点を抽出した例を示す図である。
【図８】図８は、実施形態に係る画像探索装置としての認識装置における画像認識処理に用いられる辞書の構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら実施形態について説明する。  
まず、本実施形態に係る画像探索装置としての認識装置を含む商品認識システムの構成について説明する。  
図１は、商品認識システム１０の構成例を示す図である。  
図１に示す構成例において、商品認識システム１０は、商品台１０１、照明装置１０２、カメラ１０３、及び、認識装置１０５を有する。商品台１０１は、認識対象とする商品を配置する台である。例えば、商品台１０１は、認識対象とする商品を入れたカゴを置くようにしても良い。また、商品台１０１に置くカゴには、１または複数の商品が置かれるものとする。
【００１２】
照明装置１０２は、商品台１０１に向けて光を発光するものである。照明装置１０２は、商品台１０１に配置された商品に対して上方から光を照射する。カメラ１０３は、商品台１０１を撮影範囲に含む画像を撮影する。カメラ１０３は、商品台１０１に配置された商品を含む領域の画像を撮影する。カメラ１０３は、撮像した画像を画像信号に変換して認識装置１０５へ送信する。照明装置１０２及びカメラ１０３は、撮影装置１０４を構成する。
【００１３】
認識装置１０５は、類似する画像を探索する画像探索処理を含む商品認識処理（画像認識処理）を行う。認識装置１０５は、カメラ１０３が撮影した画像に基づく商品認識処理などの処理を実行する。認識装置１０５は、一般的なノイマン型の計算機などのコンピュータで実現できる。認識装置１０５は、例えば、認識結果として商品コードなどの商品を示す情報を出力する。また、認識装置１０５は、商品のデータを記憶するデータベースを参照して商品の価格などの情報を出力するようにしても良い。なお、以下の実施形態では、認識装置１０５を画像探索装置として説明するが、撮影装置１０４と認識装置１０５とを含む構成を画像探索装置としても良い。
【００１４】
次に、画像探索装置としての認識装置１０５の構成について説明する。  
図２は、実施形態に係る認識装置１０５の構成例を示すブロック図である。  
図２に示すように、認識装置１０５は、プロセッサ２０１、メモリ２０２、不揮発性メモリ２０３、画像処理アクセラレータ２０４、入出力インターフェース（Ｉ／Ｆ）２０５、コンソール２０６、及び、ＮＩＣ２０７などがシステムバス２０８を介して接続される。
【００１５】
プロセッサ２０１は、例えば、ＣＰＵである。プロセッサ２０１は、プログラムを実行することにより各種の処理機能を実現する。メモリ２０２は、作業用のデータを記憶するメモリである。不揮発性メモリ２０３は、書換え可能な不揮発性の記憶装置で構成する。例えば、不揮発性メモリ２０３は、ＨＤＤ、ＳＳＤなどで実現される。また、不揮発性メモリ２０３は、ＲＯＭなどを含んでも良い。不揮発性メモリ２０３は、プログラムおよびデータなどを記憶する。
【００１６】
プロセッサ２０１は、不揮発性メモリ２０３が記憶するプログラム（プログラムコード）を実行する。プロセッサ２０１は、不揮発性メモリ２０３が記憶するプログラムコードをメモリ２０２に展開し、メモリ２０２に展開したプログラムコードを実行する。本実施形態において、後述する処理を実行するためのプログラムは、不揮発性メモリ２０３が記憶し、プロセッサ２０１により実行されるものとする。
【００１７】
また、不揮発性メモリ２０３は、認識対象となる全種類の商品に関する登録情報（辞書情報）を格納する辞書（データベース）２０９を有する。各商品に関する登録情報は、後述の商品認識処理（画像探索処理）に用いる辞書としての画像（登録画像）及び特徴情報などである。辞書２０９の構成例については、後で詳述する。また、不揮発性メモリ２０３は、辞書２０９に格納したデータの管理情報も記憶する。また、不揮発性メモリ２０３は、カメラ１０３から入力した画像（入力画像）、および、商品認識処理の結果などの情報も記憶する。
【００１８】
画像処理アクセラレータ２０４は、画像処理を実行する処理部である。入出力インターフェース（Ｉ／Ｆ）２０５は、カメラ１０３および照明１０２を含む撮影装置１０４を接続するインターフェースである。入力Ｉ／Ｆ２０５は、カメラ１０３が撮影した画像としての入力画像を取得するインターフェース（画像取得部）である。また、プロセッサ２０１は、入出力Ｉ／Ｆ２０５を介してカメラ１０３及び照明１０２へ制御指示を供給する。コンソール２０６は、管理者などのオペレータが操作指示を入力するものである。ＮＩＣ２０７は、外部装置と通信するためのインターフェースである。ＮＩＣ２０７は、例えば、ネットワークインターフェースであり、外部ネットワークを介して外部装置と通信する。
【００１９】
次に、本実施形態に係る商品認識システム１０による商品認識処理の流れについて概略的に説明する。  
本商品認識システム１０が認識対象とする商品は、商品台１０１上に配置される。本実施形態においては、複数の商品がある場合、商品台１０１上には複数の商品が互いに重ならないように配置されるものとする。撮影装置１０４は、照明装置１０２により商品台１０１上に光を照射し、カメラ１０３により商品台１０１上を撮影領域に含む画像を撮影する。カメラ１０３は、撮影した画像を認識装置１０５へ供給する。
【００２０】
認識装置１０５は、カメラ１０３が撮影した画像を入力画像として取得する。認識装置１０５は、入力画像において個々の商品ごとの領域を切出す。認識装置１０５は、商品ごとの領域に切り出した画像（商品画像）から特徴点の抽出と特徴量の計算とを行う。認識装置１０５は、商品画像から抽出した特徴点の情報と辞書２０９に登録されている各商品画像の特徴点の情報とを比較して特徴点の情報が類似する画像を探す。
【００２１】
すなわち、認識装置１０５は、画像探索処理として、商品画像に対して類似する特徴を有する画像の商品を辞書２０９から検索する。本実施形態に係る認識装置１０５は、類似する画像であるかを局所特徴量方式で判定するものとする。局所特徴量方式は、対応する特徴点数の量により判定する。認識装置１０５は、すべての対象となる商品の画像について予め計算した特徴点の情報を商品情報と合わせて１つのデータセットとして辞書２０９に記憶しておく。なお、辞書２０９は、商品認識処理において、認識装置１０５のプロセッサ２０１がアクセスできるものであれば良い。例えば、辞書２０９は、ＮＩＣ２０７を介して通信可能な外部装置に設けても良い。
【００２２】
特徴点は、画像において局所的に一意に特定できる点である。特徴点は、画像のコーナー部分や画像濃度の２次微分関数の極点（極大又は極小点）などの局所領域内で一意に定められる点である。特徴点の情報は、その位置を表す座標（ｘ、ｙ）の他に、大きさを示すスケール、方向を表すオリエンテーションなどの情報を含む。また、特徴点の特徴量は、例えば、特徴点近傍の濃度パターンに応じて定義される。具体例としては、特徴点の特徴量は、特徴点の近傍の濃度パターンを数１０〜数１００の低次元の情報量に圧縮した値である。
【００２３】
本実施形態においては、これらの情報を合わせて特徴点の属性（属性情報）とよぶことにする。また、属性は、例えば、特徴点の位置座標および特徴点の向きを表わすオリエンテーションとサイズを表すスケールである。特徴点の情報として、スケールとオリエンテーションとを有することにより、回転相似変換した画像間でも同じ特徴量で表現できる。  
なお、特徴点の抽出方法や特徴量の計算方法としては、ＳＩＦＴ、ＳＵＲＦ，ＯＲＢなどの方式がある。
【００２４】
また、局所特徴量方式は、テンプレートマッチングなどのように画像全体の情報を用いる方法に比べ、辞書のデータサイズ、及び、処理における計算量を小さくすることができる。また、回転相似変換によっても特徴点の特徴量が不変であるため、任意の角度、距離から撮影した画像からも検索が可能である。
【００２５】
ただし、認識処理時に商品を撮影した画像（入力画像中の商品画像）と辞書作成時に商品を撮影した画像とでは、商品の位置、向き、撮影距離などが異なる。このため、入力画像から抽出した商品画像（入力商品画像）と辞書作成時の商品画像（登録用の商品画像、登録画像）とは、同一商品であっても、画像の座標系が異なる。これらの座標系は、平行移動、回転、拡大縮小の合成された相似変換の関係となる。
【００２６】
本実施形態に係る認識装置１０５は、商品認識処理（画像探索処理）において、入力商品画像と辞書の商品画像との座標系の関係である相似変換行列の候補を求める。認識装置１０５は、候補から妥当性のある変換行列を求め、算出した変換行例による座標変換をかけた上で対応する特徴点の数を求める。認識装置１０５は、辞書の特徴点数に対して対応する特徴点数の割合を類似度とする。認識装置１０５は、類似度が最大でかつ所定の閾値以上となる辞書の商品を入力商品画像と一致する認識（検索）結果とする。
【００２７】
次に、認識装置１０５による商品認識処理（画像探索処理）について詳細に説明する。  
図３及び図４は、商品認識処理（画像探索処理）の流れを説明するためのフローチャートである。  
カメラ１０３は、認識対象とする商品が載置される商品台１０１を含む撮影範囲の画像を撮影する。認識装置１０５は、入出力Ｉ／Ｆ２０５によりカメラ１０３が撮影した撮影画像（入力画像）を取得する（ＡＣＴ１１）。認識装置１０５のプロセッサ２０１は、入出力Ｉ／Ｆ２０５によりカメラ１０３から取得した画像を入力画像として不揮発性メモリ２０３に記憶する。ここで、入力画像は、モノクロ明度信号、すなわち画像の画素の明度を０から２５５までの値で明るい方が大きい値で表現した画像信号であるものとする。ただし、入力画像は、モノクロ明度信号に限らず、例えば、ＲＧＢ等のカラー画像信号であっても良い。
【００２８】
入力画像を取得すると、認識装置１０５のプロセッサ２０１は、入力画像から個々の商品の領域を抽出する（ＡＣＴ１２）。プロセッサ２０１は、カメラ１０３から入力した画像において個々の商品の領域を切出し、個々の商品の画像（商品画像）を抽出する。本実施形態において、商品画像は、個々の商品の領域を囲む最小の矩形領域であるものとし、商品画像の領域は、矩形の４つの頂点の座標値で表現するものとする。ただし、商品画像の表現は、矩形の４つの頂点の座標値で表現するものに限定されない。例えば、商品画像の表現は、別に画像領域に対応する２次元の配列を用意し、その配列の値によって商品の種別を表すような表現でもよい。
【００２９】
入力画像から少なくとも１つの商品画像を抽出すると、プロセッサ２０１は、変数ｉを初期化（ｉ＝０）とする（ＡＣＴ１３）。変数ｉを初期化した後、プロセッサ２０１は、変数ｉをインクリメント（ｉ＝ｉ＋１）とする（ＡＣＴ１４）。変数ｉをインクリメントすると、プロセッサ２０１は、抽出した商品画像のうちｉ番目の商品画像を処理対象の画像として選出する。
【００３０】
ｉ番目の商品画像を選択すると、プロセッサ２０１は、選択した商品画像全体における特徴点を求める処理を行う。本実施形態では、プロセッサ２０１は、商品画像を複数の小領域（分割領域）に分割し、分割した各小領域から特徴点を抽出する。
【００３１】
分割領域毎に特徴点を抽出する処理において、プロセッサ２０１は、商品画像を複数の領域に分割する（ＡＣＴ１５）。図５は、商品画像を９つの領域に分割した例を示す図である。プロセッサ２０１は、商品画像から商品全体を含む長方形の画像領域（全体領域）を設定する。たとえば、プロセッサ２０１は、商品に外接する長方形（外接矩形）を商品の全体領域とする。図５に示す例では、プロセッサ２０１は、長方形の全体領域において向かい合う２つの辺に平行で、かつ、それ以外の辺を３分割する仮想の境界線を設定する。この場合、図５に示すように、全体領域には縦横にそれぞれ２本の境界線が設定され、それらの境界線によって商品の全体領域が９つの領域（分割領域）に分割される。
【００３２】
なお、図５では、商品の全体領域を９分割する例を示したが、領域の分割方法はこれに限るものではない。例えば、縦横をそれぞれ４分割することにより１６分割した分割領域を設定しても良い。また、縦と横との分割数は異なる値でもよい。さらに、商品のサイズに応じて分割数を変え、各分割領域の面積が商品の大きさによらずほぼ同じなるように分割してもよい。
【００３３】
商品の全体領域を分割すると、プロセッサ２０１は、分割領域ごとの抽出する特徴点の数の上限Ｎｐを特定する（ＡＣＴ１６）。たとえば、プロセッサ２０１は、１つの商品画像に対して抽出すべき特徴点数を分割領域数で除した値を各分割領域の特徴点の上限数Ｎｐとする。たとえば、１つの商品画像に対する特徴点数が５００である場合、９分割された各分割領域の特徴点の上限数Ｎｐは、５００÷９＝５６個となる。
【００３４】
各分割領域の特徴点の上限数Ｎｐを特定すると、プロセッサ２０１は、当該商品の全体領域において所定の強度以上の特徴点を抽出する（ＡＣＴ１７）。ここで、所定の強度とは、特徴点として抽出すべきないものを除外するための閾値である。たとえば、強度の低い特徴点は、商品画像上の汚れ又は撮影時のノイズなどにより偶然に生じる有意でない特徴点の可能性が高い。このような特徴点は、濃淡の変化が小さい分割領域においても抽出すべきものではない。従って、特徴点に対して強度の最低閾値を設けておき、閾値より強度の低い特徴点は抽出しないようにする。これにより、濃淡がほとんどない領域などの特徴点が存在しないか、或は、極めて強度の低い特徴点しか存在しない分割領域においては、有意でない特徴点が抽出されないようにできる。
【００３５】
全体領域から所定強度以上の特徴点を抽出すると、プロセッサ２０１は、抽出した各特徴点が存在する分割領域を判定する（ＡＣＴ１８）。たとえば、プロセッサ２０１は、抽出した各特徴点の座標値から各特徴点がどの分割領域に入るかを判定する。すなわち、プロセッサ２０１は、商品の全体領域から抽出した特徴点がどの分割領域に属するかを決定する。
【００３６】
各特徴点が属する分割領域を判定すると、プロセッサ２０１は、分割領域ごとに特徴点を強度の高い順に並べる（ＡＣＴ１９）。分割領域毎に特徴点を強度の高い順に並べると、プロセッサ２０１は、各分割領域において強度が高い順番に上限数Ｎｐ個の特徴点を抽出する（ＡＣＴ２０）。たとえば、上限数が５６個である場合、プロセッサ２０１は、各分割領域において強度が高い順番に５６個の特徴点を抽出する。ただし、分割領域における特徴点の数が上限数Ｎｐよりも少ない場合、プロセッサ２０１は、上限数Ｎｐ個未満の特徴点を抽出するようにしても良い。
【００３７】
以上の処理（ＡＣＴ１５−２０）によって、プロセッサ２０１は、商品画像を複数の分割領域に分割し、各分割領域において上限数までの数の特徴点を抽出できる。  
図６は、図５に示す商品画像の全体領域から強度の高い順に特徴点を抽出した場合の例を示す図である。図７は、図５に示す商品画像の各分割領域から強度の高い順に特徴点を抽出した場合の例を示す図である。なお、図６および図７は、抽出された特徴点を円で図示するものであり、特徴点を示す円は、中心が特徴点の位置を示し、大きさが特徴点のスケールを示す。
【００３８】
図６および図７から明らかなように、分割領域ごとに特徴点を抽出することにより、特徴点が商品画像における特定の領域に集中することを防ぐことができる。特徴点は、濃淡変化の大きい部分で強度が大きくなる。このため、一般的には写真部分より文字部分の方に強度が大きい特徴点が集中する。商品画像では商品名やロゴなどの特定の箇所が目立つデザインとなっていることが多く、そのような領域に特徴点が抽出されやすくなる。また、白地に黒文字のようにコントラストの強い文字の周辺も特徴点が抽出されやすくなる。
【００３９】
図６に示す例では、商品画像全体から強度の高い順に特徴点を抽出すると、商品画像の上部のロゴ文字部や右下のコントラストの強い文字部に特徴点が集中することを示している。たとえば、同じシリーズの商品同士ではパッケージが類似したデザインとなる事が多く、商品名やロゴなどが同じデザインとなっていることも多い。つまり、同じデザイン部分や類似するデザインを含むパッケージの複数の商品は、商品画像全体から強度の高い順に特徴点を抽出すると、正確に識別することが難しくなる。また、特徴点が特定の領域に集中する商品は、その特定の領域がシールや別の商品などで隠されると、ほとんどの特徴点が隠されるために認識が困難となるという問題もある。
【００４０】
これに対して、図７に示す例では、抽出される特徴点が商品画像の全体に分散され、左下の写真領域などにも特徴点が点在している。このため、図７に示すような特徴点を用いた商品認識（画像探索）では、類似の商品（画像）の間でも判別性能が高くなる。また、商品の一部が隠れていても特徴点の大半が隠れるというリスクが下がる。商品画像における分割領域ごとに特徴点を抽出することにより、商品の認識精度が向上し、高精度な商品検索処理を提供することができる。
【００４１】
ｉ番目の商品画像における特徴点を抽出すると、プロセッサ２０１は、抽出した各特徴点について特徴量（局所特徴量）を計算する（ＡＣＴ２１）。局所特徴量は、たとえば、特徴点の近傍の領域の濃淡のパターンを固定長の符号または数値で表現したもので良い。特徴量としては、いくつかの方式により算出することが可能である。本実施形態の説明においては、ＯＲＢ特徴量を用いるものとして説明する。ＯＲＢ特徴量は、２５６次元の２値情報で表される。ＯＲＢ特徴量は、パターンの形状が近いほど２つの２５６次元の特徴量のハミング距離が小さくなり、同じパターンの場合にはハミング距離が最小値の０となる。ハミング距離は、各ｂｉｔの排他的論理和の２５６次元での総和で表される。このため、ＯＲＢ特徴量は、ユークリッド距離（Ｌ２ノルム）又はマンハッタン距離（Ｌ１ノルム）に比べて、極めて高速に計算できるという特長がある。
【００４２】
プロセッサ２０１は、抽出した特徴点について、Ｘ座標、Ｙ座標、スケール、オリエンテーション、及び特徴量を含む属性情報を特定する。これらの情報を特定すると、プロセッサ２０１は、抽出した特徴点に対する属性情報としてメモリ２０２に保持する。さらに、プロセッサ２０１は、スケールの対数を整数化した対数スケールも算出し、メモリ２０２に保持しておく。ここで、スケールと対数スケールとは、１対１に対応しており、冗長な情報である。なお、上述した特徴点の属性情報は、後述する処理によって特徴点の数分だけ計算される。この結果として、メモリ２０２には、ｉ番目の商品画像の各特徴点の属性情報が配列として記憶される。
【００４３】
特徴点の情報（属性情報）をメモリ２０２に記憶すると、プロセッサ２０１は、変数ｋを初期化（ｋ＝０）する（ＡＣＴ２２）。変数ｋを初期化した後、プロセッサ２０１は、変数ｋをインクリメント（ｋ＝ｋ＋１）とする（ＡＣＴ２３）。そして、プロセッサ２０１は、辞書２０９に記憶されているｋ番目の商品の登録情報を読み出す（ＡＣＴ２４）。プロセッサ２０１は、辞書２０９が記憶する各商品の登録情報を順に読み出す。例えば、辞書２０９は、登録される各商品（認識対象となる各種の商品）に関する登録情報を配列テーブルの形で記憶するものとする。
【００４４】
図８は、辞書２０９の構成例を示す図である。  
図８に示す例において、辞書２０９は、登録される商品の数（品種の数）のブロックにより構成される。図８に示す辞書２０９においては、各ブロックが、個々の商品に対する登録情報（辞書情報）である。図８に示す例では、登録商品の数をＮｉとし、Ｎｉ個のブロックを有する。図８に示す各ブロックは、商品の名称、商品コード（商品に一意に対応する識別情報）、商品画像における特徴点の数、各特徴点の属性情報（特徴点のＸ及びＹ座標、スケール、オリエンテーション、特徴量）を記憶する。例えば、特徴量は、上述したように、３２桁の１６進数で表される２５６次元の２値情報である。
【００４５】
ただし、辞書２０９に登録される特徴点は、登録用の商品画像に対して上述の処理（ＡＣＴ１５−２０の処理）と同様な処理を実施することにより得られるものとする。つまり、辞書２０９には、登録用の商品画像を所定の小領域に分割し、各分割領域から抽出される特徴点に関する情報が登録されるものとする。
【００４６】
辞書のｋ番目の商品の情報を読出すと、プロセッサ２０１は、商品画像から算出した特徴点の情報とｋ番目の商品の特徴点の情報とを比較して類似の特徴点対群を選出する（ＡＣＴ２５）。類似の特徴点対としては、特徴量の近い特徴点の対が選出される。例えば、プロセッサ２０１は、入力商品画像の全特徴点と辞書のｋ番目の商品（ブロック）の全特徴点との総当たりでハミング距離Ｈｄを計算する。プロセッサ２０１は、算出したハミング距離Ｈｄが所定の閾値Ｔｈｄ（例えば、６４程度）より小さい場合に、類似する特徴点とみなす。プロセッサ２０１は、ハミング距離Ｈｄが所定閾値Ｔｈｄよりも小さくなる特徴点の対をすべて求める。
【００４７】
類似の特徴点対を選出すると、プロセッサ２０１は、辞書の座標系と入力商品画像とを座標変換するための座標変換行列を計算する行列計算処理を実行する（ＡＣＴ２６）。すなわち、プロセッサ２０１は、特徴点対のセットから入力商品画像と辞書のｋ番目の商品の画像との座標変換行列を計算する。もし、商品画像と辞書画像とが同じものであれば、商品画像上の点と辞書画像上の点とは相似な座標変換行列で表される関係になる。この場合、特徴点同士もその座標変換行列で対応づけられる位置関係になる。ここでは、そのような座標変換行列を求める。
【００４８】
たとえば、全ての特徴点対が対応点であれば、最小二乗法を利用した回帰分析などの手法で座標変換行列を求めるのが効率的である。ただし、多くの場合は画像上に複数の類似のパターンがあったり偶然に特徴量の近い点の組が存在したりするため、全ての特徴点対が同じ座標変換行列で表されない。このような場合のロバストな変換行列推定方法としては、ＲＡＮＳＡＣ法を用いることができる。ここでは、特徴点対の尤度を利用したＲＡＮＳＡＣの変形方式を用いて、座標変換行列を求めるものとする。
【００４９】
座標変換行列を算出すると、プロセッサ２０１は、座標変換行列を用いて選出した全ての特徴点対を座標変換する。プロセッサ２０１は、座標変換した結果について変換誤差を算出する。プロセッサ２０１は、座標変換行列による変換誤差が所定値以下となる特徴点対の数を計数する（ＡＣＴ２７）。
【００５０】
プロセッサ２０１は、計数した変換誤差が所定値以下となる特徴点対の数に基づいて入力商品画像と辞書のｋ番目の商品との類似度を算出する（ＡＣＴ２８）。たとえば、すべての特徴点対について辞書画像の特徴点の位置座標に座標変換行列をかけると、対応する商品画像の座標の推定値となる。この座標の推定値と商品画像の特徴点対の座標の間の距離を求める。この距離が所定の閾値以下ならば、当該特徴点対は位置的にも正しく対応する特徴点と考えられる。全特徴点対のうち、距離が閾値以下となる特徴点対を全特徴点対の数で除算した値を求め、これを類似度と定義する。類似度が高いほど商品画像と辞書画像が近く、同じ画像である確率が高いと考えられる。
【００５１】
ｋ番目の商品に対する類似度を算出すると、プロセッサ２０１は、変数ｋが辞書２０９に登録されている商品の総数（辞書の商品数）に達したかを判断する（ＡＣＴ２７）。変数ｋが辞書２０９の商品数に達していない場合、つまり、類似度を算出していない商品がある場合（ＡＣＴ２９、ＮＯ）、プロセッサ２０１は、ＡＣＴ２３へ戻り、辞書２０９にある次の商品（ｋ＝ｋ＋１番目の商品）に対する類似度を算出する。
【００５２】
変数ｋが辞書２０９に登録されている商品数に達した場合、つまり、全商品に対する類似度を算出したと判断した場合（ＡＣＴ２９、ＹＥＳ）、プロセッサ２０１は、各商品に対する類似度により商品の認識結果（画像探索結果）を判定する（ＡＣＴ３０）。例えば、プロセッサ２０１は、類似度が最大となる商品を特定する。プロセッサ２０１は、最大の類似度が所定値（同定用の閾値）以上であれば、当該商品を入力商品画像に対する商品の認識結果（画像の探索結果）とする。また、最大の類似度が所定値（同定用の閾値）よりも小さければ、ｉ番目の商品画像に対して該当する商品（画像）が無いという処理結果とする。
【００５３】
また、プロセッサ２０１は、上記ＡＣＴ１４−３０の処理を入力画像から抽出した全ての商品画像に対して実施する。この判断のため、プロセッサ２０１は、変数ｉが入力画像から抽出した商品画像の総数（商品領域数）に達したかを判断する（ＡＣＴ２９）。変数ｉが入力画像から抽出した商品画像の総数に達していない場合、つまり、商品認識処理（画像探索処理）を実施していない入力商品画像がある場合（ＡＣＴ３１、ＮＯ）、プロセッサ２０１は、ＡＣＴ１４へ戻り、次の商品画像（ｉ＝ｉ＋１番目の入力商品画像）に対する商品認識処理を実行する。また、変数ｉが商品領域数に達した場合、つまり、全ての商品画像に対する商品認識処理（画像探索処理）が終了した場合（ＡＣＴ３１、ＹＥＳ）、プロセッサ２０１は、カメラ１０３から入力した入力画像に対する商品認識処理（画像探索処理）を終了する。
【００５４】
以上のように、本実施形態に係る商品認識システムでは、入力画像から抽出する商品画像を小領域に分割し、分割領域ごとに所定数の特徴点を抽出する。これにより、商品画像において特徴点が特定の領域に集中することを防ぐことができる。特徴点が商品画像の全体に分散されることにより、商品名やロゴなどが類似または同一の商品の間でも判別性能が高くなる。また、商品の一部が隠れていても、特徴点の大半が隠れてしまい、判別性能が極端に低下するというリスクも下げることができる。これらの結果、本実施形態に係る商品認識システム（画像探索装置、商品認識装置）は、商品（画像）の判別の精度が向上し、高精度な商品認識（画像検索）処理を提供できる。
【００５５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５６】
１０…商品認識システム、１０３…カメラ、１０５…認識装置（画像探索装置、商品認識装置）、２０１…プロセッサ、２０２…メモリ、２０３…不揮発性メモリ、２０５…入出力インターフェース（画像取得部）、２０９…辞書。
【図１】
2019021100.tif 000003
【図２】
2019021100.tif 000004
【図３】
2019021100.tif 000005
【図４】
2019021100.tif 000006
【図５】
2019021100.tif 000007
【図６】
2019021100.tif 000008
【図７】
2019021100.tif 000009
【図８】
2019021100.tif 000010