(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-04
(45)【発行日】2024-10-15
(54)【発明の名称】情報処理装置、システム、情報処理装置の制御方法、及びプログラム
(51)【国際特許分類】
G06Q 30/06 20230101AFI20241007BHJP
G07G 1/00 20060101ALI20241007BHJP
G07F 9/00 20060101ALI20241007BHJP
G06T 7/00 20170101ALI20241007BHJP
【FI】
G06Q30/06
G07G1/00 311D
G07F9/00 110A
G06T7/00 350B
(21)【出願番号】P 2020098598
(22)【出願日】2020-06-05
【審査請求日】2023-06-02
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】110002767
【氏名又は名称】弁理士法人ひのき国際特許事務所
(72)【発明者】
【氏名】高見澤 亮
(72)【発明者】
【氏名】布施 竜一
【審査官】加舎 理紅子
(56)【参考文献】
【文献】特開2019-021256(JP,A)
【文献】特開2015-049581(JP,A)
【文献】特開2015-130066(JP,A)
【文献】特表2019-536121(JP,A)
【文献】特開2019-096313(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
G07G 1/00
G07F 9/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
物品に係る複数の画像である
サンプル画像群を記憶する記憶手段と、
撮像手段により撮像された画像に係る物品について、前記記憶手段に記憶された
サンプル画像群を用いて種別の識別処理を行う識別手段と、
他の装置により撮像された画像に係る物品の種別を識別できなかったため再撮像された画像を取得する取得手段と、
を備え、
前記識別手段は、前記
サンプル画像群を用いた識別処理により前記物品の種別を識別できなかった場合、
前記取得手段により取得した画像
を用いて当該物品の種別を識別する処理を行うことを特徴とする情報処理装置。
【請求項2】
前記
取得手段により取得した
画像
について、前記
サンプル画像群として前記記憶手段に記憶するよう制御する制御手段を備えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
ユーザから、前記識別手段による識別処理の対象となった画像に係る物品の種別を受け付ける受付手段と、
前記画像を前記受付手段により受け付けた種別に係る画像として、前記他の装置に送信する送信手段と、
を備えることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記受付手段は、さらに、ユーザから前記識別手段による識別処理の結果に対する評価を受け付けることを特徴とし、前記識別処理の結果が誤りである旨の評価を受け付けた場合、当該物品の種別を受け付けることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記撮像手段は、所定の領域から出し入れされている物品を撮像することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記物品は、商品であり、
前記所定の領域は、前記商品を陳列する棚の商品取出し口に対応する、ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記識別手段での識別処理で物品の種別を識別できなかった場合、前記種別を識別できなかた物品を前記撮像手段に向けるようにユーザに指示する指示手段を有し、
前記識別手段は、前記指示の後に前記撮像手段により撮像された画像から前記物品の種別の識別を試みる、ことを特徴とする請求項1~6のいずれか1項に記載の情報処理装置。
【請求項8】
前記指示手段は、前記指示の内容を表示装置に表示する、前記指示を通知するためのランプを点灯する、前記指示を通知するための警告音を出力する、又は、前記指示の内容を音声出力することで前記指示を行うことを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記
サンプル画像群は、前記撮像手段で撮像された画像を含み、前記
取得手段で取得された画像
は他の装置の撮像手段で撮像された画像を含むことを特徴とする請求項1~8のいずれか1項に記載の情報処理装置。
【請求項10】
前記識別手段は、類似度の高い画像同士は近づき且つ類似度の低い画像同士は離れるように画像を空間にマッピングするように学習されたモデルを用い、前記識別処理の対象となった画像とサンプル画像群との距離を求め、該画像との距離が最小で且つ閾値以下となるサンプル画像に対応する物品の種別を、該画像に対応する物品の種別として識別することを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
【請求項11】
前記識別手段は、サンプル画像群を用いた識別処理において前記識別処理の対象となった画像との距離が前記閾値以下のサンプル画像が存在しない場合に、前記識別処理の対象となった画像から前記物品の種別を識別できなかったとする、ことを特徴とする請求項10に記載の情報処理装置。
【請求項12】
複数の情報処理装置が通信可能なシステムであって、
前記情報処理装置の少なくとも1つは、
物品に係る複数の画像である
サンプル画像群を記憶する記憶手段と、
撮像手段により撮像された画像に係る物品について、前記記憶手段に記憶された
サンプル画像群を用いて種別の識別処理を行う識別手段と、
他の装置により撮像された画像に係る物品の種別を識別できなかったため再撮像された画像を取得する取得手段と、
を備え、
前記識別手段は、前記
サンプル画像群を用いた識別処理により前記物品の種別を識別できなかった場合、
前記取得手段により取得した画像
を用いて当該物品の種別を識別する処理を行うことを特徴とするシステム。
【請求項13】
物品に係る複数の画像である
サンプル画像群を記憶する記憶手段を有する情報処理装置の制御方法であって、
物品を撮像手段により撮像する撮像工程と、
前記撮像手段により撮像された画像に係る物品について、前記記憶手段に記憶された
サンプル画像群を用いて種別
の識別処理を行う識別工程
と、
他の装置により撮像された画像に係る物品の種別を識別できなかったため再撮像された画像を取得する取得工程と、
を備え、
前記識別工程は、前記
サンプル画像群を用いた識別処理により前記物品の種別を識別できなかった場合、
前記取得工程により取得した画像
を用いて当該物品の種別を識別する処理を行うことを特徴とする情報処理装置の制御方法。
【請求項14】
コンピュータに、請求項13に記載の情報処理装置の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、商品棚から出し入れされる商品を識別するための情報処理装置、システム、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
従来、無人店舗などで棚の上部に設置されたカメラにより顧客が手に取った商品の画像を撮像し、AI技術を用いた商品認識技術により撮像画像から商品を認識し、最終的に決済まで行う技術がある。
【0003】
特許文献1には、商品画像を取得し、取得した商品画像に対して光を反射する箇所を合成することによって新たな画像を複数生成し、これらを学習データとして用いて機械学習を行うことにより、商品認識の精度を向上させる技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来のAI技術を用いた商品認識技術は、Deep Learning Classificationの技術を用いたものであり、撮像画像から商品を認識し辛い場合であっても、いずれかの商品を割り当ててしまう。例えば、撮像環境の悪い(照明が暗い、撮像画素が低い)店舗の場合、撮像画像から、顧客が商品を手に取ったのか、顧客の服が写っただけなのかが分からず、商品を手に取っていないにもかかわらず、いずれかの商品が割り当てられて誤認識となってしまう可能性があった。撮像環境の悪い店舗などでは、このような誤認識が繰り返されてしまう可能性があった。
【0006】
特許文献1の技術でも、照明条件の異なる店舗毎にそれぞれの商品を撮像する必要があり、一商品に付き大量(数万枚)の画像が必要となり、これら大量の画像を予め用意しなければならなかった。さらに、これら大量の画像を用いて再学習させなければならないが、再学習には長い時間が必要となる。そして、新たな商品の追加や削除のたびに、このような大変な作業を行わなければならなかった。
【0007】
本発明は、上記の課題を解決するためになされたものである。本発明は、撮像された画像から物品の種別をAI技術で認識する際に誤認識を減らすことができる仕組みを提供することを目的とするものである。
【課題を解決するための手段】
【0008】
本発明は、物品に係る複数の画像であるサンプル画像群を記憶する記憶手段と、撮像手段により撮像された画像に係る物品について、前記記憶手段に記憶されたサンプル画像群を用いて種別の識別処理を行う識別手段と、他の装置により撮像された画像に係る物品の種別を識別できなかったため再撮像された画像を取得する取得手段と、を備え、前記識別手段は、前記サンプル画像群を用いた識別処理により前記物品の種別を識別できなかった場合、前記取得手段により取得した画像を用いて当該物品の種別を識別する処理を行うことを特徴とする。
【発明の効果】
【0009】
本発明によれば、撮像された画像から物品の種別をAI技術で認識する際に誤認識を減らすことができる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態に係る情報処理装置を適用可能なシステムを説明する図。
【
図2】本実施形態に係る情報処理装置を適用可能なシステムを説明する図。
【
図3】本実施形態に係る深層距離学習の技術を用いた商品識別を説明する図。
【
図4】PC、管理サーバを構成する情報処理装置のハードウェア構成図。
【
図6】撮像条件の影響で商品の認識率が悪い場合の対応について説明する図。
【
図7】購入商品表示部による類推結果の提示及び訂正による性能改善の方法について説明する図。
【
図8】本実施形態におけるPCの全体処理の一例を示すフローチャート。
【
図11】商品種別判定処理の一例を示すフローチャート。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の実施形態について説明する。
〔第1実施形態〕
図1、
図2は、本発明の一実施形態に係る情報処理装置を適用可能なシステムの概略構成の一例を示す図である。
【0012】
店舗システム105は、例えば無人店舗に設けられるシステムである。店舗システム105は、顧客が商品棚(ショーケース)103から取り出した商品(物品)の識別を行う。
図2に示すように、店舗システム105は、例えば商品棚ごとに設けられる。また、複数の商品棚に対して1つの店舗システム105が設けられていてもよい。
【0013】
店舗システム105では、カメラ101と、カメラ101で撮像した画像を処理する情報処理装置(以下「PC」)100が所定のインタフェース(例えばUSBインタフェース)を介して通信可能に接続されている。また、PC100と、PC100での処理結果を顧客に通知可能なディスプレイ102が所定のインタフェースを介して接続されている。なお、カメラ101とディスプレイ102は一体であってもよい。また、PC100には、複数のカメラ101とディスプレイ102が接続されていてもよい。なお、カメラ101とディスプレイ102は同数でなくてもよい。
【0014】
商品棚103には、商品104が陳列される。カメラ101は、商品棚103の取り出し口から取り出されている商品104を撮像可能に設置されている。例えば、カメラ101は商品棚103の取り出し口を上から下へ向かって撮像可能な位置に設置される。ここでは、カメラ101が商品棚103の取り出し口を上から下へ向かって撮像する例で記載しているが、商品棚103の取り出されている商品を識別可能に撮像可能であれば、いずれの方向から商品棚103の取り出し口を撮像してもよい。例えば、カメラ101は、取り出し口を横から撮像してもよいし、斜め上等から撮像してもよい。本実施形態では、取り出し口を上から下へ向かって撮像する例で説明する。カメラ101は、例えば三次元カメラとする。
【0015】
PC100は、カメラ101で撮像された画像から商品を識別し、決済等の処理を行う。PC100は、深層距離学習(ディープメトリックラーニング(Deep Metric Learning))の技術を用いて、商品棚103の商品取出し口のような所定の領域から出し入れされる商品の種別を識別する。PC100は、例えば一般的なパーソナルコンピュータで実現可能である。
【0016】
ここで、
図3を用いて、本実施形態に係る深層距離学習の技術を用いた商品識別方法について説明する。
図3は、本実施形態に係る深層距離学習の技術を用いた商品識別を説明する図である。
本実施形態の深層距離学習を用いた商品識別では、
図3のように、類似度の高い画像同士は近づき且つ類似度の低い画像同士は離れるように画像を空間(「特徴量空間」等と呼ばれる)にマッピングするように、予め学習された学習済みモデルを用いる。また、商品の種別ごとに複数のサンプル画像(例えば一商品ごとに数枚~数十枚のサンプル画像)を用意し記憶しておく。
【0017】
そして、上述の学習済みモデルを用い、カメラ101による撮像画像と上述の各サンプル画像からそれぞれ抽出される特徴量から上述の空間にマッピングされる特徴量ベクトルをそれぞれ求める。さらに、該特徴量ベクトルを用いて、カメラ101による撮像画像と上述の各サンプル画像との上述の空間における距離を求め、前記撮像画像との距離が最小となるサンプル画像に対応する商品の種別を、前記撮像画像に対応する商品の種別として識別する。ただし、撮像画像と撮像画像に一番近い(距離が最小の)サンプル画像との距離が一定閾値より大きい場合には、撮像画像はいずれの商品でもない(商品の種別を識別できない)と判断する。このため、撮像画像に未登録の商品や商品以外の物体(例えば、顧客の服など)が写り込んだ場合、いずれのサンプル画像の特徴量ベクトルとも一定閾値より大きな距離となり、「いずれの商品でもない」と判断できる。
【0018】
このような深層距離学習の技術を用いることにより、例えば一商品ごとに数枚~数十枚といった少量のサンプル画像を用意するだけで精度の高い認識が可能となる。また、学習済みモデルの再学習なく認証性を改善することができる。さらに、学習済みモデルを店舗ごとに作成する必要がなく、全店舗で1の学習済みモデルに統合することができる。
【0019】
なお、商品のサンプル画像は、例えば代表店舗で商品を撮像して作成することが可能である。例えば、一商品ごとに数枚~数十枚のサンプル画像を用意しておく。
図2に示したように、サンプル画像は、管理サーバ107に記憶しておく。各店舗システム105のPC100は、インターネット等のネットワーク106を介して、管理サーバ107からサンプル画像を受信して記憶しておく。
【0020】
なお、
図1では、管理サーバ107を店舗システム105のPC100と別筐体で説明しているが、それぞれを1つの筐体としてもよい。即ちいずれかの店舗(例えば代表店舗)の店舗システム105のPC100内に管理サーバ107の機能を備えていてもよい。
【0021】
PC100は、
図1のように1台のカメラ101から情報を取得して商品認識するものでもよいし、
図2のように複数台のカメラ101に接続され、複数のカメラ101の情報をそれぞれ収集してそれぞれ商品認識を行う構成でもよい。
なお、管理サーバ107は、1台のコンピュータにより実現されるものであっても、複数のコンピュータにより実現されるものであってもよい。例えば、管理サーバ107は、クラウドサービス等を利用して実現される構成であってもよい。
【0022】
次に
図4を用いて、PC100、管理サーバ107のハードウェア構成について説明する。
図4は、PC100、管理サーバ107を構成する1又は複数の情報処理装置のハードウェアの構成の一例を示す図である。
【0023】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下「OS」)や、商品認識等の機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現する。
【0024】
また、入力コントローラ205は、入力部209としてのキーボードや不図示のマウス、タッチパネル等のポインティングデバイスからの入力を制御する。ビデオコントローラ206は、表示部210としてのLCDディスプレイ等の表示器への表示を制御する。
【0025】
メモリコントローラ207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やソリッドステートドライブ(SSD)等の外部メモリ211へのアクセスを制御する。
【0026】
通信I/Fコントローラ208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
外部I/Fコントローラ212は、カメラ101やディスプレイ102と所定のインタフェース(例えばUSBインタフェース)を介して接続されている。
【0027】
本発明を実現するためのプログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係るプログラムが用いる定義ファイル及び各種情報テーブルは、外部メモリ211に格納されており、これらについての詳細な説明は後述する。
【0028】
次に
図5~
図7を用いて、本実施形態に係るシステムの機能構成について説明する。
図5は、本実施形態に係るシステムの機能構成の一例を示す図である。なお、
図5に示すPC100の機能は、PC100のCPU201が外部メモリ211に格納されたプログラムを必要に応じてRAM203にロードして実行することにより実現される。また、管理サーバ107の機能は、管理サーバ107を構成する1又は複数の情報処理装置のCPU201が外部メモリ211に格納されたプログラムを必要に応じてRAM203にロードして実行することにより実現される。
【0029】
通常店舗に設置されるPC100(以下「通常店舗PC」)は、画像撮像部1001、商品類推部1002、ユーザ認証部1003、取出し判定部1004、購入商品表示部1005、画像受信部1006、サンプル画像記憶部1007を備える。
【0030】
画像撮像部1001は、カメラ101により商品画像を撮像する。商品類推部1002は、
図3に示した深層距離学習の技術により、サンプル画像記憶部1007に記憶されるサンプル画像を用い、画像撮像部1001により撮像された画像に対する商品類推(商品の識別処理)を行う。
ユーザ認証部1003は、顧客のユーザ認証を行う。取出し判定部1004は、商品を商品棚から取り出したか、商品棚に戻したかを判定する。
【0031】
購入商品表示部1005は、後述する会計処理の際に、商品類推部1002により類推された商品を、後述する
図7(a)のようにディスプレイ102に表示し、顧客に確認、訂正を促す。画像受信部1006は、管理サーバ107からサンプル画像を受信する。サンプル画像記憶部1007は、画像受信部1006が受信したサンプル画像を、外部メモリ211に記憶・管理する。
【0032】
代表店舗に設置されるPC100(以下「代表店舗PC」)は、画像撮像部1001、商品類推部1002、ユーザ認証部1003、取出し判定部1004、購入商品表示部1005、サンプル画像記憶部1007、画像再撮像部1008、商品候補入力受付部1009、画像送信部1010を備える。通常店舗PCと同一の構成には同一の符号を付してある。
【0033】
画像再撮像部1008は、商品類推部1002で「いずれの商品でもない」と判断された商品、又は、購入商品表示部1005で顧客から訂正された商品の画像を、カメラ101により再撮像する。
商品候補入力受付部1009は、本システムに登録したい商品の入力を受け付けるためのものであり、商品のサンプル画像をカメラ101により撮像し、商品情報の入力を受け付ける。
【0034】
画像送信部1010は、画像再撮像部1008により再撮像された画像、又は、商品候補入力受付部1009により撮像されたサンプル画像を、管理サーバ107に送信する。
なお、代表店舗PCのサンプル画像記憶部1007は、商品候補入力受付部1009により撮像されたサンプル画像を記憶・管理する。
【0035】
管理サーバ107は、画像受信部1071、画像記憶部1072、画像送信部1073を有する。画像受信部1071は、代表店舗PCから送信される再撮像画像やサンプル画像を受信する。画像記憶部1072は、画像受信部1071が受信したサンプル画像等を外部メモリに記憶・管理する。画像送信部1073は、画像記憶部1072に記憶されているサンプル画像を、通常店舗PCに送信する。
【0036】
なお、
図5の例では、代表店舗PCと通常店舗PCを異なる構成にしているが、同一の構成としてもよい。即ち、代表店舗PCと通常店舗PCは、画像撮像部1001、商品類推部1002、ユーザ認証部1003、取出し判定部1004、購入商品表示部1005、画像受信部1006、サンプル画像記憶部1007、画像再撮像部1008、商品候補入力受付部1009、画像送信部1010を備えるようにしてもよい。
【0037】
図6は、撮像条件の影響で商品の認識率が悪い場合の対応について説明する図である。
撮像条件の影響(例えば照明が暗い等)で商品の認識率が悪い店舗では、その店舗でサンプル画像を再撮像し、管理サーバ107に送信することにより、照明条件の影響で商品の認識率が悪い店舗で有効なサンプル画像を、管理サーバ107に追加できる。このサンプル画像を、同様の照明条件で商品の認識率が悪い店舗のPC100で受信して使用することで、この店舗でも商品の認識率を向上させることが可能となる。
【0038】
図7は、購入商品表示部1005による類推結果の提示及び訂正による性能改善の方法について説明する図である。
例えば、顧客が、PC100の表示部210に表示される「会計」ボタンを、入力部209としてのタッチパネルからタッチすることで、会計処理に移行する。会計処理の際に、PC100の購入商品表示部1005は、商品類推部1002の類推結果を、
図7(a)のようにPC100の表示部210に表示し、顧客に確認、訂正を促す。
【0039】
ここで確定ボタン701が指示された場合、商品類推部1002の類推(認識)結果が正しいことが顧客により確認される。一方、訂正ボタン702が指示された場合、誤認識されたものとし、顧客がユーザ操作により手動で正しい商品に訂正する。
【0040】
商品類推部1002の類推結果が誤っていた場合(誤認識の場合)、
図7(b)のように、誤認識の際に用いられた撮像画像がPC100から管理サーバ107にアップロードされる。このようにアップロードされた画像は人手により確認され、その中から、本来であれば商品として認識されるべき画像のみが抽出される(クレンジング作業)。このクレンジング作業により抽出された画像は、管理サーバ107の画像記憶部1072にサンプル画像として追加される。このように更新されたサンプル画像は、各店舗のPC100にダウンロードされ、商品類推部1002にて類推に使用される。これにより、上述のように追加されたサンプル画像と同様の画像については、以前は誤認識されていたような画像でも、正しく商品認識できるようになる。このように、運用ベースでサンプル画像を収集して、商品認識性能を徐々に改善することができる。なお、本実施形態では、誤認識等を起こしたパターンの画像のみを集積するので、クレンジング作業を効率化することもできる。
【0041】
図8は、本実施形態におけるPC100の全体処理の一例を示すフローチャートである。
図8、後述する
図9、
図11及び
図13に示すフローチャートの処理は、PC100のCPU201が外部メモリ211に格納されたプログラムを必要に応じてRAM203にロードして実行することにより実現される。
【0042】
まずS101において、CPU201は、カメラ101により撮像される画像の取り込みを開始し、S102に処理を進める。
S102におおいて、CPU201は、ユーザ認証部1003により顧客のユーザ認証を行う。ユーザ認証の方法については特に限定しない。ユーザ認証に成功した場合、CPU201は、S103に処理を進める。
S103において、CPU201は、商品認識モードに推移する。商品認識モードに推移すると、カメラ101により撮像される画像の画像処理の範囲を商品取り出し口に設定できるため、取出し判定部1004や商品類推部1002の画像処理のスピードをより早めることができる。
【0043】
商品認識モードに推移すると、まずS104において、CPU201は、商品認識処理を実行する(詳細は後述する)。
次にS105において、CPU201は、取出し判定部1004により、商品を商品棚103から取り出したか、商品棚103に戻したかを判定する取出し判定処理を行う。
【0044】
次にS106において、CPU201は、買い物完了か否かを判断する。上述したように顧客により、PC100の表示部210に表示される不図示の「会計」ボタンが指示された場合には買い物完了と判断し、「会計」ボタンの指示がない場合には買い物が継続されている(買い物完了でない)と判断する。買い物完了でない場合(S106でNoの場合)、CPU201は、S104に処理を戻す。
【0045】
一方、買い物完了の場合(S106でYesの場合)、CPU201は、S107に処理を進める。
S107において、CPU201は、会計処理を行う(詳細は後述する)。会計処理の後、CPU201は、本フローチャートの処理を終了する。
【0046】
以下、
図9、
図10を用いて
図8のS104に示した商品認識処理について説明する。
図9は、
図8のS104に示した商品認識処理の一例を示すフローチャートである。
図10は、商品の再撮像指示について説明する図である。
【0047】
S201において、CPU201は、カメラ101により撮像される画像を画像撮像部1001で取得、監視し、例えば顧客が商品を手に取ったり商品をカメラ101にかざしたタイミングで、商品画像を取得し(商品撮像)、S202に処理を進める。
【0048】
S202において、CPU201は、上記S201で撮像された商品画像に対して商品種別判定処理を行う(詳細は後述する)。
次にS203において、CPU201は、上記S202の商品種別判定処理で登録商品と判定されたか否かを確認する。そして、登録商品と判定された場合(S203でYesの場合)、CPU201は、本フローチャートの処理を終了する。
一方、登録商品と判定されなかった場合(S203でNoの場合)、CPU201は、S204に処理を進める。
【0049】
S204において、CPU201は、
図10(a)に示すような商品棚103に併設されたディスプレイ102に、
図10(b)に示すような画面を出力し、顧客に、商品を認識できなかったことを通知するとともに、さらにカメラ101に商品をかざすように指示する。さらに、CPU201は、画像撮像部1001によりカメラ101により撮像される画像を監視し、商品がカメラ101にかざされたタイミングで、再度商品画像を取得し(再度商品撮像)、S205に処理を進める。
【0050】
S205において、CPU201は、上記S204で再度撮像された商品画像に対して商品種別判定処理を行い、S206に処理を進める。
S206において、CPU201は、商品種別判定で登録商品と判定されなかった撮像画像を管理サーバ107にアップロードする。すなわち、上記S201で撮像した画像、及び、上記S205の商品種別判定でも判定に失敗した場合は、上記S204で撮像した画像も、アップロードすることになる。
上記S206の処理の後、CPU201は、本フローチャートの処理を終了する。
【0051】
本実施形態では、商品種別判定ができなかった場合、商品棚103に併設されたディスプレイ102に、
図10(b)のような画面を表示し、顧客に、商品を認識できなかったこと、商品をカメラ101にかざす指示等を顧客に通知する構成について説明した。しかし、ディスプレイ102を設けない構成でもよい。この場合、例えば、商品棚103に併設して警告ランプを設け、PC100は、商品種別判定ができなかった場合、警告ランプを点灯するようにしてもよい。また、例えばスピーカーを設け、PC100が「商品を認識できませんでした。上方のカメラに商品をかざしてください」等の音声メッセージをスピーカーから出力(音声出力)するようにしてもよい。また、例えば、PC100がビープ音等の警告音を鳴らすようにしてもよい。この場合、「ビープ音が鳴ったら商品をカメラに向けてください」等の注意書きを店舗内に貼っておくなどすることで、同様の効果を得ることができる。
【0052】
以下、
図11、
図12を用いて
図9のS202及びS205の商品種別判定処理について説明する。
図11は、
図9のS202及びS205の商品種別判定処理の一例を示すフローチャートである。
図12は、商品種別判定処理について説明する図である。
【0053】
S301において、CPU201は、商品類推部1002により、撮像画像とサンプル画像の特徴量ベクトル距離を算出する。
次にS302において、CPU201は、上記S301で算出した特徴量ベクトル距離が閾値以内(閾値以下)のサンプル画像が存在するか否かを判定する。そして、特徴量ベクトル距離が閾値以内のサンプル画像がある場合(S301でYesの場合)、CPU201は、S303に処理を進める。
【0054】
S303において、CPU201は、特徴量ベクトル距離が閾値以内のサンプル画像に対応する商品種別をRAM203に記録し、S304に処理を進める。
S304において、CPU201は、上記S303で記録した商品種別の商品を顧客が手に取ったと判定し、本フローチャートの処理を終了する。
【0055】
また、上記S302において、特徴量ベクトル距離が閾値以内のサンプル画像がなかった場合(S302でNoの場合)、CPU201は、S305に処理を進める。
S305において、CPU201は、画像受信部1006により、管理サーバ107から全商品のサンプル画像を取得し、サンプル画像記憶部1007に格納する。
【0056】
例えば、
図12に示すように、撮像画像が、現在のサンプル画像と明るさの差が大きく、特徴量ベクトル距離が閾値より大きくなってしまう場合がある。このような場合、
図6で示したように、管理サーバ107から、例えば同様の撮像条件の店舗で撮像された画像で更新されたサンプル画像を取得して、これに置き換えることにより、撮像画像が置き換え後のサンプル画像と特徴量ベクトル距離を閾値より小さくなるようにできる可能性がある。この結果、顧客が手に取った商品の種別を特定できる可能性がある。
【0057】
次にS306において、CPU201は、商品類推部1002により、撮像画像とサンプル画像の特徴量ベクトル距離を算出する。
次にS307において、CPU201は、上記S306で算出した特徴量ベクトル距離が閾値以内のサンプル画像があるか否かを判定する。特徴量ベクトル距離が閾値以内のサンプル画像がある場合(S307でYesの場合)、CPU201は、S303に処理を進める。
【0058】
一方、上記S307において、特徴量ベクトル距離が閾値以内のサンプル画像がなかった場合(S307でNoの場合)、CPU201は、S308に処理を進める。
S308において、CPU201は、未登録商品を顧客が手に取ったと判定し、本フローチャートの処理を終了する。
【0059】
以下、
図13を用いて
図8のS107に示した会計処理について説明する。
図13は、
図8のS107に示した会計処理の一例を示すフローチャートである。
【0060】
まずS401において、CPU201は、購入商品表示部1005により、例えば
図7(a)のように、購入商品を表示部210に表示する。
次にS402において、CPU201は、上記S401で表示された商品と実際の商品が相違ないか否かを判断する。顧客により確定ボタン701(
図7(a))が指示された場合、CPU201は、表示された商品と実際の商品が相違ないと判断し(S402でYesと判断し)、S407に処理を進める。
【0061】
一方、顧客により訂正ボタン702(
図7(a))が指示された場合、CPU201は、表示された商品と実際の商品が相違すると判断し(S402でNoと判断し)、S403に処理を進める。
【0062】
S403において、CPU201は、顧客が画面から誤認識の商品を選択可能にし、誤認識の商品が選択されると、S404に処理を進める。
S404において、CPU201は、上記S403で誤認識として選択された撮像画像から特徴量ベクトルの距離が近い順に商品を候補として表示する。
【0063】
次にS405において、CPU201は、上記S404で表示された候補を選択可能にし、いずれかの候補が選択されると、購入商品を変更し、S406に処理を進める。
S406において、CPU201は、上記S403で誤認識として選択された商品の識別の際に用いた撮像画像を、管理サーバ107にアップロードし、S407に処理を進める。
【0064】
S407において、CPU201は、顧客が購入した商品に基づき商品決済処理を行い、本フローチャートの処理を終了する。
【0065】
なお、認識できなかった場合や誤認識の場合に撮像画像を送信する送信先は、管理サーバ107に限定されるものではない。例えば、撮像画像を他の送信先に送信し、これらの撮像画像の中からクレンジングにより抽出された画像が、サンプル画像として管理サーバ107の画像記憶部1072に記憶される構成であればよい。
【0066】
以上のように本実施形態によれば、撮像された画像から商品の種別をAI技術で認識する際に誤認識を減らすことができる。
また、例えば一商品ごとに数枚~数十枚といった少量のサンプル画像を用意するだけで精度の高い認識が可能となる。
さらに、認識できなかった又は誤認識を起こしたパターンの画像のみを集積し、クレンジング作業を効率化することができる。
また、学習済みモデルの再学習なく認証性を改善することができる。
【0067】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
【0068】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0069】
100 情報処理装置(PC)
101 カメラ
102 ディスプレイ
103 商品棚
104 商品
105 店舗システム
106 ネットワーク
107 管理サーバ