(57)【要約】【課題】撮像部から商品までの距離の変化によって認識率が低下する影響を極力抑制する。【解決手段】特徴量抽出手段は、商品を撮影する撮像部で撮影された画像からその画像に含まれる商品の外観特徴量を抽出する。類似度算出手段は、特徴量抽出手段により抽出された外観特徴量を、認識対象商品毎にその商品の表面情報を表わす特徴量データが保存される認識辞書ファイルの特徴量データと照合して、外観特徴量が特徴量データに対してどの程度類似しているかを示す類似度を認識対象商品毎に算出する。候補出力手段は、類似度算出手段により算出される前記類似度の大きい順に認識対象商品を認識商品候補として出力する。距離測定手段は、撮像部からこの撮像部で撮影された商品までの距離を測定する。可変手段は、距離測定手段により測定される距離に応じて候補出力手段により出力される認識商品候補の数を変更する。【選択図】図７
2014092960.tif 000002
【特許請求の範囲】
【請求項１】
商品を撮影する撮像部で撮影された画像からその画像に含まれる商品の外観特徴量を抽出する特徴量抽出手段と、
この特徴量抽出手段により抽出された外観特徴量を、認識対象商品毎にその商品の表面情報を表わす特徴量データが保存される認識辞書ファイルの前記特徴量データと照合して、前記外観特徴量が前記特徴量データに対してどの程度類似しているかを示す類似度を前記認識対象商品毎に算出する類似度算出手段と、
この類似度算出手段により算出される前記類似度の大きい順に前記認識対象商品を認識商品候補として出力する候補出力手段と、
前記撮像部からこの撮像部で撮影された商品までの距離を測定する距離測定手段と、
この距離測定手段により測定される距離に応じて前記候補出力手段により出力される認識商品候補の数を変更する可変手段と、
を具備したことを特徴とする商品認識装置。
【請求項２】
前記候補出力手段は、認識商品候補の認識対象商品を選択可能に表示出力する手段であり、
前記認識商品候補の中から選択された認識対象商品を前記撮影部で撮影された商品として確定する第１の確定手段を含むことを特徴とする請求項１記載の商品認識装置。
【請求項３】
前記距離測定手段により測定される距離が適正値か否かを判定する距離判定手段、をさらに具備し、
前記可変手段は、前記距離が適正値であるときには適正値でないときと比べて認識商品候補の数を少なくすることを特徴とする請求項１または２記載の商品認識装置。
【請求項４】
前記距離判定手段により前記距離が適正値であると判定され、かつ、前記候補出力手段により認識商品候補として出力される認識対象商品の最大類似度が予め設定された確定値以上であるとき、この最大類似度を有する認識対象商品を前記撮影部で撮影された商品として確定する第２の確定手段、をさらに具備したことを特徴とする請求項３記載の商品認識装置。
【請求項５】
前記距離判定手段により前記距離が適正値でないと判定されると警告を発する警告手段、をさらに具備したことを特徴とする請求項３または４記載の商品認識装置。
【請求項６】
コンピュータに、
商品を撮影する撮像部で撮影された画像からその画像に含まれる商品の外観特徴量を抽出する特徴量抽出機能と、
この特徴量抽出機能により抽出された外観特徴量を、認識対象商品毎にその商品の表面情報を表わす特徴量データが保存される認識辞書ファイルの前記特徴量データと照合して、前記外観特徴量が前記特徴量データに対してどの程度類似しているかを示す類似度を前記認識対象商品毎に算出する類似度算出機能と、
この類似度算出機能により算出される前記類似度の大きい順に前記認識対象商品を認識商品候補として出力する候補出力機能と、
前記撮像部から当該撮像部で撮影された商品までの距離に応じて前記候補出力手段により出力される認識商品候補の数を変更する可変機能と、
を実現させるための商品認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、撮像部で撮像した画像データから商品を認識する商品認識装置及びコンピュータを当該商品認識装置にとして機能させるための商品認識プログラムに関する。
【背景技術】
【０００２】
対象となる物品（オブジェクト）を撮像部で撮像した画像データから当該物品の外観特徴量を抽出し、認識辞書ファイルに登録された基準画像の特徴量データと照合して類似度を算出し、この類似度に応じて当該物品の種別等を認識する技術がある。このような画像中に含まれる物品を認識する技術は、一般物体認識（generic object recognition）と呼ばれる。この一般物体認識の技術については、下記の文献において各種認識技術が解説されている。
【０００３】
柳井  啓司，“一般物体認識の現状と今後”，情報処理学会論文誌，Ｖｏｌ．４８，Ｎｏ．ＳＩＧ１６［平成２２年８月１０日検索］，インターネット＜ URL: http://mm.cs.uec.ac.jp/IPSJ-TCVIM-Yanai.pdf ＞
また、画像をオブジェクト毎に領域分割することによって、一般物体認識を行う技術が、下記の文献において解説されている。  
Jamie Shottonら，“Semantic Texton Forests for Image Categorization and Segmentation”，［平成２２年８月１０日検索］，インターネット＜ URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.145.3036&rep=repl&type=pdf ＞
近年、例えば小売店の会計システム（ＰＯＳシステム）において、顧客が買い上げる商品、特に、野菜、果物等のようにバーコードが付されていない商品の認識装置に、上述した一般物体認識の技術を適用することが提案されている。この場合、オペレータ（店員または客）は撮像部に向けて認識対象の商品を翳すが、翳した際に撮像部から商品までの距離が必ずしも一定になるとは限らない。その一方で、撮像部の画素数は一定であるため、撮像部から商品までの距離によって撮影画像の解像度は異なる。このため、撮像画像から抽出される商品の外観特徴量と基準画像の特徴量データとを比較した際に、撮影画像と基準画像の解像度が異なるために類似度が低くなり、認識率が低下する懸念がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−０９２９７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、撮像部から商品までの距離の変化によって認識率が低下する影響を極力抑制できる商品認識装置を提供しようとするものである。
【課題を解決するための手段】
【０００６】
一実施形態において、商品認識装置は、特徴量抽出手段と、類似度算出手段と、候補出力手段と、距離測定手段と、可変手段とを含む。特徴量抽出手段は、商品を撮影する撮像部で撮影された画像からその画像に含まれる商品の外観特徴量を抽出する。類似度算出手段は、特徴量抽出手段により抽出された外観特徴量を、認識対象商品毎にその商品の表面情報を表わす特徴量データが保存される認識辞書ファイルの特徴量データと照合して、外観特徴量が特徴量データに対してどの程度類似しているかを示す類似度を認識対象商品毎に算出する。候補出力手段は、類似度算出手段により算出される前記類似度の大きい順に認識対象商品を認識商品候補として出力する。距離測定手段は、撮像部からこの撮像部で撮影された商品までの距離を測定する。可変手段は、距離測定手段により測定される距離に応じて候補出力手段により出力される認識商品候補の数を変更する。
【図面の簡単な説明】
【０００７】
【図１】一実施形態である店舗会計システムの外観図。
【図２】同店舗会計システムのスキャナ装置とＰＯＳ端末とのハードウェア構成を示すブロック図。
【図３】認識辞書ファイルに保存される商品別辞書データの構造を示す模式図。
【図４】適正距離ファイルに保存される適正距離データの構造を示す模式図。
【図５】スキャナ装置の読取窓に商品を翳したときの状態と、そのとき撮影されるフレーム画像の一例とを示す模式図。
【図６】スキャナ装置の読取窓に商品を翳したときの状態と、そのとき撮影されるフレーム画像の一例とを示す模式図。
【図７】スキャナ装置が有する商品認識装置としての機能を示すブロック図。
【図８】商品認識プログラムにしたがってスキャナ装置のＣＰＵが実行する情報処理手順の要部を示す流れ図。
【図９】距離警告処理の手順を具体的に示す流れ図。
【図１０】認識処理の手順を具体的に示す流れ図。
【図１１】商品と撮像部との距離が遠いときにタッチパネルに表示される画面の一例を示す図。
【図１２】商品と撮像部との距離が近いときにタッチパネルに表示される画面の一例を示す図。
【図１３】商品と撮像部との距離が適切なときにタッチパネルに表示される画面の一例を示す図。
【発明を実施するための形態】
【０００８】
以下、商品認識装置の実施形態について、図面を用いて説明する。なお、本実施形態は、野菜，果物等を商品として取扱う小売店の店舗会計システムを構築するスキャナ装置１に、商品認識装置としての機能を持たせた場合である。
【０００９】
図１は、店舗会計システムの外観図である。このシステムは、顧客が買い上げる商品を登録する登録部としてのスキャナ装置１と、顧客の代金支払いを処理する決済部としてのＰＯＳ（Point Of Sales）端末２とを含む。スキャナ装置１は、会計カウンタ３の上に取り付けられる。ＰＯＳ端末２は、レジ台４の上にドロワ５を介して設置される。スキャナ装置１とＰＯＳ端末２とは、通信ケーブル３００（図２を参照）によって電気的に接続される。
【００１０】
スキャナ装置１は、キーボード１１、タッチパネル１２及び客用ディスプレイ１３を備える。これらの表示・操作デバイス（キーボード１１、タッチパネル１２、客用ディスプレイ１３）は、スキャナ装置１の本体を構成する薄型矩形形状のハウジング１Ａに取り付けられる。
【００１１】
ハウジング１Ａには、撮像部１４が内蔵される。また、矩形状の読取窓１Ｂが、ハウジング１Ａの正面に形成される。撮像部１４は、エリアイメージセンサであるＣＣＤ（Charge Coupled Device）撮像素子及びその駆動回路と、撮像領域の画像をＣＣＤ撮像素子に結像させるための撮像レンズとを備える。撮像領域とは、読取窓１Ｂから撮像レンズを通してＣＣＤ撮像素子のエリアに結像するフレーム画像の領域を指す。撮像部１４は、撮像レンズを通ってＣＣＤ撮像素子に結像した撮像領域の画像を出力する。なお、撮像部はCMOS(complementary metal oxide semiconductor)イメージセンサであってもよい。
【００１２】
前記読取窓１Ｂの近傍には、後述する距離測定手段７４としての距離センサ１５が設けられる。距離センサ１５は、前記撮像部１４からこの撮像部１４で撮影された商品までの距離計測に供せられる。かような距離センサ１５としては、赤外線ＬＥＤとフォトトランジスタとを組み合わせたもの、あるいは超音波やレーザ光を用いたもの等の周知の距離センサが適用可能である。
【００１３】
ＰＯＳ端末２は、決済に必要なデバイスとしてキーボード２１、オペレータ用ディスプレイ２２、客用ディスプレイ２３及びレシートプリンタ２４を備える。
【００１４】
会計カウンタ３は、その奥側の顧客通路に沿って細長い形状である。レジ台４は、会計カウンタ３に沿って移動する顧客の移動方向に対して下流側の会計カウンタ３の端部手前側に、会計カウンタ３に対して略垂直に置かれる。そして、この会計カウンタ３の手前側とレジ台４の手前側が、会計担当の店員いわゆるキャッシャのスペースとなる。
【００１５】
会計カウンタ３の略中央には、スキャナ装置１のハウジング１Ａが、キーボード１１、タッチパネル１２及び読取窓１Ｂをそれぞれ手前側のキャッシャ側に向けて立設される。スキャナ装置１の客用ディスプレイ１３は、顧客通路側を向いてハウジング１Ａに取り付けられる。
【００１６】
会計カウンタ３のスキャナ装置１を挟んで顧客移動方向上流側の荷受面は、買物客が購入する未登録の商品Ｍが入れられた買物カゴ６を置くためのスペースとなる。他方、下流側の荷受面は、スキャナ装置１により登録された商品Ｍを入れるための買物カゴ７を置くためのスペースとなる。
【００１７】
図２は、スキャナ装置１とＰＯＳ端末２とのハードウェア構成を示すブロック図である。スキャナ装置１は、スキャナ部１０１と操作・出力部１０２とを備える。スキャナ部１０１は、制御部本体としてＣＰＵ（Central Processing Unit）１１１を搭載する。そしてこのＣＰＵ１１１に、アドレスバス，データバス等のバスライン１１２を介して、ＲＯＭ（Read Only Memory）１１３とＲＡＭ（Random Access Memory）１１４とが接続される。ＲＯＭ１１３には、後述する商品認識プログラム等、ＣＰＵ１１１によって実行されるプログラムが記憶される。
【００１８】
この他、バスライン１１２には、入出力回路（不図示）を介して前記撮像部１４と距離センサ１５とが接続される。また、バスライン１１２は、接続インターフェース１１５及び接続インターフェース１１６を介して延長され、このバスライン１１２に前記キーボード１１、タッチパネル１２及び客用ディスプレイ１３が接続される。タッチパネル１２は、パネル型のディスプレイ１２ａと、このディスプレイ１２ａの画面上に重ねて配置されたタッチパネルセンサ１２ｂとを備える。また、音声合成部１６もバスライン１１２に接続される。音声合成部１６は、バスライン１１２を介して入力されるコマンドに応じて音声信号をスピーカ１７に出力する。スピーカ１７は、音声信号を音声に変換して出力する。
【００１９】
前記接続インターフェース１１６と、前記キーボード１１、タッチパネル１２、客用ディスプレイ１３及び音声合成部１６とは、前記操作・出力部１０２を構成する。操作・出力部１０２を構成する各部は、スキャナ部１０１のＣＰＵ１１１のみならず、後述するＰＯＳ端末２のＣＰＵ２０１によってもコントロールされる。
【００２０】
ＰＯＳ端末２も、制御部本体としてＣＰＵ２０１を搭載する。そしてこのＣＰＵ２０１に、バスライン２０２を介して、ＲＯＭ２０３、ＲＡＭ２０４、補助記憶部２０５、通信インターフェース２０６及び接続インターフェース２０７が接続される。また、バスライン２０２には、前記キーボード２１、オペレータ用ディスプレイ２２、客用ディスプレイ２３、プリンタ２４及びドロワ５の各部も、それぞれ入出力回路（不図示）を介して接続される。
【００２１】
通信インターフェース２０６は、ＬＡＮ（Local Area Network）等のネットワークを介して、店舗の中枢を担う店舗サーバ（不図示）と接続される。この接続により、ＰＯＳ端末２は、店舗サーバとデータの送受信が可能となる。
【００２２】
接続インターフェース２０７は、通信ケーブル３００を介して、スキャナ装置１の両接続インターフェース１１５，１１６と接続される。この接続により、ＰＯＳ端末２は、スキャナ装置１のスキャナ部１０１から情報を受信する。また、ＰＯＳ端末２は、スキャナ装置１の操作・出力部１０２を構成するキーボード１１、タッチパネル１２、客用ディスプレイ１３、音声合成部１６との間でデータ信号を送受信する。一方、スキャナ装置１は、この接続により、ＰＯＳ端末２の補助記憶部２０５に保存されているデータファイルにアクセスする。
【００２３】
補助記憶部２０５は、例えばＨＤＤ（Hard Disk Drive）装置またはＳＳＤ（Solid State Drive）装置であって、種々のプログラムの他、認識辞書ファイル３０、適正距離ファイル４０等のデータファイルを保存する。
【００２４】
図３は、認識辞書ファイル３０に保存される商品別辞書データの構造を示す模式図である。図３に示すように、認識辞書ファイル３０には、認識対象である商品毎に、その商品を識別する商品ＩＤ及び商品名と関連付けて、複数の特徴量データが保存される。特徴量データは、対応する商品ＩＤで識別される商品を撮影した基準画像から、その商品の表面情報（外観形状、色合い、模様、凹凸具合等）である外観上の特徴量を抽出し、この外観特徴量をパラメータで表わしたもので、１つの商品に対し、その商品を様々な方向から見たときの特徴量データ０〜ｎがそれぞれ保存される。なお、１つの商品に対する特徴量データの数（ｎ＋１）は、固定ではない。また、特徴量データの数（ｎ＋１）は商品によって異なる。また、商品名は必ずしも商品別辞書データに含まれていなくてもよい。
【００２５】
図４は、適正距離ファイル４０に保存される適正距離データの構造を示す模式図である。図４に示すように、適正距離ファイル４０には、適正距離最小値Ｄｍｉｎと、当該最小値Ｄｍｉｎより大きい適正距離最大値Ｄｍａｘ（Ｄｍｉｎ＜Ｄｍａｘ）とが保存される。撮像部１４で撮影される商品と撮像部１４との距離には適正範囲がある。この適正範囲の最小値が適正距離最小値Ｄｍｉｎであり、最大値が適正距離最大値Ｄｍａｘである。ここで、適正範囲について説明する。
【００２６】
図５及び図６は、スキャナ装置１の読取窓１Ｂに商品（リンゴ）Ｍを翳したときの状態と、そのとき撮影されるフレーム画像Ｇ１，Ｇ２の一例とを示す模式図である。図５は、読取窓１Ｂから商品Ｍまでの距離が近い場合（距離＝ｄ１）を示しており、図６は、読取窓１Ｂから商品Ｍまでの距離が遠い場合（距離＝ｄ２：ｄ２＞ｄ１）を示している。
【００２７】
図５のフレーム画像Ｇ１と図６のフレーム画像Ｇ２とを比較すれば明らかなように、読取窓１Ｂから商品Ｍまでの距離が近いときにはフレーム画像Ｇ１のサイズに対して商品Ｍが大きく映し出され、距離が遠いときにはフレーム画像Ｇ２のサイズに対して商品Ｍが小さく映し出される。その結果、フレーム画像Ｇ１とフレーム画像Ｇ２とを同一サイズのセルで格子状に区分すると、商品Ｍを映し出すセルの数は、読取窓１Ｂから商品Ｍまでの距離が遠いときよりも近いときの方が多い。つまり、読取窓１Ｂから商品Ｍまでの距離が近いときにはフレーム画像Ｇ１に映し出される商品Ｍの解像度が高くなり、距離が遠いときには解像度が低くなる。
【００２８】
一方、前記認識辞書ファイル３０に保存される商品別辞書データの各特徴量データは、撮像手段から略一定の距離Ｄだけ離れた商品を当該撮像手段で撮影したときのフレーム画像を基準画像とし、この基準画像を格子状に細分化する。そして、格子内の画像毎に商品の表面情報（外観形状、色合い、模様、凹凸具合等）である外観上の特徴量を抽出し、この外観特徴量をパラメータ化することで各特徴量データが生成される。したがって、一般物体認識の技術では、撮像部によって撮影された画像の解像度と、基準画像の解像度とが近似していればいるほど、認識率が高くなる傾向がある。
【００２９】
本実施形態では、基準画像を撮影するときの撮像手段と商品との距離Ｄを基準に、規定以上の認識率が得られる＋α１から−α２までの範囲を適正範囲とする。すなわち、適正範囲の最大値Ｄｍａｘは“Ｄ＋α１”となり、最小値Ｄｍｉｎは“Ｄ−α２”となる。
【００３０】
図７は、商品認識装置としての機能を示すブロック図である。本実施形態では、この機能をスキャナ装置１が有する。すなわちスキャナ装置１は、撮像部１４の撮像領域に翳された商品Ｍを認識し、販売商品として確定するまでの機能として、特徴量抽出手段７１、類似度算出手段７２、候補出力手段７３、距離測定手段７４、距離判定手段７５、警告手段７６、可変手段７７、第１の確定手段７８及び第２の確定手段７９を備える。
【００３１】
特徴量抽出手段７１は、撮像部１４で撮影された画像からその画像に含まれる商品Ｍの外観特徴量を抽出する。類似度算出手段７２は、特徴量抽出手段７１により抽出された外観特徴量を認識辞書ファイル３０の特徴量データと照合して、外観特徴量が特徴量データに対してどの程度類似しているかを示す類似度を認識対象である商品毎に算出する。候補出力手段７３は、類似度算出手段７２により算出される類似度の大きい順に認識対象商品を認識商品候補として選択可能にタッチパネル１２に表示出力する。
【００３２】
距離測定手段（距離センサ１５）７４は、撮像部１４からこの撮像部１４で撮影された商品Ｍまでの距離ｄを測定する。距離判定手段７５は、適正距離ファイル４０に保存される適正距離データ（Ｄｍａｘ，Ｄｍｉｎ）を参照して、距離測定手段７４により測定された距離ｄが適正値であるか否かを判定する。具体的には、距離ｄが適正距離最小値Ｄｍｉｎから適正距離最大値Ｄｍａｘの範囲内であれば適正値と判定し、範囲外であれば適正値でないと判定する。
【００３３】
警告手段７６は、距離判定手段７５により距離ｄが適正値でないと判定されたとき、警告を発する。例えば、距離ｄが適正値でないことを警告する画像をタッチパネル１２に表示させる。あるいは、距離ｄが適正値でないことを警告する音声ガイダンスをスピーカ１７から発音させる。
【００３４】
可変手段７７は、距離測定手段７４により測定された距離ｄに応じて候補出力手段７３により出力される認識商品候補の数を変更する。具体的には、距離判定手段７５により距離ｄが適正値であると判定されたときには、適正値でないと判定されたときと比べて、認識商品候補の数を少なくする。例えば、適正値でないと判定されたときの候補数を“６”とし、適正値であると判定されたときの候補数を“３”とする。
【００３５】
第１の確定手段７８は、認識商品候補としてタッチパネル１２に表示出力された商品の中から選択された商品を、撮像部１４で撮影した商品、つまりは販売商品として確定する。第２の確定手段７９は、距離判定手段７５により距離ｄが適正値であると判定され、かつ、候補出力手段７３により認識商品候補として出力される商品の最大類似度が予め設定された確定閾値以上であると、この最大類似度を有する商品を撮像部１４で撮影した商品、つまりは販売商品として確定する。
【００３６】
各手段７１〜７９は、スキャナ装置１のＣＰＵ１１１が、商品認識プログラムに従って動作することで実現される。商品認識プログラムが起動すると、スキャナ装置１のＣＰＵ１１１は、図８の流れ図に示す手順で各部を制御する。先ず、ＣＰＵ１１１は、後述する初回フラグＦ０と適正フラグＦ１とを“０”にリセットする（ＳＴ１）。初回フラグＦ０及び適正フラグＦ１は、ＲＡＭ１１４に格納されている。またＣＰＵ１１は、撮像部１４に対して撮像オン信号を出力する（ＳＴ２）。この撮像オン信号により、撮像部１４が撮像領域の撮像を開始する。撮像部１４で撮像された撮像領域のフレーム画像は、ＲＡＭ１１４に順次保存される。因みに、ステップＳＴ１とステップＳＴ２との処理手順は逆でもよい。
【００３７】
撮像オン信号を出力したＣＰＵ１１１は、ＲＡＭ１１４に保存されたフレーム画像を取り込む（ＳＴ３）。そしてＣＰＵ１１１は、このフレーム画像に商品が撮影されているか否かを確認する（ＳＴ４）。具体的には、ＣＰＵ１１１は、フレーム画像を二値化した画像から輪郭線等を抽出する。そしてＣＰＵ１１１は、フレーム画像に映し出されている物体の輪郭抽出を試みる。物体の輪郭が抽出されると、ＣＰＵ１１１は、その輪郭内の画像を商品とみなす。
【００３８】
フレーム画像に商品が撮影されていない場合（ＳＴ４にてＮＯ）、ＣＰＵ１１１は、ＲＡＭ１０４から次のフレーム画像を取り込む（ＳＴ３）。そしてＣＰＵ１１１は、このフレーム画像に商品が撮影されているか否かを確認する（ＳＴ４）。
【００３９】
フレーム画像に商品Ｍが撮影されていた場合（ＳＴ４にてＹＥＳ）、ＣＰＵ１１１は、その輪郭内の画像から商品Ｍの形状、表面の色合い、模様、凹凸状況等の外観特徴量を抽出する（ＳＴ５：特徴量抽出手段７１）。またＣＰＵ１１１は、距離センサ１５を作動させて、撮像部１４から商品Ｍまでの距離ｄを測定する（ＳＴ６：距離測定手段７４）。因みに、ステップＳＴ５とステップＳＴ６との処理手順は逆でもよい。
【００４０】
商品Ｍの外観特徴量と、撮像部１４から商品Ｍまでの距離ｄとを取得すると、ＣＰＵ１１１は、距離警告処理を起動する（ＳＴ７）。またＣＰＵ１１１は、認識処理を起動する（ＳＴ８）。そしてＣＰＵ１１１は、距離警告処理と認識処理との両方が終了するのを待機する（ＳＴ９）。
【００４１】
図９は、距離警告処理の手順を示す流れ図である。先ずＣＰＵ１１１は、初回フラグＦ０が“０”にリセットされているか否かを確認する。１回目の距離警告処理のときには初回フラグＦ０が“０”にリセットされている。この場合（ＳＴ２１にてＹＥＳ）、ＣＰＵ１１１は、接続インターフェース１１５を介して接続されるＰＯＳ端末２の補助記憶部２０５にアクセスして、適正距離ファイル４０を検索する（ＳＴ２２）。そしてＣＰＵ１１１は、適正距離ファイル４０から適正距離最大値Ｍｍａｘと適正距離最小値Ｍｍｉｎを読み込む（ＳＴ２３）。初回フラグＦ０が既に“１”にセットされていた場合には（ＳＴ２１にてＮＯ）、２回目以降の距離警告処理なので、ＣＰＵ１１１は、ステップＳＴ２２，ＳＴ２３の処理を実行しない。
【００４２】
次に、ＣＰＵ１１１は、距離センサ１５によって測定された距離ｄが適正距離最大値Ｍｍａｘを越えるか否かを確認する（ＳＴ２４：距離判定手段７５）。距離ｄが適正距離最大値Ｍｍａｘを越えている場合（ＳＴ２４にてＹＥＳ）、ＣＰＵ１１１は、ディスプレイ１２ａに距離が適正でないことを示すマーク、例えば“ＮＧ”を表示させる。またＣＰＵ１１１は、音声合成部１６を作動させて、距離が遠すぎることを警告するガイダンス、例えば「商品を近づけてください」を音声出力させる（ＳＴ２５：警告手段７６）。またＣＰＵ１１１は、適正フラグＦ１を“０”にリセットする（ＳＴ２８）。
【００４３】
これに対し、距離ｄが適正距離最大値Ｍｍａｘを越えていない場合には（ＳＴ２４にてＮＯ）、ＣＰＵ１１１は、当該距離ｄが適正距離最小値Ｍｍｉｎより短いか否かを確認する（ＳＴ２６：距離判定手段７５）。距離ｄが適正距離最小値Ｍｍｉｎより短い場合（ＳＴ２６にてＹＥＳ）、ＣＰＵ１１１は、ディスプレイ１２ａに距離が適正でないことを示すマーク、例えば“ＮＧ”を表示させる。またＣＰＵ１１１は、音声合成部１６を作動させて、距離が近すぎることを警告するガイダンス、例えば「商品を遠ざけてください」を音声出力させる（ＳＴ２７：警告手段７６）。またＣＰＵ１１１は、適正フラグＦ１を“０”にリセットする（ＳＴ２８）。
【００４４】
因みに、ステップＳＴ２４とステップＳＴ２６との処理手順は逆でもよい。すなわちＣＰＵ１１１は、先に距離ｄが適正距離最小値Ｍｍｉｎより短いか否かを確認し、距離ｄが適正距離最小値Ｍｍｉｎより短い場合にはステップＳＴ２７の処理を実行し、距離ｄが適正距離最小値Ｍｍｉｎ以上の場合には距離ｄが適正距離最大値Ｍｍａｘを越えるか否かを確認し、距離ｄが適正距離最大値Ｍｍａｘを越える場合にはステップＳＴ２５の処理を実行するようにしてもよい。  
また、適正フラグＦ１を“０”にリセットするタイミングは、ステップＳＴ２５またはステップＳＴ２７の処理の後には限定されず、処理の前であってもよい。
【００４５】
一方、距離ｄが適正距離最大値Ｍｍａｘを越えておらず（ＳＴ２４にてＮＯ）、かつ、適正距離最小値Ｍｍｉｎより長い場合（ＳＴ２６にてＮＯ）、距離ｄは適正である。この場合、ＣＰＵ１１１は、ディスプレイ１２ａに距離が適正であることを示すマーク、例えば“ＯＫ”を表示させる（ＳＴ２９）。また、ＣＰＵ１１１は、適正フラグＦ１を“１”にセットする（ＳＴ３０）。因みに、ステップＳＴ２９とステップＳＴ３０との処理手順は逆でもよい。
【００４６】
こうして、ステップＳＴ２８またはステップＳＴ３０にて適正フラグＦ１をセットまたはリセットしたならば、ＣＰＵ１１１は、初回フラグＦ０を“１”にセットする（ＳＴ３１）。以上で、今回の距離警告処理を終了する。なお、初回フラグＦ０をセットするタイミングは、これに限定されない。ステップＳＴ２４の処理の直前であってもよい。
【００４７】
図１０は、認識処理の手順を示す流れ図である。先ずＣＰＵ１１１は、接続インターフェース１１５を介して接続されるＰＯＳ端末２の補助記憶部２０５にアクセスして、認識辞書ファイル３０を検索する（ＳＴ４１）。そしてＣＰＵ１１１は、認識辞書ファイル３０から１商品のデータレコード（商品ＩＤ、商品名、特徴量データ０〜ｎ）を読み込む（ＳＴ４２）。
【００４８】
データレコードを読み込めたならば、ＣＰＵ１１１は、当該レコードの特徴量データ０〜ｎ毎に、ステップＳＴ５の処理で抽出された商品の外観特徴量が当該特徴量データ０〜ｎに対してどの程度類似しているかを示す類似度を算出する。そしてＣＰＵ１１１は、各特徴量データ０〜ｎ毎に算出された類似度の最大値を、当該レコードの商品ＩＤで特定される商品と検出された商品Ｍとの類似度として決定する（ＳＴ４３：類似度算出手段７２）。なお、決定される類似度は、各特徴量データ０〜ｎ毎に算出された類似度の最大値でなく、各特徴量データ０〜ｎ毎に算出された類似度の合計値あるいは平均値等であってもよい。
【００４９】
ＣＰＵ１１１は、ステップＳＴ４３の処理で決定された類似度が予め設定された候補閾値Ｌｍｉｎを超えるか否かを確認する（ＳＴ４４）。類似度が候補閾値Ｌｍｉｎを超えていない場合（ＳＴ４４にてＮＯ）、ＣＰＵ１１１は、ステップＳＴ４６の処理に進む。
【００５０】
類似度が候補閾値Ｌｍｉｎを超えている場合には（ＳＴ４４にてＹＥＳ）、ＣＰＵ１１１は、当該レコードの商品ＩＤと類似度とを登録商品候補（認識商品候補）のデータとして、ＲＡＭ１１４に格納する（ＳＴ４５）。しかる後、ＣＰＵ１１１は、ステップＳＴ４６の処理に進む。
【００５１】
ステップＳＴ４６では、ＣＰＵ１１１は、認識辞書ファイル３０に未処理のデータレコードが存在するか否かを確認する。存在する場合（ＳＴ４６にてＹＥＳ）、ＣＰＵ１１１は、ステップＳＴ４２の処理に戻る。すなわちＣＰＵ１１１は、認識辞書ファイル３０から未処理のデータレコードを読み込み、前記ステップＳＴ４３〜ＳＴ４５の処理を実行する。
【００５２】
認識辞書ファイル３０に未処理のデータレコードが存在しない場合、すなわち認識辞書ファイル３０の検索を終了したならば（ＳＴ４６にてＮＯ）、ＣＰＵ１１１は、登録商品候補のデータがＲＡＭ１１４に格納されているか否かを確認する（ＳＴ４７）。登録商品候補のデータが格納されていない場合（ＳＴ４７にてＮＯ）、ＣＰＵ１１１は、ステップＳＴ５３の処理に進む。
【００５３】
登録商品候補のデータが格納されている場合には（ＳＴ４７にてＹＥＳ）、ＣＰＵ１１１は、適正フラグＦ１が“１”にセットされているか否かを確認する（ＳＴ４８）。適正フラグＦ１が“１”にセットされていない場合（ＳＴ４８にてＮＯ）、ＣＰＵ１１１は、ＲＡＭ１１４に格納された登録商品候補のデータの中から類似度が大きい順に最大でＰ（Ｐ＞２）品目の商品を選択する（可変手段７７）。そしてＣＰＵ１１１は、選択した最大Ｐ品目の商品を登録商品候補の商品リストとしてディスプレイ１２ａに表示する（ＳＴ４９：候補出力手段７３）。
【００５４】
適正フラグＦ１が“１”にセットされていた場合には（ＳＴ４８にてＹＥＳ）、ＣＰＵ１１１は、ＲＡＭ１１４に格納された登録商品候補のデータの最大類似度が予め設定された確定閾値Ｌｍａｘ（Ｌｍａｘ＞Ｌｍｉｎ）を超えるか否かを確認する（ＳＴ５０）。最大類似度が確定閾値Ｌｍａｘを超えない場合（ＳＴ５０にてＹＥＳ）、ＣＰＵ１１１は、ＲＡＭ１１４に格納された登録商品候補のデータの中から類似度が大きい順に最大でＱ（Ｑ＞１かつＱ＜Ｐ）品目の商品を選択する（可変手段７７）。そしてＣＰＵ１１１は、選択した最大Ｑ品目の商品を登録商品候補の商品リストとしてディスプレイ１２ａに表示する（ＳＴ５１：候補出力手段７３）。
【００５５】
ステップＳＴ４９またはＳＴ５１にて登録商品候補の商品リストをディスプレイ１２ａに表示させたならば、ＣＰＵ１１１は、当該商品リストの中からいずれか商品が選択されたか否かを確認する（ＳＴ５２）。例えばキーボード１１の再検索キーが入力されて選択されないことが宣言された場合（ＳＴ５２にてＮＯ）、ＣＰＵ１１１は、ステップＳＴ５３の処理に進む。
【００５６】
ステップＳＴ５３では、ＣＰＵ１１１は、商品確定フラグＦ２を“０”とする。以上で、ＣＰＵ１１１は、今回の認識処理を終了する。
【００５７】
一方、タッチパネル１２またはキーボード１１の操作入力により、登録商品候補の商品リストの中からいずれか１商品が選択された場合には（ＳＴ５２にてＹＥＳ）、ＣＰＵ１１１は、この選択された商品の商品ＩＤをＲＡＭ１１４から取得する（ＳＴ５４）。そしてＣＰＵ１１１は、この取得した商品ＩＤを、販売商品の商品ＩＤとして確定し、通信ケーブル３３０を介してＰＯＳ端末２に送信する（ＳＴ５５：第１の確定手段７８）。またＣＰＵ１１１は、商品確定フラグＦ２を“１”にセットする（ＳＴ５６）。以上で、ＣＰＵ１１１は、今回の認識処理を終了する。
【００５８】
また、ステップＳＴ５０にて登録商品候補のデータの最大類似度が確定閾値Ｌｍａｘを超える場合には（ＳＴ５０にてＹＥＳ）、ＣＰＵ１１１は、この最大類似度を有する商品の商品ＩＤをＲＡＭ１１４から取得する。そしてＣＰＵ１１１は、この取得した商品ＩＤを、販売商品の商品ＩＤとして確定し、通信ケーブル３３０を介してＰＯＳ端末２に送信する（ＳＴ５５：第２の確定手段７９）。また、ＣＰＵ１１１は、商品確定フラグＦ２を“１”にセットする（ＳＴ５６）。因みに、ステップＳＴ５４とステップＳＴ５５との処理手順は逆でもよい。以上で、ＣＰＵ１１１は、今回の認識処理を終了する。
【００５９】
距離警告処理と認識処理との両方が終了したならば（ＳＴ９にてＹＥＳ）、ＣＰＵ１１１は、商品確定フラグＦ２が“１”にセットされたか否かを確認する（ＳＴ１０）。商品確定フラグＦ２が“１”にセットされていない場合（ＳＴ１０にてＮＯ）、ＣＰＵ１１１は、ステップＳＴ３に戻る。すなわちＣＰＵ１１１は、ＲＡＭ１１４に保存されている別のフレーム画像を取り込む（ＳＴ３）。そしてＣＰＵ１１１は、前記ステップＳＴ４以降の処理を再度実行する。
【００６０】
商品確定フラグＦ２が“１”にセットされていた場合には（ＳＴ１０にてＹＥＳ）、ＣＰＵ１１１は、撮像部１４に対して撮像オフ信号を出力する（ＳＴ１１）。この撮像オフ信号により、撮像部１４は撮像を中止する。以上で、商品認識プログラムは終了する。
【００６１】
図１１は、読取窓１Ｂに翳された商品Ｍと撮像部１４との距離ｄが、適正距離ファイル４０に設定されている適正距離最大値Ｄｍａｘよりも遠いときに、タッチパネルに表示される画面１２０の一例である。画面１２０は、画像表示領域１２１と商品候補領域１２２とに区分される。そして画像表示領域１２１には、ステップＳＴ３の処理で取り込まれたフレーム画像が表示される。また商品候補領域１２２には、ステップＳＴ４７の処理により、Ｐ品目（図では６品目）の商品が登録商品候補として選択可能に表示される。さらに、画像表示領域１２１には、ステップＳＴ２５の処理により距離が適正でないことを示すマーク“ＮＧ”が表示される。
【００６２】
図１２は、読取窓１Ｂに翳された商品Ｍと撮像部１４との距離ｄが、適正距離ファイル４０に設定されている適正距離最小値Ｄｍｉｎよりも近いときに、タッチパネルに表示される画面１２０の一例である。画面１２０は、画像表示領域１２１と商品候補領域１２２とに区分されている。そして画像表示領域１２１には、ステップＳＴ３の処理で取り込まれたフレーム画像が表示される。また商品候補領域１２２には、ステップＳＴ４７の処理により、Ｐ品目（図では６品目）の商品が登録商品候補として選択可能に表示される。さらに、画像表示領域１２１には、ステップＳＴ２５の処理により距離が適正でないことを示すマーク“ＮＧ”が表示される。
【００６３】
図１３は、読取窓１Ｂに翳された商品Ｍと撮像部１４との距離ｄが、適正距離ファイル４０に設定されている適正距離最小値Ｄｍｉｎと適正距離最大値Ｄｍａｘとの間のとき、すなわち適正範囲にあるときに、タッチパネルに表示される画面１２０の一例である。画面１２０は、画像表示領域１２１と商品候補領域１２２とに区分されている。そして、画像表示領域１２１には、ステップＳＴ３の処理で取り込まれたフレーム画像が表示される。また、商品候補領域１２２には、ステップＳＴ４９の処理により、Ｐより少ないＱ品目（図では３品目）の商品が登録商品候補として選択可能に表示される。さらに、画像表示領域１２１には、ステップＳＴ２９の処理により距離が適正であることを示すマーク“ＯＫ”が表示される。
【００６４】
図１１または図１２に示すように、商品Ｍと撮像部１４との距離ｄが適正範囲外にあるときには、登録商品候補として類似度の高い順に比較的多くの商品（図では６品目）が選択可能に表示される。したがって、登録商品候補の中に該当商品Ｍが含まれる可能性は高い。登録商品候補の中に該当商品Ｍが含まれている場合、ユーザは、その商品にタッチする等して選択する。そうすると、該当商品Ｍが販売商品として確定され、ＰＯＳ端末２に売上登録される。
【００６５】
登録商品候補の中に該当商品Ｍが含まれていない場合、ユーザは、画面１２０に表示されているマーク“ＮＧ”から、商品Ｍと撮像部１４との距離ｄが適切でないことを認識できる。そこでユーザは、商品Ｍを読取窓１Ｂに近づけたり遠ざけたりする。そして商品Ｍと撮像部１４との距離ｄが適正範囲内に入ると、図１３に示すように、登録商品候補として表示される商品の数が少なくなる。ただし、商品Ｍと撮像部１４との距離ｄが適正範囲内であるので、認識率は高い。したがって、登録商品候補の中に該当商品Ｍが含まれる可能性は高い。因みに、商品Ｍと撮像部１４との距離ｄが適正範囲内に入ると、画面１２０にマーク“ＯＫ”が表示されるので、ユーザは距離ｄが適正範囲内であることを容易に知り得る。登録商品候補の中に該当商品Ｍが含まれている場合、ユーザは、その商品にタッチする等して選択する。そうすると、該当商品Ｍが販売商品として確定され、ＰＯＳ端末２に売上登録される。このとき、登録商品候補の数は、距離ｄが適正範囲外であるときと比較して少ないので、該当商品Ｍの検索が容易である。
【００６６】
また、商品Ｍと撮像部１４との距離ｄが適正範囲内に入ると、登録商品候補の最大類似度が確定閾値Ｌｍａｘを超えるか否かが判定される。そして、最大類似度が確定閾値Ｌｍａｘを超える場合には、その最大類似度を有する商品が販売商品として自動的に確定され、ＰＯＳ端末２に売上登録される。前述したように、商品Ｍと撮像部１４との距離が適正範囲内であるので、認識率は高いので、その時点で確定閾値Ｌｍａｘ以上の最大類似度を有する商品は、間違いなく読取窓１Ｂに翳した商品Ｍであるといえる。したがって、ユーザが登録商品候補の中から該当する商品Ｍを選択する手間なく、該当商品を販売商品のとして確定することができる。
【００６７】
なお、本発明は、前記実施形態に限定されるものではない。  
例えば前記実施形態では、距離測定手段７４により測定された距離ｄが適正値であるか否かを距離判定手段７５が判定し、適正値であるときと適正値でないときとで、可変手段７７が登録商品候補として表示する商品の数を可変した。この点に関しては、例えば０ｃｍ〜１０ｃｍ、１０ｃｍ〜２０ｃｍ、２０ｃｍ〜３０ｃｍというように段階的に設定された距離範囲に関連付けて登録商品候補として表示する商品の数を設定したテーブルを用意しておく。そして、距離測定手段７４により測定された距離ｄがどの距離範囲に含まれるかを距離判定手段７５が検索し、可変手段７７が該当する距離範囲に関連付けられた数の商品を登録商品候補とするように構成してもよい。
【００６８】
また、前記実施形態は、スキャナ装置１が商品認識装置としての機能を全て有したが、スキャナ装置１とＰＯＳ端末２とが商品認識装置としての機能を分散して有してもよい。あるいは、スキャナ装置１をＰＯＳ端末２に組み込んで一体的に構成し、この一体構成の装置が商品認識装置としての機能を有してもよい。また、店舗サーバ等の外部装置に発明の機能を実現させる商品認識プログラムを全てまたは一部を記憶させて構成してもよい。また、本実施形態では据え置き式のスキャナにて説明を行ったが、持ち運びが可能な携帯型のスキャナであってもよい。
【００６９】
なお、前記実施形態は、装置内部のプログラム記憶部であるＲＯＭに発明の機能を実現させる商品認識プログラムが予め記録されているものとした。しかしこれに限らず、同様のプログラムがネットワークから装置にダウンロードされてもよい。あるいは、記録媒体に記録された同様のプログラムが、装置にインストールされてもよい。記録媒体は、ＣＤ−ＲＯＭ，メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。また、プログラムのインストールやダウンロードにより得る機能は、装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。また、本実施形態のプログラムを、通信機能を有する携帯電話やいわゆるＰＤＡのような携帯情報端末に組み込んで、その機能を実現させるものであってもよい。
【００７０】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７１】
１…スキャナ装置、２…ＰＯＳ端末、１２…タッチパネル、１４…撮像部、１５…距離センサ、３０…認識辞書ファイル、４０…適正距離ファイル、７１…特徴量抽出手段、７２…類似度算出手段、７３…候補出力手段、７４…距離測定手段、７５…距離判定手段、７６…警告手段、７７…可変手段、７８…第１の確定手段、７９…第２の確定手段。
【図１】
2014092960.tif 000003
【図２】
2014092960.tif 000004
【図３】
2014092960.tif 000005
【図４】
2014092960.tif 000006
【図５】
2014092960.tif 000007
【図６】
2014092960.tif 000008
【図７】
2014092960.tif 000009
【図８】
2014092960.tif 000010
【図９】
2014092960.tif 000011
【図１０】
2014092960.tif 000012
【図１１】
2014092960.tif 000013
【図１２】
2014092960.tif 000014
【図１３】
2014092960.tif 000015