以下では、本実施形態に係る情報処理装置及びプログラムについて、チェックアウトシステムを例に図面を参照して説明する。チェックアウトシステムは、一取引に係る商品の登録、精算を行うPOS端末を備えるチェックアウトシステム(POSシステム)等である。本実施形態は、スーパーマーケット等の店舗に導入されたチェックアウトシステムへの適用例である。
図1は、実施形態にかかるチェックアウトシステム1の一例を示す斜視図である。図1に示すように、チェックアウトシステム1は、商品に関する情報を読み取る商品読取装置101と、一取引に係る商品の登録、精算を行うPOS端末11とを備える。以下では、POS端末11を本実施形態にかかる情報処理装置として適用する例について説明する。
POS端末11は、チェックアウト台41上のドロワ21上面に載置される。ドロワ21は、POS端末11によって開放動作の制御を受ける。POS端末11の上面には、オペレータ(店員)によって押下操作されるキーボード22が配置される。キーボード22を操作するオペレータから見てキーボード22よりも奥側には、オペレータに向けて情報を表示する店員用表示器23が設けられる。店員用表示器23は、その表示面23aに情報を表示する。表示面23aには、タッチパネル26が積層される。店員用表示器23よりも更に奥側には、顧客に向けて情報を表示する客用表示器24が回転可能に立設される。客用表示器24は、その表示面24aに情報を表示する。なお、図1に示す客用表示器24は、表示面24aを図1中手前側に向けているが、表示面24aが図1中奥側に向くように客用表示器24を回転させることによって、客用表示器24は顧客に向けて情報を表示する。
POS端末11が載置されているチェックアウト台41とL字を形成するようにして、横長テーブル状のカウンタ台151が配置される。カウンタ台151の上面には、荷受け面152が形成される。荷受け面152には、商品を収納する買物カゴ153が載置される。買物カゴ153は、顧客によって持ち込まれる第1の買物カゴ153aと、第1の買物カゴ153aから商品読取装置101を挟んだ位置に載置される第2の買物カゴ153bとに分けて考えることができる。なお、買物カゴ153は、いわゆるカゴ形状のものに限るものではなく、トレー等であってもよい。また、買物カゴ153(第2の買物カゴ153b)は、いわゆるカゴ形状のものに限らず、箱状や袋状等であってもよい。
カウンタ台151の荷受け面152には、POS端末11とデータ送受信可能に接続された商品読取装置101が設置される。商品読取装置101は、薄型矩形形状のハウジング102を備える。ハウジング102の正面には読取窓103が配置される。ハウジング102の上部には、表示・操作部104が取り付けられる。表示・操作部104には、タッチパネル105が表面に積層された表示部である店員用表示器106が設けられる。店員用表示器106の右隣にはキーボード107が配設される。キーボード107の右隣には、図示しないカードリーダのカード読取溝108が設けられる。オペレータから見て表示・操作部104の裏面左奥側には、顧客に向けて情報を提供する客用表示器109が設置される。
このような商品読取装置101は、商品読取部110(図2参照)を備える。商品読取部110は、読取窓103の奥側に撮像部164(図2参照)を配置する。
顧客によって持ち込まれた第1の買物カゴ153aには、一取引に係る商品が収納される。第1の買物カゴ153a内の商品は、商品読取装置101を操作するオペレータにより第2の買物カゴ153bに移動される。この移動過程で、商品が商品読取装置101の読取窓103に向けられる。この際、読取窓103内に配置された撮像部164(図2参照)は商品を撮像する。
商品読取装置101は、売上登録する商品の商品コードをPOS端末11に通知する。具体的には、商品読取装置101は、撮像部164が撮像した画像に含まれる商品が、後述するPLUファイルF1(図3参照)に登録された何れの商品に対応するかを指定させるための画面を表示・操作部104に表示する。そして、商品読取装置101は、指定された商品の商品コードをPOS端末11に通知する。POS端末11では、商品読取装置101から通知される商品コードに基づき、当該商品コードに対応する商品の商品分類、商品名、単価等の売上登録に係る情報を、売上ファイル(図示しない)等に記録して売上登録を行う。
図2は、POS端末11及び商品読取装置101のハードウェア構成を示すブロック図である。POS端末11は、情報処理を実行する情報処理部としてのマイクロコンピュータ60を備える。マイクロコンピュータ60は、各種演算処理を実行し各部を制御するCPU(Central Processing Unit)61に、ROM(Read Only Memory)62とRAM(Random Access Memory)63とがバス接続されて構成される。
RAM63は、オブジェクト認識処理用のワークメモリと、コードシンボル認識処理用のワークメモリとして用いられる。各処理の詳細については後述する。
POS端末11のCPU61には、前述したドロワ21、キーボード22、店員用表示器23、タッチパネル26、客用表示器24がいずれも各種の入出力回路(いずれも図示せず)を介して接続される。これらは、CPU61による制御を受ける。
キーボード22は、「1」、「2」、「3」・・・等の数字や「×」という乗算の演算子が上面に表示されているテンキー22d、仮締めキー22e、及び締めキー22fを含む。仮締めキー22e(例えば、小計キー)は、入力された商品の小計金額や税額等を計算するためのキーである。締めキー22f(例えば、現計キー)は、一取引の終了を宣言し、精算処理を行うためのキーである。締めキー22fが操作されると、POS端末11はテンキー22dから入力された預り金額を受付けて、釣銭を計算する。そして、POS端末11の各表示器(店員用表示器23、客用表示器24)および商品読取装置101の各表示器(店員用表示器106、客用表示器109)は合計支払額、釣銭額等の情報を表示する。
POS端末11のCPU61には、HDD64(Hard Disk Drive)が接続される。HDD64には、プログラムや各種ファイルが記憶される。HDD64に記憶されているプログラムや各種ファイルは、POS端末11の起動時に、その全部または一部がRAM63にコピーされてCPU61により実行される。HDD64に記憶されているプログラムの一例は、商品販売データ処理用のプログラムPR1である。HDD64に記憶されているファイルの一例は、ストアコンピュータSCから配信されて格納されているPLUファイルF1である。なお、HDD64は、記憶装置であればよく、SSD(Solid State Drive)などの他の記憶媒体で構成された記憶装置であってもよい。
PLUファイルF1は、店舗に陳列して販売する商品の各々について、商品の売上登録に係る情報を格納する商品ファイルである。以下の説明では、PLUファイルF1を辞書として用いるが、辞書はPLUファイルF1と異なるファイルであっても良い。辞書は、撮像した画像データから抽出した商品を識別するための照合用データ(特徴量)を、複数の商品について記憶する。辞書は、PLUファイルF1と異なるファイルである場合、辞書に記憶される照合用データ(特徴量)と、PLUファイルF1の情報(識別情報)は紐付けられる。特徴量は、商品の標準的な形状、表面の色合い、模様、凹凸状況等の外観の特徴をパラメータ化したものである。
図3は、PLUファイルF1のデータ構成を例示する概念図である。図3に示すように、PLUファイルF1は、商品ごとに、商品コードと、商品に関する情報と、イラスト画像と、特徴量とを、その商品の商品情報として格納するファイルである。商品コードは、商品を識別可能な識別情報である。商品に関する情報は、商品が属する商品分類、商品名、品種、単価等の情報である。イラスト画像は、その商品を示す画像である。特徴量は、撮像した商品画像から読み取られる色合いや表面の凹凸状況等の情報である。尚、特徴量は、後述する類似度の判定に用いられる照合用のデータである。なお、PLUファイルF1は、後述する接続インターフェース65を介し、商品読取装置101が読み出し可能に構成される。
図2に戻り、POS端末11のCPU61には、ストアコンピュータSCとデータ通信を実行するための通信インターフェース25が入出力回路(図示せず)を介して接続される。ストアコンピュータSCは、店舗のバックヤード等に設置される。ストアコンピュータSCのHDD(図示せず)には、POS端末11に配信されるPLUファイルF1が格納される。
更に、POS端末11のCPU61には、商品読取装置101との間でデータ送受信を可能にする接続インターフェース65が接続される。接続インターフェース65には、商品読取装置101が接続される。また、POS端末11のCPU61には、レシート等に印字を行うプリンタ66が接続される。POS端末11は、CPU61の制御の下、一取引の取引内容をレシートに印字する。
商品読取装置101も、マイクロコンピュータ160を備える。マイクロコンピュータ160は、CPU161にROM162とRAM163とがバス接続されて構成される。ROM162には、CPU161によって実行されるプログラムが記憶される。CPU161には、撮像部164、音声出力部165が各種の入出力回路(いずれも不図示)を介して接続される。撮像部164、音声出力部165は、CPU161によって動作が制御される。表示・操作部104は接続インターフェース176を介して、商品読取部110及びPOS端末11に接続される。表示・操作部104は、商品読取部110のCPU161、POS端末11のCPU61によって動作が制御される。
撮像部164は、カラーCCDイメージセンサやカラーCMOSイメージセンサ等のイメージセンサ(不図示)とLEDなどの光源(不図示)とを有しており、CPU161の制御の下で読取窓103の内部から撮像を行う。例えば撮像部164では30fps(Flame Per Second)の画像の撮像を行う。撮像部164は、所定のフレームレートで撮像したフレーム画像(撮像画像)をRAM163に順次保存していく。
音声出力部165は、予め設定された警告音等を発生するための音声回路とスピーカ等である。音声出力部165は、CPU161の制御の下で警告音や音声による報知を行う。
更に、CPU161には、POS端末11の接続インターフェース65に接続して、POS端末11との間でデータ送受信を可能にする接続インターフェース175が接続される。また、CPU161は、接続インターフェース175を介して、表示・操作部104との間でデータ送受信を行う。
次に、CPU61がプログラム(商品販売データ処理用のプログラムPR1)を実行することで実現されるCPU61の機能構成について説明する。
図4は、POS端末11の機能構成を示すブロック図である。CPU61はプログラムPR1を実行することにより、並列制御部610と、オブジェクト認識エンジン620と、コードシンボル認識エンジン630と、停止制御部640と、入力受付部613と、登録部614と、報知部615と、表示制御部616として機能する。
並列制御部610は、撮像部164に撮像オン信号を出力して撮像部164に撮像動作を開始させる。また、並列制御部610は、オブジェクト認識エンジン620、コードシンボル認識エンジン630、停止制御処理の各処理を並列に開始し、各処理を並行して制御する。
停止制御部640は、オブジェクト認識エンジン620及びコードシンボル認識エンジン630の処理状況を監視し、いずれか一方の認識エンジンが商品を認識し、売上商品を仮登録した際に他方の認識エンジンの処理を停止する。これにより、双方のエンジンが同一商品を二重に登録してしまうことを防ぐ。
オブジェクト認識エンジン620は、後述のオブジェクト認識処理を行う。登録部614はこの認識結果を利用して売上商品の商品情報を売上登録情報として登録(仮登録)する。また、表示制御部616は仮登録した売上商品の商品情報を登録画面71の登録明細表示領域83(ともに図5参照)に表示する。このように、オブジェクト認識エンジン620と登録部614と表示制御部616とは、本実施形態の第2処理手段として機能する。
尚、仮登録とは、売上商品の商品を登録画面71の登録明細表示領域83(ともに図5参照)に表示することで、精算後に売上データを記録する登録処理(例えば図6のステップS8)とはその処理段階を異にするものである。
コードシンボル認識エンジン630は、後述のコードシンボル認識処理を行う。登録部614はこの認識結果を利用して売上商品の商品情報を売上登録情報として登録(仮登録)する。また、表示制御部616は仮登録した売上商品の商品情報を登録画面71(図5参照)に表示する。これにより、コードシンボル認識エンジン630と登録部614と表示制御部616とは、本実施形態の第1処理手段として機能する。
ここで、オブジェクト認識エンジン620およびコードシンボル認識エンジン630のより詳細な機能構成について、それぞれ有する各部の構成例とともに説明する。
(オブジェクト認識エンジン)
まず、オブジェクト認識エンジン620が有する各部の機能構成について説明する。図4に示すように、オブジェクト認識エンジン620は、画像取込部621と、商品検出部622と、類似度算出部623と、候補選出部624と、候補提示部625とを有している。
画像取込部621は、撮像部164が商品読取装置101のRAM163に保存したフレーム画像を、POS端末11のRAM63のオブジェクト認識処理用のワークメモリ上に順次取り込む。画像取込部621によるフレーム画像の取り込みは、RAM163に保存された順に行われる。
商品検出部622は、画像取込部621が取り込んだフレーム画像に含まれる商品の全部または一部を、パターンマッチング技術等を用いて検出する。具体的には、取り込まれたフレーム画像を2値化した画像から輪郭線等を抽出する。次いで、前回のフレーム画像から抽出された輪郭線と、今回のフレーム画像から抽出された輪郭線とを比較した差分に基づいて、売上登録のために読取窓103に向けられた商品を検出する。
なお、前回のフレーム画像とは、例えば、オブジェクト認識エンジン620を起動させる前に、画像取込部621によって取り込まれた背景のフレーム画像である。また、前回のフレーム画像として、前回のオブジェクト認識処理の実行直後に、画像取込部621によって取り込まれた背景のフレーム画像を用いるようにしても良い。さらに、利用者が任意のタイミングで前回のフレーム画像を背景として取得するようにしても良い。
なお、商品を検出する別の方法としては、取り込まれたフレーム画像から肌色領域の有無を検出する。次いで、肌色領域が検出された場合、すなわち、店員の手が検出された場合は、この肌色領域の近傍において上述した輪郭線の検出を行うことで、店員の手が把持していると想定される商品の輪郭抽出を試みる。この時、手の形状を示す輪郭と、手の輪郭の近傍にそれ以外の物体の輪郭とが検出された場合、この物体の輪郭から商品を検出する。
類似度算出部623は、撮像部164により撮像された商品の全部または一部のフレーム画像から、商品の色合いや表面の凹凸状況等の表面の状態を特徴量として抽出する。また、類似度算出部623は、PLUファイルF1に登録された各商品(以下、登録商品という)の特徴量と、商品の特徴量とを比較することで、商品とPLUファイルF1に登録された商品との類似度を算出する。ここで、類似度は、PLUファイルF1に記憶されている各商品の商品画像を100%=「類似度:1.0」とした場合に、商品の全部または一部の画像がどの程度類似しているかを示すものである。なお、例えば、色合いと表面の凹凸状況とでは、重み付けを変えて類似度を算出してもよい。
このように画像中に含まれる物体を認識することは一般物体認識(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=rep1&type=pdf >
なお、撮像された商品の画像と、PLUファイルF1に登録された登録商品の商品画像との類似度の算出方法は特に問わないものとする。例えば、撮像された商品の画像と、PLUファイルF1に登録された各登録商品との類似度を絶対評価として算出してもよいし、相対評価として算出してもよい。
候補選出部624は、類似度算出部623が算出した類似度に基づいて、その類似度が所定の閾値を満たす登録商品を、撮像部164が撮像した商品の候補(以下、商品候補という)として選出する。
候補提示部625は、候補選出部624が認識した商品候補に関する情報を店員用表示器106に表示させる。より詳細には、候補提示部625は、条件を満たした登録商品のイラスト画像および商品名をPLUファイルF1から読み出し、類似度算出部623が算出した類似度の高い順に並べて、店員用表示器106に表示する。
また、候補提示部625は、商品候補に関する情報を店員用表示器106に表示されるタイミングに合わせて、複数の候補が有る旨を、音声出力部165に音声出力させるようにしてもよい。さらに、候補提示部625は、野菜や果物の区別などを容易に判断できるような情報を、音声出力部165に音声出力させるようにしてもよい。
(コードシンボル認識エンジン)
次に、コードシンボル認識エンジン630が有する各部の機能について説明する。図4に示すように、コードシンボル認識エンジン630は、画像取込部631と、コードシンボル検出部632と、コード読取部633とを有している。
画像取込部631は、撮像部164が商品読取装置101のRAM163に保存したフレーム画像を、POS端末11のRAM63のコードシンボル認識処理用のワークメモリ上に取り込む。
コードシンボル検出部632は、画像取込部631により取り込まれたフレーム画像から、バーコードや二次元コードなどのコードシンボルを検出する。
コード読取部633は、コードシンボル検出部632が検出したコードシンボルから商品コードを読み取ることで商品を認識する。
入力受付部613は、商品読取装置101のタッチパネル105またはキーボード107を介して店員用表示器106の表示に対応する各種入力操作を受付ける。また、入力受付部613は、POS端末11のタッチパネル26またはキーボード22を介して店員用表示器23の表示に対応する各種入力操作を受付ける。例えば、入力受付部613は、候補提示部625により提示された商品候補(図9のアイコン91a〜91c)の中から撮像部164にかざされた商品に対応する商品を選択する入力を受け付ける。
登録部614は、オブジェクト認識エンジン620が認識した商品候補について、入力受付部613が選択操作を受付けた商品を、販売対象の商品として売上登録(仮登録)する。即ち、登録部614は、入力受付部613が選択操作を受付けた商品について、その商品情報をPLUファイルF1から読み取り、入力受付部613が受付けた販売個数とともに仮登録する。
また、登録部614は、コードシンボル認識エンジン630が認識した商品を、販売対象の商品として売上登録(仮登録)する。即ち登録部614は、コード読取部633が読み取った商品コードに対応する商品分類、商品名、単価等をPLUファイルF1から読み取り、入力受付部613が受付けた販売個数とともに仮登録する。
加えて登録部614は、締めキー等の選択操作により一取引の終了を宣言された際に、仮登録した商品情報と精算時の金額等とを含めて売上データを生成し、売上ファイル(不図示)に登録(本登録)する。
報知部615は、登録部614が商品を登録した場合に、ブザー音や表示出力を行って報知する。例えば報知部615は、商品の登録を報知する画面を商品読取装置101の店員用表示器106、または、POS端末11の店員用表示器106に表示する。
なお、報知部615は、コードシンボル認識エンジン630により商品が仮登録された場合に、コードシンボルにより仮登録されたことを明示する報知をしてもよい。オブジェクト認識処理により商品を仮登録する際にはオペレータが選択画面85(図9参照)から商品候補を選択する必要がある。これに対してコードシンボル認識処理は、オペレータによる操作を介さずに仮登録を自動的に行う。従って、先にコードシンボル認識処理によって商品が仮登録された際に、その商品を撮像部164にかざすのをやめることをオペレータに促す。これにより、オペレータが仮登録後も商品をかざし続けてしまい、同一商品を再度登録してしまうことを回避することができる。
表示制御部616は、店員用表示器106等に表示させる画像を制御する。例えば表示制御部616は、POS端末11の店員用表示器23および商品読取装置101の店員用表示器106上に、商品登録用の登録画面71(図5参照)を表示する。
図5は、登録画面71の画面構成例を示す図である。登録画面71においては、画像認識処理(即ち、オブジェクト認識処理またはコード認識処理)を用いて商品を登録することができる。尚、登録画面71からは、商品コードの入力を受付けて商品を登録したり、商品一覧からの選択を受付けて商品を登録したりすることも可能である。
登録画面71には、画像認識タグ81が設けられている。画像認識タグ81が選択操作されると、CPU61は画像認識処理による商品登録処理を開始する。画像認識処理による商品登録処理とは、オブジェクト認識エンジン620及びコードシンボル認識エンジン630を用いた商品登録処理のことである。また、画像認識タグ81が選択操作されると、表示制御部616はオブジェクト認識画面G1の表示領域を登録画面71内の一表示領域に割り当てて表示する。
オブジェクト認識画面G1は、撮像画像表示領域G12と、ガイダンス表示領域G13とを主に有している。撮像画像表示領域G12は、撮像部164による撮像画像を表示する領域である。この撮像画像表示領域G12に表示された画像を見ることで、オペレータは、商品のかざしかたなどを目視確認することができる。ガイダンス表示領域G13は、オブジェクト認識にかかるガイダンスイラストまたはガイダンスメッセージを表示する領域である。
また、登録画面71の下部には、商品情報表示領域82が設けられている。表示制御部616は、画像認識処理または商品一覧等を介してPLUファイルF1から直近に読み込まれた商品情報などを、商品情報表示領域82に表示する。商品情報としては、商品名、単価等が表示される。また、入力受付部613がテンキー22d等の操作を介して受付けた販売個数も、商品情報表示領域82に表示される。
加えて、登録画面71の左側端部には、登録明細表示領域83が設けられている。表示制御部616は、上述のようにPLUファイルF1から読み込まれた商品情報を、登録順に順次、登録明細表示領域83に表示する。
次に、POS端末1が行う画像認識処理による商品登録処理について、図6を用いて一動作例を説明する。図6は、画像認識処理による商品登録処理の手順例を示したフローチャートである。
入力受付部613が登録画面71において画像認識タグ81の選択操作を受付けると、並列制御部610は撮像部164に撮像オン信号を出力し、撮像部164に撮像処理を開始させる(ステップS1)。並列制御部610は、コードシンボル認識処理(ステップS2)、オブジェクト認識処理(ステップS3)、停止制御処理(ステップS4)の各処理を並行して開始する。各処理における手順については、図7、図8、図10とともに後述する。
次に、登録部614は、締めキー22f(図2参照)が選択操作されたか否かを判定する(ステップS5)。締めキー22fが選択操作されなければ(ステップS5:No)、ステップS2、ステップS3、ステップS4の並列処理を続行する。締めキー22fが選択操作され、精算の指示を受付けると(ステップS5:Yes)、並列制御部610は撮像部164に撮像オフ信号を出力し、撮像部164に撮像処理を停止させる(ステップS6)。そして、登録部614は、精算処理を行う(ステップS7)。即ち登録部614は、この取引の合計金額と、キーボード22のテンキー22dから受付けた客からの預り金とから釣銭を計算する。表示制御部616は、計算された釣銭額を、店員用表示器23、106、客用表示器24、109それぞれに表示する。尚、表示出力先はこれら全ての表示器でなく一部の表示器に出力してもよい。店員は表示器に表示された釣銭を客に渡し、この取引の精算業務を終える。
登録部614は、一取引分の売上商品の商品情報と、合計金額、合計点数、預り金額、釣銭額、レジ担当者を示す情報、取引日時、レジ番号、レシート番号等の情報を売上ファイルに登録(本登録)し(ステップS8)、この取引の登録処理を終了する。
次に、ステップS2で行われるコードシンボル認識処理の動作例について、図7を用いて説明する。図7は、コードシンボル認識処理の手順例を示したフローチャートである。尚、ここでいうコードシンボル認識処理は、コードシンボル認識エンジン630が認識した商品を登録部614が仮登録する処理と、表示制御部616が登録画面71上に表示する処理とを含むものとする。
まず、画像取込部631はフレーム画像の取込を開始する(ステップS21)。即ち、画像取込部631は、撮像部164が商品読取装置101のRAM163に保存したフレーム画像を、POS端末11のRAM63内のコード認識用ワークメモリに取り込む(ステップS21)。
コードシンボル検出部632は、コード認識用ワークメモリに取り込まれたフレーム画像の各々に対して、順次コードシンボルの検出処理を行う。コードシンボルが検出されない間(ステップS22:No)は、ステップS22に戻り検出処理を続ける。コードシンボルが検出されると(ステップS22:Yes)、画像取込部631は、フレーム画像の取込を終了する(ステップS23)。また、コード読取部633は、検出されたコードシンボルから、商品コードを読み取る(ステップS24)。チェックデジットが適正値にならない場合など、読み取られたコードが不完全でありコード読取をやり直す必要があれば(ステップS25:No)ステップS22に戻る。そして、再度コードシンボルを検出して商品コードの読取をやり直す(ステップS22〜S25)。
一方、ステップS24で読み取られたコードが適正であれば(ステップS25:Yes)、登録部614は、商品コードに対応する商品情報をPLUファイルF1から読み込むことによりその商品情報を売上登録情報として仮登録する(ステップS26)。表示制御部616は、登録画面71の商品情報表示領域82および登録明細表示領域83に、ステップS26で読み込んだ商品情報と、キーボード107から受付けた点数や、これらに基づき計算した小計額を表示する(ステップS27)。
次に、ステップS3で行われるオブジェクト認識処理の動作例について、図8を用いて説明する。図8は、オブジェクト認識処理の手順例を示したフローチャートである。尚、ここでいうオブジェクト認識処理は、オブジェクト認識エンジン620が認識した商品を登録部614が仮登録する処理と、表示制御部616が登録画面71上に表示する処理とを含むものとする。
まず、画像取込部621はフレーム画像の取込を開始する(ステップS31)。即ち、画像取込部621は、撮像部164が商品読取装置101のRAM163に保存したフレーム画像を、POS端末11のRAM63内のオブジェクト認識用ワークメモリに取り込む(ステップS31)。
商品検出部622は、オブジェクト認識用ワークメモリに取り込まれたフレーム画像に対して、商品を撮像した領域の検出処理を行う。尚、商品検出部622は、複数のフレーム画像を積算したり、平均化あるいは平滑化等の画像処理を行って、処理後の画像に対して商品の検出処理を行ってもよい。オブジェクト(即ち、商品の撮像領域)が検出されると(ステップS32:Yes)、画像取込部621はフレーム画像の取込処理を終了する(ステップS33)。オブジェクトが検出されない間(ステップS32:No)はステップS32に戻る。そして商品検出部622は、オブジェクトが検出されるまで、画像取込部621が順次取り込んだフレーム画像、或いは上述のような画像処理により新たに生成された画像に対して、商品検出処理を続ける。
次に、類似度算出部623は、検出した商品の画像領域からその商品の特徴量を算出する。そして、類似度算出部623は、算出した特徴量とPLUファイルF1とに基づき、PLUファイルF1に格納されている商品との類似度を算出する(ステップS34)。次に、候補選出部624は、類似度が所定の閾値以上となった商品を商品候補として選出する(ステップS35)。商品候補が選出されなければ(ステップS36:No)、ステップS31に戻り再度画像取込を開始する。商品候補が選出されると(ステップS36:Yes)、表示制御部616は、オブジェクト認識画面G1(図5参照)の表示領域に図9に示すような選択画面85を表示する(ステップS37)。
図9は、選択画面85の画面構成例を示す図である。選択画面85は、商品候補の中から登録すべき商品を選択するための画面である。表示制御部616は、商品候補のイラストや商品名を含めたアイコン91a〜91cを、類似度の高い順に並べて表示する。選択画面85には、商品候補のアイコン91a〜91cから登録すべき商品を選択するようオペレータに促すガイダンスメッセージ92が表示される。また、選択画面85には、再度オブジェクト認識処理を行って商品候補を再選出する処理を開始するためのアイコン93が設けられている。オペレータは、表示された商品候補のアイコン91a〜91cに登録すべき商品が含まれていない際にはアイコン93を選択すればよい。
図8に戻って、入力受付部613が商品候補のアイコン91a〜91cのうちいずれか1つの選択操作を受付けると(ステップS38:Yes)、登録部614は当該商品候補に対応する商品名や商品価格等の商品情報をPLUファイルF1から読み込み、売上登録情報として仮登録する(ステップS39)。尚、アイコン91a〜91cの選択操作を受付けなければ(ステップS38:No)、ステップS31に戻り再度画像取込を開始する。
続いて表示制御部616は、登録部614が読み込んだ商品情報と、入力受付部613がキーボード107等から受付けた商品個数、そしてこれらにより計算された小計金額等を登録画面71の商品情報表示領域82および登録明細表示領域83(ともに図5参照)に表示する(ステップS40)。その後、図6のステップS5に移行する。
次に、ステップS4で行われる停止制御処理の動作例について、図10を用いて説明する。図10は、停止制御処理の手順例を示したフローチャートである。
停止制御部640は、コードシンボル認識処理(図7参照)およびオブジェクト認識処理(図8参照)の処理状況を監視する(ステップS41)。即ち、停止制御部640は、現時点で図7に示すいずれのステップが処理中であるかを監視する。また、停止制御部640は、現時点で図8に示すいずれのステップが処理中であるかを監視する。オブジェクト認識エンジン620およびコードシンボル認識エンジン630のいずれか一方が商品を仮登録するまで(ステップS42:No)、停止制御部640は監視処理を続行する(ステップS41)。
そしてオブジェクト認識エンジン620およびコードシンボル認識エンジン630のいずれか一方が商品を認識し、当該認識結果に基づき登録部614が商品情報を仮登録すると(ステップS42:Yes)、停止制御部640は仮登録を行っていない方の認識処理を停止させる。またこの場合に停止制御部640は、その時点での処理進行状況に応じて認識処理を停止する。
まず、コードシンボル認識処理(図7参照)において先に商品が仮登録されて、オブジェクト認識処理(図8参照)を停止する場合の停止処理手順について説明する。
コードシンボル認識エンジン630の商品コード読取による停止である場合(ステップS43:Yes)、停止制御部640はオブジェクト認識エンジン620の処理段階がオブジェクト認識処理(図8参照)のいずれのステップであったかを読み込む(ステップS44)。そして、商品検出部622がフレーム画像からオブジェクト(商品)を検出していなければ(ステップS45:No)、停止制御部640は画像取込部621に画像の取込を停止させる(ステップS46)。そして、停止制御部640は、オブジェクト認識用のワークメモリをクリアし(ステップS47)、図6のステップS5に移行する。
オブジェクト認識処理(図8参照)においてステップS32:Yes以降にあり、商品検出部622がすでに商品を検出していれば(ステップS45:Yes)、ステップS48に移行する。そして、オブジェクト認識処理(図8参照)においてステップS35まで処理が進んでおらず、商品候補がまだ選出されていなければ(ステップS48:No)、ステップS49の処理を行う。ステップS49で停止制御部640は、候補選出部624による商品候補の選出処理(図8のステップS35)を停止させる。その後、停止制御部640は、オブジェクト認識用のワークメモリをクリアし(ステップS47)、図6のステップS5に移行する。
一方、商品候補がすでに選定されていれば(ステップS48:Yes)、停止制御部640は、表示制御部616による選択画面85の表示処理(図8のステップS38)を終了させる(ステップS50)。その後、停止制御部640は、オブジェクト認識用のワークメモリをクリアし(ステップS47)、図6のステップS5に移行する。
一方、オブジェクト認識処理(図8参照)において先に商品が仮登録されて、コードシンボル認識処理(図7参照)を停止する場合の停止処理手順について説明する。
オブジェクト認識エンジン620のオブジェクト認識による停止である場合(ステップS43:No〜ステップS51:Yes)、停止制御部640は、図7に示すコードシンボル認識処理を停止する(ステップS52)。そして停止制御部640は、コードシンボル認識用のワークメモリをクリアし(ステップS53)、図6のステップS5に移行する。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、上記実施形態では、POS端末11がPLUファイルF1を備える形態としたが、これに限らず、商品読取装置101がPLUファイルF1を備える形態としてもよい。または、POS端末11及び商品読取装置101がアクセス可能な外部装置がPLUファイルF1を備える形態としてもよい。
また、上記実施形態では、画像取込部621と、並列制御部610と、オブジェクト認識エンジン620と、コードシンボル認識エンジン630と、入力受付部613と、登録部614と、報知部615と、表示制御部616との機能を有する情報処理装置としてPOS端末11を適用した。しかし、これに限らず、画像取込部621と、並列制御部610と、オブジェクト認識エンジン620と、コードシンボル認識エンジン630と、入力受付部613と、登録部614と、報知部615と、表示制御部616との機能を備えて、算出結果や判定結果をPOS端末11に出力する情報処理装置として商品読取装置101を適用してもよい。また、上記実施形態では、照合用データを特徴量として説明したが、照合用データは、撮像された商品画像(基準画像)としてもよい。
また、上記実施形態で説明した機能を、POS端末11及び商品読取装置101の機能を兼ね備えた1台の販売データ処理装置が有する形態としてもよい。一例として、上述した本実施形態の諸機能を、セルフチェックアウト装置(セルフPOS端末)に備える形態としてもよい。即ち、セルフPOS端末(販売データ処理装置)は撮像部164を有し、図4とともに上述した各部の機能を制御部として実現できる構成を有すればよい。尚、制御部の機能としては、上述した並列制御部610、オブジェクト認識エンジン620、コードシンボル認識エンジン630、停止制御部640、入力受付部613、登録部614、報知部615、表示制御部616を有すればよい。
また、報知部615は、停止前のオブジェクト識別処理においてオブジェクト認識エンジン620が選出した商品候補と、処理再開後のオブジェクト識別処理においてオブジェクト認識エンジン620が選出した商品候補とが同じ商品であれば、前回の商品候補と今回の商品候補とが同一の商品である旨を報知してもよい。更に好ましくは、前回(即ち、処理停止前)のオブジェクト識別処理において選出された最も類似性(類似度)の高い商品候補と、今回(処理再開後)のオブジェクト識別処理において選出された最も類似性の高い商品候補とが同一の場合に、前回の商品候補と今回の商品候補とが同一であることを色やマークにより報知するとよい。
これにより、次回分の画像取込が再開された場合にオペレータが同じ商品を撮像部164に翳し続けており、再度同じ商品の撮像を続けてしまった場合に、同一商品を再登録することを回避しやすくなる。
また、上述では、停止制御部640が、コードシンボル認識処理またはオブジェクト認識処理のいずれか一方において先に商品が仮登録されたタイミングで、他方の認識処理を停止する例について説明したが、処理停止のトリガとなるタイミングについては仮登録に限定されない。即ち、仮登録とそれに伴う仮登録情報の表示など、外部から確認可能なタイミングであってもよいし、外部から確認しにくい他の処理状況に応じたタイミングであってもよい。図7において例えば、ステップS24のコード読取が終了した時点や、適正コードであることが判定された時点(ステップS25:Yes)、PLUファイルF1から商品情報が読み込まれた時点(ステップS26)等を、処理停止のトリガとなるタイミングとして用いてもよい。
上記実施形態や変形例の各装置で実行されるプログラムは、各装置が備える記憶媒体(ROM又は記憶部)に予め組み込んで提供するものとするが、これに限らないものとする。例えば、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、記憶媒体は、コンピュータ或いは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
また、上記実施形態や変形例の各装置で実行されるプログラムをインターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよいし、インターネット等のネットワーク経由で提供又は配布するように構成してもよい。
以上のように本実施形態によれば、コードシンボル認識処理(第1処理)で読み取られた商品情報が売上商品の商品情報として登録画面71に表示されると、オブジェクト認識処理(第2処理)において表示された選択画面85の表示が終了する。オペレータは、選択画面85の表示終了により、コード読取処理によって商品が売上商品として登録(仮登録)されたことを認識することができる。従って本実施形態によれば、並行して行われている画像認識処理の処理段階が分かり易くなる。
また、本実施形態によれば、オペレータの操作を介さずに選択画面85の表示を自動的に終了できる。従って本実施形態によれば、コード読取処理による商品登録とオブジェクト認識処理による商品登録とを並行して行う際の作業効率の向上を図ることができる。