(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
以下、図面を参照しながら実施形態について説明する。
図1は、実施形態に係る商品認識装置1を含む会計システムの構成例を示す外観図である。
会計システムは、商品認識装置1とPOS端末2とを有する。商品認識装置1は、顧客が買い上げる商品を認識(登録)する。POS端末2は、商品認識装置1で認識(登録)した商品に対する代金の決済を行う。会計システムは、例えば、小売店などの店舗において利用者(顧客)が購入する商品に対する会計処理を行うシステムである。以下の説明では、店員がオペレータとして操作することにより商品認識処理を含む会計処理を実施するシステムを想定する。ただし、会計システムは、利用者自身がオペレータとして操作することにより商品認識処理を含む会計処理を実施するシステム(セルフレジシステム)であっても良い。
【0009】
図1に示す構成例において、商品認識装置1は、会計カウンタ3の上に取り付けられる。商品認識装置1は、ハウジング1A、キーボード11、タッチパネル12及び客用ディスプレイ13を備える。POS端末2は、レジ台4の上にドロワ5を介して設置される。POS端末2は、キーボード21、オペレータ用ディスプレイ22、客用ディスプレイ23及びレシートプリンタ24を備える。商品認識装置1とPOS端末2とは、通信ケーブル400(
図2を参照)を介して電気的に接続される。
【0010】
商品認識装置1を設置する会計カウンタ3は、顧客が通行する通路に沿って細長い形状を有する。POS端末2を設置するレジ台4は、会計カウンタ3に沿って移動する顧客の移動方向に対して下流側に置かれる。レジ台4は、会計カウンタ3に対して略垂直に置かれる。会計カウンタ3及びレジ台4の手前側がオペレータとしての店員が作業を行うスペースとなる。
【0011】
商品認識装置1において、キーボード11、タッチパネル12および客用ディスプレイ13は、ハウジング1Aに取り付けられる。ハウジング1Aは、商品認識処理を行うコンピュータとしての制御ユニットを格納する。さらに、ハウジング1Aは、カメラ14、ブザー15および姿勢センサ16を備える。
図1に示す構成例において、ハウジング1Aは、薄型の矩形形状を有し、会計カウンタ3の略中央に立設される。キーボード11とタッチパネル12は、それぞれ操作面をオペレータとしての店員(キャッシャ)側に向けてハウジング1Aに取り付けられる。客用ディスプレイ13は、表示面を顧客が通行する通路側に向けてハウジング1Aに取り付けられる。
【0012】
また、ハウジング1Aは、読取窓1Bを有する。読取窓1Bは、ハウジング1A内のカメラ14が商品の画像を撮影するための窓(開口部)である。
図1に示す構成例において、読取窓1Bは、ハウジング1Aのオペレータ側において矩形状に形成される。ハウジング1A内のカメラ14は、イメージセンサ、駆動回路および光学系などにより構成される。イメージセンサは、例えば、CCD(Charge Coupled Device)撮像素子である。駆動回路は、イメージセンサを駆動させる。光学系は、読取窓1Bからの撮像領域の画像をCCD撮像素子に結像させるための撮像レンズなどを含む。ここで、撮像領域は、読取窓1Bから撮像レンズを通してCCD撮像素子のエリアに結像するフレーム画像の領域を指す。カメラ14は、撮像レンズを通ってCCD撮像素子に結像した撮像領域の画像を出力する。
なお、カメラ14は、上記構成のものに限定されるものではない。本実施形態に係る商品認識のカメラは、商品を含む画像を画像データとして取得するものであれば良い。
【0013】
図1に示す構成においては、会計カウンタ3におけるハウジング1Aの両側にそれぞれカゴ6とカゴ7とが配置される運用を想定する。カゴ6には、商品認識処理前の商品(未認識の商品)を入れる。カゴ7には、商品認識処理後の商品(登録済みの商品)を入れる。カゴ6は、会計カウンタ3上の顧客の移動方向に対してハウジング1Aよりも上流側に置かれる。これに対して、カゴ7は、会計カウンタ3上の顧客の移動方向に対してハウジングA1よりも下流側に置かれる。
【0014】
例えば、顧客は、カゴ6に購入を希望する未認識(登録)の商品Mを入れたカゴ6を会計カウンタ3に置く。オペレータ(店員)は、カゴ6から商品を一個ずつ取り出し、取り出した商品を読取窓1Bに翳す。このようなオペレータの操作に伴って、カメラ14は、読取窓1Bから1つの商品を含む撮影領域の画像を撮影する。カメラ14が撮影した撮影画像に基づく商品認識処理が完了した後、オペレータは、当該商品をカゴ7に入れる。
【0015】
また、姿勢センサ16は、オペレータの姿勢を推定するための情報を検知するセンサである。姿勢センサ16は、オペレータ(セルフレジの場合は利用者)が商品を読取窓1Bに翳す状態であるかを判定できる情報(姿勢情報)を取得するものであれば良い。例えば、姿勢センサ16は、カメラであっても良いし、測距センサであっても良いし、近接センサであっても良い。なお、姿勢センサ16をカメラとする場合、姿勢センサ16はカメラ14であっても良い。
【0016】
図2は、商品認識装置1とPOS端末2とのハードウェア構成を示すブロック図である。
商品認識装置1は、プロセッサ111、ROM(Read Only Memory)112、RAM(Random Access Memory)113、画像インターフェース114、デバイスインターフェース115、接続インターフェース116、および、センサインターフェース117を有する。プロセッサ111は、アドレスバス,データバス等のバスライン118を介して、ROM112、RAM113及び各インターフェース114,115,116、117に接続する。
【0017】
プロセッサ111は、プログラムを実行する。例えば、プロセッサ111は、ROM112が記憶するプログラムを実行することにより種々の処理を実現する。プロセッサ111は、例えば、CPU(Central Processing Unit)である。ROM(Read Only Memory)112は、プログラムおよび制御データなどを記憶する。RAM113は、作業用のデータを記憶する揮発性のメモリである。RAM113は、プロセッサ111がプログラムにより実行中の処理データを記憶する。
【0018】
画像インターフェース114は、カメラ14を接続するインターフェースである。プロセッサ111は、画像インターフェース114を介してカメラ14が撮像した画像データを取り込む。プロセッサ111は、画像インターフェース114を介してカメラ14から取り込んだ画像データをRAM113に格納する。
【0019】
デバイスインターフェース115は、キーボード11、タッチパネル12及び客用ディスプレイ13を接続するインターフェースである。タッチパネル12は、表示部12aとタッチセンサ12bとからなる。タッチセンサ12bは、表示部12aの画面の上に重ねて配置される。デバイスインターフェース115は、ブザー15を接続するインターフェースであっても良い。ブザー15は、例えば、報知音を鳴動する。ブザー15は、デバイスインターフェース115を介してプロセッサ111から制御指示を受信し、受信した制御指示に応じて音を発する
接続インターフェース116は、POS端末2と接続するためのインターフェースである。
図2に示す構成例において、接続インターフェース116は、通信ケーブル400を介してPOS端末2と接続する。接続インターフェース116は、POS端末2と通信するものであれ良く、例えば、無線通信用のインターフェースであっても良い。
【0020】
センサインターフェース117は、姿勢センサ16を接続するためのインターフェースである。センサインターフェース117は、姿勢センサ16の仕様に応じたものとなる。なお、カメラ14を姿勢センサ16として用いる場合、センサインターフェース117は省略しても良い。
【0021】
POS端末2は、
図2に示すように、プロセッサ211、ROM212、RAM213、HDD(Hard Disk Drive)214、デバイスインターフェース215、通信インターフェース216及び接続インターフェース217を有する。プロセッサ211は、アドレスバス,データバス等のバスライン218を介して、ROM212、RAM213、HDD214及び各インターフェース215,216,217に接続する。
【0022】
プロセッサ211は、プログラムを実行する。例えば、プロセッサ211は、ROM212が記憶するプログラムを実行することにより種々の処理を実現する。プロセッサ211は、例えば、CPU(Central Processing Unit)である。ROM212は、プログラムおよび制御データなどを記憶する。RAM213は、作業用のデータを記憶する揮発性のメモリである。RAM213は、プロセッサ211がプログラムにより実行中の処理データを記憶する。HDD214は、データ記憶部である。データ記憶部は、HDDに限定されるものではなく、例えば、SSD(Solid State Drive)などであっても良い。
【0023】
デバイスインターフェース215は、キーボード21、オペレータ用ディスプレイ22、客用ディスプレイ23、プリンタ24及びドロワ5を接続するためのインターフェースである。
通信インターフェース216は、ストアコンピュータ300に接続するためのインターフェースである。通信インターフェース216は、例えば、LAN(Local Area Network)等のネットワークを介してストアコンピュータ300と通信する。POS端末2のプロセッサ211は、通信インターフェース216を介してストアコンピュータ300とデータの送受信が可能となる。例えば、POS端末2のプロセッサ211は、通信インターフェース216を介してストアコンピュータ300から商品認識用の辞書ファイル500を受信する。POS端末2のプロセッサ211は、ストアコンピュータ300から受信した辞書ファイル500をHDD214に保存する。
【0024】
接続インターフェース217は、商品認識装置1と通信するためのインターフェースである。
図2に示す構成例において、接続インターフェース217は、通信ケーブル400を介して商品認識装置1の接続インターフェース116に接続する。例えば、POS端末2のプロセッサ211は、接続インターフェース217等を介して通信する商品認識装置1のタッチパネル12及び客用ディスプレイ13の表示を制御する。また、商品認識装置1のプロセッサ111は、接続インターフェース217等を介して通信可能となるPOS端末2のHDD214内の辞書ファイル500にアクセスする。
【0025】
辞書ファイル500は、商品毎の辞書データである。例えば、辞書ファイル500は、商品毎の商品ID及び商品名に関連付けた複数対の基準画像データと特徴量データとを含む。複数の基準画像データは、商品IDで識別される商品を様々な条件で撮影した画像データである。例えば、複数の基準画像データは、商品を様々な方向から撮影した画像データである。特徴量データは、各基準画像から得られる外観上の特徴量をパラメータ化したデータである。特徴量データは、商品認識処理において、撮影画像中の商品画像から得る特徴量と照合するための辞書データである。
【0026】
次に、商品認識装置1における処理機能について説明する。
商品認識装置1は、プロセッサ111がプログラムを実行することにより実現される種々の処理機能を有する。商品認識装置1は、プロセッサ111がROM112に記憶したプログラムを実行することにより商品認識処理を含む商品登録処理などの種々の処理機能を実現する。例えば、商品認識装置1は、商品を認識するための処理機能として、画像取得機能、画像検出機能、特徴量抽出機能、類似度算出機能、商品特定機能及び結果出力機能を有する。
【0027】
本実施形態に係る商品認識装置1は、商品認識の手法として、一般物体認識(generic object recognition)の技術を採用するものとする。一般物体認識(以下、物体認識と称する)とは、商品などの物体(オブジェクト)をカメラで撮像した画像データ(撮影画像)から当該物体の種別等を認識する技術である。例えば、物体認識は、電子計算機(コンピュータ)などの装置においてプロセッサがプログラムを実行することにより実現される。コンピュータは、画像データを取得し、取得した画像データに含まれる物体の画像から認識用の特徴量を抽出する。コンピュータは、物体の画像から抽出した特徴量と辞書データとして登録済みの特徴量(基準画像から得た特徴量)データとの類似度を算出する。コンピュータは、物体の画像から抽出した特徴量と辞書データとして登録済みの特徴量データとの類似度に基づいて取得した画像に存在する物体を認識する。
【0028】
画像取得機能は、カメラ14が撮影する撮影画像を取得する機能である。カメラ14は、読取窓1Bの前に翳される商品を撮影するように設定された撮影領域の画像を撮影する。プロセッサ111は、画像インターフェース114を介してカメラ14が撮影した撮影領域の画像を取得する。
画像検出機能は、カメラ14が撮影した撮影画像から商品画像を検出(抽出)する機能である。プロセッサ111は、画像取得機能によりカメラ14から取得する撮影画像から商品の画像領域を検出する。プロセッサ111は、商品の画像領域を切出して商品画像とする。
【0029】
特徴量抽出機能は、画像検出機能により検出した商品画像から特徴量を抽出する機能である。プロセッサ111は、商品認識処理に用いるアルゴリズムに応じた商品の特徴量を商品画像から算出(抽出)する。
類似度算出機能は、商品画像から抽出する特徴量と辞書データとして登録済みの各商品の特徴量データとの類似度を算出する機能である。プロセッサ111は、商品画像から得た特徴量と各商品の辞書ファイル500の特徴量データとの類似度を算出する。
【0030】
商品特定機能は、類似度算出機能により算出した商品毎の類似度に基づいて商品画像の商品(カメラ14が撮影した商品)を特定する機能である。プロセッサ111は、類似度に基づいて商品画像の商品を1つの商品として特定するか、又は、商品画像の商品に対する複数の商品候補を選出する。例えば、プロセッサ111は、所定閾値以上の類似度の商品が1つだけである場合、商品画像の商品が閾値以上となった商品であると特定する。また、所定閾値以上の類似度となる商品が無い場合、又は、所定閾値以上の類似度の商品が複数ある場合、プロセッサ111は、類似度が高い順に複数の商品候補を選出する。複数の商品候補を選出した場合、プロセッサ111は、オペレータの選択に従って商品画像の商品を特定する。
【0031】
結果出力機能は、商品特定機能により特定した商品を示す情報をPOS端末2へ出力する機能である。プロセッサ111は、商品特定機能で商品を特定した場合、特定した商品の商品IDをカメラ14が撮影した商品の商品IDとしてPOS端末2に出力する。
なお、商品認識装置1のプロセッサ111は、商品画像から商品を特定するコード(例えば、バーコード、二次元コード)を認識するコード認識機能を具備しても良い。プロセッサ111は、商品画像からコードが検出できた場合にコードによる商品を認識し、コードが検出できない場合に物体認識により商品を認識するようにしても良い。ただし、以下の説明では、商品認識装置1は、物体認識により商品を認識するものとする。
【0032】
次に、会計システムにおける会計処理の流れについて説明する。
図3は、会計システムにおける会計処理の流れを概略的に説明するためのフローチャートである。
図3に示すように、会計システムは、利用者が購入する各商品を登録(認識)する商品登録処理と商品登録処理により登録した全商品の代金を決済する会計処理とを行う。商品登録処理は、物体認識を用いた商品認識によって利用者(顧客)が購入する個々の商品を特定(確定)する処理を含む。
【0033】
利用者は、店舗内において購入したい商品を探し、実際に購入する商品をカゴ6に入れる。利用者は、購入する商品を入れたカゴ6を持って会計カウンタ3へ行く。利用者又は店員は、購入する商品が入ったカゴ6を会計カウンタ上のハウジング1Aの手前(利用者の進行方向の上流側)に置く。オペレータ(店員又は利用者)は、カゴ6から商品を1つずつ取出して読取窓1Bに翳す。オペレータは、読取窓1Bに翳した商品の認識(登録)が完了したら当該商品をカゴ7に入れる。
【0034】
商品認識装置1は、カメラ14が撮影する画像に対する商品認識処理により特定した商品を登録する(ACT11)。商品認識装置1は、読取窓1Bに翳された個々の商品の画像をカメラ14により撮影する。商品認識装置1は、カメラ14が撮影した撮影画像に対して商品認識処理を行う。商品認識処理において、商品認識装置1は、姿勢センサ16からオペレータの姿勢を推定するための姿勢情報を取得し、オペレータの姿勢を監視する。商品認識装置1は、姿勢情報に基づいてオペレータの姿勢が商品認識処理を実行して良い状態であると判定すると、各商品に対する商品認識処理を継続的に実施する。
【0035】
なお、商品認識処理を含む商品登録処理については、後で詳細に説明する。ここでは、商品認識装置1のプロセッサ111が商品登録処理を実施し、登録した商品を示す情報をPOS端末2へ供給するものとする。ただし、商品認識処理は、POS端末2のプロセッサ211が実施するようにしても良い。
【0036】
商品登録処理が完了した場合(決済対象となる全ての商品を登録した場合)、オペレータは、商品認識装置1のキーボード11又はタッチパネル12により商品の登録完了を指示するものとする。すなわち、商品登録処理を開始した後、商品認識装置1は、オペレータによる商品の登録完了の指示を受付ける(ACT12)。商品の登録完了の指示が無ければ(ACT12、NO)、商品認識装置1は、商品登録処理を継続的に実行する。
【0037】
商品の登録完了の指示が有った場合(ACT12、YES)、商品認識装置1は、登録した商品に対するPOS端末2による会計処理に移行する(ACT13)。例えば、POS端末2のプロセッサ211は、商品認識装置1から登録(確定)した各商品の商品IDを取得する。POS端末2のプロセッサ211は、登録された各商品の商品IDを取得すると、取得した商品IDに基づいて各商品の商品代金を特定する。
【0038】
プロセッサ211は、各商品の商品代金を合計することにより登録された全商品(決済対象となる全商品)に対する決済額を算出する。決済額を算出すると、プロセッサ211は、算出した決済額を決済するための金額を利用者から収受する。プロセッサ211は、利用者から決済額の金額を収受すると、取引内容を示すレシートを発行して会計処理を終了する。
【0039】
次に、商品認識装置1における商品登録処理の第1の動作例について説明する。
図4は、商品認識装置1における商品認識処理を含む商品登録処理の第1の動作例を説明するためのフローチャートである。
第1の動作例において、商品認識装置1のプロセッサ111は、まず、タッチパネル12の表示内容をクリアし(ACT31)、商品登録処理を開始する。商品登録処理を開始すると、プロセッサ111は、姿勢センサ16からオペレータの姿勢を示す情報(姿勢情報)を取得する(ACT32)。姿勢センサ16から姿勢情報を取得すると、プロセッサ111は、取得した姿勢情報に基づいてオペレータが商品認識処理を実行して良い姿勢であるかを判定する(ACT33)。プロセッサ111は、姿勢センサ16から取得する姿勢情報が規定の条件を満すかにより商品認識処理を実行して良い姿勢であるか否かを判定する。
【0040】
姿勢センサ16が骨格情報を取得するセンサであれば、プロセッサ111は、姿勢センサ16が取得する姿勢情報としての骨格情報によりオペレータの姿勢を推定する。また、姿勢センサ16がカメラであれば、プロセッサ111は、姿勢センサ16としてのカメラが撮影する画像(姿勢情報)からオペレータの姿勢を推定する。また、姿勢センサ16が近接センサであれば、プロセッサ111は、姿勢センサ16としての近接センサの検知信号(姿勢情報)によりオペレータの姿勢(位置)を推定する。
【0041】
本実施形態において、商品認識処理を実行して良い姿勢とは、オペレータが商品を読取窓1Bに翳している姿勢(又は、翳すことが可能な姿勢)であるものとする。例えば、商品認識処理を実行して良い姿勢は、「直立状態」、「頭部の位置が所定範囲内」、「顔の向きが正面(カメラ14側)向き」などの姿勢として良い。また、所定位置(例えば、タッチパネル12の上部)に設けた姿勢センサ16としての近接センサに近接していない状態が商品認識処理を実行して良い姿勢であるとしても良い。
【0042】
例えば、プロセッサ111は、姿勢センサ16が取得する姿勢情報(例えば、骨格情報)によりオペレータが直立状態であるかを判定できる。規定の条件として姿勢情報がオペレータの直立状態を示す条件を設定すると、プロセッサ111は、姿勢センサ16が取得する姿勢情報により直立状態であるかを判定する。
【0043】
また、姿勢センサ16がカメラであれば、プロセッサ111は、姿勢センサ16としてのカメラが撮影する画像(姿勢情報)からオペレータの頭部の位置を推定できる。規定の条件として頭部の位置に対する許容範囲を設定すると、プロセッサ111は、姿勢情報から特定する頭部の位置が許容範囲内かを判定する。
【0044】
また、姿勢センサ16がカメラであれば、プロセッサ111は、姿勢センサ16としてのカメラが撮影する画像(姿勢情報)からオペレータの顔の向きを推定できる。規定の条件として顔の向きを設定すると、プロセッサ111は、姿勢情報から特定する顔の向きが規定の条件として設定した向きであるかを判定する。
【0045】
オペレータが商品認識処理を実行して良い姿勢であると判定した場合(ACT34、YES)、プロセッサ111は、画像取得機能によりカメラ14から撮影画像を取得する(ACT35)。すなわち、プロセッサ111は、カメラ14が撮影する撮影画像(フレーム画像)を画像インターフェース114により取り込む。プロセッサ111は、画像インターフェース114により取り込んだ撮影画像をRAM113に格納する。
【0046】
プロセッサ111は、画像検出機能によりカメラ14から取得した撮影画像における商品画像を検出する処理を行う(ACT36)。プロセッサ111は、RAM113に格納した撮影画像から商品と推定される物体の領域を検出することにより撮影画像に物体が有るか否かを判定する。例えば、プロセッサ111は、撮影画像を二値化した画像から輪郭線等を抽出(検出)する。プロセッサ111は、2値化した画像から商品として推定される物体の輪郭の抽出を試みる。物体の輪郭を抽出すると、プロセッサ111は、抽出した輪郭内を商品の画像領域(商品画像)とみなす。
【0047】
また、撮影画像に物体が無いと判断した場合、つまり、撮影画像から商品画像が抽出できない場合(ACT36、NO)、プロセッサ111は、ACT32へ戻る。この場合、プロセッサ111は、姿勢センサ16から取得する姿勢情報が規定の条件を満たす状態であれば、カメラ14から次の撮影画像を取り込む。すなわち、プロセッサ111は、姿勢情報が規定の条件を満たす状態であれば、商品画像が抽出できるまでカメラ14から撮影画像を順次取込む。プロセッサ111は、カメラ14から撮影画像を取り込む毎に、商品画像の抽出処理を実行する。従って、姿勢情報が規定の条件を満たす状態で読取窓1Bに商品が翳されると、プロセッサ111は、カメラ14の撮影画像から商品画像を抽出して商品認識処理を開始する。
【0048】
撮影画像に物体が有ると判断した場合、つまり、撮影画像から商品画像が抽出できた場合(ACT36、YES)、プロセッサ111は、商品画像に対する商品認識処理を実行する(ACT37)。
商品認識処理において、プロセッサ111は、特徴量抽出機能、類似度算出機能および商品特定機能による物体認識によって商品を認識する。すなわち、プロセッサ111は、特徴量抽出機能により商品画像から物体認識に用いる特徴量を抽出する。商品画像から特徴量を抽出すると、プロセッサ111は、抽出した特徴量と各商品の辞書ファイル500の特徴量データとの類似度を類似度算出機能により算出する。プロセッサ111は、商品特定機能により算出した各商品に対する類似度が閾値以上であるか判断する。
【0049】
類似度が閾値以上の商品が1つである場合(認識結果の確度が十分に高い商品が1つだけ得られた場合)、プロセッサ111は、商品画像の商品が閾値以上の類似度となった商品であると特定する(ACT38、YES)。商品認識処理によって商品を1つの商品として特定した場合、プロセッサ111は、オペレータの操作を伴わずに、特定した商品を決済対象の商品として登録する(ACT42)。すなわち、プロセッサ111は、商品認識処理によって商品を一意に特定できた場合、オペレータの操作を伴わずに、特定した商品を自動的に登録する(自動確定機能)。
【0050】
また、類似度が閾値以上の商品が無い場合(ACT38、NO)、プロセッサ111は、類似度が高い順に複数の商品候補を選出する。また、類似度が閾値以上の商品が複数存在する場合(ACT38、NO)、プロセッサ111は、類似度が閾値以上となった複数の商品を商品候補として選出する。複数の商品候補を選出すると、プロセッサ111は、選出した複数の商品候補をタッチパネル12に表示する(ACT39)。
【0051】
図5は、商品認識処理で得られた複数の商品候補を表示した表示例である。
図5に示す表示例において、タッチパネル12は、商品画像を表示するとともに、複数の商品候補を示す複数のアイコンN1〜N4を表示する。各アイコンN1〜N4は、タッチパネル12のタッチセンサ12bにより選択可能なボタンである。各アイコンN1〜N4は、それぞれの商品候補を示す表示を表示する。プロセッサ111は、何れかのアイコンN1〜N4へのタッチを検知する。
【0052】
複数の商品候補を選出した場合、プロセッサ111は、
図5に示すように選択可能な商品候補を表示することによりオペレータによる商品候補の選択を受付ける(ACT40)。また、プロセッサ111は、選択可能な商品候補を表示すると共に、キーボード11又はタッチパネル12による商品候補のリセット(又は、商品認識処理の再試行)の指示を受付ける(ACT41)。商品候補のリセットが指示された場合(ACT41、YES)、プロセッサ111は、ACT31へ戻り、商品候補をクリアして上述の処理を再度実行する。また、オペレータが何れかの商品候補を選択した場合(ACT40、YES)、プロセッサ111は、オペレータが選択した商品を決済対象の商品として登録する(ACT42)。
【0053】
なお、複数の商品候補を表示した場合、プロセッサ111は、オペレータが何れかの商品候補を選択するか、オペレータがリセットを指示するまで表示状態を維持する。表示状態を維持している間、プロセッサ111は、商品認識処理を停止するものとする。ただし、プロセッサ111は、複数の商品候補の表示状態を維持したままで、ACT35〜38の処理を繰り返し実施しても良い。この場合、プロセッサ111は、類似度が閾値以上となった1つの商品が特定できた際に、自動確定機能により類似度が閾値以上の商品を登録するようにしても良い。
【0054】
上記第1の動作例では、商品認識装置は、姿勢センサが取得する姿勢情報に基づいてオペレータが商品認識処理を実行して良い姿勢であるかを判定する。商品認識装置は、姿勢情報によりオペレータが商品認識処理を実行して良い姿勢であると判定した場合に商品認識処理を実行する。
【0055】
これにより、商品認識装置は、オペレータの腕や肩などの商品以外の物体が読取窓に接近して、意図せずに商品認識処理が実行されることを防止できる。例えば、オペレータがカゴから商品を取り出す際、意図せずに腕や肩などが読取窓(カメラ)に接近しても、商品認識処理が実行されないようにできる。この結果、意図しない撮影画像(商品以外の物を撮影した画像)に対する商品認識処理によって不要な商品候補が表示されることがなく、無駄なリセット操作なども不要となる。
【0056】
次に、商品認識装置1における商品登録処理の第2の動作例について説明する。
図6は、商品認識装置1における商品認識処理を含む商品登録処理の第2の動作例を説明するためのフローチャートである。
第2の動作例において、商品認識装置1のプロセッサ111は、まず、姿勢フラグP及び更新フラグUを定義する。例えば、プロセッサ111は、姿勢フラグP及び更新フラグUをRAM113上に設定する。姿勢フラグP及び更新フラグUを設定すると、プロセッサ111は、姿勢フラグPの初期値を1とし(ACT50)、更新フラグUの初期値を0とする(ACT51)。
【0057】
姿勢フラグP及び更新フラグUに初期値をセットすると、プロセッサ111は、タッチパネル12の表示内容をクリアし(ACT52)、商品登録処理を開始する。商品登録処理を開始すると、プロセッサ111は、画像取得機能により撮影画像を取得する(ACT53)。すなわち、プロセッサ111は、カメラ14が撮影した撮影画像(フレーム画像)を画像インターフェース114により取り込む。プロセッサ111は、画像インターフェース114により取り込んだ撮影画像をRAM113に格納する。
【0058】
プロセッサ111は、画像検出機能によりカメラ14から取得した撮影画像における商品画像を検出する処理を行う(ACT54)。プロセッサ111は、RAM113に格納した撮影画像から商品と推定される物体の領域を検出することにより撮影画像に物体が有るか否かを判定する。
【0059】
撮影画像に物体が無いと判断した場合、つまり、撮影画像から商品画像が抽出できない場合(ACT53、NO)、プロセッサ111は、ACT53へ戻り、次の撮影画像を取得する。つまり、プロセッサ111は、商品画像が抽出できるまでカメラ14から撮影画像(フレーム画像)を順次取込む。プロセッサ111は、カメラ14から撮影画像を取り込む毎に、商品画像の抽出処理を実行する。
【0060】
撮影画像に物体有ると判断した場合、つまり、撮影画像から商品画像が抽出できた場合(ACT54、YES)、プロセッサ111は、商品画像に対する商品認識処理を実行する(ACT55)。プロセッサ111は、商品画像から物体認識に用いる特徴量を抽出し、抽出した特徴量と各商品の辞書ファイル500の特徴量データとの類似度を算出する。プロセッサ111は、算出した各商品に対する類似度が閾値以上であるか判断する。
類似度が閾値以上の1つの商品を特定した場合(ACT56、YES)、プロセッサ111は、閾値以上の類似度となった商品を決済対象の商品として登録する(ACT59)。
【0061】
また、類似度が閾値以上の商品が無い場合(ACT56、NO)、プロセッサ111は、類似度が高い順に複数の商品候補を選出する。また、類似度が閾値以上の商品が複数存在する場合(ACT56、NO)、プロセッサ111は、類似度が閾値以上となった複数の商品を商品候補として選出する。複数の商品候補を選出すると、プロセッサ111は、選出した複数の商品候補をタッチパネル12に表示する(ACT57)。
【0062】
プロセッサ111は、複数の商品候補を選択可能な状態で表示することによりオペレータによる商品候補の選択を受付ける。オペレータが何れかの商品候補を選択した場合(ACT58、YES)、プロセッサ111は、オペレータが選択した商品を決済対象の商品として登録する(ACT59)。
【0063】
また、プロセッサ111は、複数の商品候補を表示するとともに、表示した商品候補のリセットの指示を受付ける。商品候補のリセットが指示された場合又は更新フラグUが1である場合(ACT61、YES)、プロセッサ111は、ACT51へ戻り、商品候補をクリアして上述の処理を再度実行する。
【0064】
さらに、プロセッサ111は、複数の商品候補を表示するとともに、オペレータの姿勢状態を監視する(ACT61−63)。すなわち、プロセッサ111は、姿勢センサ16からオペレータの姿勢を示す情報(姿勢情報)を取得する(ACT61)。姿勢情報を取得すると、プロセッサ111は、取得した姿勢情報に基づいてオペレータが商品認識処理を実行して良い姿勢であるかを判定する(ACT62)。プロセッサ111は、姿勢センサ16が取得する姿勢情報が規定の条件を満すかにより商品認識処理を実行して良い姿勢か否かを判定する。なお、ACT62の処理は上述したACT33と同様な処理で良い。
【0065】
オペレータが商品認識処理を実行して良い姿勢でない(姿勢NG)と判定した場合(ACT63、NO)、プロセッサ111は、姿勢フラグPを0とし(ACT64)、ACT57へ戻る。
オペレータが商品認識処理を実行して良い姿勢である(姿勢OK)と判定した場合(ACT63、YES)、プロセッサ111は、姿勢フラグPが0であるかを判定する(ACT65)。姿勢フラグPが0で無ければ(ACT65、NO)、プロセッサ111は、姿勢フラグP及び更新フラグUを変更せずに、ACT57へ戻る。また、姿勢フラグPが0であれば(ACT65、YES)、プロセッサ111は、姿勢フラグPを1にすると共に更新フラグUを1とし(ACT66)、ACT57へ戻る。
【0066】
ACT66では、プロセッサ111は、オペレータの姿勢が姿勢NGの状態(第1の状態)から姿勢OKの状態(第2の状態)に遷移したことを検知する。例えば、直立状態を姿勢OKの状態とすると、オペレータの姿勢が直立していない状態から直立状態へ遷移した場合、更新フラグUが1(オン)となる。更新フラグUが1になると、プロセッサ111は、ACT60でYESと判断してACT51へ戻り、商品候補をクリアして商品認識処理を再び実行する。
【0067】
上記第2の動作例では、商品認識装置は、商品候補を表示中において、オペレータの姿勢が姿勢NGの状態から姿勢OKの状態に遷移することを姿勢情報により監視する。商品認識装置は、オペレータの姿勢が姿勢NGの状態から姿勢OKの状態に遷移すると、表示中の商品候補をクリアして商品認識処理を改めて実行する。
【0068】
これにより、意図しない撮影画像に対する商品認識処理によって不要な商品候補が表示されても、オペレータが商品を翳す姿勢になると、不要な商品候補がクリアされる。また、オペレータが商品を翳す姿勢になると、商品候補がクリアされるとともに、商品認識処理が改めて実行される。このため、オペレータの姿勢の変化に応じて、意図した撮影画像による商品認識処理がスムーズに実施できる。
【0069】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下、本願の出願当初の特許請求の範囲に記載した内容を付記する。
[1]
オペレータが商品を翳す領域を含む撮影領域を撮影した撮影画像を取得するインターフェースと、
前記オペレータの姿勢を示す姿勢情報を取得する姿勢センサと、
前記姿勢センサが取得する姿勢情報が規定の条件を満たすかを判定し、前記姿勢情報が前記規定の条件を満たすと判定した場合に前記インターフェースにより取得する画像に対して商品認識処理を実行するプロセッサと、
を有する商品認識装置。
[2]
前記規定の条件は、前記姿勢情報がオペレータの姿勢が直立している状態であることを示す条件である、
[1]に記載の商品認識装置。
[3]
前記規定の条件は、前記姿勢情報がオペレータの頭部が規定の範囲内にあることを示す条件である、
[1]に記載の商品認識装置。
[4]
前記規定の条件は、前記姿勢情報がオペレータの顔が正面を向いていることを示す条件である、
[1]に記載の商品認識装置。
[5]
オペレータが商品を翳す領域を含む撮影領域を撮影した撮影画像を取得するインターフェースと、
前記オペレータの姿勢情報を取得する姿勢センサと、
前記インターフェースにより取得する画像に含まれる商品を認識する商品認識処理を実行し、
前記商品認識処理により複数の商品候補が得られた場合に複数の商品候補からの商品の選択を受付け、
前記複数の商品候補からの商品の選択を受付ける状態において前記姿勢センサが取得する姿勢情報が第1の状態から第2の状態に遷移した場合に前記複数の商品候補をクリアして前記インターフェースにより新たに取得する画像に対して商品認識処理を再度実行する、プロセッサと、
を有する商品認識装置。