(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
以下、商品認識装置の実施形態について、図面を用いて説明する。なお、本実施形態は、野菜,果物等を商品として取扱う小売店の店舗会計システムを構築するスキャナ装置1に、商品認識装置としての機能を持たせた場合である。
【0009】
図1は、店舗会計システムの外観図である。このシステムは、顧客が買い上げる商品を登録する登録部としてのスキャナ装置1と、顧客の代金支払いを処理する決済部としてのPOS(Point Of Sales)端末2とを含む。スキャナ装置1は、会計カウンタ3の上に取り付けられる。POS端末2は、レジ台4の上にドロワ5を介して設置される。スキャナ装置1とPOS端末2とは、通信ケーブル300(
図2を参照)によって電気的に接続される。
【0010】
スキャナ装置1は、キーボード11、タッチパネル12及び客用ディスプレイ13を備える。これらの表示・操作デバイス(キーボード11、タッチパネル12、客用ディスプレイ13)は、スキャナ装置1の本体を構成する薄型矩形形状のハウジング1Aに取り付けられる。
【0011】
ハウジング1Aには、撮像部14が内蔵される。また、矩形状の読取窓1Bが、ハウジング1Aの正面に形成される。撮像部14は、エリアイメージセンサであるCCD(Charge Coupled Device)撮像素子及びその駆動回路と、撮像領域の画像をCCD撮像素子に結像させるための撮像レンズとを備える。撮像領域とは、読取窓1Bから撮像レンズを通してCCD撮像素子のエリアに結像するフレーム画像の領域を指す。撮像部14は、撮像レンズを通ってCCD撮像素子に結像した撮像領域の画像を出力する。なお、撮像部はCMOS(complementary metal oxide semiconductor)イメージセンサであってもよい。
【0012】
前記読取窓1Bの近傍には、後述する距離測定手段74としての距離センサ15が設けられる。距離センサ15は、前記撮像部14からこの撮像部14で撮影された商品までの距離計測に供せられる。かような距離センサ15としては、赤外線LEDとフォトトランジスタとを組み合わせたもの、あるいは超音波やレーザ光を用いたもの等の周知の距離センサが適用可能である。
【0013】
POS端末2は、決済に必要なデバイスとしてキーボード21、オペレータ用ディスプレイ22、客用ディスプレイ23及びレシートプリンタ24を備える。
【0014】
会計カウンタ3は、その奥側の顧客通路に沿って細長い形状である。レジ台4は、会計カウンタ3に沿って移動する顧客の移動方向に対して下流側の会計カウンタ3の端部手前側に、会計カウンタ3に対して略垂直に置かれる。そして、この会計カウンタ3の手前側とレジ台4の手前側が、会計担当の店員いわゆるキャッシャのスペースとなる。
【0015】
会計カウンタ3の略中央には、スキャナ装置1のハウジング1Aが、キーボード11、タッチパネル12及び読取窓1Bをそれぞれ手前側のキャッシャ側に向けて立設される。スキャナ装置1の客用ディスプレイ13は、顧客通路側を向いてハウジング1Aに取り付けられる。
【0016】
会計カウンタ3のスキャナ装置1を挟んで顧客移動方向上流側の荷受面は、買物客が購入する未登録の商品Mが入れられた買物カゴ6を置くためのスペースとなる。他方、下流側の荷受面は、スキャナ装置1により登録された商品Mを入れるための買物カゴ7を置くためのスペースとなる。
【0017】
図2は、スキャナ装置1とPOS端末2とのハードウェア構成を示すブロック図である。スキャナ装置1は、スキャナ部101と操作・出力部102とを備える。スキャナ部101は、制御部本体としてCPU(Central Processing Unit)111を搭載する。そしてこのCPU111に、アドレスバス,データバス等のバスライン112を介して、ROM(Read Only Memory)113とRAM(Random Access Memory)114とが接続される。ROM113には、後述する商品認識プログラム等、CPU111によって実行されるプログラムが記憶される。
【0018】
この他、バスライン112には、入出力回路(不図示)を介して前記撮像部14と距離センサ15とが接続される。また、バスライン112は、接続インターフェース115及び接続インターフェース116を介して延長され、このバスライン112に前記キーボード11、タッチパネル12及び客用ディスプレイ13が接続される。タッチパネル12は、パネル型のディスプレイ12aと、このディスプレイ12aの画面上に重ねて配置されたタッチパネルセンサ12bとを備える。また、音声合成部16もバスライン112に接続される。音声合成部16は、バスライン112を介して入力されるコマンドに応じて音声信号をスピーカ17に出力する。スピーカ17は、音声信号を音声に変換して出力する。
【0019】
前記接続インターフェース116と、前記キーボード11、タッチパネル12、客用ディスプレイ13及び音声合成部16とは、前記操作・出力部102を構成する。操作・出力部102を構成する各部は、スキャナ部101のCPU111のみならず、後述するPOS端末2のCPU201によってもコントロールされる。
【0020】
POS端末2も、制御部本体としてCPU201を搭載する。そしてこのCPU201に、バスライン202を介して、ROM203、RAM204、補助記憶部205、通信インターフェース206及び接続インターフェース207が接続される。また、バスライン202には、前記キーボード21、オペレータ用ディスプレイ22、客用ディスプレイ23、プリンタ24及びドロワ5の各部も、それぞれ入出力回路(不図示)を介して接続される。
【0021】
通信インターフェース206は、LAN(Local Area Network)等のネットワークを介して、店舗の中枢を担う店舗サーバ(不図示)と接続される。この接続により、POS端末2は、店舗サーバとデータの送受信が可能となる。
【0022】
接続インターフェース207は、通信ケーブル300を介して、スキャナ装置1の両接続インターフェース115,116と接続される。この接続により、POS端末2は、スキャナ装置1のスキャナ部101から情報を受信する。また、POS端末2は、スキャナ装置1の操作・出力部102を構成するキーボード11、タッチパネル12、客用ディスプレイ13、音声合成部16との間でデータ信号を送受信する。一方、スキャナ装置1は、この接続により、POS端末2の補助記憶部205に保存されているデータファイルにアクセスする。
【0023】
補助記憶部205は、例えばHDD(Hard Disk Drive)装置またはSSD(Solid State Drive)装置であって、種々のプログラムの他、認識辞書ファイル30、適正距離ファイル40等のデータファイルを保存する。
【0024】
図3は、認識辞書ファイル30に保存される商品別辞書データの構造を示す模式図である。
図3に示すように、認識辞書ファイル30には、認識対象である商品毎に、その商品を識別する商品ID及び商品名と関連付けて、複数の特徴量データが保存される。特徴量データは、対応する商品IDで識別される商品を撮影した基準画像から、その商品の表面情報(外観形状、色合い、模様、凹凸具合等)である外観上の特徴量を抽出し、この外観特徴量をパラメータで表わしたもので、1つの商品に対し、その商品を様々な方向から見たときの特徴量データ0〜nがそれぞれ保存される。なお、1つの商品に対する特徴量データの数(n+1)は、固定ではない。また、特徴量データの数(n+1)は商品によって異なる。また、商品名は必ずしも商品別辞書データに含まれていなくてもよい。
【0025】
図4は、適正距離ファイル40に保存される適正距離データの構造を示す模式図である。
図4に示すように、適正距離ファイル40には、適正距離最小値Dminと、当該最小値Dminより大きい適正距離最大値Dmax(Dmin<Dmax)とが保存される。撮像部14で撮影される商品と撮像部14との距離には適正範囲がある。この適正範囲の最小値が適正距離最小値Dminであり、最大値が適正距離最大値Dmaxである。ここで、適正範囲について説明する。
【0026】
図5及び
図6は、スキャナ装置1の読取窓1Bに商品(リンゴ)Mを翳したときの状態と、そのとき撮影されるフレーム画像G1,G2の一例とを示す模式図である。
図5は、読取窓1Bから商品Mまでの距離が近い場合(距離=d1)を示しており、
図6は、読取窓1Bから商品Mまでの距離が遠い場合(距離=d2:d2>d1)を示している。
【0027】
図5のフレーム画像G1と
図6のフレーム画像G2とを比較すれば明らかなように、読取窓1Bから商品Mまでの距離が近いときにはフレーム画像G1のサイズに対して商品Mが大きく映し出され、距離が遠いときにはフレーム画像G2のサイズに対して商品Mが小さく映し出される。その結果、フレーム画像G1とフレーム画像G2とを同一サイズのセルで格子状に区分すると、商品Mを映し出すセルの数は、読取窓1Bから商品Mまでの距離が遠いときよりも近いときの方が多い。つまり、読取窓1Bから商品Mまでの距離が近いときにはフレーム画像G1に映し出される商品Mの解像度が高くなり、距離が遠いときには解像度が低くなる。
【0028】
一方、前記認識辞書ファイル30に保存される商品別辞書データの各特徴量データは、撮像手段から略一定の距離Dだけ離れた商品を当該撮像手段で撮影したときのフレーム画像を基準画像とし、この基準画像を格子状に細分化する。そして、格子内の画像毎に商品の表面情報(外観形状、色合い、模様、凹凸具合等)である外観上の特徴量を抽出し、この外観特徴量をパラメータ化することで各特徴量データが生成される。したがって、一般物体認識の技術では、撮像部によって撮影された画像の解像度と、基準画像の解像度とが近似していればいるほど、認識率が高くなる傾向がある。
【0029】
本実施形態では、基準画像を撮影するときの撮像手段と商品との距離Dを基準に、規定以上の認識率が得られる+α1から−α2までの範囲を適正範囲とする。すなわち、適正範囲の最大値Dmaxは“D+α1”となり、最小値Dminは“D−α2”となる。
【0030】
図7は、商品認識装置としての機能を示すブロック図である。本実施形態では、この機能をスキャナ装置1が有する。すなわちスキャナ装置1は、撮像部14の撮像領域に翳された商品Mを認識し、販売商品として確定するまでの機能として、特徴量抽出手段71、類似度算出手段72、候補出力手段73、距離測定手段74、距離判定手段75、警告手段76、可変手段77、第1の確定手段78及び第2の確定手段79を備える。
【0031】
特徴量抽出手段71は、撮像部14で撮影された画像からその画像に含まれる商品Mの外観特徴量を抽出する。類似度算出手段72は、特徴量抽出手段71により抽出された外観特徴量を認識辞書ファイル30の特徴量データと照合して、外観特徴量が特徴量データに対してどの程度類似しているかを示す類似度を認識対象である商品毎に算出する。候補出力手段73は、類似度算出手段72により算出される類似度の大きい順に認識対象商品を認識商品候補として選択可能にタッチパネル12に表示出力する。
【0032】
距離測定手段(距離センサ15)74は、撮像部14からこの撮像部14で撮影された商品Mまでの距離dを測定する。距離判定手段75は、適正距離ファイル40に保存される適正距離データ(Dmax,Dmin)を参照して、距離測定手段74により測定された距離dが適正値であるか否かを判定する。具体的には、距離dが適正距離最小値Dminから適正距離最大値Dmaxの範囲内であれば適正値と判定し、範囲外であれば適正値でないと判定する。
【0033】
警告手段76は、距離判定手段75により距離dが適正値でないと判定されたとき、警告を発する。例えば、距離dが適正値でないことを警告する画像をタッチパネル12に表示させる。あるいは、距離dが適正値でないことを警告する音声ガイダンスをスピーカ17から発音させる。
【0034】
可変手段77は、距離測定手段74により測定された距離dに応じて候補出力手段73により出力される認識商品候補の数を変更する。具体的には、距離判定手段75により距離dが適正値であると判定されたときには、適正値でないと判定されたときと比べて、認識商品候補の数を少なくする。例えば、適正値でないと判定されたときの候補数を“6”とし、適正値であると判定されたときの候補数を“3”とする。
【0035】
第1の確定手段78は、認識商品候補としてタッチパネル12に表示出力された商品の中から選択された商品を、撮像部14で撮影した商品、つまりは販売商品として確定する。第2の確定手段79は、距離判定手段75により距離dが適正値であると判定され、かつ、候補出力手段73により認識商品候補として出力される商品の最大類似度が予め設定された確定閾値以上であると、この最大類似度を有する商品を撮像部14で撮影した商品、つまりは販売商品として確定する。
【0036】
各手段71〜79は、スキャナ装置1のCPU111が、商品認識プログラムに従って動作することで実現される。商品認識プログラムが起動すると、スキャナ装置1のCPU111は、
図8の流れ図に示す手順で各部を制御する。先ず、CPU111は、後述する初回フラグF0と適正フラグF1とを“0”にリセットする(ST1)。初回フラグF0及び適正フラグF1は、RAM114に格納されている。またCPU11は、撮像部14に対して撮像オン信号を出力する(ST2)。この撮像オン信号により、撮像部14が撮像領域の撮像を開始する。撮像部14で撮像された撮像領域のフレーム画像は、RAM114に順次保存される。因みに、ステップST1とステップST2との処理手順は逆でもよい。
【0037】
撮像オン信号を出力したCPU111は、RAM114に保存されたフレーム画像を取り込む(ST3)。そしてCPU111は、このフレーム画像に商品が撮影されているか否かを確認する(ST4)。具体的には、CPU111は、フレーム画像を二値化した画像から輪郭線等を抽出する。そしてCPU111は、フレーム画像に映し出されている物体の輪郭抽出を試みる。物体の輪郭が抽出されると、CPU111は、その輪郭内の画像を商品とみなす。
【0038】
フレーム画像に商品が撮影されていない場合(ST4にてNO)、CPU111は、RAM104から次のフレーム画像を取り込む(ST3)。そしてCPU111は、このフレーム画像に商品が撮影されているか否かを確認する(ST4)。
【0039】
フレーム画像に商品Mが撮影されていた場合(ST4にてYES)、CPU111は、その輪郭内の画像から商品Mの形状、表面の色合い、模様、凹凸状況等の外観特徴量を抽出する(ST5:特徴量抽出手段71)。またCPU111は、距離センサ15を作動させて、撮像部14から商品Mまでの距離dを測定する(ST6:距離測定手段74)。因みに、ステップST5とステップST6との処理手順は逆でもよい。
【0040】
商品Mの外観特徴量と、撮像部14から商品Mまでの距離dとを取得すると、CPU111は、距離警告処理を起動する(ST7)。またCPU111は、認識処理を起動する(ST8)。そしてCPU111は、距離警告処理と認識処理との両方が終了するのを待機する(ST9)。
【0041】
図9は、距離警告処理の手順を示す流れ図である。先ずCPU111は、初回フラグF0が“0”にリセットされているか否かを確認する。1回目の距離警告処理のときには初回フラグF0が“0”にリセットされている。この場合(ST21にてYES)、CPU111は、接続インターフェース115を介して接続されるPOS端末2の補助記憶部205にアクセスして、適正距離ファイル40を検索する(ST22)。そしてCPU111は、適正距離ファイル40から適正距離最大値Mmaxと適正距離最小値Mminを読み込む(ST23)。初回フラグF0が既に“1”にセットされていた場合には(ST21にてNO)、2回目以降の距離警告処理なので、CPU111は、ステップST22,ST23の処理を実行しない。
【0042】
次に、CPU111は、距離センサ15によって測定された距離dが適正距離最大値Mmaxを越えるか否かを確認する(ST24:距離判定手段75)。距離dが適正距離最大値Mmaxを越えている場合(ST24にてYES)、CPU111は、ディスプレイ12aに距離が適正でないことを示すマーク、例えば“NG”を表示させる。またCPU111は、音声合成部16を作動させて、距離が遠すぎることを警告するガイダンス、例えば「商品を近づけてください」を音声出力させる(ST25:警告手段76)。またCPU111は、適正フラグF1を“0”にリセットする(ST28)。
【0043】
これに対し、距離dが適正距離最大値Mmaxを越えていない場合には(ST24にてNO)、CPU111は、当該距離dが適正距離最小値Mminより短いか否かを確認する(ST26:距離判定手段75)。距離dが適正距離最小値Mminより短い場合(ST26にてYES)、CPU111は、ディスプレイ12aに距離が適正でないことを示すマーク、例えば“NG”を表示させる。またCPU111は、音声合成部16を作動させて、距離が近すぎることを警告するガイダンス、例えば「商品を遠ざけてください」を音声出力させる(ST27:警告手段76)。またCPU111は、適正フラグF1を“0”にリセットする(ST28)。
【0044】
因みに、ステップST24とステップST26との処理手順は逆でもよい。すなわちCPU111は、先に距離dが適正距離最小値Mminより短いか否かを確認し、距離dが適正距離最小値Mminより短い場合にはステップST27の処理を実行し、距離dが適正距離最小値Mmin以上の場合には距離dが適正距離最大値Mmaxを越えるか否かを確認し、距離dが適正距離最大値Mmaxを越える場合にはステップST25の処理を実行するようにしてもよい。
また、適正フラグF1を“0”にリセットするタイミングは、ステップST25またはステップST27の処理の後には限定されず、処理の前であってもよい。
【0045】
一方、距離dが適正距離最大値Mmaxを越えておらず(ST24にてNO)、かつ、適正距離最小値Mminより長い場合(ST26にてNO)、距離dは適正である。この場合、CPU111は、ディスプレイ12aに距離が適正であることを示すマーク、例えば“OK”を表示させる(ST29)。また、CPU111は、適正フラグF1を“1”にセットする(ST30)。因みに、ステップST29とステップST30との処理手順は逆でもよい。
【0046】
こうして、ステップST28またはステップST30にて適正フラグF1をセットまたはリセットしたならば、CPU111は、初回フラグF0を“1”にセットする(ST31)。以上で、今回の距離警告処理を終了する。なお、初回フラグF0をセットするタイミングは、これに限定されない。ステップST24の処理の直前であってもよい。
【0047】
図10は、認識処理の手順を示す流れ図である。先ずCPU111は、接続インターフェース115を介して接続されるPOS端末2の補助記憶部205にアクセスして、認識辞書ファイル30を検索する(ST41)。そしてCPU111は、認識辞書ファイル30から1商品のデータレコード(商品ID、商品名、特徴量データ0〜n)を読み込む(ST42)。
【0048】
データレコードを読み込めたならば、CPU111は、当該レコードの特徴量データ0〜n毎に、ステップST5の処理で抽出された商品の外観特徴量が当該特徴量データ0〜nに対してどの程度類似しているかを示す類似度を算出する。そしてCPU111は、各特徴量データ0〜n毎に算出された類似度の最大値を、当該レコードの商品IDで特定される商品と検出された商品Mとの類似度として決定する(ST43:類似度算出手段72)。なお、決定される類似度は、各特徴量データ0〜n毎に算出された類似度の最大値でなく、各特徴量データ0〜n毎に算出された類似度の合計値あるいは平均値等であってもよい。
【0049】
CPU111は、ステップST43の処理で決定された類似度が予め設定された候補閾値Lminを超えるか否かを確認する(ST44)。類似度が候補閾値Lminを超えていない場合(ST44にてNO)、CPU111は、ステップST46の処理に進む。
【0050】
類似度が候補閾値Lminを超えている場合には(ST44にてYES)、CPU111は、当該レコードの商品IDと類似度とを登録商品候補(認識商品候補)のデータとして、RAM114に格納する(ST45)。しかる後、CPU111は、ステップST46の処理に進む。
【0051】
ステップST46では、CPU111は、認識辞書ファイル30に未処理のデータレコードが存在するか否かを確認する。存在する場合(ST46にてYES)、CPU111は、ステップST42の処理に戻る。すなわちCPU111は、認識辞書ファイル30から未処理のデータレコードを読み込み、前記ステップST43〜ST45の処理を実行する。
【0052】
認識辞書ファイル30に未処理のデータレコードが存在しない場合、すなわち認識辞書ファイル30の検索を終了したならば(ST46にてNO)、CPU111は、登録商品候補のデータがRAM114に格納されているか否かを確認する(ST47)。登録商品候補のデータが格納されていない場合(ST47にてNO)、CPU111は、ステップST53の処理に進む。
【0053】
登録商品候補のデータが格納されている場合には(ST47にてYES)、CPU111は、適正フラグF1が“1”にセットされているか否かを確認する(ST48)。適正フラグF1が“1”にセットされていない場合(ST48にてNO)、CPU111は、RAM114に格納された登録商品候補のデータの中から類似度が大きい順に最大でP(P>2)品目の商品を選択する(可変手段77)。そしてCPU111は、選択した最大P品目の商品を登録商品候補の商品リストとしてディスプレイ12aに表示する(ST49:候補出力手段73)。
【0054】
適正フラグF1が“1”にセットされていた場合には(ST48にてYES)、CPU111は、RAM114に格納された登録商品候補のデータの最大類似度が予め設定された確定閾値Lmax(Lmax>Lmin)を超えるか否かを確認する(ST50)。最大類似度が確定閾値Lmaxを超えない場合(ST50にてYES)、CPU111は、RAM114に格納された登録商品候補のデータの中から類似度が大きい順に最大でQ(Q>1かつQ<P)品目の商品を選択する(可変手段77)。そしてCPU111は、選択した最大Q品目の商品を登録商品候補の商品リストとしてディスプレイ12aに表示する(ST51:候補出力手段73)。
【0055】
ステップST49またはST51にて登録商品候補の商品リストをディスプレイ12aに表示させたならば、CPU111は、当該商品リストの中からいずれか商品が選択されたか否かを確認する(ST52)。例えばキーボード11の再検索キーが入力されて選択されないことが宣言された場合(ST52にてNO)、CPU111は、ステップST53の処理に進む。
【0056】
ステップST53では、CPU111は、商品確定フラグF2を“0”とする。以上で、CPU111は、今回の認識処理を終了する。
【0057】
一方、タッチパネル12またはキーボード11の操作入力により、登録商品候補の商品リストの中からいずれか1商品が選択された場合には(ST52にてYES)、CPU111は、この選択された商品の商品IDをRAM114から取得する(ST54)。そしてCPU111は、この取得した商品IDを、販売商品の商品IDとして確定し、通信ケーブル330を介してPOS端末2に送信する(ST55:第1の確定手段78)。またCPU111は、商品確定フラグF2を“1”にセットする(ST56)。以上で、CPU111は、今回の認識処理を終了する。
【0058】
また、ステップST50にて登録商品候補のデータの最大類似度が確定閾値Lmaxを超える場合には(ST50にてYES)、CPU111は、この最大類似度を有する商品の商品IDをRAM114から取得する。そしてCPU111は、この取得した商品IDを、販売商品の商品IDとして確定し、通信ケーブル330を介してPOS端末2に送信する(ST55:第2の確定手段79)。また、CPU111は、商品確定フラグF2を“1”にセットする(ST56)。因みに、ステップST54とステップST55との処理手順は逆でもよい。以上で、CPU111は、今回の認識処理を終了する。
【0059】
距離警告処理と認識処理との両方が終了したならば(ST9にてYES)、CPU111は、商品確定フラグF2が“1”にセットされたか否かを確認する(ST10)。商品確定フラグF2が“1”にセットされていない場合(ST10にてNO)、CPU111は、ステップST3に戻る。すなわちCPU111は、RAM114に保存されている別のフレーム画像を取り込む(ST3)。そしてCPU111は、前記ステップST4以降の処理を再度実行する。
【0060】
商品確定フラグF2が“1”にセットされていた場合には(ST10にてYES)、CPU111は、撮像部14に対して撮像オフ信号を出力する(ST11)。この撮像オフ信号により、撮像部14は撮像を中止する。以上で、商品認識プログラムは終了する。
【0061】
図11は、読取窓1Bに翳された商品Mと撮像部14との距離dが、適正距離ファイル40に設定されている適正距離最大値Dmaxよりも遠いときに、タッチパネルに表示される画面120の一例である。画面120は、画像表示領域121と商品候補領域122とに区分される。そして画像表示領域121には、ステップST3の処理で取り込まれたフレーム画像が表示される。また商品候補領域122には、ステップST47の処理により、P品目(図では6品目)の商品が登録商品候補として選択可能に表示される。さらに、画像表示領域121には、ステップST25の処理により距離が適正でないことを示すマーク“NG”が表示される。
【0062】
図12は、読取窓1Bに翳された商品Mと撮像部14との距離dが、適正距離ファイル40に設定されている適正距離最小値Dminよりも近いときに、タッチパネルに表示される画面120の一例である。画面120は、画像表示領域121と商品候補領域122とに区分されている。そして画像表示領域121には、ステップST3の処理で取り込まれたフレーム画像が表示される。また商品候補領域122には、ステップST47の処理により、P品目(図では6品目)の商品が登録商品候補として選択可能に表示される。さらに、画像表示領域121には、ステップST25の処理により距離が適正でないことを示すマーク“NG”が表示される。
【0063】
図13は、読取窓1Bに翳された商品Mと撮像部14との距離dが、適正距離ファイル40に設定されている適正距離最小値Dminと適正距離最大値Dmaxとの間のとき、すなわち適正範囲にあるときに、タッチパネルに表示される画面120の一例である。画面120は、画像表示領域121と商品候補領域122とに区分されている。そして、画像表示領域121には、ステップST3の処理で取り込まれたフレーム画像が表示される。また、商品候補領域122には、ステップST49の処理により、Pより少ないQ品目(図では3品目)の商品が登録商品候補として選択可能に表示される。さらに、画像表示領域121には、ステップST29の処理により距離が適正であることを示すマーク“OK”が表示される。
【0064】
図11または
図12に示すように、商品Mと撮像部14との距離dが適正範囲外にあるときには、登録商品候補として類似度の高い順に比較的多くの商品(図では6品目)が選択可能に表示される。したがって、登録商品候補の中に該当商品Mが含まれる可能性は高い。登録商品候補の中に該当商品Mが含まれている場合、ユーザは、その商品にタッチする等して選択する。そうすると、該当商品Mが販売商品として確定され、POS端末2に売上登録される。
【0065】
登録商品候補の中に該当商品Mが含まれていない場合、ユーザは、画面120に表示されているマーク“NG”から、商品Mと撮像部14との距離dが適切でないことを認識できる。そこでユーザは、商品Mを読取窓1Bに近づけたり遠ざけたりする。そして商品Mと撮像部14との距離dが適正範囲内に入ると、
図13に示すように、登録商品候補として表示される商品の数が少なくなる。ただし、商品Mと撮像部14との距離dが適正範囲内であるので、認識率は高い。したがって、登録商品候補の中に該当商品Mが含まれる可能性は高い。因みに、商品Mと撮像部14との距離dが適正範囲内に入ると、画面120にマーク“OK”が表示されるので、ユーザは距離dが適正範囲内であることを容易に知り得る。登録商品候補の中に該当商品Mが含まれている場合、ユーザは、その商品にタッチする等して選択する。そうすると、該当商品Mが販売商品として確定され、POS端末2に売上登録される。このとき、登録商品候補の数は、距離dが適正範囲外であるときと比較して少ないので、該当商品Mの検索が容易である。
【0066】
また、商品Mと撮像部14との距離dが適正範囲内に入ると、登録商品候補の最大類似度が確定閾値Lmaxを超えるか否かが判定される。そして、最大類似度が確定閾値Lmaxを超える場合には、その最大類似度を有する商品が販売商品として自動的に確定され、POS端末2に売上登録される。前述したように、商品Mと撮像部14との距離が適正範囲内であるので、認識率は高いので、その時点で確定閾値Lmax以上の最大類似度を有する商品は、間違いなく読取窓1Bに翳した商品Mであるといえる。したがって、ユーザが登録商品候補の中から該当する商品Mを選択する手間なく、該当商品を販売商品のとして確定することができる。
【0067】
なお、本発明は、前記実施形態に限定されるものではない。
例えば前記実施形態では、距離測定手段74により測定された距離dが適正値であるか否かを距離判定手段75が判定し、適正値であるときと適正値でないときとで、可変手段77が登録商品候補として表示する商品の数を可変した。この点に関しては、例えば0cm〜10cm、10cm〜20cm、20cm〜30cmというように段階的に設定された距離範囲に関連付けて登録商品候補として表示する商品の数を設定したテーブルを用意しておく。そして、距離測定手段74により測定された距離dがどの距離範囲に含まれるかを距離判定手段75が検索し、可変手段77が該当する距離範囲に関連付けられた数の商品を登録商品候補とするように構成してもよい。
【0068】
また、前記実施形態は、スキャナ装置1が商品認識装置としての機能を全て有したが、スキャナ装置1とPOS端末2とが商品認識装置としての機能を分散して有してもよい。あるいは、スキャナ装置1をPOS端末2に組み込んで一体的に構成し、この一体構成の装置が商品認識装置としての機能を有してもよい。また、店舗サーバ等の外部装置に発明の機能を実現させる商品認識プログラムを全てまたは一部を記憶させて構成してもよい。また、本実施形態では据え置き式のスキャナにて説明を行ったが、持ち運びが可能な携帯型のスキャナであってもよい。
【0069】
なお、前記実施形態は、装置内部のプログラム記憶部であるROMに発明の機能を実現させる商品認識プログラムが予め記録されているものとした。しかしこれに限らず、同様のプログラムがネットワークから装置にダウンロードされてもよい。あるいは、記録媒体に記録された同様のプログラムが、装置にインストールされてもよい。記録媒体は、CD−ROM,メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。また、プログラムのインストールやダウンロードにより得る機能は、装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。また、本実施形態のプログラムを、通信機能を有する携帯電話やいわゆるPDAのような携帯情報端末に組み込んで、その機能を実現させるものであってもよい。
【0070】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]商品を撮影する撮像部で撮影された画像からその画像に含まれる商品の外観特徴量を抽出する特徴量抽出手段と、この特徴量抽出手段により抽出された外観特徴量を、認識対象商品毎にその商品の表面情報を表わす特徴量データが保存される認識辞書ファイルの前記特徴量データと照合して、前記外観特徴量が前記特徴量データに対してどの程度類似しているかを示す類似度を前記認識対象商品毎に算出する類似度算出手段と、この類似度算出手段により算出される前記類似度の大きい順に前記認識対象商品を認識商品候補として出力する候補出力手段と、前記撮像部からこの撮像部で撮影された商品までの距離を測定する距離測定手段と、この距離測定手段により測定される距離に応じて前記候補出力手段により出力される認識商品候補の数を変更する可変手段と、を具備したことを特徴とする商品認識装置。
[2]前記候補出力手段は、認識商品候補の認識対象商品を選択可能に表示出力する手段であり、前記認識商品候補の中から選択された認識対象商品を前記撮影部で撮影された商品として確定する第1の確定手段を含むことを特徴とする付記[1]記載の商品認識装置。
[3]前記距離測定手段により測定される距離が適正値か否かを判定する距離判定手段、をさらに具備し、前記可変手段は、前記距離が適正値であるときには適正値でないときと比べて認識商品候補の数を少なくすることを特徴とする付記[1]または[2]記載の商品認識装置。
[4]前記距離判定手段により前記距離が適正値であると判定され、かつ、前記候補出力手段により認識商品候補として出力される認識対象商品の最大類似度が予め設定された確定値以上であるとき、この最大類似度を有する認識対象商品を前記撮影部で撮影された商品として確定する第2の確定手段、をさらに具備したことを特徴とする付記[3]記載の商品認識装置。
[5]前記距離判定手段により前記距離が適正値でないと判定されると警告を発する警告手段、をさらに具備したことを特徴とする付記[3]または[4]記載の商品認識装置。
[6]コンピュータに、商品を撮影する撮像部で撮影された画像からその画像に含まれる商品の外観特徴量を抽出する特徴量抽出機能と、この特徴量抽出機能により抽出された外観特徴量を、認識対象商品毎にその商品の表面情報を表わす特徴量データが保存される認識辞書ファイルの前記特徴量データと照合して、前記外観特徴量が前記特徴量データに対してどの程度類似しているかを示す類似度を前記認識対象商品毎に算出する類似度算出機能と、この類似度算出機能により算出される前記類似度の大きい順に前記認識対象商品を認識商品候補として出力する候補出力機能と、前記撮像部から当該撮像部で撮影された商品までの距離に応じて前記候補出力手段により出力される認識商品候補の数を変更する可変機能と、を実現させるための商品認識プログラム。