(58)【調査した分野】(Int.Cl.,DB名)
複数の物品のそれぞれに関連付けて記憶デバイスに記憶されていて、かつ当該物品の色を含む外観の特徴を数値化した特徴量データを記述した辞書データを参照して物品を認識する物品認識装置であり、
撮像デバイスが撮像した画像に映り込んだ物品の外観の特徴を数値化して前記特徴量データを取得する取得ユニットと、
前記取得ユニットにより取得された前記特徴量データと前記辞書データに記述された前記特徴量データとのマッチングによって、前記画像に映り込んだ物品の候補を前記複数の物品の中から少なくとも1つ選出する選出ユニットと、
前記記憶デバイスに記憶された前記特徴量データに基づき、複数の表示色のうちから前記選出ユニットにより候補として選出された物品の外観の色に近い表示色を選択する選択ユニットと、
表示デバイスの表示画面を、前記選出ユニットにより選出された候補のうちの1つをオペレータが選択するためのものであり、当該候補となっている物品に関して前記選択ユニットにより選択された表示色で少なくとも一部が表されたボタンを少なくとも1つ含んだ操作画面とするように前記表示デバイスを制御する制御ユニットと、
前記表示デバイスにより表示された操作画面上での操作に応じて前記選出ユニットにより選出された候補のうちの1つを選択するためのオペレータの操作を入力する入力ユニットと、
を具備した物品認識装置。
複数の物品のそれぞれに関連付けて記憶デバイスに記憶されていて、かつ当該物品の色を含む外観の特徴を数値化した特徴量データを記述した辞書データを参照して物品を認識するとともに、当該認識した物品の販売に関わるデータ処理を行う販売データ処理装置であり、
撮像デバイスが撮像した画像に映り込んだ物品の外観の特徴を数値化して前記特徴量データを取得する取得ユニットと、
前記取得ユニットにより取得された前記特徴量データと前記辞書データに記述された前記特徴量データとのマッチングによって、前記画像に映り込んだ物品の候補を前記複数の物品の中から少なくとも1つ選出する選出ユニットと、
前記記憶デバイスに記憶された前記特徴量データに基づき、複数の表示色のうちから前記選出ユニットにより候補として選出された物品の外観の色に近い表示色を選択する選択ユニットと、
表示デバイスの表示画面を、前記選出ユニットにより選出された候補のうちの1つをオペレータが選択するためのものであり、当該候補となっている物品に関して前記選択ユニットにより選択された表示色で少なくとも一部が表されたボタンを少なくとも1つ含んだ操作画面とするように前記表示デバイスを制御する制御ユニットと、
前記表示デバイスにより表示された操作画面上での操作に応じて前記選出ユニットにより選出された候補のうちの1つを選択するためのオペレータの操作を入力する入力ユニットと、
前記入力ユニットで入力された操作に基づいて前記データ処理を行う処理ユニットと、
を具備した販売データ処理装置。
複数の物品のそれぞれに関連付けて記憶デバイスに記憶されていて、かつ当該物品の色を含む外観の特徴を数値化した特徴量データを記述した辞書データを参照して物品を認識する物品認識装置を制御するコンピュータを、
撮像デバイスが撮像した画像に映り込んだ物品の外観の特徴を数値化して前記特徴量データを取得する取得ユニットと、
前記取得ユニットにより取得された前記特徴量データと前記辞書データに記述された前記特徴量データとのマッチングによって、前記画像に映り込んだ物品の候補を前記複数の物品の中から少なくとも1つ選出する選出ユニットと、
前記記憶デバイスに記憶された前記特徴量データに基づき、複数の表示色のうちから前記選出ユニットにより候補として選出された物品の外観の色に近い表示色を選択する選択ユニットと、
表示デバイスの表示画面を、前記選出ユニットにより選出された候補のうちの1つをオペレータが選択するためのものであり、当該候補となっている物品に関して前記選択ユニットにより選択された表示色で少なくとも一部が表されたボタンを少なくとも1つ含んだ操作画面とするように前記表示デバイスを制御する制御ユニットと、
前記表示デバイスにより表示された操作画面上での操作に応じて前記選出ユニットにより選出された候補のうちの1つを選択するためのオペレータの操作を入力する入力ユニットと、
して機能させるための制御プログラム。
【発明を実施するための形態】
【0011】
以下、物品認識装置の実施形態について、図面を用いて説明する。本実施形態は、スーパーマーケット等の店舗で販売される商品を認識対象の物品とする商品読取装置に適用した場合である。さらに詳しくは、本実施形態は、上記店舗に設けられた会計カウンタに立設される縦型の商品読取装置に適用した場合である。
【0012】
図1は本実施形態に係る商品読取装置を含んだ店舗会計システムの外観図である。この店舗会計システムは、販売データ処理装置の一例である。
図1に示す店舗会計システムは、商品読取装置100およびPOS端末200を含む。商品読取装置100は、会計カウンタ300の上に取り付けられる。POS端末200は、レジ台400に載置されたドロワ500の上に設置される。商品読取装置100とPOS端末200とは、図示しない通信ケーブルにより電気的に接続される。ドロワ500に代えて、自動釣銭機が設置される場合もある。
【0013】
商品読取装置100は、ハウジング101、キーボード102、タッチパネル103、客用ディスプレイ104および撮像部105を含む。
【0014】
ハウジング101は、平型の箱状をなし、会計カウンタ300の上に立つ。ハウジング101は、上端においてキーボード102、タッチパネル103、客用ディスプレイ104を支持し、内部において撮像部105を支持する。ハウジング101は、撮像部105に対向して読取窓101aを有し、読取窓101aの前に位置する物体(オブジェクト)を、読取窓101aを介して撮像部105により撮像可能とする。
【0015】
POS端末200は、ハウジング201、キーボード202、オペレータ用ディスプレイ203、客用ディスプレイ204およびプリンタ205を含む。
【0016】
ハウジング201は、キーボード202をその一部を外部に露出する状態で支持し、オペレータ用ディスプレイ203および客用ディスプレイ204を外部に位置する状態で支持し、プリンタ205を内部にて支持する。
【0017】
会計カウンタ300は、細長い天板300aを含む。会計カウンタ300は、天板の長手方向に沿った顧客通路(
図1における奥側)とオペレータスペース(
図1における手前側)とを分ける。ハウジング101は、天板300aの長手方向の略中央に位置し、キーボード102、タッチパネル103および読取窓101aをそれぞれオペレータスペース側に向けるとともに、客用ディスプレイ104を顧客通路側に向ける。天板300aの上面は、商品読取装置100を挟んで顧客移動方向の上流側の領域については、買物客が購入しようとする商品のうちの売上登録が済んでいない商品を置くためのスペースとして使用される。また、下流側の領域は、売上登録が済んだ商品を置くためのスペースとして使用される。かくして通常は、売上商品は顧客移動方向の上流側の領域から、読取窓101aの前を通して下流側の領域へと移される。
【0018】
レジ台400は、顧客通路における顧客の移動方向に対して下流側の会計カウンタ300の端部に並ぶようにオペレータスペース側に位置する。
【0019】
図2は
図1に示す店舗会計システムにおける電気的要素のブロック図である。なお、
図2に示される要素のうちで
図1に示されるのと同一の要素には
図1と同一の符号を付する。
【0020】
商品読取装置100は電気的要素として、キーボード102、タッチパネル103、客用ディスプレイ104のほかに、撮像デバイス105a、CPU(central processing unit)106、ROM(read-only memory)107、RAM(random-access memory)108、補助記憶ユニット109、キーボードインタフェース(キーボードI/F)110、パネルインタフェース(パネルI/F)111、表示インタフェース(表示I/F)112、撮像インタフェース(撮像I/F)113、POS端末インタフェース(POS端末I/F)114およびバスライン115を含む。なお、バスライン115は、アドレスバスおよびデータバスなどを含み、CPU106、ROM107、RAM108、キーボードインタフェース110、パネルインタフェース111、表示インタフェース112、撮像インタフェース113およびPOS端末インタフェース114を互いに接続する。
【0021】
キーボード102は、複数のキースイッチを含み、これらのキースイッチに対するオペレータによる操作の内容を表したコマンドを出力する。
【0022】
タッチパネル103は、例えばLCD(liquid crystal display)などの表示デバイスと、この表示デバイスの表示画面に重ねて配置された透明な二次元タッチセンサとを含む。タッチパネル103は、CPU106の制御の下に任意の画像を表示デバイスにおいて表示する。タッチパネル103は、表示デバイスの表示画面におけるオペレータのタッチ位置を二次元タッチセンサにて検出し、そのタッチ位置を表す座標データを出力する。タッチパネル103は、オペレータに対して提示するべき各種の情報を表した画像を表示するためや、オペレータの操作を入力するために利用される。
【0023】
客用ディスプレイ104は、CPU106の制御の下に任意の文字列または画像を表示する。客用ディスプレイ104は、客に対して提示するべき各種の文字列や画像を表示するために利用される。客用ディスプレイ104としては、例えば蛍光管表示器またはLCDが利用できる。
【0024】
撮像デバイス105aは、図示しない撮像レンズとともに撮像部105に含まれる。撮像デバイス105aは、エリアイメージセンサであるCCD(charge coupled device)撮像素子とその駆動回路とを含む。撮像レンズは、撮像領域の画像をCCD撮像素子に結像する。撮像領域とは、読取窓101aから撮像レンズを通してCCD撮像素子のエリアに結像する領域を指す。撮像デバイス105aは、撮像領域の画像(フレーム画像)を表すフレームデータを一定の時間間隔で取得し、当該フレームデータを出力する。
【0025】
CPU106は、ROM107およびRAM108に記憶されたオペレーティングシステム、ミドルウェアおよびアプリケーションプログラムに基づいて、商品読取装置100としての各種の動作を実現するべく商品読取装置100の各要素を制御する。
【0026】
ROM107は、上記のオペレーティングシステムを記憶する。ROM107は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。またROM107は、CPU106が各種の処理を行う上で参照するデータを記憶する場合もある。
【0027】
RAM108は、CPU106が各種の処理を行う上で参照するデータを記憶する。さらにRAM108は、CPU106が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアとして利用される。
【0028】
補助記憶ユニット109は、CPU106が各種の処理を行う上で使用するデータや、CPU106での処理によって生成されたデータを保存する。補助記憶ユニット109は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。補助記憶ユニットとしては、EEPROM(electric erasable programmable read-only memory)、ハードディスクドライブ、あるいはSSD(solid state drive)などが利用できる。補助記憶ユニット109の記憶領域の一部は、表示色データベースを記憶する。すなわち補助記憶ユニット109は、記憶ユニットの一例である。
【0029】
かくして、CPU106、RAM107、ROM108および補助記憶ユニット109によってコンピュータを構成する。CPU106は、当該コンピュータの中枢部分に相当する。RAM107およびROM108は、当該コンピュータの主記憶部分に相当する。補助記憶ユニット109は、当該コンピュータの補助記憶部分に相当する。
【0030】
表示色データベースは、後述する認識処理で売上商品の候補とされた商品を売上商品として確定するためのオペレータの操作を受け付けるためのボタンの表示色を商品毎に定義するものである。
【0031】
図3は表示色データベースに含まれるデータレコードRを模式的に示す図である。
表示色データベースは、複数のデータレコードRの集合である。
データレコードRは、商品ID(PLUコード)と表示色コードとを関連付けて記述する。
【0032】
ROM107または補助記憶ユニット109に記憶されるアプリケーションプログラムには、後述する制御処理に関して記述した制御プログラムを含む。なお、商品読取装置100の譲渡は、一般的に制御プログラムがROM107または補助記憶ユニット109に記憶された状態にて行われる。しかし、制御プログラムがROM107や補助記憶ユニット109に記憶されない状態で商品読取装置100が譲渡されても良い。そして、リムーバブルな記録媒体に記録して、あるいはネットワークを介して制御プログラムが譲渡され、この制御プログラムが上記の別途に譲渡された商品読取装置100の補助記憶ユニット109に書き込まれても良い。記録媒体としては、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどが利用できる。
【0033】
キーボードインタフェース110は、キーボード102とCPU106とのデータの授受をインタフェースする。キーボードインタフェース110としては、例えばPS/2規格またはUSB(universal serial bus)規格に準拠した周知のデバイスを利用できる。
【0034】
パネルインタフェース111は、タッチパネル103とCPU106とのデータおよび映像信号の授受をインタフェースする。パネルインタフェース111は、表示デバイス用のインタフェースとタッチセンサ用のインタフェースとを含む。表示デバイス用のインタフェースとしては、例えばVGA(video graphics array)規格(アナログRGB規格)、DVI(digital video interface)規格またはLVDS(low voltage differential signaling)規格に準拠した周知のデバイスを利用できる。タッチセンサ用のインタフェースとしては、例えばUSB規格またはRS(recommended standard)−232C規格に準拠した周知のデバイスを利用できる。
【0035】
表示インタフェース112は、客用ディスプレイ104とCPU106との映像信号の授受をインタフェースする。表示インタフェース112としては、客用ディスプレイ104が蛍光管表示器である場合には、例えばUSB規格またはRS−232C規格に準拠した周知のデバイスを利用できる。また表示インタフェース112としては、客用ディスプレイ104がLCDである場合には、例えばVGA規格、DVI規格またはLVDS規格に準拠した周知のデバイスを利用できる。
【0036】
撮像インタフェース113は、撮像デバイス105aとCPU106とのデータの授受をインタフェースする。撮像インタフェース113としては、例えばUSB規格またはIEEE(institute of electrical and electronic engineers)1394規格に準拠した周知のデバイスを利用できる。
【0037】
POS端末インタフェース114は、POS端末200とCPU106とのデータの授受をインタフェースする。POS端末インタフェース114としては、例えばUSB規格またはRS−232C規格に準拠した周知のデバイスを利用できる。
【0038】
POS端末200は電気的要素として、キーボード202、オペレータ用ディスプレイ203、客用ディスプレイ204およびプリンタ205のほかに、CPU206、ROM207、RAM208、補助記憶ユニット209、キーボードインタフェース210、表示インタフェース(表示I/F)211,212、プリンタインタフェース(プリンタI/F)213、読取装置インタフェース(読取装置I/F)214、ドロワインタフェース(ドロワI/F)215、通信デバイス216およびバスライン217を含む。なお、バスライン217は、アドレスバスおよびデータバスなどを含み、CPU206、ROM207、RAM208、補助記憶ユニット209、キーボードインタフェース210、表示インタフェース211、表示インタフェース212、プリンタインタフェース213、読取装置インタフェース214、ドロワインタフェース215および通信デバイス216を互いに接続する。
【0039】
キーボード202は、複数のキースイッチを含み、これらのキースイッチに対するオペレータによる操作の内容を表したコマンドを出力する。
【0040】
オペレータ用ディスプレイ203は、CPU206の制御の下に任意の画像を表示する。オペレータ用ディスプレイ203は、オペレータに対して提示するべき各種の画像を表示するために利用される。オペレータ用ディスプレイ203としては、例えばLCDが利用できる。
【0041】
客用ディスプレイ204は、CPU206の制御の下に任意の文字列または画像を表示する。客用ディスプレイ204は、客に対して提示するべき各種の文字列や画像を表示するために利用される。客用ディスプレイ204としては、例えば蛍光管表示器またはLCDが利用できる。
【0042】
プリンタ205は、CPU206の制御の下に、取引の内容を表したレシート画像をレシート用紙に対してプリントする。プリンタ205としては、周知の各種方式の既存のプリンタが利用できる。典型的にはプリンタ205は、サーマルプリンタである。
【0043】
CPU206は、ROM207およびRAM208に記憶されたオペレーティングシステム、ミドルウェアおよびアプリケーションプログラムに基づいて、POS端末200としての各種の動作を実現するべく各部を制御する。
【0044】
ROM207は、上記のオペレーティングシステムを記憶する。ROM207は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。またROM207は、CPU206が各種の処理を行う上で参照するデータを記憶する場合もある。
【0045】
RAM208は、CPU206が各種の処理を行う上で参照するデータを記憶する。さらにRAM208は、CPU206が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアとして利用される。RAM208の記憶領域の一部は、売上登録された商品についての情報を管理するための商品リストエリアとして使用される。
【0046】
補助記憶ユニット209は、例えばハードディスクドライブやSSDなどであり、CPU206が各種の処理を行う上で使用するデータや、CPU206での処理によって生成されたデータを保存する。
【0047】
キーボードインタフェース210は、キーボード202とCPU206とのデータの授受をインタフェースする。キーボードインタフェース210としては、例えばPS/2規格またはUSB規格に準拠した周知のデバイスを利用できる。
【0048】
表示インタフェース211は、オペレータ用ディスプレイ203とCPU106との映像信号の授受をインタフェースする。表示インタフェース211としては、例えばVGA規格、DVI規格またはLVDS規格に準拠した周知のデバイスを利用できる。
【0049】
表示インタフェース212は、客用ディスプレイ204とCPU206との映像信号の授受をインタフェースする。表示インタフェース212としては、客用ディスプレイ204が蛍光管表示器である場合には、例えばUSB規格またはRS−232C規格に準拠した周知のデバイスを利用できる。また表示インタフェース212としては、客用ディスプレイ204がLCDである場合には、例えばVGA規格、DVI規格またはLVDS規格に準拠した周知のデバイスを利用できる。
【0050】
プリンタインタフェース213は、プリンタ205とCPU206とのデータの授受をインタフェースする。プリンタインタフェース213としては、例えばUSB規格、RS−232C規格またはIEEE1284規格(いわゆるセントロニクス仕様)などに準拠した周知のデバイスを利用できる。
【0051】
読取装置インタフェース214は、商品読取装置100とCPU206とのデータの授受をインタフェースする。読取装置インタフェース214としては、POS端末インタフェース114が準拠する規格に準拠した周知のデバイスを利用できる。
【0052】
ドロワインタフェース215は、CPU206からドロワ開放が指示されたことに応じてドロワ500を開放させるための駆動信号をドロワ500に対して出力する。
【0053】
通信デバイス216は、通信ネットワーク600を介してサーバ700と通信する。通信デバイス216としては、例えば既存のLAN通信デバイスを適用できる。
【0054】
この店舗会計システムを運用するに先立って、CPU106が参照できる形で認識辞書ファイルが用意される。認識辞書ファイルは、ROM107、補助記憶ユニット109、ROM207および補助記憶ユニット209のいずれに記憶されても良い。あるいは、認識辞書ファイルは、サーバ700などの店舗会計システムの外部に記憶されていても良い。
【0055】
認識辞書ファイルは、認識対象である商品毎に、その商品を識別するPLUコードおよび商品名と関連付けて、複数の特徴量データを記述した辞書データを表すコンピュータファイルである。商品を撮影した基準画像から、その商品の表面情報(外観形状、色合い、模様、凹凸具合等)である外観上の特徴量を抽出し、この外観特徴量をパラメータで表わしたものを特徴量データとする。そして、1つの商品に対し、その商品を様々な方向から撮影した基準画像のそれぞれから得た特徴量データを、該当する商品のPLUコードに関連付けている。1つの商品に対する特徴量データの数は、固定ではない。また、特徴量データの数は、商品によって異なっていても良い。また、商品名は必ずしも認識辞書ファイルに含まれていなくても良い。
【0056】
次に以上のように構成された店舗会計システムにおける商品読取装置100の動作について説明する。なお、以下に説明する各種の処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。
【0057】
CPU106は適宜のタイミングで、ROM107または補助記憶ユニット109に記憶された制御プログラムに基づき、表示色データベースの更新処理を実行する。この更新処理を実行するタイミングは、例えば商品読取装置100を新規に使用開始するための準備作業の一環として行われる。更新処理は、認識辞書ファイルが更新された場合にも、実行されることが好ましい。なお、後述する認識処理の結果に応じて認識辞書ファイルを自動学習することも考えられるが、この場合には、認識辞書ファイルが更新される毎、あるいは定期的に更新処理を実行することが好ましい。
【0058】
図4はCPU106による更新処理のフローチャートである。
Act1においてCPU106は、認識辞書ファイルに含まれたPLUコードのうちで今回の更新処理でまだ選択していないものの1つを選択する。
【0059】
Act2においてCPU106は、上記の選択したPLUコードに関連付けて認識辞書ファイルに記述された特徴量から、当該PLUコードで識別される商品の外観上での色を判定し、さらにその色に対応する表示色コードを判定する。
【0060】
図5は量子化テーブルを模式的に示す図である。
図5に示す量子化テーブルは、YCrCb方式におけるCr成分およびCb成分を縦軸および横軸にそれぞれ割り当てた色空間を、破線で示す様に17領域に分割して「0」〜「17」の表示色コードを割り振ったものである。
【0061】
CPU106は、特徴量で表される色が色空間上の座標を含んだ領域に割り振られた表示色コードを判定する。
【0062】
なお、各領域に対する表示色コードの割り振り、色空間の分割形態や分割数、あるいは使用する色空間などは任意である。
【0063】
Act3においてCPU106は、補助記憶ユニット109が記憶している表示色データベースを更新する。具体的にはCPU106は、Act1で選択したPLUコードを含んだデータレコードが表示色データベースに含まれているか否かを確認する。そしてCPU106は、該当するデータレコードが含まれているならば、そのデータレコードに記述された表示色コードを、上記のように判定した表示色コードに書き換える。CPU106は、該当するデータレコードが含まれていないならば、Act1で選択したPLUコードと、上記のように判定した表示色コードとを記述した新たなデータレコードを、表示色データベースに追加する。
【0064】
Act4においてCPU106は、認識辞書ファイルに含まれたPLUコードのうちで今回の更新処理でまだ選択していないものがあるか否かを判断する。そしてCPU106は、未選択のPLUコードが有るならばYesと判定し、Act1に戻る。このようにしてCPU106は、認識辞書ファイルに含まれたPLUコードの全てを対象として、Act1〜Act3を行う。そしてCPU106は、認識辞書ファイルに含まれたPLUコードの全てを対象としてAct1〜Act3を実行し終えたならば、Act4にてNoと判定し、当該更新処理を終了する。
【0065】
なお、認識辞書ファイルが更新されたことに応じて更新処理を実行するのであれば、CPU106は、特徴量が更新されたPLUコードのみを対象としてAct1〜Act3を実行しても良い。
【0066】
図6,
図7および
図8は商品読取装置100の動作を制御するためのCPU106による制御処理のフローチャートである。
例えばキーボード202でのオペレータによる所定の操作により売上商品の登録の開始が指示されるなどにより登録処理の開始条件が成立すると、CPU206は読取装置インタフェース214より読取開始コマンドを商品読取装置100へ送る。この読取開始コマンドは、POS端末インタフェース114によりCPU106に通知される。そしてCPU106は読取開始コマンドを受けると、制御プログラムに基づく
図6〜8に示す制御処理を開始する。あるいは、キーボード102またはタッチパネル103でのオペレータによる所定の操作により売上商品の登録の開始が指示されるなどにより登録処理の開始条件が成立すると、CPU106は
図6〜8に示す制御処理を開始する。
【0067】
図6に示すAct11においてCPU106は、タッチパネル103の画面を操作画面とする。具体的にはCPU106は例えば、操作画面を表す画像データを生成してRAM108に保存するとともに、当該画像データに基づく表示を行うようにタッチパネル103を制御する。この制御の下にタッチパネル103は、RAM108から画像データに基づく画像を表示する。
【0068】
図9は一例としての操作画面SC1を示す図である。
操作画面SC1は、6つの領域R11,R12,R13,R14,R15,R16を含む。
【0069】
領域R11は、撮像デバイス105aにより撮像された画像を表示するための領域である。領域R12〜R15は、後述する認識処理により選定される一位候補〜四位候補のそれぞれの商品名を表示するとともに、各候補商品のうちから売上商品として確定する商品を選択するためのボタンとなる領域である。領域R16は、商品読取装置100の操作を案内するメッセージを表示する領域である。なお、一位候補は、撮像デバイス105aにより撮像された画像に映り込んだ商品が、その商品である可能性が最も高いと判定された商品である。二位候補〜四位候補は、画像に映り込んだ商品が、その商品である可能性が2番目〜4番目に高いと判定された商品である。
【0070】
操作画面SC1における領域R11〜R15は、いずれもブランクである。操作画面SC1における領域R16は、売上商品を撮像部105の前にかざすことをオペレータに促す文字メッセージL1を表す。
【0071】
Act12においてCPU106は、撮像デバイス105aによる撮像を開始する。具体的にはCPU106は、撮像インタフェース113より撮像デバイス105aに対して撮像オン信号を出力する。この撮像オン信号を受けて撮像デバイス105aは、動画撮像を開始する。かくして、この状態においてオペレータが手で把持した売上商品を読取窓101aにかざすと、撮像デバイス105aが撮像した動画に売上商品が映り込む。撮像デバイス105aは、周期的にフレームデータを出力する。
【0072】
Act13においてCPU106は、撮像デバイス105aが出力するフレームデータをRAM108に保存する。
【0073】
Act14においてCPU106は、操作画面を更新する。具体的にはCPU106は、RAM108に保存したフレームデータが表す画像の鏡像を領域R11に示すようにする。
【0074】
図10はAct14で操作画面SC1から更新された後の一例としての操作画面SC2を示す図である。なお、操作画面SC2の要素のうちの操作画面SC1にも含まれる要素については、
図9と同一の符号を付している。
操作画面SC2では、売上商品の画像IM1が、領域R11に表されている。
【0075】
Act15においてCPU106は、抽出処理を行う。抽出処理は、フレームデータが表す画像(以下、フレーム画像と称する)から、そこに映り込んだ商品に相当するオブジェクトを抽出する処理である。具体的にはCPU106は例えば、先ず、フレーム画像から肌色領域の検出を試みる。CPU106は、肌色領域を検出できた場合、すなわちオペレータの手がフレーム画像に映り込んでいる場合には、フレーム画像を二値化した上で、これにより得られた二値化画像から輪郭線などを抽出する。CPU106はこれにより、オペレータの手が把持していると想定される売上商品の輪郭を特定する。CPU106は、当該輪郭の内側の領域をオブジェクトとして抽出する。なお、
図10では、オペレータの手の図示を省略している。
【0076】
Act16においてCPU106は、オブジェクトが抽出できたか否かを確認する。そしてCPU106は、オブジェクトが抽出できなかったならばNoと判定し、Act13へと戻る。つまりCPU106は、オブジェクトが抽出できるまで、新たなフレーム画像を対象としたオブジェクトの抽出を繰り返し試みる。そしてCPU106は、オブジェクトを抽出できたならばAct16にてYesと判定し、Act17へと進む。
【0077】
Act17においてCPU106は、認識処理を行う。認識処理は、Act15で抽出されたオブジェクトを対象として、そのオブジェクトがどの商品の画像であるかを認識する処理である。この認識処理には、周知の技術を利用できる。以下に、認識処理の具体例の1つを説明する。
【0078】
CPU106は、Act15にて抽出したオブジェクトを解析し、形状、表面の色合い、模様、凹凸具合等の特徴量を読み取る。そしてCPU106は、読み取った特徴量と、認識辞書ファイルに記述された特徴量とのマッチングからオブジェクトがどの商品であるかを認識する。
【0079】
ここでの商品の認識には、一般物体認識(generic object recognition)と呼ばれる。この一般物体認識の技術については、下記の文献において各種認識技術が解説されており、この技術を上記のオブジェクト認識に利用できる。
柳井 啓司,“一般物体認識の現状と今後”,情報処理学会論文誌,Vol.48,No.SIG16[平成22年8月10日検索],インターネット< URL: http://mm.cs.uec.ac.jp/IPSJ-TCVIM-Yanai.pdf >
また、画像をオブジェクト毎に領域分割することによって、一般物体認識を行う技術が、下記の文献において解説されており、この技術も上記のオブジェクト認識に利用できる。
Jamie Shottonら,“Semantic Texton Forests for Image Categorization and Segmentation”,[平成22年8月10日検索],インターネット< URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.145.3036&rep=repl&type=pdf >
外観が類似する商品は少なからず存在することが一般的である。このため、上記の認識処理により、売上商品を確定することは好ましく無い。そこでCPU106はAct17においては、商品毎に求めた類似度が高い商品を最大4つまで選び、類似度が高い順に一位候補〜四位候補として設定する。なおCPU106は、一位候補〜四位候補のそれぞれのPLUコードをRAM108に書き込む。ただしCPU106は、最大の類似度が予め定めた値未満である場合には、候補商品無しとする。
【0080】
かくして、制御プログラムに基づく制御処理をCPU106が実行することによって、CPU106を中枢部分とするコンピュータは取得ユニットおよび選出ユニットとして機能する。
【0081】
Act18においてCPU106は、上記の認識処理で候補商品が有ったか否かを確認する。そしてCPU106は、候補商品が無かったならばNoと判定し、Act13に戻る。しかしながらCPU106は、少なくとも一位候補を設定したならばYesと判定し、
図7に示すAct19へと進む。
【0082】
Act19においてCPU106は、変数Nに1をセットする。
【0083】
Act20においてCPU106は、N位候補となっている商品の商品名を第Nの表示名として設定する。具体的にはCPU106は、Act17においてRAM108に書き込んだN位候補のPLUコードに関連付けて認識辞書ファイルに記述されている商品名を第Nの表示名として設定する。
【0084】
Act21においてCPU106は、N位候補となっている商品に関連付けられた表示色を第Nの表示色として設定する。具体的にはCPU106は、Act17においてRAM108に書き込んだN位候補のPLUコードとともに表示色データベースのデータレコードに記述されている表示色コードを第Nの表示色のコードとして設定する。かくして制御プログラムに基づく制御処理をCPU106が実行することによって、CPU106を中枢部分とするコンピュータは選択ユニットとして機能する。
【0085】
Act22においてCPU106は、変数Nの値を1つ増加する。
【0086】
Act23においてCPU106は、変数Nが変数Nの最大値Nmaxよりも大きいか否かを確認する。認識処理において四位候補まで設定している本実施形態においては、最大値Nmaxは「4」である。そしてCPU106は、変数Nが最大値Nmax以下であるならばNoと判定し、Act24へと進む。
【0087】
Act24においてCPU106は、N位候補が設定されているか否かを確認する。そしてCPU106は、N位候補が設定されているならば、Act20以降を上記と同様に繰り返す。
【0088】
そしてCPU106は、Act21で第4の表示色コードを設定し終えた場合には、Act23にてYesと判定してAct25へと進む。またCPU106は、認識処理において設定された候補の全てに対して表示色コードを設定し終えた場合には、Act24にてNoと判定してAct25へと進む。
【0089】
Act25においてCPU106は、操作画面を更新する。具体的にはCPU106は、操作画面を、Act20およびAct21での設定を反映するようにする。さらにCPU106は、領域R16における表示を、候補商品のうちで売上商品として確定する商品を選択することをオペレータに促す文字メッセージに置き換える。かくして制御プログラムに基づく制御処理をCPU106が実行することによって、CPU106を中枢部分とするコンピュータは制御ユニットとして機能する。
【0090】
図11はAct25で操作画面SC2から更新された後の一例としての操作画面SC3を示す図である。なお、操作画面SC3の要素のうちの操作画面SC1,SC2にも含まれる要素については、
図9,10と同一の符号を付している。
操作画面SC3は、Act17において、一位候補〜四位候補として「ジョナゴールド」「みかん」「フジ」「もも」がそれぞれ設定された場合を示している。
【0091】
領域R12〜R15の中には、第1〜第4の商品名を表す文字列L11,L12,L13,L14が前景として示されている。領域R12〜R15の背景は、第1〜第4の表示色とされている。
図11においては、ハッチングの違いによって領域R12〜R15の背景色に違いを表している。領域R12と領域R14とは、背景色が同一であり、その表示色コードは例えば「4」である。領域R13および領域R15の背景色は、いずれも他の領域とは異なり、その表示色コードは例えば「6」および「1」である。領域R16には、候補商品のうちから売上商品として確定する商品を選択することをオペレータに促す文字メッセージL2が示されている。
【0092】
かくして制御プログラムに基づく制御処理をCPU106が実行することによって、CPU106を中枢部分とするコンピュータは制御ユニットとして機能する。
【0093】
CPU106はAct25を終えたならば、
図8に示すAct26へと進む。
Act26においてCPU106は、撮像デバイス105aが出力するフレームデータをRAM108に保存する。
【0094】
Act27においてCPU106は、操作画面を更新する。具体的にはCPU106は、領域R11に示す画像を、Act26で新たに取得したフレームデータに応じたものに置き換える。
【0095】
Act28においてCPU106は、Act15と同様にして抽出処理を行う。
【0096】
Act29においてCPU106は、オブジェクトが抽出できたか否かを確認する。そしてCPU106は、オブジェクトが抽出できたならばYesと判定し、Act30へと進む。
【0097】
Act30においてCPU106は、売上商品を確定するためのボタンタッチがなされたか否かを確認する。CPU106は具体的には、領域R12〜R15の中のいずれかの位置のタッチ操作がタッチパネル103により検出されたか否かを確認する。そしてCPU106は、該当するタッチ操作が検出されていなければNoと判定し、Act26へと戻る。かくしてCPU106は、Act26〜Act30のループにおいては、オブジェクトが抽出できなくなるか、あるいは売上商品を確定するためのボタンタッチがなされるのを待ち受ける。そしてCPU106は、該当するボタンタッチがなされたならば、Act30にてYesと判定し、Act31へと進む。
【0098】
Act31においてCPU106は、タッチ位置に応じて売上商品を確定する。CPU106は具体的には、タッチ位置が領域R12〜R15のいずれの中であるかを判断し、該当する領域に関連付けられた候補を売上商品として確定する。例えばCPU106は、操作画面SC3における領域R14の中がタッチされたならば、「フジ」を売上商品として確定する。かくして制御プログラムに基づく制御処理をCPU106が実行することによって、CPU106を中枢部分とするコンピュータは入力ユニットとして機能する。こののちにCPU106は、
図1中のAct13へと戻る。
【0099】
なおCPU106は、売上商品として確定した商品のPLUコードを、POS端末インタフェース114を介してPOS端末200へと通知する。POS端末200は、上記のようにPLUコードが通知されると、これを読取装置インタフェース214が受信する。そして読取装置インタフェース214は、PLUコードをCPU206に通知する。これに応じてCPU206は、通知されたPLUコードで識別される商品の販売に関わるデータ処理を行う。このデータ処理は、例えば既存の別のPOS端末で行われている処理と同じであって良い。かくしてCPU206を中枢部分とするコンピュータは処理ユニットとして機能する。
【0100】
なおCPU106がAct26〜Act30のループを処理している間に、オペレータが、撮像部105の前にかざしている売上商品を、撮像部105の視野外まで移動させると、フレーム画像に売上商品が映り込まなくなる。このため、CPU106がAct28にてオブジェクトを抽出できなくなる。そしてこの場合にCPU106は、Act29でNoと判定し、Act31を実行することなく
図1中のAct13へと戻る。つまりこの場合にCPU106は、Act17での認識結果を破棄し、新たな商品の認識を開始する。
【0101】
なおCPU106は、このような領域R12〜R15のいずれかをタッチすることに応じての売上商品の確定を、オブジェクトが抽出できなくなった後も、新たなオブジェクトが抽出されるまでの間は行うようにしても良い。
【0102】
以上のように、候補商品のうちの1つをオペレータが選択するための操作画面においては、候補商品が関連付けられたボタンの背景には、その候補商品の外観の色に近い表示色が用いられる。従ってオペレータは、撮像部105の前にかざしている売上商品の外観の色に近い背景色のボタンの前景に表された文字を確認すれば、それが売上商品の商品名である可能性が高いこととなる。そして、外観の色が異なる候補商品が含まれているために、背景色が売上商品の外観の色とは異なるボタンが存在する場合には、そのボタンの前景に表された文字をオペレータが確認しなくて良い場合がある。
【0103】
従って、オペレータが売上商品の確定のためにタッチすべきボタンを、オペレータがより容易に見つけ出すことを可能とすることが可能となる。言い換えれば、オペレータは、タッチすべきボタンを直感的に判断することが可能となる。
【0104】
この実施形態は、次のような種々の変形実施が可能である。
【0105】
表示色データベースは、補助記憶ユニット209やサーバ700が備える記憶ユニットなどのように、商品読取装置100の外部に備えられた記憶ユニットに記憶されていても良い。
【0106】
表示色データベースを用いず、Act21においてAct2の処理を行っても良い。
【0107】
タッチパネル103を商品読取装置100に備えず、外付けの表示デバイスにおいて操作画面を表示しても良い。
【0108】
撮像部105を商品読取装置100に備えず、外付けの撮像デバイスで得られたフレームデータを取り込んで上記の処理を行うようにしても良い。
【0109】
操作画面における候補商品を選択するためのボタンの数、形状および配置は任意で合って良い。
【0110】
ボタンにおいては、背景の一部のみを表示色としたり、文字を表示色とするとともに、背景は表示色とは異なる色としたりするなどのように、ボタン内のどこに表示色を使用するかは任意である。
【0111】
CPU106の処理の具体的内容は、同様な機能を実現できれば任意に変更が可能である。例えば、前記実施形態では、商品読取装置100が商品を確定するまでの機能を全て有したが、その機能を商品読取装置100とPOS端末200に分散させて構成してもよい。また、POS端末200が商品を確定するまでの機能を全て有して構成してもよい。つまり、
図4および
図5に示す制御処理の一部または全てを、ROM207または補助記憶ユニット209に記憶された制御プログラムに基づくCPU206の処理により実現しても良い。
【0112】
商品読取装置100の機能を内蔵したPOS端末やキャッシュレジスタとして実現することも可能である。
【0113】
販売データ処理のための商品の認識には限らず、様々な物品の認識のために本願の技術を利用することが可能である。
【0114】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願の当初の特許請求の範囲に記載された発明を付記する。
[付記1] 複数の物品のそれぞれに関連付けて記憶デバイスに記憶されていて、かつ当該物品の色を含む外観の特徴を数値化した特徴量データを記述した辞書データを参照して物品を認識する物品認識装置であり、
前記記憶デバイスに記憶された前記特徴量データに基づき、複数の表示色のうちから物品の外観の色に近い表示色を選択する選択ユニットと、
撮像デバイスが撮像した画像に映り込んだ物品の外観の特徴を数値化して前記特徴量データを取得する取得ユニットと、
前記取得ユニットにより取得された前記特徴量データと前記辞書データに記述された前記特徴量データとのマッチングによって、前記画像に映り込んだ物品の候補を前記複数の物品の中から少なくとも1つ選出する選出ユニットと、
表示デバイスの表示画面を、前記選出ユニットにより選出された候補のうちの1つをオペレータが選択するためのものであり、当該候補となっている物品に関して前記選択ユニットにより選択された表示色で少なくとも一部が表されたボタンを少なくとも1つ含んだ操作画面とするように前記表示デバイスを制御する制御ユニットと、
前記表示デバイスにより表示された操作画面上での操作に応じて前記選出ユニットにより選出された候補のうちの1つを選択するためのオペレータの操作を入力する入力ユニットと、を具備したことを特徴とする物品認識装置。
[付記2] 前記複数の物品のそれぞれに関連付けて、その物品に関して前記選択ユニットにより選択された表示色を表した色データを記憶する記憶ユニットをさらに備え、
前記制御ユニットは、候補となっている物品に関連付けて前記記憶ユニットに記憶された色データが表す表示色で、当該候補物品を前記オペレータが選択するためのボタンを前記操作画面に表すことを特徴とする付記1に記載の物品認識装置。
[付記3] 前記制御ユニットは、前記ボタンを、候補物品を識別するための文字を前景として表し、かつ背景を前記選択ユニットにより選択された表示色として表すことを特徴とする付記1または2に記載の物品認識装置。
[付記4] 前記制御ユニットは、前記ボタンを、候補物品の外観を示した画像を前景として表し、かつ背景を前記選択ユニットにより選択された表示色として表すことを特徴とする付記1または2に記載の物品認識装置。
[付記5] 複数の物品のそれぞれに関連付けて記憶デバイスに記憶されていて、かつ当該物品の色を含む外観の特徴を数値化した特徴量データを記述した辞書データを参照して物品を認識するとともに、当該認識した物品の販売に関わるデータ処理を行う販売データ処理装置であり、
前記記憶デバイスに記憶された前記特徴量データに基づき、複数の表示色のうちから物品の外観の色に近い表示色を選択する選択ユニットと、
撮像デバイスが撮像した画像に映り込んだ物品の外観の特徴を数値化して前記特徴量データを取得する取得ユニットと、
前記取得ユニットにより取得された前記特徴量データと前記辞書データに記述された前記特徴量データとのマッチングによって、前記画像に映り込んだ物品の候補を前記複数の物品の中から少なくとも1つ選出する選出ユニットと、
表示デバイスの表示画面を、前記選出ユニットにより選出された候補のうちの1つをオペレータが選択するためのものであり、当該候補となっている物品に関して前記選択ユニットにより選択された表示色で少なくとも一部が表されたボタンを少なくとも1つ含んだ操作画面とするように前記表示デバイスを制御する制御ユニットと、
前記表示デバイスにより表示された操作画面上での操作に応じて前記選出ユニットにより選出された候補のうちの1つを選択するためのオペレータの操作を入力する入力ユニットと、
前記入力ユニットで入力された操作に基づいて前記データ処理を行う処理ユニットと、を具備したことを特徴とする販売データ処理装置。
[付記6] 複数の物品のそれぞれに関連付けて記憶デバイスに記憶されていて、かつ当該物品の色を含む外観の特徴を数値化した特徴量データを記述した辞書データを参照して物品を認識する物品認識装置を制御するコンピュータを、
前記記憶デバイスに記憶された前記特徴量データに基づき、複数の表示色のうちから物品の外観の色に近い表示色を選択する選択ユニットと、
撮像デバイスが撮像した画像に映り込んだ物品の外観の特徴を数値化して前記特徴量データを取得する取得ユニットと、
前記取得ユニットにより取得された前記特徴量データと前記辞書データに記述された前記特徴量データとのマッチングによって、前記画像に映り込んだ物品の候補を前記複数の物品の中から少なくとも1つ選出する選出ユニットと、
表示デバイスの表示画面を、前記選出ユニットにより選出された候補のうちの1つをオペレータが選択するためのものであり、当該候補となっている物品に関して前記選択ユニットにより選択された表示色で少なくとも一部が表されたボタンを少なくとも1つ含んだ操作画面とするように前記表示デバイスを制御する制御ユニットと、
前記表示デバイスにより表示された操作画面上での操作に応じて前記選出ユニットにより選出された候補のうちの1つを選択するためのオペレータの操作を入力する入力ユニットと、して機能させるための制御プログラム。