以下では、チェックアウトシステムを例に本実施形態に係る情報処理装置、店舗システム及びプログラムについて、図面を参照して説明する。店舗システムは、一取引に係る商品の登録、精算を行う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には、商品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が表面に積層された表示部である表示デバイス106が設けられる。表示デバイス106の右隣にはキーボード107が配設される。キーボード107の右隣には、図示しないカードリーダのカード読取溝108が設けられる。オペレータから見て表示・操作部104の裏面左奥側には、顧客に情報を提供するための顧客用表示デバイス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では、撮像部164により撮像された画像に含まれる商品Aが、後述するPLUファイルF1(図3参照)に登録されたどの商品に対応するかを指定させるための画面を表示・操作部104に表示し、指定された商品の商品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、表示デバイス23、タッチパネル26、顧客用表示デバイス24がいずれも各種の入出力回路(いずれも図示せず)を介して接続される。これらは、CPU61による制御を受ける。
キーボード22は、「1」、「2」、「3」・・・等の数字や「×」という乗算の演算子が上面に表示されているテンキー22d、仮締めキー22e、及び締めキー22fを含む。
POS端末11のCPU61には、HDD64(Hard Disk Drive)が接続される。HDD64には、プログラムや各種ファイルが記憶される。HDD64に記憶されているプログラムや各種ファイルは、POS端末11の起動時に、その全部または一部がRAM63にコピーされてCPU61により実行される。HDD64に記憶されているプログラムの一例は、商品販売データ処理用プログラムPR1やリアルタイム認識判定用プログラムPR2である。HDD64に記憶されているファイルの一例は、ストアコンピュータSCから配信されて格納されているPLUファイルF1である。
PLUファイルF1は、店舗に陳列して販売する商品Aの各々について、商品Aの売上登録に係る情報を格納する商品ファイルである。以下の説明では、PLUファイルF1を辞書として用いるが、辞書はPLUファイルF1と異なるファイルであっても良い。辞書は、撮像した画像データから抽出した商品を識別するための照合用データ(特徴量)を、複数の商品について記憶する。辞書は、PLUファイルF1と異なるファイルである場合、辞書に記憶される照合用データ(特徴量)と、PLUファイルF1の情報(識別情報)は紐付けられる。特徴量は、商品の標準的な形状、表面の色合い、模様、凹凸状況等の外観の特徴をパラメータ化したものである。
図3は、PLUファイルF1のデータ構成を例示する概念図である。図3に示すように、PLUファイルF1は、商品Aごとに、ユニークに割り当てられた識別情報である商品ID、商品Aが属する商品分類、商品名、品種、単価等の商品に関する情報と、その商品Aを示すイラスト画像と、撮像した商品画像から読み取られる色合いや表面の凹凸状況等の特徴量とを、その商品Aの商品情報として格納するファイルである。尚、特徴量は、後述する類似度の判定に用いられる照合用のデータである。なお、PLUファイルF1は、後述する接続インターフェース65を介し、商品読取装置101が読み出し可能に構成される。
加えて、PLUファイルF1は、図3に示すように、ガイダンス情報を各商品に対して記憶する。ガイダンス情報は、商品Aを撮像部164にかざす際に、撮像部164が撮像する物品の特徴毎の注意点を表したガイダンスを表示するための情報である。
撮像対象商品の特徴毎の注意点を表したガイダンス表示としては、例えば以下に示すガイダンスが挙げられる。
1.撮像対象となる全商品に共通するものであって、撮像部164に対する撮像距離を示すガイダンス。
2.リンゴのように球形の物品(オブジェクト)について、くるくる回しながら、物品全体を撮像するように案内するガイダンス。
3.大根やネギのように長い物品(オブジェクト)について、長手方向を軸としてくるくる回しながら、物品全体を長手方向に流して撮像するように案内するガイダンス。
4.スダチのように小さい物品(オブジェクト)について、物品(オブジェクト)を把持している店員の手が撮像部164による撮像画像内にできるだけ入らないように撮像するように案内するガイダンス。
図3の最上段に示された「にんじん」は、ガイダンス情報として1と3とが設定された状態を示すものである。
図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イメージセンサ等であり、CPU161の制御の下で読取窓103からの撮像を行う撮像手段である。例えば撮像部164では30fps(Flame Per Second)の画像の撮像を行う。撮像部164が所定のフレームレートで順次撮像したフレーム画像(撮像画像)はRAM163に保存される。
音声出力部165は、予め設定された警告音等を発生するための音声回路とスピーカ等である。音声出力部165は、CPU161の制御の下で警告音や音声による報知を行う。
更に、CPU161には、POS端末11の接続インターフェース65に接続して、POS端末11との間でデータ送受信を可能にする接続インターフェース175が接続される。また、CPU161は、接続インターフェース175を介して、表示・操作部104との間でデータ送受信を行う。
次に、CPU61がプログラム(商品販売データ処理用プログラムPR1、リアルタイム認識判定用プログラムPR2)を実行することで実現されるCPU61の機能構成について説明する。図4は、POS端末11の機能構成を示すブロック図である。
図4は、POS端末11の機能構成を示すブロック図である。図4に示すように、POS端末11のCPU61は、商品販売データ処理用プログラムPR1およびリアルタイム認識判定用プログラムPR2を実行することにより、画像取込部51、商品検出部52、類似度算出部53、類似度判定部54、商品提示部55、入力受付部57、情報入力部58、売上登録処理手段である売上登録部59、物品指定部91、判定部92、報知部93、追加学習部94、としての機能を備える。
(商品登録処理および売上登録処理)
まず、POS端末11の画像取込部51、商品検出部52、類似度算出部53、類似度判定部54、商品提示部55、入力受付部57、情報入力部58による一般物体認識(オブジェクト認識)に応じた商品登録処理、および売上登録部59による売上登録処理についての概要を説明する。
画像取込部51は、撮像部164に撮像オン信号を出力して撮像部164に撮像動作を開始させる。画像取込部51は、撮像動作開始後に撮像部164が撮像してRAM163に保存されたフレーム画像を順次取り込む。画像取込部51によるフレーム画像の取り込みは、RAM163に保存された順に行われる。
図5は、画像取込部51によって取り込まれたフレーム画像の一例を示す図である。図5に示すように、オペレータが読取窓103に商品Aをかざすと、撮像部164の読取領域Rには商品Aの全部または一部が撮影されて商品読取装置101の表示デバイス106に表示される。
商品検出部52は、撮像部164が撮像し、画像取込部51により取り込まれたフレーム画像に含まれる商品Aを検出して、特徴量を抽出する。商品検出部52は、フレーム画像に含まれる商品Aの全部または一部を、パターンマッチング技術等を用いて検出することにより、撮像された商品Aの特徴量を抽出する。具体的には、取り込まれたフレーム画像を2値化した画像から輪郭線等を抽出する。次いで、前回のフレーム画像から抽出された輪郭線と、今回のフレーム画像から抽出された輪郭線とを比較して、売上登録のために読取窓103に向けられた商品Aを検出する。
なお、商品Aを検出する別の方法としては、取り込まれたフレーム画像から肌色領域の有無を検出する。次いで、肌色領域が検出された場合、すなわち、店員の手が検出された場合は、この肌色領域の近傍において上述した輪郭線の検出を行うことで、店員の手が把持していると想定される商品の輪郭抽出を試みる。この時、手の形状を示す輪郭と、手の輪郭の近傍にそれ以外の物体の輪郭とが検出された場合に、商品検出部52は、この物体の輪郭から商品Aを検出する。
また、商品検出部52は、検出された商品Aの全部または一部の画像から、商品Aの色合いや表面の凹凸状況等の表面の状態を特徴量として読み取る。なお、商品検出部52は、処理時間の短縮を図るため、商品Aの輪郭や大きさは考慮しないものとする。
類似度算出部53は、PLUファイルF1に登録されている各商品(以下、登録商品という)の商品画像の色合いや表面の凹凸状況等の表面の状態である特徴量と、商品検出部52が商品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に登録された各登録商品との類似度を絶対評価として算出してもよいし、相対評価として算出してもよい。
類似度を絶対評価として算出する場合、撮像された商品Aの画像と、PLUファイルF1に登録された各登録商品とを1対1で比較し、この比較の結果導出される類似度をそのまま採用すればよい。また、類似度を相対評価として算出する場合、PLUファイルF1に5つの登録商品(商品AA、AB、AC、AD、AE)が登録されていたとすると、撮像された商品Aは、商品AAに対して類似度が0.6、商品ABに対しては類似度が0.1、商品ACに対しては類似度が0.1、商品ADに対しては類似度が0.1、商品AEに対しては類似度が0.1等、各登録商品との類似度の総和が1.0(100%)となるよう算出すればよい。
類似度判定部54は、画像取込部51が取り込んだフレーム画像ごとに、商品Aの画像と、PLUファイルF1に登録されている登録商品との類似度を比較する。本実施形態では、登録商品の商品画像と商品Aの画像との類似度について複数の条件が段階的に設けられており、類似度判定部54は、満たされる条件に応じて登録商品の確定あるいは商品の候補の選定を行う。類似度に関する条件は特に限定されるものではないが、以下では条件a〜dを用いる場合について説明する。
ここで、条件aおよび条件bは、本実施形態に係る第1の条件であり、撮像部164が撮像した商品AをPLUファイルF1に登録された登録商品のうち一の商品として確定するための条件である。また、条件cは、本実施形態に係る第2の条件であり、PLUファイルF1に登録された登録商品中に同一のカテゴリ(商品)に属する異なる品種の物品が複数含まれていない場合に、撮像部164が撮像した商品Aの候補を抽出するための条件である。更に、条件dは、本実施形態に係る第3の条件であり、条件cを満たした商品Aの候補中に同一のカテゴリ(商品)に属する異なる品種の物品が複数含まれている場合に、撮像部164が撮像した商品Aの候補を抽出するための条件である。
類似度判定部54は、条件aまたは条件bを満たす登録商品を、撮像部164が撮像した商品Aに一対一で対応する商品(以下、確定商品という)であると判定(確定)する。また、類似度判定部54は、条件cを満たす登録商品については、確定商品ではなく、撮像部164が撮像した商品Aの候補(以下、商品候補という)であると判定する。そして、PLUファイルF1に登録された複数の登録商品から条件cを満たす登録商品を抽出することにより、商品Aに対する商品候補を抽出する。
また、類似度判定部54は、条件dを満たす登録商品(同一のカテゴリ(商品)に属する異なる品種の物品)についても、確定商品ではなく、撮像部164が撮像した商品Aの候補であると判定する。そして、PLUファイルF1に登録された複数の登録商品から条件dを満たす登録商品を抽出することにより、商品Aに対する商品候補を抽出する。
条件a〜cは類似度に応じて段階的に設定されればその詳細は特に限定されるものではないが、一例として、予め設定された複数の閾値によって条件a〜cを設けることができる。ここでは、第1閾値〜第3閾値によって条件a〜cを設定する場合について説明する。なお、第1〜3閾値の大小関係は、第1閾値>第2閾値>第3閾値とする。
類似度判定部54は、登録商品との類似度が予め定められた第1閾値(例えば90%)以上となった回数をカウントし、この回数が所定回数以上となった場合に条件aが満たされたと判定する。尚、第1閾値を誤判定が無いよう十分に高く設定した場合には、所定回数を1回として条件aを判定してもよい。
また、類似度判定部54は、登録商品との類似度が第1閾値(例えば90%)未満、かつ、第1閾値より小さい第2閾値(例えば75%)以上となった場合に条件bが満たされたと判定する。そして、条件bを満たした登録商品は、確定商品ではあるがオペレータによる確認操作を要すると判定する。なお、登録商品との類似度が第1閾値(例えば90%)未満、かつ、第1閾値より小さい第2閾値(例えば75%)以上となった回数をカウントし、この回数が所定回数以上となった場合に条件bが満たされたと判定してもよい。
更に、類似度判定部54は、登録商品との類似度が第2閾値(例えば75%)未満、かつ、第2閾値より小さい第3閾値(例えば10%)以上である場合に、条件cが満たされたと判定する。なお、更には登録商品との類似度が第2閾値(例えば75%)未満、かつ、第2閾値より小さい第3閾値(例えば10%)以上となった回数をカウントし、この回数が所定回数以上となった場合に条件cが満たされたと判定してもよい。
なお、各条件a〜cは、類似度の大きさ、判定回数等に応じて適宜設定可能であり、上述した例に限定されるものではない。また、条件a〜cの判断に用いる所定回数はそれぞれ条件毎に異なる回数を設けるものであってもよい。
加えて、類似度判定部54は、条件cを満たした登録商品中に同一のカテゴリ(商品)に属する異なる品種の物品が複数含まれている場合には、当該複数の品種の類似度を合算し、複数の品種の類似度を合算したカテゴリ(商品)の類似度が予め定められた第2閾値(例えば75%)以上となった場合、条件dが満たされたと判定する。
さらに、類似度判定部54は、登録商品について類似度の大きさで順位付けしたランキングを作成する。
商品提示部55は、撮像部164によって撮像された商品が、条件aまたは条件bを満たした登録商品であるとして一意的に確定されたことを、画像出力や音声出力等によってオペレータや客に報知する。
より詳細には、商品提示部55は、条件aを満たした登録商品が、撮像部164によって撮像された商品(確定商品)として一意的に確定されたことを示す確定画面71(図6参照)を表示デバイス106に表示させる。
図6は、確定画面71の一例を示す図である。条件aを満たす登録商品があった場合に、商品提示部55は読取領域R(図5参照)の撮像画像の表示を停止し、確定商品に対応するイラスト画像G1および商品名「にんじん」をPLUファイルF1から読み出して、確定画面71に表示する。また、商品提示部55は、PLUファイルF1から読み出した確定商品の商品名、商品価格(単価)を、商品名表示領域81、価格表示領域82にそれぞれ表示する。尚、商品提示部55は、イラスト画像G1の代わりに、PLUファイルF1から読み出した商品画像(写真)を表示してもよい。これに限らず、イラストや商品画像を表示せず、商品名を確定画面71に表示するようにしてもよい。この場合、音声出力部165によって、商品が確定したことを報知する。音声は事前に商品に紐付けられて登録された商品名であってもよいし、例えば「ピッ」という電子音であってもよい。
また、商品提示部55は、条件bを満たした登録商品(確定商品)が、撮像部164によって撮像された商品Aであるか否かの最終確認操作を受付ける確認画面72(図7参照)を表示デバイス106に表示させる。
図7は、確認画面72の一例を示す図である。条件bを満たす登録商品があった場合に、商品提示部55は確定商品に対応するイラスト画像G1をPLUファイルF1から読み出して、確認画面72に表示する。また、商品提示部55は、PLUファイルF1から読み出した確定商品の商品名を用いて、読み取られた商品Aがイラスト画像G1の商品であるか否かを問うメッセージを「にんじんですか?」等と表示する。また、確認画面72には、「はい/いいえ」等のボタンがタッチパネル105に対するタッチ操作によって選択操作可能に設けられる。
このように、確認画面72においては、類似度判定の結果、1つの商品Aに対して唯一に選別された登録商品(確定商品)の商品名や商品画像が示され、商品Aと登録商品とが一対一の関係を持って表示される。従って、確認画面72は、条件bを満たす登録商品が撮像部164によって撮像された商品Aとして一意的に確定されたことを報知する画面である。
加えて、商品提示部55は、条件cを満たした登録商品に関する情報を、商品候補として表示デバイス106に表示させる。より詳細には、商品提示部55は、条件cを満たした登録商品のイラスト画像および商品名をPLUファイルF1から読み出し、類似度算出部53が算出した類似度の高いものから、表示デバイス106に順次出力する。表示デバイス106は、商品候補提示領域83(図8参照)において、商品候補のイラスト画像および商品名を類似度の高いものから順に表示する。
図8は、商品候補のイラスト画像G1、G2、G3、G4が表示された画面例を示す図である。図8に示すように、商品候補提示領域83には、類似度の高い登録商品から順に、商品候補のイラスト画像G1、G2、G3、G4および各商品名が表示される。これらイラスト画像G1、G2、G3、G4はタッチパネル105に対する選択操作に応じて選択可能に構成される。また、商品候補提示領域83の下部には、商品リストから商品Aを選択するための選択ボタン84が設けられており、商品リストから選択された商品は上述した確定商品として処理される。なお、図8では、イラスト画像G1〜G4に対応する4つの商品候補が表示された例を示したが、商品候補の数や表示方法は特に限定されるものではない。また、イラスト画像に代えて商品画像(写真)を商品候補として表示してもよい。
加えて、商品提示部55は、条件dを満たした同一のカテゴリ(商品)に属する異なる品種の物品である登録商品に関する情報を、商品候補として表示デバイス106に表示させる。より詳細には、商品提示部55は、条件dを満たした登録商品(同一のカテゴリ(商品)に属する異なる品種の物品)のイラスト画像および商品名をPLUファイルF1から読み出し、類似度算出部53が算出した類似度の高いものから、表示デバイス106に順次出力する。
入力受付部57は、タッチパネル105またはキーボード107を介して表示デバイス106の表示に対応する各種入力操作を受付ける。例えば入力受付部57は、確認画面72(図7参照)に対する選択操作に基づいて、表示されたイラスト画像G1の商品が確定商品であることを最終確認した旨の入力操作(確認操作)を受付ける。なお、商品提示部55は、入力受付部57が確認操作を受付けた場合に、上述の確定画面71を表示デバイス106に表示する。
入力受付部57は、表示デバイス106に表示された商品候補のイラスト画像G1〜G4(図8参照)の中からいずれか1つのイラスト画像に対する選択操作を受付ける。入力受付部57は、選択されたイラスト画像の登録商品を、商品Aに対する確定商品であるとして受付ける。なお、商品検出部52が複数の商品Aを検出可能である場合には、入力受付部57は商品候補の中から、複数の商品候補の選択操作を受付けてもよい。なお、商品提示部55は、入力受付部57が選択操作を受付けた場合に、受付けた商品候補を確定商品として表示させた確定画面71を表示デバイス106に表示させる。
情報入力部58は、上述のようにして確定された確定商品について、その商品Aを示す情報(例えば、商品IDや商品名等)を、接続インターフェース175を介して入力する。
なお、情報入力部58は、タッチパネル105またはキーボード107を介して別途入力された販売個数を、商品ID等とともに入力するとしてもよい。
売上登録部59は、情報入力部58から入力された商品IDと販売個数とに基づいて、対応する商品Aの売上登録を行う。具体的には、売上登録部59は、PLUファイルF1を参照して、通知された商品ID及び当該商品IDに対応する商品分類、商品名、単価等を、販売個数とともに売上マスタファイル等に記録して売上登録を行う。
(オブジェクト認識に際してのリアルタイム認識判定処理)
次いで、POS端末11の画像取込部51、商品検出部52、類似度算出部53、類似度判定部54、物品指定部91、判定部92、報知部93、追加学習部94によるオブジェクト認識に際してのリアルタイム認識判定処理について説明する。
上述したように、POS端末11は、撮像部164により撮像した画像データから抽出した対象となる物品(オブジェクト)の特徴量と、予め用意された辞書であるPLUファイルF1における照合用のデータ(特徴量)とを比較した類似度に応じて当該物品の種別等を認識(検出)する一般物体認識(オブジェクト認識)を採用している。
上記した一般物体認識(オブジェクト認識)においては、商品Aをかざす面や、商品Aの位置、イメージセンサデバイスと商品Aとの距離など、商品Aのかざし方によって撮像される画像データが異なる。ところが、商品Aが認識されるかざし方を、上述した商品登録処理の際に経験的に習得するのでは、かざす面や、位置、距離などを変えて、何通りも売上登録を試みなければならず、非常に非効率であり手間である。
そこで、本実施形態のPOS端末11は、オブジェクト認識における商品Aのかざし方について報知することができるようにしたものである。すなわち、POS端末11のCPU61は、リアルタイム認識判定用プログラムPR2を実行することにより、図4に示すように、画像取込部51、商品検出部52、類似度算出部53、類似度判定部54、物品指定部91、判定部92、報知部93、追加学習部94としての機能を備える。以下において、オブジェクト認識に際してのリアルタイム認識判定処理における各部について説明する。
先ず、商品登録処理と同様に、画像取込部51は、撮像部164が撮像したフレーム画像を取り込む。そして、商品登録処理と同様に、商品検出部52、類似度算出部53、および類似度判定部54は、画像取込部51が取り込んだ画像に含まれる商品Aを識別する識別手段として機能する。
次に、画像取込部51、商品検出部52、類似度算出部53、および類似度判定部54によって実行されるリアルタイム性を有した処理について説明を行う。撮像部164は、30fpsで画像を撮像する。そして、画像取込部51、商品検出部52、類似度算出部53および類似度判定部54は、撮像された1フレーム画像ごとに類似度を求めるための各種処理を実行する。売上登録にかかる商品登録処理は、これを所定の時間、すなわち、複数のフレーム画像に対して繰り返し行う。売上登録にかかる商品登録処理は、蓄積された複数のフレーム画像分の類似度を用いることで、商品認識の精度を高めている。一方、リアルタイム処理は、30fpsで撮像された1フレーム画像の類似度を用いて、商品のかざし方の適否を報知する。これにより、本実施形態は、リアルタイムでの報知を実現している。
また、商品検出部52、類似度算出部53、および類似度判定部54は、商品Aが検出できない場合に処理を断念し、後述する報知部93に報知させる。商品Aが検出できない場合とは、商品Aの全部または一部が撮像されていない場合や、商品Aを持つ手により、商品Aが隠れてしまっている場合などである。
物品指定部91は、選択手段として機能するものであって、予め用意された辞書であるPLUファイルF1からリアルタイム認識判定の対象商品を選択させる。物品指定部91は、PLUファイルF1に格納された登録商品のリストから、オペレータがリアルタイム認識判定の物品の商品名を選択させることで、リアルタイム認識判定の対象商品の指定を行う。
なお、撮像速度は、30fpsに限るものではない。また、類似度の算出に用いるフレーム画像の枚数も、1フレーム画像に限らない。類似度の算出に用いるフレーム画像の枚数は、2枚以上の複数フレーム画像としてもよい。
判定部92は、商品検出部52、類似度算出部53、および類似度判定部54が、画像に含まれる商品Aを識別する識別手段として機能した識別結果における、物品指定部91によって選択された商品Aのランクに応じた、かざし方の適否を判定する。その際、判定部92は、対象商品の類似度の大きさで順位付けしたランキングに応じて3段階に判定する。なお、判定の段階は、2段階であってもよいし、4段階以上であってもよい。
次に、判定部92が判定する3段階の詳細について説明する。
まず、リアルタイム認識判定処理の対象に選択した登録商品の類似度におけるランキングの順位が高位の場合について説明する。判定部92は、ランキングの順位が第1位または、確定商品の少なくとも何れか一方の条件を満たしている場合に、選択した登録商品の類似度におけるランキングの順位が高位にランクすると判定する。
次に、リアルタイム認識判定処理の対象に選択した登録商品の類似度におけるランキングの順位が中位の場合について説明する。判定部92は、ランキング第1位を除いた候補商品、すなわち、ランキングの順位が第2位から第4位などの順位である場合に、選択した登録商品の類似度におけるランキングの順位が中位にランクすると判定する。なお、ランキング第1位を除いた候補商品は、第2位から第4位に限らず、第5位以下を含めてもよい。
次に、リアルタイム認識判定処理の対象に選択した登録商品の類似度におけるランキングの順位が低位の場合について説明する。判定部92は、商品候補より類似度が低いとき、すなわち、ランキングの順位が第5位以下などの順位である場合に、選択した登録商品の類似度におけるランキングの順位が低位にランクすると判定する。または、判定部92は、商品検出部52が商品Aを検出することができず、ランキングを算出する処理を断念した場合に、選択した登録商品の類似度におけるランキングの順位が低位にランクすると判定する。
報知部93は、判定部92が判定した判定結果を報知する。具体的には、報知部93は、判定部92が判定した判定結果に応じた画面を表示することで報知する。
また、報知部93は、PLUファイルF1において商品Aに対応付けて記憶されているガイダンス情報を報知する。これにより、オペレータは、撮像対象商品の特徴毎の注意点を考慮して商品Aをかざすことができる。
追加学習部94は、PLUファイルF1に予め登録されている商品の照合用のデータ(特徴量)を追加学習(追加登録)する。具体的には、追加学習部94は、照合用のデータ(特徴量)となる画像を再度、撮像し、取り込むことにより更新する。照合用データ(特徴量)は、一定量保存(記憶)することができる。照合用データ(特徴量)が一定量に達したら、古い照合用データ(特徴量)からデータを消去、あるいはランダムで照合用データ(特徴量)を消去する。
次に、リアルタイム認識判定処理におけるチェックアウトシステム1の動作について詳細に説明する。図9は、チェックアウトシステム1が実行するリアルタイム認識判定処理の流れを示すフローチャートである。なお、前提条件として、リアルタイム認識判定用プログラムPR2が起動しているものとする。
図9に示すように、POS端末11のCPU61(物品指定部91)は、商品選択画面(不図示)を表示する(ステップS11)。商品選択画面は、辞書に登録されている登録商品のリストを表示して、リアルタイム認識判定処理を行う対象の商品を登録商品から選択させる画面である。オペレータは、商品選択画面に表示された商品ボタンを押下することにより、リアルタイム認識判定処理を行う商品Aを選択することができる。
次いで、POS端末11のCPU61(物品指定部91)は、商品ボタンの押下が検出されるか否かを判定する(ステップS12)。POS端末11のCPU61(物品指定部91)は、商品ボタンの押下を検出しない場合に(ステップS12;No)、POS端末11のCPU61(物品指定部91)は、ステップS12にて待機する。
商品ボタンの押下を検出した場合に(ステップS12;Yes)、POS端末11のCPU61は、精度チェック画面G5(図10参照)を表示させる(ステップS13)。
図10は、精度チェック画面G5の一例を示す説明図である。精度チェック画面G5は、リアルタイム認識判定処理の状態および判定結果を表示する画面である。精度チェック画面G5は、大別すると、商品表示領域R51と、通常認識判定領域R52と、リアルタイム認識判定領域R53と、中止ボタンB51とを備える。
商品表示領域R51は、リアルタイム認識判定処理の対象商品を撮像部164が撮像して画像取込部51によって取り込まれた画像を表示する領域である。商品表示領域R51は、商品名領域R511と、撮像領域R512とを備える。商品名領域R511は、予め選択したリアルタイム認識判定処理を行う対象商品の商品名が表示される領域である。撮像領域R512は、撮像部164が撮像した画像を表示する領域である。撮像領域R512に画像を表示することで、オペレータは、撮像部164に商品を撮像させていることを確認することができる。
通常認識判定領域R52は、照合データ(類似度)の精度をチェックする商品認識精度チェック機能の判定結果が表示される領域である。
リアルタイム認識判定領域R53は、シングルフレームでの認識結果を表示することにより、リアルタイムで認識結果を表示する領域である。リアルタイム認識判定領域R53は、判定結果領域R531と、メッセージ領域R532と、を備える。判定結果領域R531は、リアルタイム認識判定の結果として、商品Aのかざし方の適否について表示する領域である。メッセージ領域R532は、PLUファイルF1において商品Aに対応付けて記憶されているガイダンス情報に従って、撮像対象商品の特徴毎の注意点を表示する領域である。中止ボタンB51は、リアルタイム認識判定処理を中止する場合に押下するボタンである。
次いで、POS端末11のCPU61は、精度チェック画面G5に備えられた中止ボタンB51の押下が検出されるか否かを判定する(ステップS14)。中止ボタンB51の押下が検出された場合に(ステップS14;Yes)、POS端末11のCPU61は、中止実行画面G6(図14参照)を表示させる(ステップS25)。
一方、精度チェック画面G5に備えられた中止ボタンB51の押下が検出されない場合に(ステップS14;No)、POS端末11のCPU61(画像取込部51)は、撮像部164を用いてフレーム画像を撮像し、フレーム画像を取り込む(ステップS15)。
次いで、POS端末11のCPU61(商品検出部52)は、商品Aの特徴量を抽出する(ステップS16)。次いで、POS端末11のCPU61(類似度算出部53)は、1フレーム画像ごとに、登録商品について類似度を算出する(ステップS17)。次いで、POS端末11のCPU61(類似度判定部54)は、登録商品について類似度の大きさで順位付けしたランキングを作成する(ステップS18)。
次いで、POS端末11のCPU61(判定部92)は、リアルタイム認識判定処理の対象に選択した登録商品の類似度におけるランキングの順位が高位であるか否かを判定する(ステップS19)。ここで、ランキングの順位が高位とは、選択した登録商品の類似度におけるランキングの順位が第1位、または類似度が高い確定商品であることの少なくとも何れか一方の条件を満たしていることである。
選択した登録商品の類似度におけるランキングの順位が高位である場合に(ステップS19;Yes)、POS端末11のCPU61(報知部93)は、リアルタイム認識判定領域R53に高認識結果画面G51を表示する(ステップS20)。
図11は、高認識結果画面G51の一例を示す説明図である。高認識結果画面G51は、選択した登録商品の類似度におけるランキングの順位が高位である旨を表示した画面である。高認識結果画面G51は、判定結果領域R531に、選択した登録商品の類似度におけるランキングの順位が高位である旨を示す「判定結果OK」を表示する。これにより、オペレータは、商品Aを認識させるためには、商品Aのどの部分(面)を撮像部164に撮像させれば良いかを知ることができる。さらに、オペレータは、商品Aを認識させるためには、商品Aを、どの位置に持っていき、撮像部164に撮像させれば良いかを知ることができる。
メッセージ領域R532には、「くるくるまんべんなくまわして確認できます」とのガイダンス情報を表示して、商品Aの様々な部分(面)について試行させることで、商品Aを認識させるためのかざし方について習得させる。
選択した登録商品の類似度におけるランキングの順位が高位ではない場合に(ステップS19;No)、POS端末11のCPU61(判定部92)は、リアルタイム認識判定処理の対象に選択した登録商品の類似度におけるランキングの順位が中位であるか否かを判定する(ステップS21)。ここで、ランキングの順位が中位とは、ランキング第1位を除いた商品候補であることを示す。具体的には、選択した登録商品の類似度におけるランキングの順位が第2位から第4位などである。
選択した登録商品の類似度におけるランキングの順位が中位である場合に(ステップS21;Yes)、POS端末11のCPU61(報知部93)は、リアルタイム認識判定領域R53に中認識結果画面G52を表示する(ステップS22)。
図12は、中認識結果画面G52の一例を示す説明図である。中認識結果画面G52は、類似度が第1位以外の商品候補であり、選択した登録商品の類似度におけるランキングの順位が中位である旨を表示する画面である。中認識結果画面G52は、判定結果領域R531に、選択した登録商品の類似度におけるランキングの順位が中位である旨を示すマーク「△」を表示する。また、中認識結果画面G52は、メッセージ領域R532に、高認識結果画面G51と同様のガイダンス情報を表示する。
選択した登録商品の類似度におけるランキングの順位が中位でない場合に(ステップS21;No)、POS端末11のCPU61(報知部93)は、選択した登録商品の類似度におけるランキングの順位が低位であるとして、リアルタイム認識判定領域R53に低認識結果画面G53を表示する(ステップS23)。
図13は、低認識結果画面G53の一例を示す説明図である。低認識結果画面G53は、商品候補より類似度が低く、選択した登録商品の類似度におけるランキングの順位が低位である旨を表示する画面である。また、低認識結果画面G53は、商品検出部52が商品Aを検出することができず、ランキングを算出する処理を断念した場合に表示される。低認識結果画面G53は、判定結果領域R531に、選択した登録商品の類似度におけるランキングの順位が低位である旨を示すマーク「×」を表示する。
また、低認識結果画面G53は、選択した登録商品の類似度におけるランキングの順位が低位の場合に、メッセージ領域R532に、PLUファイルF1に記憶されたガイダンス情報を表示する。
ランキングを算出する処理を断念した場合には、低認識結果画面G53は、メッセージ領域R532に、ガイダンス情報に代えて、断念理由に応じた対策を表示する。図13の撮像領域R512には、商品Aであるキャベツの左側が撮像されていない。よって、低認識結果画面G53は、メッセージ領域R532に、「商品を中央に移動して下さい」とのメッセージを表示する。
次いで、POS端末11のCPU61は、中止ボタンB51の押下が検出されるか否かを判定する(ステップS24)。中止ボタンB51の押下が検出されない場合に(ステップS24;No)、POS端末11のCPU61は、ステップS15に戻る。
一方、中止ボタンB51の押下が検出された場合に(ステップS24;Yes)、POS端末11のCPU61は、ステップS25に移行して中止実行画面G6を表示する(ステップS25)。
図14は、中止実行画面G6の一例を示す説明図である。中止実行画面G6は、中止ボタンB51が押下された場合に、リアルタイム認識判定処理を中止することを確認する画面である。よって、中止実行画面G6は、「精度チェックを中止してもよろしいですか?」とのメッセージを表示する。中止実行画面G6は、はいボタンB61と、いいえボタンB62とを備える。はいボタンB61は、リアルタイム認識判定処理を中止する場合に押下するボタンである。いいえボタンB62は、リアルタイム認識判定処理の中止を取り止める場合に押下するボタンである。
次いで、POS端末11のCPU61は、中止実行画面G6に備えられた、はいボタンB61の押下が検出されるか否かを判定する(ステップS26)。はいボタンB61の押下が検出されない場合に(ステップS26;No)、POS端末11のCPU61は、中止実行画面G6に備えられた、いいえボタンB62の押下が検出されるか否かを判定する(ステップS27)。
いいえボタンB62の押下が検出されない場合に(ステップS27;No)、POS端末11のCPU61は、ステップS26に戻る。一方、いいえボタンB62の押下が検出された場合に(ステップS27;Yes)、POS端末11のCPU61は、ステップS13に戻る。
一方、中止実行画面G6に備えられた、はいボタンB61の押下が検出された場合に(ステップS26;Yes)、POS端末11のCPU61は、リアルタイム認識判定処理を終了する。
以上のように、本実施形態によれば、商品Aを識別するための特徴量が登録された辞書であるPLUファイルF1から、リアルタイム認識判定処理の対象商品を選択する物品指定部91を備える。また、かざされた商品Aを撮像する撮像部164を備えている。撮像部164に撮像された画像に含まれる商品Aは、識別手段として機能する商品検出部52、類似度算出部53、および類似度判定部54によって類似度を用いて識別される。判定部92は、識別結果における、物品指定部91によって選択された商品Aのランクに応じてかざし方の適否を判定する。そして、報知部93は、判定部92の判定結果を報知する。よって、本実施形態は、撮像部164への商品Aのかざし方の適否について報知することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
なお、上記実施形態では、情報処理装置としてPOS端末11を例にあげて説明している。しかし、情報処理装置は、POS端末11に限らない。例えば、パーソナルコンピュータやタブレット端末などであってもよい。この場合には、パーソナルコンピュータやタブレット端末に、スキャナなどの撮像装置を接続すればよい。
また、上記実施形態では、情報処理装置であるPOS端末11のCPU61は、画像取込部51、商品検出部52、類似度算出部53、類似度判定部54、商品提示部55、入力受付部57、情報入力部58、売上登録部59、物品指定部91、報知部93、及び追加学習部94としての機能を有していると説明した。しかし、これらの機能は、POS端末11のCPU61以外が備えていてもよい。例えば、商品読取装置101のCPU161に、前述の機能の全部または一部が備えられていてもよい。
また、上記実施形態では、照合用データを特徴量として説明したが、照合用データは、撮像された商品画像(基準画像)としてもよい。
また、上記実施形態では、店舗システムとしてPOS端末11と商品読取装置101とで構成されるチェックアウトシステム1を適用したがこれに限るものではなく、POS端末11及び商品読取装置101の機能を備えた1台構成の装置に適用するようにしてもよい。POS端末11及び商品読取装置101の機能を備えた1台構成の装置としては、スーパーマーケット等の店舗に設置されて用いられるセルフチェックアウト装置(以降、単にセルフPOSと称する)が挙げられる。
ここで、図15は、セルフPOS200の構成を示す外観斜視図、図16は、セルフPOS200のハードウェア構成を示すブロック図である。尚、以下では、図1および図2に示される同様の構成については同一の符号を付して示し、その重複する説明を省略する。図15および図16に示すように、セルフ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が情報処理装置として機能することになる。
また、上記実施形態の各装置で実行されるプログラムは、各装置が備える記憶媒体(ROM又は記憶部)に予め組み込んで提供するものとするが、これに限らず、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、記憶媒体は、コンピュータ或いは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
また、上記実施形態の各装置で実行されるプログラムをインターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよく、インターネット等のネットワーク経由で提供又は配布するように構成してもよい。