以下では、本実施形態に係る情報処理装置及びプログラムについて、チェックアウトシステムを例に図面を参照して説明する。チェックアウトシステムは、一取引に係る商品の登録、精算を行うPOS端末を備えるチェックアウトシステム(POSシステム)等である。本実施形態は、スーパーマーケット等の店舗に導入されたチェックアウトシステムへの適用例である。
図1は、実施形態にかかるチェックアウトシステム1の一例を示す斜視図である。図1に示すように、チェックアウトシステム1は、商品に関する情報を読み取る商品読取装置101と、一取引に係る商品の登録、精算を行うPOS端末11とを備える。以下では、POS端末11を本実施形態にかかる情報処理装置として適用する例について説明する。
POS端末11は、チェックアウト台41上のドロワ21上面に載置される。ドロワ21は、POS端末11によって開放動作の制御を受ける。POS端末11の上面には、オペレータ(店員)によって押下操作されるキーボード22が配置される。キーボード22を操作するオペレータから見てキーボード22よりも奥側には、オペレータに向けて情報を表示する第1表示デバイス23が設けられる。第1表示デバイス23は、その表示面23aに情報を表示する。表示面23aには、タッチパネル26が積層される。第1表示デバイス23よりも更に奥側には、顧客に向けて情報を表示する第2表示デバイス24が回転可能に立設される。第2表示デバイス24は、その表示面24aに情報を表示する。なお、図1に示す第2表示デバイス24は、表示面24aを図1中手前側に向けているが、表示面24aが図1中奥側に向くように第2表示デバイス24を回転させることによって、第2表示デバイス24は顧客に向けて情報を表示する。
POS端末11が載置されているチェックアウト台41とL字を形成するようにして、横長テーブル状のカウンタ台151が配置される。カウンタ台151の上面には、荷受け面152が形成される。荷受け面152には、商品Aを収納する買物カゴ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が表面に積層された表示部である第1表示デバイス106が設けられる。第1表示デバイス106の右隣にはキーボード107が配設される。キーボード107の右隣には、図示しないカードリーダのカード読取溝108が設けられる。オペレータから見て表示・操作部104の裏面左奥側には、顧客に向けて情報を提供する第2表示デバイス109が設置される。
このような商品読取装置101は、商品読取部110(図2参照)を備える。商品読取部110は、読取窓103の奥側に撮像部164(図2参照)を配置する。
顧客によって持ち込まれた第1の買物カゴ153aには、一取引に係る商品Aが収納される。第1の買物カゴ153a内の商品Aは、商品読取装置101を操作するオペレータにより第2の買物カゴ153bに移動される。この移動過程で、商品Aが商品読取装置101の読取窓103に向けられる。この際、読取窓103内に配置された撮像部164(図2参照)は商品Aを撮像する。
商品読取装置101は、売上登録する商品の商品IDをPOS端末11に通知する。具体的には、商品読取装置101は、撮像部164が撮像した画像に含まれる商品Aが、後述するPLUファイルF1(図3参照)に登録された何れの商品に対応するかを指定させるための画面を表示・操作部104に表示する。そして、商品読取装置101は、指定された商品の商品IDをPOS端末11に通知する。POS端末11では、商品読取装置101から通知される商品IDに基づき、当該商品IDに対応する商品の商品分類、商品名、単価等の売上登録に係る情報を、売上マスタファイル(図示しない)等に記録して売上登録を行う。
図2は、POS端末11及び商品読取装置101のハードウェア構成を示すブロック図である。POS端末11は、情報処理を実行する情報処理部としてのマイクロコンピュータ60を備える。マイクロコンピュータ60は、各種演算処理を実行し各部を制御するCPU(Central Processing Unit)61に、ROM(Read Only Memory)62とRAM(Random Access Memory)63とがバス接続されて構成される。
POS端末11のCPU61には、前述したドロワ21、キーボード22、第1表示デバイス23、タッチパネル26、第2表示デバイス24がいずれも各種の入出力回路(いずれも図示せず)を介して接続される。これらは、CPU61による制御を受ける。
キーボード22は、「1」、「2」、「3」・・・等の数字や「×」という乗算の演算子が上面に表示されているテンキー22d、仮締めキー22e、及び締めキー22fを含む。
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は、店舗に陳列して販売する商品Aの各々について、商品Aの売上登録に係る情報を格納する商品ファイルである。以下の説明では、PLUファイルF1を辞書として用いるが、辞書はPLUファイルF1と異なるファイルであっても良い。辞書は、撮像した画像データから抽出した商品を識別するための照合用データ(特徴量)を、複数の商品について記憶する。辞書は、PLUファイルF1と異なるファイルである場合、辞書に記憶される照合用データ(特徴量)と、PLUファイルF1の情報(識別情報)は紐付けられる。特徴量は、商品の標準的な形状、表面の色合い、模様、凹凸状況等の外観の特徴をパラメータ化したものである。
図3は、PLUファイルF1のデータ構成を例示する概念図である。図3に示すように、PLUファイルF1は、商品ごとに、商品IDと、商品に関する情報と、イラスト画像と、特徴量とを、その商品Aの商品情報として格納するファイルである。商品IDは、商品を識別可能な識別情報である。商品に関する情報は、商品Aが属する商品分類、商品名、品種、単価等の情報である。イラスト画像は、その商品Aを示す画像である。特徴量は、撮像した商品画像から読み取られる色合いや表面の凹凸状況等の情報である。尚、特徴量は、後述する類似度の判定に用いられる照合用のデータである。なお、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の機能構成を示すブロック図である。
図4は、POS端末11の機能構成を示すブロック図である。図4に示すように、POS端末11のCPU61は、ROM62やHDD64が格納するプログラムを実行することにより各種機能を発揮する。具体的には、POS端末11のCPU61は、画像取込部611と、並列制御部612と、オブジェクト認識エンジン620と、コードシンボル認識エンジン630と、入力受付部613と、売上登録部614と、登録報知部615と、表示制御部616として機能する。ここで、第1の認識手段であるオブジェクト認識エンジン620は、商品検出部621と、類似度算出部622と、類似度判定部623と、商品候補提示部624とを有する。また、第2の認識手段であるコードシンボル認識エンジン630は、コードシンボル検出部631と、コードシンボル読取部632とを有する。
撮像手段である画像取込部611は、撮像部164に撮像オン信号を出力して撮像部164に撮像動作を開始させる。画像取込部611は、撮像動作開始後に撮像部164が撮像してRAM163に保存されたフレーム画像を順次取り込む。画像取込部611によるフレーム画像の取り込みは、RAM163に保存された順に行われる。
ところで、撮像部164の光源の近く、すなわち読取窓103の近くに商品A(オブジェクト)が位置していない場合、撮像部164による撮影画像は明度0かそれに近い状態となる。そして、読取窓103に認識させたい商品A(オブジェクト)を近づけることにより、光源からの光が商品A(オブジェクト)に反射するので撮像部164による撮影画像の明度が明るく変化する。
画像取込部611は、このような明度変化(色の属性の変化)を検知し、明度が所定の基準値より高い場合に、商品A(オブジェクト)がかざされた状態であると判定する。一方、明度が所定の基準値より低い場合に、画像取込部611は、商品A(オブジェクト)がかざされていない状態、すなわちフレームアウトした状態であると判定する。
なお、商品読取装置101の設置環境によっては、商品A(オブジェクト)がない状態での撮影画像にはばらつきが生じることがある。そこで、不要な外乱による影響による不要なオブジェクト認識処理によりCPU負荷を増やすことの無いように、オブジェクト認識エンジン620を動作させる明度の基準値を制御・設定する必要がある。なお、色の属性としては、色の明るさを表す明度の他に、色味の強さを表す彩度を用いるようにしてもよい。
制御手段である並列制御部612は、オブジェクト認識エンジン620と、コードシンボル認識エンジン630とによる並列処理を制御する。さらに詳しくは、並列制御部612は、画像取込部611がフレーム画像をRAM163に取り込んだことを通知する。これにより、オブジェクト認識エンジン620と、コードシンボル認識エンジン630とは、並列して処理を開始する。そして、並列制御部612は、オブジェクト認識エンジン620が商品Aを認識し、売上登録した場合には、コードシンボル認識エンジン630を停止させる。また、並列制御部612は、コードシンボル認識エンジン630が商品Aを認識し、売上登録した場合には、オブジェクト認識エンジン620を停止させる。
(オブジェクト認識エンジン)
オブジェクト認識エンジン620に係る機能について説明する。商品検出部621は、並列制御部612からフレーム画像がRAM163に保存されたことを通知されると、RAM163に保存されたフレーム画像を読み取る。
そして、商品検出部621は、画像取込部611により取り込まれたフレーム画像に含まれる商品Aの全部または一部を、パターンマッチング技術等を用いて検出する。具体的には、取り込まれたフレーム画像を2値化した画像から輪郭線等を抽出する。次いで、前回のフレーム画像から抽出された輪郭線と、今回のフレーム画像から抽出された輪郭線とを比較した差分に基づいて、売上登録のために読取窓103に向けられた商品を検出する。
なお、前回のフレーム画像とは、例えば、オブジェクト認識エンジン620を起動させる前に、画像取込部611によって取り込まれた背景のフレーム画像である。このようなオブジェクト認識エンジン620を起動させる前に前回のフレーム画像として背景のフレーム画像を自動的に取得することは、背景が比較的余り変わらない環境の場合に有用である。例えば、撮像部164が、カウンタ台151の上面の荷受け面152に向けて、鉛直下向き方向を読取方向として取り付けられている場合などである。なお、環境には、照明(周囲と商品読取装置101自体の照明)の状態と、利用者の服装などが含まれる。
また、前回のフレーム画像として、前回のオブジェクト認識処理の実行直後に、画像取込部611によって取り込まれた背景のフレーム画像を用いるようにしても良い。このようにすることは、背景が比較的変わりやすい環境や、セルフレジなどのようにお客様の服装や商品読取装置101との距離などがさまざまに変わることが予測されるような場合に有用である。
さらに、利用者が任意のタイミングで前回のフレーム画像を背景として取得するようにしても良い。任意のタイミングで前回のフレーム画像を背景として取得するケースとしては、様々な場合が考えられるが、例えば辞書であるPLUファイルF1の作成時などに有効である。
なお、商品を検出する別の方法としては、取り込まれたフレーム画像から肌色領域の有無を検出する。次いで、肌色領域が検出された場合、すなわち、店員の手が検出された場合は、この肌色領域の近傍において上述した輪郭線の検出を行うことで、店員の手が把持していると想定される商品の輪郭抽出を試みる。この時、手の形状を示す輪郭と、手の輪郭の近傍にそれ以外の物体の輪郭とが検出された場合、この物体の輪郭から商品を検出する。
類似度算出部622は、撮像部164により撮像された商品Aの全部または一部のフレーム画像から、商品Aの色合いや表面の凹凸状況等の表面の状態を特徴量として抽出する。なお、類似度算出部622は、処理時間の短縮を図るため、商品Aの輪郭や大きさは考慮しないものとする。
また、類似度算出部622は、PLUファイルF1に登録された各商品(以下、登録商品という)の特徴量と、商品Aの特徴量とを比較することで、商品AとPLUファイルF1に登録された商品との類似度を算出する。ここで、類似度は、PLUファイルF1に記憶されている各商品の商品画像を100%=「類似度:1.0」とした場合に、商品Aの全部または一部の画像がどの程度類似しているかを示すものである。なお、例えば、色合いと表面の凹凸状況とでは、重み付けを変えて類似度を算出してもよい。
このように画像中に含まれる物体を認識することは一般物体認識(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 >
なお、撮像された商品Aの画像と、PLUファイルF1に登録された登録商品の商品画像との類似度の算出方法は特に問わないものとする。例えば、撮像された商品Aの画像と、PLUファイルF1に登録された各登録商品との類似度を絶対評価として算出してもよいし、相対評価として算出してもよい。
類似度を絶対評価として算出する場合に、類似度算出部622は、商品Aの特徴量と、PLUファイルF1に登録された各登録商品の特徴量とを1対1で比較し、導出した類似度をそのまま採用すればよい。また、類似度を相対評価として算出する場合に、類似度算出部622は、PLUファイルF1に登録された各登録商品の類似度の総和が1.0(100%)となるよう算出すればよい。PLUファイルF1に5つの登録商品(商品AA、AB、AC、AD、AE)が登録されている場合を例に説明する。類似度算出部622は、撮像された商品Aとの類似度を、商品AAは0.6、商品ABは0.1、商品ACは0.1、商品ADは0.1、商品AEは0.1等として、類似度の総和が1.0となるよう算出する。
類似度判定部623は、類似度算出部622が算出した類似度に基づいて、その類似度が所定の閾値を満たす登録商品を、撮像部164が撮像した商品Aの候補(以下、商品候補という)として認識する。
商品候補提示部624は、類似度判定部623が認識した商品候補に関する情報を第1表示デバイス106に表示させる。より詳細には、商品候補提示部624は、条件を満たした登録商品のイラスト画像および商品名をPLUファイルF1から読み出し、類似度算出部622が算出した類似度の高いものから、第1表示デバイス106に順次出力する。
また、商品候補提示部624は、商品候補に関する情報を第1表示デバイス106に表示されるタイミングに合わせて、複数の候補が有る旨を、音声出力部165に音声出力させるようにしてもよい。さらに、商品候補提示部624は、野菜や果物の区別などを容易に判断できるような情報を、音声出力部165に音声出力させるようにしてもよい。
入力手段である入力受付部613は、タッチパネル105またはキーボード107を介して第1表示デバイス106の表示に対応する各種入力操作を受付ける。更に詳しくは、入力受付部613は、商品候補提示部624により提示された商品候補からの中から撮像部164にかざされた商品Aに対応する商品を選択する入力を受け付ける。
(コードシンボル認識エンジン)
コードシンボル認識エンジン630に係る機能について説明する。コードシンボル検出部631は、並列制御部612からフレーム画像がRAM163に保存されたことを通知されると、RAM163に保存されたフレーム画像を読み取る。そして、コードシンボル検出部631は、画像取込部611により取り込まれたフレーム画像から、商品に関する情報として商品Aに付されたバーコードや二次元コードなどのコードシンボルを検出する。
コードシンボル読取部632は、コードシンボル検出部631が検出したコードシンボルから商品IDを読み取ることで商品を認識する。
登録手段である売上登録部614は、オブジェクト認識エンジン620が認識した商品候補から選択された商品、又はコードシンボル認識エンジン630により認識された商品を販売対象の商品として売上登録する。具体的には、売上登録部614は、PLUファイルF1を参照して、認識された商品の商品ID、及び当該商品IDに対応する商品分類、商品名、単価等を、販売個数とともに売上マスタファイル等に記録して売上登録を行う。
登録手段である登録報知部615は、売上登録部614が商品登録した場合に報知する。登録報知部615は、例えば、ブザー音を発することにより報知する。または、登録報知部615は、例えば、商品登録されたことを報知する画面を第1表示デバイス106に表示することで報知する。
登録報知部615は、コードシンボル認識エンジン630により商品が登録された場合に、コードシンボルにより商品登録されたことを明示する報知をしてもよい。コードシンボル認識エンジン630は、商品の登録に、オペレータ(店員)による入力操作を必要としない。よって、登録報知部615は、商品登録されたことを報知することで、オペレータ(店員)の操作ミスを防ぐことができる。
表示制御手段である表示制御部616は、第1表示デバイス106等に表示させる画像を制御する。さらに詳しくは、表示制御部616は、オブジェクト認識エンジン620により認識された商品、又はコードシンボル認識エンジン630により認識された商品を販売対象の商品として売上登録するための画像認識画面の表示を制御する。また、表示制御部616は、商品一覧画面から選択された商品を販売対象の商品として売上登録するためのプリセット画面G15(図8参照)の表示を制御する。
さらに、表示制御部616は、画像認識画面とプリセット画面G15(図8参照)との両画面を、オペレータからの操作に応じて切り替えることで、同一のオブジェクト認識画面G1(図6参照)内に表示する。これにより、オペレータは、オブジェクト認識エンジン620又はコードシンボル認識エンジン630により認識された商品を売上登録するモードと、商品一覧画面から選択された商品を売上登録するモードとを、容易に切り替えることができる。
次に、上述した実施形態にかかるPOS端末11のCPU61が制御プログラムに従って実行する商品登録処理について説明する。
図5は、POS端末11のCPU61が制御プログラムに従って実行する商品識別処理の流れを示すフローチャートである。
まず、POS端末11のCPU61(表示制御部616)は、画像認識が選択されたオブジェクト認識画面G1を表示する(ステップS11)。
ここで、図6は、画像認識が選択されたオブジェクト認識画面G1の一例を示す説明図である。画像認識が選択されたオブジェクト認識画面G1は、大別すると、複数のタグG11a、G11bと、撮像画像表示領域G12と、メッセージ表示領域G13と、登録商品表示領域G14とを備える。
タグG11a、G11bは、画面を切り替える操作子である。オペレータは、タグG11a、G11bを用いて、画面を切り替えることで商品登録方法を切り替えることができる。タグG11a、G11bは、画像認識タグG11aと、1以上の商品分類タグG11bとに大別される。
画像認識タグG11aは、オブジェクト認識エンジン620及びコードシンボル認識エンジン630を用いた商品登録を行う場合に押下する。商品分類タグG11bは、商品分類ごとに設けられており、事前に作成された商品一覧から商品登録を行う場合に押下する。商品分類とは、例えば、青果、総菜、精肉、鮮魚、ベーカリーなどである。
撮像画像表示領域G12は、撮像部164が撮像した画像を表示する領域である。この撮像画像表示領域G12に表示された画像を見ることで、オペレータは、物体のかざしかたなどを確認することができる。メッセージ表示領域G13は、メッセージを表示する領域である。図6に示すメッセージ表示領域G13は、「商品をスキャナにかざしてください」とのメッセージとイラストとを表示している。登録商品表示領域G14は、商品登録された商品の名称と、登録点数と、売価とを表示する領域である。なお、図6に示すタグG11a、G11bは、水平方向に並べて配置されているが、タグG11a、G11bの配置場所は、これに限らない。
ここで、図7は、タグG11a、G11bが垂直に配置されたオブジェクト認識画面G1の一例を示す説明図である。図7に示すように、タグG11a、G11bは、垂直水平方向に並べて配置してもよい。
図5に戻り、POS端末11のCPU61は、商品分類タグG11bの押下が検出されるか否かを判定する(ステップS12)。商品分類タグG11bの押下が検出されない場合に(ステップS12;No)、POS端末11のCPU61(画像取込部611)は、撮像部164に撮像オン信号を出力して撮像部164に撮像動作を開始させる(ステップS13)。次いで、POS端末11のCPU61(画像取込部611)は、撮像部164が商品Aを撮像してRAM163に保存されたフレーム画像を順次取り込む(ステップS14)。
次いで、POS端末11のCPU61(並列制御部612)は、オブジェクト認識エンジン620と、コードシンボル認識エンジン630とにフレーム画像を提供する(ステップS15)。
これにより、POS端末11のCPU61は、後述するコードシンボル認識処理を実行する(ステップS16)。同時に、POS端末11のCPU61は、後述するオブジェクト認識処理を実行する(ステップS17)。これにより、POS端末11のCPU61は、コードシンボル認識処理と、オブジェクト認識処理とを並列して実行する。
一方、オブジェクト認識画面G1の商品分類タグG11bの押下が検出された場合に(ステップS12;Yes)、POS端末11のCPU61(表示制御部616)は、商品一覧から商品登録を行うプリセット画面G15を備えるオブジェクト認識画面G1を表示する(ステップS18)。
ここで、図8は、プリセット画面G15を備えるオブジェクト認識画面G1の一例を示す説明図である。プリセット画面G15は、商品分類タグG11bの分類に属する商品に対応付けられたプリセットボタンG15aを備える。図8に示すオブジェクト認識画面G1は、商品分類1の商品分類タグG11bが選択され、商品分類1に含まれる商品が対応付けられたプリセットボタンG15aが表示された状態を示している。
次いで、POS端末11のCPU61は、プリセットボタンG15aの押下が検出されるか否かを判定する(ステップS19)。プリセットボタンG15aの押下が検出されない場合に(ステップS19;No)、POS端末11のCPU61は、待機する。
一方、プリセットボタンG15aの押下が検出された場合に(ステップS19;Yes)、POS端末11のCPU61は、押下されたプリセットボタンG15aに対応付けられた商品を販売対象の商品として登録する(ステップS20)。
次いで、POS端末11のCPU61は、商品登録を終了する締めキー22fの押下が検出されるか否かを判定する(ステップS21)。商品登録を終了する締めキー22fの押下が検出されない場合に(ステップS21;No)、POS端末11のCPU61は、ステップS11に移行する。
一方、締めキー22fの押下が検出された場合に(ステップS21;Yes)、POS端末11のCPU61(売上登録部614)は、商品登録された商品を売上マスタファイル等に記録して売上登録する(ステップS22)。
以上により、POS端末11のCPU61は、商品登録処理を実行する。
次に、上述した実施形態にかかるPOS端末11のCPU61が制御プログラムに従って実行するコードシンボル認識処理について説明する。
図9は、POS端末11のCPU61が制御プログラムに従って実行するコードシンボル認識処理の流れを示すフローチャートである。
まず、POS端末11のCPU61は、オブジェクト認識エンジン620による商品登録が行われたことを示す通知を受信したか否かを判定する(ステップS31)。
通知を受信した場合に(ステップS31;Yes)、POS端末11のCPU61(並列制御部612)は、撮像部164にかざされた商品は登録されたため、コードシンボル認識処理を停止する(ステップS32)。このように、コードシンボル認識エンジン630を抑制することで、誤った商品登録を防止することができる。そして、POS端末11のCPU61は、一連のコードシンボル認識処理を終了し、商品登録処理に戻る。
一方、通知を受信していない場合に(ステップS31;No)、POS端末11のCPU61(コードシンボル検出部631)は、並列制御部612が出力したフレーム画像からコードシンボルが検出されるか否かを判定する(ステップS33)。コードシンボルが検出されない場合に(ステップS33;No)、POS端末11のCPU61(コードシンボル検出部631)は、ステップS31に移行する。
一方、コードシンボルが検出された場合に(ステップS33;Yes)、POS端末11のCPU61(コードシンボル読取部632)は、検出したコードシンボルから商品IDを読み取る(ステップS34)。
次いで、POS端末11のCPU61(売上登録部614)は、読み取った商品IDの商品を販売対象の商品として登録する(ステップS35)。次いで、POS端末11のCPU61は、コードシンボル認識エンジン630による商品登録が行われたことを示す通知を送信する(ステップS36)。
次いで、POS端末11のCPU61(登録報知部615)は、商品登録が行われたことを、オブジェクト認識画面G1の登録商品表示領域G14に登録された商品を表示して報知して(ステップS37)、一連のコードシンボル認識処理を終了し、商品登録処理に戻る。
ここで、図10は、登録商品表示領域G14に登録された商品を表示したオブジェクト認識画面G1の一例を示す説明図である。図10に示す登録商品表示領域G14は、売価が300円の商品Aが1点登録されたことを示している。また、POS端末11のCPU61(登録報知部615)は、図10に示す登録商品表示領域G14を表示する際に、音声により報知してもよい。また、POS端末11のCPU61(登録報知部615)は、コードシンボルで登録されたことを報知する報知画面G2を表示してもよい。
ここで、図11は、報知画面G2の一例を示す説明図である。図11に示す報知画面G2は、「コードシンボルで登録されました」とのメッセージを表示して報知する。これにより、オペレータの誤操作を低減することができる。
以上により、POS端末11のCPU61は、コードシンボル認識処理を実行する。
次に、上述した実施形態にかかるPOS端末11のCPU61が制御プログラムに従って実行するオブジェクト認識処理について説明する。
図12は、POS端末11のCPU61が制御プログラムに従って実行するオブジェクト認識処理の流れを示すフローチャートである。
まず、POS端末11のCPU61(商品検出部621)は、撮像部164にかざされていた物体がフレームアウトしているか否かを判定する(ステップS51)。物体がフレームアウトしている場合には(ステップS51;Yes)、POS端末11のCPU61は、オブジェクト認識エンジン620を初期化する(ステップS52)。
一方、物体がフレームアウトしていない場合には(ステップS51;No)、POS端末11のCPU61は、コードシンボル認識エンジン630による商品登録が行われたことを示す通知を受信したか否かを判定する(ステップS53)。
通知を受信した場合に(ステップS53;Yes)、POS端末11のCPU61(並列制御部612)は、オブジェクト認識エンジン620を停止する(ステップS54)。このように、オブジェクト認識エンジン620を抑制することで、誤った商品登録を防止することができる。そして、POS端末11のCPU61は、一連のオブジェクト認識処理を終了し、商品登録処理に戻る。
一方、通知を受信していない場合に(ステップS53;No)、POS端末11のCPU61(類似度算出部622)は、フレーム画像に含まれる物体の特徴量を抽出する(ステップS55)。次いで、POS端末11のCPU61(類似度算出部622)は、フレーム画像に含まれる物体の類似度を算出する(ステップS56)。
次いで、POS端末11のCPU61(類似度判定部623)は、算出された類似度が閾値以上である商品候補が選定されたか否かを判定する(ステップS57)。商品候補が選定されない場合に(ステップS57;No)、POS端末11のCPU61は、一連のオブジェクト認識処理を終了し、商品登録処理に戻る。
一方、商品候補が選定された場合に(ステップS57;Yes)、POS端末11のCPU61(商品候補提示部624)は、商品候補領域G16に商品候補ボタンG16aを表示する(ステップS58)。
ここで、図13は、商品候補領域G16に商品候補ボタンG16aが表示されたオブジェクト認識画面G1の一例を示す説明図である。商品候補領域G16は、商品候補ボタンG16aを表示する領域である。商品候補ボタンG16aは、商品候補として認識された商品を販売対象の商品として登録するボタンである。図13に示す商品候補領域G16は、商品Aと、商品Bと、商品Cとの商品候補ボタンG16aが表示された状態を示している。図13に示す商品候補領域G16は、商品候補ボタンG16aが3個表示されているが、個数はこれに限らないものとする。
次いで、POS端末11のCPU61は、商品候補ボタンG16aの押下が検出されるか否かを判定する(ステップS59)。商品候補ボタンG16aの押下が検出されない場合に(ステップS59;No)、POS端末11のCPU61は、一連のオブジェクト認識処理を終了し、商品登録処理に戻る。
一方、商品候補ボタンG16aの押下が検出された場合に(ステップS59;Yes)、POS端末11のCPU61は、押下された商品候補ボタンG16aに対応付けられた商品を販売対象の商品として登録する(ステップS60)。次いで、POS端末11のCPU61は、オブジェクト認識エンジン620による商品登録が行われたことを示す通知を送信する(ステップS61)。
以上により、POS端末11のCPU61は、オブジェクト認識処理を実行する。
以上のように、本実施形態のPOS端末11によれば、画像取込部611は、撮像部164にかざれた商品Aを撮像し、RAM63に取り込む。並列制御部612は、オブジェクト認識エンジン620とコードシンボル認識エンジン630とを並列して実行させる。売上登録部614は、オブジェクト認識エンジン620が商品候補を認識した場合には、選択された商品Aを登録し、コードシンボル認識エンジン630が商品を認識した場合には、認識した商品を登録する。よって、本実施形態のPOS端末11は、コードシンボルにより売上登録機能と、一般物体認識(オブジェクト認識)により売上登録機能とを同時に使用することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、上記実施形態では、POS端末11がPLUファイルF1を備える形態としたが、これに限らず、商品読取装置101がPLUファイルF1を備える形態としてもよい。または、POS端末11及び商品読取装置101がアクセス可能な外部装置がPLUファイルF1を備える形態としてもよい。
また、上記実施形態では、画像取込部611と、並列制御部612と、オブジェクト認識エンジン620と、コードシンボル認識エンジン630と、入力受付部613と、売上登録部614と、登録報知部615と、表示制御部616との機能を有する情報処理装置としてPOS端末11を適用した。しかし、これに限らず、画像取込部611と、並列制御部612と、オブジェクト認識エンジン620と、コードシンボル認識エンジン630と、入力受付部613と、売上登録部614と、登録報知部615と、表示制御部616との機能を備えて、算出結果や判定結果をPOS端末11に出力する情報処理装置として商品読取装置101を適用してもよい。また、上記実施形態では、照合用データを特徴量として説明したが、照合用データは、撮像された商品画像(基準画像)としてもよい。
また、上記実施形態では、チェックアウトシステム1としてPOS端末11と商品読取装置101とで構成されるチェックアウトシステム1を適用した。しかし、これに限るものではなく、POS端末11及び商品読取装置101の機能を備えた1台構成の装置に適用するようにしてもよい。POS端末11及び商品読取装置101の機能を備えた1台構成の装置としては、スーパーマーケット等の店舗に設置されて用いられるセルフチェックアウト装置(以降、単にセルフPOSと称する)が挙げられる。
ここで、図14は、セルフPOS200の構成を示す外観斜視図である。図15は、セルフPOS200のハードウェア構成を示すブロック図である。尚、以下では、図1および図2に示される同様の構成については同一の符号を付して示し、その重複する説明を省略する。図14および図15に示すように、セルフPOS200の本体202は、タッチパネル105が表面に配設された第1表示デバイス106や、商品の種別等を認識(検出)するために商品画像を読み取る商品読取部110を備える。
第1表示デバイス106としては例えば液晶表示器が用いられる。第1表示デバイス106は、客にセルフPOS200の操作方法を知らせるための案内画面や、各種の入力画面や、商品読取部110で読み込んだ商品情報を表示する登録画面、商品の合計金額や預かり金額、釣銭額等を表示し、支払い方法の選択をする精算画面等を表示する。
商品読取部110は、客が商品に付されたコードシンボルを商品読取部110の読取窓103にかざすことで商品画像を撮像部164により読み取るものである。
また、本体202の右側には、かごに入った未精算の商品を置くための商品載置台203が設けられる。本体202の左側には、精算済みの商品を置くための商品載置台204が設けられる。商品載置台204には、精算済みの商品を入れるための袋を掛ける袋掛けフック205や、精算済みの商品を袋に入れる前に一時的に置いておくための一時置き台206が設けられる。商品載置台203、204には、計量器207、208がそれぞれ備えられており、精算の前後で商品の重量が同じであることを確認する機能を有する。
また、セルフPOS200の本体202には、精算用の紙幣の入金や釣り紙幣の受け取りを行うための釣り銭器201が設けられる。
このような構成のセルフPOS200をチェックアウトシステム1に適用した場合、セルフPOS200が情報処理装置として機能することになる。
上記実施形態や変形例の各装置で実行されるプログラムは、各装置が備える記憶媒体(ROM又は記憶部)に予め組み込んで提供するものとするが、これに限らないものとする。例えば、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、記憶媒体は、コンピュータ或いは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
また、上記実施形態や変形例の各装置で実行されるプログラムをインターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよいし、インターネット等のネットワーク経由で提供又は配布するように構成してもよい。