(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-07-31
(45)【発行日】2023-08-08
(54)【発明の名称】商品認識装置、商品認識システム、商品認識方法、及びプログラム
(51)【国際特許分類】
G07G 1/12 20060101AFI20230801BHJP
G07G 1/00 20060101ALI20230801BHJP
G06N 20/00 20190101ALI20230801BHJP
G06V 10/778 20220101ALI20230801BHJP
G06T 7/00 20170101ALI20230801BHJP
【FI】
G07G1/12 341Z
G07G1/12 361C
G07G1/00 311Z
G06N20/00
G06V10/778
G06T7/00 350B
(21)【出願番号】P 2022123073
(22)【出願日】2022-08-02
(62)【分割の表示】P 2022010869の分割
【原出願日】2022-01-27
【審査請求日】2022-08-02
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】中川西 知也
(72)【発明者】
【氏名】柳浦 康次
(72)【発明者】
【氏名】金子 輝和
(72)【発明者】
【氏名】藤崎 満輝
(72)【発明者】
【氏名】長谷川 裕泰
【審査官】小島 哲次
(56)【参考文献】
【文献】国際公開第2021/024459(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G07G 1/00- 1/12
G06N 20/00
G06V 10/778
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
複数の商品について、少なくとも学習用画像情報と商品名とが対応付けられた画像データベースを予め記憶する記憶部と、
前記画像データベースに記憶されている前記学習用画像情報と前記商品名とを用いて機械学習を行って、学習済みの識別エンジンを生成する学習部と、
前記識別エンジンを用いて、対象商品の画像情報に基づいて、当該対象商品の商品名を識別する識別部と、
前記画像データベースに記憶されている一の商品の前記学習用画像情報の特徴点と他の商品の前記学習用画像情報の特徴点とを比較することにより類似度を算出し、当該類似度が所定の値以上である場合に、当該一の商品の前記商品名と当該他の商品の前記商品名とを対応付けた類似画像商品名リストを作成するリスト作成部と、
を備え、
前記記憶部は、前記類似画像商品名リストをさらに予め記憶し、
前記識別部によって識別された前記対象商品の前記商品名が間違っており、ユーザによって正しい商品名が指定された場合に、前記識別部によって識別された前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されているか否かを判断し、前記識別部によって識別された前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されていない場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する、画像管理部をさらに備える、
商品認識装置。
【請求項2】
前記画像管理部は、
前記識別部によって識別された前記対象商品の前記商品名が間違っている場合であって、前記識別部によって識別された前記商品名と、ユーザによって指定された前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されている場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する回数を計測し、
前記回数が所定の値を超えたら、前記対象商品の画像情報と前記正しい商品名との前記画像データベースへの格納を止める、
請求項1に記載の商品認識装置。
【請求項3】
商品認識サーバと、前記商品認識サーバと通信可能な端末装置とを備える商品認識システムであって、
前記端末装置は、
複数の対象商品の画像情報を取得する取得部を備え、
前記商品認識サーバは、
複数の商品について、少なくとも学習用画像情報と商品名とが対応付けられた画像データベースを予め記憶する記憶部と、
前記画像データベースに記憶されている前記学習用画像情報と前記商品名とを用いて機械学習を行って、学習済みの識別エンジンを生成する学習部と、
前記識別エンジンを用いて、前記取得部によって取得された前記対象商品の画像情報に基づいて、当該対象商品の商品名を識別する識別部と、
前記画像データベースに記憶されている一の商品の前記学習用画像情報の特徴点と他の商品の前記学習用画像情報の特徴点とを比較することにより類似度を算出し、当該類似度が所定の値以上である場合に、当該一の商品の前記商品名と当該他の商品の前記商品名とを対応付けた類似画像商品名リストを作成するリスト作成部と、
を備え、
前記記憶部は、前記類似画像商品名リストをさらに予め記憶し、
前記端末装置は、
前記識別部によって識別された前記対象商品の前記商品名が間違っており、ユーザによって正しい商品名が指定された場合に、前記対象商品の画像情報と、ユーザによって指定された前記正しい商品名とを前記商品認識サーバに送信するフィードバック部をさらに備え、
前記商品認識サーバは、
前記端末装置から送信された前記正しい商品名と、前記識別部によって識別された前記商品名とが、前記類似画像商品名リストに対応付けられて記憶されているか否かを判断し、前記識別部によって識別された前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されていない場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する、画像管理部をさらに備える、
商品認識システム。
【請求項4】
前記画像管理部は、
前記識別部によって識別された前記対象商品の前記商品名が間違っている場合であって、前記識別部によって識別された前記商品名と、ユーザによって指定された前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されている場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する回数を計測し、
前記回数が所定の値を超えたら、前記対象商品の画像情報と前記正しい商品名との前記画像データベースへの格納を止める、
請求項3に記載の商品認識システム。
【請求項5】
商品認識装置が、
複数の商品について、少なくとも学習用画像情報と商品名とが対応付けられた画像データベースを予め記憶し、
前記画像データベースに記憶されている前記学習用画像情報と前記商品名とを用いて機械学習を行って、学習済みの識別エンジンを生成し、
前記識別エンジンを用いて、対象商品の画像情報に基づいて、当該対象商品の商品名を識別し、
前記画像データベースに記憶されている一の商品の前記学習用画像情報の特徴点と他の商品の前記学習用画像情報の特徴点とを比較することにより類似度を算出し、当該類似度が所定の値以上である場合に、当該一の商品の前記商品名と当該他の商品の前記商品名とを対応付けた類似画像商品名リストを作成し、
前記類似画像商品名リストをさらに予め記憶し、
識別した前記対象商品の前記商品名が間違っており、ユーザによって正しい商品名が指定された場合に、識別した前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されているか否かを判断し、識別した前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されていない場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する、
商品認識方法。
【請求項6】
前記商品認識装置が、
識別した前記対象商品の前記商品名が間違っている場合であって、識別した前記商品名と、ユーザによって指定された前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されている場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する回数を計測し、
前記回数が所定の値を超えたら、前記対象商品の画像情報と前記正しい商品名との前記画像データベースへの格納を止める、
請求項5に記載の商品認識方法。
【請求項7】
商品認識装置に、
複数の商品について、少なくとも学習用画像情報と商品名とが対応付けられた画像データベースを予め記憶する処理と、
前記画像データベースに記憶されている前記学習用画像情報と前記商品名とを用いて機械学習を行って、学習済みの識別エンジンを生成する処理と、
前記識別エンジンを用いて、対象商品の画像情報に基づいて、当該対象商品の商品名を識別する処理と、
前記画像データベースに記憶されている一の商品の前記学習用画像情報の特徴点と他の商品の前記学習用画像情報の特徴点とを比較することにより類似度を算出し、当該類似度が所定の値以上である場合に、当該一の商品の前記商品名と当該他の商品の前記商品名とを対応付けた類似画像商品名リストを作成する処理と、
前記類似画像商品名リストをさらに予め記憶する処理と、
識別した前記対象商品の前記商品名が間違っており、ユーザによって正しい商品名が指定された場合に、識別した前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されているか否かを判断し、識別した前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されていない場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する処理と、
を実行させる、プログラム。
【請求項8】
前記商品認識装置に、
識別した前記対象商品の前記商品名が間違っている場合であって、識別した前記商品名と、ユーザによって指定された前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されている場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する回数を計測する処理と、
前記回数が所定の値を超えたら、前記対象商品の画像情報と前記正しい商品名との前記画像データベースへの格納を止める処理と、
を実行させる、請求項7に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、商品認識装置、商品認識システム、商品認識方法、及びプログラムに関する。
【背景技術】
【0002】
POS(Point Of Sales)システム等で用いられる商品認識装置は、対象商品を撮影し、当該対象商品の画像に対して画像認識処理を行って、当該対象商品の商品名等を識別する。具体的には、商品認識装置は、複数の商品について、商品の学習用の画像(以下、「学習用画像」と称する。)と当該商品の商品名とを対応付けて予め記憶し、深層学習等の機械学習を行い、学習済みの識別エンジンを生成する。そして、商品認識装置は、学習済みの識別エンジンを用いて、撮影した対象商品の画像に基づいて、当該対象商品の商品名を識別する。
【0003】
しかし、商品認識装置による識別が常に正しいとは限らない。そのため、ある対象商品について、商品認識装置による識別結果が間違っている場合、ユーザは、商品認識装置を操作して、正しい商品名を選択する。そして、ユーザが正しい商品名を選択すると、撮影された対象商品の画像と当該正しい商品名とが対応付けられて、商品認識装置に新たに登録され、再度、機械学習が行われる。
【0004】
特許文献1には、機械学習に用いられるデータを調整する技術について記載されている。具体的には、特許文献1では、機械学習に用いられた学習データが機械学習に与えた影響度を測定し、影響度が低いデータを除外し、影響度が高いデータに対応する新規データを取得し、取得した新規データを追加することにより、学習データを調整している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、商品認識装置が識別を間違えるたびに、対象商品の画像と当該正しい商品名とが対応付けられて商品認識装置に記憶されると、商品認識装置の記憶領域が圧迫されてしまう可能性がある。さらに、商品認識装置に記憶される対象商品の画像及び商品名が増えるほど、商品認識装置における学習時間が増大してしまうという問題がある。
【0007】
本開示の目的は、学習時間の増大及び記憶領域の圧迫を低減する商品認識装置、商品認識システム、商品認識方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0008】
本開示に係る商品認識装置は、複数の商品について、少なくとも学習用画像情報と商品名とが対応付けられた画像データベースを予め記憶する記憶部と、前記画像データベースに記憶されている前記学習用画像情報と前記商品名とを用いて機械学習を行って、学習済みの識別エンジンを生成する学習部と、前記識別エンジンを用いて、対象商品の画像情報に基づいて、当該対象商品の商品名を識別する識別部と、を備え、前記記憶部は、一の商品の前記学習用画像情報と他の商品の前記学習用画像情報が類似する場合に、当該一の商品の前記商品名と当該他の商品の前記商品名とが対応付けられた類似画像商品名リストをさらに予め記憶し、前記識別部によって識別された前記対象商品の前記商品名が間違っており、ユーザによって正しい商品名が指定された場合に、前記識別部によって識別された前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されているか否かを判断し、前記識別部によって識別された前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されていない場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する、画像管理部をさらに備える。
【0009】
本開示に係る商品認識システムは、商品認識サーバと、前記商品認識サーバと通信可能な端末装置とを備える商品認識システムであって、前記端末装置は、複数の対象商品の画像情報を取得する取得部を備え、前記商品認識サーバは、複数の商品について、少なくとも学習用画像情報と商品名とが対応付けられた画像データベースを予め記憶する記憶部と、前記画像データベースに記憶されている前記学習用画像情報と前記商品名とを用いて機械学習を行って、学習済みの識別エンジンを生成する学習部と、前記識別エンジンを用いて、前記取得部によって取得された前記対象商品の画像情報に基づいて、当該対象商品の商品名を識別する識別部と、を備え、前記記憶部は、一の商品の前記学習用画像情報と他の商品の前記学習用画像情報が類似する場合に、当該一の商品の前記商品名と当該他の商品の前記商品名とが対応付けられた類似画像商品名リストをさらに予め記憶し、前記端末装置は、前記識別部によって識別された前記対象商品の前記商品名が間違っており、ユーザによって正しい商品名が指定された場合に、前記対象商品の画像情報と、ユーザによって指定された前記正しい商品名とを前記商品認識サーバに送信するフィードバック部をさらに備え、前記商品認識サーバは、前記端末装置から送信された前記正しい商品名と、前記識別部によって識別された前記商品名とが、前記類似画像商品名リストに対応付けられて記憶されているか否かを判断し、前記識別部によって識別された前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されていない場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する、画像管理部をさらに備える。
【0010】
本開示に係る商品認識方法は、商品認識装置が、複数の商品について、少なくとも学習用画像情報と商品名とが対応付けられた画像データベースを予め記憶し、前記画像データベースに記憶されている前記学習用画像情報と前記商品名とを用いて機械学習を行って、学習済みの識別エンジンを生成し、前記識別エンジンを用いて、対象商品の画像情報に基づいて、当該対象商品の商品名を識別し、一の商品の前記学習用画像情報と他の商品の前記学習用画像情報が類似する場合に、当該一の商品の前記商品名と当該他の商品の前記商品名とが対応付けられた類似画像商品名リストをさらに予め記憶し、識別した前記対象商品の前記商品名が間違っており、ユーザによって正しい商品名が指定された場合に、識別した前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されているか否かを判断し、識別した前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されていない場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する、方法である。
【0011】
本開示に係るプログラムは、商品認識装置に、複数の商品について、少なくとも学習用画像情報と商品名とが対応付けられた画像データベースを予め記憶する処理と、前記画像データベースに記憶されている前記学習用画像情報と前記商品名とを用いて機械学習を行って、学習済みの識別エンジンを生成する処理と、前記識別エンジンを用いて、対象商品の画像情報に基づいて、当該対象商品の商品名を識別する処理と、一の商品の前記学習用画像情報と他の商品の前記学習用画像情報が類似する場合に、当該一の商品の前記商品名と当該他の商品の前記商品名とが対応付けられた類似画像商品名リストをさらに予め記憶する処理と、識別した前記対象商品の前記商品名が間違っており、ユーザによって正しい商品名が指定された場合に、識別した前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されているか否かを判断し、識別した前記商品名と前記正しい商品名とが、前記類似画像商品名リストに対応付けられて記憶されていない場合に、前記対象商品の画像情報と前記正しい商品名とを対応付けて前記画像データベースに格納する処理と、を実行させる、プログラムである。
【図面の簡単な説明】
【0012】
本発明の実施の形態は、以下の書面による説明から、実施の形態のみにより、及び図面とともに、当業者にはさらに理解され、容易に明らかになるであろう。
【
図1】実施の形態1に係る商品認識装置の構成を示すブロック図である。
【
図2】実施の形態2に係る商品認識システムの構成を示すブロック図である。
【
図3】実施の形態2に係る商品認識サーバの構成を示すブロック図である。
【
図4】実施の形態2に係る画像データベースのデータ構造を示す図である。
【
図5】実施の形態2に係る類似画像商品名リストのデータ構造を示す図である。
【
図6】実施の形態2に係るPOS端末装置の構成を示すブロック図である。
【
図7】実施の形態2に係るPOS端末装置の表示画面の一例を示す図である。
【
図8】実施の形態3に係る商品認識方法における学習処理を示すフローチャートである。
【
図9】実施の形態3に係る商品認識方法における類似画像商品名リストの作成処理を示すフローチャートである。
【
図10】実施の形態3に係る商品認識方法における識別処理を示すフローチャートである。
【
図11】実施の形態3に係る商品認識方法における識別処理を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【0014】
以下の実施の形態においては便宜上その必要があるときは、複数のセクション又は実施の形態に分割して説明する。ただし、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部又は全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む。)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【0015】
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似又は類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む。)についても同様である。
【0016】
実施の形態1
本実施の形態1について、
図1を用いて説明する。
図1は、本実施の形態1に係る商品認識装置100の構成を示すブロック図である。
【0017】
本実施の形態1における商品認識装置100は、データベースへ商品の情報を登録する装置である。例えば、商品認識装置100は、POSシステム等において用いられる装置であり、商品の販売時点において、当該商品を認識し、当該商品の売り上げデータを売り上げデータベースに登録する装置である。ここで、当該データベースは、後述する記憶部130に格納されていてもよいし、商品認識装置100の外部のサーバ等に格納されていてもよい。
【0018】
商品認識装置100は、
図1に示すように、機械学習を行う学習ブロック110、商品名の識別を行う識別ブロック120を備える。学習ブロック110は、学習部111、記憶部130を備える。識別ブロック120は、識別部121、画像管理部122、記憶部130を備える。換言すれば、学習ブロック110と識別ブロック120とは、記憶部130を共有している。
【0019】
記憶部130は、画像データベース131、類似画像商品名リスト132、識別エンジン133等を記憶している。
【0020】
画像データベース131は、複数の商品について、少なくとも当該商品の学習用の画像情報(以下、「学習用画像情報」と称する。)と当該商品の商品名とが対応付けられたデータベースである。換言すれば、画像データベース131は、複数の商品について、商品毎に、商品の学習用画像情報と、正解ラベルとしての当該商品の商品名とが対応付けられたデータベースである。
【0021】
類似画像商品名リスト132は、複数の商品について、一の商品の学習用画像情報と他の商品の学習用画像情報が類似する場合に、当該一の商品の商品名と当該他の商品の商品名とが対応付けられたリストである。換言すれば、類似画像商品名リスト132は、学習用画像情報が互いに類似する商品の商品名を対応付けてリストアップしたリストである。
【0022】
識別エンジン133は、商品の画像情報に基づいて当該商品の商品名を識別する機械学習モデルである。換言すれば、識別エンジン133は、商品の画像情報を入力として、当該商品の商品名を推論して出力する機械学習モデルである。なお、本明細書において、機械学習は深層学習であってもよいが、特に限定されない。
【0023】
学習部111は、画像データベース131に記憶されている学習用画像情報と商品名とを用いて機械学習を行って、学習済みの識別エンジン133を生成する。具体的には、学習部111は、画像データベース131に記憶されている学習用画像情報を識別エンジン133に入力し、商品名を推論させ、当該推論結果(商品名)が画像データベース131に記憶されている商品名(正解ラベル)となるように、識別エンジン133において用いられるパラメータの重み(「重みづけ」とも称する。)を更新する。これにより、学習部111は、学習済みの識別エンジン133を生成する。また、学習部111は、生成された学習済みの識別エンジン133を記憶部130に格納する。
【0024】
識別部121は、学習済みの識別エンジン133を用いて、対象商品の画像情報に基づいて、当該対象商品の商品名を識別する。具体的には、識別部121は、対象商品の画像情報を識別エンジン133に入力し、当該対象商品の商品名を推論させ、推論結果としての商品名を出力する。識別部121から出力された商品名は、商品認識装置100の表示部(図示省略)に表示され、ユーザに提示される。
【0025】
ユーザは、商品認識装置100の表示部(図示省略)に表示された商品名が間違っている場合、商品認識装置100の入力部(図示省略)を操作して、正しい商品名を指定する。
【0026】
商品認識装置100においてユーザによって正しい商品名が指定されると、画像管理部122は、識別部121によって識別された商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト132に対応付けられて記憶されているか否かを判断する。識別部121によって識別された商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト132に対応付けられて記憶されていない場合、画像管理部122は、対象商品の画像情報と正しい商品名とを対応付けて画像データベース131に格納する。
【0027】
本実施の形態1によれば、学習時間の増大及び記憶領域の圧迫を低減する商品認識装置100を提供することができる。具体的には、識別部121によって識別された商品名が間違っており、ユーザによって正しい商品名が指定された場合に、画像管理部122が、識別部121によって識別された商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト132に対応付けられて記憶されているか否かを判断する。そして、識別部121によって識別された商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト132に対応付けられて記憶されていない場合に、画像管理部122が、対象商品の画像情報と正しい商品名とを対応付けて画像データベース131に格納する。そのため、似た形を有する中身が異なるパン等、外観の特徴に差分がない複数の商品名に亘って、類似する画像情報が画像データベース131に格納されることを防ぐことができ、記憶領域の圧迫を低減できる。さらに、画像データベース131に格納されるデータ量が増えることによる学習時間の増大を低減することができる。これにより、学習時間の増大及び記憶領域の圧迫を低減する商品認識装置100を提供することができる。
【0028】
実施の形態2
本実施の形態2について、
図2を用いて説明する。
図2は、本実施の形態2に係る商品認識システム200の構成を示すブロック図である。
【0029】
本実施の形態2の商品認識システム200は、例えばレストランやスーパーマーケット等において用いられるPOSシステムとして構成されるが、これに限られず、通信可能なサーバ及び端末装置を備えるシステムであればよい。本実施の形態2において、商品認識システム200は、商品認識サーバ300及びPOS端末装置400を備える。商品認識サーバ300及びPOS端末装置400は互いに通信可能である。また、商品認識システム200は、POS端末装置400を複数備えてもよい。換言すれば、商品認識サーバ300と複数のPOS端末装置400とは互いに通信可能となっていてもよい。
【0030】
図3に、商品認識サーバ300の構成の一例を示す。商品認識サーバ300は、
図3に示すように、学習用データ取得部301、学習部302、リスト作成部303、識別部304、画像管理部305、制御部306、入力部307、表示部308、サーバ側記憶部309、及びサーバ側通信部310を備える。入力部307と表示部308は、タッチパネル付ディスプレイとして一つの構成としてもよいし、それぞれ別個に設けてもよい。商品認識サーバ300は、後に説明するとおり、識別エンジン313(後述)を用いて、POS端末装置400において取得された対象商品の画像情報に基づいて、当該対象商品の商品名を識別する。商品認識サーバ300は、POS端末装置400の運用状況の管理等、様々な販売情報の管理を行う機能を更に備えてもよい。
【0031】
学習用データ取得部301は、POS端末装置400によって撮影された商品の学習用画像情報と、当該商品の商品名とを取得する。商品の学習用画像情報は、機械学習に用いられる商品の画像(以下、「学習用画像」と称する。)と当該学習用画像から算出された1以上の特徴点とを含む。また、商品の学習用画像は、商品を上面から撮影して得られる画像、商品を側面から撮影して得られる画像等、商品の認識に有用な画像であってもよい。また、学習用画像情報は、学習用画像を特定する、当該学習用画像のバイナリ情報や当該学習用画像の保存先パスに関する情報であってもよい。本明細書では、学習用画像情報として、商品の学習用画像と当該学習用画像から算出された1以上の特徴点とを例に挙げて説明する。また、学習用画像は、対象商品の識別を行うための基準画像としての役割も担う。なお、学習用データ取得部301は、商品を撮影するカメラを備え、当該カメラによって撮影された商品の画像を学習用画像として取得してもよい。学習用データ取得部301は、取得した学習用画像情報と商品名とを対応付けて、画像データベース311(後述)に登録する。なお、学習用画像情報と商品名とは、ユーザによって、画像データベース311に登録されてもよい。
【0032】
また、学習用データ取得部301は、POS端末装置400から送信された商品の画像から更に商品のバーコードやQRコード(登録商標)等の商品識別情報を読み取ってもよい。また、学習用データ取得部301は、商品の画像からPOS端末装置400が読み取った商品バーコード等の商品識別情報を、当該POS端末装置400から取得してもよい。学習用データ取得部301は、取得した商品識別情報を学習用画像と商品名とを対応付けて、画像データベース311(後述)に登録してもよい。
【0033】
学習部302は、サーバ側記憶部309に記憶されている画像データベース311に記憶されている学習用画像情報と商品名とを用いて機械学習を行って、学習済みの識別エンジン313を生成する。具体的には、学習部302は、画像データベース311に記憶されている学習用画像を識別エンジン313に入力し、商品名を推論させ、当該推論結果(商品名)が画像データベース311に記憶されている商品名(正解ラベル)となるように、識別エンジン313において用いられるパラメータの重み(「重みづけ」とも称する。)を更新する。これにより、学習部302は、学習済みの識別エンジン313を生成する。また、学習部302は、生成された学習済みの識別エンジン313をサーバ側記憶部309に格納する。
【0034】
より具体的には、学習部302が、画像データベース311に記憶されている商品の学習用画像を識別エンジン313に入力することにより、識別エンジン313において当該学習用画像の1つ以上の特徴点が算出される。なお、学習用画像からの特徴点の算出処理は、既知の画像認識処理と同様であるため、その詳細については説明を省略する。次に、識別エンジン313において、画像データベース311に記憶されている複数の商品毎に、当該商品の特徴点と、入力された学習用画像から算出した当該特徴点とに基づいて、類似度が算出される。ここで、類似度とは、一の画像と他の画像とがどの程度似ているかを示す指標である。そして、識別エンジン313から、画像データベース311に記憶されている商品名のうち、最も類似度が高い商品名が、入力された学習用画像の商品の商品名として出力される。次に、学習部302は、識別エンジン313から出力された商品名と、識別エンジン313に入力した学習用画像の商品名(正解ラベル)との差異を算出する。そして、学習部302は、当該差異が所定の値より大きい場合、識別エンジン313において用いられるパラメータの重みを更新し、上述の処理を再度行う。当該差異が所定の値以下となった場合、学習部302は、機械学習が終了したと判断し、重みが更新された識別エンジン313をサーバ側記憶部309に格納する。なお、所定の値は、目的に応じて決定される比較的小さな値である。
【0035】
リスト作成部303は、類似画像商品名リスト312を作成する。具体的には、リスト作成部303は、画像データベース311に格納されている一の商品の学習用画像の特徴点と他の商品の学習用画像の特徴点とを比較し、類似度を算出する。次に、リスト作成部303は、当該類似度が所定の値以上である複数の商品の商品名を対応付けた類似画像商品名リスト312を作成する。そして、作成された類似画像商品名リスト312はサーバ側記憶部309に格納される。
【0036】
識別部304は、POS端末装置400から送信された対象商品の画像を取得する。そして、識別部304は、学習済みの識別エンジン313を用いて、対象商品の画像に基づいて、対象商品の商品名を識別する。具体的には、識別部304は、POS端末装置400から送信された対象商品の画像を識別エンジン313に入力し、対象商品の商品名を推論させる。
【0037】
より具体的には、識別部304が対象商品の画像を学習済みの識別エンジン313に入力することにより、識別エンジン313において対象商品の画像の1つ以上の特徴点が算出される。次に、識別エンジン313において、対象商品の画像の特徴点と、サーバ側記憶部309に記憶された基準画像の特徴点とが比較され、対象商品の画像とサーバ側記憶部309に記憶された商品の基準画像との類似度が算出される。なお、識別部304は、画像データベース311に格納されている学習用画像を基準画像として用いる。また、識別部304は、POS端末装置400から送信された、複数の対象商品の画像部分を含む画像を取得してもよい。その場合、識別部304は、複数の対象商品の画像部分を含む画像から、当該複数の対象商品のそれぞれの画像部分を特定し、それぞれの対象商品について、対象商品の画像部分を学習済みの識別エンジン313に入力して上記類似度を算出させる。そして、学習済みの識別エンジン313から、推論結果として、それぞれの対象商品について、画像データベース311に格納されている商品の商品名と類似度とが対応付けられて出力される。
なお、対象商品の画像からの特徴点の算出処理は、既知の画像認識処理と同様であるため、その詳細については説明を省略する。また、算出された類似度は「スコア」とも称される。
【0038】
そして、識別部304は、学習済みの識別エンジン313から出力された類似度のうち、類似度が最も高い商品名を対象商品の商品名と設定する。
また、識別部304は、学習済みの識別エンジン313から出力された類似度が高い順に所定の数の商品名を候補商品の商品名として設定する。
そして、サーバ側通信部310によって、識別部304によって設定された対象商品の商品名及びその類似度、並びに識別部304によって設定された候補商品の商品名及びその類似度がPOS端末装置400に送信される。なお、対象商品の商品名は候補商品の商品名に含まれてもよい。
【0039】
POS端末装置400は、商品認識サーバ300から送信された対象商品の商品名を表示部407(後述)に表示する。また、POS端末装置400は、商品認識サーバ300から送信された所定の数の候補商品の商品名を表示部407に選択可能に表示する。ユーザは、POS端末装置400の表示部407に表示された対象商品の商品名が間違っている場合、POS端末装置400の入力部406(後述)を操作して、表示部407に選択可能に表示された候補商品の商品名から正しい商品名を指定する。
【0040】
POS端末装置400においてユーザによって正しい商品名が指定されると、画像管理部305は、識別部304によって対象商品の商品名として識別された商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト312に対応付けられて記憶されているか否かを判断する。
識別部304によって対象商品の商品名として識別された商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト312に対応付けられて記憶されていない場合、画像管理部305は、対象商品の画像情報と正しい商品名とを対応付けて画像データベース311に格納する。
また、識別部304によって対象商品の商品名として識別された商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト312に対応付けられて記憶されている場合、画像管理部305は、対象商品の画像情報と正しい商品名とを対応付けて画像データベース311に格納しない。
【0041】
あるいは、識別部304によって対象商品の商品名として識別された商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト312に対応付けられて記憶されている場合、画像管理部305は、対象商品の画像情報と正しい商品名とを対応付けて画像データベース311に格納する回数を計測してもよい。そして、画像管理部305は、当該回数が所定の値を超えたら、対象商品の画像情報と正しい商品名との画像データベース311への格納を止めてもよい。
【0042】
制御部306は、商品認識サーバ300の各部の動作を制御する。制御部306は、中央演算処理装置(CPU)、記憶手段、入出力ポート(I/O)等を備える。記憶手段は、読出専用メモリ(ROM)、ランダムアクセスメモリ(RAM)等であってもよい。そして、中央演算処理装置(CPU)が、記憶手段に格納された各種プログラムを実行することにより、制御部306の機能が実現される。
【0043】
入力部307は、ユーザからの操作指示を受け付ける。入力部307は、キーボードにより構成されてもよいし、タッチパネル式の表示装置によって構成されてもよい。入力部307は、商品認識サーバ300本体と接続されるキーボードやタッチパネルによって構成されてもよい。なお、ユーザからの操作指示を、入力部307の代わりに、POS端末装置400の入力部406が受け付けてもよい。
【0044】
表示部308は、学習用データ取得部301によって取得された商品の画像を表示する。表示部308は、識別部304が特徴点計算処理において算出した商品の特徴点に基づいて、商品名の候補を表示してもよい。表示部308は、LCD(liquid crystal display),LED(light emitting diode)等、様々な表示手段によって構成される。表示部308に表示される内容は、POS端末装置400の表示部407に表示されてもよい。また、表示部308に表示される内容は、ユーザが所有する携帯電話機(いわゆるスマートフォンを含む。)等の機器に表示されてもよい。
【0045】
サーバ側記憶部309は、画像データベース311、類似画像商品名リスト312、識別エンジン313等を格納している。また、サーバ側記憶部309は、処理に必要な各種のプログラムや各種のデータが固定的に記憶されている不揮発性のメモリ(例えば、ROM(Read Only Memory))を含むことができる。また、サーバ側記憶部309は、HDDやSSDを用いるものであってもよい。さらに、サーバ側記憶部309は、作業領域として用いられる揮発性のメモリ(例えば、RAM(Random Access Memory))を含むことができる。上記プログラムは、光ディスク、半導体メモリ等の可搬性の記録媒体から読み取られてもよいし、ネットワーク上のサーバ装置からダウンロードされてもよい。
【0046】
画像データベース311は、複数の商品について、少なくとも当該商品の学習用画像情報と当該商品の商品名とが対応付けられたデータベースである。本明細書では、学習用画像情報として、商品の学習用画像と当該学習用画像から算出された1以上の特徴点とを例に挙げて説明する。また、学習用画像は、商品の識別を行うための基準画像としての役割も担う。
図4に、画像データベース311のデータ構造の一例を示す。
図4に示すように、画像データベース311は、商品の商品名311Aと、商品識別情報としての商品識別コード311Bと、学習用画像(基準画像)311Cと、学習用画像から予め算出された特徴点311Dとを対応付けて記憶している。ここで、商品識別コード311Bは、例えば、学習用データ取得部301によって、POS端末装置400から送信された商品の画像から取得される。また、商品識別コードとして、例えばPLU(Price Look Up)コードやJAN(Japanese Article Number)コード等の商品を識別するためのコードを用いることができる。また、学習用画像311Cは、学習用データ取得部301によって取得された商品の画像であり、例えば、POS端末装置400によって撮影された商品の画像である。換言すれば、画像データベース311は、複数の商品について、商品毎に、正解ラベルとしての当該商品の商品名311Aと、商品識別コード311Bと、学習用画像311Cと、特徴点311Dとが対応付けられたデータベースである。
【0047】
類似画像商品名リスト312は、複数の商品について、一の商品の学習用画像情報と他の商品の学習用画像情報が類似する場合に、当該一の商品の商品名と当該他の商品の商品名とが対応付けられたリストである。換言すれば、類似画像商品名リスト312は、学習用画像311Cが互いに類似する商品の商品名を対応付けてリストアップしたリストである。また、類似画像商品名リスト312は、リスト作成部303によって作成されたものである。より具体的には、類似画像商品名リスト312は、画像データベース311に格納されている一の商品の特徴点311Dと他の商品の特徴点311Dとの類似度が所定の値以上である場合に、当該一の商品の商品名311Aと他の商品の商品名311Aとを対応付けて記憶している。
【0048】
図5に、類似画像商品名リスト312のデータ構造の一例を示す。
図5に示すように、類似画像商品名リスト312は、類似商品番号312A毎に、学習用画像311Cが互いに類似する商品の商品名312B、312C、312D、・・・を対応付けて記憶している。例えば、
図5に示す例では、類似画像商品名リスト312は、類似商品番号「000001」の行に、学習用画像311Cが互いに類似する商品の商品名「グラタン」、「エビドリア」、「シチュー」、・・・を対応付けて記憶している。また、類似画像商品名リスト312は、類似商品番号「000002」の行に、学習用画像311Cが互いに類似する商品の商品名「たまごパン」、「ツナパン」、「ポテトパン」、・・・を対応付けて記憶している。
【0049】
識別エンジン313は、商品の画像情報に基づいて当該商品の商品名を識別する機械学習モデルである。換言すれば、識別エンジン313は、商品の画像情報を入力として、当該商品の商品名を推論して出力する機械学習モデルである。なお、本明細書において、機械学習は深層学習であってもよいが、特に限定されない。
【0050】
サーバ側通信部310は、POS端末装置400と通信を行う。サーバ側通信部310は、POS端末装置400と無線通信を行うアンテナ(不図示)を備えてもよいし、有線通信を行うためのNIC(Network Interface Card)等のインタフェースを備えてもよい。そして、サーバ側通信部310は、POS端末装置400から送信された、対象商品の画像を受信する。また、サーバ側通信部310は、当該対象商品について、識別部304によって識別された対象商品の商品名及びその類似度と、候補商品の商品名及びその類似度とをPOS端末装置400に送信する。
【0051】
図6に、POS端末装置400の構成の一例を示す。POS端末装置400は、撮像部401、ソート部402、出力部403、フィードバック部404、制御部405、入力部406、表示部407、端末側記憶部408、端末側通信部409、及び精算処理部410を備える。入力部406と表示部407は、タッチパネル付ディスプレイとして一つの構成であってもよいし、それぞれ別個に設けられてもよい。POS端末装置400は、例えばレジに設置される専用コンピュータ等である。また、POS端末装置400は、後に説明するとおり、対象商品を撮影し、商品認識サーバ300から送信された類似度に基づいて、対象商品の商品名及び候補商品の商品名を選択可能に表示し、決済処理を行う。
【0052】
撮像部401は、登録を行う対象商品を撮影し、当該対象商品の画像を取得する。また、撮像部401は、登録を行う複数の対象商品を一度に撮影し、複数の対象商品の画像部分を含む画像を取得してもよい。また、撮像部401は、商品の学習用画像を取得してもよい。また、撮像部401は、商品のバーコードやQRコード(登録商標)等の商品識別情報を読み取る機能を備えてもよい。撮像部401は、対象商品を撮影するカメラを備えてもよい。撮像部401が取得した対象商品の画像、商品の学習用画像、商品識別情報は、端末側通信部409によって、商品認識サーバ300に送信される。
【0053】
ソート部402は、商品認識サーバ300から送信された候補商品の商品名を類似度の高い順にソートする。
【0054】
出力部403は、表示部407(後述)の画面の所定の部分に表示される合成画像と、表示部407の画面の他の部分に表示される候補商品リストとを生成する。
具体的には、出力部403は、対象商品の画像部分に、識別部304によって識別された当該対象商品の商品名が重ねて配置された合成画像を生成する。
また、出力部403は、ソート部402によってソートされた順番に従って候補商品の商品名を選択可能に配列した候補商品リストを生成する。
また、出力部403が生成した合成画像及び候補商品リストは、表示部407へ出力され、表示部407に表示される。
【0055】
表示部407に表示された対象商品の商品名が間違っている場合、ユーザは、入力部406(後述)を操作して、正しい商品名を指定する。フィードバック部404は、ユーザによって正しい商品名が指定されると、当該正しい商品名を端末側通信部409に出力し、端末側通信部409によって当該正しい商品名が商品認識サーバ300に送信される。
【0056】
制御部405は、POS端末装置400の各部の動作を制御する。制御部405は、中央演算処理装置(CPU)、記憶手段、入出力ポート(I/O)等を備える。記憶手段は、読出専用メモリ(ROM)、ランダムアクセスメモリ(RAM)等であってもよい。そして、中央演算処理装置(CPU)が、記憶手段に格納された各種プログラムを実行することにより、制御部405の機能が実現される。
【0057】
入力部406及び表示部407は、それぞれ商品認識サーバ300の入力部307及び表示部308と同様の機能を備えるため、その説明を省略する。
【0058】
端末側記憶部408の構成等は、サーバ側記憶部309と同様であるため、その説明を省略する。
【0059】
端末側通信部409は、商品認識サーバ300と通信を行う。端末側通信部409は、商品認識サーバ300と無線通信を行うアンテナ(不図示)を備えてもよいし、有線通信を行うためのNIC(Network Interface Card)等のインタフェースを備えてもよい。そして、端末側通信部409は、撮像部401が取得した、対象商品の画像、商品の学習用画像、商品識別情報を商品認識サーバ300に送信する。また、端末側通信部409は、商品認識サーバ300から送信された、対象商品の商品名及びその類似度と候補商品の商品名及びその類似度とを受信する。また、端末側通信部409は、フィードバック部404から入力された正しい商品名を商品認識サーバ300に送信する。
【0060】
精算処理部410は、ユーザが購入等を行う商品の合計金額を算出し、決済処理を行う。精算処理部410は、売り上げの処理や売り上げの内容を処理する機能を備えてもよい。
【0061】
出力部403によって生成された合成画像40と候補商品リスト50を表示する表示部407の画面30の一例を
図7に示す。
図7において、表示部407はタッチパネルである。
図7に示す画面30では、当該画面30の左側に合成画像40が表示され、右側に候補商品リスト50が表示されている。候補商品リスト50には、候補商品のうち、類似度の高い順に1番目~5番目の候補商品の商品名が選択可能に配列されている。また、
図7に示す画面30には、候補商品リスト50の上側に、ユーザによって操作されることにより、候補商品を候補商品リスト50に挙げるための選択ボタン60が表示されている。選択ボタン60には、「あ行」ボタン、「か行」ボタン、・・・、「わ行」ボタン、「候補」ボタン61、「0円」ボタンが含まれている。そして、ユーザが選択ボタン60の例えば「あ行」ボタンをタッチすると、候補商品リスト50に、あ行の文字から始まる商品名であって、類似度の高い順に1番目~5番目の候補商品の商品名が選択可能に配列される。また、
図7に示す画面30には、その他に、「確定」ボタン71、「ページアップ」ボタン72、「ページダウンボタン」73等の画像が表示されている。
【0062】
図7に示す例では、レストランにおいてユーザ(顧客)が当該POS端末装置400において精算を行う際に、ユーザが購入する複数の対象商品が載せられたトレイ41を撮像部401が撮影する。そして、撮像部401が撮像した複数の対象商品の画像部分を含む画像が商品認識サーバ300に送信される。
図7に示す例では、トレイ41上に、2つの対象商品A、Bが載せられており、対象商品Aは「エビドリア」、対象商品Bは「ミニサラダ」である。
【0063】
そして、識別部304が、2つの対象商品A、Bのそれぞれについて、類似度が最も高い商品名を対象商品の商品名として識別し、類似度が高い順に所定の数の商品名を候補商品の商品名として設定する。
図7に示す例では、対象商品Aについて、類似度が高い順に5つの商品名「グラタン」、「エビドリア」、「シチュー」、「カレー」、「コーンスープ」が候補商品の商品名として設定され、対象商品Bについて、類似度が高い順に5つの商品名「ミニサラダ」、「冷やしうどん」、「コロッケ」、「から揚げ」、「野菜チゲ」が候補商品の商品名として設定されている。
【0064】
次に、ソート部402が、対象商品A、Bのそれぞれについて、識別部304が設定した候補商品の商品名を類似度の高い順にソートする。
図7に示す例では、対象商品Aについて、類似度が高い順に5つの候補商品の商品名「グラタン」、「エビドリア」、「シチュー」、「カレー」、「コーンスープ」がソートされている。また、対象商品Bについて、類似度が高い順に5つの候補商品の商品名「ミニサラダ」、「冷やしうどん」、「コロッケ」、「から揚げ」、「野菜チゲ」がソートされている。
【0065】
そして、出力部403は、合成画像40と候補商品リスト50とを生成する。この時、出力部403は、対象商品の画像部分に、識別部304によって識別された当該対象商品の商品名が重ねて配置された合成画像40を生成する。また、出力部403は、ソート部402によってソートされた順番に従って候補商品の商品名を選択可能に配列した候補商品リスト50を生成する。
図7に示す例では、合成画像40において、対象商品Aの画像部分に商品名「グラタン」、「エビドリア」、「シチュー」、「カレー」、「コーンスープ」が重ねて配置され、対象商品Bの画像部分に商品名「ミニサラダ」、「冷やしうどん」、「コロッケ」、「から揚げ」、「野菜チゲ」が重ねて配置されている。また、合成画像40において、対象商品Aについて識別部304によって識別された商品名「グラタン」に下線が付されており、対象商品Bについて識別部304によって識別された商品名「ミニサラダ」に下線が付されている。また、
図7に示す例では、候補商品リスト50において、対象商品Aの候補商品の商品名、「グラタン」、「エビドリア」、「シチュー」、「カレー」、「コーンスープ」が選択可能に配列されている。
【0066】
図7に示す例において、対象商品Aは「エビドリア」であるため、合成画像40に表示された対象商品Aの商品名「グラタン」は間違っている。そのため、ユーザは、候補商品リスト50の中から正しい商品名「エビドリア」を選択する。この時、出力部403は、合成画像40の対象商品Aの画像部分に重ね合せた候補商品の商品名のうち、ユーザによって選択された候補商品の商品名を示す文字「エビドリア」に下線を付し、「グラタン」から下線を取った合成画像40をさらに生成してもよい。そして、フィードバック部404は、当該正しい商品名「エビドリア」を端末側通信部409に出力し、端末側通信部409によって当該正しい商品名が商品認識サーバ300に送信される。
【0067】
また、出力部403は、ユーザが、例えば、合成画像40内の対象商品Bの画像部分をタッチすることにより対象商品Bを選択した状態で、「候補」ボタン61をタッチした場合、候補商品リスト50に、対象商品Bについて、類似度が高い順に5つの候補商品の商品名「ミニサラダ」、「冷やしうどん」、「コロッケ」、「から揚げ」、「野菜チゲ」を配列してもよい。
【0068】
そして、ユーザが画面30の「確定」ボタン71をタッチすると、対象商品A、Bの商品名が確定され、精算処理部410が、ユーザが購入等を行う商品の合計金額を算出し、決済処理を行う。
【0069】
本実施の形態2によれば、学習時間の増大及び記憶領域の圧迫を低減する商品認識システム200を提供することができる。具体的には、識別部304によって識別された対象商品の商品名が間違っており、ユーザによって正しい商品名が指定された場合に、画像管理部305が、識別部304によって識別された対象商品の商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト312に対応付けられて記憶されているか否かを判断する。そして、識別部304によって識別された対象商品の商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト312に対応付けられて記憶されていない場合に、画像管理部305が、対象商品の画像情報と正しい商品名とを対応付けて画像データベース311に格納する。そのため、似た形を有する中身が異なるパン等、外観の特徴に差分がない複数の商品名に亘って、類似する画像情報が画像データベース311に格納されることを防ぐことができ、記憶領域の圧迫を低減できる。さらに、画像データベース311に格納されるデータ量が増えることによる学習時間の増大を低減することができる。これにより、学習時間の増大及び記憶領域の圧迫を低減する商品認識システム200を提供することができる。
【0070】
また、識別部304によって識別された対象商品の商品名が間違っており、当該対象商品の商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト312に対応付けられて記憶されている場合、画像管理部305は、対象商品の画像情報と正しい商品名とを対応付けて画像データベース311に格納する回数を計測する。そして、画像管理部305は、当該回数が所定の値を超えたら、対象商品の画像情報と正しい商品名との画像データベース311への格納を止める。これにより、互いに外観が類似する複数の商品について、それぞれの商品の画像情報を画像データベース311に格納しつつ、互いに外観が類似する複数の商品に亘って、類似する画像情報が必要以上に画像データベース311に格納されることを防ぐことができ、記憶領域の圧迫を低減できる。
【0071】
また、候補商品リスト50において、類似度の高い順に候補商品の商品名が選択可能に配列される。これにより、ユーザは、候補商品リスト50において、対象商品として正しい可能性が高い候補商品の商品名から視認することができる。
【0072】
また、出力部403は、合成画像40内の対象商品の画像部分に重ね合せた商品名のうち、ユーザによって選択された商品名に新たに下線を付した合成画像をさらに生成する。これにより、ユーザは、自身が選択した商品がどの商品であるかを、合成画像40において視認することができる。
【0073】
なお、上記の実施の形態2において、商品認識サーバ300に備えられた学習部302、識別部304の機能及び識別エンジン313がPOS端末装置400に備えられ、対象商品の識別処理は、POS端末装置400において行われてもよい。
また、類似画像商品名リスト312がPOS端末装置400に備えられていてもよい。この場合、フィードバック部404が、識別部304によって識別された対象商品の商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト312に対応付けられて記憶されているか否かを判断してもよい。そして、フィードバック部404は、当該対象商品の商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト312に対応付けられて記憶されていない場合に、当該正しい商品名を端末側通信部409に出力し、端末側通信部409によって当該正しい商品名が商品認識サーバ300に送信されてもよい。
【0074】
実施の形態3
実施の形態3に係る商品認識方法について、
図8~
図11を参照しながら、説明する。本実施の形態3に係る商品認識方法は、本開示における商品認識システム200によって実施される方法である。
図8は、当該商品認識方法における学習処理を示すフローチャートである。
図9は、当該商品認識方法における類似画像商品名リストの作成処理を示すフローチャートである。
図10及び
図11は、当該商品認識方法における識別処理を示すフローチャートである。
【0075】
最初に、
図8に示す学習処理について説明する。まず、撮像部401が商品の学習用画像を取得し、端末側通信部409が当該商品の商品名と学習用画像とを対応付けて商品認識サーバ300に送信する(ステップS101)。なお、撮像部401は、商品識別コード(商品識別情報)を読み取ってもよく、商品名と商品識別コードと学習用画像とが対応付けられて商品認識サーバ300に送信されてもよい。
【0076】
次に、学習用データ取得部301が、POS端末装置400から送信された商品の商品名及び学習用画像を受信し、当該商品名と当該学習用画像とを対応付けて画像データベース311に格納する(ステップS102)。また、学習用データ取得部301が、学習用画像から1つ以上の特徴点を算出し、当該特徴点を商品名及び当該学習用画像と対応付けて画像データベース311に格納する。なお、学習用データ取得部301は、商品名と商品識別コードと学習用画像とを対応付けて画像データベース311に格納してもよい。また、学習用画像と商品名とはユーザによって画像データベース311に登録されてもよい。
【0077】
次に、学習部302が、サーバ側記憶部309に記憶されている画像データベース311に記憶されている学習用画像と商品名とを用いて機械学習を行う(ステップS103)。具体的には、学習部302は、画像データベース311に記憶されている学習用画像を識別エンジン313に入力し、商品名を推論させ、当該推論結果(商品名)を画像データベース311に記憶されている商品名(正解ラベル)となるように、識別エンジン313において用いられるパラメータの重みを更新する。
【0078】
次に、ステップS103の機械学習が終了すると、学習部302が、学習済みの識別エンジン313をサーバ側記憶部309に格納し(ステップS104)、当該学習処理を終了する。
【0079】
次に、
図9に示す、類似画像商品名リスト312の作成処理について説明する。まず、リスト作成部303が、画像データベース311に格納されている一の商品の学習用画像の特徴点と他の商品の学習用画像の特徴点とを比較し、類似度を算出する(ステップS201)。
【0080】
次に、リスト作成部303は、ステップS201において算出した類似度が所定の値以上である複数の商品の商品名を対応付けた類似画像商品名リスト312を作成する(ステップS202)。そして、リスト作成部303は、作成した類似画像商品名リスト312をサーバ側記憶部309に格納し、当該作成処理を終了する。
【0081】
次に、
図10及び
図11に示す識別処理について説明する。まず、撮像部401が対象商品の画像を取得し、端末側通信部409が当該対象商品の画像を商品認識サーバ300に送信する(ステップS301)。なお、撮像部401は、撮像部401は、複数の対象商品を一度に撮影してもよく、複数の対象商品の画像部分を含む画像が商品認識サーバ300に送信されてもよい。また、撮像部401は、商品識別コード(商品識別情報)を読み取ってもよく、対象商品の商品識別コードと画像とが対応付けられて商品認識サーバ300に送信されてもよい。
【0082】
次に、識別部304が、ステップS301においてPOS端末装置400から送信された、対象商品の画像を識別エンジン313に入力し、識別エンジン313によって特徴点が算出される(ステップS302)。
【0083】
次に、識別エンジン313において、ステップS302において算出した、対象商品の画像の特徴点と、画像データベース311に記憶されている商品の基準画像の特徴点とを比較することにより類似度(スコア)が算出される(ステップS303)。識別エンジン313は、推論結果として、画像データベース311に記憶されている商品の商品名と算出した類似度とを対応付けて出力する。
【0084】
次に、識別部304が、画像データベース311に記憶されている商品名のうち、ステップS303において算出された類似度が最も高い商品名を対象商品の商品名として設定する(ステップS304)。そして、サーバ側通信部310によって、当該対象商品の商品名及び類似度がPOS端末装置400に送信される。
【0085】
次に、識別部304が、画像データベース311に記憶されている商品名のうち、ステップS303において算出された類似度が高い順に所定の数の商品名を候補商品の商品名として設定する(ステップS305)。そして、サーバ側通信部310によって、当該候補商品の商品名及び類似度がPOS端末装置400に送信される。
【0086】
次に、ソート部402が、商品認識サーバ300から送信された候補商品の商品名を類似度の高い順にソートする(ステップS306)。
【0087】
次に、出力部403が、ステップS304において設定された対象商品の商品名を表示する合成画像40と、ステップS306においてソートされた順番に従って候補商品の商品名を選択可能に配列した候補商品リスト50とを生成する(ステップS307)。そして、出力部403が生成した合成画像40及び候補商品リスト50は、表示部407へ出力され、表示部407に表示される。
【0088】
ステップS305において設定された対象商品の商品名が間違っている場合、ユーザにより、候補商品リスト50から正しい商品名が指定される。そのため、フィードバック部404は、ユーザによって正しい商品名が指定されたか否かを判断する(ステップS308)。
【0089】
ステップS308において、ユーザによって正しい商品名が指定されなかった場合(ステップS308;No)、本処理を終了する。
ステップS308において、ユーザによって正しい商品名が指定された場合(ステップS308;Yes)、端末側通信部409が当該正しい商品名を商品認識サーバ300に送信する(ステップS309)。
【0090】
次に、画像管理部305が、ステップS304において設定された対象商品の商品名と、ステップS309においてPOS端末装置400から送信された正しい商品名とが、類似画像商品名リスト312において同一の類似商品番号312Aの行に含まれるか否かを判断する(ステップS310)。換言すれば、画像管理部305は、設定された対象商品の商品名と正しい商品名とが、類似画像商品名リスト312対応付けられて記憶されているか否かを判断する。
【0091】
ステップS310において、設定された対象商品の商品名と正しい商品名とが類似画像商品名リスト312において同一の類似商品番号312Aの行に含まれる場合(ステップS310;Yes)、本処理を終了する。
ステップS310において、設定された対象商品の商品名と正しい商品名とが類似画像商品名リスト312において同一の類似商品番号312Aの行に含まれない場合(ステップS310;No)、画像管理部305が、対象商品の画像情報と正しい商品名とを対応付けて画像データベース311に格納する(ステップS311)、本処理を終了する。
【0092】
なお、ステップS310において、設定された対象商品の商品名と正しい商品名とが類似画像商品名リスト312において同一の類似商品番号312Aの行に含まれる場合(ステップS310;Yes)、画像管理部305は、対象商品の画像情報と正しい商品名とを対応付けて画像データベース311に格納するとともに、格納する回数を計測してもよい。そして、画像管理部305は、当該回数が所定の値を超えたら、対象商品の画像情報と正しい商品名との画像データベース311への格納を止めてもよい。
【0093】
その他の実施の形態
次に、その他の実施の形態に係る商品認識方法について簡単に説明する。その他の実施の形態に係る商品認識方法は、本開示における商品認識装置100によって実施される方法である。
【0094】
まず、学習部111が、画像データベース131に記憶されている学習用画像情報と商品名とを用いて機械学習を行って、学習済みの識別エンジン133を生成する。また、学習部111は、生成された学習済みの識別エンジン133を記憶部130に格納する。
【0095】
次に、識別部121が、学習済みの識別エンジン133を用いて、対象商品の画像情報に基づいて、当該対象商品の商品名を識別する。具体的には、識別部121は、対象商品の画像情報を識別エンジン133に入力し、当該対象商品の商品名を推論させ、推論結果としての商品名を出力する。識別部121から出力された商品名は、商品認識装置100の表示部(図示省略)に表示され、ユーザに提示される。ユーザは、商品認識装置100の表示部(図示省略)に表示された商品名が間違っている場合、商品認識装置100の入力部(図示省略)を操作して、正しい商品名を指定する。
【0096】
次に、画像管理部122は、ユーザによって正しい商品名が指定されたか否かを判断する。ユーザによって正しい商品名が指定されなかった場合、本処理を終了する。ユーザによって正しい商品名が指定された場合、画像管理部122は、識別部121によって識別された商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト132に対応付けられて記憶されているか否かを判断する。
【0097】
識別部121によって識別された商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト132に対応付けられて記憶されている場合、本処理を終了する。
識別部121によって識別された商品名と、ユーザによって指定された正しい商品名とが、類似画像商品名リスト132に対応付けられて記憶されていない場合、画像管理部122は、対象商品の画像情報と正しい商品名とを対応付けて画像データベース131に格納する。
【0098】
上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、
図8~
図11のフローチャートに記載の処理手順及びその他の実施の形態に記載の処理手順を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
【0099】
上記の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体は、例えば、磁気記録媒体、光磁気記録媒体、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリを含む。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)等である。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0100】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0101】
100 商品認識装置
200 商品認識システム
300 商品認識サーバ
400 POS端末装置(端末装置)
111、302 学習部
121、304 識別部
122、305 画像管理部
130 記憶部
131、311 画像データベース
132、312 類似画像商品名リスト
133、313 識別エンジン
309 サーバ側記憶部(記憶部)
401 撮像部(取得部)
404 フィードバック部
【要約】
【課題】学習時間の増大及び記憶領域の圧迫を低減する商品認識装置、商品認識システム、商品認識方法、及びプログラムを提供する。
【解決手段】商品認識装置100は、複数の商品の学習用画像情報と商品名とが対応付けられた画像データベース131と、外観が類似する複数の商品の商品名が対応付けられた類似画像商品名リスト132とを予め記憶する記憶部130と、機械学習済みの識別エンジン133を生成する学習部111と、識別エンジン133を用いて、対象商品の画像情報に基づいて商品名を識別する識別部121と、を備え、識別部121による識別が間違っており、ユーザによって正しい商品名が指定された場合に、識別部121によって識別された商品名と当該正しい商品名とが、類似画像商品名リスト132に記憶されていない場合に、対象商品の画像情報と正しい商品名とを画像データベース131に格納する、画像管理部122をさらに備える。
【選択図】
図1