(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024156465
(43)【公開日】2024-11-06
(54)【発明の名称】商品識別システム
(51)【国際特許分類】
G07G 1/12 20060101AFI20241029BHJP
G07G 1/00 20060101ALI20241029BHJP
G07G 1/01 20060101ALI20241029BHJP
【FI】
G07G1/12 331H
G07G1/00 311D
G07G1/01 301D
G07G1/12 311D
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023070949
(22)【出願日】2023-04-24
(71)【出願人】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】原田 慎太郎
(72)【発明者】
【氏名】加藤 卓
【テーマコード(参考)】
3E142
【Fターム(参考)】
3E142CA20
3E142DA08
3E142EA02
3E142GA22
3E142JA01
3E142KA05
(57)【要約】
【課題】商品識別のために用いる辞書データのメンテナンスに関する管理者の負担を軽減する。
【解決手段】 実施形態の商品識別システムは、取得手段、識別手段、読取手段及び生成手段を備える。取得手段は、購買目的で購買者により容器へと入れられる商品を撮影した画像を取得する。識別手段は、取得された画像中に表れた商品の特徴と、複数の商品のそれぞれの外観の特徴を表した辞書データと、に基づいて当該商品を識別する。読取手段は、商品に表示された可視コードから当該商品の識別子を読み取る。生成手段は、取得された画像中に映り込んでいるものの識別手段により商品を識別できず、かつ当該識別できなかった商品に関して識別子が読み取られた場合に、当該の識別エラーを管理するためのエラーデータを、取得された画像と読み取られた識別子とを含んで生成する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
購買目的で購買者により容器へと入れられる商品を撮影した画像を取得する取得手段と、
前記取得手段により取得された画像中に表れた商品の特徴と、複数の商品のそれぞれの外観の特徴を表した辞書データと、に基づいて当該商品を識別する識別手段と、
商品に表示された可視コードから当該商品の識別子を読み取る読取手段と、
前記取得手段により取得された画像中に映り込んでいるものの前記識別手段により商品を識別できず、かつ当該識別できなかった商品に関して前記読取手段により識別子が読み取られた場合に、当該の識別のエラーを管理するためのエラーデータを、前記取得手段により取得された画像と前記読取手段により読み取られた識別子とを含んで生成する生成手段と、
を具備した商品識別システム。
【請求項2】
商品識別装置と、辞書管理装置と、を備え、
前記商品識別装置は、
前記取得手段、前記識別手段、前記読取手段及び前記生成手段と、
前記生成手段により生成されたエラーデータを前記辞書管理装置へと出力する出力手段と、を具備し、
前記辞書管理装置は、
前記出力手段によって出力されたエラーデータを収集する収集手段、
を備える、
請求項1に記載の商品識別システム。
【請求項3】
前記商品識別装置は、
前記取得手段により取得された画像中に商品が映り込んでいるものの、当該商品を前記識別手段により識別できない場合に、当該商品に表示された可視コードを前記読取手段に読み取らせるための操作を行うように購買者に案内する案内手段、
をさらに備える請求項2に記載の商品識別システム。
【請求項4】
前記辞書管理装置は、
前記生成手段によりエラーデータが生成されたことに応じて、前記辞書データの更新を管理者に推奨する推奨手段、
をさらに備える請求項2に記載の商品識別システム。
【請求項5】
前記辞書管理装置は、
前記生成手段により生成されたエラーデータに基づき、前記辞書データを更新する更新手段、
をさらに備える請求項2に記載の商品識別システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、商品識別システムに関する。
【背景技術】
【0002】
陳列販売型の店舗において、購買者がショッピングカートのカゴ部へと入れる商品を画像から識別して、購買予定の商品として自動的に登録するようにした登録システムは既に提案されている。
しかしながら、商品パッケージの変更は頻繁に行われており、識別に際して参照する辞書データが適正ではなくなっている場合には、商品を識別できない恐れがある。また、新規の取扱商品などに関するデータが辞書データに含まれない場合には、商品を識別できない。
そこで、システムの管理者は、こまめに辞書データのメンテナンスを行う必要があり、大きな負担となっていた。
このような事情から、商品識別のために用いる辞書データのメンテナンスに関する管理者の負担を軽減できることが望まれていた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】再公表特許WO2017/150226号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、商品識別のために用いる辞書データのメンテナンスに関する管理者の負担を軽減できる商品識別システムを提供することである。
【課題を解決するための手段】
【0005】
実施形態の商品識別システムは、取得手段、識別手段、読取手段及び生成手段を備える。取得手段は、購買目的で購買者により容器へと入れられる商品を撮影した画像を取得する。識別手段は、取得手段により取得された画像中に表れた商品の特徴と、複数の商品のそれぞれの外観の特徴を表した辞書データと、に基づいて当該商品を識別する。読取手段は、商品に表示された可視コードから当該商品の識別子を読み取る。生成手段は、取得手段により取得された画像中に映り込んでいるものの識別手段により商品を識別できず、かつ当該識別できなかった商品に関して読取手段により識別子が読み取られた場合に、当該の識別エラーを管理するためのエラーデータを、取得手段により取得された画像と読取手段により読み取られた識別子とを含んで生成する。
【図面の簡単な説明】
【0006】
【
図1】一実施形態に係る取引処理システムの概略構成と、カート端末及びPOSサーバの要部回路構成とを表すブロック図。
【
図2】カートへの
図1中のカート端末の取り付け状況の一例を表す斜視図。
【発明を実施するための形態】
【0007】
以下、実施の形態の一例について図面を用いて説明する。なお本実施形態としては、商品識別システムの機能を取り込んで実現される取引処理システムの例を説明する。
図1は本実施形態に係る取引処理システム1の概略構成と、カート端末100及びPOSサーバ500の要部回路構成とを表すブロック図である。
取引処理システム1は、カート端末100、会計機200、アテンダント端末300、管理端末400及びPOSサーバ500を、通信ネットワーク2を介して通信可能として構成されている。
【0008】
通信ネットワーク2は、インターネット、VPN(virtual private network)、LAN(local area network)、公衆通信網、移動体通信網などを、単独又は適宜に組み合わせて用いることができる。通信ネットワーク2としては、一例として、LAN及びインターネットが組み合わせて用いられる。
なお、カート端末100、会計機200、アテンダント端末300、管理端末400及びPOSサーバ500は、それぞれ任意の数が取引処理システム1に含まれて構わないが、
図1では1台ずつのみを表している。
【0009】
カート端末100は、店舗に備え付けのショッピングカート(以下、カートと称する)に取り付けられる情報処理端末である。カート端末100は、店舗で商品を購買する購買者にカートとともに貸し出される。カート端末100は、購買者による操作を受けて、購買者が購買を予定する商品を購買商品として登録するための登録処理を実行する端末装置である。カート端末100は、後述するように、購買商品として登録する商品を、当該商品が映り込んだ画像から識別する処理を実行する。つまりカート端末100は、商品識別装置としての機能を備える。
【0010】
会計機200は、店舗に設置され、カート端末100により登録された購買商品の代金の決済に関わる会計処理を実行する。会計機200は、会計処理に際して、操作者による操作を受ける。会計機200の操作者は、主として購買者である。店員が会計機200の操作者となる場合もある。
【0011】
アテンダント端末300は、店員により操作される情報処理端末である。アテンダント端末300は、取引処理システム1により処理される取引に関する店員の作業をサポートするための情報処理に関するユーザインタフェースのための端末装置である。店員の作業は例えば、処理中である取引の実施状況を監視し、適宜に購買者をサポートする作業である。
管理端末400は、取引処理システム1を管理する管理者のためのユーザインタフェースとなる情報端末である。管理端末400としては、デスクトップ型、ブック型、タブレット型及びモバイル型などの種々の汎用の情報処理装置を用いることができる。
【0012】
POSサーバ500は、カート端末100における登録処理及び会計機200における会計処理により処理される商品の売買取引を管理するための管理処理を実行する情報処理装置である。またPOSサーバ500は、商品識別のための辞書データを管理するための後述する情報処理(以下、辞書管理処理と称する)を実行する。POSサーバ500は、辞書管理処理を実行することで、辞書管理装置として機能する。
【0013】
カート端末100は、プロセッサ101、メイン記憶ユニット102、補助記憶ユニット103、タッチパネル104、サウンドユニット105、インタフェースユニット106、無線通信ユニット107及び伝送路108等を備える。プロセッサ101と、メイン記憶ユニット102、補助記憶ユニット103、タッチパネル104、サウンドユニット105、インタフェースユニット106及び無線通信ユニット107とは、伝送路108を介して通信可能とされている。
【0014】
プロセッサ101、メイン記憶ユニット102及び補助記憶ユニット103を伝送路108で接続することによって、カート端末100を制御するための情報処理を行うコンピュータを構成する。
プロセッサ101は、上記コンピュータの中枢部分に相当する。プロセッサ101は、オペレーティングシステム及びアプリケーションプログラムなどの情報処理プログラムに従って、カート端末100としての各種の機能を実現するべく各部を制御するための情報処理を実行する。
【0015】
メイン記憶ユニット102は、上記コンピュータの主記憶部分に相当する。メイン記憶ユニット102は、読み出し専用のメモリ領域と書き換え可能なメモリ領域とを含む。メイン記憶ユニット102は、読み出し専用のメモリ領域では上記の情報処理プログラムの一部を記憶する。またメイン記憶ユニット102は、プロセッサ101が各部を制御するための処理を実行する上で必要なデータを読み出し専用のメモリ領域又は書き換え可能なメモリ領域で記憶する場合もある。メイン記憶ユニット102は、書き換え可能なメモリ領域を、プロセッサ101によるワークエリアとして使用する。
【0016】
補助記憶ユニット103は、上記コンピュータの補助記憶部分に相当する。補助記憶ユニット103は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disc drive)、SSD(solid state drive)、あるいはその他の周知の各種の記憶デバイスを利用できる。補助記憶ユニット103は、プロセッサ101が各種の処理を行う上で使用するデータと、プロセッサ101での処理によって生成されたデータとを記憶する。補助記憶ユニット103は、上記の情報処理プログラムを記憶する場合もある。補助記憶ユニット103は、本実施形態では、情報処理プログラムの1つであるカート端末プログラムPRAを記憶する。カート端末プログラムPRAは、登録処理の手順について記述されたアプリケーションプログラムである。補助記憶ユニット103の記憶領域の一部は、辞書データDAA及び取引データDABを記憶する領域として利用される。辞書データDAAは、画像に映り込んでいる商品がどの商品であるかを識別するための識別辞書を表したデータである。取引データDABは、一取引の内容を表すデータである。なお、例えばカート端末100の起動後などの予め定められた辞書ダウンロードタイミングにて、POSサーバ500からカート端末100へと辞書データDACがダウンロードされて、辞書データDAAとして補助記憶ユニット103に保存される。
【0017】
タッチパネル104は、操作者に対する情報提示のための画面を表示する。またタッチパネル104は、操作者による画面へのタッチ操作による指示を入力する。
サウンドユニット105は、各種の案内や警報のための音を出力する。サウンドユニットとしては、例えば音声合成デバイス及びブザーなどの周知の種々のサウンドデバイスを、単独又は組み合わせて用いることができる。
【0018】
インタフェースユニット106は、カメラ199などの外付け装置が接続される。インタフェースユニット106は、接続された外付け装置とのデータの授受をインタフェースする。インタフェースユニット106としては、既存のUSB(universal serial bus)コントローラ等を利用できる。カメラ199は、カートに載置される買物カゴの内部空間の全体を包含する撮影範囲を撮影して画像を得る。そしてカメラ199は、撮影により得た画像を表した画像データを出力する。なおカメラ199は、撮影を一定周期で繰り返すのでも構わないし、プロセッサ101からの指示に応じて撮影を行うのでも構わない。カメラ199に代えて、カート端末100に内蔵されたカメラを用いても構わない。
【0019】
無線通信ユニット107は、通信ネットワーク2を介したデータ通信を無線で行うための通信処理を実行する。無線通信ユニット107としては、例えば無線LAN用の既存の無線通信デバイスを用いることができる。なお、無線通信ユニット107に代えて、あるいは加えて、通信ネットワーク2に有線接続される通信ユニットが用いられても構わない。
伝送路108は、アドレスバス、データバス及び制御信号線等を含み、接続された各部の間で授受されるデータ及び制御信号を伝送する。
【0020】
カート端末100の基本ハードウェアとしては、例えばタブレット型の情報処理装置のハードウェアを用いることが想定される。そしてカート端末100の譲渡は一般に、補助記憶ユニット103にカート端末プログラムPRAが記憶された状態にて行われる。しかし、カート端末プログラムPRAが補助記憶ユニット103に記憶されない状態、あるいは同種の別バージョンのアプリケーションプログラムが補助記憶ユニット103に記憶された状態のハードウェアと、カート端末プログラムPRAとが個別に譲渡されても構わない。そして、任意の作業者の操作に応じて、補助記憶ユニット103にカート端末プログラムPRAが書き込まれることによって、カート端末100が構成されても構わない。カート端末プログラムPRAの譲渡は、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介した通信により行うことができる。
【0021】
図2はカートへのカート端末100の取り付け状況の一例を表す斜視図である。
カート900は、キャスタ部910、ハンドルフレーム部920、カゴ部930、支持部940及びバッテリケース950を備えている。
キャスタ部910は、カート900を床面上で円滑に移動させるための4つの車輪911を有する。車輪911は、フレーム912に対して、鉛直方向の軸周りで回転可能な状態で取り付けられている。
【0022】
ハンドルフレーム部920は、一対の縦フレーム921,921及びハンドルバー922を含む。縦フレーム921,921は、キャスタ部910の2つの車輪の上方に立設される。ハンドルバー922は、縦フレーム921,921の上端を連結する。
カゴ部930は、ハンドルフレーム部920の中途部位から水平に向けて設けられる。カゴ部930は、上方が商品を入れることが可能に開口したカゴ状をなしており、購買者が購買を予定する商品を収容するための容器として機能する。カゴ部930のハンドルバー922に近い側の上端部に、カメラ199が、カゴ部930の開口を側方から撮影することができる状態で取り付けられている。
【0023】
支持部940は、ポール941を含む。ポール941は、一方の縦フレーム921に、その先端がハンドルバー922よりも上方に位置するように取り付けられている。そして、このポール941の先端部に上述のカート端末100が取り付けられている。これにより支持部940は、カート端末100を
図2に表す状態に支持する。
バッテリケース950は、ハンドルフレーム部920の下端側にて、縦フレーム921,921の間に取り付けられている。バッテリケース950は、カート端末100の外部電源として用いられるバッテリを収容する。
【0024】
さて
図1に表すようにPOSサーバ500は、プロセッサ501、メイン記憶ユニット502、補助記憶ユニット503、通信ユニット504及び伝送路505等を備える。プロセッサ501と、メイン記憶ユニット502、補助記憶ユニット503及び通信ユニット504とは、伝送路505を介して通信可能とされている。
【0025】
プロセッサ501、メイン記憶ユニット502及び補助記憶ユニット503を伝送路505で接続することによって、POSサーバ500を制御するための情報処理を行うコンピュータを構成する。
プロセッサ501は、上記コンピュータの中枢部分に相当する。プロセッサ501は、オペレーティングシステム及びアプリケーションプログラムなどの情報処理プログラムに従って、POSサーバ500としての各種の機能を実現するべく各部を制御するための情報処理を実行する。
【0026】
メイン記憶ユニット502は、上記コンピュータの主記憶部分に相当する。メイン記憶ユニット502は、読み出し専用のメモリ領域と書き換え可能なメモリ領域とを含む。メイン記憶ユニット502は、読み出し専用のメモリ領域では上記の情報処理プログラムの一部を記憶する。またメイン記憶ユニット502は、プロセッサ501が各部を制御するための処理を実行する上で必要なデータを読み出し専用のメモリ領域又は書き換え可能なメモリ領域で記憶する場合もある。メイン記憶ユニット502は、書き換え可能なメモリ領域を、プロセッサ501によるワークエリアとして使用する。
【0027】
補助記憶ユニット503は、上記コンピュータの補助記憶部分に相当する。補助記憶ユニット503は、例えばEEPROM、HDD、SSD、あるいはその他の周知の各種の記憶デバイスを利用できる。補助記憶ユニット503は、プロセッサ501が各種の処理を行う上で使用するデータと、プロセッサ501での処理によって生成されたデータとを記憶する。補助記憶ユニット503は、上記の情報処理プログラムを記憶する場合もある。補助記憶ユニット503は、本実施形態では、情報処理プログラムの1つである辞書管理プログラムPRBを記憶する。辞書管理プログラムPRBは、後述する辞書管理処理の手順について記述されたアプリケーションプログラムである。補助記憶ユニット503の記憶領域の一部は、辞書データDACを記憶する領域として利用される。辞書データDACは、画像に映り込んでいる商品がどの商品であるかを識別するための識別辞書を表したデータである。辞書データDACは、例えば取引処理システム1を店舗に導入するに際して、店舗での販売商品を考慮して、適宜の作業者により作成されて、補助記憶ユニット503に書き込まれる。
【0028】
通信ユニット504は、通信ネットワーク2を介したデータ通信を行うための通信処理を実行する。通信ユニット504は、例えばインターネット用の既存の通信デバイスを用いることができる。
伝送路505は、アドレスバス、データバス及び制御信号線等を含み、接続された各部の間で授受されるデータ及び制御信号を伝送する。
【0029】
さて、POSサーバ500のハードウェアとしては、例えば汎用のサーバ装置を用いることができる。そしてPOSサーバ500の譲渡は一般に、補助記憶ユニット503に辞書管理プログラムPRBが記憶された状態にて行われる。しかし、辞書管理プログラムPRBが補助記憶ユニット503に記憶されない状態、あるいは同種の別バージョンのアプリケーションプログラムが補助記憶ユニット503に記憶された状態のハードウェアと、辞書管理プログラムPRBとが個別に譲渡されても構わない。そして、任意の作業者の操作に応じて、補助記憶ユニット503に辞書管理プログラムPRBが書き込まれることによって、POSサーバ500が構成されても構わない。辞書管理プログラムPRBの譲渡は、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介した通信により行うことができる。
【0030】
次に以上のように構成された取引処理システム1の動作について説明する。なお、以下に説明する各種の処理の内容は一例であって、一部の処理の順序の変更、一部の処理の省略、あるいは別の処理の追加などは適宜に可能である。例えば、以下の説明では、本実施形態の特徴的な動作を分かり易く説明するために、一部の処理についての説明を省略している。例えば、何らかのエラーが発生した場合に、そのエラーに対処するための処理が行われる場合がある。また例えば、各種の待ち受け状態においては、説明するのとは異なる事象の発生も待ち受け、発生した事象に応じた処理へと移行する場合もある。
【0031】
物販店の客、つまり当該物販店で陳列販売される商品を購買しようとする購買者は、未使用状態となっているカート端末100で、利用開始のための予め定められた操作を行う。この操作が行われるとプロセッサ101は、カート端末プログラムPRAに基づく登録処理を開始する。
【0032】
図3及び
図4は登録処理のフローチャートである。
図3中のACT11としてプロセッサ101は、対象の取引に関する新たな取引データDABを生成する。つまりプロセッサ101は例えば、他の取引を識別するための取引コードとは異なる新たな取引コードを予め定められたルールに従って決定し、この取引コードを含み、購買商品に関する商品情報は含まない新たな取引データDABを生成し、補助記憶ユニット103に記憶させる。
【0033】
ACT12としてプロセッサ101は、画像の取得タイミングとなったかを確認する。そしてプロセッサ101は、該当の事象を確認できないならばNOと判定し、ACT13へと進む。なお取得タイミングは例えば、ACT11からACT12へと進んだ直後のタイミングと、それ以降の一定の時間間隔毎のタイミングなどとすることが想定される。取得タイミングは、例えばカート端末プログラムPRAの作成者などによって適宜に定められて構わない。ただし、取得タイミングは、カゴ部930へと入れられる商品がカメラ199の撮影範囲を通過する間に、少なくとも1回到来するように定められるべきである。
【0034】
ACT13としてプロセッサ101は、会計が要求されたかを確認する。そしてプロセッサ101は、該当の事象を確認できないならばNOと判定し、ACT12へと戻る。
かくしてプロセッサ101は、ACT12及びACT13としては、取得タイミングとなるか、あるいは会計が要求されるのを待ち受ける。
【0035】
プロセッサ101は、取得タイミングとなると、ACT12にてYESと判定してACT14へと進む。
ACT14としてプロセッサ101は、カメラ199が出力する画像データを取得する。プロセッサ101は例えば、カメラ199が一定周期で撮影を繰り返しているのであれば、カメラ199が最も新しく行った撮影に応じて出力する画像データを取得する。プロセッサ101は例えば、カメラ199がプロセッサ101からの指示に応じて撮影を行うのであれば、撮影をカメラ199に対して指示し、これに応じてカメラ199が撮影を行って出力する画像データを取得する。そしてプロセッサ101は、取得した画像データをメイン記憶ユニット102又は補助記憶ユニット103に保存する。かくしてカート端末プログラムPRAに基づく情報処理をプロセッサ101が実行することによって、プロセッサ101を中枢部分とするコンピュータは、画像データが表す画像を取得する取得手段として機能する。
【0036】
ACT15としてプロセッサ101は、上記の取得した画像データが表す画像から、商品が映り込んでいる領域(以下、商品領域と称する)を検出する。ここで抽出する領域の判定には、例えばCNN(convolutional neural network)を利用した深層学習(deep learning)、あるいはグラフカット(graph cuts)を利用する周知の方法等を用いることが可能であり、その方法は問わない。
【0037】
ACT16としてプロセッサ101は、商品領域を検出したかを確認する。そしてプロセッサ101は、ACT15にて商品領域を検出できなかったならばNOと判定し、ACT17へと進む。
ACT17としてプロセッサ101は、購買商品として登録するための候補となる商品(以下、候補商品と称する)が既に設定されているかを確認する。そしてプロセッサ101は、該当の事象を確認できないならばNOと判定し、ACT12及びACT13の待ち受け状態に戻る。
【0038】
購買者は、購買商品を店舗内で探す。そして購買者は、購買する商品を売場から取り出し、カゴ部930に入れる。このときに商品が、カメラ199の撮影範囲を通過し、カメラ199が出力する画像データが表す画像に映り込むことになる。つまりプロセッサ101は、このように購買者が商品をカゴ部930に入れようとされるまでは、取得タイミングとなってもACT15にて商品領域を検出することはなく、かつ候補商品も設定されていないのでACT17にてNOと判定し、ACT12及びACT13の待ち受け状態へと戻ることを繰り返す。そしてプロセッサ101は、購買者がカゴ部930に入れようとしている商品が画像に映り込むと、ACT15にて商品領域を検出することとなる。そしてプロセッサ101はこの場合には、ACT16にてYESと判定し、
図4中のACT21へと進む。
【0039】
ACT21としてプロセッサ101は、識別処理を実行する。識別処理は、ACT15にて検出された商品領域の画像に基づき、当該商品領域に映り込んでいる商品を、辞書データDAAを参照しながら識別する処理である。この識別処理の手法については、例えば画像認識に適した手法であるCNNを利用した深層学習を利用する。あるいは、OCR(optical character recognition)又は特徴点マッチング等の手法を利用する等、その方法は問わない。かくしてカート端末プログラムPRAに基づく情報処理をプロセッサ101が実行することによって、プロセッサ101を中枢部分とするコンピュータは識別手段として機能する。
【0040】
ACT22としてプロセッサ101は、ACT21における識別に成功したかを確認する。そしてプロセッサ101は、識別に成功しているならばYESと判定し、ACT23へと進む。
ACT23としてプロセッサ101は、候補商品が既に設定されているかを確認する。そしてプロセッサ101は、該当の事象を確認できないならばNOと判定し、ACT24へと進む。
ACT24としてプロセッサ101は、ACT21で識別した商品を候補商品に設定する。そしてプロセッサ101はこののち、
図3中のACT12及びACT13の待ち受け状態に戻る。
【0041】
1つの購買商品がカメラ199の撮影範囲を通過する間に、取得タイミングが複数回到来する場合がある。この場合の複数回の取得タイミングのそれぞれでプロセッサ101は、ACT21での識別処理により同じ商品を識別することになるが、2回目以降の取得タイミングにおいて既に候補商品が設定されている。このためプロセッサ101は、
図4中のACT23にてYESと判定し、ACT24をパスして
図3中のACT12及びACT13の待ち受け状態に戻る。
【0042】
かくしてプロセッサ101は、購買者が購買しようとする商品をカゴ部930に入れようとして商品がカメラ199の撮影範囲を通過する間、取得タイミングとなる毎に、
図3中のACT14~ACT16及び
図4中のACT21~ACT23が繰り返されるが、この間、最初にACT21にて識別できた商品が候補商品のままとされる。
【0043】
そしてプロセッサ101は、購買者がカゴ部930に入れようとしている商品がカメラ199の撮影範囲を通過し切ってカメラ199により得られる画像に映り込まなくなると、
図3中のACT15で商品領域を検出できなくなる。これに応じてプロセッサ101は、ACT16にてNOと判定してACT17へと進むが、候補商品が上記のように設定済みであるためにACT17にてYESと判定し、ACT18へと進む。
【0044】
ACT18としてプロセッサ101は、候補商品を購買商品として確定するための予め定められた確定条件が成立しているかを確認する。確定条件は、例えばカート端末プログラムPRAの作成者などにより適宜に定められて構わない。確定条件は一例として、「連続する規定回数の取得タイミングにおいて、いずれもACT17にてYESと判定した。」のように定めることが想定される。そしてプロセッサ101は、確定条件が成立していないならばNOと判定し、ACT12及びACT13の待ち受け状態に戻る。かくしてプロセッサ101は、候補商品が設定済みである状態で、商品領域を検出できない状況となっても、確定条件が成立するまではACT14~ACT18の処理を取得タイミング毎に繰り返し実行する。そしてプロセッサ101は、確定条件が成立したならばACT18にてYESと判定し、ACT19へと進む。
【0045】
ACT19としてプロセッサ101は、候補商品を購買商品として登録する。つまりプロセッサ101は例えば、候補商品の商品コードを購買商品の商品コードとして含むように取引データを更新する。そしてプロセッサ101はこののち、ACT12及びACT13の待ち受け状態に戻る。
なおプロセッサ101は、購買商品として登録し終えた商品の候補商品としての設定は解除する。このためプロセッサ101は、こののちに新たにACT15にて商品領域を検出できるまでは、ACT16にてNOと判定し、ACT17へと進むが、このACT17では候補商品があることを確認できないためにNOと判定し、ACT12及びACT13の待ち受け状態へと戻る状態となる。
【0046】
さて、商品領域に映り込んだ商品のパッケージの変更に伴って辞書データDAAが適正ではなくなっている場合、あるいは商品領域に映り込んだ商品に辞書データDAAが対応していない場合などにおいて、プロセッサ101は
図4中のACT21にて商品を識別できないことがある。あるいは、辞書データDAAは適正であっても、商品が手で隠されるなどして、その商品の特徴が、識別するのに十分に画像に表れていないような場合に、ACT21にて商品を識別できないことがある。このような場合においてプロセッサ101は、ACT22にてNOと判定し、ACT25へと進む。
【0047】
ACT25としてプロセッサ101は、辞書データDAAの不備に起因する識別の失敗(以下、識別エラーと称する)であるかを確認する。プロセッサ101は例えば、識別エラーと判定するための予め定められた条件が成立するかを確認する。条件は、カート端末プログラムPRAの作成者などにより適宜に定められて構わないが、一例として「連続する規定回数の取得タイミングにおいて、いずれもACT22にてNOと判定した。」のように定めることが想定される。そしてプロセッサ101は、識別エラーであると確認できないならばNOと判定し、そのまま
図3中のACT12及びACT13の待ち受け状態に戻る。
なお、購買商品をカゴ部930に入れる際には、該当の商品がカメラ199により良好に撮影されるように商品を持つことを利用状のルールとしておけば、商品が手で隠されるなどして識別に失敗する状態が一時的に生じるとしても、その状態は短時間のうちに解消されることになる。従って、上記の条件により識別エラーであるか否かを精度良く判断できるようになる。
【0048】
プロセッサ101は、例えば条件が成立したことにより識別エラーであることを確認できたならば、
図4中のACT25にてYESと判定し、ACT26へと進む。
ACT26としてプロセッサ101は、案内動作を実行する。案内動作は、カゴ部930に入れようとしている商品に表示されているバーコードをカメラ199に翳すように購買者に報知するための動作である。プロセッサ101は、案内動作として例えば、カゴ部930に入れようとしている商品に表示されているバーコードをカメラ199に翳すべきであることを購買者に認識させるための文字メッセージと、カメラ199が出力する画像とを表した案内画面をタッチパネル104に表示させる。プロセッサ101は案内動作として例えば、異常の発生を購買者に認識させるための警報音をサウンドユニット105に出力させる。プロセッサ101は案内動作として例えば、カゴ部930に入れようとしている商品に表示されているバーコードをカメラ199に翳すべきであることを購買者に認識させるための音声メッセージをサウンドユニット105に出力させる。その他、案内動作として行う動作は、例えばカート端末プログラムPRAの作成者などによって適宜に定められて構わず、上記のような動作の複数を組み合わせて実行するのでも構わない。かくしてカート端末プログラムPRAに基づく情報処理をプロセッサ101が実行することによって、プロセッサ101を中枢部分とするコンピュータは案内手段として機能する。
【0049】
ACT27としてプロセッサ101は、バーコード認識処理を実行する。プロセッサ101は例えば、カメラ199により得られた最新の画像に映り込んでいるバーコードを検出し、当該バーコードが表すデータから商品コードの抽出を試みる。ここで商品コードが抽出できた場合、プロセッサ101は商品の識別子としての商品コードを取得することになる。かくしてカート端末プログラムPRAに基づく情報処理をプロセッサ101が実行することによって、プロセッサ101を中枢部分とするコンピュータは、可視コードの一例であるバーコードから商品の識別子としての商品コードを読み取る読取手段として機能する。
【0050】
ACT28としてプロセッサ101は、上記のバーコード認識処理により商品コードを抽出できたかを確認する。そしてプロセッサ101は、商品コードを抽出できていないならばNOと判定し、ACT27へと戻る。なおプロセッサ101は、このようにACT28を経て2度目以降にACT27を実行する場合には、前回に取得した画像とは別の画像を取得して、その画像を処理の対象とする。
【0051】
プロセッサ101は、購買者により商品に表示されたバーコードがカメラ199に翳されたことによって、カメラ199により得られた画像にバーコードが良好に映り込む状態となり、ACT27にて商品コードを抽出できたならば、ACT28にてYESと判定し、ACT29へと進む。
ACT29としてプロセッサ101は、ACT27で抽出した商品コードで識別される商品を購買商品として登録する。つまりプロセッサ101は例えば、ACT27で抽出した商品コードを購買商品の商品コードとして含むように取引データを更新する。
【0052】
ACT30としてプロセッサ101は、エラーデータを送信する。プロセッサ101は、ACT14で取得した画像データと、ACT27で抽出した商品コードとを少なくとも含んだデータとしてエラーデータを生成する。かくしてカート端末プログラムPRAに基づく情報処理をプロセッサ101が実行することによって、プロセッサ101を中枢部分とするコンピュータは生成手段として機能する。
ACT31としてプロセッサ101は、ACT30にて生成したエラーデータを無線通信ユニット107からPOSサーバ500に宛てて通信ネットワーク2へと送出する。そしてプロセッサ101はこののち、
図3中のACT12及びACT13の待ち受け状態に戻る。このようなエラーデータの送信は、エラーデータの出力の一例である。つまりカート端末プログラムPRAに基づく情報処理をプロセッサ101が実行することによって、プロセッサ101を中枢部分とするコンピュータは出力手段として機能する。
なおプロセッサ101は、
図4中のACT21での識別に失敗しても、識別エラーであることを確認できないならば、ACT25にてNOと判定し、ACT26~ACT30をパスして
図3中のACT12及びACT13の待ち受け状態に戻る。
【0053】
購買者は、購買商品の登録を終えたならば、会計の開始を指示するための予め定められた操作を例えばタッチパネル104にて行う。これに応じてプロセッサ101は、
図3中のACT13にてYESと判定し、会計処理へと進む。会計処理は、例えば既存のカートPOSシステムで行われているのと同様の処理で構わず、その図示は省略する。例えばプロセッサ101は、取引データを会計機200に受け渡すための処理を会計処理として行う。あるいは、カート900に図示しない決済端末が取り付けられ、当該決済端末がカート端末100に接続されているならば、この決済端末を用いてのクレジット決済やコード決済などを行うための処理を会計処理として行うのでも構わない。
【0054】
POSサーバ500にてプロセッサ501は、辞書管理プログラムPRBに基づく辞書管理処理を実行する。
図5は辞書管理処理のフローチャートである。
ACT41としてプロセッサ501は、エラーデータが受信されたかを確認する。そしてプロセッサ501は、該当の事象を確認できないならばNOと判定し、ACT42へと進む。
【0055】
ACT42としてプロセッサ501は、学習タイミングとなったかを確認する。そしてプロセッサ501は、該当の事象を確認できないならばNOと判定し、ACT41へと戻る。
かくしてプロセッサ501はACT41及びACT42としては、エラーデータが受信されるか、あるいは学習タイミングとなるのを待ち受ける。
【0056】
前述のようにカート端末100から送出されたエラーデータが通信ネットワーク2によりPOSサーバ500へと伝送されると、当該のエラーデータを通信ユニット504が受信する。そうするとプロセッサ501は、ACT41にてYESと判定してACT43へと進む。
ACT43としてプロセッサ501は、通信ユニット504により受信されたエラーデータを補助記憶ユニット503に保存する。そしてプロセッサ501はこののち、ACT41及びACT42の待ち受け状態に戻る。
【0057】
かくしてプロセッサ501は、通信ユニット504によりエラーデータが受信される毎に、ACT43を繰り返す。このときにプロセッサ501は、既に補助記憶ユニット503に記憶されているエラーデータを削除することなしに、新たに受信されたエラーデータを補助記憶ユニット503に追加で保存する。つまりプロセッサ501は、エラーデータが繰り返し送られてくる場合には、それらエラーデータを補助記憶ユニット503に蓄積する。かくして辞書管理プログラムPRBに基づく情報処理をプロセッサ501が実行することによって、プロセッサ501を中枢部分とするコンピュータは収集手段として機能する。
【0058】
学習タイミングは、例えば辞書管理プログラムPRBの作成者又は取引処理システム1の管理者などによって適宜に定められて構わない。一例として学習タイミングは、取引処理システム1が利用される店舗の1営業日の営業終了後のタイミングなどとして定めることが想定される。
プロセッサ501は、学習タイミングとなると、ACT42にてYESと判定し、ACT44へと進む。
【0059】
ACT44としてプロセッサ501は、エラーデータが有るかを確認する。そしてプロセッサ501は、エラーデータが補助記憶ユニット503に保存されていないならばNOと判定し、そのままACT41及びACT42の待ち受け状態へと戻る。しかしながらプロセッサ501は、エラーデータが補助記憶ユニット503に保存されているならばACT44にてYESと判定し、ACT45へと進む。
【0060】
ACT45としてプロセッサ501は、エラーデータに基づく辞書学習を自動で行う設定かを確認する。なお、当該の設定は例えば、辞書管理処理に関する動作設定として、取引処理システム1の管理者などによる例えば管理端末400を操作しての指示に応じてプロセッサ501が設定する。
【0061】
プロセッサ501は、自動で行う設定ではなければNOと判定し、ACT46へと進む。
ACT46としてプロセッサ501は、報知動作を実行する。報知動作は、取引処理システム1の管理者に対して、エラーデータが生成される事象、すなわち識別エラーが発生したことに応じて、バーコード読取による商品登録が行われたことを管理者に対して報知するための動作である。プロセッサ501は、案内動作として例えば、辞書データDACの更新が必要であることを管理者に認識させるための文字メッセージなどを表した報知画面の表示を管理端末400に対して要求する動作である。そして管理端末400では、このような要求に応じて、該当の報知画面を表示するなどの動作を行うようにする。なお本実施形態において報知画面は、辞書学習にエラーデータを活用するか否かの管理者による指示を受けるためのGUI画面を兼ねる画面とする。このような報知動作による報知を受けると管理者は、辞書データDACの更新が必要であることを認識できるから、報知動作は辞書データDACの更新を管理者に推奨する動作であるとも言える。かくして辞書管理プログラムPRBに基づく情報処理をプロセッサ501が実行することによって、プロセッサ501を中枢部分とするコンピュータは推奨手段として機能する。
【0062】
ACT47としてプロセッサ501は、エラーデータの活用が指示されたかを確認する。そしてプロセッサ501は、活用を指示するための操作が例えば管理端末400で管理者によりなされ、これが管理端末400からPOSサーバ500へと通知されたならばYESと判定し、ACT48へと進む。なおプロセッサ501は、辞書学習を自動で行う設定となっているならばACT45にてYESと判定し、ACT46及びACT47をパスしてACT48へと進む。
【0063】
ACT48としてプロセッサ501は、学習処理を行う。つまりプロセッサ501は、エラーデータを用いて辞書データDACを更新する。つまりプロセッサ501は、エラーデータに含まれる画像データが表す画像に映り込んでいる商品の外観の特徴を抽出し、それを同じエラーデータに含まれる商品コードで識別される商品の特徴として認識処理に用いるためのデータを辞書データDACに追加する。なお、ここでの辞書データDACの更新の具体的な処理は、例えば同種の辞書データの更新のための周知の処理であって構わない。なお、これ以降の辞書ダウンロードタイミングにおいて辞書データDACがカート端末100にダウンロードされて辞書データDAAとして書き換えられることによって、上記の辞書データDACの更新が辞書データDAAにも反映される。かくして辞書管理プログラムPRBに基づく情報処理をプロセッサ501が実行することによって、プロセッサ501を中枢部分とするコンピュータは更新手段として機能する。
ACT49としてプロセッサ501は、ACT48での学習処理に活用したエラーデータを補助記憶ユニット503から消去する。そしてプロセッサ501はこののち、ACT41及びACT42の待ち受け状態に戻る。
【0064】
なおプロセッサ501は、エラーデータを活用しないことが指示された場合には、ACT47にてNOと判定し、ACT48及びACT49をパスしてそのままACT41及びACT42の待ち受け状態に戻る。
なお、このときには管理者は、辞書管理処理によるのとは別の方法により辞書の学習を図るべきである。そこでプロセッサ501は、ACT47にてNOと判定した場合には、エラーデータに含まれる商品コードで識別される商品、つまり辞書データDACに基づく認識が困難となっている商品の一覧を表す画面の表示を管理端末400に要求するなどの、辞書データDACの更新作業を支援するための動作を行っても構わない。
【0065】
以上のように取引処理システム1は、画像に映り込んだ商品の外観の特徴に基づく商品の識別に失敗し、かつバーコード読み取りによる商品登録が行われた場合には、失敗した識別処理の対象とした画像データと、バーコード読み取りされた商品コードとを含めたエラーデータを生成する。これにより、取引処理システム1の管理者などは、エラーデータに基づいて、辞書データDAA,DACが不適正となっている可能性を認識することが可能となる。なお、エラーデータに含められる画像データ及び商品コードとしては、いずれも購買商品の登録のために購買者の操作に応じて取得されたものを活用するから、そのエラーデータの生成のための特別な操作は必要がない。
【0066】
また取引処理システム1は、カート端末100で生成したエラーデータを、POSサーバ500へと送信して、POSサーバ500にて収集する。これにより、複数のカート端末100のそれぞれで生成されたエラーデータをPOSサーバ500で集中して管理できる。管理者は、複数のカート端末100の個々を操作すること無しに、例えば管理端末400からPOSサーバ500へとアクセスすることでエラーデータを確認できる。
【0067】
また取引処理システム1は、画像に映り込んだ商品を識別処理により識別できない場合には、案内動作によってバーコード読取のための操作を行うよう購買者に案内する。これにより、エラーデータに含める商品コードをより確実に得ることが可能である。
【0068】
また取引処理システム1は、エラーデータが生成されたことに応じて、報知動作を実行する。これにより、辞書データを更新すべきであることを管理者に認識させることができる。
【0069】
また取引処理システム1は、エラーデータに基づいて辞書データを更新する。これにより、辞書更新のためのデータ入力のための別途の操作を管理者が行う必要がない。
【0070】
また取引処理システム1は、エラーデータに基づく辞書学習を自動で行う設定となっているならば、報知動作を行うことなしにエラーデータに基づいて辞書データを更新する。これにより、エラーデータに基づく辞書データの更新に関しては、管理者は何らの操作も行う必要がない。
【0071】
この実施形態は、次のような種々の変形実施が可能である。
別の商品登録装置又は取引処理装置などと組み合わせて用いられ、商品の識別を主たる機能とする商品識別装置として実現されても構わない。
【0072】
商品の識別結果は、取引処理のための購買登録には限らず、どのような用途で用いるのでも構わない。
【0073】
上記の実施形態においてプロセッサ101が実行している処理の一部を、POSサーバ500、あるいはその他の任意の1又は複数の情報処理装置にて実行するのでも構わない。例えば、カート端末100では、ユーザインタフェース動作のみを行い、購買商品の特定のための諸々の情報処理はPOSサーバ500に備えられたコンピュータにより実行されるのでも構わない。つまり、取得手段、識別手段、読取手段及び生成手段のそれぞれは、取引処理システム1に含まれるカート端末100以外のPOSサーバ500などの任意の情報処理装置に備えられても構わないし、取引処理システム1に含まれる複数の情報処理装置に適宜に分散して設けられていても構わない。
【0074】
カート端末100にてプロセッサ101が、補助記憶ユニット103に保存されている辞書データDAAをエラーデータに基づいて更新するのでも構わない。
【0075】
情報処理によりプロセッサ101が実現する各機能は、その一部又は全てをロジック回路などのようなプログラムに基づかない情報処理を実行するハードウェアにより実現することも可能である。また上記の各機能のそれぞれは、上記のロジック回路などのハードウェアにソフトウェア制御を組み合わせて実現することも可能である。
【0076】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0077】
1…取引処理システム、2…通信ネットワーク、100…カート端末、101…プロセッサ、102…メイン記憶ユニット、103…補助記憶ユニット、104…タッチパネル、105…サウンドユニット、106…インタフェースユニット、107…無線通信ユニット、108…伝送路、199…カメラ、200…会計機、300…アテンダント端末、400…管理端末、500…POSサーバ、501…プロセッサ、502…メイン記憶ユニット、503…補助記憶ユニット、504…通信ユニット、505…伝送路、900…カート。