以下、添付図面を参照して、情報処理装置及びプログラムの実施形態を詳細に説明する。なお、以下に説明する実施形態は、情報処理装置及びプログラムの一実施形態であって、その構成や仕様等を限定するものではない。本実施形態は、スーパーマーケット等の店舗に導入された、一取引にかかる商品の登録・精算を行うPOS端末と、商品に関する情報を読み取る商品読取装置とを備えるチェックアウトシステムへの適用例である。
図1は、チェックアウトシステム1の一例を示す斜視図である。図1に示すように、チェックアウトシステム1は、POS端末11と、情報処理装置としての商品読取装置101とを備える。なお、以下では、複数の図面に示される同様の構成については同一の符号を付して示し、その重複する説明を省略する場合がある。
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には、商品Gを収納する買物カゴ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(図5参照)を備えている。また、商品読取装置101は、読取窓103の奥側等に撮像部164を配置している(図2〜図4参照)。
顧客によって持ち込まれた第1の買物カゴ153aには、一取引に係る商品Gが収納されている。第1の買物カゴ153a内の商品Gは、商品読取装置101を操作するオペレータにより第2の買物カゴ153bに移動される。この移動過程で、商品Gが商品読取装置101の読取窓103に向けられる。この際、読取窓103内に配置された撮像部164(図2、図3参照)は商品Gを撮像する。
ここで、図2、図3は、商品読取装置101が備える撮像部164の撮像範囲を説明するための図である。同図に示すように、読取窓103の奥側に配置された撮像部164は、商品Gに付されているバーコード等のコードシンボルから商品Gを示す商品ID(商品情報)を光学的に読み取るための有効範囲となる撮像領域A1を有している。商品読取装置101を操作するオペレータにより撮像領域A1に移動されると、撮像部164は、撮像領域A1に存在する商品Gを撮像した撮像画像を取得する。
なお、図2では、撮像領域A1の基準となる撮像部164の撮像方向B1を、荷受面152と略水平方向しているため、商品読取装置101を操作するオペレータは、商品Gを把持した状態で商品Gを撮像することを想定しているが、これに限定されるものではない。
例えば、図3に示すように、撮像部164の撮像方向B1を、荷受面152に向けて設置することで、荷受面152上に撮像領域A1を形成してもよい。この場合、商品Gは荷受面152上に載置された状態で撮像されることが好ましい。また、この撮像方法を採用する場合には、図4に示すように、保持具164a等により撮像部164を商品読取装置101の上部に設置し、撮像部164の撮像方向B1を荷受面152に向けることで、荷受面152上に撮像領域A1を形成する形態としてもよい。ここで、図4は、商品読取装置101が備える撮像部164の他の構成例を説明するための図である。なお、図4の構成を採用する場合には、読取窓103は取り除く形態としてもよい。
図1に戻り、商品読取装置101では、PLUファイルF1(図6参照)を参照し、撮像部164により撮像された画像に含まれる商品Gを、商品Gに添付されたバーコードやQRコード(登録商標)等のコードシンボルの読み取り、又は一般物体認識により特定する(詳細は後述する)。次いで、商品読取装置101では、特定した商品Gの確認や、個数などの入力を受け付ける画面を表示・操作部104に表示し、確認の入力が受け付けられた商品Gの商品ID、入力された個数などの情報をPOS端末11に通知する。POS端末11では、商品読取装置101から通知される商品ID、個数等の情報に基づき、商品IDに対応する商品の商品分類、商品名、単価等の売上登録に係る情報を、売上マスタファイル(図示しない)等に記録して売上登録を行う。
図5は、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、表示デバイス23、タッチパネル26、顧客用表示デバイス24がいずれも各種の入出力回路(いずれも図示せず)を介して接続されている。これらは、CPU61による制御を受ける。
キーボード22は、「1」、「2」、「3」…等の数字や「×」という乗算の演算子が上面に表示されているテンキー22d、仮締めキー22e、及び締めキー22fを含む。
POS端末11のCPU61には、HDD(Hard Disk Drive)64が接続されている。HDD64には、プログラムや各種ファイルが記憶されている。HDD64に記憶されているプログラムや各種ファイルは、POS端末11の起動時に、その全部又は一部がRAM63にコピーされてCPU61により実行される。HDD64に記憶されているプログラムの一例は、商品販売データ処理用のプログラムPRである。HDD64に記憶されているファイルの一例は、ストアコンピュータSCから配信されて格納されているPLUファイルF1である。
PLUファイルF1は、店舗に陳列して販売する商品Gの各々について、商品Gの売上登録にかかる情報と、その商品Gの画像との関連付けが設定された商品ファイルである。
図6は、PLUファイルF1のデータ構成を例示する概念図である。図6に示すように、PLUファイルF1は、商品Gごとに、ユニークに割り当てられた商品ID、商品Gが属する商品分類、商品名、単価等の商品に関する情報と、その商品を撮像した商品画像(基準画像)とを、その商品Gの商品情報として格納するファイルである。なお、商品画像は、類似度の判定に用いられる商品の撮像画像(写真)である。なお、PLUファイルF1は、後述する接続インターフェース65を介し、商品読取装置101が読み出し可能に構成されている。
なお、PLUファイルF1のデータ構成は図6の例に限らず、例えば、商品画像から読み取られる色合いや表面の凹凸状況等の特徴量を、各商品について格納する形態としてもよい。
図5に戻り、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、計時部166が各種の入出力回路(いずれも図示せず)を介して接続されている。撮像部164、音声出力部165は、CPU161によって動作が制御される。表示・操作部104は接続インターフェース176を介して、商品読取部110及びPOS端末11に接続されている。表示・操作部104は、商品読取部110のCPU161、POS端末11のCPU61によって動作が制御される。
撮像部164は、CCD(Charged Coupled Device)撮像素子やCMOS(Complementary Metal Oxide Semiconductor)撮像素子などのカラーイメージセンサであり、CPU161の制御の下で撮像を行う撮像装置である。例えば撮像部164では30fpsの動画像の撮像を行う。撮像部164が所定のフレームレートで順次撮像したフレーム画像(撮像画像)はRAM163に保存される。
音声出力部165は、予め設定された警告音等を発生するための音声回路とスピーカ等である。音声出力部165は、CPU161の制御の下で警告音や音声による報知を行う。計時部166は、RTC(Real Time Clock)等であり、CPU161の制御の下で時刻を計時する。
さらに、CPU161には、POS端末11の接続インターフェース65に接続して、POS端末11との間でデータ送受信を可能にする接続インターフェース175が接続されている。また、CPU161は、接続インターフェース175を介して、表示・操作部104との間でデータ送受信を行う。
次に、CPU161、CPU61がプログラムを実行することで実現されるCPU161、CPU61の機能構成について、図7を参照して説明する。
図7は、POS端末11及び商品読取装置101の機能構成を示すブロック図である。図7に示すように、商品読取装置101のCPU161は、ROM162が格納するプログラムを実行することにより、画像取込部51、商品検出部52、コード読取部53、オブジェクト認識部54、モード切替部55、入力受付部56、情報出力部57としての機能を備える。また、同様に、POS端末11のCPU61は、プログラムPRを実行することにより、売上登録部611としての機能を備える。
画像取込部51は、撮像部164に撮像オン信号を出力して撮像部164に撮像動作を開始させる。画像取込部51は、撮像動作開始後に撮像部164が撮像してRAM163に保存されたカラーのフレーム画像を順次取り込む。画像取込部51によるフレーム画像の取り込みは、RAM163に保存された順に行われる。
商品検出部52は、画像取込部51により取り込まれたフレーム画像に含まれる商品Gの全部または一部を、パターンマッチング技術などを用いて検出する。具体的には、取り込まれたフレーム画像を2値化した画像から輪郭線などを抽出する。次いで、直近のフレーム画像から抽出された輪郭線と、今回のフレーム画像から抽出された輪郭線とを比較し、変更があった部分、すなわち、売上登録のために読取窓103に向けられた商品Gの写り込みを検出する。なお、商品Gを検出する別の方法としては、取り込まれたフレーム画像から肌色領域の有無を検出する。次いで、肌色領域が検出された場合、すなわち、店員の手の写り込みが検出された場合は、上述した輪郭線の検出を行うことで、店員の手が把持していると想定される商品Gの輪郭抽出を試みる。この時、手の形状を示す輪郭と、それ以外の輪郭とが検出された場合は、店員の手が商品Gを把持していることから、商品Gの写り込みを検出する。
図8は、商品Gの検出の一例を示す概念図である。図8に示すように、画像取込部51は、直近のフレーム画像G10、G20同士を比較し、輝度階調の差分から何も撮像していないフレーム画像G10と、商品Gや店員の手H等の何らかの物体の写り込みがあるフレーム画像G20とを識別する。次いで、画像取込部51は、何らかの物体の写り込みが識別されたフレーム画像G20について、上述した輪郭線の抽出や肌色領域の検出などの画像処理を行うことで、商品Gの検出を行う。
なお、商品を検出する別の方法としては、取り込まれたフレーム画像から肌色領域の有無を検出する。次いで、肌色領域が検出された場合、すなわち、店員の手が検出された場合は、この肌色領域の近傍において上述した輪郭線の検出を行うことで、店員の手が把持していると想定される商品の輪郭抽出を試みる。この時、手の形状を示す輪郭と、手の輪郭の近傍にそれ以外の物体の輪郭とが検出された場合、この物体の輪郭から商品を検出する。
コード読取部53は、画像取込部51により取り込まれたフレーム画像をもとに、撮像部164において撮像された商品Gに添付されているバーコードや二次元コード(例えばQRコード(登録商標))等のコードシンボルをデコードして読み取る。この読み取られたコードシンボルをもとに、PLUファイルF1を参照することで撮像された商品Gが特定される。具体的には、コード読取部53は、RAM163に保存されたフレーム画像を読み出して、パターンマッチング技術によるバーコードの検出や、所定のファインダパターンから二次元コードの検出を行う。次いで、コード読取部53は、検出されたバーコードや二次元コードから、商品コード(商品ID)等の商品Gの商品情報を読み取る。次いで、コード読取部53は、PLUファイルF1を参照して読み取った商品情報(例えば商品コード)に該当する商品Gを特定する。
オブジェクト認識部54は、画像取込部51により取り込まれたフレーム画像をもとに、撮像部164において撮像された商品Gの色合いや表面の凹凸状況等の表面の状態を特徴量として読み取る。この読み取られた特徴量をもとに、PLUファイルF1を参照することで撮像された商品Gが特定される。具体的には、オブジェクト認識部54は、RAM163に保存されたフレーム画像を読み出して、商品Gの全部または一部を、パターンマッチング技術等を用いて検出する。例えば、取り込まれたフレーム画像を2値化した画像から輪郭線等を抽出する。次いで、前回のフレーム画像から抽出された輪郭線と、今回のフレーム画像から抽出された輪郭線とを比較して、売上登録のために読取窓103に向けられた商品Gを検出する。
次いで、オブジェクト認識部54は、撮像部164により撮像された商品Gの全部または一部の画像から、商品Gの色合いや表面の凹凸状況等の表面の状態を特徴量として読み取る。なお、オブジェクト認識部54は、処理時間の短縮を図るため、商品Gの輪郭や大きさは考慮しないものとする。
また、オブジェクト認識部54は、PLUファイルF1に登録された各商品(以下、登録商品という)の画像から、その登録商品の色合いや表面の凹凸状況等の表面の状態を特徴量として読み取り、商品Gの特徴量とそれぞれ比較することで、商品GとPLUファイルF1に登録された商品との類似度を算出する。ここで、類似度は、PLUファイルF1に記憶されている各商品の画像を100%=「類似度:1.0」とした場合に、商品Gの全部または一部の画像がどの程度類似しているかを示す値である。なお、例えば、色合いと表面の凹凸状況とでは、重み付けを変えて類似度を算出してもよい。次いで、オブジェクト認識部54は、PLUファイルF1の商品の中で、算出した類似度がもっとも高い商品を、撮像された商品Gとして特定する。なお、類似度の概念は、この例に限らず、商品Gの特徴量とPLUファイルF1に登録された各登録商品の特徴量とを基に得られる値であればよい。例えば、商品Gの特徴量と各登録商品の特徴量との一致度を示す値や、商品Gの特徴量と各登録商品の特徴量とがどの程度相関するかを示す値であってもよい。
このように画像中に含まれる物体を認識するオブジェクト認識は一般物体認識(generic object recognition)と呼ばれている。このような一般物体認識については、下記の文献において各種認識技術が解説されている。
柳井 啓司,“一般物体認識の現状と今後”,情報処理学会論文誌,Vol.48,No.SIG16 [平成24年8月31日検索],インターネット<URL: http://mm.cs.uec.ac.jp/IPSJ-TCVIM-Yanai.pdf >
また、画像をオブジェクトごとに領域分割することによって一般物体認識を行う技術が、下記の文献において解説されている。
Jamie Shottonら,“Semantic Texton Forests for Image Categorization and Segmentation”,[平成24年8月31日検索],インターネット<URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.145.3036&rep=rep1&type=pdf >
なお、撮像された商品Gの画像と、PLUファイルF1に登録された登録商品の画像との類似度の算出方法は特に問わないものとする。例えば、撮像された商品Gの画像と、PLUファイルF1に登録された各登録商品との類似度を絶対評価として算出してもよいし、相対評価として算出してもよい。
類似度を絶対評価として算出する場合、撮像された商品Gの画像と、PLUファイルF1に登録された各登録商品とを1対1で比較し、この比較の結果導出される類似度をそのまま採用すればよい。また、類似度を相対評価として算出する場合、PLUファイルF1に5つの登録商品(商品GA、GB、GC、GD、GE)が登録されていたとすると、撮像された商品Gは、商品GAに対して類似度が0.6、商品GBに対しては類似度が0.1、商品GCに対しては類似度が0.1、商品GDに対しては類似度が0.1、商品GEに対しては類似度が0.1等、各登録商品との類似度の総和が1.0(100%)となるよう算出すればよい。
ここで、オブジェクト認識部54のオブジェクト認識により商品Gが特定できる場合とは、上述した類似度が所定の閾値を超える商品がPLUファイルF1より見つかった場合を指すものとする。例えば、類似度を相対評価として算出する場合に、PLUファイルF1に5つの登録商品(商品GA、GB、GC、GD、GE)が登録されていたとする。また、オブジェクト認識ができたと判定する閾値は0.5とする。撮像された商品Gに対する商品GAの類似度が0.6、商品GBの類似度が0.1、商品GCの類似度が0.1、商品GDの類似度が0.1、商品GEの類似度が0.1等である場合は、商品GAの類似度が閾値を超えていることから、オブジェクト認識部54によるオブジェクト認識ができたものとする。また、撮像された商品Gに対する商品GAの類似度が0.4、商品GBの類似度が0.2、商品GCの類似度が0.2、商品GDの類似度が0.1、商品GEの類似度が0.1等である場合は、商品GAの類似度が閾値を超えていないことから、オブジェクト認識部54によるオブジェクト認識ができなかったものとする。
モード切替部55は、撮像部164の撮像範囲に商品Gが所定時間連続して存在したか否か、つまり商品検出部52での商品Gの検出が所定時間継続したか否かに応じて、コード読取部53により商品Gを特定する第1の読取処理を行う動作モード(コード読取モード)と、オブジェクト認識部54により商品Gを特定する第2の読取処理を行う動作モード(オブジェクト認識モード)とを切り替える。
具体的に、モード切替部55は、画像取込部51により取り込まれたフレーム画像から商品検出部52が商品Gを検出すると、コード読取モードに切り替えることでコード読取部53により商品Gを特定させる。また、モード切替部55は、このコード読取モードでコードシンボルが読み取られない状態で、且つ商品検出部52により検出された画像中での商品Gの存在位置が、所定時間の間静止状態にあると判定すると、オブジェクト認識モードに切り替えることでオブジェクト認識部54により商品Gを特定させる。
ここで、静止状態か否かの判定は、画像取込部51により取り込まれた所定時間分のフレーム画像の各々から、商品検出部52が検出した商品Gの検出位置を対比することで行うものとする。また、本実施形態において、静止状態とは、複数のフレーム画像に亘って存在位置が一定となる完全静止の状態と、所定範囲のブレを含む略静止の状態とを含む概念であるとする。
なお、モード切替部55が静止状態の判定に係る時間については、予めROM162等に設定されており、例えば数百msec程度で設定される。例えば、撮像部164において30fpsで撮像されている場合には、340msec程度(10フレーム程度)の値が設定される。なお、上述した切替えの設定については、時間だけでなく、フレーム数で設定してもよい。
入力受付部56は、タッチパネル105またはキーボード107を介して表示デバイス106の表示に対応する各種入力操作を受付ける。例えば情報出力部57は、コード読取部53やオブジェクト認識部54により特定された商品Gの確認画面を表示デバイス106に表示させ、その確認画面に対する選択操作に基づいて、特定された商品Gの売上登録を行うことの入力操作(確認操作)をキーボード107で受け付ける。この情報出力部57が受け付けた確認操作は、情報出力部57によりPOS端末11に通知される。また、入力受付部56は、商品Gの売上登録を行うことの確認操作の後、売上登録を行う商品Gの個数の入力を受け付ける操作画面を表示デバイス106に表示させ、個数の入力操作をキーボード107で受け付ける。この入力受付部56が受け付けた個数は、情報出力部57によりPOS端末11に通知される。POS端末11では、確認操作、個数の通知を受信して、売上登録部611における売上登録を行う。
情報出力部57は、上述のようにして確認操作が行われた商品Gについて、その商品を示す情報(例えば、商品IDや商品名等)や個数を、接続インターフェース175を介してPOS端末11に出力する。情報出力部57がPOS端末11に出力する情報としては、コード読取部53やオブジェクト認識部54により特定された商品Gをもとに、情報出力部57がPLUファイルF1から読み出した商品IDを直接通知してもよいし、商品IDを特定することが可能な商品名、または、商品画像のファイル名を通知してもよいし、その商品IDの格納場所(PLUファイルF1での格納アドレス)をPOS端末11に通知してもよい。
POS端末11の売上登録部611は、情報出力部57から出力された商品ID、売上登録を行う個数、値引き額や値引き率等のサービス情報に基づいて、対応する商品の売上登録を行う。具体的に、売上登録部611は、PLUファイルF1を参照して、通知された商品ID及び当該商品IDに対応する商品分類、商品名、単価等を、個数とともに売上マスタファイル等に記録して売上登録を行う。
次に、チェックアウトシステム1の動作について詳細に説明する。先ず、商品読取装置101の動作について説明する。図9は、商品読取装置101の動作の一例を示すフローチャートである。
図9に示すように、POS端末11による商品登録の開始等に応じて処理が開始されると、画像取込部51は、撮像部164に撮像オン信号を出力して撮像部164による撮像を開始する(ステップS11)。次いで、画像取込部51は、撮像部164が撮像してRAM163に保存されたフレーム画像の取り込みを開始する(ステップS12)。
次いで、CPU16は、画像取込部51により取り込まれたフレーム画像から商品検出部52が商品Gを検知したか否かを判定する(ステップS13)。ここで、商品Gを検知していない場合(ステップS13;No)、CPU16はステップS12に処理を戻す。なお、ステップS13の処理は、商品Gの検出を行う処理に代えて、撮像した画像内に含まれるバーコード等のコードシンボルを検出する処理としてもよい。この場合、撮像した画像からコードシンボルを検出できなかった場合に(ステップS13;No)、ステップS16の処理へと進む。
画像取込部51により取り込まれたフレーム画像から商品Gが検知された場合(ステップS13;Yes)、モード切替部55は、コード読取部53により商品Gを特定する第1の読取処理を行うコード読取モードに動作モードを切り替える(ステップS14)。次いで、モード切替部55は、コード読取部53によりコードシンボルがデコードされて、商品Gが特定できたか否かを判定する(ステップS15)。なお、本処理では、商品Gが検知された場合に、コード読取モードに切り替える形態としているが、これに限らず、初期設定としてコード読取モードを設定することで、商品Gの検知が行われる前、或いは商品Gの検知と並列して、コード読取モードによる読取処理を行う形態としてもよい。
ステップS15において、コード読取部53により商品Gが特定できない場合(ステップS15;No)、モード切替部55は、ステップS13での検出位置に基づき、前回取り込まれたフレーム画像と同じ位置(又は略同位置)で、今回取り込まれたフレーム画像から商品Gが検知されたか否かを判定する(ステップS16)。ここで、前回と異なる位置で検出されたと判定した場合(ステップS16;No)、モード切替部55は、静止状態の判定に係るタイマーカウントをリセットした後(ステップS17)、ステップS12に処理を戻す。
また、ステップS16において、前回と同位置で検出されたと判定した場合(ステップS16;Yes)、モード切替部55は、計時部166を用いることで、タイマーカウントを1インクリメントする(ステップS18)。次いで、モード切替部55は、タイマーカウントの値が所定数(例えば“10”)以上か否かを判定し、所定数未満の場合には(ステップS19;No)、ステップS12に処理を戻す。
一方、ステップS19において、タイマーカウントの値が所定数以上と判定した場合(ステップS19;Yes)、モード切替部55は、商品Gが静止状態にあると判定し、オブジェクト認識部54により商品Gを特定する第2の読取処理を行うオブジェクト読取モードに動作モードを切り替える(ステップS20)。
したがって、商品読取装置101では、画像取込部51により取り込まれたフレーム画像に含まれる商品Gを商品検出部52が検出したことに応じて、コード読取モードを開始し、当該コード読取モードで商品Gの特定が行われないまま、商品Gの静止状態が所定時間継続すると、オブジェクト認識モードに切り替えることで、オブジェクト認識部54により商品Gの特定を開始する。このため、商品読取装置101では、コードシンボルの読み取りとともに、オブジェクト認識が行われることがないことから、コード読取部53、又はオブジェクト認識部54における処理速度を低減させることなく、商品Gを特定できる。また、コード読取部53による商品Gの特定ができないまま、商品Gの静止状態が所定時間継続した場合にオブジェクト認識モードに切り替えられることから、コードシンボルの読み取りにより商品Gの特定が行われた後にオブジェクト認識が行われることがないため、効率的に商品Gを特定できる。
例えば、図8に例示したフレーム画像G20において、商品Gに添付されたバーコード等が映り込んでいる場合は、オブジェクト認識部54による商品Gの特定を行うことなく、コード読取部53によりバーコードのデコードが行われて、商品Gが特定されることとなる。また、図8に例示したフレーム画像G20において、商品Gに添付されたバーコード等が映り込んでいない場合(例えばバーコードが読取窓103に向けられていない場合)は、コード読取部53により商品Gの特定ができないこととなる。この場合、商品読取装置101のオペレータが所定時間の間、商品Gを静止状態とすると、オブジェクト認識モードに切り替わることとなるため、商品Gに添付されたバーコード等の写り込みに関係なく、オブジェクト認識部54により商品Gを特定することができる。
続くステップS20に次いで、CPU161は、オブジェクト認識部54によりオブジェクト認識が行われて、商品Gが特定できたか否かを判定する(ステップS21)。オブジェクト認識部54のオブジェクト認識で商品Gが特定できない場合(ステップS21;No)、CPU161は、ステップS12に処理を戻す。また、ステップS21において、オブジェクト認識部54により商品Gが特定できた場合(ステップS21;Yes)には、ステップS23に移行する。
このように、コード読取部53で商品Gを特定することができず、且つ商品Gが所定時間以上静止状態にある場合は、コード読取モードからオブジェクト認識モードに切り替えて商品Gの特定を試みる。したがって、処理の負荷が大きいオブジェクト認識部54については、商品Gの特定に必要とする時に動作させることができる。
なお、ステップS15において、コード読取部53により商品Gが特定できた場合(ステップS15;Yes)、モード切替部55は、タイマーカウントをリセットした後(ステップS22)、ステップS23に処理を移行する。
続くステップS23において、入力受付部56は、PLUファイルF1を参照して特定した商品Gを示す情報(商品名、商品画像)等の読み取り結果を表示デバイス106に表示する(ステップS23)。次いで、入力受付部56は、売上登録を行う商品Gの確認やその個数の入力をキーボード107より受け付ける(ステップS24)。次いで、情報出力部57は、ステップS24において確認された商品Gについての商品IDや、ステップS24で受け付けた個数をPOS端末11に出力する(ステップS25)。
次いで、CPU161は、POS端末11から商品登録の終了通知等による業務終了の有無を判定する(ステップS26)。業務を継続する場合(ステップS26;No)、CPU161は、ステップS12に処理を戻して処理を継続させる。業務を終了する場合(ステップS26:Yes)、画像取込部51は、撮像部164に撮像オフ信号を出力して撮像部164による撮像を終了し(ステップS27)、処理を終了する。
なお、上述した商品読取装置101のフローチャートでは、経過時間を計時するためのタイマーカウントに基づいて静止状態が所定時間継続したか否かを判定する構成を例示した。しかしながら、上記判定は、時間だけでなく、フレーム数であってもよい。具体的には、フレーム数をタイマーカウントとして計数し、所定のフレーム数(例えば10フレーム)以上となった場合に静止状態が所定時間継続したと判定してもよい。また同様に、所定のフレーム数(例えば3フレーム)を一単位とし、この単位数をタイマーカウントとして計数する形態としてもよい。
また、CPU161は、読取処理の切替えに応じて表示デバイス106における表示画面上の表示を異ならせるようにしてもよい。具体的には、動作モードがコード読取モードである場合は、商品Gに添付されているコードシンボルの読取処理中である旨を表示画面上に表示する。次いで、コード読取モードからオブジェクト認識モードに動作モードが切り替わった場合は、オブジェクト認識中である旨を表示画面上に表示する。このように現在の動作モードを表示画面上に表示させることで、現在、読取処理がコードシンボルの読み取り、又はオブジェクト認識による読み取りのいずれで行なっているかを操作者に対して報知できる。このような報知をすることで、例えばコードシンボルの読み取り中である旨の表示が出ている場合は、コードシンボルを読取窓103に翳すように操作者に対して促すことができる。また、オブジェクト認識中である旨の表示が出ている場合は、読取窓103に無理にコードシンボルを翳す必要がないことを操作者に把握させることができる。
また、上述した商品読取装置101のフローチャートでは、先にコード読取モードに切り替え、次にオブジェクト認識モードに切り替える構成を例示した。しかしながら、コード読取モード、オブジェクト認識モードの切り替え順は特に限定するものではない。例えば、ステップS14と、ステップS20の処理を交換することで、上述した順序とは逆の順序で切り替えてもよい。
また、上述した商品読取装置101のフローチャートでは、商品Gの静止状態が所定時間継続したことをトリガに、オブジェクト認識モードに切り替える形態について説明したが、撮像部164の撮像範囲に商品Gが所定時間連続して存在したこと、つまり商品検出部52での商品Gの検出が所定時間継続したことをトリガに、オブジェクト認識モードに切り替える形態についても同様の手順で処理することができる。具体的には、ステップS16の処理で、前回取り込まれたフレーム画像と今回取り込まれたフレーム画像とで商品Gが検出されたか否かを判定することで対応することできる。なお、この形態を採用する場合においても、コードシンボルの読み取りと、オブジェクト認識とが同時に行われることはないため、上記実施形態と同様の効果を奏することができる。
次に、POS端末11の動作について説明する。図10は、POS端末11が実行する売上登録処理の手順を示すフローチャートである。
まず、キーボード22の操作指示による商品登録の開始等に応じて処理が開始されると、CPU61は、商品読取装置101が図9のステップS24で出力した、商品Gの商品IDとその個数とを受信する(ステップS31)。次いで、売上登録部611は、ステップS31で受信した商品ID、個数に基づいて、PLUファイルF1から商品種別や単価等を読み出し、商品読取装置101で読み取られた商品Gの売上を売上マスタファイルに登録する(ステップS32)。続いて、CPU61は、キーボード22の操作指示による売上登録の終了等による業務終了の有無を判定する(ステップS33)。業務を継続する場合(ステップS33;No)、CPU61は、ステップS31へ再び戻り処理を継続させる。業務を終了する場合(ステップS33;Yes)、CPU61は処理を終了する。
以上、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、追加等を行うことができる。また、上記実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、上記実施形態では、POS端末11が、PLUファイルF1を備える形態としたが、これに限らず、商品読取装置101が、PLUファイルF1の一部又は全てを備える形態としてもよい。
また、上記実施形態では、POS端末11側でコードシンボルの読み取りと、オブジェクトの認識とを行う形態としたが、これに限らず、POS端末11側でコードシンボルの読み取りと、オブジェクトの認識とを行う形態としてもよい。この場合、例えば、POS端末11が、画像取込部51、商品検出部52、コード読取部53、オブジェクト認識部54、モード切替部55、入力受付部56を備えることで、POS端末11側でコードシンボルの読み取りと、オブジェクトの認識とを行うことができる。なお、この場合、商品読取装置101は、撮像装置として機能し、撮像部164で撮像されたフレーム画像を、POS端末11に順次出力する。
また、商品読取装置101の機能部の一部又は全てをPOS端末11が備える形態としてもよい。例えば、POS端末11が、画像取込部51、商品検出部52、コード読取部53、オブジェクト認識部54及びモード切替部55を備え、商品読取装置101が、入力受付部56及び情報出力部57を備える形態としてもよい。この場合、商品読取装置101は、撮像部164で撮像されたフレーム画像をPOS端末11に順次出力し、このフレーム画像に基づきPOS端末11で特定された商品の結果を受信する。そして、商品読取装置101の入力受付部56は、特定された商品Gを示す情報等の読み取り結果を表示デバイス106に表示し、その商品のIDや入力を受け付けた商品の個数をPOS端末11に出力する。
また、上記実施形態では、据置型のスキャナ装置(商品読取装置101)を用いた例を説明したが、これに限らず、いわゆるハンディタイプのスキャナ装置がPOS端末11に接続された形態であってもよい。
また、上記実施形態では、POS端末11と商品読取装置101とで構成されるチェックアウトシステム1のうち、商品読取装置101に本発明の実施形態を適用したが、これに限るものではない。例えば、図1にて示すPOS端末11と商品読取装置101とを有するチェックアウトシステム1に、本実施形態の情報処理装置を適用してもよい。この場合、POS端末11と商品読取装置101とを有するチェックアウトシステム1全体に本実施形態を実現するための機能を有するように構成すればよい。また、本実施形態の情報処理装置をPOS端末11及び商品読取装置101の機能を備えた1台構成の装置に適用するようにしてもよい。POS端末11及び商品読取装置101の機能を備えた1台構成の装置としては、例えば、スーパーマーケット等の店舗に設置されて用いられるセルフチェックアウト装置(以降、単にセルフPOSと称する)が挙げられる。
ここで、図11は、セルフPOS200の一例を示す斜視図、図12は、セルフPOS200のハードウェア構成を示すブロック図である。なお、以下では、図1及び図5に示される同様の構成については同一の符号を付して示し、その重複する説明を省略する。
図11及び図12に示すように、セルフPOS200の本体202は、タッチパネル105が表面に配設された表示デバイス106や、商品の種別等を認識(検出)するために商品画像を読み取る商品読取部110を備えている。
表示デバイス106としては例えば液晶表示器が用いられる。表示デバイス106は、客にセルフPOS200の操作方法を知らせるための案内画面や、各種の入力画面や、商品読取部110で読み込んだ商品情報を表示する登録画面、商品の合計金額や預かり金額、釣銭額等を表示し、支払い方法の選択をする精算画面等を表示する。
商品読取部110は、客が商品に付されたコードシンボルを商品読取部110の読取窓103にかざすことで商品画像を撮像部164により読み取るものである。
また、本体202の右側にはかごに入った未精算の商品を置くための商品載置台203が設けられ、本体202の左側には精算済みの商品を置くための商品載置台204が設けられ、精算済みの商品を入れるための袋を掛けるための袋掛けフック205や、精算済みの商品を袋に入れる前に一時的に置いておくための一時置き台206が設けられている。商品載置台203及び204には計量器207及び208がそれぞれ備えられており、精算の前後で商品の重量が同じであることを確認する機能を有している。
また、セルフPOS200の本体202には、精算用の紙幣の入金や釣り紙幣の受け取りを行うための釣り銭器201が設けられている。
このような構成のセルフPOS200に本実施形態を適用した場合、セルフPOS200が情報処理装置として機能することになる。なお、POS端末11と商品読取装置101との機能を備えた1台構成の装置は、上述した構成のセルフPOS200に限らず、計量器207及び208を除いて構成された装置であってもよい。
また、上記実施形態の商品読取装置101で実行されるプログラムは、ROM等に予め組み込まれて提供される。本実施形態の商品読取装置101で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、上記実施形態の商品読取装置101で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の商品読取装置101で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
上記実施形態の商品読取装置101で実行されるプログラムは、上述した各部(画像取込部51、商品検出部52、コード読取部53、オブジェクト認識部54、モード切替部55、入力受付部56、情報出力部57)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、主記憶装置上に生成されるようになっている。
また、上記実施形態のプログラムを、通信機能を有する携帯電話、スマートフォン、PDA(Personal Digital Assistant)等の携帯情報端末に組み込んで、その機能を実現させる形態としてもよい。