(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176134
(43)【公開日】2024-12-19
(54)【発明の名称】情報処理プログラム、情報処理方法および情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20241212BHJP
G06V 10/70 20220101ALI20241212BHJP
G06Q 30/0242 20230101ALI20241212BHJP
【FI】
G06T7/00 350B
G06V10/70
G06Q30/0242
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023094416
(22)【出願日】2023-06-07
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】谷田 英生
(72)【発明者】
【氏名】外川 太郎
(72)【発明者】
【氏名】中里 克久
【テーマコード(参考)】
5L030
5L049
5L096
【Fターム(参考)】
5L030BB08
5L049BB08
5L096BA02
5L096CA04
5L096DA01
5L096HA02
5L096KA04
(57)【要約】
【課題】顧客に対して有効な商品の情報を生成することができる機械学習モデルを得ること。
【解決手段】情報処理装置は、店内を撮影した映像を取得し、取得した映像を分析することで、店内に配置される商品に対する人物の第一の行動を識別する。情報処理装置は、映像を機械学習モデルに入力することで、コンテンツを生成する。情報処理装置は、生成されたコンテンツを、店内に配置された端末に出力する。情報処理装置は、端末にコンテンツが出力された後の映像を分析することで、商品に対する人物の第二の行動を識別する。情報処理装置は、第一の行動から第二の行動への遷移と、生成されたコンテンツと、識別された第二の行動の対象となる商品の画像とに基づいて、機械学習モデルを再訓練する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
店内を撮影した映像を取得し、
取得した映像を分析することで、店内に配置される商品に対する人物の第一の行動を識別し、
前記映像を機械学習モデルに入力することで、コンテンツを生成し、
生成された前記コンテンツを、前記店内に配置された端末に出力し、
前記端末にコンテンツが出力された後の映像を分析することで、商品に対する前記人物の第二の行動を識別し、
前記第一の行動から前記第二の行動への遷移と、生成された前記コンテンツと、識別された前記第二の行動の対象となる前記商品の画像とに基づいて、前記機械学習モデルを再訓練する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
識別をした前記人物の第一の行動に基づいて、前記機械学習モデルを特定する処理を更にコンピュータに実行させ、
前記生成する処理は、前記特定する処理によって特定された前記機械学習モデルに、前記映像を入力することで、前記コンテンツを生成し、
前記再訓練する処理は、前記特定する処理によって特定された前記機械学習モデルを再訓練することを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記映像を分析することで、前記映像の中から人物を含む第一の領域と、前記商品を含む第二の領域と、前記人物および前記商品の相互作用を識別した関係性とを特定する処理を更にコンピュータに実行させ、
前記機械学習モデルを特定する処理は、前記関係性に基づいて、複数の機械学習モデルから、前記商品に関連する機械学習モデルを特定することを特徴とする請求項2に記載の情報処理プログラム。
【請求項4】
前記特定する処理は、前記関係性と、商品情報が学習された複数の機械学習モデルとが対応付けられた記憶部を参照し、前記複数の機械学習モデルから、特定された関係性に対応する機械学習モデルを特定し、
前記生成する処理は、識別された前記第一の行動の対象となる前記商品の画像を、特定された機械学習モデルに入力することで、商品情報に関するコンテンツを生成し、
前記人物が利用している端末に、特定された前記商品情報に関するコンテンツを表示させる処理をコンピュータに実行させることを特徴とする請求項3に記載の情報処理プログラム。
【請求項5】
店内を撮影した映像を取得し、
取得した映像を分析することで、店内に配置される商品に対する人物の第一の行動を識別し、
前記映像を機械学習モデルに入力することで、コンテンツを生成し、
生成された前記コンテンツを、前記店内に配置された端末に出力し、
前記端末にコンテンツが出力された後の映像を分析することで、商品に対する前記人物の第二の行動を識別し、
前記第一の行動から前記第二の行動への遷移と、生成された前記コンテンツと、識別された前記第二の行動の対象となる前記商品の画像とに基づいて、前記機械学習モデルを再訓練する
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項6】
店内を撮影した映像を取得し、
取得した映像を分析することで、店内に配置される商品に対する人物の第一の行動を識別し、
前記映像を機械学習モデルに入力することで、コンテンツを生成し、
生成された前記コンテンツを、前記店内に配置された端末に出力し、
前記端末にコンテンツが出力された後の映像を分析することで、商品に対する前記人物の第二の行動を識別し、
前記第一の行動から前記第二の行動への遷移と、生成された前記コンテンツと、識別された前記第二の行動の対象となる前記商品の画像とに基づいて、前記機械学習モデルを再訓練する
処理を実行する制御部を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム等に関する。
【背景技術】
【0002】
販売店では、より多くの商品を顧客に購入してもらえるように、様々な工夫を行っている。たとえば、会計機等に、予め設定しておいた商品の情報を表示したり、販売スタッフが、顧客に対して接客したりしている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のように、単に商品の情報を表示するだけでは、顧客の購買意欲を高めることが難しい。これに対して、顧客がある商品に対して興味を示している場合、顧客に対して有効な商品の情報を提示することができれば、顧客の購買意欲を高めることができる。
【0005】
このため、顧客に対して有効な商品の情報を得ることができる機械学習モデルを生成することが望ましい。
【0006】
1つの側面では、本発明は、顧客に対して有効な商品の情報を生成することができる機械学習モデルを得ることができる情報処理プログラム、情報処理方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の案では、コンピュータが次の処理を実行する。コンピュータは、店内を撮影した映像を取得する。コンピュータは、取得した映像を分析することで、店内に配置される商品に対する人物の第一の行動を識別する。コンピュータは、映像を機械学習モデルに入力することで、コンテンツを生成する。コンピュータは、生成されたコンテンツを、店内に配置された端末に出力する。コンピュータは、端末にコンテンツが出力された後の映像を分析することで、商品に対する人物の第二の行動を識別する。コンピュータは、第一の行動から第二の行動への遷移と、生成されたコンテンツと、識別された第二の行動の対象となる商品の画像とに基づいて、機械学習モデルを再訓練する。
【発明の効果】
【0008】
顧客に対して有効な商品の情報を生成することができる機械学習モデルを得ることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本実施例に係るシステムの一例を示す図である。
【
図2】
図2は、本実施例に係る情報処理装置の処理を説明するための図(1)である。
【
図3】
図3は、本実施例に係る情報処理装置の処理を説明するための図(2)である。
【
図4】
図4は、本実施例に係る情報処理装置の処理を説明するための図(3)である。
【
図5】
図5は、HOIDの機械学習を説明する図である。
【
図6】
図6は、シーングラフによる関係性特定の一例を示す図である。
【
図7】
図7は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図8】
図8は、本実施例に係るモデルテーブルのデータ構造の一例を示す図である。
【
図9】
図9は、本実施例に係る表示装置管理テーブルのデータ構造の一例を示す図である。
【
図10】
図10は、本実施例に係る遷移定義テーブルのデータ構造の一例を示す図である。
【
図11】
図11は、本実施例に係る情報処理装置の処理手順を示すフローチャート(1)である。
【
図12】
図12は、本実施例に係る情報処理装置の処理手順を示すフローチャート(2)である。
【
図13】
図13は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願の開示する情報処理プログラム、情報処理方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例0011】
本実施例に係るシステムについて説明する。
図1は、本実施例に係るシステムの一例を示す図である。
図1に示すように、このシステムは、カメラ10a,10b,10cと、表示装置15a,15b,15cと、情報処理装置100とを有する。カメラ10a~10cと、情報処理装置100とは、ネットワークを介して相互に接続される。また、表示装置15a~15cと、情報処理装置100とは、ネットワークを介して相互に接続される。
【0012】
図1では説明の便宜上、カメラ10a~10c、表示装置15a~15cのみを示すが、本実施例に係るシステムは、他のカメラ、他の表示装置を有していてもよい。
【0013】
カメラ10a~10cは、店内の所定の位置に設置される。店内には、複数の商品が配置される。カメラ10a~10cが設置される位置(座標)を、それぞれ異なる位置とする。以下の説明では、カメラ10a~10cを特に区別しない場合「カメラ10」と表記する。
【0014】
カメラ10は、店内の映像を撮影し、撮影した映像のデータを、情報処理装置100に送信する。以下の説明では、カメラ10が情報処理装置100に送信する映像のデータを、「映像データ」と表記する。
【0015】
映像データには、時系列の複数の画像フレームが含まれる。各画像フレームには、時系列の昇順に、フレーム番号が付与される。1つの画像フレームは、カメラ10があるタイミングで撮影した静止画像である。各画像フレームには、時刻のデータが付与されていてもよい。映像データには、映像データを撮影したカメラ10を識別するカメラ識別情報が設定される。
【0016】
表示装置15a~15cは、店内の所定の位置に設置され、たとえば、商品の周辺に設置される。表示装置15a~15cが設置される位置(座標)を、それぞれ異なる位置とする。以下の説明では、表示装置15a~15cを特に区別しない場合「表示装置15」と表記する。表示装置15は、情報処理装置100から出力された商品の情報等を表示する。
【0017】
情報処理装置100は、カメラ10から、店内の映像データを取得し、取得した映像データを分析することで、店内の商品を購入する対象の顧客を含む第一の領域と、商品を含む第二の領域と、顧客および商品の相互作用を識別した関係性とを特定する。たとえば、関係性には「見ている」、「触っている」、「座る」、「把持している」等がある。顧客および商品の相互作用を識別した関係性は、「商品に対する人物の行動」に対応する。
【0018】
情報処理装置100は、特定した関係性に基づいて、記憶部に記憶された複数の機械学習モデルの中から、機械学習モデルを選択する。各機械学習モデルは、訓練済みの機器学習モデルであって、商品を含む第二の領域の画像を入力した場合に、商品の広告情報を出力するモデルである。機械学習モデルはNN(Neural Network)等である。以下の説明では、適宜、選択した機械学習モデルを「選択学習モデル」と表記する。選択学習モデルから出力される商品の広告情報を「コンテンツ」と表記する。
【0019】
情報処理装置100は、選択学習モデルに、映像データ(画像フレーム)の商品を含む第二の領域の画像を選択学習モデルに入力して、コンテンツを生成し、生成したコンテンツを、表示装置15に出力して表示させる。
【0020】
情報処理装置100は、コンテンツを表示装置15に出力した後に、カメラ10から、対象の顧客を撮影した映像データを取得し、取得した映像データを分析することで、対象の顧客を含む第一の領域と、商品を含む第二の領域と、顧客および商品の相互作用を識別した関係性とを特定する。ここで、コンテンツを表示装置15に出力する前の顧客および商品の相互作用を識別した関係性を「第一の関係性」と表記する。これに対して、コンテンツを表示装置15に出力した後の顧客および商品の相互作用を識別した関係性を「第二の関係性」と表記する。
【0021】
情報処理装置100は、第一の関係性から第二の関係性への遷移が、予め定義された遷移に対応する場合に、映像データ(画像データ)の商品を含む第二の領域の画像を入力データとし、選択学習モデルから出力されたコンテンツを正解ラベルとした訓練データを生成し、訓練データテーブルに登録する。なお、情報処理装置100は、第一の関係性から第二の関係性への遷移が、予め定義された遷移に対応しない場合には、訓練データを生成する処理をスキップする。
【0022】
たとえば、第一の関係性「見ている」から、第二の関係性「把持している」に遷移した場合、対象となる顧客が表示装置15に表示されたコンテンツを参照したことで、商品に興味を持ったといえ、顧客に対して有効な商品の情報を提供できたといえる。すなわち、第一の関係性に対応する選択学習モデルに、商品を含む第二の領域の画像を入力した際に出力されたコンテンツは、顧客の購買意欲を高めるうえで、適切なコンテンツである。
【0023】
情報処理装置100は、上記の処理を繰り返し実行することで、訓練データテーブルに、入力データと、正解ラベルとの組(訓練データ)を登録する。情報処理装置100は、訓練データテーブルに登録された入力データと、正解ラベルとを基にして、選択学習モデルを再訓練する。たとえば、情報処理装置100は、バックプロパゲーション(誤差逆伝播法)を利用して、選択学習モデルを再訓練する。これによって、顧客に対して有効な商品の情報を生成することができる機械学習モデルを得ることができる。
【0024】
図2、
図3、
図4は、本実施例に係る情報処理装置の処理を説明するための図である。まず、
図2について説明する。たとえば、情報処理装置100は、カメラ10aが撮影した映像データ(画像フレーム)20を分析することで、顧客を含む第一の領域20aと、商品を含む第二の領域20bと、顧客および商品の関係性(第一の関係性)とを特定する。
図2に示す例では、第一の関係性を「見ている」とする。なお、第二の領域20bに含まれる商品の近くに表示装置15aが設置されている。また、表示装置15aは、複数の表示装置15のうち、カメラ10aに最も近い表示装置とする。
【0025】
図3の説明に移行する。情報処理装置100は、複数の機械学習モデルを有している。
図3では、機械学習モデル30a,30b,30cを示す。たとえば、機械学習モデル30aは、関係性「見ている」専用の機械学習モデルである。機械学習モデル30bは、関係性「触っている」専用の機械学習モデルである。機械学習モデル30cは、関係性「把持している」専用の機械学習モデルである。機械学習モデル30a~30cは、NN(Neural Network)等である。
【0026】
機械学習モデル30aは、関係性「見ている」に対応した複数の第一訓練データによって事前に訓練されている。たとえば、第一訓練データの入力は、商品の画像データであり、出力(正解ラベル)は、商品情報である。第一訓練データの商品情報は、「商品の広告情報」等である。
【0027】
機械学習モデル30bは、関係性「触っている」に対応した複数の第二訓練データによって事前に訓練されている。たとえば、第二訓練データの入力は、商品の画像データであり、出力(正解ラベル)は、商品情報である。第二訓練データの商品情報は、「商品の利点を説明する情報」、「商品の人気の具合を説明する情報」等である。
【0028】
機械学習モデル30cは、関係性「把持している」に対応した複数の第三訓練データによって事前に訓練されている。たとえば、関係性「把持している」に応じた第三訓練データの入力は、商品の画像データであり、出力(正解ラベル)は、商品情報である。第三訓練データの商品情報は、「商品を購入すると得られる特典を説明する情報」等である。
【0029】
情報処理装置100は、
図2で説明した処理によって特定した第一の関係性に対応する機械学習モデルを、機械学習モデル30a~30cから選択する。たとえば、情報処理装置100は、特定した関係性が「見ている」である場合、
図3の機械学習モデル30aを、選択学習モデルとして選択する。
【0030】
情報処理装置100は、機械学習モデル30aに、商品を含む第二の領域20bの画像データを入力することで、第二の領域20bに含まれる商品の商品情報(コンテンツ)を生成する。情報処理装置100は、生成したコンテンツを、第二の領域に含まれる商品の近くに配置された表示装置15aに出力して表示させ、顧客にコンテンツを参照させる。
【0031】
図4の説明に移行する。情報処理装置100は、コンテンツを、表示装置15aに出力して表示させた後、カメラ10aが撮影した映像データ(画像フレーム)21を分析することで、顧客を含む第一の領域21aと、商品を含む第二の領域21bと、顧客および商品の関係性(第二の関係性)とを特定する。
図4に示す例では、第二の関係性を「把持している」とする。
【0032】
情報処理装置100は、第一の関係性「見ている」から、第二の関係性「把持している」への遷移が、予め指定された関係性の遷移である場合に、次の処理を実行する。予め設定された関係性の遷移は、第一の関係性から第二の関係性への遷移が、商品の購買行動により近づく遷移である。
【0033】
情報処理装置100は、
図2に示した第二の領域20bの商品の画像を入力データとし、第二の領域20bの商品の画像を、機械学習モデル30aに入力した際に出力されたコンテンツを正解ラベルとする第一訓練データを生成し、機械学習モデル30a用の第一訓練データテーブルに登録する。
【0034】
図2~
図4では、情報処理装置100が、選択学習モデルとして、機械学習モデル30aを選択した場合について説明したが、機械学習モデル30b,30cを選択した場合でも同様の処理を実行する。なお、機械学習モデル30b用の第二訓練データを格納するテーブルを、第二訓練データテーブルとする。機械学習モデル30c用の第三訓練データを格納するテーブルを、第三訓練データテーブルとする。以下の説明では、適宜、第一訓練データ、第二訓練データ、第三訓練データをまとめて、訓練データと表記する。第一訓練データテーブル、第二訓練データテーブル、第三訓練データテーブルをまとめて、訓練データテーブルと表記する。
【0035】
情報処理装置100は、上記の処理を繰り返し実行することで、選択学習モデルに対応する訓練データテーブルに、入力データと、正解ラベルとの組(訓練データ)を登録する。情報処理装置100は、訓練データテーブルに登録された入力データと、正解ラベルとを基にして、選択学習モデルを再訓練する。これによって、顧客に対して有効なコンテンツを生成することができる機械学習モデルを得ることができる。
【0036】
ところで、情報処理装置100は、HOID(Human Object Interaction Detection)を用いて、顧客を含む第一の領域と、商品を含む第二の領域と、第一の領域および第二の領域の関係性を特定する。情報処理装置100が、映像データ(時系列の画像フレーム)をHOIDに入力することで、第一の領域、第二の領域、関係性の情報が出力される。
【0037】
ここで、情報処理装置100が実行するHOIDの学習処理の一例について説明する。情報処理装置100は、複数の訓練データを用いて、人物を示す第1クラスと、物体を示す第2クラスと、第1クラスおよび第2クラスの関係性とを識別するHOIDを訓練する。
【0038】
各訓練データは、入力データとなる画像データ(画像フレーム)と、当該画像データに対して設定された正解情報とを有する。
【0039】
正解情報には、検出対象であるヒトとモノのクラスと、ヒトとモノの相互作用を示すクラスと、各クラスの領域を示すBbox(Bounding Box)とが設定される。たとえば、正解情報として、物体を示すSomethingクラスの領域情報、ユーザを示すヒトのクラスの領域情報、Somethingクラスとヒトのクラスとの相互作用を示す関係性とが設定される。
【0040】
なお、訓練データにも、訓練データにも複数のクラスと複数の相互作用を設定することができ、訓練済みのHOIDも複数のクラスと複数の相互作用とを認識することができる。
【0041】
一般的に、通常の物体認識でSomethingクラスを作ると、すべての背景、服装品、小物などタスクと関係ないものをすべて検出することになる。かつ、それらはすべてSomethingなので、画像データ内に大量のBboxが認識されるだけで何も分からない。HOIDの場合は、ヒトのモノに対する特殊な関係性(把持している、座っている、操作している、など他の関係の場合もある)であることが分かるので、意味のある情報としてタスクに利用することができる。
【0042】
図5は、HOIDの機械学習を説明する図である。
図5に示すように、情報処理装置100は、訓練データの入力データをHOIDに入力し、HOIDの出力結果を取得する。この出力結果には、HOIDが検出したヒトのクラスと、モノのクラスと、ヒトとモノの相互作用などが含まれる。そして、情報処理装置100は、訓練データの正解情報と、HOIDの出力結果との誤差情報を算出し、誤差が小さくなるように、誤差逆伝播によりHOIDの機械学習を実行する。
【0043】
続いて、HOIDを用いた識別処理の一例について説明する。情報処理装置100は、カメラ10が撮影した映像データの各画像フレームを、HOIDに入力し、HOIDの出力結果を取得する。HOIDの出力結果には、ヒトのBbox、モノのBbox、ヒトとモノの相互作用の確率値(各関係性の確率値)およびクラス名などが含まれる。ヒトのBboxは、上記の第一の領域に対応する。モノのBboxは、上記の第二の領域に対応する。情報処理装置100は、HOIDの出力結果に基づき、関係性を特定する。たとえば、情報処理装置100は、確率値が最大となる関係性を、第一の領域と第二の領域との関係性として特定する。
【0044】
上記のように、情報処理装置100は、映像データを、HOIDに入力することで、第一の領域、第二の領域、関係性を特定することができる。なお、情報処理装置100は、機械学習済みのHOIDを予め記憶部に保持しておき、係るHOIDを用いて、第一の領域と、第二の領域と、関係性とを特定してもよい。
【0045】
なお、情報処理装置100は、第一の領域、第二の領域、関係性を特定する場合に、HOID以外の技術を用いてもよい。たとえば、情報処理装置100は、既存の検出アルゴリズムを用いて、人物を含む物体を検出し、各物体の関係性を推定し、各物体とそれらの関係性、すなわちコンテキストを表現するシーングラフを生成してもよい。ここで、既存の検出アルゴリズムとは、例えば、YOLO(YOU Only Look Once)、SSD(Single Shot Multibox Detector)、RCNN(Region Based Convolutional Neural Networks)などである。
【0046】
図6は、シーングラフによる関係性特定の一例を示す図である。
図6に示す例では、画像フレーム50から、少なくとも、Bbox(Bounding box)51および52で示される男性(man)が2人と、Bbox53で示される女性(woman)と、Bbox54で示される箱(box)と、Bbox55で示される棚(shelf)とが検出される。情報処理装置100は、画像フレーム50から各物体のBbox領域を切り出し、各領域の特徴量を抽出して、物体同士(Subject、Object)のペアの特徴量から各物体の関係性を推定し、シーングラフ59を生成する。
図6では、シーングラフ59は、Bbox51で示される男性が、Bbox55で示される棚(shelf)の上に立っている(standing on)という関係性を示している。また、シーングラフ59によって示される、Bbox51で示される男性に対する関係性は1つに限られない。
図6に示すように、シーングラフ59には、棚(shelf)の他、Bbox52で示される男性の後ろにいる(behind)や、Bbox54で示される箱(box)を持っている(holding)など、推定された関係性が全て示される。このように、情報処理装置100は、シーングラフを生成することにより、映像(画像フレーム)に含まれる物体と人物との関係性を特定できる。
【0047】
次に、
図2~
図4で説明した処理を実行する情報処理装置100の構成例について説明する。
図7は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
図7に示すように、この情報処理装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
【0048】
通信部110は、ネットワークを介して、カメラ10、表示装置15、外部装置等との間でデータ通信を実行する。通信部110は、NIC(Network Interface Card)等である。たとえば、通信部110は、カメラ10から、映像データを受信する。
【0049】
入力部120は、情報処理装置100の制御部150に各種の情報を入力する入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネル等に対応する。
【0050】
表示部130は、制御部150から出力される情報を表示する表示装置である。
【0051】
記憶部140は、HOID141、映像バッファ142、モデルテーブル143、表示装置管理テーブル144を有する。また、記憶部140は、第一訓練データテーブル145a、第二訓練データテーブル145b、第三訓練データテーブル145c、遷移定義テーブル146を有する。記憶部140は、メモリなどの記憶装置である。
【0052】
HOID141は、
図5等で説明したHOIDである。HOID141に、映像データの画像フレームを入力することで、画像フレーム上の第一の領域と、第二の領域と、第一の領域(第一の領域に含まれる人物)および第二の領域(第二の領域に含まれる物体)の関係性とが出力される。かかる関係性は、第二の領域に含まれる物体に対する、第一の領域に含まれる人物の行動に対応する。
【0053】
映像バッファ142は、カメラ10が撮影した映像データを保持する。たとえば、映像バッファ142は、カメラ識別情報に対応付けて、映像データを保持する。
【0054】
モデルテーブル143は、
図3で説明した、複数の機械学習モデル30a~30cに関する情報を保持する。
図8は、本実施例に係るモデルテーブルのデータ構造の一例を示す図である。
図8に示すように、このモデルテーブル143は、モデル識別情報と、関係性と、機械学習モデルとを対応付ける。モデル識別情報は、機械学習モデルを一意に識別する情報である。関係性は、機械学習モデルに対応する関係性を示す。機械学習モデルは、画像データ(画像フレーム)を入力、商品情報を出力とするNNである。
【0055】
たとえば、モデル識別情報「M30a」は、機械学習モデル30aを示す。機械学習モデル30aは、関係性「見ている」に対応した機械学習モデルである。モデル識別情報「M30b」は、機械学習モデル30bを示す。機械学習モデル30bは、関係性「触っている」に対応した機械学習モデルである。モデル識別情報「M30c」は、機械学習モデル30cを示す。機械学習モデル30cは、関係性「把持している」に対応した機械学習モデルである。
【0056】
表示装置管理テーブル144は、店内に配置された表示装置15に関する情報を保持する。
図9は、本実施例に係る表示装置管理テーブルのデータ構造の一例を示す図である。
図9に示すように、この表示装置管理テーブル144は、表示装置識別情報と、位置と、カメラ識別情報とを対応付ける。
【0057】
表示装置識別情報は、表示装置15を一意に識別する情報である。たとえば、表示装置15a,15b,15cの表示装置識別情報を、それぞれ、A15a,A15b,A15cとする。位置は、表示装置15の位置(座標)を示す。カメラ識別情報は、表示装置15に最も近いカメラ10を識別する情報である。たとえば、カメラ識別情報C10a,C10b,C10cは、
図1に示したカメラ10a,10b,10cに対応する。
【0058】
たとえば、
図9において、表示装置識別情報「A15a」の表示装置15aが、位置「(x
1,y
1)」に設置されており、表示装置15aに最も近いカメラ10は、カメラ識別情報「C10a」のカメラ10aである旨の情報が登録されている。
【0059】
図7の説明に戻る。第一訓練データテーブル145aは、機械学習モデル30aを再訓練するための第一訓練データを保持する。後述するように、第一訓練データは、制御部150によって生成され、第一訓練データテーブル145aに登録される。
【0060】
第二訓練データテーブル145bは、機械学習モデル30bを再訓練するための第二訓練データを保持する。後述するように、第二訓練データは、制御部150によって生成され、第二訓練データテーブル145bに登録される。
【0061】
第三訓練データテーブル145cは、機械学習モデル30cを再訓練するための第三訓練データを保持する。後述するように、第三訓練データは、制御部150によって生成され、第三訓練データテーブル145cに登録される。
【0062】
遷移定義テーブル146は、商品画像データと、コンテンツとの組を、訓練データとして登録するか否かを判定する場合に利用される。制御部150は、第一の関係性から第二の関係性への遷移が、遷移定義テーブル146に定義された遷移である場合に、商品画像データと、コンテンツとの組を、訓練データとして登録すると判定する。
【0063】
図10は、本実施例に係る遷移定義テーブルのデータ構造の一例を示す図である。
図10に示すように、遷移定義テーブル146は、項番と、第一の関係性から第二の関係性への遷移とが設定される。たとえば、項番(1)に定義された遷移は、第一の関係性「見ている」から第二の関係性「把持している」への遷移である。項番(2)に定義された遷移は、第一の関係性「見ている」から第二の関係性「触っている」への遷移である。項番(3)に定義された遷移は、第一の関係性「触っている」から第二の関係性「把持している」への遷移である。項番(1)~項番(3)の遷移は、遷移前の第一の関係性よりも遷移後の第二の関係性の方が、顧客の購買意欲が高まっているといえる。
図10では、項番(1)~項番(3)の遷移のみを示したが、他の項番の遷移も定義されているものとする。
【0064】
制御部150は、取得部151と、生成部152と、学習処理部153とを有する。制御部150は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等である。
【0065】
取得部151は、カメラ10から映像データを取得する。上記のように、映像データには、映像データを撮影したカメラ10のカメラ識別情報が設定されている。取得部151は、カメラ識別情報に対応付けて、映像データ(時系列の画像フレーム)を映像バッファ142に格納する。
【0066】
生成部152は、カメラ10に撮影された映像データを基にして、機械学習モデル30a~30cを再訓練するための訓練データを生成する。たとえば、生成部152は、第一分析処理、コンテンツ生成処理、第二分析処理、訓練データ生成処理を実行する。以下において、生成部152が実行する、第一分析処理、コンテンツ生成処理、第二分析処理、訓練データ生成処理を順に説明する。
【0067】
まず、生成部152が実行する「第一分析処理」の一例について説明する。生成部152は、映像バッファ142から映像データを取得し、映像データを分析することで、第一の領域と、第二の領域と、関係性とを特定する。係る関係性は、「第一の領域に含まれる第一の物体」、および、「第二の領域に含まれる第二の物体」との関係性である。たとえば、生成部152は、映像データに含まれる時系列の画像フレーム(画像データ)を、HOID141に入力し、各画像フレーム上の第一の領域、第二の領域、関係性を特定する。
【0068】
生成部152は、上記処理を繰り返し実行することで、時系列の画像フレーム毎に、第一の領域、第二の領域、関係性を特定する。生成部152は、第一の領域、第二の領域、関係性を繰り返し特定する場合に、第一の領域に含まれる顧客と、第二の領域に含まれる商品とを追跡する。生成部152は、上記処理の分析結果の情報を生成する。以下の説明では、分析結果の情報を「第一分析結果情報」と表記する。たとえば、第一分析結果情報には、追跡中の人物を含む第一の領域の画像データと、追跡中の商品を含む第二の領域の画像データと、第一の関係性と、映像データ(画像フレーム)を撮影したカメラ10のカメラ識別情報とが対応付けられる。以下の説明では、追跡中の商品を含む第二の領域の画像データを「商品画像データ」と表記する。
【0069】
続いて、生成部152が実行する「コンテンツ生成処理」の一例について説明する。生成部152は、第一分析結果情報に含まれる第一の関係性に対応する機械学習モデルを、モデルテーブル143に登録された複数の機械学習モデルから選択する。生成部152は、選択した機械学習モデル(選択学習モデル)に、商品画像データを入力し、選択学習モデルから出力されるコンテンツを取得する。
【0070】
たとえば、生成部152は、第一分析結果情報に含まれる関係性が「見ている」である場合には、モデルテーブル143から、「見ている」に対応する機械学習モデル30aを、選択学習モデルとして選択する。生成部152は、選択した機械学習モデル30aに、商品画像データを入力することで、コンテンツを生成する。
【0071】
生成部152は、第一分析結果情報に設定されたカメラ識別情報と、表示装置識別情報とを基にして、カメラ識別情報に対応するカメラ10に最も近い場所に位置する表示装置15を選択し、生成したコンテンツを出力して表示させる。たとえば、第一分析結果情報に設定されたカメラ識別情報を「C10a」とすると、カメラ識別情報「C10a」のカメラ10aに最も近い場所に位置する表示装置15は、表示装置識別情報「A15a」の表示装置15aとなる。この場合、生成部152は、表示装置15aに、コンテンツを出力して表示させる。
【0072】
続いて、生成部152が実行する「第二分析処理」の一例について説明する。ここでは説明の便宜上、選択学習モデルを、機械学習モデル30aとする。生成部152は、機械学習モデル30aに、商品画像データを入力することで生成したコンテンツを、カメラ10aの近くに設置された表示装置15aに表示させたものとする。
【0073】
生成部152は、表示装置15aにコンテンツを表示させた後に、カメラ10aによって撮影された映像データを取得し、映像データを分析することで、第一の領域と、第二の領域と、関係性(第二の関係性)とを特定する。たとえば、生成部152は、映像データに含まれる時系列の画像フレーム(画像データ)を、HOID141に入力し、各画像フレーム上の第一の領域、第二の領域、第二の関係性を特定する。
【0074】
生成部152は、上記の処理結果を基にして、第二分析結果情報を生成する。第二分析結果情報には、第一の関係性と、第二の関係性と、商品画像データと、コンテンツとが含まれる。生成部152は、上記処理を繰り返し実行することで、複数の第二分析結果情報を生成する。
【0075】
続いて、生成部152が実行する「訓練データ生成処理」の一例について説明する。生成部152は、第二分析結果情報の第一の関係性と第二の関係性との関係(第一の関係性から第二の関係性への遷移)が、遷移定義テーブル146に登録されているか否かを判定する。たとえば、第二分析結果情報の第一の関係性「見ている」と、第二の関係性「把持している」の関係は、遷移定義テーブル146の項番(1)の遷移に対応する。
【0076】
生成部152は、第二分析結果情報の第一の関係性と第二の関係性との関係が、遷移定義テーブル146に登録されている場合には、次の処理を実行して、訓練データを生成する。たとえば、生成部152は、第二分析結果情報に含まれる商品画像データを入力データとし、コンテンツを正解ラベルとする訓練データを生成する。生成部152は、第二分析結果情報に含まれる第一の関係性を基にして、訓練データを、該当する訓練データテーブルに登録する。
【0077】
生成部152は、第二分析結果情報に含まれる第一の関係性が「見ている」である場合には、生成した訓練データを、第一訓練データテーブル145aに登録する。生成部152は、第二分析結果情報に含まれる第一の関係性が「触っている」である場合には、生成した訓練データを、第二訓練データテーブル145bに登録する。生成部152は、第二分析結果情報に含まれる第一の関係性が「把持している」である場合には、生成した訓練データを、第三訓練データテーブル145cに登録する。
【0078】
生成部152は、各第二分析結果情報に対して、上記処理を繰り返し実行する。なお、生成部152は、第二分析結果情報の第一の関係性と第二の関係性との関係が、遷移定義テーブル146に登録されていない場合には、該当の第二分析結果情報を基にして、訓練データを生成する処理をスキップし、次の第二分析結果情報に対して処理を行う。
【0079】
上記のように、生成部152は、第一分析処理、コンテンツ生成処理、第二分析処理、訓練データ生成処理を順に実行することで、訓練データを生成し、訓練データを該当する訓練データテーブルに登録する。
【0080】
学習処理部153は、訓練データテーブルを基にして、バックプロパゲーションを利用して、各機械学習モデルの再訓練を実行する。たとえば、学習処理部153は、第一訓練データテーブル145aに登録された第一訓練データを用いて、機械学習モデル30aを再訓練する。学習処理部153は、機械学習モデル30aに、第一訓練データの入力データを入力した場合の出力結果と、第一訓練データの正解ラベルとの誤差が小さくなるように、機械学習モデル30aのパラメータを更新する。
【0081】
学習処理部153は、機械学習モデル30bに、第二訓練データの入力データを入力した場合の出力結果と、第二訓練データの正解ラベルとの誤差が小さくなるように、機械学習モデル30bのパラメータを更新する。
【0082】
学習処理部153は、機械学習モデル30cに、第三訓練データの入力データを入力した場合の出力結果と、第三訓練データの正解ラベルとの誤差が小さくなるように、機械学習モデル30cのパラメータを更新する。
【0083】
次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。
図11および
図12は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
図11において、情報処理装置100の取得部151は、映像データを取得し、映像バッファ142に格納する(ステップS101)。
【0084】
情報処理装置100の生成部152は、映像データの各画像フレームをHOID141に入力し、画像フレーム毎に、第一の領域と、第二の領域と、第一の関係性とを特定する(ステップS102)。生成部152は、第一の関係性を基にして、モデルテーブル143から、機械学習モデルを選択する(ステップS103)。
【0085】
生成部152は、選択学習モデルに商品画像データを入力することで、コンテンツを生成する(ステップS104)。生成部152は、表示装置管理テーブル144を基にして、表示装置15を特定する(ステップS105)。生成部152は、生成したコンテンツを表示装置15に出力する(ステップS106)。
【0086】
生成部152は、コンテンツを出力した表示装置の近くに位置するカメラ10から映像データを取得する(ステップS107)。生成部152は、コンテンツ出力後の映像データの画像フレームをHOIDに入力し、第二の関係性を特定し(ステップS108)、
図12のステップS109に移行する。
【0087】
図12の説明に移行する。情報処理装置100の生成部152は、第一の関係性から第二の関係性への遷移が、遷移定義テーブル146に設定された遷移であるか否かを判定する(ステップS109)。生成部152は、設定された遷移でない場合には(ステップS110,No)、ステップS113に移行する。
【0088】
一方、生成部152は、設定された遷移である場合には(ステップS110,Yes)、ステップS111に移行する。生成部152は、商品画像データを入力データ、コンテンツを正解ラベルとした訓練データを生成する(ステップS111)。
【0089】
生成部152は、生成した訓練データを第一の関係性に対応する訓練データテーブルに登録する(ステップS112)。
【0090】
生成部152は、訓練データを生成する処理を継続する場合には(ステップS113,Yes)、
図11のステップS101に移行する。一方、生成部152は、訓練データを生成する処理を継続しない場合には(ステップS113,No)、ステップS114に移行する。
【0091】
情報処理装置100の学習処理部153は、訓練データテーブルを基にして、機械学習モデルを再訓練する(ステップS114)。
【0092】
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、店内の映像データを分析することで、第一の関係性を特定し、第一の関係性に対応する選択学習モデルに商品画像データを入力することで得られるコンテンツを表示装置15に表示させる。情報処理装置100は、コンテンツ出力後の映像データを分析することで、第二の関係性を特定し、第一の関係性から第二の関係性への遷移、コンテンツ、商品画像データを基にして、選択学習モデルを再訓練する。
【0093】
たとえば、第一の関係性から第二の関係性への遷移が、顧客の購買意欲の高まる遷移である場合、商品画像データを選択学習モデルに入力した際に出力されたコンテンツは、顧客の購買意欲を高めるうえで、適切なコンテンツである。このため、かかる商品画像データを入力データ、コンテンツを正解ラベルとする訓練データによって、選択学習モデルを再訓練することで、顧客に対して有効な商品の情報を生成することができる機械学習モデルを得ることができる。なお、第一の関係性は、第一の行動に対応し、第二の関係性は、第二の行動に対応する。
【0094】
情報処理装置100は、第一の関係性を特定し、特定した第一の関係性に対応する機械学習モデル(選択学習モデル)を選択し、係る選択学習モデルに商品の画像データを入力してコンテンツを生成し、表示装置15に表示させる。これによって、第一の関係性に適した機械学習モデルによって、コンテンツを生成することができ、顧客の購買意欲を刺激することができる。
【0095】
情報処理装置100は、HOID141に映像データ(時系列の画像フレーム)を入力することで、人物を含む第一の領域、商品を含む第二の領域、第一の領域と第二の領域との関連性を特定する。これによって、人物の関連性に合わせた機械学習モデルを選択することができる。
【0096】
なお、本実施例に係る情報処理装置100は、HOID141を用いて、人物の第一の領域、商品の第二の領域、関係性を特定する場合について説明したが、これに限定されるものではない。情報処理装置100は、
図6で説明したシーングラフを生成して、人物の第一の領域、商品の第二の領域、関係性を特定してもよい。なお、関連技術として、機械学習モデルを用いて、映像から物体や人物を含む領域を矩形で囲むバウンディングボックス(Bbox)を抽出し、両Bboxの位置関係により、人物の行動を識別することが考えられる。しかしながら、関連技術では、映像から抽出されるBboxの位置関係は2次元空間によるものなので、例えば、Bbox間の奥行きについては分析することができない。従って、関連技術では、人物の行動を識別することができない。一方で、本実施例に係る情報処理装置100は、人物の第一の領域、商品の第二の領域、関係性を特定することで、人物の行動を識別することができる。
【0097】
次に、上述した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図13は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0098】
図13に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置304と、インタフェース装置305とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301~307は、バス308に接続される。
【0099】
ハードディスク装置307は、取得プログラム307a、生成プログラム307b、学習処理プログラム307cを有する。CPU301は、各プログラム307a~307cを読み出してRAM306に展開する。
【0100】
取得プログラム307aは、取得プロセス306aとして機能する。生成プログラム307bは、生成プロセス306bとして機能する。学習処理プログラム307cは、学習処理プロセス306cとして機能する。
【0101】
取得プロセス306aの処理は、取得部151の処理に対応する。生成プロセス306bの処理は、生成部152の処理に対応する。学習処理プロセス306cの処理は、学習処理部153の処理に対応する。
【0102】
なお、各プログラム307a~307cについては、必ずしも最初からハードディスク装置307に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム307a~307cを読み出して実行するようにしてもよい。
【0103】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0104】
(付記1)店内を撮影した映像を取得し、
取得した映像を分析することで、店内に配置される商品に対する人物の第一の行動を識別し、
前記映像を機械学習モデルに入力することで、コンテンツを生成し、
生成された前記コンテンツを、前記店内に配置された端末に出力し、
前記端末にコンテンツが出力された後の映像を分析することで、商品に対する前記人物の第二の行動を識別し、
前記第一の行動から前記第二の行動への遷移と、生成された前記コンテンツと、識別された前記第二の行動の対象となる前記商品の画像とに基づいて、前記機械学習モデルを再訓練する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【0105】
(付記2)識別をした前記人物の第一の行動に基づいて、前記機械学習モデルを特定する処理を更にコンピュータに実行させ、
前記生成する処理は、前記特定する処理によって特定された前記機械学習モデルに、前記映像を入力することで、前記コンテンツを生成し、
前記再訓練する処理は、前記特定する処理によって特定された前記機械学習モデルを再訓練することを特徴とする付記1に記載の情報処理プログラム。
【0106】
(付記3)前記映像を分析することで、前記映像の中から人物を含む第一の領域と、前記商品を含む第二の領域と、前記人物および前記商品の相互作用を識別した関係性とを特定する処理を更にコンピュータに実行させ、
前記機械学習モデルを特定する処理は、前記関係性に基づいて、複数の機械学習モデルから、前記商品に関連する機械学習モデルを特定することを特徴とする付記2に記載の情報処理プログラム。
【0107】
(付記4)前記特定する処理は、前記関係性と、商品情報が学習された複数の機械学習モデルとが対応付けられた記憶部を参照し、前記複数の機械学習モデルから、特定された関係性に対応する機械学習モデルを特定し、
前記生成する処理は、識別された前記第一の行動の対象となる前記商品の画像を、特定された機械学習モデルに入力することで、商品情報に関するコンテンツを生成し、
前記人物が利用している端末に、特定された前記商品情報に関するコンテンツを表示させる処理をコンピュータに実行させることを特徴とする付記3に記載の情報処理プログラム。
【0108】
(付記5)店内を撮影した映像を取得し、
取得した映像を分析することで、店内に配置される商品に対する人物の第一の行動を識別し、
前記映像を機械学習モデルに入力することで、コンテンツを生成し、
生成された前記コンテンツを、前記店内に配置された端末に出力し、
前記端末にコンテンツが出力された後の映像を分析することで、商品に対する前記人物の第二の行動を識別し、
前記第一の行動から前記第二の行動への遷移と、生成された前記コンテンツと、識別された前記第二の行動の対象となる前記商品の画像とに基づいて、前記機械学習モデルを再訓練する
処理をコンピュータが実行することを特徴とする情報処理方法。
【0109】
(付記6)識別をした前記人物の第一の行動に基づいて、前記機械学習モデルを特定する処理を更にコンピュータが実行し、
前記生成する処理は、前記特定する処理によって特定された前記機械学習モデルに、前記映像を入力することで、前記コンテンツを生成し、
前記再訓練する処理は、前記特定する処理によって特定された前記機械学習モデルを再訓練することを特徴とする付記5に記載の情報処理方法。
【0110】
(付記7)前記映像を分析することで、前記映像の中から人物を含む第一の領域と、前記商品を含む第二の領域と、前記人物および前記商品の相互作用を識別した関係性とを特定する処理を更にコンピュータが実行し、
前記機械学習モデルを特定する処理は、前記関係性に基づいて、複数の機械学習モデルから、前記商品に関連する機械学習モデルを特定することを特徴とする付記6に記載の情報処理方法。
【0111】
(付記8)前記特定する処理は、前記関係性と、商品情報が学習された複数の機械学習モデルとが対応付けられた記憶部を参照し、前記複数の機械学習モデルから、特定された関係性に対応する機械学習モデルを特定し、
前記生成する処理は、識別された前記第一の行動の対象となる前記商品の画像を、特定された機械学習モデルに入力することで、商品情報に関するコンテンツを生成し、
前記人物が利用している端末に、特定された前記商品情報に関するコンテンツを表示させる処理をコンピュータが実行することを特徴とする付記7に記載の情報処理方法。
【0112】
(付記9)店内を撮影した映像を取得し、
取得した映像を分析することで、店内に配置される商品に対する人物の第一の行動を識別し、
前記映像を機械学習モデルに入力することで、コンテンツを生成し、
生成された前記コンテンツを、前記店内に配置された端末に出力し、
前記端末にコンテンツが出力された後の映像を分析することで、商品に対する前記人物の第二の行動を識別し、
前記第一の行動から前記第二の行動への遷移と、生成された前記コンテンツと、識別された前記第二の行動の対象となる前記商品の画像とに基づいて、前記機械学習モデルを再訓練する
処理を実行する制御部を有する情報処理装置。
【0113】
(付記10)前記制御部は、識別をした前記人物の第一の行動に基づいて、前記機械学習モデルを特定する処理を更に実行し、
前記生成する処理は、前記特定する処理によって特定された前記機械学習モデルに、前記映像を入力することで、前記コンテンツを生成し、
前記再訓練する処理は、前記特定する処理によって特定された前記機械学習モデルを再訓練することを特徴とする付記9に記載の情報処理装置。
【0114】
(付記11)前記制御部は、前記映像を分析することで、前記映像の中から人物を含む第一の領域と、前記商品を含む第二の領域と、前記人物および前記商品の相互作用を識別した関係性とを特定する処理を更に実行し、
前記機械学習モデルを特定する処理は、前記関係性に基づいて、複数の機械学習モデルから、前記商品に関連する機械学習モデルを特定することを特徴とする付記10に記載の情報処理装置。
【0115】
(付記12)前記特定する処理は、前記関係性と、商品情報が学習された複数の機械学習モデルとが対応付けられた記憶部を参照し、前記複数の機械学習モデルから、特定された関係性に対応する機械学習モデルを特定し、
前記生成する処理は、識別された前記第一の行動の対象となる前記商品の画像を、特定された機械学習モデルに入力することで、商品情報に関するコンテンツを生成し、
前記制御部は、前記人物が利用している端末に、特定された前記商品情報に関するコンテンツを表示させる処理を更に実行することを特徴とする付記11に記載の情報処理装置。