(57)【特許請求の範囲】
【請求項１】
撮像画像に含まれるオブジェクトを認識する認識手段と、
前記認識手段が認識した前記オブジェクトから買上商品の候補となる候補商品を識別する識別手段と、
前記認識手段が認識した前記オブジェクトのうちの前記識別手段により候補商品として識別されたオブジェクトの前記画像内での姿勢の変化パターンを判定する判定手段と、
前記判定手段が判定した変化パターンに関連付けられた処理を前記識別手段による識別の結果に関連して行う処理手段と、
予め定められた確定条件が成立した場合、前記候補商品のうちで選択候補となっている商品を識別する商品コードを買上商品の商品コードとして確定する確定手段とを具備することを特徴とする商品読取装置。
【請求項２】
前記判定手段は、前記オブジェクトの前記画像内での回転方向を前記変化パターンとして判定することを特徴とする請求項１に記載の商品読取装置。
【請求項３】
前記処理手段は、前記確定条件が成立したと判定する処理、前記識別手段による識別結果をキャンセルする処理、前記識別手段が識別した複数の候補商品のうちの１つを選択候補に設定する処理、買上数量を変更する処理のうちの少なくとも１つを行うことを特徴とする請求項１または２に記載の商品読取装置。
【請求項４】
前記処理手段は、前記判定手段が判定した変化パターンにいずれの処理も関連付けられていない場合には、前記変化パターンと処理との関連付けを表した画像を表示デバイスで表示するための処理を行うことを特徴とする請求項１乃至３のいずれか一項に記載の商品読取装置。
【請求項５】
撮像手段をさらに備え、前記認識手段は、前記撮像手段により得られた撮像画像に含まれるオブジェクトを認識することを特徴とする請求項１乃至４のいずれか一項に記載の商品読取装置。
【請求項６】
コンピュータを、
撮像画像に含まれるオブジェクトを認識する認識手段と、
前記認識手段が認識した前記オブジェクトのうちから買上商品の候補となる候補オブジェクトを選出する選出手段と、
前記認識手段が認識した前記オブジェクトのうちの前記識別手段により候補商品として識別されたオブジェクトの前記画像内での姿勢の変化パターンを判定する判定手段と、
前記選出手段が前記候補オブジェクトを選出した後に前記判定手段が判定した変化パターンに関連付けられた処理を前記選出手段による選出の結果に対して行う処理手段と、
予め定められた確定条件が成立した場合、前記選出手段が選出している前記候補オブジェクトに合致する商品を識別する商品コードを買上商品の商品コードとして判定する確定手段として機能させるための商品読取プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、商品読取装置および商品読取プログラムに関する。
【背景技術】
【０００２】
ＣＣＤカメラ等の撮像手段によって撮像された商品の画像から商品をオブジェクト認識し、認識した商品の商品コードを判定する商品読取装置は知られている。
【０００３】
しかしながら、商品画像から商品を認識するオブジェクト認識では、従来のバーコード読取に比べて認識精度が十分でないため、その買上登録にはオペレータによる確認を経るようにすることがある。また、オブジェクト認識では、画像に映っている商品が、類似する複数の商品のいずれであるかを絞り込めない場合があり、この場合には複数の候補のうちの１つをオペレータに選択させる場合がある。
【０００４】
そしてこれらのいずれの場合においても、キーボードなどの入力デバイスを用いてオペレータの操作を入力している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２２７４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
オペレータは、商品を撮像手段にかざしたのちに入力デバイスを操作しなければならず、操作性が良いとは言えなかった。
【０００７】
このような事情から、オブジェクト認識の結果に関する何らかの処理のための操作の効率化が望まれていた。
【課題を解決するための手段】
【０００８】
実施形態の商品読取装置は、認識手段、識別手段、判定手段、処理手段および確定手段を含む。認識手段は、撮像画像に含まれるオブジェクトを認識する。識別手段は、前記認識手段が認識した前記オブジェクトから買上商品の候補となる候補商品を識別する。判定手段は、前記認識手段が認識した前記オブジェクトのうちの前記識別手段により候補商品として識別されたオブジェクトの前記画像内での姿勢の変化パターンを判定する。処理手段は、前記判定手段が判定した変化パターンに関連付けられた処理を前記識別手段による識別の結果に関連して行う。確定手段は、予め定められた確定条件が成立した場合、前記候補商品のうちで選択候補となっている商品を識別する商品コードを買上商品の商品コードとして確定する。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る商品読取装置を含んだ店舗会計システムの外観図。
【図２】図１に示す店舗会計システムにおける電気的要素のブロック図。
【図３】モーションテーブルの構造を示す図。
【図４】商品読取装置が備えるＣＰＵが商品読取プログラムに基づき実行する商品読取処理のフローチャート。
【図５】商品読取装置に商品を読み取らせる状況を示す斜視図。
【図６】候補商品のリストを表した画面の一例を示す図。
【図７】操作のための動作の一例を示す斜視図。
【図８】操作のための動作の一例を示す斜視図。
【図９】操作のための動作の一例を示す斜視図。
【図１０】操作のための動作の一例を示す斜視図。
【発明を実施するための形態】
【００１０】
以下、商品読取装置の実施形態について、図面を用いて説明する。この実施形態は、スーパーマーケット等の店舗に設けられた会計カウンタに立設される縦型の商品読取装置に適用した場合である。
【００１１】
図１は本実施形態に係る商品読取装置を含んだ店舗会計システムの外観図である。この店舗会計システムは、商品読取装置１００およびＰＯＳ（point of sales）端末２００を含む。商品読取装置１００は、会計カウンタ３００の上に取り付けられる。ＰＯＳ端末２００は、レジ台４００に載置されたドロワ５００の上に設置される。商品読取装置１００とＰＯＳ端末２００とは、図示しない通信ケーブルにより電気的に接続される。ドロワ５００に代えて、自動釣銭機が設置される場合もある。
【００１２】
商品読取装置１００は、ハウジング１０１、キーボード１０２、タッチパネル１０３、客用ディスプレイ１０４および撮像部１０５を含む。
【００１３】
ハウジング１０１は、平型の箱状をなし、会計カウンタ３００の上に立つ。ハウジング１０１は、上端においてキーボード１０２、タッチパネル１０３、客用ディスプレイ１０４を支持し、内部において撮像部１０５を支持する。ハウジング１０１は、撮像部１０５に対向して読取窓１０１ａを有し、読取窓１０１ａの前に位置する物体（オブジェクト）を読取窓１０１ａを介して撮像部１０５により撮像可能とする。
【００１４】
ＰＯＳ端末２００は、ハウジング２０１、キーボード２０２、オペレータ用ディスプレイ２０３、客用ディスプレイ２０４およびプリンタ２０５を含む。
【００１５】
ハウジング２０１は、キーボード２０２をその一部を外部に露出する状態で支持し、オペレータ用ディスプレイ２０３および客用ディスプレイ２０４を外部に位置する状態で支持し、プリンタ２０５を内部にて支持する。
【００１６】
会計カウンタ３００は、細長い天板３００ａを含む。会計カウンタ３００は、天板の長手方向に沿った顧客通路（図１における奥側）とオペレータスペース（図１における手前側）とを分ける。ハウジング１０１は、天板３００ａの長手方向の略中央に位置し、キーボード１０２、タッチパネル１０３および読取窓１０１ａをそれぞれオペレータスペース側に向けるとともに、客用ディスプレイ１０４を顧客通路側に向ける。天板３００ａの上面は、商品読取装置１００を挟んで顧客移動方向の上流側の領域は、買物客が購入しようとする商品のうちの買上登録が済んでいない商品を置くためのスペースとして使用され、また、下流側の領域は、買上登録が済んだ商品を置くためのスペースとして使用される。
【００１７】
レジ台４００は、顧客通路における顧客の移動方向に対して下流側の会計カウンタ３００の端部に並ぶようにオペレータスペース側に位置する。
【００１８】
図２は図１に示す店舗会計システムにおける電気的要素のブロック図である。なお、図２に示される要素のうちで図１に示されるのと同一の要素には図１と同一の符号を付する。
【００１９】
商品読取装置１００は電気的要素として、キーボード１０２、タッチパネル１０３、客用ディスプレイ１０４のほかに、撮像デバイス１０５ａ、ＣＰＵ（central processing unit）１０６、ＲＯＭ（read-only memory）１０７、ＲＡＭ（random-access memory）１０８、キーボードインタフェース（キーボードＩ／Ｆ）１０９、パネルインタフェース（パネルＩ／Ｆ）１１０、表示インタフェース（表示Ｉ／Ｆ）１１１、撮像インタフェース（撮像Ｉ／Ｆ）１１２、ＰＯＳ端末インタフェース（ＰＯＳ端末Ｉ／Ｆ）１１３およびバスライン１１４を含む。なお、バスライン１１４は、アドレスバスおよびデータバスなどを含み、ＣＰＵ１０６、ＲＯＭ１０７、ＲＡＭ１０８、キーボードインタフェース１０９、パネルインタフェース１１０、表示インタフェース１１１、撮像インタフェース１１２およびＰＯＳ端末インタフェース１１３を互いに接続する。
【００２０】
キーボード１０２は、複数のキースイッチを含み、これらのキースイッチに対するオペレータによる操作の内容を表したコマンドを出力する。
【００２１】
タッチパネル１０３は、例えばＬＣＤ（liquid crystal display）などの表示デバイスと、この表示デバイスの表示画面に重ねて配置された透明な二次元タッチセンサとを含む。タッチパネル１０３は、ＣＰＵ１０６の制御の下に任意の画像を表示デバイスにおいて表示する。タッチパネル１０３は、表示デバイスの表示画面におけるオペレータのタッチ位置を二次元タッチセンサにて検出し、そのタッチ位置を表す座標データを出力する。タッチパネル１０３は、オペレータに対して提示するべき各種の情報を表した画像を表示したり、オペレータの操作を入力するために利用される。
【００２２】
客用ディスプレイ１０４は、ＣＰＵ１０６の制御の下に任意の文字列または画像を表示する。客用ディスプレイ１０４は、客に対して提示するべき各種の文字列や画像を表示するために利用される。客用ディスプレイ１０４としては、例えば蛍光管表示器またはＬＣＤが利用できる。
【００２３】
撮像デバイス１０５ａは、図示しない撮像レンズとともに撮像部１０５に含まれる。撮像デバイス１０５ａは、エリアイメージセンサであるＣＣＤ（charge coupled device）撮像素子とその駆動回路とを含む。撮像レンズは、撮像領域の画像をＣＣＤ撮像素子に結像する。撮像領域とは、読取窓１０１ａから撮像レンズを通してＣＣＤ撮像素子のエリアに結像する領域を指す。撮像デバイス１０５ａは、撮像領域の画像（フレーム画像）を表すフレームデータを一定の時間間隔で取得し、当該フレームデータを出力する。
【００２４】
ＣＰＵ１０６は、ＲＯＭ１０７およびＲＡＭ１０８に記憶されたオペレーティングシステム、ミドルウェアおよびアプリケーションプログラムに基づいて、商品読取装置１００としての各種の動作を実現するべく商品読取装置１００の各要素を制御する。
【００２５】
ＲＯＭ１０７は、上記のオペレーティングシステムを記憶する。ＲＯＭ１０７は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。またＲＯＭ１０７は、ＣＰＵ１０６が各種の処理を行う上で参照するデータを記憶する場合もある。ＲＯＭ１０７は、モーションテーブルを記憶する。
【００２６】
図３はモーションテーブルの構造を示す図である。図３では、モーションテーブルに記述されるデータの一例を模式的に示している。
【００２７】
モーションテーブルは、対象とするオブジェクトと、そのオブジェクトのフレーム画像内での変化と、行うべき処理の内容とを関連付けて記述したデータレコードを複数含む。
【００２８】
例えば図３に示すモーションテーブルの最上部に示されるデータレコードは、認識された商品がフレーム画像の右方向にフレームアウトした際には、認識された商品を買い上げ商品として確定する処理を行うべきであることを表す。
【００２９】
ＲＡＭ１０８は、ＣＰＵ１０６が各種の処理を行う上で参照するデータを記憶する。さらにＲＡＭ１０８は、ＣＰＵ１０６が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアとして利用される。モーションテーブルは、ＲＡＭ１０８が記憶しても良い。
【００３０】
ＲＯＭ１０７またはＲＡＭ１０８に記憶されるアプリケーションプログラムには、後述する処理に関して記述した商品読取プログラムを含む。なお、商品読取装置１００の譲渡は、一般的に決済商品読取プログラムがＲＯＭ１０７に記憶された状態にて行われる。商品読取装置にＥＥＰＲＯＭ（electric erasable programmable read-only memory）、ハードディスクドライブ、あるいはＳＳＤ（solid state drive）などの補助記憶デバイスを設けて、この補助記憶デバイスに商品読取プログラムを記憶した状態にて商品読取装置１００の譲渡がなされても良い。しかし、決済商品読取プログラムがＲＯＭ１０７や補助記憶デバイスに記憶されない状態で商品読取装置１００が譲渡されるとともに、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介して商品読取プログラムが譲渡され、この商品読取プログラムが上記の別途に譲渡された商品読取装置１００のＲＡＭ１０８や補助記憶デバイスに書き込まれても良い。
【００３１】
キーボードインタフェース１０９は、キーボード１０２とＣＰＵ１０６とのデータの授受をインタフェースする。キーボードインタフェース１０９としては、例えばＰＳ／２規格またはＵＳＢ（universal serial bus）規格に準拠した周知のデバイスを利用できる。
【００３２】
パネルインタフェース１１０は、タッチパネル１０３とＣＰＵ１０６とのデータおよび映像信号の授受をインタフェースする。パネルインタフェース１１０は、表示デバイス用のインタフェースとタッチセンサ用のインタフェースとを含む。表示デバイス用のインタフェースとしては、例えばＶＧＡ（video graphics array）規格（アナログＲＧＢ規格）、ＤＶＩ（digital video interface）規格またはＬＶＤＳ（low voltage differential signaling）規格に準拠した周知のデバイスを利用できる。タッチセンサ用のインタフェースとしては、例えばＵＳＢ規格またはＲＳ（recommended standard）−２３２Ｃ規格に準拠した周知のデバイスを利用できる。
【００３３】
表示インタフェース１１１は、客用ディスプレイ１０４とＣＰＵ１０６との映像信号の授受をインタフェースする。表示インタフェース１１１としては、客用ディスプレイ１０４が蛍光表示器である場合には例えばＵＳＢ規格またはＲＳ−２３２Ｃ規格に準拠した周知のデバイスを利用でき、客用ディスプレイ１０４がＬＣＤである場合には例えばＶＧＡ規格、ＤＶＩ規格またはＬＶＤＳ規格に準拠した周知のデバイスを利用できる。
【００３４】
撮像インタフェース１１２は、撮像デバイス１０５ａとＣＰＵ１０６とのデータの授受をインタフェースする。撮像インタフェース１１２としては、例えばＵＳＢ規格またはＩＥＥＥ（institute of electrical and electronic engineers）１３９４規格に準拠した周知のデバイスを利用できる。
【００３５】
ＰＯＳ端末インタフェース１１３は、ＰＯＳ端末２００とＣＰＵ１０６とのデータの授受をインタフェースする。ＰＯＳ端末インタフェース１１３としては、例えばＵＳＢ規格またはＲＳ−２３２Ｃ規格に準拠した周知のデバイスを利用できる。
【００３６】
ＰＯＳ端末２００は電気的要素として、キーボード２０２、オペレータ用ディスプレイ２０３、客用ディスプレイ２０４およびプリンタ２０５のほかに、ＣＰＵ２０６、ＲＯＭ２０７、ＲＡＭ２０８、補助記憶ユニット２０９、キーボードインタフェース２１０、表示インタフェース（表示Ｉ／Ｆ）２１１，２１２、プリンタインタフェース（プリンタＩ／Ｆ）２１３、読取装置インタフェース（読取装置Ｉ／Ｆ）２１４、ドロワインタフェース（ドロワＩ／Ｆ）２１５、通信デバイス２１６およびバスライン２１７を含む。なお、バスライン２１７は、アドレスバスおよびデータバスなどを含み、ＣＰＵ２０６、ＲＯＭ２０７、ＲＡＭ２０８、補助記憶ユニット２０９、キーボードインタフェース２１０、表示インタフェース２１１、表示インタフェース２１２、プリンタインタフェース２１３、読取装置インタフェース２１４、ドロワインタフェース２１５および通信デバイス２１６を互いに接続する。
【００３７】
キーボード２０２は、複数のキースイッチを含み、これらのキースイッチに対するオペレータによる操作の内容を表したコマンドを出力する。
【００３８】
オペレータ用ディスプレイ２０３は、ＣＰＵ２０６の制御の下に任意の画像を表示する。オペレータ用ディスプレイ２０３は、オペレータに対して提示するべき各種の画像を表示するために利用される。オペレータ用ディスプレイ２０３としては、例えばＬＣＤが利用できる。
【００３９】
客用ディスプレイ２０４は、ＣＰＵ２０６の制御の下に任意の文字列または画像を表示する。客用ディスプレイ２０４は、客に対して提示するべき各種の文字列や画像を表示するために利用される。客用ディスプレイ２０４としては、例えば蛍光管表示器またはＬＣＤが利用できる。
【００４０】
プリンタ２０５は、ＣＰＵ２０６の制御の下に、取引の内容を表したレシート画像をレシート用紙に対してプリントする。プリンタ２０５としては、周知の各種方式の既存のプリンタが利用できる。典型的にはプリンタ２０５は、サーマルプリンタである。
【００４１】
ＣＰＵ２０６は、ＲＯＭ２０７およびＲＡＭ２０８に記憶されたオペレーティングシステム、ミドルウェアおよびアプリケーションプログラムに基づいて、ＰＯＳ端末２００としての各種の動作を実現するべく各部を制御する。
【００４２】
ＲＯＭ２０７は、上記のオペレーティングシステムを記憶する。ＲＯＭ２０７は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。またＲＯＭ２０７は、ＣＰＵ２０６が各種の処理を行う上で参照するデータを記憶する場合もある。
【００４３】
ＲＡＭ２０８は、ＣＰＵ２０６が各種の処理を行う上で参照するデータを記憶する。さらにＲＡＭ２０８は、ＣＰＵ２０６が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアとして利用される。ＲＡＭ２０８の記憶領域の一部は、買上登録された商品についての情報を管理するための商品リストエリアとして使用される。
【００４４】
補助記憶ユニット２０９は、例えばハードディスクドライブやＳＳＤなどであり、ＣＰＵ２０６が各種の処理を行う上で使用するデータや、ＣＰＵ２０６での処理によって生成されたデータを保存する。
【００４５】
キーボードインタフェース２１０は、キーボード２０２とＣＰＵ２０６とのデータの授受をインタフェースする。キーボードインタフェース２１０としては、例えばＰＳ／２規格またはＵＳＢ規格に準拠した周知のデバイスを利用できる。
【００４６】
表示インタフェース２１１は、オペレータ用ディスプレイ２０３とＣＰＵ１０６との映像信号の授受をインタフェースする。表示インタフェース２１１としては、例えばＶＧＡ規格、ＤＶＩ規格またはＬＶＤＳ規格に準拠した周知のデバイスを利用できる。
【００４７】
表示インタフェース２１２は、客用ディスプレイ２０４とＣＰＵ２０６との映像信号の授受をインタフェースする。表示インタフェース２１２としては、客用ディスプレイ２０４が蛍光表示器である場合には例えばＵＳＢ規格またはＲＳ−２３２Ｃ規格に準拠した周知のデバイスを利用でき、客用ディスプレイ２０４がＬＣＤである場合には例えばＶＧＡ規格、ＤＶＩ規格またはＬＶＤＳ規格に準拠した周知のデバイスを利用できる。
【００４８】
プリンタインタフェース２１３は、プリンタ２０５とＣＰＵ２０６とのデータの授受をインタフェースする。プリンタインタフェース２１３としては、例えばＵＳＢ規格、ＲＳ−２３２Ｃ規格またはＩＥＥＥ１２８４規格（いわゆるセントロニクス仕様）などに準拠した周知のデバイスを利用できる。
【００４９】
読取装置インタフェース２１４は、商品読取装置１００とＣＰＵ２０６とのデータの授受をインタフェースする。読取装置インタフェース２１４としては、ＰＯＳ端末インタフェース１１３が準拠する規格に準拠した周知のデバイスを利用できる。
【００５０】
ドロワインタフェース２１５は、ＣＰＵ２０６からドロワ開放が指示されたことに応じてドロワ５００を開放させるための駆動信号をドロワ５００に対して出力する。
【００５１】
通信デバイス２１６は、通信ネットワーク６００を介してサーバ７００と通信する。通信デバイス２１６としては、例えば既存のＬＡＮ通信デバイスを適用できる。
【００５２】
次に以上のように構成された店舗会計システムにおける商品読取装置１００の動作について説明する。
【００５３】
図４はＣＰＵ１０６が商品読取プログラムに基づき実行する商品読取処理のフローチャートである。
【００５４】
例えばキーボード２０２でのオペレータによる所定の操作により買上商品の登録の開始が指示されるなどにより登録処理の開始条件が成立すると、ＣＰＵ２０６は読取装置インタフェース２１４より読取開始コマンドを商品読取装置１００へ送る。この読取開始コマンドは、ＰＯＳ端末インタフェース１１３によりＣＰＵ１０６に通知される。そして読取開始コマンドを受けるとＣＰＵ１０６は、図４に示す商品読取処理を開始する。あるいは、キーボード１０２またはタッチパネル１０３でのオペレータによる所定の操作により買上商品の登録の開始が指示されるなどにより登録処理の開始条件が成立すると、ＣＰＵ１０６は図４に示す商品読取処理を開始する。
【００５５】
ステップＳａ１においてＣＰＵ１０６は、撮像インタフェース１１２より撮像デバイス１０５ａに対して撮像オン信号を出力する。この撮像オン信号を受けて撮像デバイス１０５ａは、撮像を開始する。かくして、この状態において図５に示すようにオペレータが手で把持した商品Ｍを読取窓１０１ａにかざすと、商品Ｍおよびオペレータの手が撮像デバイス１０５ａにより撮像される。なお、図５においては、オペレータの手の図示は省略している。
【００５６】
ステップＳａ２においてＣＰＵ１０６は、撮像デバイス１０５ａが出力するフレームデータをＲＡＭ１０８に保存する。
【００５７】
ステップＳａ３においてＣＰＵ１０６は、ＲＡＭ１０８に保存したフレームデータを解析して、当該フレームデータが表すフレーム画像に含まれる商品Ｍを認識する。具体的には、ＣＰＵ１０６は先ず、フレーム画像から肌色領域の検出を試みる。肌色領域を検出できた場合、すなわちオペレータの手がフレーム画像に映り込んでいる場合にＣＰＵ１０６は、フレーム画像を二値化した上で、これにより得られた二値化画像から輪郭線などを抽出する。これにより、ＣＰＵ１０６は、オペレータの手が把持していると想定される商品Ｍの輪郭を抽出する。商品Ｍの輪郭を抽出したならばＣＰＵ１０６は、その輪郭内の画像から、商品の形状、表面の色合い、模様、凹凸状況等の特徴量を読み取る。そしてＣＰＵ１０６は、読み取った特徴量と、各商品に予め関連付けられた特徴量とのマッチングからフレーム画像に映り込んでいる商品を識別する。このようにＣＰＵ１０６は、手および商品Ｍをそれぞれオブジェクトとして認識している。
【００５８】
このような画像中に含まれるオブジェクトを認識する技術は、一般物体認識（generic object recognition）と呼ばれる。この一般物体認識の技術については、下記の文献において各種認識技術が解説されており、この技術を上記のオブジェクト認識に利用できる。  
柳井  啓司，“一般物体認識の現状と今後”，情報処理学会論文誌，Ｖｏｌ．４８，Ｎｏ．ＳＩＧ１６［平成２２年８月１０日検索］，インターネット＜ URL: http://mm.cs.uec.ac.jp/IPSJ-TCVIM-Yanai.pdf ＞
また、画像をオブジェクト毎に領域分割することによって、一般物体認識を行う技術が、下記の文献において解説されており、この技術も上記のオブジェクト認識に利用できる。  
Jamie Shottonら，“Semantic Texton Forests for Image Categorization and Segmentation”，［平成２２年８月１０日検索］，インターネット＜ URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.145.3036&rep=repl&type=pdf ＞
このようにしてＣＰＵ１０６は商品を認識するが、特徴量が類似する商品は少なからず存在することが一般的であるため、１つの商品に絞り込めるとは限らず、複数の商品を認識する場合もある。そこでＣＰＵ１０６は、認識した１つまたは複数の商品をそれぞれ候補商品とする。ＣＰＵ１０６は、候補商品のそれぞれに関する１つまたは複数の商品コードを含んだ結果情報をＲＡＭ１０８に保存しておく。
【００５９】
かくしてＣＰＵ１０６は、フレーム画像に含まれる商品や手などのオブジェクトを認識する認識手段と、この認識手段が認識したオブジェクトから買上商品の候補となる候補商品を識別する識別手段として機能する。
【００６０】
ステップＳａ４においてＣＰＵ１０６は、少なくとも１つの商品の認識に成功したか否かを確認する。そしてここでＹＥＳと判定したならばＣＰＵ１０６は、ステップＳａ５へ進む。
【００６１】
ステップＳａ５においてＣＰＵ１０６は、候補商品のリストを表示するようタッチパネル１０３を制御する。
【００６２】
図６は候補商品のリストを表した画面の一例を示す図である。
【００６３】
図６に示す画面は、画像Ｉ１と画像Ｉ２とを含む。画像Ｉ１は、ＲＡＭ１０７に記憶されたフレームデータが表すフレーム画像、つまりステップＳａ３の商品認識処理の対象となったフレーム画像である。画像Ｉ２は、候補商品のリストを表す画像である。なお、ＣＰＵ１０６は、候補商品のうちの１つを選択候補として定め、候補商品のうちのいずれが選択候補となっているかを画像Ｉ２において表す。図６では、「リンゴ（ふじ）」が選択候補である。なお、選択候補は、候補商品のうちのいずれか１つを予め定めた任意のルールにしたがって選出すれば良い。例えば、フレーム画像から読み取った特徴量と最もマッチする特徴量が関連付けられた商品を選択候補とすることが考えられる。
【００６４】
ステップＳａ６においてＣＰＵ１０６は、モーション検出処理を開始する。モーション検出処理は、撮像デバイス１０５ａが繰り返し出力するフレームデータの変化を解析することにより、フレーム画像に映り込んでいるオブジェクト（手および商品）を認識するとともに、このオブジェクトのフレーム画像内での変化パターンを監視し、モーションテーブルに記述された変化の発生を検出する処理である。具体的には例えば、ＣＰＵ１０６は、フレーム画像に映り込んでいるオブジェクトを商品認識処理のときと同様な処理によって認識する。そしてＣＰＵ１０６は、認識したオブジェクトの動きを、例えば周知のモーションキャプチャ技術によって検出し、これがモーションテーブルに記述された変化のそれぞれに合致するか否かを確認する。この場合、規定の変化が生じる時のオブジェクトの動きを上記のモーションキャプチャ技術によって検出した結果に相当するデータをモーションテーブルに記述しておけば、検出結果とモーションテーブルに記述された変化とをＣＰＵ１０６が容易に照合できる。
【００６５】
このようにＣＰＵ１０６は、認識手段が認識したオブジェクトのうちの特定のオブジェクトの画像内での変化パターンを判定する判定手段として機能する。
【００６６】
ステップＳａ７においてＣＰＵ１０６は、モーションテーブルに記述された変化の発生がモーション検出処理により検出されるのを待ち受ける。そして該当する変化の発生が検出されてＹＥＳと判定したならばＣＰＵ１０６は、ステップＳａ７からステップＳａ８へ進む。
【００６７】
ステップＳａ８においてＣＰＵ１０６は、モーション検出処理を停止する。
【００６８】
ステップＳａ９においてＣＰＵ１０６は、検出された変化にモーションテーブルにて関連付けられた処理が「キャンセル」であるか否かを確認する。そしてここでＮＯと判定したならばＣＰＵ１０６は、ステップＳａ１０へと進む。
【００６９】
ステップＳａ１０においてＣＰＵ１０６は、検出された変化にモーションテーブルにて関連付けられた処理が「確定」であるか否かを確認する。そしてここでＮＯと判定したならばＣＰＵ１０６は、ステップＳａ１１へと進む。
【００７０】
ステップＳａ１１においてＣＰＵ１０６は、検出された変化に対してモーションテーブルにて処理が未定義であるか否かを確認する。そしてここでＮＯと判定したならばＣＰＵ１０６は、ステップＳａ１２へと進む。
【００７１】
ステップＳａ１２においてＣＰＵ１０６は、検出された変化にモーションテーブルにて関連付けられた処理を行う。以下に、このときの処理の具体例をいくつか示す。
【００７２】
（処理例１）  商品が画像の縦方向に回転したのであるならば、ＣＰＵ１０６は選択候補を候補商品のリスト中で、商品の回転方向に応じた方向に変更する。具体的には、図６に示す画面がタッチパネル１０３にて表示されている状態にあるときに商品が画像の下方向に回転したならば、ＣＰＵ１０６は選択候補を「リンゴ（ふじ）」から「リンゴ（ジョナゴールド）」に変更する。ちなみに「下方向に回転」とは、商品における画像内手前側が下方に移動するような回転を指す。
【００７３】
（処理例２）  オペレータが読取窓１０１ａの前で手をグーにしたのちに指を何本か立てたならば、ＣＰＵ１０６は数量を立てた指の本数だけ増加させる。ただし、この数量の初期値は１である。具体的には、数量が初期値の１である状態から、オペレータが読取窓１０１ａの前で手をグーにしたのちに指を２本立てたならば、ＣＰＵ１０６は数量を２つ増加して３とする。
【００７４】
（処理例３）  オペレータが読取窓１０１ａの前で指を一本立て、かつその指を上下に動かしたならば、ＣＰＵ１０６選択候補を候補商品のリスト中で、指の移動方向に応じた方向に変更する。具体的には、図６に示す画面がタッチパネル１０３にて表示されている状態にあるときに、図７に示すようにオペレータの手Ｈの指が下方向に移動したならば、ＣＰＵ１０６は選択候補を「リンゴ（ふじ）」から「リンゴ（ジョナゴールド）」に変更する。
【００７５】
そして検出された変化にモーションテーブルにて関連付けられた処理を完了したならばＣＰＵ１０６は、ステップＳａ６以降の処理を繰り返す。つまりＣＰＵ１０６は、新たな変化の発生を待ち受けることとする。
【００７６】
検出された変化に対してモーションテーブルにて処理が未定義である場合、ＣＰＵ１０６はステップＳａ１１にてＹＥＳと判定することとなり、ステップＳａ１１からステップＳａ１３へと進む。
【００７７】
ステップＳａ１３においてＣＰＵ１０６は、モーションと処理との関連付けをオペレータに知らせるためのガイダンス画面を表示するようタッチパネル１０３を制御する。ガイダンス画面の具体例としては、例えば図３に示すモーションテーブルを表す画面を利用できる。そしてこののちにＣＰＵ１０６は、ステップＳａ６以降の処理を繰り返す。これにより商品読取装置１００は、処理が関連付けられていない動作を行ってしまったオペレータに対して、どのような動作を行うべきかを案内することができる。そしてこののちにＣＰＵ１０６は、ガイダンスを参照した上でのオペレータの動作による新たな変化の発生を待ち受けることになる。
【００７８】
なお、モーションテーブルにて処理が未定義である変化に対しては、例えばユーザによる設定によって任意の処理を割り当てられるようにしても良い。この場合、割り当てた処理の内容を、モーションテーブルのデータレコードを識別するための識別コードに関連付けて例えばＲＡＭ１０８に記憶しておくようにする。そしてこのようにする場合には、ＣＰＵ１０６は、ＲＡＭ１０８に記憶された上記のユーザ設定に係わる情報も確認した上で、変化に対する処理の関連付の状況を判断する。また、モーションテーブルをＲＡＭ１０８または別途備えた不揮発性の補助記憶デバイスに保存しておき、ユーザ設定を反映するようにモーションテーブルを変更することも可能である。
【００７９】
検出された変化に対してモーションテーブルにて関連付けられた処理が「確定」である場合、ＣＰＵ１０６はステップＳａ１０にてＹＥＳと判定することとなり、ステップＳａ１０からステップＳａ１４へ進む。具体的には、図８に示すように商品Ｍがオペレータによって左方向に撮像デバイス１０５ａの撮像範囲外まで移動させるか、あるいは図９に示すようにオペレータの手Ｈをパーの状態として読取窓１０１ａの前にかざすと、ＣＰＵ１０６はステップＳａ１０にてＹＥＳと判定する。なお、オペレータが商品を左方向に移動させると、フレーム画像においては商品は右方向へと移動することになるので、図３における「画像の右方向にフレームアウト」に合致することになる。
【００８０】
ステップＳａ１４においてＣＰＵ１０６は、登録要求コマンドをＰＯＳ端末インタフェース１１３からＰＯＳ端末２００へ送る。ここでＣＰＵ１０６は登録要求コマンドには、その時点で選択候補となっている候補商品の商品コードと、その時点で設定されている数量とを含む。そしてこののちにＣＰＵ１０６は、ステップＳａ２以降の処理を繰り返し、他の商品の読み取りを試みる。
【００８１】
このようにＣＰＵ１０６は、「確定」が関連付けられた変化が生じたことに応じて、その時点で選択候補となっている候補商品の商品コードを買上商品の商品コードとして確定しているのであり、ＣＰＵ１０６は確定手段として機能する。
【００８２】
この登録要求コマンドは、読取装置インタフェース２１４によりＣＰＵ２０６に通知される。そして登録要求コマンドを受けるとＣＰＵ２０６は、この登録要求コマンドに含まれた商品コードと数量とを含むようにＲＡＭ２０８中の商品リストエリアの情報を更新する。
【００８３】
検出された変化に対してモーションテーブルにて関連付けられた処理が「キャンセル」である場合、ＣＰＵ１０６はステップＳａ９にてＹＥＳと判定することとなり、ステップＳａ９からステップＳａ１５へ進む。具体的には、図１０に示すように商品Ｍがオペレータによって右方向に撮像デバイス１０５ａの撮像範囲外まで移動させると、ＣＰＵ１０６はステップＳａ９にてＹＥＳと判定する。
【００８４】
ステップＳａ１５においてＣＰＵ１０６は、ＲＡＭ１０８に保存してある結果情報をクリアし、ステップＳａ３における商品認識の結果をキャンセルする。そしてこののちにＣＰＵ１０６は、ステップＳａ２以降の処理を繰り返し、他の商品の読み取りを試みる。
【００８５】
このようにＣＰＵ１０６は、判定手段が判定した変化パターンに関連付けられた処理を識別手段による識別の結果に対して行う処理手段として機能する。
【００８６】
以上のように商品読取装置１００によれば、フレーム画像から認識した候補商品についての識別結果に関する、確定したり、キャンセルしたり、数量を変更したり、複数の候補商品のうちの選択候補を変更したりといった処理を、オペレータが商品を動かしたり、手を動かしたりすることでオペレータが操作することができる。従って、それらの操作のために、オペレータが商品から手を離してキーボード１０２やタッチパネル１０３に触れることにより行う必要がなく、操作性が向上する。
【００８７】
この実施形態は、次のような種々の変形実施が可能である。
【００８８】
撮像部１０５を商品読取装置１００に備えず、外付けの撮像デバイスで得られたフレームデータを取り込んで上記の処理を行うようにしても良い。
【００８９】
オブジェクトの各種の画像内での変化に応じて行う処理の内容は、任意に変更が可能である。つまり本願は、オブジェクトの各種の画像内での変化をトリガとして何らかの処理を行うことを特徴の１つとし、どのような処理を行うかは主たる特徴ではない。
【００９０】
キーボード１０２、タッチパネル１０３またはキーボード２０２におけるオペレータの操作により確定が指定された際に選択候補となっている候補商品を買上商品として確定しても良い。また、商品認識処理により１つの商品候補に絞り込むことができた場合には、その商品候補をオペレータの指示なしに買上商品として確定しても良い。つまり、確定条件は任意に変更が可能である。
【００９１】
商品読取装置１００の機能を内蔵したＰＯＳ端末やキャッシュレジスタとして実現することも可能である。
【００９２】
また、商品読取装置１００の機能を秤装置に備えたセルフチェックアウト端末に組み込んで実現することも可能である。
【００９３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願の当初の特許請求の範囲に記載された発明を付記する。
［１］  撮像手段が撮像した画像からその画像に含まれるオブジェクトを認識する認識手段と、
前記認識手段が認識した前記オブジェクトから買上商品の候補となる候補商品を識別する識別手段と、
前記認識手段が認識した前記オブジェクトのうちの特定のオブジェクトの前記画像内での変化パターンを判定する判定手段と、
前記判定手段が判定した変化パターンに関連付けられた処理を前記識別手段による識別の結果に関連して行う処理手段と、
予め定められた確定条件が成立した場合、前記候補商品のうちで選択候補となっている商品を識別する商品コードを買上商品の商品コードとして確定する確定手段とを具備することを特徴とする商品読取装置。
［２］  前記判定手段は、前記候補オブジェクトまたは人間の手を前記特定のオブジェクトとし、当該オブジェクトの前記画像内での動きのパターンを前記変化パターンとして判定することを特徴とする［１］に記載の商品読取装置。
［３］  前記処理手段は、前記確定条件が成立したと判定する処理、前記識別手段による識別結果をキャンセルする処理、前記識別手段が識別した複数の候補商品のうちの１つを選択候補に設定する処理、買上数量を変更する処理のうちの少なくとも１つを行うことを特徴とする［１］または［２］に記載の商品読取装置。
［４］  前記処理手段は、前記判定手段が判定した変化パターンにいずれの処理も関連付けられていない場合には、前記変化パターンと処理との関連付けを表した画像を表示デバイスで表示するための処理を行うことを特徴とする［１］乃至［３］のいずれか一項に記載の商品読取装置。
［５］  前記撮像手段をさらに備えることを特徴とする［１］乃至［４］のいずれか一項に記載の商品読取装置。
［６］  コンピュータを、
撮像手段が撮像した画像からその画像に含まれるオブジェクトを認識する認識手段と、
前記認識手段が認識した前記オブジェクトのうちから買上商品の候補となる候補オブジェクトを選出する選出手段と、
前記認識手段が認識した前記オブジェクトのうちの特定のオブジェクトの前記画像内での変化パターンを判定する判定手段と、
前記選出手段が前記候補オブジェクトを選出した後に前記判定手段が判定した変化パターンに関連付けられた処理を前記選出手段による選出の結果に対して行う処理手段と、
予め定められた確定条件が成立した場合、前記選出手段が選出している前記候補オブジェクトに合致する商品を識別する商品コードを買上商品の商品コードとして判定する確定手段として機能させるための商品読取プログラム。
【符号の説明】
【００９４】
１００…商品読取装置、１０１…ハウジング、１０１ａ…読取窓、１０２…キーボード、１０３…タッチパネル、１０４…客用ディスプレイ、１０５…撮像部、１０５ａ…撮像デバイス、１０６…ＣＰＵ、１０７…ＲＯＭ、１０８…ＲＡＭ、１０９…キーボードインタフェース、１１０…パネルインタフェース、１１１…表示インタフェース、１１２…撮像インタフェース、１１３…ＰＯＳ端末インタフェース、１１４…バスライン、２００…ＰＯＳ端末。
【図１】
0005572651.tif 000002
【図２】
0005572651.tif 000003
【図３】
0005572651.tif 000004
【図４】
0005572651.tif 000005
【図５】
0005572651.tif 000006
【図６】
0005572651.tif 000007
【図７】
0005572651.tif 000008
【図８】
0005572651.tif 000009
【図９】
0005572651.tif 000010
【図１０】
0005572651.tif 000011