(57)【要約】【課題】対象物の認識を高速に行える画像認識装置を提供する。【解決手段】実施形態によれば、画像認識装置は、メモリと、インターフェースと、プロセッサと、を備える。メモリは、対象物に付与されるコード情報から得られる識別情報と、オブジェクト認識に用いる対象物の画像情報とを認識対象とする対象物ごとに記憶する。プロセッサは、画像から対象物がある対象物領域を抽出し、前記対象物領域においてコード情報を抽出し、抽出したコード情報から前記識別情報を認識し、コード情報に基づく対象物の認識に失敗した場合、前記対象物領域の画像と前記メモリに記憶された各対象物の画像情報とにより対象物を認識するように制御する。【選択図】      図１
2017123163.tif 000002
【特許請求の範囲】
【請求項１】
対象物を認識する画像認識装置であって、
対象物に付与されるコード情報から得られる識別情報と、オブジェクト認識に用いる対象物の画像情報とを認識対象とする対象物ごとに記憶するメモリと、
撮影された画像を取得するインターフェースと、
前記画像から対象物がある対象物領域を抽出し、
前記対象物領域において対象物に付与されているコード情報を抽出し、抽出したコード情報から前記識別情報を認識し、
コード情報に基づく対象物の認識に失敗した場合、前記対象物領域の画像と前記メモリに記憶された各対象物の画像情報とにより対象物を認識するように制御するプロセッサと、
を備える画像認識装置。
【請求項２】
対象物を認識する画像認識装置であって、
オブジェクト認識に用いる対象物の画像情報を認識対象とする対象物ごとに記憶するメモリと、
撮影された画像を取得するインターフェースと、
前記撮影された画像から少なくても１つの対象物が存在する対象物領域を抽出し、
前記対象物領域において個々の対象物を認識するための認識処理を複数回実行するように制御するプロセッサと、
を備える画像認識装置。
【請求項３】
前記メモリは、オブジェクト認識に用いる対象物の画像情報として対象物の特徴点及び局所特徴量を記憶し、
前記プロセッサは、
前記対象物領域から特徴点及び局所特徴量を抽出し、前記対象物領域から抽出した特徴点及び局所特徴量と前記メモリが記憶する各対象物の特徴点及び局所特徴量とに基づいて少なくとも１つの対象物を認識し、
少なくても１つの対象物が認識できた場合、次回以降の認識処理では認識できた対象物の特徴点及び局所特徴量以外の特徴点及び局所特徴量に基づいて対象物を認識する認識処理を実行する、
前記請求項２に記載の画像認識装置。
【請求項４】
前記メモリは、対象物の面積情報を認識対象とする対象物ごとに記憶し、
前記プロセッサは、認識できた対象物の面積を前記メモリから取得し、前記対象物領域において認識できた全ての対象物の総面積と前記対象物領域全体の面積とが一致した場合に、前記対象物領域に対する認識処理を終了する、
前記請求項２又は３に記載の画像認識装置。
【請求項５】
前記プロセッサは、前記対象物領域全体の面積が前記対象物領域において認識できた全ての対象物の総面積よりも小さい場合、前記対象物領域に対する認識処理に失敗したと判定する、
前記請求項４に記載の画像認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像認識装置に関する。
【背景技術】
【０００２】
画像認識装置には、カメラが撮影する画像から対象物を認識する機能を有するものがある。対象物を認識する機能としては、バーコード認識、およびオブジェクト認識などがある。オブジェクト認識は、カメラが撮影する画像から取得する画像情報と予め保持する対象物自体の画像情報と比較することにより取得した画像情報に含まれる対象物を認識するものである。一般に、オブジェクト認識は、運用上の利点が多い反面、処理時間がかかる。このため、画像認識装置は、オブジェクト認識の負担を軽減することが要望される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１６７７４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の課題を解決するために、対象物の認識を高速に行える画像認識装置を提供する。
【課題を解決するための手段】
【０００５】
実施形態によれば、画像認識装置は、メモリと、インターフェースと、プロセッサと、を備える。メモリは、対象物に付与されるコード情報から得られる識別情報と、オブジェクト認識に用いる対象物の画像情報とを認識対象とする対象物ごとに記憶する。インターフェースは、撮影された画像を取得する。プロセッサは、前記画像から対象物がある対象物領域を抽出し、前記対象物領域において対象物に付与されているコード情報を抽出し、抽出したコード情報から前記識別情報を認識し、コード情報に基づく対象物の認識に失敗した場合、前記対象物領域の画像と前記メモリに記憶された各対象物の画像情報とにより対象物を認識するように制御する。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係る画像認識装置の構成例を概略的に示す図である。
【図２】図２は、第１実施形態に係る画像認識装置の構成例を示すブロック図である。
【図３】図３は、第１実施形態に係る画像認識装置の動作例を示すフローチャートである。
【図４】図４は、第２実施形態に係る対象物領域の例を示す図である。
【図５】図５は、第２実施形態に係る画像認識装置の動作例を説明するための図である。
【図６】図６は、第２実施形態に係る画像認識装置の動作例を示すフローチャートである。
【図７】図７は、第３実施形態に係る画像認識装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら実施形態について説明する。
（第１実施形態）
まず、第１実施形態に係る画像認識装置について説明する。  
図１は、第１実施形態に係る画像認識装置１０の構成例を概略的に示す。
【０００８】
画像認識装置１０は、所定の位置にセットされた対象物を認識する。例えば、画像認識装置１０は、店舗などに設置され、利用客又は店員がセットした商品を認識するものである。また、画像認識装置１０は、認識した商品についての決済処理を実行するものであってもよい。認識対象とする対象物は、特定の物に限定されるものではない。例えば、対象物は、物品、商品、又は、製品などである。
【０００９】
画像認識装置１０は、対象物を認識する機能として、少なくともコード認識の機能とオブジェクト認識の機能とを有する。コード認識は、対象物に付与されているコード情報に基づいて対象物を認識する処理である。コード認識による認識対象の対象物は、自身を特定するためのコード情報が付与される。例えば、対象物に付与されるコード情報は、バーコード、又は、二次元コードなどである。また、オブジェクト認識は、対象物そのものの画像により対象物を認識する。
【００１０】
図１が示すように、画像認識装置１０は、筐体１、撮影部２、及び、処理部３などを備える。
【００１１】
筐体１は、画像認識装置１０の外形を形成するフレームである。筐体１は、対象物を配置することができるように形成される。図１が示す例においては、筐体１は、コの字型であり、筐体１に対象物が置かれる載置台を有する。筐体１において対象物が置かれる載置台は、対象物が配置できる領域を有する。例えば、画像認識装置１０がカゴの中にある対象物を認識する形態であれば、載置台は、カゴが載置できるように構成される。また、載置台に対象物を直接載置する形態であれば、載置台の対象物を載置する領域（載置面）は、対象物を識別し易い色で構成される。例えば、載置台の載置面は、黒色である。
【００１２】
撮影部２は、対象物が載置される載置面を含む撮影領域の画像を撮影する。図１が示す例においては、撮影部２は、対象物が置かれる載置面を上方から撮影するように設置される。撮影部２は、載置面上に置ければ対象物を撮影できるものであれば良く、設置位置及び向きが特定の構成に限定されるものではない。例えば、撮影部２は、斜め上方から載置面を撮影するように設置されてもよい。  
なお、画像認識装置１０は、複数個の撮影部２を備えてもよい。この場合、複数の撮影部２は、それぞれ異なる位置及び角度で対象物を撮影するように設置されてもよい。
【００１３】
撮影部２は、ＣＣＤなどの撮像素子を有するカメラ又はスキャナなどの画像撮影装置である。また、撮影部２は、対象物を認識しうる画像情報を取得するものであれば良く、特定の構成に限定されるものではない。例えば、撮影部２は、不可視光を撮影するものであってもよい。例えば、撮影部２は、赤外線カメラであってもよい。
【００１４】
処理部３は、撮影部２が撮影した画像から対象物を認識する。例えば、処理部３は、プロセッサがプログラムを実行することにより処理を実行できる電子計算機などである。処理部３は、認識した対象物を示す情報（対象物の認識結果）を外部装置へ送信しても良い。処理部３は、対象物の認識結果を外部装置へ送信することにより外部の表示装置に対象物の認識結果を表示させてもよい。処理部３については、後に詳述する。  
なお、画像認識装置１０は、載置面上に置かれた対象物を照らすための照明などを備えてもよい。  
また、撮影部２及び処理部３は、筐体１と一体的に形成されてもよい。  
また、画像認識装置１０は、必要に応じて、適宜他の構成を備え、又は、上記の構成を欠いてもよい。
【００１５】
ここでは、画像認識装置１０の撮影部２は、載置面上に置かれた対象物としての商品Ａ及び商品Ｂを含む画像を撮影するものとする。
【００１６】
次に、画像認識装置１０の構成例について説明する。  
図２は、画像認識装置１０の構成例を示すブロック図である。  
図２に示すように、画像認識装置１０は、撮影部２、及び、処理部３などを備える。処理部３は、プロセッサ（ＣＰＵ）１１、ＲＯＭ１２、ＲＡＭ１３、ＮＶＭ１４、表示部１５、及び、インターフェース１６などを備える。
【００１７】
プロセッサ１１は、集積回路などで構成される演算回路を含む。プロセッサ１１は、画像認識装置１０全体の制御及び各種の処理を実行する。プロセッサ１１は、ＲＯＭ１２又はＮＶＭ１４に記憶されているプログラム及び制御データに基づいて種々の処理を行う。例えば、プロセッサ１１は、ＲＯＭ１２又はＮＶＭ１４に記憶されているプログラムを実行することにより、画像認識装置１０の動作制御あるいは画像認識装置１０の運用形態に応じた種々の処理を行う。
【００１８】
なお、各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、プロセッサ１１は、ハードウエア回路により実行される機能を制御する。
【００１９】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ１２は、制御プログラム及び制御データなどを記憶した状態で画像認識装置１０に組み込まれる。  
ＲＡＭ１３は、揮発性のメモリである。ＲＡＭ１３は、プロセッサ１１の処理中のデータなどを一時的に格納する。ＲＡＭ１３は、プロセッサ１１からの命令に基づき種々のアプリケーションプログラムを格納する。また、ＲＡＭ１３は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【００２０】
ＮＶＭ１４（記憶部）は、ＳＳＤ、ＨＤＤ又はフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性のメモリである。ＮＶＭ１４は、画像認識装置１０の運用用途に応じた制御プログラム、アプリケーション、及び種々のデータを記憶する。例えば、ＮＶＭ１４は、プログラムファイル及びデータファイルなどの各ファイルに制御プログラム及び種々のデータなどが書き込まれる。
【００２１】
また、ＮＶＭ１４は、データベース１４ａを有する。データベース１４ａは、認識対象とする各対象物に対する認識処理用の辞書データを記憶する。例えば、データベース１４ａは、対象物に付与されるコード情報をデコードして得られる識別情報（例えば商品コード）を対象物ごとに記憶する。また、データベース１４ａは、オブジェクト認識用の画像情報を対象物ごとに記憶する。オブジェクト認識用の画像情報は、例えば、対象物の画像、対象物のエッジ（パッケージの模様などのエッジも含む）を示す情報、ある小領域単位での濃度勾配情報、又は、対象物の線の先端や交点などの特徴点とその周囲の情報(以下局所特徴量と記載)などである。また、データベース１４ａは、各対象物の面積情報を記憶する。対象物の面積情報は、特定の面の面積だけでなく、各面の面積を示す情報を記憶する。また、データベース１４ａは、対象物の重量を示す重さ情報などを記憶しても良い。
【００２２】
表示部１５は、プロセッサ１１の制御により種々の情報を表示する表示装置である。表示部１５は、例えば、液晶表示装置である。  
インターフェース１６は、プロセッサ１１が撮影部２と通信するためのインターフェースである。インターフェース１６は、プロセッサ１１からの画像を撮影させる制御信号を撮影部２に送信する。また、インターフェース１６は、撮影部２が撮影した画像を取得する。即ち、プロセッサ１１は、インターフェース１６を通じて、撮影部２が撮影した画像を取得する。
【００２３】
なお、処理部３は、さらに操作部など備えてもよい。また、処理部３は、必要に応じて、適宜他の構成を備え、又は、上記の構成を欠いてもよい。
【００２４】
次に、プロセッサ１１が実現する機能について説明する。  
まず、プロセッサ１１は、対象物を含む画像を取得する機能を有する（画像取得部）。例えば、プロセッサ１１は、インターフェース１６を通じて画像を撮影させる制御信号を撮影部２に送信する。撮影部２は、当該制御信号に従って載置面を撮影する。撮影部２は、インターフェース１６を通じて、撮影した画像をプロセッサ１１へ送信する。プロセッサ１１は、撮影部２から画像を取得する。  
なお、プロセッサ１１は、外部装置から対象物を含む画像を取得してもよい。
【００２５】
また、プロセッサ１１は、撮影部２が撮影した画像から対象物の画像（対象物領域）を抽出する機能を有する（抽出部）。例えば、プロセッサ１１は、載置面の色（例えば、黒色）以外の領域を対象物領域として抽出する。
【００２６】
また、プロセッサ１１は、撮影画像における各部の高さ（例えば、撮影画像における各部と筐体１の天井との距離）に基づいて対象物領域を抽出しても良い。撮影画像における各部の高さを検出する場合、画像認識装置１０は、載置面及び載置面上の対象物の高さを測定する距離センサを備える。プロセッサ１１は、距離センサから撮影画像における各部の高さを示す情報を取得する。撮影画像における各部の高さを示す情報を取得すると、プロセッサ１１は、撮影画像において載置面よりも高い領域を対象物領域として抽出する。また、プロセッサ１１は、異なる高さの面を異なる対象物領域として抽出してもよい。  
なお、プロセッサ１１が対象物領域を抽出する方法は、特定の方法に限定されるものではない。
【００２７】
また、プロセッサ１１は、対象物領域にあるコード情報を検出し、検出したコード情報を認識することにより、コードに対応する対象物を認識する機能（コード認識機能）を有する（コード認識部）。例えば、プロセッサ１１は、対象物領域から、対象物に付与されているコード情報の領域（コード領域）を抽出する。例えば、プロセッサ１１は、対象物領域に対してパターンマッチングなどを用いるラスタスキャンを実行し、コード領域を抽出する。なお、プロセッサ１１がコード領域を特定する方法は、特定の方法に限定されるものではない。
【００２８】
撮影画像からコード領域を抽出した後、プロセッサ１１は、コード領域に含まれるコード情報をデコードする。コード情報をデコードすると、プロセッサ１１は、デコード結果（商品コード）に対応する対象物をデータベース１４ａから検索する。プロセッサ１１は、デコード結果に対応する対象物を対象物領域にある対象物として認識する。
【００２９】
また、プロセッサ１１は、コード認識に失敗した対象物領域からオブジェクト認識で対象物を認識する機能を有する（オブジェクト認識部）。例えば、プロセッサ１１は、コード領域の抽出に失敗した対象物領域、又は、コード領域から抽出したコード情報でのデコードに失敗した対象物領域に対してオブジェクト認識を行う。
【００３０】
すなわち、プロセッサ１１は、撮影画像における対象物領域に対してオブジェクト認識を行う。オブジェクト認識において、プロセッサ１１は、対象物領域の画像情報とデータベース１４ａに登録されている各対象物の画像情報とが一致するかを判定する。プロセッサ１１は、対象物領域の画像情報と一致する画像情報がデータベース１４ａにあれば、対象物領域にある対象物は画像情報が一致した対象物であると認識する。
【００３１】
また、画像情報から得られるエッジによるオブジェクト認識を行う場合、プロセッサ１１は、対象物領域の画像からエッジを抽出する。プロセッサ１１は、対象物領域から抽出したエッジとデータベース１４ａに登録されている各対象物のエッジとが一致するかを判定する。対象物領域から抽出したエッジと一致するエッジがデータベース１４ａにあれば、プロセッサ１１は、対象物領域にある対象物はエッジが一致した対象物であると認識する。
【００３２】
また、画像情報から得られる局所特徴量によるオブジェクト認識を行う場合、プロセッサ１１は、対象物領域の画像から特徴点と局所特徴量とを抽出する。プロセッサ１１は、対象物領域から抽出した特徴点及び局所特徴量とデータベース１４ａに登録されている各対象物の特徴点及び局所特徴量とが一致するかを判定する。対象物領域から抽出した特徴点及び局所特徴量と一致する特徴点及び局所特徴量がデータベース１４ａにあれば、プロセッサ１１は、対象物領域にある対象物は特徴点及び局所特徴量が一致した対象物であると認識する。  
なお、プロセッサ１１がオブジェクト認識を行う方法は、特定の方法に限定されるものではない。また、プロセッサ１１は、対象物領域をラスタスキャンし、上記のいずれかの判定を行ってもよい。
【００３３】
次に、第１の実施形態に係る画像認識装置１０の動作例について説明する。  
図３は、第１の実施形態に係る画像認識装置１０の動作例を説明するためのフローチャートである。  
まず、画像認識装置１０のプロセッサ１１は、撮影部２を用いて載置面上の画像を撮影する。プロセッサ１１は、撮影部２により撮影した撮影画像を取得する（ＡＣＴ１１）。撮影画像を取得すると、プロセッサ１１は、取得した撮影画像から対象物領域を抽出する（ＡＣＴ１２）。
【００３４】
対象物領域を抽出すると、プロセッサ１１は、抽出した対象物領域においてコード認識を実行する（ＡＣＴ１３）。コード認識に失敗すると（ＡＣＴ１４、ＮＯ）、当該対象物領域においてオブジェクト認識を実行する（ＡＣＴ１５）。  
コード認識に成功した場合（ＡＣＴ１４、ＹＥＳ）、又は、オブジェクト認識に成功した場合（ＡＣＴ１７、ＹＥＳ）、プロセッサ１１は、ＡＣＴ１３又はＡＣＴ１５で認識した対象物を撮影画像の認識結果としてＲＡＭ１３又はＮＶＭ１４に記憶する（ＡＣＴ１７）。
【００３５】
オブジェクト認識に失敗した場合、プロセッサ１１は、当該対象物領域に対する認識を失敗したと判定する（ＡＣＴ１８）。例えば、プロセッサ１１は、当該対象物領域に対する認識に失敗したことを示す情報をＲＡＭ１３又はＮＶＭ１４などに記憶してもよい。
【００３６】
認識した対象物を示す情報を記憶した場合（ＡＣＴ１７）、又は、認識に失敗したと判定した場合（ＡＣＴ１８）、プロセッサ１１は、取得した撮影画像に他に対象物領域があるか判定する（ＡＣＴ１９）。他に対象物領域があると判定すると（ＡＣＴ１９、ＹＥＳ）、プロセッサ１１は、ＡＣＴ１３に戻り、他の対象物領域において同様の動作を行う。
【００３７】
他に対象物領域がないと判定すると（ＡＣＴ１９、ＮＯ）、プロセッサ１１は、動作を終了する。
【００３８】
なお、プロセッサ１１は、認識結果を表示部１５などに表示してもよい。また、プロセッサ１１は、認識に失敗した対象物領域を表示部１５などに表示してもよい。また、プロセッサ１１は、認識結果、及び／又は、認識に失敗した対象物領域を外部装置へ送信してもよい。
【００３９】
なお、対象物は、コードを備えないものであってもよい。また、画像情報は、対象物のいくつかの面（上面、側面又は底面など）についての情報を備えてもよい。
【００４０】
以上のように、第１の実施形態に係る画像認識装置は、撮影画像から抽出した対象物領域においてコード認識を実行する。また、画像認識装置は、コード認識に失敗した場合、コード認識に失敗した対象物領域に対してオブジェクト認識を実行する。即ち、第１の実施形態に係る画像認識装置は、先に比較的処理の軽い（処理時間が早い）コードの認識処理を行い、コードの認識処理で認識できなかった対象物領域において比較的処理の重い（処理時間がかかる）オブジェクト認識を行う。
【００４１】
第１の実施形態によれば、画像認識装置は、コード認識とオブジェクト認識とを効率良く実施できる。また、第１の実施形態によれば、画像認識装置は、処理時間がかかるオブジェクト認識を行う領域を少なくし、対象物の認識処理全体として処理時間を高速化できる。
（第２実施形態）
次に、第２実施形態について説明する。  
第２実施形態に係る画像認識装置１０は、対象物領域において複数回、認識処理（コード認識又はオブジェクト認識など）を行う点で、第１実施形態に係る画像認識装置１０と異なる。また、第２の実施形態に係る画像認識装置１０は、第１の実施形態で説明した図１及び図２に示すものと同様なハードウエア構成を有するものとする。
【００４２】
ここで、第２の実施形態に係る画像認識装置１０が実現する機能について説明する。  
第２の実施形態に係る画像認識装置１０のプロセッサ１１は、対象物領域において認識処理を複数回実行する機能を有する（認識部）。例えば、プロセッサ１１は、ある対象物領域において認識処理として、コード認識又はオブジェクト認識を行う。プロセッサ１１は、当該対象物領域から１つの対象物を認識した後、さらに当該対象物領域において認識処理を行う。プロセッサ１１は、当該対象物領域において、さらなる対象物を認識できなくなるまで、認識処理を繰り返す。
【００４３】
例えば、プロセッサ１１は、オブジェクト認識による対象物の認識処理を以下のように実行する。ここでは、オブジェクト認識は、画像情報から得られるエッジ又は局所特徴量を用いた認識処理であるものとする。  
まず、プロセッサ１１は、対象物領域の画像においてエッジ又は局所特徴量を抽出する。プロセッサ１１は、対象物領域から抽出したエッジ又は局所特徴量とデータベース１４ａに登録されている各対象物のエッジ又は局所特徴量とが一致するかを判定する。プロセッサ１１は、エッジ又は局所特徴量が一致する対象物が検出できた場合、対象物領域における１つの対象物が、エッジ又は局所特徴量が一致した対象物であると認識（判断）する。
【００４４】
１つの対象物が認識できた後、プロセッサ１１は、上述の処理で一致すると判断したエッジ又は局所特徴量を対象物領域のエッジ又は局所特徴量から削除する。即ち、プロセッサ１１は、次回以降の認識処理では認識が成功した対象物に関するエッジ又は局所特徴量以外のエッジ又は局所特徴量に基づいてオブジェクト認識を行う。
【００４５】
プロセッサ１１は、対象物領域の残りのエッジ又は局所特徴量と、データベース１４ａにおける各対象物のエッジ又は局所特徴量とが一致するかを判定する。プロセッサ１１は、エッジ又は局所特徴量が一致する対象物が検出できた場合、対象物領域における１つの対象物が、エッジ又は局所特徴量が一致した対象物であると認識（判断）する。
【００４６】
プロセッサ１１は、一致するエッジ又は局所特徴量がなくなるまで、上記の動作を繰り返す。以上の処理により、画像認識装置１０は、対象物領域における全ての対象物が認識できる。
【００４７】
次に、プロセッサ１１のオブジェクト認識の具体例について説明する。  
図４は、撮影画像から抽出された対象物領域２０の例である。図４に示す例では、対象物領域２０において商品Ａと商品Ｂとが存在する。
【００４８】
図５は、プロセッサ１１のオブジェクト認識による処理例を説明するための図である。  
ここで、プロセッサ１１は、対象物領域２０において図５に示すような特徴点(局所特徴)を抽出したものとする。図５に示す例では、対象物領域２０内の円が特徴点を中心とし局所特徴量生成のために参照した範囲(以下図５に関わる説明では“特徴点”と記載)を示すものとする。プロセッサ１１は、対象物領域２０の特徴点とデータベース１４ａに登録されている対象物の特徴点とを比較する。ここでは、プロセッサ１１は、対象物領域２０において、データベース１４ａにおける商品Ａの特徴点と一致する特徴点を対象物領域２０から発見したものとする。この場合、プロセッサ１１は、対象物領域２０における１つの対象物として商品Ａを認識する。
【００４９】
商品Ａが認識できた後、プロセッサ１１は、対象物領域２０から抽出した特徴点のうち商品Ａの特徴点と一致した特徴点（即ち、商品Ａの特徴点）及び局所特徴量を削除する。図５に示す例では、削除された特徴点は、破線の円で示すものとする。対象物領域２０から抽出した特徴点から商品Ａの特徴点を削除した後、プロセッサ１１は、さらに、２回目のオブジェクト認識を実行する。図５が示すように、２回目のオブジェクト認識では、対象物領域２０から抽出した特徴点のうち商品Ａの特徴点及び局所特徴量が削除された状態で実施される。
【００５０】
プロセッサ１１は、２回目のオブジェクト認識において、残りの特徴点とデータベース１４ａに登録されている各対象物の特徴点とを比較する。ここでは、プロセッサ１１は、対象物領域２０において、データベース１４ａに登録されている商品Ｂの特徴点と一致する特徴点を発見したものとする。この場合、プロセッサ１１は、対象物領域２０におけるもう１つの対象物として商品Ｂを認識する。
【００５１】
商品Ｂが認識できた後、プロセッサ１１は、対象物領域２０から抽出した特徴点のうち商品Ｂの特徴点と一致した特徴点（即ち、商品Ｂの特徴点）及び局所特徴量を削除する。対象物領域２０から抽出した特徴点から商品Ｂの特徴点及び局所特徴量を削除した後、プロセッサ１１は、さらに、３回目のオブジェクト認識を実行する。図５が示すように、３回目のオブジェクト認識では、商品Ａの特徴点と商品Ｂの特徴点及び局所特徴量が削除された状態で実施される。
【００５２】
プロセッサ１１は、３度目のオブジェクト認識において、残りの特徴点とデータベース１４ａに登録されている各対象物の特徴点とを比較する。ここでは、プロセッサ１１は、残りの特徴点と一致する特徴点が発見されないものとする。一致する特徴点がないと判断した場合、プロセッサ１１は、当該対象物領域２０に対するオブジェクト認識の処理を終了する。
【００５３】
次に、第２の実施形態に係る画像認識装置１０の動作例について説明する。  
図６は、第２の実施形態に係る画像認識装置１０の動作例を説明するためのフローチャートである。  
まず、プロセッサ１１は、撮影部２を用いて載置面上の画像を撮影する。プロセッサ１１は、撮影部２から撮影画像を取得する（ＡＣＴ２１）。撮影画像を取得すると、プロセッサ１１は、撮影画像から対象物領域を抽出する（ＡＣＴ２２）。対象物領域を抽出すると、プロセッサ１１は、対象物領域から特徴点及び局所特徴量を抽出する（ＡＣＴ２３）。
【００５４】
対象物領域から特徴点及び局所特徴量を抽出すると、プロセッサ１１は、対象物領域においてオブジェクト認識を行う（ＡＣＴ２４）。認識に成功すると（ＡＣＴ２５、ＹＥＳ）、プロセッサ１１は、認識した対象物を撮影画像の認識結果としてＲＡＭ１３又はＮＶＭ１４に格納する（ＡＣＴ２６）。
【００５５】
認識結果を格納すると、プロセッサ１１は、対象物領域においてＡＣＴ２４で認識された対象物の特徴点及び局所特徴量を削除する（ＡＣＴ２７）。特徴点及び局所特徴量を削除すると、プロセッサ１１は、ＡＣＴ２４に戻る。プロセッサ１１は、残りの特徴点及び局所特徴量を用いてオブジェクト認識を行う。
【００５６】
認識に失敗すると（ＡＣＴ２５、ＮＯ）、プロセッサ１１は、他に対象物領域があるか判定する（ＡＣＴ２８）。他に対象物領域があると判定すると（ＡＣＴ２８、ＹＥＳ）、プロセッサ１１は、ＡＣＴ２３に戻り、他の対象物領域において同様の動作を行う。
【００５７】
他に対象物領域がないと判定すると（ＡＣＴ２８、ＮＯ）、プロセッサ１１は、動作を終了する。
【００５８】
なお、プロセッサ１１は、対象物領域において１つの対象物も認識できなかった場合、当該対象物領域では認識処理に失敗したことを示す情報をＲＡＭ１３又はＮＶＭ１４に格納してもよい。また、プロセッサ１１は、当該対象物領域では認識処理に失敗したことを示す情報を外部装置へ送信してもよい。
【００５９】
また、プロセッサ１１は、オブジェクト認識の代わりにコード認識を用いて対象物を特定してもよい。この場合、プロセッサ１１は、ＡＣＴ２３及びＡＣＴ２７を実行しなくともよい。
【００６０】
以上のように、第２の実施形態に係る画像認識装置は、１つの対象物領域において複数回、対象物の認識処理を行う。第２の実施形態によれば、１つの対象物領域に複数個の対象物が存在する場合であっても、画像認識装置は、１つの対象物領域に存在する全ての対象物を認識することができる。例えば、複数の対象物が対象物領域として切り分け難い状態で載置面上に配置されている場合であっても、画像認識装置は、全ての対象物をそれぞれ認識することができる。
【００６１】
また、第２の実施形態に係る画像認識装置は、認識できた対象物の特徴点及び局所特徴量を削除して次の認識処理を実行する。これにより、商品などの対象領域の切り出し処理の結果、１つの対象領域に複数の商品が存在していても、検出漏れなく認識することができる。
（第３実施形態）
次に、第３実施形態について説明する。  
第３実施形態に係る画像認識装置１０は、対象物領域の面積と認識した対象物の面積とを比較する点で、第２実施形態に係る画像認識装置１０と異なる。また、第３の実施形態に係る画像認識装置１０は、第１の実施形態で説明した図１及び図２に示すものと同様なハードウエア構成を有するものとする。ただし、第３実施形態に係る画像認識装置１０は、データベース１４ａに、各対象物の面積を示す面積情報を記憶するものとする。例えば、面積情報は、ミリメートル又はインチなどで面積を示してもよいし、撮影画像における画素数で面積を示してもよい。また、データベース１４ａは、面積情報として、各対象物について各面（例えば、上面、底面又は側面など）の面積を記憶するものとする。
【００６２】
次に、第３実施形態に係る画像認識装置１０のプロセッサ１１が実現する機能について説明する。  
プロセッサ１１は、対象物領域全体の面積を取得する機能を有する（面積取得部）。例えば、プロセッサ１１は、対象物領域全体の画素数を対象物領域全体の面積として取得する。
【００６３】
また、プロセッサ１１は、対象物領域において認識できた全ての対象物の総面積（認識処理済みの面積）を取得する機能を有する。例えば、プロセッサ１１は、データベース１４ａに登録されている面積情報を参照し、認識できた対象物の面積を取得する。なお、プロセッサ１１は、対象物領域にある対象物の面（対象物の被撮影面）を認識し、対象物の被撮影面の面積をデータベース１４ａから取得してもよい。この場合、データベース１４ａは、各対象物について、各面の面積を示す情報が登録される。
【００６４】
プロセッサ１１は、対象物領域において認識できた対象物が１つである場合、認識できた対象物の面積を認識処理済みの面積として取得する。また、プロセッサ１１は、対象物領域において複数個の対象物が認識できた場合、認識した各対象物の面積を合計した面積を認識処理済みの面積として算出する。
【００６５】
また、プロセッサ１１は、対象物領域全体の面積と認識処理済みの面積とを比較する機能を有する。例えば、プロセッサ１１は、対象物領域全体の面積が認識処理済みの面積よりも大きいことを判定する。プロセッサ１１は、対象物領域全体の面積が認識処理済みの面積よりも大きい場合、対象物領域に未認識の対象物が存在する可能性が高いと判定する。従って、対象物領域全体の面積が認識処理済みの面積よりも大きい場合、プロセッサ１１は、認識処理を再度実行する。
【００６６】
また、プロセッサ１１は、対象物領域全体の面積が認識処理済みの面積よりも小さいことを判定する。プロセッサ１１は、対象物領域全体の面積が認識処理済みの面積よりも小さい場合、対象物領域に対する認識処理結果に誤認識が含まれる可能性が高いと判定する。例えば、対象物領域全体の面積が認識処理済みの面積よりも小さい場合、対象物領域にある対象物と異なる対象物を認識した場合、又は、対象物領域に存在しない対象物を認識した場合が想定される。従って、対象物領域全体の面積が認識処理済みの面積よりも小さい場合、プロセッサ１１は、対象物領域の認識処理に失敗したと判定する。
【００６７】
また、プロセッサ１１は、対象物領域全体の面積と認識処理済みの面積とが一致するかを判定する。ここで、プロセッサ１１は、対象物領域の面積と認識面積との差が所定の閾値以下である場合に、対象物領域の面積と認識面積とが一致すると判定してもよい。プロセッサ１１は、対象物領域全体の面積と認識処理済みの面積とが一致する場合、対象物領域において認識処理を完了したと判定する。従って、対象物領域全体の面積と認識処理済みの面積とが一致する場合、プロセッサ１１は、対象物領域に対する認識処理を終了する。
【００６８】
次に、第３の実施形態に係る画像認識装置１０の動作例について説明する。  
図７は、第３の実施形態に係る画像認識装置１０の動作例を説明するためのフローチャートである。  
まず、第３の実施形態に係る画像認識装置１０のプロセッサ１１は、撮影部２を用いて載置面上の画像を撮影する。プロセッサ１１は、撮影部２から撮影画像を取得する（ＡＣＴ３１）。撮影画像を取得すると、プロセッサ１１は、撮影画像から対象物領域を抽出する（ＡＣＴ３２）。対象物領域を抽出すると、プロセッサ１１は、対象物領域から特徴点及び局所特徴量を抽出する（ＡＣＴ３３）。特徴点及び局所特徴量を抽出すると、プロセッサ１１は、対象物領域全体の面積を取得する（ＡＣＴ３４）
対象物領域全体の面積を取得すると、プロセッサ１１は、対象物領域においてオブジェクト認識を実行する（ＡＣＴ３５）。１つの対象物の認識に成功すると（ＡＣＴ３６、ＹＥＳ）、プロセッサ１１は、認識できた対象物の面積（認識処理済み面積）を算出する（ＡＣＴ３７）。認識処理済みの面積を算出すると、プロセッサ１１は、対象物領域全体の面積と認識処理済みの面積とが一致するかを判定する（ＡＣＴ３８）。ここでは、プロセッサ１１は、対象物領域全体の面積と認識処理済みの面積との差分が所定の閾値未満であるかにより一致するかを判定して良い。
【００６９】
対象物領域全体の面積と認識処理済みの面積とが一致しないと判定すると（ＡＣＴ３８、ＮＯ）、プロセッサ１１は、対象物領域全体の面積が認識処理済みの面積よりも大きいか判定する（ＡＣＴ３９）。対象物領域全体の面積が認識処理済みの面積よりも大きいと判定すると（ＡＣＴ３９、ＹＥＳ）、プロセッサ１１は、対象物領域から抽出した特徴点及び局所特徴量から認識できた対象物（認識処理済みの対象物）の特徴点及び局所特徴量を削除する（ＡＣＴ４０）。認識できた対象物の特徴点及び局所特徴量を削除すると、プロセッサ１１は、ＡＣＴ３５に戻る。
【００７０】
対象物領域全体の面積と認識処理済みの面積とが一致したと判定すると（ＡＣＴ３８、ＹＥＳ）、プロセッサ１１は、認識できた各対象物を撮影画像に対する認識結果としてＲＡＭ１３又はＮＶＭ１４に格納する（ＡＣＴ４１）。
【００７１】
認識結果を格納すると、プロセッサ１１は、撮影画像において他に対象物領域があるか判定する（ＡＣＴ４２）。他に対象物領域があると判定すると（ＡＣＴ４２、ＹＥＳ）、プロセッサ１１は、ＡＣＴ３３に戻り、他の対象物領域において同様の動作を行う。他に対象物領域がないと判定すると（ＡＣＴ４２、ＮＯ）、プロセッサ１１は、動作を終了する。
【００７２】
対象物の認識に失敗した場合（ＡＣＴ３６、ＹＥＳ）、又は、対象物領域全体の面積が認識処理済みの面積よりも小さいと判定した場合（ＡＣＴ３９、ＮＯ）、プロセッサ１１は、対象物領域に対する認識処理に失敗したと判定する（ＡＣＴ４３）。例えば、プロセッサ１１は、当該対象物領域に対する認識に失敗したことを示す情報をＲＡＭ１３又はＮＶＭ１４などに格納してもよい。
【００７３】
対象物領域に対する認識処理に失敗したと判定すると、プロセッサ１１は、ＡＣＴ４２へ進む。
【００７４】
なお、プロセッサ１１は、対象物領域全体の面積を取得した後に対象物領域から特徴点及び局所特徴量を抽出してもよい。  
また、プロセッサ１１は、オブジェクト認識の代わりにコード認識を用いて対象物を特定してもよい。この場合、プロセッサ１１は、ＡＣＴ３３及びＡＣＴ４０を実行しなくともよい。
【００７５】
以上のように、第３の実施形態に係る画像認識装置は、対象物領域において認識できた対象物の面積（認識処理済みの面積）と対象物領域全体の面積とを比較することにより、対象物領域にある全ての対象物を認識し終えたかを判定する。第３の実施形態によれば、画像認識装置は、認識処理済みの面積が対象物領域全体の面積と一致する場合に対象物領域に対する認識処理が終了したと判断する。第３の実施形態によれば、画像認識装置は、面積比較によって認識処理の終了を判断できるため、対象物の認識を終えたことを認識するための認識処理を行う必要がなく、認識処理の負担を軽減することができる。
【００７６】
また、第３の実施形態に係る画像認識装置は、対象物領域全体の面積が認識処理済みの面積よりも小さい場合には、誤認識があるのと判定する。第３の実施形態によれば、対象物領域全体の面積と認識処理済みの面積との比較によって、誤認識を検出することができる。
【００７７】
なお、上述の第３の実施形態では、面積比較により認識処理の終了を判定するものとしたが、変形例として、画像認識装置は、重さの比較により認識処理の終了を判定するようにしても良い。重さ比較は、載置面（被撮影面）上の全対象物の重量を計測する重さセンサを設け、データベース１４ａに各対象物の重量を示す重さ情報を登録しておくことにより実現できる。
【００７８】
例えば、画像認識装置は、重さセンサで計測する載置面上の全対象物の重量と撮影画像から得られる全ての対象物領域から認識された全対象物の総重量とを比較する。画像認識装置は、載置面上の全対象物の重量と認識された全対象物の総重量とが一致すれば、撮影画像全体に対する各対象物の認識が正常に終了したものと判断できる。また、画像認識装置は、載置面上の全対象物の重量が認識された全対象物の総重量によりも小さければ、誤認識が含まれる可能性が高いと判断することも可能となる。
【００７９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８０】
１…筐体、２…撮影部、３…処理部、１０…画像認識装置、１１…プロセッサ、１２…ＲＯＭ、１３…ＲＡＭ、１４…ＮＶＭ、１４ａ…データベース、１５…表示部、１６…インターフェース、２０…対象物領域。
【図１】
2017123163.tif 000003
【図２】
2017123163.tif 000004
【図３】
2017123163.tif 000005
【図４】
2017123163.tif 000006
【図５】
2017123163.tif 000007
【図６】
2017123163.tif 000008
【図７】
2017123163.tif 000009