(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176763
(43)【公開日】2024-12-19
(54)【発明の名称】商品画像記憶装置およびプログラム
(51)【国際特許分類】
G07G 1/00 20060101AFI20241212BHJP
G07G 1/12 20060101ALI20241212BHJP
G06Q 30/06 20230101ALI20241212BHJP
【FI】
G07G1/00 311D
G07G1/12 321Z
G06Q30/06
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023095548
(22)【出願日】2023-06-09
(71)【出願人】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】竹野 唯志
(72)【発明者】
【氏名】内藤 英浩
【テーマコード(参考)】
3E142
5L030
5L049
【Fターム(参考)】
3E142AA01
3E142CA12
3E142EA02
3E142FA50
3E142GA02
3E142GA35
3E142GA41
5L030BB56
5L030BB72
5L049BB56
5L049BB72
(57)【要約】
【課題】商品のパッケージが変更された場合に、変更された商品の商品画像を変更前の商品画像と容易に区別してグループ化することが可能な撮像装置およびプログラムを提供することである。
【解決手段】インタフェースと、インタフェースから入力された、撮像部で撮像された商品の商品画像および商品画像の商品を特定する商品特定情報に基づいて、同一の商品特定情報に係る商品画像を一または複数のグループに分類したグループ情報を、商品特定情報に関連付けして記憶する記憶部と、プロセッサと、を有し、プロセッサは、インタフェースから入力された商品特定情報に基づいて、当該商品特定情報とともに入力された商品画像と、記憶部に前記グループ別に記憶されている当該商品特定情報に関連付けられた商品画像と、の類似度をグループ毎に算出し、算出された類似度に応じて決定されたグループに入力された商品画像を記憶する。
【選択図】
図10
【特許請求の範囲】
【請求項1】
インタフェースと、
前記インタフェースから入力された、撮像部で撮像された商品の商品画像および前記商品画像の商品を特定する商品特定情報に基づいて、同一の前記商品特定情報に係る前記商品画像を一または複数のグループに分類したグループ情報を、前記商品特定情報に関連付けして記憶する記憶部と、
プロセッサと、
を有し、
前記プロセッサは、
前記インタフェースから入力された前記商品特定情報に基づいて、当該商品特定情報とともに入力された前記商品画像と、前記記憶部に前記グループ別に記憶されている当該商品特定情報に関連付けられた商品画像と、の類似度をグループ毎に算出し、
算出された類似度に応じて決定されたグループに前記入力された商品画像を記憶する、
ことを特徴とする商品画像記憶装置。
【請求項2】
前記プロセッサは、
前記類似度が所定値以上である場合には、前記インタフェースから入力された前記商品画像を当該グループに追加して記憶し、
前記類似度が所定値未満である場合には、前記インタフェースから入力された前記商品画像を前記商品特定情報に係る新たなグループとして記憶する、
ことを特徴とする請求項1に記載の商品画像記憶装置。
【請求項3】
前記プロセッサは、
前記インタフェースから入力された前記商品特定情報が前記記憶部に記憶されていない場合には、前記商品画像を前記インタフェースから入力された前記商品特定情報に係る新たなグループとして前記記憶部に記憶する、
ことを特徴とする請求項1に記載の商品画像記憶装置。
【請求項4】
前記記憶部は、遡って所定期間内に前記商品画像が記憶されたことを示す実績情報を前記グループ毎に記憶し、
前記プロセッサは、
前記商品画像が記憶されたグループについて前記実績情報を新たに記憶する、
ことを特徴とする請求項1に記載の商品画像記憶装置。
【請求項5】
前記実績情報は、前記商品画像が予め決められた時刻から遡って所定期間内に記憶された時刻を示す時刻情報であり、
前記プロセッサは、
前記商品画像が記憶されたグループについて記憶された時刻に係る時刻情報を上書きして記憶する、
ことを特徴とする請求項4に記載の商品画像記憶装置。
【請求項6】
前記プロセッサは、
前記実績情報に基づいて前記所定期間内のグループを選択し、選択したグループに記憶されている前記商品画像に基づいて機械学習モデルのトレーニングを行う、
ことを特徴とする請求項4または5に記載の商品画像記憶装置。
【請求項7】
前記プロセッサは、
前記選択されたグループ毎に、当該グループに記憶されている商品画像に基づいて当該商品と撮影時のカメラとの位置・向きを推定し、推定結果に応じて前記商品画像を選別し、選別した商品画像を用いて機械学習モデルをトレーニングする、
ことを特徴とする請求項6に記載の商品画像記憶装置。
【請求項8】
前記プロセッサは、
前記選択されたグループ毎に、当該グループに記憶されている商品画像に基づいて当該商品に係る3D画像を生成し、
生成した3D画像を用いて機械学習モデルをトレーニングする、
ことを特徴とする請求項6に記載の商品画像記憶装置。
【請求項9】
インタフェースと、前記インタフェースから入力された、撮像部で撮像された商品の商品画像および前記商品画像の商品を特定する商品特定情報に基づいて、同一の前記商品特定情報に係る前記商品画像を一または複数のグループに分類したグループ情報を、前記商品特定情報に関連付けして記憶する記憶部と、プロセッサと、を有する商品画像記憶装置としてのコンピュータを、
前記インタフェースから入力された前記商品特定情報に基づいて、当該商品特定情報とともに入力された前記商品画像と、前記記憶部に前記グループ別に記憶されている当該商品特定情報に関連付けられた商品画像と、の類似度をグループ毎に算出し、
算出された類似度に応じて決定されたグループに前記入力された商品画像を記憶する、
ように機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、商品画像記憶装置およびプログラムに関する。
【背景技術】
【0002】
ショッピングセンター、量販店、百貨店等の店舗において、店舗で販売する商品の商品登録処理および決済処理を行うPOSシステムが存在する。このようなPOSシステムには、最近は、撮像装置が撮像した商品の画像をパッケージ認識して商品を判断しているものがある。
【0003】
ところで、同一の商品であっても、例えば季節等によって商品のパッケージのデザインが変更(以降、パッケージの変更という)されることがある。このような場合、パッケージ認識において、パッケージが変更された商品が変更前の商品と同じ商品であることを認識させるために、事前にパッケージが変更された商品の画像に基づいて機械学習モデルのトレーニングを行う必要があった。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、商品のパッケージが変更された場合に、同一商品であっても変更された商品の商品画像を変更前の商品画像と別のグループにグループ分けすることが可能な撮像装置およびプログラムを提供することである。
【課題を解決するための手段】
【0005】
実施形態の商品画像記憶装置は、インタフェースと、前記インタフェースから入力された、撮像部で撮像された商品の商品画像および前記商品画像の商品を特定する商品特定情報に基づいて、同一の前記商品特定情報に係る前記商品画像を一または複数のグループに分類したグループ情報を、前記商品特定情報に関連付けして記憶する記憶部と、プロセッサと、を有し、前記プロセッサは、前記インタフェースから入力された前記商品特定情報に基づいて、当該商品特定情報とともに入力された前記商品画像と、前記記憶部に前記グループ別に記憶されている当該商品特定情報に関連付けられた商品画像と、の類似度をグループ毎に算出し、算出された類似度に応じて決定されたグループに前記入力された商品画像を記憶する。
【図面の簡単な説明】
【0006】
【
図1】
図1は、実施形態に係るシステムを示す図である。
【
図2】
図2は、POS端末および撮像装置の外観を示す斜視図である。
【
図3】
図3は、撮像装置のハードウェア構成を示すブロック図である。
【
図4】
図4は、商品画像記憶装置のハードウェア構成を示すブロック図である。
【
図5】
図5は、スキャン画像を抽出する一例を示す図である。
【
図6】
図6は、撮像画像に基づいて商品画像をグループ分けする工程を示す説明図である。
【
図7】
図7は、グループ情報部の構成を示すメモリマップである。
【
図8】
図8は、撮像装置の制御処理の流れを示すフローチャートである。
【
図9】
図9は、商品画像記憶装置の機能構成を示す機能ブロック図である。
【
図10】
図10は、商品画像記憶装置による商品画像のグループ分けに係る制御処理の流れを示すフローチャートである。
【
図11】
図11は、商品画像記憶装置による機械学習モデルのトレーニングに係る制御処理の流れを示すフローチャートである。
【
図12】
図12は、商品画像記憶装置による画像選別手法を用いた機械学習モデルのトレーニングに係る制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0007】
以下、本発明の実施形態について図面を参照して説明する。なお、以下の実施形態では、商品画像記憶装置は店舗に設置された、店舗の売上情報を管理する店舗サーバを兼ねたサーバとして説明するが、商品画像記憶装置は、複数の店舗を運営する企業の本部等に設置された本部サーバ、あるいはクラウド上に設置されたクラウドサーバであってもよい。また、以下に説明する実施形態によりこの発明が限定されるものではない。
【0008】
図1は、実施形態にかかるシステムを示す図である。
図1において、システム10は、スーパーマーケット、量販店、コンビニエンスストア、専門店等の店舗Tに設置されている。システム10は、店舗T内に設置されたシステムであり、1台または複数台のPOS(Point of Sales)端末1(商品販売データ処理装置)、各POS端末1に例えば接続された撮像装置3、エッジデバイス5、商品画像記憶装置7を備える。各POS端末1とエッジデバイス5と商品画像記憶装置7は、それぞれ相互に通信が可能な通信回線L(例えばLAN(Local Area Network))で接続されている。また撮像装置3は、それぞれのPOS端末1に一台ずつ接続され、例えばPOS端末1と例えばUSB(Universal Serial Bus)ケーブルUで接続されている。また各撮像装置3は、エッジデバイス5およびと商品画像記憶装置7と通信回線Lで接続されている。
【0009】
なお、実施形態では、エッジデバイス5は商品画像記憶装置7とは別の装置として説明するが、商品画像記憶装置7がエッジデバイス5の機能を兼ねた装置であるとしてもよい。この場合、エッジデバイス5はシステム10の構成から削除される。
【0010】
システム10は、店舗Tにおいて販売される商品の商品登録処理、決済処理、売上管理を行う。システム10は、パッケージ認識技術を用いて商品登録処理を実行する。
【0011】
パッケージ認識とは、商品に付されたバーコードや二次元コード等のシンボルを撮像して解析することで当該商品を特定する技術(以降「コード認識」という)と、撮像した商品の画像に基づいて、商品の質感や形状やパッケージ(デザイン等)等の商品の外観的特徴を示す特徴量に基づいて商品を認識する公知の一般物体認識技術と、を併用して、商品を認識(一つの商品を特定したり、複数の候補商品を抽出したりする)する技術である。パッケージ認識は、エッジデバイス5または/および商品画像記憶装置7が行う処理である。
【0012】
一般物体認識については、例えば、「 柳井 啓司,“一般物体認識の現状と今後”,情報処理学会論文誌,Vol.48,No.SIG16[平成22年8月10日検索],インターネット< URL: http://mm.cs.uec.ac.jp/IPSJ-TCVIM-Yanai.pdf >」に記載されている。
【0013】
コード認識は、商品に付されたシンボルを撮像した場合、当該シンボルをデコード解析したバーコード情報を得る。バーコード情報には、シンボルが貼付された商品を特定する商品特定情報が含まれる。商品特定情報は、例えば商品を示す商品コードであるが、商品を特定する情報であれば商品コードでなくてもよい。コード認識は、撮像装置3が行う処理である。
【0014】
撮像装置3は、第1撮像部37と第2撮像部38(いずれも
図2、
図3を参照)によって撮像された画像に基づいてコード認識を実行し、バーコード情報を生成する。そして撮像装置3は、第1撮像部37と第2撮像部38が撮像した撮像画像に係る画像情報と、生成したバーコード情報とを、商品画像記憶装置7に出力する。
【0015】
エッジデバイス5は、実施形態では本体42(
図2を参照)の内部に格納されている。エッジデバイス5は、撮像装置3から入力された画像情報に基づいて一般物体認識を実行する。そして、エッジデバイス5は、特定された一つの商品の商品特定情報、または複数の候補商品の商品特定情報を、撮像装置3に出力する。
【0016】
撮像装置3は、生成したバーコード情報に含まれる商品特定情報またはエッジデバイス5から入力された商品特定情報のいずれかをPOS端末1に送信する。具体的には、撮像装置3は、コード認識に基づいてバーコード情報が生成できた場合には、当該バーコード情報に含まれる商品特定情報またはエッジデバイス5から入力された特定された商品の商品特定情報のいずれかをPOS端末1に送信する。また撮像装置3は、バーコード情報が生成できなかった場合には、エッジデバイス5から入力された商品の商品特定情報をPOS端末1に送信する。
【0017】
商品画像記憶装置7は、撮像装置3から入力された撮像画像のうち商品が撮像されている商品画像および商品特定情報に基づいて、商品特定情報別(すなわち商品別に)に商品画像をグループ化して記憶する。具体的には、商品画像記憶装置7は、同一の商品特定情報であって特徴量が類似している商品画像別にグループを作成し、商品画像をグルーピングする。しかしながら、同一の商品であっても季節等によってパッケージが変更されることがある。このような商品は同一の商品特定情報が付されるが、パッケージによって商品画像から抽出される特徴量が異なる。このような場合、商品画像記憶装置7は、同一の商品特定情報であっても、変更前のパッケージの商品と変更後のパッケージの商品とを、特徴量別に異なるグループにグループ分けをする。このようにすることで、同一のパッケージの商品画像を同一のグループとし、異なるパッケージの商品画像を別のグループとする。なお、同じパッケージであっても当該商品を撮像する条件(照明の輝度や商品の周りの映像等)によって特徴量が変わる(低くなる)こともあり得る。そのため、パッケージが変更されていない商品を異なるグループにグループ分けすることもあり得る。
【0018】
また、実施形態の商品画像記憶装置7は、各グループに関連付けて時刻情報を記憶する。この時刻情報は、理屈上は当該グループに直近に商品画像が記憶された時刻であるが、実際は、撮像装置3において当該商品画像が撮像された時刻(顧客によって商品登録操作が行われた時刻)、あるいは撮像されたシンボルに基づいてバーコード情報が生成された時刻のいずれかであってもよい。時刻情報は、撮像装置3において撮像された商品画像がグループ分けされる度に、当該商品画像が記憶されたグループに新たな時刻情報が記憶される(時刻情報が更新される)。
【0019】
この時刻情報は、特定の時刻を示す情報であればよいが、それほど厳密な時刻情報でなくてもよく、例えば特定の日にちを示す情報等の、時期を示す情報であってもよい。
【0020】
また、時刻情報に基づいて、予め決められた時刻(例えば現在時刻(現在の日にちであってもよい))から遡って所定期間内に商品画像がグループに記憶されたかを確認できるため、時刻情報は、現在から遡って所定期間内に前記商品画像が記憶されたことを示す実績情報の一例である。実績情報は、現在時刻から遡って所定期間内に商品画像が記憶されたかを確認できる情報であるため、所定期間(例えば前回のトレーニング(トレーニングについては後述)から現在時刻までの期間)内に商品画像が記憶されたことを示す情報(例えばフラグ情報)であってもよく、フラグ情報等を、所定期間内に商品画像が記憶されたグループに関連付けて付すようにしてもよい。このように、所定期間内に商品画像が記憶されたことを示す情報も、現在から遡って所定期間内に前記商品画像が記憶されたことを示す実績情報の一例である。以降、実施形態では、時刻情報を実績情報の一例として説明する。
【0021】
商品画像記憶装置7は、撮像装置3から入力されたある商品特徴情報に係る商品画像について、類似する特徴量のグループが存在する場合(例えば、同一商品であってパッケージも同一(変更されていない)の商品の場合)には、当該グループに入力された商品画像を追加して記憶するとともに、当該グループの時刻情報を更新する。
【0022】
また商品画像記憶装置7は、撮像装置3から入力されたある商品特徴情報に係る商品画像について、類似する特徴量のグループが存在しない場合(例えば、同一商品ではあるがパッケージが変更された商品の場合)には、当該商品特定情報に係る新たなグループ番号のグループを作成して、入力された商品画像を当該新たなグループに記憶するとともに、当該新たなグループに時刻情報を記憶する。
【0023】
また商品画像記憶装置7は、撮像装置3から入力されたある商品特徴情報が記憶されていない場合(例えば新商品の場合)新たな商品特定情報に係るグループ番号「1」のグループを新たに作成して、入力された商品画像を当該新たなグループに記憶するとともに、当該グループの時刻情報を記憶する。
【0024】
また実施形態の商品画像記憶装置7は、機械学習モデル745(
図4を参照)のトレーニングを行う。実施形態では、機械学習モデル745は商品画像記憶装置7に記憶されている。しかしながら機械学習モデル745は商品画像記憶装置7以外の装置が記憶するようにしてもよい。
【0025】
商品画像記憶装置7は、機械学習モデル745(
図4を参照)を記憶する。機械学習モデル745は、例えば撮像装置3が撮像した商品画像に基づいて一つの商品を特定したり、複数の候補商品を抽出したりする際に使用するモデルである。
【0026】
前述のように、新商品の発売、また既存の商品のパッケージの変更に対応させて商品の認識を行うことを可能にするため、商品画像記憶装置7は機械学習モデル745のトレーニングを行う。商品についてトレーニングを行う際、商品画像記憶装置7は、記憶されている当該商品に対応した(商品特定情報に関連付けられている)グループを使用する。具体的には、商品画像記憶装置7は、各グループに関連付けられている時刻情報のうち、現在から遡って所定期間に含まれる時刻情報を記憶しているグループを選択する。そして商品画像記憶装置7は、選択されたグループに含まれる商品画像に基づいて当該商品に係るトレーニングを実行する。
【0027】
商品画像記憶装置7は、例えばStructure from Motion等の技術を用いて、選択されたグループに含まれる各商品画像が撮影された時の商品とカメラの位置・向きの関係を推定する。推定する際に、セマンティックセグメンテーション等の技術を用いて画像に写り込んでいる人の手(商品を把持する手)等の領域を特定して除去する。そして商品画像記憶装置7は、推定された位置・向きが均等になるように商品画像を選別する。選別された商品画像を用いてトレーニングを行う。当該商品について選択された他のグループがある場合、商品画像記憶装置7は当該他のグループについても同様の処理をして、当該商品についてトレーニングを行う。このようにして商品画像記憶装置7は機械学習モデル745をトレーニングする。そして商品画像記憶装置7は、トレーニング後の機械学習モデル745をエッジデバイス5に出力する。エッジデバイス5は、商品画像記憶装置7から入力された機械学習モデル745を使用して、撮像装置3で撮像された商品についての一般物体認識を行う。
【0028】
また、トレーニングの際には、例えばフォトグラメトリー等の技術を用いて、選択されたグループに含まれる商品画像に基づいて3D画像(3Dモデル)を生成してもよい。生成された3D画像の向きを様々な角度に変えながら当該商品について多角的にトレーニングを行うことができる。
【0029】
次に、POS端末1および撮像装置3について説明する。
図2は、顧客が自ら操作を行うセルフ式のPOS端末1および撮像装置3の外観を示す斜視図である。
図2に示すように、POS端末1は、本体42、カゴ載置台4を有する。本体42は、POS端末1を制御する回路基板や電源を内蔵する。カゴ載置台4は、本体42の一側部に取り付けられ、顧客が購入する商品が入ったカゴを載置する台である。
【0030】
また、本体42の上面は、平面状の商品載置部41を有する。本体42は、商品載置部41の後部に、上方に延出する一対の支柱45を備える。カゴ載置台4から遠い側の支柱45には、レシートを発行するプリンタ22が取り付けられている。またプリンタ22の上部には、クレジットカードやポイントカード等のカードから情報を読み取るカードリーダ21が取り付けられている。
【0031】
また、カゴ載置台4に近い側の支柱45には、撮像装置3が取り付けられている。撮像装置3は、第1撮像部37(撮像部)と第2撮像部38(撮像部)を備え、撮像装置3の前方を走査された商品の画像を撮像する装置である。第1撮像部37と第2撮像部38は、例えば多数のCCD(Charge Coupled Device:撮像素子)を2次現状(面状)に多数配列したカメラである。
【0032】
撮像装置3は、読取面が顧客に向けて設置されており、撮像装置3の内部に設けられている第1撮像部37は、顧客がカゴから取り出した商品を走査する動作によって、当該商品の画像を撮像する。また、顧客は、商品に付されたシンボルS(
図6を参照)を撮像装置3に向けて商品を走査する傾向にあるため、第1撮像部37は、商品付されたシンボルSを同時に撮像することが多い。以降、実施形態では、第1撮像部37がシンボルSを撮像することとする。
【0033】
また、撮像装置3の一部である第2撮像部38は、撮像装置3の上方に取付けられている。第2撮像部38は、読取面が撮像装置3より斜め下方に向けて設置されており、走査される商品を第1撮像部37とは異なる角度から撮像する。すなわち第2撮像部38は、商品の、第1撮像部37が撮像する面とは異なる面を撮像する。
【0034】
なお、撮像装置3において商品を多角的に撮像することが望ましい。顧客は、シンボルSを第1撮像部37に向けて撮像させるために、第1撮像部37の前でシンボルSの位置を探す動作(すなわち商品の向きをいろいろ変える動作)を行うため、第1撮像部37および第2撮像部38において商品を多角的に撮像することが可能である。しかしながら、商品をより多角的に(例えば商品の全面を均一に)撮像するためには、例えば特開2020-047051号に記載されたような商品を四方から撮像する撮像装置を用いることで、実現することができる。
【0035】
また、一対の支柱45の間の位置には、表示器18が備えられている。表示器18は、POS端末1の操作を行う顧客に向けて設置されている、例えば液晶で形成された表示器である。表示器18は、撮像装置3やプリンタ22より少し上方であって、カードリーダ21や第2撮像部38と同等の高さに位置している。
【0036】
表示器18は、商品登録処理された商品の商品情報(商品名、商品の価格、等)や、決済処理した決済情報(合計金額、決済金額、釣り銭額、等)を表示する。表示器18の表示面には、タッチパネルで構成された操作部17が設けられている。
【0037】
また、一対の支柱45の間で表示器18の下方位置には、商品を仮置きする一時置台44と、商品登録処理を行った商品を入れる買い物袋の取っ手を装着する一対の装着部43を備える。買い物袋に入れられた商品は、商品載置部41に載置される。
【0038】
また、カゴ載置台4に近い側の支柱45には、上方に延出した略円柱状のポール6が取り付けられている。ポール6には、パトランプ61が取り付けられている。
【0039】
パトランプ61は、POS端末1で異常が発生した(例えばレシート用紙がなくなった)場合や、顧客がアテンダントを呼び出した場合に点灯や点滅する。
【0040】
POS端末1は店舗T内の精算エリアに1台または複数台(第1実施形態では3台)設置される。POS端末1は、顧客自身が商品登録操作および会計操作を行う商品販売データ処理装置である。POS端末1は、顧客の商品登録操作(例えば、商品に付されたバーコード等のシンボルSおよび商品の外観を走査して撮像装置3に撮像させる操作)が行われると、撮像装置3から受信した商品特定情報に基づいて販売される商品に係る商品登録処理を実行する。またPOS端末1は、顧客の会計操作(商品登録操作を終了して会計処理を開始する操作)によって決済処理を実行する。
【0041】
商品登録処理とは、店舗Tで販売される商品を特定する商品コード(商品特定情報)を取得し、取得した商品コードに基づいて当該商品の商品名や価格等の商品情報(商品名、商品の価格等)を表示器18に表示するとともに、当該商品情報を商品情報部に記憶する処理をいう。決済処理とは、商品登録処理に伴い商品情報部に記憶された商品情報に基づいて、当該取引に係る締め処理、具体的には、合計金額の表示器18への表示、現金、クレジットカード、電子マネー等のメディアによる決済処理、現金決済の場合に預り金に基づいて釣銭を計算して表示器18に表示する処理、決済処理した商品の商品情報や会計情報(合計金額、預り金額、釣銭額、ポイント情報等)を印字したレシートをプリンタ22から発行する処理等をいう。
【0042】
またPOS端末1は、決済処理した商品の商品情報と会計情報(総称して「売上データ」という)を、店舗サーバの機能を兼ねている商品画像記憶装置7に送信する。POS端末1から商品画像記憶装置7への売上データの送信のタイミングは、実施形態では会計処理が終了したタイミングで行うが、例えば店舗Tの閉店時に一日分をまとめて送信する等、任意のタイミングで送信するようにしてもよい。
【0043】
このようなシステム10において、顧客は、カゴ載置台4に載置したカゴから商品を取り出して、商品に付されたシンボルSを撮像装置3(第1撮像部37と第2撮像部38)の前方を通過(走査)させて撮像させる商品登録操作を行う。そして顧客は、商品登録操作を行った商品を装着部43に装着された買い物袋に入れる。POS端末1は、撮像装置3から受信した商品特定情報に基づいて、商品登録操作を行った商品について商品登録処理を実行する。すべての商品について商品登録操作を行った顧客は、次に会計ボタンを操作する会計操作を行う。POS端末1は、会計操作が行われた場合に、商品登録処理した商品について決済処理を実行する。
【0044】
商品画像記憶装置7は、例えば店舗Tのバックヤードに設置される。商品画像記憶装置7は、POS端末1から受信した売上データを収集する。商品画像記憶装置7は、収集した売上データに基づいて当該店舗Tの商品の売上げを管理する。
【0045】
次に、撮像装置3のハードウェア構成について説明する。
図3は、撮像装置3のハードウェア構成を示すブロック図である。
図3に示すように、撮像装置3は、プロセッサの一例であるCPU31、ROM32、RAM33、メモリ部34等を備えている。CPU31は撮像装置3の制御主体となる。ROM32は各種プログラムを記憶する。RAM33はプログラムや各種データを展開する。メモリ部34は各種プログラムを記憶する。CPU31、ROM32、RAM33、メモリ部34は、互いにバス35を介して接続されている。CPU31は、ROM32やメモリ部34に記憶されRAM33に展開された制御プログラムに従って動作することによって、後述する撮像装置3の制御処理を実行する。なお、プロセッサはCPU31以外であってもよい。
【0046】
RAM33は、画像記憶部331、商品特定情報部332、バーコード情報部333を有する。画像記憶部331は、第1撮像部37が撮像した画像と第2撮像部38が撮像した画像を記憶する。商品特定情報部332は、エッジデバイス5から入力された商品特定情報を記憶する。バーコード情報部333は、第1撮像部37が撮像した画像に含まれるシンボルSをデコードした(コード認識した)バーコード情報を記憶する。
【0047】
メモリ部34は、電源を切っても記憶情報が保持されるHDDやフラッシュメモリ等の不揮発性メモリで構成され、制御プログラム部341を有する。制御プログラム部341は、撮像装置3を駆動するための制御プログラムを記憶する。
【0048】
また、CPU31は、バス35およびコントローラ36を介して、第1撮像部37、第2撮像部38と接続している。
【0049】
また、CPU31は、バス35を介して、通信部39と接続している。通信部39は、通信回線Lを介してエッジデバイス5および商品画像記憶装置7と通信可能に接続される。また通信部39は、USBケーブルUを介してPOS端末1と通信可能に接続している。
【0050】
次に、商品画像記憶装置7のハードウェア構成について説明する。
図4は、商品画像記憶装置7のハードウェア構成を示すブロック図である。
図4に示すように、商品画像記憶装置7は、プロセッサの一例であるCPU71、ROM72、RAM73、メモリ部74等を備えている。CPU71は商品画像記憶装置7の制御主体となる。ROM72は各種プログラムを記憶する。RAM73はプログラムや各種データを展開する。メモリ部74は各種プログラムを記憶する。CPU71、ROM72、RAM73、メモリ部74は、互いにバス75を介して接続されている。CPU71は、ROM72やメモリ部74に記憶されRAM73に展開された制御プログラムに従って動作することによって、後述する商品画像記憶装置7の制御処理を実行する。なお、プロセッサはCPU71以外であってもよい。
【0051】
RAM73は、売上情報部731とバッファ732を有する。売上情報部731は、POS端末1から受信した売上データを記憶し、店舗Tの売上を管理する。バッファ732は、撮像装置3から入力された撮像画像やバーコード情報を記憶する。
【0052】
メモリ部74は、電源を切っても記憶情報が保持されるHDD(ハードディスク)やフラッシュメモリ等の不揮発性メモリ(実施形態はHDD)で構成され、制御プログラム部741、物体検出モデル742、特徴抽出モデル743、グループ情報部744(記憶部)、機械学習モデル745を有する。制御プログラム部741は、商品画像記憶装置7を駆動するための制御プログラムを記憶する。
【0053】
物体検出モデル742は、撮像された画像中に写っている物体(商品)の領域(範囲)を特定するための辞書である。すなわち物体検出モデル742は、入力された撮像画像に基づいて、当該撮像画像から物体(商品)が写っている領域を特定するための辞書である。換言すると、物体検出モデル742は、撮像装置3から入力された撮像画像の中から物体検出された商品画像の連続をスキャン画像K(
図5で後述する)という。スキャン画像Kにおいて、特定された領域で囲まれた商品の画像(以降「物体画像」という)を抽出するための辞書である。
【0054】
特徴抽出モデル743は、特定された領域(物体画像)に写っている商品を見分けるのに有効な特徴量を算出するための辞書である。すなわち特徴抽出モデル743は、入力された物体画像に基づいて、領域が特定された商品の特徴を示す特徴量を示す特徴ベクトルを出力する。
【0055】
グループ情報部744は、商品特定情報別に、当該商品特定情報で特定される商品の商品画像を、一または複数のグループに分けて記憶する。グループ情報部744については
図7で後述する。
【0056】
また、CPU71は、バス75およびコントローラ76を介して、表示部77と操作部78と接続する。表示部77は、例えば液晶表示器であり、商品画像記憶装置7を操作する操作者に対して情報を表示する。操作部78は、例えばキーボードであり、商品画像記憶装置7の操作者が操作する。
【0057】
また、CPU71は、バス75を介して、通信部79(インタフェース(I/F))と接続している。通信部79は、通信回線Lを介してPOS端末1、撮像装置3、エッジデバイス5と通信可能に接続される。なお、通信部79は、撮像装置3から出力された撮像画像を入力する画像I/F、撮像装置3から出力されたバーコード情報を入力するバーコード情報I/F、撮像装置3から出力された時刻情報を入力する時刻情報I/Fの3つの物理的なインタフェースで構成されていてもよいし、撮像装置3から出力された撮像画像とバーコード情報と時刻情報を入力する一つのインタフェースであってもよい。
【0058】
次に、スキャン画像について説明する。撮像装置3からは、顧客がスキャン(走査の動作)した商品を撮像した撮像画像が商品画像記憶装置7に送られる。撮像装置3から送られた画像には、商品が映っている画像(商品画像)と商品が映っていない画像とが混在している。商品画像記憶装置7は、入力された撮像画像から物体を検出することで物体が映っているスキャン画像を抽出する。物体の検出は、物体検出モデル742を使用して行ってもよいが、赤外線近接センサを用いて簡易的に行うか、SSD(Single Shot Multibox Detector)のような技術を活用してもよい。
【0059】
図5は、撮像装置3から入力された撮像加増からスキャン画像Kを抽出する説明図である。
図5に示すように、商品画像記憶装置7のCPU71は、顧客が一つの商品をスキャンしたことによる一連の画像(Frame0001~Frame0009)から物体B(商品)が検出された商品画像が連続するスキャン画像K(Frame0002~Frame0008)を抽出する。スキャン画像Kには、シンボルS(バーコード)が映っており、撮像装置3は、このシンボルSをデコードして(コード認識して)バーコード情報を生成して商品画像記憶装置7に出力する。なお、以降の説明で、スキャン画像Kを含む商品が映っている画像を総称して商品画像ともいう。
【0060】
次に、撮像装置3から入力された撮像画像とバーコード情報に基づいて、CPU71が当該撮像画像に基づいて商品画像(スキャン画像)をグループ分けするまでの工程について説明する。
図6は、撮像画像に基づいてスキャン画像Kをグループ分けする過程を示す説明図である。
【0061】
図6に示すように、まずCPU71は、撮像装置3から入力された撮像画像から
図5で示すスキャン画像Kを抽出する。その際CPU71は、物体検出モデル742を使用して、抽出されたスキャン画像Kに映っている商品を示す商品の領域を特定する物体B検出を行う(工程A)。次にCPU71は、特徴抽出モデル743を使用して、検出した商品の特徴量を算出して特徴ベクトルを生成する(工程B)。一方CPU71は、同時に入力されたバーコード情報に基づいてグループ情報部744を検索し、当該バーコード情報と関連付けられているすべてのグループについて、当該グループに含まれる商品画像に係る特徴量をそれぞれ算出して特徴ベクトルをそれぞれ生成する。
【0062】
次にCPU71は、入力された撮像画像に基づいて生成した特徴ベクトルとグループ情報部744を検索して生成したグループ別の特徴ベクトルとの類似度を算出する(工程C)。類似度の算出は、例えば商品認識に使われるCNN(Convolutional Neural Network)を使用して入力されたスキャン画像Kとグループ別に記憶されているスキャン画像Kとについて特徴ベクトルを生成し、生成された特徴ベクトルどうしのコサイン類似度を算出する。または、各スキャン画像KのSIFT等の局所特徴量を算出し、算出された特徴量同士のマッチングによってパッケージの同一性を判定して類似度を算出してもよい。
【0063】
次にCPU71は、類似度に応じてスキャン画像Kのグループ分けを行う(工程D)。生成した特徴ベクトルとの類似度が高いグループがある場合、CPU71は、当該スキャン画像Kを当該グループに追加して記憶させる。また、生成した特徴ベクトルとの類似度が高いグループがない場合、CPU71は、当該バーコード情報に関連する新たなグループをグループ情報部744に作成し、当該スキャン画像Kを作成したグループに記憶させる。また、グループ情報部744を検索した結果、入力されたバーコード情報がグループ情報部744に記憶されていない場合は、入力されたバーコード情報に関連付けた新たなグループをグループ情報部744に作成し、当該スキャン画像Kを作成したグループに記憶させる。このようにして、入力されたスキャン画像Kがグループ分けされる。
【0064】
次に、グループ情報部744について説明する。
図7は、グループ情報部744の構成を示すメモリマップである。なお、
図7の例では、2種類の商品を示すバーコード情報1のグループ情報aとバーコード情報2のグループ情報bを示すが、実際は店舗Tで販売する商品の数だけのバーコード情報に係るグループ情報が存在する。
【0065】
図7に示すように、グループ情報部744は、バーコード情報1で特定される商品のグループ情報aと、バーコード情報2で特定される商品のグループ情報bが記憶されている。上述のように、グループ情報aとグループ情報b以外のグループ情報もグループ情報部744は記憶しているが、ここでは省略する。
【0066】
グループ情報aおよびグループ情報bは、バーコード情報部7441、グループ番号部7442、時刻情報部7443、画像情報部7444を有する。バーコード情報部7441は、商品を特定するバーコード情報を記憶する。実施形態では、グループ情報aにはバーコード情報1が記憶され、グループ情報bにはバーコード情報2が記憶されている。グループ番号部7442は、バーコード情報部7441に記憶されているバーコード情報に属するグループを示すグループ番号を記憶する。
図7の例では、グループ情報aではバーコード情報1に係る3個のグループ(グループ1、グループ2、グループ3)が属している。グループ情報bではバーコード情報2に係る4個のグループ(グループ1、グループ2、グループ3、グループ4)が属している。
【0067】
時刻情報部7443は、グループ番号部7442に記憶されているそれぞれのグループ番号に対応付けて、当該グループに最も直近に商品画像が記憶された時刻(または日にち等)を示す時刻情報(実績情報の一例)を、グループ別に記憶する。
【0068】
画像情報部7444は、グループ番号部7442に記憶されているそれぞれのグループ番号に対応付けて、相互に類似度に応じた商品画像を記憶する。具体的には、撮像装置3から入力された画像に基づいて抽出されたスキャン画像Kの特徴量(特徴ベクトル)と、それぞれのグループに記憶されている商品画像から算出された特徴量(特徴ベクトル)との類似度を算出し、類似度が高いグループ(例えば95%以上の類似度が算出されたグループ)があれば当該グループに当該スキャン画像Kを追加的に記憶する。類似度が高いグループがない場合は、当該バーコード情報に係る新たなグループを作成し、グループ番号部7442に新たなグループ番号を生成して記憶し、時刻情報部7443に作成したグループの時刻情報として現在時刻を記憶し、画像情報部7444にスキャン画像Kを記憶する。
【0069】
なお、実績情報としてフラグ情報を使用する場合は、時刻情報部7443にフラグ情報を記憶する。この場合、前回のトレーニングを実施して以降に画像情報部7444にスキャン画像Kが記憶された場合に、記憶されたグループに関連付けて、フラグ情報が時刻情報部7443に記憶される。
【0070】
ここからは、撮像装置3の制御について説明する。
図8は、撮像装置3の制御処理の流れを示すフローチャートである。
図8に示すように、撮像装置3のCPU31は、撮像開始信号を受信したかを判断する(S11)。撮像開始信号は、例えばPOS端末1において顧客が操作開始のボタンを操作した場合にPOS端末1から受信する。撮像開始信号を受信するまで待機し(S11のNo)、撮像開始信号を受信したと判断した場合には(S11のYes)、CPU31は、第1撮像部37と第2撮像部38を起動して、撮像を開始する(S12)。
【0071】
次にCPU31は、撮像終了信号を受信したかを判断する(S13)。撮像終了信号は、例えばPOS端末1において顧客が精算処理を行った場合にPOS端末1から受信する。撮像終了信号を受信したと判断した場合には(S13のYes)、CPU31は、第1撮像部37と第2撮像部38による撮像を終了する(S16)。そしてCPU31はS11に戻る。
【0072】
撮像終了信号の受信ではないと判断した場合には(S13のNo)、CPU31は、S13で撮像を開始した撮像画像を画像記憶部331に記憶する(S14)。そしてCPU31は、記憶した撮像画像をエッジデバイス5と商品画像記憶装置7に出力する(S15)。なお、S14において、CPU31は、撮像開始から撮像終了までに撮像したすべての画像を記憶する。
【0073】
次にCPU31は、画像記憶部331に記憶した撮像画像からシンボルSを検出したかを判断する(S21)。シンボルSを検出したと判断した場合には(S21のYes)、CPU31は、検出したシンボルSをデコードするコード認識を行う(S22)。そしてCPU31は、デコードして生成したバーコード情報と、バーコード情報を生成した時刻を時刻情報としてバーコード情報部333に記憶する(S23)。そしてCPU31は、バーコード情報部333に記憶したバーコード情報(すなわち、S14で記憶した撮像画像に対するバーコード情報)と時刻情報を商品画像記憶装置7に出力する(S24)。このように、記憶した撮像画像にシンボルSが含まれている場合は、CPU31は、当該撮像画像とデコードしたバーコード情報と時刻情報を、ほぼ同時またはほぼ同時に近いタイミングで連続して商品画像記憶装置7に出力する。なお、CPU31は、バーコード情報部333に記憶したバーコード情報をPOS端末1に送信する場合もある。そしてCPU31は、S13に戻る。
【0074】
また、S21において、シンボルSを検出していないと判断した場合には(S21のNo)、CPU31は、エッジデバイス5から商品特定情報を入力したかを判断する(S25)。入力していないと判断した場合には(S25のNo)、CPU31はS13に戻り、エッジデバイス5から商品特定情報を入力したと判断した場合には(S25のYes)、CPU31は、当該商品特定情報を商品特定情報部332に記憶する(S26)。そしてCPU31は、商品特定情報部332に記憶した商品特定情報をPOS端末1に送信する(S27)。そしてCPU31は、S13に戻る。このように、撮像装置3は、第1撮像部37と第2撮像部38で撮像した撮像画像と、シンボルSをデコードしたバーコード情報と時刻情報と、を商品画像記憶装置7に出力する。
【0075】
ここからは、商品画像記憶装置7の機能構成について説明する。
図9は、商品画像記憶装置7の機能構成を示す機能ブロック図である。商品画像記憶装置7のCPU71は、ROM72やメモリ部74の制御プログラム部741に記憶された制御プログラムに従うことで、算出部711、決定部712、記憶制御部713、実績記憶部714、選択部715、3D画像生成部716、トレーニング部717として機能する。
【0076】
算出部711は、通信部79(インタフェース)から入力されたバーコード情報に含まれる商品特定情報に基づいて、当該商品特定情報とともに入力されたスキャン画像Kと、グループ情報部744にグループ別に記憶されている当該商品特定情報に関連付けられた商品画像と、の類似度をグループ毎に算出する。具体的には、算出部711は、通信部79から入力されたバーコード情報に含まれる商品特定情報に基づいて、当該商品特定情報とともに入力されたスキャン画像Kと、グループ情報部744にグループ別に記憶されている当該商品特定情報に関連付けられた商品画像と、の特徴量を表す特徴ベクトルを生成し、生成した特徴ベクトルに係る類似度をグループ毎に算出する。
【0077】
決定部712は、算出された類似度に応じて入力されたスキャン画像Kを記憶するグループを決定する。具体的には、決定部712は、類似度が高いグループがある場合には、当該グループ(既存のグループ)を入力されたスキャン画像Kを記憶するグループに決定する(当該グループのグループ番号を設定する)。また決定部712は、類似度が高いグループがない場合(どのグループとも類似度が低い場合)、当該商品特定情報に係る新たなグループを決定する(当該商品特定情報に係る新たなグループを作成して、当該グループのグループ番号を設定する)。また決定部712は、算出部711が入力された商品特定情報がグループ情報部744にない場合、入力された商品特定情報に基づいて作成された新たなグループを決定する(新たな商品特定情報に係る新たなグループを作成して、当該グループのグループ番号「1」を設定する)。
【0078】
記憶制御部713は、算出された類似度に応じて決定されたグループに入力された商品画像を記憶する。実施形態では、記憶制御部713は、決定部712が決定したグループに入力されたスキャン画像Kを記憶する。具体的には、決定部712が、類似度が高い既存のグループを決定した場合、記憶制御部713は、当該既存のグループにスキャン画像を追加的に記憶する。また、決定部712が、同一のバーコード情報に係る新たなグループを決定した場合、記憶制御部713は、当該新たなグループにスキャン画像を記憶する。また、決定部712が、新たなバーコード情報に係る新たなグループを決定した場合、記憶制御部713は、当該新たなグループにスキャン画像を記憶する。
【0079】
実績記憶部714は、スキャン画像Kが記憶されたグループについて実績情報を記憶する。具体的には、実績記憶部714は、スキャン画像Kが記憶されたグループについて、撮像装置3から入力された時刻情報を記憶する。
【0080】
選択部715は、実績情報が記憶されているグループを選択する。具体的には、選択部715は、予め決められた時刻である現在時刻から遡って所定期間以内を示す時刻情報が記憶されているグループ(すなわち、最近よく購入されている商品のグループ)を選択する。所定期間は、例えば現在時刻から遡って前回トレーニングを実行した日時の範囲である。所定時間は、店舗Tの事情に応じて店舗Tで設定することができる。
【0081】
3D画像生成部716は、グループ毎に、各グループに記憶されている商品画像(蓄積されたスキャン画像K)に基づいて、例えばフォトグラメトリー等の技術を用いて当該商品に係る3D画像を生成する。
【0082】
トレーニング部717は、3D画像生成部716が生成した3D画像を用いて機械学習モデル745のトレーニングを行う。具体的には、トレーニング部717は、3D画像生成部716が生成した3D画像の様々な面を使用して均一に機械学習モデル745のトレーニングを行う。
【0083】
ここからは、商品画像記憶装置7の制御について説明する。
図10は、商品画像記憶装置7の、撮像装置3から入力したスキャン画像Kをグループ分けして記憶する際の制御処理の流れを示すフローチャートである。
図10に示すように、商品画像記憶装置7のCPU71は、撮像装置3から出力された撮像画像を入力(取得)したかを判断する(S31)。入力するまで待機し(S31のNo)、撮像画像を入力(取得)したと判断した場合には(S31のYes)、CPU71は、取得した撮像画像に基づいて物体検出処理(商品の検出)を行う(S32)。そしてCPU71は、入力した撮像画像から物体(商品)を検出したかを判断する(S33)。商品を検出したと判断した場合には(S33のYes)、CPU71は、当該物体画像からスキャン画像Kを抽出して、抽出したスキャン画像Kをバッファ732に記憶する(S34)。
【0084】
次にCPU71は、撮像装置3から、入力した撮像画像に係るバーコード情報と時刻情報を取得したかを判断する(S35)。入力していないと判断した場合には(S35のNo)CPU71はS31に戻り、入力した撮像画像に係るバーコード情報と時刻情報を取得したと判断した場合には(S35のYes)、CPU71は、入力されたバーコード情報と時刻情報をバッファ732に記憶する(S36)。S34の処理とS36の処理によって、撮像画像と、撮像画像に映っていたシンボルSに係るバッファ情報と時刻情報が関連付けられる。そしてCPU71は、S31に戻る。
【0085】
また、商品が検出されないと判断した場合には(S33のNo、例えば顧客による一つの商品のスキャン動作が終了した場合には商品は検出されない)、CPU71は、バッファ732にバーコード情報と時刻情報が記憶されているかを判断する(S41)。バッファ732にバーコード情報と時刻情報が記憶されていないと判断した場合には(S41のNo)、CPU71はバッファ732をクリアする(S42)。すなわちCPU71は、バッファ732に記憶されている撮像画像をクリアする。そしてCPU71は、S31に戻る。
【0086】
また、バッファ732にバーコード情報と時刻情報が記憶されていると判断した場合には(S41のYes)、CPU71は、当該バーコード情報に基づいてグループ情報部744を検索する(S43)。そしてCPU71は、グループ情報部744に同一のバーコード情報が記憶されているかを判断する(S44)。
【0087】
同一のバーコード情報が記憶されていると判断した場合には(S44のYes)、算出部711は、バッファ732に記憶されているスキャン画像Kに基づいて算出した特徴ベクトルと、グループ情報部744の同一のバーコード情報に関連付けられた各グループの画像情報部7444に記憶されている商品画像に基づいて算出したグループ毎の特徴ベクトルと、に基づいて類似度を算出する(S45)。
【0088】
そしてCPU71は、算出部711が算出した類似度に基づいて、バッファ732に記憶されているスキャン画像Kに基づいて算出した特徴ベクトルとの類似度が高い特徴ベクトルを有するグループがあるかを判断する(S46)。類似度が高い特徴ベクトルを有するグループがあると判断した場合には(S46のYes)、決定部712は、当該グループに対応してグループ番号部7442に記憶されているグループ番号をバッファ732に記憶されているスキャン画像Kのグループに決定する(S47)。そして記憶制御部713は、決定されたグループ番号に対応付けられている画像情報部7444に当該スキャン画像Kを追加して記憶する(S48)。また、実績記憶部714は、バッファ732に記憶されている時刻情報を、決定されたグループ番号に対応付けられている時刻情報部7443に上書き記憶する(S48)。S48における実績記憶部714の処理によって、当該グループにスキャン画像Kが記憶された最新の時刻情報が記憶され、時刻情報の更新がされる。そしてCPU71は、処理を終了してS31に戻る。
【0089】
また、類似度が高い特徴ベクトルを有するグループがないと判断した場合には(S46のNo)、決定部712は、当該バーコード情報に属する新たなグループ番号を生成して、当該グループ番号をバッファ732に記憶されているスキャン画像Kのグループに決定する(S51)。そして記憶制御部713は、決定された新たなグループ番号をグループ番号部7442に記憶する(S52)。また記憶制御部713は、新たなグループ番号に対応付けられて画像情報部7444に生成されたグループに当該スキャン画像Kを記憶する(S52)。また、実績記憶部714は、バッファ732に記憶されている時刻情報を、決定された新たなグループ番号に対応付けられているグループの時刻情報部7443に記憶する(S52)。S52における実績記憶部714の処理によって、新たなグループにスキャン画像Kが記憶された最新の時刻情報が記憶される。そしてCPU71は、処理を終了してS31に戻る。
【0090】
また、S44において、同一のバーコード情報は記憶されていないと判断した場合には(S44のNo)、決定部712は、バッファ732に記憶されているバーコード情報に属する新たなグループ番号(グループ番号「1」)を生成して、当該グループ番号をバッファ732に記憶されているスキャン画像Kのグループに決定する(S53)。そして記憶制御部713は、新たなバーコード情報に係るグループ情報(例えばグループ情報c)を生成し、当該グループ情報に係る新たなグループ番号をグループ番号部7442に記憶する(S54)。また記憶制御部713は、新たなグループ番号に対応付けられている画像情報部7444に当該スキャン画像Kを記憶する(S54)。また、実績記憶部714は、バッファ732に記憶されている時刻情報を、決定された新たなグループ番号「1」に対応付けられている時刻情報部7443に記憶する(S54)。S54における実績記憶部714の処理によって、グループ番号「1」のグループにスキャン画像Kが記憶された最新の時刻情報が記憶される。そしてCPU71は、処理を終了してS31に戻る。
【0091】
このような実施形態の商品画像記憶装置7は、バーコード情報で特定される商品の商品画像を類似度が高い画像どうしをグループ分けした一または複数のグループ別に記憶する。そして入力されたスキャン画像Kを類似度が高いグループに追加記憶し、いずれのグループとも類似度が高くない場合は新しいグループを作成してスキャン画像Kを記憶する。
【0092】
このような実施形態によれば、商品のパッケージが変更された場合に、同一商品であって変更された商品の商品画像を変更前の商品画像と別のグループにグループ分けして記憶することが可能である。
【0093】
ここからは、機械学習モデル745をトレーニングする際にトレーニングの開始を操作された商品画像記憶装置7の制御について説明する。
図11は、商品画像記憶装置7による機械学習モデル745のトレーニングを行う制御処理の流れを示すフローチャートである。
図11に示すように、選択部715は、グループ情報部744に記憶されている各バーコード情報に係るグループ情報において、時刻情報部7443に記憶されている時刻情報が現在の時刻から遡って所定期間内であるグループを、機械学習モデル745のトレーニングに使用するグループとして選択する(S61)。そのため、新商品や最近パッケージが所定期間内に変更された商品のグループは選択される。一方、販売が中止された商品や古いパッケージの商品(現在は販売されていないパッケージの商品)のグループは選択されない。
【0094】
次に3D画像生成部716は、選択されたグループについて、画像情報部7444に記憶されている商品画像に基づいて3D画像を生成する(S62)。そしてトレーニング部717は、生成された3D画像を使用して、当該バーコード情報で特定される商品のトレーニングを行う(S63)。S63におけるトレーニングは、生成された3D画像の向き(角度)を少しずつ変えて都度行うことで、様々な面について均一に当該商品のトレーニングを行う。また、異なるグループについても同様のトレーニングを実行する。また、異なるバーコード情報の商品についても同様のトレーニングを実行する。
【0095】
トレーニングを終了する場合は、例えばトレーニング終了の操作を行う。CPU71は、操作者によってトレーニング終了の操作がされたかを判断する(S64)。トレーニング終了の操作がされていないと判断した場合は(S64のNo)、更なるトレーニングが続くためS63に戻り、トレーニング部717は、3D画像の向き変えて更なるトレーニングを実行する(S63)。トレーニング部717は、異なるグループについてもトレーニングを実行する。また、異なるバーコード情報の商品についても同様のトレーニングを実行する。
【0096】
一方、トレーニング終了の操作がされたと判断した場合には(S64のYes)、CPU71は処理を終了する。
【0097】
ここからは、Structure from Motion等の技術を用いた機械学習モデル745のトレーニングについて説明する。
図12は、Structure from Motionベースの画像選別手法を用いた機械学習モデルのトレーニングに係る制御処理の流れを示すフローチャートである。
図12に示すように、選択部715は、グループ情報部744に記憶されている各バーコード情報に係るグループ情報において、時刻情報部7443に記憶されている時刻情報が現在の時刻から遡って所定期間内であるグループを、機械学習モデル745のトレーニングに使用するグループとして選択する(S71)。そのため、新商品や最近パッケージが所定期間内に変更された商品のグループは選択される。一方、販売が中止された商品や古いパッケージの商品(現在は販売されていないパッケージの商品)のグループは選択されない。
【0098】
次に3D画像生成部716は、選択されたグループについて、画像情報部7444に記憶されている商品画像に基づいて、商品とカメラの位置・向きを推定する(S72)。そして3D画像生成部716は、推定された位置・向きが均等になるように商品画像を選別する(S73)。そしてトレーニング部717は、選別された商品画像を使用して、当該バーコード情報で特定される商品のトレーニングを行う(S74)。トレーニング部717は、異なるグループについても同様のトレーニングを実行する。また、異なるバーコード情報の商品についても同様のトレーニングを実行する。
【0099】
トレーニングを終了する場合は、例えばトレーニング終了の操作を行う。CPU71は、操作者によってトレーニング終了の操作がされたかを判断する(S75)。トレーニング終了の操作がされていないと判断した場合は(S75のNo)、更なるトレーニングが続くためS64に戻り、トレーニング部717は、更なるトレーニングを実行する(S74)。トレーニング部717は、異なるグループについてもトレーニングを実行する。また、異なるバーコード情報の商品についても同様のトレーニングを実行する。
【0100】
一方、トレーニング終了の操作がされたと判断した場合には(S75のYes)、CPU71は処理を終了する。
【0101】
このような実施形態の商品画像記憶装置7は、機械学習モデル745をトレーニングする場合に、所定期間内に時刻情報が記憶されたグループ(例えばパッケージが変更されたグループ)を選択して、所定期間内に時刻情報が記憶されないグループ(例えば所定期間外の古いパッケージのグループ)は選択せずにトレーニングすることが可能となり、トレーニングの精度を高めることが可能となる。
【0102】
以上、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0103】
例えば、実施形態では、商品画像のグループ分け(分類)および機械学習モデル745のトレーニングを商品画像記憶装置7が行うようにした。しかしながらこれに限らず、商品画像記憶装置7は商品画像のグループ分けを行う装置であってもよい。この場合、機械学習モデルのトレーニングを行うトレーニング装置を別途備え、トレーニング装置は、商品画像記憶装置7がグループ分けしたグループの情報を使用して、機械学習モデルのトレーニングを実行するようにしてもよい。この場合、
図9における3D画像生成部716とトレーニング部717はトレーニング装置の機能構成であり、
図11の制御はトレーニング装置が実行する。またこの場合、時刻情報は商品画像記憶装置7が有していてもトレーニング装置が有していてもよい。
【0104】
また実施形態では、商品画像記憶装置7がグループ分けしたグループ情報部744を用いて機械学習モデルのトレーニングを行った。しかしながらこれに限らず、商品画像記憶装置7は、グループ分けしたグループ情報部744を、機械学習モデルのトレーニング以外に使用してもよい。
【0105】
また実施形態では、トレーニング部717は、3D画像を生成して機械学習モデルのトレーニングを行った。しかしながらこれに限らず、トレーニング部717は、各グループに蓄積された商品画像を使用して、3D画像を生成せずに機械学習モデルのトレーニングを行ってもよい。
【0106】
また実施形態では、エッジデバイス5を単独の装置として説明した。しかしながらこれに限らず、エッジデバイス5は、例えば商品画像記憶装置7に組み込まれていてもよい。すなわち、商品画像記憶装置7がエッジデバイス5の機能を有していてもよい。
【0107】
また実施形態では、予め決められた時刻の一例として現在時刻を使用したが、予め決められた時刻は、例えば昨日の店舗の営業終了時刻等の、現在時刻からあまり遠くない時刻であれば現在時刻以外の時刻であってもよい。
【0108】
なお、実施形態の商品画像記憶装置7で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【0109】
また、実施形態の商品画像記憶装置7で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施形態の商品画像記憶装置7で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0110】
また、実施形態の商品画像記憶装置7で実行されるプログラムを、ROM72等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【0111】
1 POS端末
3 撮像装置
5 エッジデバイス
7 商品画像記憶装置
10 システム
31 CPU
34 メモリ部
37 第1撮像部
38 第2撮像部
39 通信部
71 CPU
74 メモリ部
79 通信部
131 商品情報部
331 画像記憶部
332 商品特定情報部
333 バーコード情報部
711 算出部
712 決定部
713 記憶制御部
714 実績記憶部
715 選択部
716 3D画像生成部
717 トレーニング部
732 バッファ
742 物体検出モデル
743 特徴抽出モデル
744 グループ情報部
745 機械学習モデル
7441 バーコード情報部
7442 グループ番号部
7443 時刻情報部
7444 画像情報部
【先行技術文献】
【特許文献】
【0112】