(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-10-22
(45)【発行日】2025-10-30
(54)【発明の名称】グループ別モデル生成システム、サーバ、及びグループ別モデル生成プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20251023BHJP
【FI】
G06T7/00 350C
(21)【出願番号】P 2021175859
(22)【出願日】2021-10-27
【審査請求日】2024-08-28
(73)【特許権者】
【識別番号】516249414
【氏名又は名称】AWL株式会社
(74)【代理人】
【識別番号】100084375
【氏名又は名称】板谷 康夫
(74)【代理人】
【識別番号】100125221
【氏名又は名称】水田 愼一
(74)【代理人】
【識別番号】100142077
【氏名又は名称】板谷 真之
(72)【発明者】
【氏名】司 嘯天
【審査官】吉川 康男
(56)【参考文献】
【文献】特開2020-197995(JP,A)
【文献】特開2019-012426(JP,A)
【文献】特開2022-029125(JP,A)
【文献】国際公開第2021/079792(WO,A1)
【文献】国際公開第2017/151759(WO,A1)
【文献】特開2020-181488(JP,A)
【文献】特表2022-534712(JP,A)
【文献】国際公開第2021/135330(WO,A1)
【文献】土田 安紘,小売・流通業界を支える自動認識技術,月刊自動認識,2021年02月10日,第34巻 第2号,P6~13
【文献】Yuki Murata 等,Person Re-Identification for Mobile Robot using Online Transfer Learning,2018 Joint 10th International Conference on Soft Computing and Intelligent Systems (SCIS) and 19th International Symposium on Advanced Intelligent Systems (ISIS),2018年12月05日,P977-981,https://ieeexplore.ieee.org/document/8716091
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
複数の施設に設置された撮影手段の各々から撮影画像を収集する撮影画像収集手段と、
前記撮影画像収集手段により収集した前記撮影画像から、人の映り込んだ撮影画像を除去する人画像除去手段と、
前記人画像除去手段によって前記人の映り込んだ撮影画像を除去した後に残った前記施設の撮影画像の各々から特徴を抽出する画像特徴抽出手段と、
前記施設の撮影画像を、前記画像特徴抽出手段により抽出した前記
施設の撮影画像の各々の特徴に基づいて、グループ分けする画像クラスタリング手段と、
前記画像クラスタリング手段による前記
施設の撮影画像のグループ分け結果に基づいて、これらの撮影画像を撮影した撮影手段のグループ分けを行う撮影手段分類手段と、
前記撮影手段分類手段によりグループ分けをした各グループの撮影手段による撮影画像を用いて、元の
人検出用又は
人認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うことにより、前記各グループの撮影手段の撮影画像に適したグループ別学習済ニューラルネットワークモデルを生成するグループ別モデル生成手段とを備えるグループ別モデル生成システム
において、
前記撮影手段分類手段によるグループ分け後の各グループの撮影手段による撮影画像から、人の映り込んだ撮影画像を抽出する人画像抽出手段をさらに備え、
前記グループ別モデル生成手段は、前記人画像抽出手段によって抽出された、人の映り込んだ撮影画像を用いて、前記人の検出用又は認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うグループ別モデル生成システム。
【請求項2】
前記グループ別モデル生成手段により生成された、前記各グループの撮影手段の撮影画像に適したグループ別学習済ニューラルネットワークモデルを、前記各グループの撮影手段が設置された施設に配されたエッジ側の装置に送信して格納させ、このエッジ側の装置により、前記各グループの撮影手段が撮影した撮影画像に対する
人検出又は
人認識を行うことを特徴とする請求項1に記載のグループ別モデル生成システム。
【請求項3】
前記元の
人検出用又は
人認識用の学習済ニューラルネットワークモデルよりも精度の高い推論を行うことが可能な、
人検出用又は
人認識用の学習済高精度ニューラルネットワークモデルによって、前記各グループの撮影手段による撮影画像に対する推論を行って、この推論結果に基づく擬似ラベルを、正解ラベルとして、前記各グループの撮影手段による撮影画像に付与する擬似ラベリング手段をさらに備え、
前記グループ別モデル生成手段は、前記各グループの撮影手段による撮影画像と、前記擬似ラベリング手段により前記各グループの撮影手段による撮影画像に付与された正解ラベルとに基づいて、前記元の
人検出用又は
人認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うことを特徴とする請求項1又は請求項2に記載のグループ別モデル生成システム。
【請求項4】
前記画像クラスタリング手段は、前記撮影画像のグループの数であるクラスタ数を変化させながら、各クラスタ数であるときの情報量基準の値を求めて、求めた各クラスタ数に対応する情報量基準の値に基づいて、前記画像特徴抽出手段により抽出した前記撮影画像の特徴の分布に適したクラスタ数を求めることを特徴とする請求項1乃至請求項3のいずれか一項に記載のグループ別モデル生成システム。
【請求項5】
前記画像特徴抽出手段は、学習済ニューラルネットワークモデルを用いて、
前記人画像除去手段によって前記人の映り込んだ撮影画像を除去した後に残った前記施設の撮影画像の各々から特徴ベクトルを抽出し、
前記画像クラスタリング手段は、
前記施設の撮影画像を、前記画像特徴抽出手段により抽出した前記
施設の撮影画像の各々の特徴ベクトルに基づいて、混合ガウスモデルによりグループ分けすることを特徴とする請求項1乃至請求項4のいずれか一項に記載のグループ別モデル生成システム。
【請求項6】
前記画像クラスタリング手段は、前記撮影画像のグループの数であるクラスタ数を変化させながら、各クラスタ数であるときのベイズ情報量基準の値を、前記混合ガウスモデルにより求めて、求めた各クラスタ数に対応するベイズ情報量基準の値に基づいて、前記画像特徴抽出手段により抽出した前記
施設の撮影画像の特徴ベクトルの分布に適したクラスタ数を求めることを特徴とする請求項5に記載のグループ別モデル生成システム。
【請求項7】
撮影手段が設置された複数の施設の各々に配されたエッジ側の装置とネットワークを介して接続されて、
前記撮影手段の各々から撮影画像を収集する撮影画像収集手段と、
前記撮影画像収集手段により収集した前記撮影画像から、人の映り込んだ撮影画像を除去する人画像除去手段と、
前記人画像除去手段によって前記人の映り込んだ撮影画像を除去した後に残った前記施設の撮影画像の各々から特徴を抽出する画像特徴抽出手段と、
前記施設の撮影画像を、前記画像特徴抽出手段により抽出した前記
施設の撮影画像の各々の特徴に基づいて、グループ分けする画像クラスタリング手段と、
前記画像クラスタリング手段による前記
施設の撮影画像のグループ分け結果に基づいて、これらの撮影画像を撮影した撮影手段のグループ分けを行う撮影手段分類手段と、
前記撮影手段分類手段によりグループ分けをした各グループの撮影手段による撮影画像を用いて、元の
人検出用又は
人認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うことにより、前記各グループの撮影手段の撮影画像に適したグループ別学習済ニューラルネットワークモデルを生成するグループ別モデル生成手段とを備えるサーバ
において、
前記撮影手段分類手段によるグループ分け後の各グループの撮影手段による撮影画像から、人の映り込んだ撮影画像を抽出する人画像抽出手段をさらに備え、
前記グループ別モデル生成手段は、前記人画像抽出手段によって抽出された、人の映り込んだ撮影画像を用いて、前記人の検出用又は認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うサーバ。
【請求項8】
前記グループ別モデル生成手段により生成された、前記各グループの撮影手段の撮影画像に適したグループ別学習済ニューラルネットワークモデルを、前記各グループの撮影手段が設置された施設に配されたエッジ側の装置に送信して格納させることを特徴とする請求項
7に記載のサーバ。
【請求項9】
コンピュータを、
複数の施設に設置された撮影手段の各々から撮影画像を収集する撮影画像収集手段と、
前記撮影画像収集手段により収集した前記撮影画像から、人の映り込んだ撮影画像を除去する人画像除去手段と、
前記人画像除去手段によって前記人の映り込んだ撮影画像を除去した後に残った前記施設の撮影画像の各々から特徴を抽出する画像特徴抽出手段と、
前記施設の撮影画像を、前記画像特徴抽出手段により抽出した前記
施設の撮影画像の各々の特徴に基づいて、グループ分けする画像クラスタリング手段と、
前記画像クラスタリング手段による前記
施設の撮影画像のグループ分け結果に基づいて、これらの撮影画像を撮影した撮影手段のグループ分けを行う撮影手段分類手段と、
前記撮影手段分類手段によりグループ分けをした各グループの撮影手段による撮影画像を用いて、元の
人検出用又は
人認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うことにより、前記各グループの撮影手段の撮影画像に適したグループ別学習済ニューラルネットワークモデルを生成するグループ別モデル生成手段として機能させるためのグループ別モデル生成プログラム
において、
前記コンピュータを、前記撮影手段分類手段によるグループ分け後の各グループの撮影手段による撮影画像から、人の映り込んだ撮影画像を抽出する人画像抽出手段として、さらに機能させ、
前記グループ別モデル生成手段は、前記人画像抽出手段によって抽出された、人の映り込んだ撮影画像を用いて、前記人の検出用又は認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うグループ別モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、グループ別モデル生成システム、サーバ、及びグループ別モデル生成プログラムに関する。
【背景技術】
【0002】
従来から、店舗等の施設に設置されたカメラによる撮影画像を、上記のカメラが設置された施設側に配置された装置(いわゆるエッジ側デバイス)で、画像解析(物体検出や物体認識)するシステムが知られている(例えば、特許文献1参照)。このようなエッジ側デバイスで、物体検出や物体認識を行う場合には、エッジ側デバイスに、処理負荷の小さい(いわゆる「軽い」)学習済ディープニューラルネットワークモデル(DNNモデル)を実装して、この学習済DNNモデルを用いて、エッジ側デバイスに接続されたカメラの撮影画像に対する、物体検出処理や物体認識処理を行う。ここで、エッジ側デバイスにおけるコンピュータリソースの脆弱さから、上記のエッジ側デバイスに実装する学習済DNNモデルは、極端に軽い(非常に処理負荷が小さい)DNNモデルであることが望ましい。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところが、上記のような極端に軽い(非常に処理負荷が小さい)学習済DNNモデルを、多数の施設に配されたエッジ側デバイスに実装して、多数の施設のカメラの撮影画像に対する物体検出処理や物体認識処理を行う場合には、以下のような問題がある。まず、極端に軽い学習済DNNモデルでは、高精度な物体検出処理や物体認識処理を行うことが難しい。
【0005】
また、上記のような極端に軽い学習済DNNモデルを使用する場合、精度を確保するために、各施設の各カメラ毎に、該当のカメラの撮影画像を用いて、元の学習済DNNモデルのファインチューニング又は転移学習を行うことが望ましいが、大手のチェーン店(コンビニエンスストア等)の場合、店舗数が数千店舗になるので、数千店舗に配された各カメラ毎に、該当のカメラの撮影画像を用いて、学習済DNNモデルのファインチューニング又は転移学習を行うと、膨大な時間がかかる。従って、上記のように、各施設の各カメラ毎に、該当のカメラの撮影画像を用いて、学習済DNNモデルのファインチューニング又は転移学習を行うことは、現実的ではない。とは言え、数千店舗に配された全てのカメラの撮影画像を用いて、極端に軽い学習済DNNモデルのファインチューニング又は転移学習を行ったとしても、数千店舗のカメラから取得(収集)した撮影画像の多様性(各店舗における、レイアウト、光の条件、人の有無、内装等)から、極端に軽いDNNモデルでは、学習しきれないことが多い。
【0006】
本発明は、上記課題を解決するものであり、エッジ側の装置(エッジ側デバイス)全体の物体検出処理や物体認識処理の対象となる撮影画像が、数千店舗等の多数の施設の撮影手段の撮影画像であり、しかも、用いる学習済ニューラルネットワークモデルが、極端に軽い学習済ニューラルネットワークモデルであっても、高精度な物体検出処理や物体認識処理を行うことを可能にするグループ別モデル生成システム、サーバ、及びグループ別モデル生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の第1の態様によるグループ別モデル生成システムは、複数の施設に設置された撮影手段の各々から撮影画像を収集する撮影画像収集手段と、前記撮影画像収集手段により収集した前記撮影画像から、人の映り込んだ撮影画像を除去する人画像除去手段と、前記人画像除去手段によって前記人の映り込んだ撮影画像を除去した後に残った前記施設の撮影画像の各々から特徴を抽出する画像特徴抽出手段と、前記施設の撮影画像を、前記画像特徴抽出手段により抽出した前記施設の撮影画像の各々の特徴に基づいて、グループ分けする画像クラスタリング手段と、前記画像クラスタリング手段による前記施設の撮影画像のグループ分け結果に基づいて、これらの撮影画像を撮影した撮影手段のグループ分けを行う撮影手段分類手段と、前記撮影手段分類手段によりグループ分けをした各グループの撮影手段による撮影画像を用いて、元の人検出用又は人認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うことにより、前記各グループの撮影手段の撮影画像に適したグループ別学習済ニューラルネットワークモデルを生成するグループ別モデル生成手段とを備えるグループ別モデル生成システムにおいて、前記撮影手段分類手段によるグループ分け後の各グループの撮影手段による撮影画像から、人の映り込んだ撮影画像を抽出する人画像抽出手段をさらに備え、前記グループ別モデル生成手段は、前記人画像抽出手段によって抽出された、人の映り込んだ撮影画像を用いて、前記人の検出用又は認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行う。
【0008】
このグループ別モデル生成システムにおいて、前記グループ別モデル生成手段により生成された、前記各グループの撮影手段の撮影画像に適したグループ別学習済ニューラルネットワークモデルを、前記各グループの撮影手段が設置された施設に配されたエッジ側の装置に送信して格納させ、このエッジ側の装置により、前記各グループの撮影手段が撮影した撮影画像に対する人検出又は人認識を行うようにしてもよい。
【0009】
このグループ別モデル生成システムにおいて、前記元の人検出用又は人認識用の学習済ニューラルネットワークモデルよりも精度の高い推論を行うことが可能な、人検出用又は人認識用の学習済高精度ニューラルネットワークモデルによって、前記各グループの撮影手段による撮影画像に対する推論を行って、この推論結果に基づく擬似ラベルを、正解ラベルとして、前記各グループの撮影手段による撮影画像に付与する擬似ラベリング手段をさらに備え、前記グループ別モデル生成手段は、前記各グループの撮影手段による撮影画像と、前記擬似ラベリング手段により前記各グループの撮影手段による撮影画像に付与された正解ラベルとに基づいて、前記元の人検出用又は人認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うことが望ましい。
【0010】
このグループ別モデル生成システムにおいて、前記画像クラスタリング手段は、前記撮影画像のグループの数であるクラスタ数を変化させながら、各クラスタ数であるときの情報量基準の値を求めて、求めた各クラスタ数に対応する情報量基準の値に基づいて、前記画像特徴抽出手段により抽出した前記撮影画像の特徴の分布に適したクラスタ数を求めるようにしてもよい。
【0011】
このグループ別モデル生成システムにおいて、前記画像特徴抽出手段は、学習済ニューラルネットワークモデルを用いて、前記人画像除去手段によって前記人の映り込んだ撮影画像を除去した後に残った前記施設の撮影画像の各々から特徴ベクトルを抽出し、前記画像クラスタリング手段は、前記施設の撮影画像を、前記画像特徴抽出手段により抽出した前記施設の撮影画像の各々の特徴ベクトルに基づいて、混合ガウスモデルによりグループ分けするようにしてもよい。
【0012】
このグループ別モデル生成システムにおいて、前記画像クラスタリング手段は、前記撮影画像のグループの数であるクラスタ数を変化させながら、各クラスタ数であるときのベイズ情報量基準の値を、前記混合ガウスモデルにより求めて、求めた各クラスタ数に対応するベイズ情報量基準の値に基づいて、前記画像特徴抽出手段により抽出した前記施設の撮影画像の特徴ベクトルの分布に適したクラスタ数を求めるようにしてもよい。
【0015】
本発明の第2の態様によるサーバは、撮影手段が設置された複数の施設の各々に配されたエッジ側の装置とネットワークを介して接続されて、前記撮影手段の各々から撮影画像を収集する撮影画像収集手段と、前記撮影画像収集手段により収集した前記撮影画像から、人の映り込んだ撮影画像を除去する人画像除去手段と、前記人画像除去手段によって前記人の映り込んだ撮影画像を除去した後に残った前記施設の撮影画像の各々から特徴を抽出する画像特徴抽出手段と、前記施設の撮影画像を、前記画像特徴抽出手段により抽出した前記施設の撮影画像の各々の特徴に基づいて、グループ分けする画像クラスタリング手段と、前記画像クラスタリング手段による前記施設の撮影画像のグループ分け結果に基づいて、これらの撮影画像を撮影した撮影手段のグループ分けを行う撮影手段分類手段と、前記撮影手段分類手段によりグループ分けをした各グループの撮影手段による撮影画像を用いて、元の人検出用又は人認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うことにより、前記各グループの撮影手段の撮影画像に適したグループ別学習済ニューラルネットワークモデルを生成するグループ別モデル生成手段とを備えるサーバにおいて、前記撮影手段分類手段によるグループ分け後の各グループの撮影手段による撮影画像から、人の映り込んだ撮影画像を抽出する人画像抽出手段をさらに備え、前記グループ別モデル生成手段は、前記人画像抽出手段によって抽出された、人の映り込んだ撮影画像を用いて、前記人の検出用又は認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行う。
【0016】
このサーバにおいて、前記グループ別モデル生成手段により生成された、前記各グループの撮影手段の撮影画像に適したグループ別学習済ニューラルネットワークモデルを、前記各グループの撮影手段が設置された施設に配されたエッジ側の装置に送信して格納させるようにしてもよい。
【0017】
本発明の第3の態様によるグループ別モデル生成プログラムは、コンピュータを、複数の施設に設置された撮影手段の各々から撮影画像を収集する撮影画像収集手段と、前記撮影画像収集手段により収集した前記撮影画像から、人の映り込んだ撮影画像を除去する人画像除去手段と、前記人画像除去手段によって前記人の映り込んだ撮影画像を除去した後に残った前記施設の撮影画像の各々から特徴を抽出する画像特徴抽出手段と、前記施設の撮影画像を、前記画像特徴抽出手段により抽出した前記施設の撮影画像の各々の特徴に基づいて、グループ分けする画像クラスタリング手段と、前記画像クラスタリング手段による前記施設の撮影画像のグループ分け結果に基づいて、これらの撮影画像を撮影した撮影手段のグループ分けを行う撮影手段分類手段と、前記撮影手段分類手段によりグループ分けをした各グループの撮影手段による撮影画像を用いて、元の人検出用又は人認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うことにより、前記各グループの撮影手段の撮影画像に適したグループ別学習済ニューラルネットワークモデルを生成するグループ別モデル生成手段として機能させるためのグループ別モデル生成プログラムにおいて、前記コンピュータを、前記撮影手段分類手段によるグループ分け後の各グループの撮影手段による撮影画像から、人の映り込んだ撮影画像を抽出する人画像抽出手段として、さらに機能させ、前記グループ別モデル生成手段は、前記人画像抽出手段によって抽出された、人の映り込んだ撮影画像を用いて、前記人の検出用又は認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行う。
【発明の効果】
【0018】
本発明の第1の態様によるグループ別モデル生成システム、第2の態様によるサーバ、及び第3の態様によるグループ別モデル生成プログラムによれば、複数の施設に設置された撮影手段の各々から収集した撮影画像から、人の映り込んだ撮影画像を除去して、除去した後に残った施設の撮影画像の各々から特徴を抽出する。そして、抽出した施設の撮影画像の各々の特徴に基づいて、上記の施設の撮影画像をグループ分けして、この施設の撮影画像のグループ分け結果に基づいて、これらの撮影画像を撮影した撮影手段のグループ分けを行い、グループ分けをした各グループの撮影手段による撮影画像のうち、人の映り込んだ撮影画像を用いて、元の人検出用又は人認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うようにした。これにより、各グループの撮影手段の撮影画像に適した(各グループの撮影手段の撮影画像に特化した)、グループ別の人検出用又は人認識用の学習済ニューラルネットワークモデルを生成することができるので、各グループ別の人検出用又は人認識用の学習済ニューラルネットワークモデルが、極端に軽い学習済ニューラルネットワークモデルであっても、各グループの撮影手段の撮影画像に対する高精度な人検出処理や人認識処理を行うことが可能になる。また、エッジ側の装置全体の人検出処理や人認識処理の対象となる撮影画像が、数千店舗等の多数の施設の撮影手段の撮影画像である場合でも、これらの撮影手段をグループ分けして、グループ分け後の限られた数の撮影手段(例えば、数百台のカメラ)の撮影画像を用いて、元の人検出用又は人認識用の学習済ニューラルネットワークモデルのファインチューニング又は転移学習を行うことができるので、元の人検出用又は人認識用の学習済ニューラルネットワークモデルが、極端に軽い学習済ニューラルネットワークモデルであっても、適切な機械学習を遂行することができる可能性を高めることができる(学習しきれない可能性を低くすることができる)。従って、エッジ側の装置全体の人検出処理や人認識処理の対象となる撮影画像が、数千店舗等の多数の施設の撮影手段の撮影画像であり、しかも、元の人検出用又は人認識用の学習済ニューラルネットワークモデル、及び上記の生成した各グループ別の人検出用又は人認識用の学習済ニューラルネットワークモデルが、極端に軽い学習済ニューラルネットワークモデルであっても、上記の生成した各グループ別の人検出用又は人認識用の学習済ニューラルネットワークモデルを用いて、各グループの撮影手段の撮影画像に対する高精度な人検出処理や人認識処理を行うことが可能になる。
【図面の簡単な説明】
【0019】
【
図1】本発明の一実施形態のグループ別モデル生成システムの概略の構成を示すブロック構成図。
【
図2】
図1中のサイネージの概略のハードウェア構成を示すブロック図。
【
図3】
図1中のサイネージ学習管理サーバのハードウェア構成を示すブロック図。
【
図4】上記サイネージ学習管理サーバの機能ブロック構成図。
【
図5】
図4中の各機能ブロック間のデータフローの説明図。
【
図6】上記グループ別モデル生成システムにおけるグループ別学習済DNNモデル生成処理のフローチャート。
【
図7】
図6中のS9に示す内蔵カメラのグループ分け処理の説明図。
【
図8】
図6中のS5に示す混合ガウスモデルを用いた適切なクラスタ数の推定処理の説明図。
【
図9】
図6中のS7に示す「人が映っていない撮影画像群」に含まれる撮影画像のグループ分け処理の結果、各グループに含まれる撮影画像の例を示す図。
【
図10】上記グループ別モデル生成システムで生成した、あるグループ別学習済DNNモデルのファインチューニング前後の推論精度評価指標等を示す図。
【発明を実施するための形態】
【0020】
以下、本発明を具体化した実施形態によるグループ別モデル生成システム、サーバ、及びグループ別モデル生成プログラムについて、図面を参照して説明する。
図1は、本実施形態によるグループ別モデル生成システム10の概略の構成を示すブロック構成図である。
図1に示すように、グループ別モデル生成システム10は、主に、チェーン店の各店舗(請求項における「施設」)Sa、Sb等に設置された、ディジタルサイネージ用のタブレット端末であるサイネージ2a、2b(請求項における「エッジ側の装置」)等と、これらのサイネージ2a、2b等とインターネットを介して接続されたサイネージ学習管理サーバ1(請求項における「サーバ」、及び「コンピュータ」に相当)とから構成される。以下の説明において、サイネージ2は、サイネージ2a、2b等の総称であり、店舗Sは、店舗Sa、Sb等の総称である。グループ別モデル生成システム10は、各店舗S内に、1台以上のサイネージ2と、無線LANルータ4とを備えている。各サイネージ2は、内蔵カメラ3(請求項における「撮影手段」)を備えている。
【0021】
サイネージ2は、そのタッチパネルディスプレイ14(
図2参照)上に、店舗Sに来店した(サイネージ2の前にいる)顧客に広告等のコンテンツを表示すると共に、その内蔵カメラ3からのフレーム画像に基づいて、フレーム画像に映りこんだ顧客を検出して、検出した顧客の属性推定等の画像分析処理を行う。
【0022】
上記のサイネージ学習管理サーバ1は、店舗Sの管理部門(本社等)に設置されたサーバである。詳細については後述するが、サイネージ学習管理サーバ1は、各サイネージ2の内蔵カメラ3の撮影画像に適したグループ別学習済DNN(Deep Neural Networks)モデルを生成して、生成したグループ別学習済DNNモデルを、各サイネージ2に送信してインストールさせる。
【0023】
次に、
図2を参照して、上記のタブレットタイプのサイネージ2のハードウェア構成について説明する。サイネージ2は、上記の内蔵カメラ3に加えて、SoC(System-on-a-Chip)11と、タッチパネルディスプレイ14と、スピーカ15と、各種のデータやプログラムを記憶するメモリ16と、通信部17と、二次電池18と、充電端子19とを備えている。SoC11は、装置全体の制御及び各種演算を行うCPU12と、各種の学習済DNN(Deep Neural Networks)モデルの推論処理等に用いられるGPU13とを備えている。
【0024】
上記のメモリ16には、当該サイネージ2の内蔵カメラ3の撮影画像に適したグループ別学習済DNNモデル20(請求項における「グループ別学習済ニューラルネットワークモデル」)が格納されている。このグループ別学習済DNNモデル20には、複数の種類の学習済DNNモデルが含まれており、例えば、顧客(人)の検出用の学習済DNNモデル(顧客の顔又は頭の検出用の学習済DNNモデルを含む)や、顧客の属性推定等の顧客(人物)認識用の学習済DNNモデルを含んでいる。通信部17は、通信ICとアンテナを備えている。サイネージ2は、通信部17とインターネットとを介して、クラウド上のサイネージ学習管理サーバ1と接続されている。また、二次電池18は、リチウムイオン電池等の、充電により繰り返し使用することが可能な電池であり、AC/DCコンバータにより直流電力に変換した後の商用電源からの電力を、蓄電して、サイネージ2の各部に供給する。
【0025】
次に、
図3を参照して、サイネージ学習管理サーバ1のハードウェア構成について説明する。サイネージ学習管理サーバ1は、装置全体の制御及び各種演算を行うCPU21と、各種のデータやプログラムを格納するハードディスク22と、RAM(Random Access Memory)23と、ディスプレイ24と、操作部25と、通信部26とを備えている。上記のハードディスク22に格納されるプログラムには、グループ別モデル生成プログラム27が含まれている。
【0026】
図4は、主に、上記のサイネージ学習管理サーバ1の機能ブロックを示す。下記の
図4の説明では、図中の各機能ブロックと請求項における各構成要件(各手段)との対応関係と、これらの各機能ブロックの機能の概要を説明する。サイネージ学習管理サーバ1は、機能ブロックとして、撮影画像収集部31と、フレーム画像抽出部32と、人画像除去部33と、画像特徴ベクトル抽出部34と、画像クラスタリング部35と、カメラ分類部36と、自動ファインチューニング部37とを備えている。また、自動ファインチューニング部37は、人画像抽出部38と、擬似ラベリング部39と、グループ別モデル生成部41とを備えている。上記の撮影画像収集部31、人画像除去部33、画像特徴ベクトル抽出部34、画像クラスタリング部35、カメラ分類部36、人画像抽出部38、擬似ラベリング部39、及びグループ別モデル生成部41は、それぞれ、請求項における撮影画像収集手段、人画像除去手段、画像特徴抽出手段、画像クラスタリング手段、撮影手段分類手段、人画像抽出手段、擬似ラベリング手段、及びグループ別モデル生成手段に相当する。また、上記の撮影画像収集部31は、主に、
図3中の通信部26とCPU21とグループ別モデル生成プログラム27とにより実現される。また、上記のフレーム画像抽出部32、人画像除去部33、画像特徴ベクトル抽出部34、画像クラスタリング部35、カメラ分類部36、自動ファインチューニング部37、人画像抽出部38、擬似ラベリング部39、及びグループ別モデル生成部41は、
図3中のCPU21とグループ別モデル生成プログラム27により実現される。
【0027】
上記の撮影画像収集部31は、複数の店舗Sに設置されたサイネージ2の内蔵カメラ3の各々から撮影画像(本実施形態では、各内蔵カメラ3が撮影した映像(撮影映像))を収集する。フレーム画像抽出部32は、各内蔵カメラ3による撮影映像から、フレーム画像を抽出する。人画像除去部33は、フレーム画像抽出部32が抽出したフレーム画像(全撮影画像群)から、人の映り込んだ撮影画像を除去することにより、「人が映っていない撮影画像群」(すなわち、店舗の撮影画像群)を抽出する。画像特徴ベクトル抽出部34は、ベクトル抽出用の学習済DNNモデルを用いて、上記の店舗の撮影画像群(請求項における「施設の撮影画像」)の各々から特徴ベクトルを抽出する。そして、画像クラスタリング部35は、上記の店舗の撮影画像群を、画像特徴ベクトル抽出部34により抽出した各撮影画像の特徴ベクトルに基づいて、混合ガウスモデル(GMM(Gaussian Mixture Model))によりグループ分けする。
【0028】
また、詳細については後述するが、上記のカメラ分類部36は、上記の画像クラスタリング部35による店舗の撮影画像群のグループ分け結果に基づいて、これらの撮影画像を撮影した内蔵カメラ3のグループ分けを行う。人画像抽出部38は、カメラ分類部36によるグループ分け後の各グループの内蔵カメラ3による撮影画像から、人の映り込んだ撮影画像を抽出する。より正確に言うと、人画像抽出部38は、フレーム画像抽出部32が抽出した全てのフレーム画像(人の映り込んだ撮影画像と人が映っていない撮影画像とを含む全撮影画像群)を対象にして、カメラ分類部36によるグループ分け後の各グループの内蔵カメラ3による撮影画像(人の映り込んだ撮影画像と人が映っていない撮影画像)から、人の映り込んだ撮影画像を抽出する。
【0029】
また、上記の擬似ラベリング部39は、サイネージ2のメモリ16に格納されるグループ別学習済DNNモデル20の元になる顧客(人又は人の顔や頭)の検出用又は認識用の学習済DNNモデル(以下、「元の学習済DNNモデル」という)よりも精度の高い推論を行うことが可能な、顧客の検出用又は認識用の学習済高精度DNNモデル40(請求項における「学習済高精度ニューラルネットワークモデル」に相当)によって、上記の各グループの内蔵カメラ3による撮影画像のうち、人画像抽出部38が抽出した撮影画像(人の映り込んだ撮影画像)に対する推論を行って、この推論結果に基づく擬似ラベルを、正解ラベルとして、人画像抽出部38が抽出した撮影画像に付与する。グループ別モデル生成部41は、上記の各グループの内蔵カメラ3による撮影画像と、擬似ラベリング部39によってこれらの撮影画像に付与された正解ラベルとに基づいて、元の学習済DNNモデルのファインチューニングを行うことにより、上記の各グループの内蔵カメラ3による撮影画像に適したグループ別学習済DNNモデル20(請求項における「グループ別学習済ニューラルネットワークモデル」に相当)を生成する。サイネージ学習管理サーバ1のCPU21は、通信部26を用いて、上記の各グループの内蔵カメラ3による撮影画像に適したグループ別学習済DNNモデル20を、各グループ別学習済DNNモデル20に対応するグループの内蔵カメラ3を有するサイネージ2に送信して格納させる。なお、上記のグループ別学習済DNNモデル20の元になる顧客の検出用又は認識用の学習済DNNモデルは、請求項における「元の物体検出用又は物体認識用の学習済ニューラルネットワークモデル」に相当する。
【0030】
次に、
図5と
図6のフローチャートとを参照して、本グループ別モデル生成システム10におけるデータフローについて説明する。
図5は、上記
図4で説明したサイネージ学習管理サーバ1の各機能ブロックの入出力データを示す。
図6は、本グループ別モデル生成システム10におけるグループ別学習済DNNモデル生成処理のフローチャートである。まず、サイネージ学習管理サーバ1の撮影画像収集部31が、各サイネージ2に対して、内蔵カメラ3で撮影した映像の中から選択した映像(指定した時間帯の撮影映像)を、サイネージ学習管理サーバ1に転送するように促す。これに応えて、各サイネージ2は、自機の内蔵カメラ3が撮影した映像(撮影映像)のうち、上記のサイネージ学習管理サーバ1の撮影画像収集部31が指定した時間帯の撮影映像を、サイネージ学習管理サーバ1に転送する(
図6のS1)。次に、サイネージ学習管理サーバ1のフレーム画像抽出部32が、各内蔵カメラ3による撮影映像から、フレーム画像を抽出する(
図6のS2)。
図5に示すように、このフレーム画像抽出部32による抽出処理により、全ての内蔵カメラ3による撮影映像から抽出したフレーム画像(全撮影画像群(「人の映り込んだ撮影画像群」と「人が映っていない撮影画像群」の集合))が作られる。
【0031】
次に、サイネージ学習管理サーバ1の人画像除去部33が、
図6のS3に示すように、上記のフレーム画像抽出部32が抽出した全てのフレーム画像(全撮影画像群(「人の映り込んだ撮影画像群」と「人が映っていない撮影画像群」の集合))の各々に対して、人の頭検出を行って、この頭検出の結果を用いて、全撮影画像群から、「人の映り込んだ撮影画像」を除去することにより、「人が映っていない撮影画像群」(すなわち、店舗のみが映っている撮影画像群(以下、「店舗の撮影画像群」という)を抽出する。より詳細に言うと、サイネージ学習管理サーバ1の人画像除去部33は、フレーム画像抽出部32が抽出した全てのフレーム画像(全撮影画像群)の各々に対して、(人の)頭検出用の学習済DNNモデルを用いて、「人の映り込んだ撮影画像」を検出して、上記の全撮影画像群から、検出した全ての「人の映り込んだ撮影画像」(「人の映り込んだ撮影画像群」)を除去することにより、「人が映っていない撮影画像群」を抽出する。上記の人画像除去部33による「人が映っていない撮影画像群」の抽出処理により、例えば、内蔵カメラ3毎の「人が映っていない撮影画像」を、100枚ずつ抽出する。従って、例えば、グループ別モデル生成システム10内の内蔵カメラ3の数(要するに、サイネージ学習管理サーバ1に接続されているサイネージ2の数)が500のときは、上記の人画像除去部33による抽出処理により、(100×500)枚の「人が映っていない撮影画像」(「店舗の撮影画像」)が収集される。これらの撮影画像の集合(「人が映っていない撮影画像群」(「店舗の撮影画像群」))は、後述する内蔵カメラ3のグループ分け(分類)に使用される。
【0032】
次に、サイネージ学習管理サーバ1の画像特徴ベクトル抽出部34が、
図5及び
図6のS4に示すように、「人が映っていない撮影画像群」(「店舗の撮影画像群」)に含まれる各撮影画像に対する特徴ベクトル抽出を、pretrained ResNet50で行う。これにより、
図5に示すように、「人が映っていない撮影画像群」に含まれる各撮影画像の特徴ベクトル(2048次元の特徴ベクトル)を得ることができる。例えば、上記のように、人画像除去部33による抽出処理により、(100×500)枚の「人が映っていない撮影画像」(「店舗の撮影画像」)が収集された場合には、2048次元の特徴ベクトルを、(100×500)個得ることができる。
【0033】
次に、サイネージ学習管理サーバ1の画像クラスタリング部35が、「人が映っていない撮影画像群」に含まれる撮影画像を、上記の各撮影画像の特徴ベクトル(2048次元の特徴ベクトル)に基づいて、混合ガウスモデルにより、グループ分けする。具体的には、画像クラスタリング部35は、まず、画像特徴ベクトル抽出部34が抽出した各撮影画像の特徴ベクトル(2048次元の特徴ベクトル)に基づいて、混合ガウスモデルにより、自動的に、適切なクラスタ数kを推定する(S5)。この混合ガウスモデルを用いた適切なクラスタ数kの推定方法については、後で詳述する。
【0034】
次に、サイネージ学習管理サーバ1の画像クラスタリング部35は、上記の推定したクラスタ数kが、予定の(想定した上限の)クラスタ数j以下であるか否かを確認する(S6)。この結果、推定したクラスタ数kが、予定のクラスタ数j以下である場合には(S6でYES)、画像クラスタリング部35は、上記の人画像除去部33により抽出された「人が映っていない撮影画像群」に含まれる撮影画像を、k個の「人が映っていない撮影画像群A
1~A
k」にグループ分けする(S7)。S6の判定において、混合ガウスモデルを用いて推定したクラスタ数kが、予定の(想定した上限の)クラスタ数jを超える数である場合には(S6でNO)、画像クラスタリング部35は、人画像除去部33により抽出された「人が映っていない撮影画像群」に含まれる撮影画像を、予定の(想定した上限の)クラスタ数であるj個の「人が映っていない撮影画像群A
1~A
j」にグループ分けする(S8)。なお、
図5では、画像クラスタリング部35が、人画像除去部33により抽出された「人が映っていない撮影画像群」に含まれる撮影画像を、k個の「人が映っていない撮影画像群A
1~A
k」にグループ分けする場合の例を示している。
【0035】
次に、サイネージ学習管理サーバ1のカメラ分類部36が、上記の画像クラスタリング部35による撮影画像のグループ分け結果に基づいて、これらの撮影画像を撮影した内蔵カメラ3のグループ分けを行う(S9)。
【0036】
上記の内蔵カメラ3のグループ分けについて、
図7を参照して説明する。上記の画像クラスタリング部35がグループ分けをしたk個の「人が映っていない撮影画像群A
1~A
k」の各画像には、内蔵カメラ3のカメラIDが付与されている。このカメラIDは、「人が映っていない撮影画像群A
1~A
k」の各撮影画像が、上記のフレーム画像抽出部32が抽出した各撮影画像(全撮影画像群の各撮影画像)から引き継いだ情報である。上記の「人が映っていない撮影画像群A
1~A
k」の各画像に付与されたカメラIDを参照することにより、画像クラスタリング部35によってグループ分けされた各グループの「店舗の撮影画像」(「人が映っていない撮影画像」)が、どのカメラIDの内蔵カメラ3で撮影されたものであるのか(各カメラIDと各グループとの対応関係)を、容易に判別することができる。
【0037】
例えば、説明を簡単にするために、画像クラスタリング部35が推定したクラスタ数kが2であり、画像クラスタリング部35が、人画像除去部33により抽出された「人が映っていない撮影画像群」に含まれる撮影画像を、
図7に示すように、グループ1とグループ2に分けたとする。
図7を見ると、グループ1に含まれる撮影画像(「店舗の撮影画像」)のうち、殆どが、カメラID1~21の内蔵カメラ3による撮影画像である。例えば、グループ1には、カメラID0の撮影画像が45枚、カメラID1の撮影画像が100枚弱含まれているが、グループ2には、カメラID0及びカメラID1の撮影画像は、含まれていない。このことから、カメラID0及びカメラID1は、グループ2ではなく、グループ1に対応することが分かる。これと同様に、カメラID2~21の撮影画像は、グループ1にのみ含まれており、グループ2には含まれていないので、カメラID2~21は、グループ2ではなく、グループ1に対応する。
【0038】
また、
図7において、カメラID31の撮影画像は、グループ1とグループ2の両方に含まれてはいるが、グループ2に80枚弱含まれているのに対して、グループ1には、数枚しか含まれていない。従って、多数決により、カメラID31は、グループ1ではなく、グループ2に対応する。このように、各カメラIDの撮影画像が、複数のグループに含まれている場合には、該当のカメラIDは、そのカメラIDの撮影画像が最も多く含まれているグループに対応する。なお、画像クラスタリング部35によるクラスタリングが成功した場合には、各カメラIDの撮影画像が、複数のグループに含まれることは稀であるし、各カメラIDの撮影画像が、複数のグループに含まれている場合でも、各グループに属する撮影画像の枚数(画像数)には、大差がつく。
【0039】
上記のようにして、各カメラIDと各グループとの対応関係が分かるので、
図5に示すカメラ分類部36は、この対応関係に従って、上記S9に示した内蔵カメラ3のグループ分けを行い、内蔵カメラ3をk個(又はj個)のグループに分類する。
図4に示す自動ファインチューニング部37は、上記のカメラ分類部36によりグループ分けをした各グループの内蔵カメラ3の撮影画像を用いて、上記の元の学習済DNNモデル(上記のグループ別学習済DNNモデル20の元になる顧客(人)の検出用又は認識用の学習済DNNモデル)の自動ファインチューニングを行う(
図6のS10)。なお、上記の顧客(人)の検出用の学習済DNNモデルには、顧客の顔や頭の検出用の学習済DNNモデルが含まれる。
【0040】
上記の自動ファインチューニング部37による自動ファインチューニングの詳細は、下記の通りである。すなわち、まず、自動ファインチューニング部37は、フレーム画像抽出部32が抽出した、全てのフレーム画像(人の映り込んだ撮影画像と人が映っていない撮影画像とを含む全撮影画像群)を、これらの各フレーム画像に付与されたカメラIDを参照して、カメラ分類部36によりグループ分けをしたk個のグループの内蔵カメラ3の撮影画像群C
1~C
k(以下、「k個のカメラグループの撮影画像群C
1~C
k」という)に分ける。ここで、上記の「カメラグループ」とは、カメラ分類部36によりグループ分けをした内蔵カメラ3のグループを意味する。そして、自動ファインチューニング部37は、
図5に示すように、人画像抽出部38を用いて、上記のk個のカメラグループの撮影画像群C
1~C
k(人の映り込んだ撮影画像と人が映っていない撮影画像とを含む)から、人の映り込んだ撮影画像を抽出して、k個の(カメラグループの)「人の映り込んだ撮影画像群B
1~B
k」を作成する。上記の人画像抽出部38による「人の映り込んだ撮影画像」の抽出にも、人画像除去部33による「人の映り込んだ撮影画像」の検出に用いられたものと同様な、人の頭検出用の学習済DNNモデルが用いられる。
【0041】
上記の人画像抽出部38によるk個の「人の映り込んだ撮影画像群B
1~B
k」の作成処理が完了すると、自動ファインチューニング部37は、
図5に示すように、擬似ラベリング部39を用いて、上記の元の学習済DNNモデルよりも精度の高い推論を行うことが可能な(顧客の検出用又は認識用の)学習済高精度DNNモデル40によって、k個の「人の映り込んだ撮影画像群B
1~B
k」に対する推論を行って、この推論結果に基づく擬似ラベルを、正解ラベルとして、「人の映り込んだ撮影画像群B
1~B
k」に含まれる各撮影画像に付与する。
【0042】
そして、自動ファインチューニング部37は、
図5に示すように、グループ別モデル生成部41により、上記の擬似ラベルが付与された「人の映り込んだ撮影画像群B
1~B
k」に含まれる各撮影画像群B
1~B
kを用いて、上記の元の学習済DNNモデルのファインチューニングを行うことにより、上記のk個の各グループの内蔵カメラ3による撮影画像に適した、k個のグループ別学習済DNNモデル20を生成する。すなわち、例えば、撮影画像群B
1に含まれる各撮影画像と、これらの撮影画像に付与された正解ラベルとに基づいて、元の学習済DNNモデルのファインチューニングを行うことにより、撮影画像群B
1に対応する(1つ目の)カメラグループの内蔵カメラ3による撮影画像に適したグループ別学習済DNNモデル20を生成し、撮影画像群B
2に含まれる各撮影画像と、これらの撮影画像に付与された正解ラベルとに基づいて、元の学習済DNNモデルのファインチューニングを行うことにより、撮影画像群B
2に対応する(2つ目の)カメラグループの内蔵カメラ3による撮影画像に適したグループ別学習済DNNモデル20を生成する。ここで、ファインチューニングとは、元の(既存の)学習済DNNモデルの重みを初期値として、新たに生成する学習済DNNモデル全体の重みを再学習することを意味する。
【0043】
次に、サイネージ学習管理サーバ1のCPU21は、上記のグループ別モデル生成部41によるファインチューニング後の各グループ別学習済DNNモデル20の推論精度を評価する(S11)。上記のファインチューニング後の各グループ別学習済DNNモデル20の推論精度の評価については、後述する
図10の説明で詳細に説明するが、上記のファインチューニング後の各グループ別学習済DNNモデル20の推論精度(F1値等)が、ファインチューニング前の元の学習済DNNモデルと比べて顕著に上昇した場合には、上記の画像クラスタリング部35によるグループ分けの結果が適切であると評価することができる。画像クラスタリング部35によるグループ分けの結果が適切な場合には、上記のファインチューニング後の各グループ別学習済DNNモデル20を、それぞれのファインチューニングに用いられた撮影画像群B
1~B
kに対応する各カメラグループに属する内蔵カメラ3を有するサイネージ2に送信して格納させる。
【0044】
必要に応じて、
図6のS1乃至S11の処理を、定期的に繰り返すことで、例え、各店舗Sのレイアウトや環境(光の条件や内装等)が変化した場合でも、このグループ別モデル生成システム10により生成された各グループ別学習済DNNモデル20の充分な精度を維持することができる。
【0045】
次に、
図8を参照して、上記S5で述べた混合ガウスモデルを用いた適切なクラスタ数kの推定方法について、詳述する。
図8における左側の図は、画像特徴ベクトル抽出部34が、全店舗のサイネージ2の内蔵カメラ3が撮影した「人が映っていない撮影画像群」に含まれる各撮影画像から、pretrained ResNet50により抽出した、各撮影画像の2048次元の特徴ベクトルを、tSNE(t-distributed Stochastic Neighbor Embedding)のアルゴリズムにより2次元に次元削減することにより可視化した、各撮影画像の2次元の特徴ベクトルの分布図である。画像特徴ベクトル抽出部34が抽出した2048次元の特徴ベクトル自体(の分布)は、可視化できないため、上記の分布図では、tSNEにより2次元に次元削減した特徴ベクトルの分布を示した。ただし、上記の画像クラスタリング部35における混合ガウスモデルによるクラスタリング処理では、画像特徴ベクトル抽出部34が抽出した各撮影画像の2048次元の特徴ベクトルが用いられる。
【0046】
すなわち、画像クラスタリング部35は、撮影画像のグループの数であるクラスタ数を変化させながら(すなわち、混合ガウスモデルに含まれるガウス分布の数)を変化させながら)、各クラスタ数であるときのBIC(Bayesian information criterion:ベイズ情報量基準)の値を、画像特徴ベクトル抽出部34が抽出した各撮影画像の(2048次元の)特徴ベクトル(の分布)に基づいて、混合ガウスモデルにより求めて、求めた各クラスタ数に対応するBICの値に基づいて、画像特徴ベクトル抽出部34が抽出した撮影画像の特徴ベクトルの分布に適したクラスタ数を求める。すなわち、まず、画像クラスタリング部35は、例えば、1~9のクラスタ数(混合ガウスモデルに含まれるガウス分布の数)を順番に指定して、各クラスタ数であるときのBICの値を、画像特徴ベクトル抽出部34が抽出した各撮影画像の(2048次元の)特徴ベクトル(の分布)に基づいて、混合ガウスモデルにより求める。
図8における真ん中(中央)の図は、上記のようにして求めたクラスタ数kとBICの値の関係を示す折れ線グラフであり、この図中における1e7は、1×10
7を表す。
【0047】
そして、画像クラスタリング部35は、上記の折れ線グラフにおいて、勾配が落ち着いた時点におけるクラスタ数(この図の例では、5)を、画像特徴ベクトル抽出部34が抽出した撮影画像の特徴ベクトルの分布に適したクラスタ数とする。上記の勾配が落ち着いた時点におけるクラスタ数には、前の区間におけるBICの値の変化量(例えば、上記の折れ線グラフにおける、クラスタ数4とクラスタ数5の間のBICの値の変化量)と、次の区間におけるBICの値の変化量(例えば、クラスタ数5とクラスタ数6の間のBICの値の変化量)とを比較して、BICの値の変化量(下降量)が小さくなる直前のクラスタ数を採用する。これは、クラスタ数が多すぎると、上記
図6のS10で述べた、元の学習済DNNモデルのファインチューニングの処理回数が多くなってしまうので、クラスタ数kを増やしても、最適なモデルの指標であるBICの値が余り変わらなければ、なるべく少ないクラスタ数kを採用することが望ましいという理由による。ここで、一般に、上記のBICの値は、小さい方が好ましい。
【0048】
図8における真ん中の図に示す折れ線グラフでは、上記の勾配が落ち着いた時点におけるクラスタ数が5であるので、混合ガウスモデルのBICの値から求めた、上記の撮影画像の特徴ベクトルの分布に適したクラスタ数は、5である。
図8における右側の図は、上記の適切なクラスタ数(=5)に合わせて、
図8の左側の分布図における、各撮影画像の(次元削減後の)2次元の特徴ベクトルを、グループ1~5に、色でグループ分けして示した分布図である。なお、一般に、特許出願では、カラーの図面を使用することができないので、
図8における右側の図では、グレースケールで、各特徴ベクトルのグループを示している。また、
図8における左側の図と右側の図は、混合ガウスモデルを用いた適切なクラスタ数kの推定方法を説明するために記載した図であり、実際の画像クラスタリング部35によるクラスタリング処理では、これらの2次元に次元削減した特徴ベクトルの分布図は、使用されない。ただし、
図8における左側の図については、全店舗のサイネージ2の内蔵カメラ3が撮影した「人が映っていない撮影画像群」に含まれる撮影画像を、いくつのグループに分けるのが適切かを確認するために使用される場合がある。
【0049】
図9は、上記
図6のS7の処理において、「人が映っていない撮影画像群」(「店舗の撮影画像群」))に含まれる撮影画像を、5個の「人が映っていない撮影画像群A
1~A
5」にグループ分けした(グループ1~5の撮影画像群に分けた)場合における、各グループに含まれる撮影画像の例を示した図である。上記S7の撮影画像のグループ分けを行うことにより、グループ1~5の撮影画像群A
1~A
5の各々に対応するフォルダが自動生成され、それらのフォルダの各々に、当該フォルダに対応するグループの撮影画像が格納される。
【0050】
図9に示す例では、グループ1の撮影画像群(撮影画像群A
1)の撮影画像は、真ん中が通路で、通路の左右に商品棚と壁があるというようなレイアウトの、店舗内のエリアの撮影画像であり、グループ2の撮影画像群(撮影画像群A
2)の撮影画像は、通路が少し狭く、通路の左右に商品棚があるというようなレイアウトの、店舗内のエリアの撮影画像である。グループ3の撮影画像群(撮影画像群A
3)の撮影画像は、通路の左右の片方が壁で、もう片方が商品棚であり、通路の奥側が商品棚で塞がれているようなレイアウトの、店舗内のエリアの撮影画像である。グループ4の撮影画像群(撮影画像群A
4)の撮影画像は、店舗の隅のコーナーに設置したサイネージ2の内蔵カメラ3で、通路に対して斜め上の方向から撮影した店舗内のエリアの撮影画像である。グループ5の撮影画像群(撮影画像群A
5)の撮影画像は、サイネージ2の内蔵カメラ3で、通路に対して斜め上の方向から撮影した店舗内のエリアの撮影画像であり、フレアが生じている撮影画像である。ただし、
図9に示す各グループ1~5の撮影画像は、あくまでも例示に過ぎない。
【0051】
図9に示すように、各グループの撮影画像群A
1~A
5は、各店舗におけるレイアウト、光の条件、内装等を反映した、各撮影画像の特徴が類似した撮影画像同士を集めたものになっている。
【0052】
次に、上記
図6のS11で説明した、ファインチューニング後の各グループ別学習済DNNモデル20の推論精度の評価について、
図10を参照して、説明する。
図10は、5つ目の(人の映り込んだ)撮影画像群B
5に含まれる各撮影画像とその正解ラベル(疑似ラベル)とに基づいて、元の学習済DNNモデルのファインチューニングを行うことにより生成した、5つ目のカメラグループに対応するグループ別学習済DNNモデル20のF
1値(「F値」とも言う)等の推論精度評価指標等を、ファインチューニング前の元の学習済DNNモデルの推論精度評価指標等と対比して示す。
図10において、TP(True Positive)は、「真と予測して、実際に真であったもの」(例えば、人の頭と予測して、実際に人の頭であったもの)を表し、FP(False Positive)は、「真と予測して、実際は、偽であったもの」(例えば、人の頭と予測して、実際には人の頭でなかったもの)を表し、FN(False Negative)は、「偽と予測したが、実際は、真であったもの」(例えば、人の頭ではないと予測して、実際には人の頭であったもの)を表す。
【0053】
また、
図10中のPrecisionは、いわゆる適合率であり、正と予測したデータのうち、実際に正であるものの割合を示す。式で表すと、Precision=TP/(TP+FP)である。Recallは、いわゆる再現率であり、実際に正であるもののうち、正であると予測されたものの割合を示す。式で表すと、Recall=TP/(TP+FN)である。また、F
1値(F値)は、Recall(再現率)と、Precision(適合率)の調和平均であり、式で表すと、F
1値=(2×Precision×Recall)/(Precision+Recall)である。
【0054】
図10に示す表から、ファインチューニング前の元の学習済DNNモデルと比べて、ファインチューニング後のグループ別学習済DNNモデル20では、検知率に寄与する指標であるTPの値が大幅に向上すると共に、未検知の指標であるFNの値が大幅に減少することが分かる。このため、ファインチューニング前の元の学習済DNNモデルと比べて、ファインチューニング後のグループ別学習済DNNモデル20では、Precision、Recall、及びF
1値といった推論精度評価指標が、いずれも、大幅に向上することが分かる。なお、
図10に示す表では、ファインチューニング後に、誤検知の指標であるFPの値が僅かに上昇しているが、Precision、Recall、及びF
1値といった評価指標が大幅に向上している以上、実運用の観点からは、特に問題はない。また、
図10に示す表では、5つ目のカメラグループに対応するグループ別学習済DNNモデル20の、ファインチューニング後におけるF
1値等の評価指標の向上について示したが、上記の5つ目のカメラグループに対応するグループ別学習済DNNモデル20と共に生成した、1つ目~4つ目のカメラグループに対応するグループ別学習済DNNモデル20についても、ファインチューニング後におけるF
1値等の評価指標は、大幅に向上した。
【0055】
上記
図8の説明では、クラスタ数((カメラ)グループ数)が多すぎると、元の学習済DNNモデルのファインチューニングの処理回数が多くなってしまうので、クラスタ数kを増やしても、最適なモデルの指標であるBICの値が余り変わらなければ、なるべく少ないクラスタ数kを採用することが望ましいと述べたが、これは、上記のPrecision、Recall、及びF
1値といった推論精度評価指標についても、同じである。すなわち、画像クラスタリング部35は、クラスタ数(グループ数)を増やしていって、クラスタ数を(k-1)からkに増やした時には、(混合ガウスモデルにより求めた)BICの値や、F
1値等の推論精度評価指標の値が、大幅に向上(改善)するが、クラスタ数をkから(k+1)以上に増やしても、BICの値や、F
1値等の推論精度評価指標が、余り変わらなければ、クラスタ数(グループ数)として、kを採用する。この理由は、クラスタ数((カメラ)グループ数)が多すぎると、元の学習済DNNモデルのファインチューニングの処理回数が多くなってしまうからである。すなわち、画像クラスタリング部35は、クラスタ数(グループ数)を増やしていった時の評価指標の値の上り幅(BICの場合は、下り幅)と、クラスタ数(グループ数)の(少なさの)バランスのとれた所のクラスタ数kの値を採用する。なお、上記のクラスタ数(グループ数)を決定する指標としては、
図8の説明で述べた最適なモデルの指標であるBICの値のみを用いても良いし、Precision、Recall、及びF
1値といった推論精度評価指標のみを用いても良いし、BICの値と、F
1値等の推論精度評価指標とを、組み合わせて用いても良い。
【0056】
上記のように、本実施形態のグループ別モデル生成システム10、サイネージ学習管理サーバ1、及びグループ別モデル生成プログラム27によれば、複数の店舗に設置されたサイネージ2の内蔵カメラ3の各々から収集した撮影画像を、これらの撮影画像の各々の特徴ベクトルに基づいて、混合ガウスモデルによりグループ分けして、これらの撮影画像のグループ分け結果に基づいて、これらの撮影画像を撮影した内蔵カメラ3のグループ分けを行い、グループ分けをした各グループの内蔵カメラ3による撮影画像を用いて、元の(顧客の検出用又は認識用の)学習済DNNモデルのファインチューニングを行うようにした。これにより、各グループの内蔵カメラ3の撮影画像に適した(各グループの内蔵カメラ3の撮影画像に特化した)グループ別学習済DNNモデル20を生成することができるので、各グループ別学習済DNNモデル20が、極端に軽い学習済DNNモデルであっても、各グループの内蔵カメラ3の撮影画像に対する高精度な顧客検出処理や顧客認識処理を行うことが可能になる。また、グループ別モデル生成システム10内の全サイネージ2による顧客検出処理や顧客認識処理の対象となる撮影画像が、数千店舗等の多数の店舗に設置されたサイネージ2の内蔵カメラ3の撮影画像である場合でも、これらの内蔵カメラ3をグループ分けして、グループ分け後の限られた数の内蔵カメラ3(例えば、数百台の内蔵カメラ3)の撮影画像を用いて、元の学習済DNNモデルのファインチューニングを行うことができるので、元の学習済DNNモデルが、極端に軽い学習済DNNモデルであっても、適切な機械学習を遂行することができる可能性を高めることができる(学習しきれない可能性を低くすることができる)。従って、グループ別モデル生成システム10内の全サイネージ2による顧客検出処理や顧客認識処理の対象となる撮影画像が、数千店舗等の多数の店舗に設置されたサイネージ2の内蔵カメラ3の撮影画像であり、しかも、元の学習済DNNモデル、及び上記の生成した各グループ別学習済DNNモデル20が、極端に軽い学習済DNNモデルであっても、上記の生成した各グループ別学習済DNNモデル20を用いて、各グループの内蔵カメラ3の撮影画像に対する高精度な顧客検出処理や顧客認識処理を行うことが可能になる。
【0057】
また、本実施形態のグループ別モデル生成システム10によれば、グループ別モデル生成部41により生成された、各グループの内蔵カメラ3の撮影画像に適したグループ別学習済DNNモデル20を、各グループの内蔵カメラ3が設置された店舗に配されたエッジ側の装置、すなわち、該当の内蔵カメラ3を有するサイネージ2に送信して格納させ、このサイネージ2により、各グループの内蔵カメラ3が撮影した撮影画像に対する顧客検出処理又は顧客認識処理を行うようにした。これにより、各グループの内蔵カメラ3を有するサイネージ2が、自機の内蔵カメラ3の撮影画像に対する高精度な顧客検出処理や顧客認識処理を行うことができる。
【0058】
また、本実施形態のグループ別モデル生成システム10によれば、元の顧客の検出用又は認識用の学習済DNNモデルよりも精度の高い推論を行うことが可能な、顧客の検出用又は認識用の学習済高精度DNNモデル40によって、各グループの内蔵カメラ3による撮影画像に対する推論を行い、この推論結果に基づく擬似ラベルを、正解ラベルとして、各グループの内蔵カメラ3による撮影画像に付与して、各グループの内蔵カメラ3による撮影画像と、上記の各グループの内蔵カメラ3による撮影画像に付与された正解ラベル(擬似ラベル)とに基づいて、上記元の顧客の検出用又は認識用の学習済DNNモデルのファインチューニングを行うようにした。これにより、各グループの内蔵カメラ3による撮影画像の各々に、自動的に正解ラベルを付与して、上記の学習済DNNモデルのファインチューニングを、自動的に行うことができる。すなわち、人がアノテーション(各撮影画像の正解ラベルの作成)をすることなく、上記の元の学習済DNNモデルのファインチューニングを行うことができる。
【0059】
また、本実施形態のグループ別モデル生成システム10によれば、撮影画像のグループの数であるクラスタ数を変化させながら、各クラスタ数であるときのBIC(ベイズ情報量基準)の値を、混合ガウスモデルにより求めて、求めた各クラスタ数に対応するBICの値に基づいて、画像特徴ベクトル抽出部34により抽出した撮影画像の特徴ベクトルの分布に適したクラスタ数を求めるようにした。これにより、撮影画像の特徴ベクトルの分布に適したクラスタ数を、自動的に求めることができる。
【0060】
また、本実施形態のグループ別モデル生成システム10によれば、複数の店舗に設置されたサイネージ2の内蔵カメラ3の各々から収集した撮影画像から、人の映り込んだ撮影画像を除去した後に残った店舗の撮影画像の各々から特徴ベクトルを抽出して、これらの特徴ベクトルに基づいて、上記の店舗の撮影画像を、教師なし学習である混合ガウスモデルによりグループ分けするようにした。上記のように、内蔵カメラ3のグループ分けの元になる撮影画像のグループ分けを、店舗の撮影画像の特徴ベクトルに基づいて行うようにしたことにより、撮影画像に映り込んだ人の影響を受けずに、内蔵カメラ3の撮影画像のグループ分けを行うことができる。
【0061】
変形例:
なお、本発明は、上記の各実施形態の構成に限られず、発明の趣旨を変更しない範囲で種々の変形が可能である。次に、本発明の変形例について説明する。
【0062】
変形例1:
上記の実施形態では、画像クラスタリング部35が、店舗の撮影画像群を、画像特徴ベクトル抽出部34により抽出した各撮影画像の特徴ベクトルに基づいて、混合ガウスモデルによりグループ分けする場合の例を示した。けれども、撮影画像群のグループ分けに使用するクラスタリング用のモデルは、混合ガウスモデルに限られず、例えば、k-means法(k平均法)、EM(expectation-maximization)アルゴリズム等の教師なし学習であればよい。また、店舗の撮影画像群のグループ分けを、必ずしも、上記のように各撮影画像の特徴ベクトルに基づいて行う必要はなく、各撮影画像の種々の特徴に基づいて、撮影画像群のグループ分けを行えばよい。
【0063】
変形例2:
上記の実施形態では、各グループの内蔵カメラ3による撮影画像と、擬似ラベリング部39によってこれらの撮影画像に付与された擬似ラベルとを用いて、元の学習済DNNモデルのファインチューニングを行うことにより、上記の各グループの内蔵カメラ3による撮影画像に適したグループ別学習済DNNモデル20を生成する場合の例を示したが、各グループの内蔵カメラ3による撮影画像と、これらの撮影画像に付与された擬似ラベルとを用いて、元の学習済DNNモデルの転移学習を行うことにより、各グループの内蔵カメラによる撮影画像に適したグループ別学習済DNNモデルを生成するようにしてもよい。ここで、転移学習とは、元の(既存の)学習済DNNモデルにおける重みを固定したままで、新たに追加した層の重みのみを学習することを意味する。
【0064】
変形例3:
上記の実施形態では、各グループの内蔵カメラ3の撮影画像に適したグループ別学習済DNNモデル20を、上記の各グループの内蔵カメラ3を有するサイネージ2に送信して格納させる場合の例を示したが、グループ別学習済DNNモデルを送信して格納させる(インストールする)装置は、サイネージに限られず、何らかのカメラが設置された店舗等の施設に配されたエッジ側の装置であればよい。このエッジ側の装置の例としては、監視カメラによる撮影画像に対する物体検出又は物体認識を行う画像分析装置や、いわゆるAIカメラが挙げられる。
【0065】
変形例4:
上記の実施形態では、撮影画像のグループの数であるクラスタ数を変化させながら、各クラスタ数であるときのBIC(ベイズ情報量基準)の値を、混合ガウスモデルにより求めて、求めた各クラスタ数に対応するBICの値に基づいて、撮影画像の特徴ベクトルの分布に適したクラスタ数を求める場合の例を示したが、例えば、各クラスタ数であるときのAIC(赤池情報量基準)の値を、混合ガウスモデル等の教師なし学習により求めて、求めた各クラスタ数に対応するAICの値に基づいて、撮影画像の特徴ベクトルの分布に適したクラスタ数を求めてもよい。
【0066】
変形例5:
上記の実施形態では、グループ別モデル生成部41により生成するグループ別学習済DNNモデル20が、顧客の検出用又は認識用の学習済DNNモデルであったため、人画像抽出部38を用いて、人の映り込んだ撮影画像を抽出して、抽出した人の映り込んだ撮影画像(「人の映り込んだ撮影画像群B1~Bk」の各撮影画像群B1~Bk)を用いて、上記の元の学習済DNNモデルのファインチューニングを行うことにより、上記の各グループの内蔵カメラ3による撮影画像に適したグループ別学習済DNNモデル20を生成した。けれども、例えば、グループ別モデル生成部により生成するグループ別学習済DNNモデルが、商品の検出用又は認識用の学習済DNNモデルである場合や、商品棚の検出用又は認識用の学習済DNNモデルである場合には、k個の各グループの内蔵カメラで撮影した「人が映っていない撮影画像群」を用いて、元の(既存の)学習済DNNモデルのファインチューニングを行うことにより、上記の各グループの内蔵カメラによる撮影画像に適したグループ別学習済DNNモデルを生成することができる。
【0067】
変形例6:
また、上記の実施形態では、サイネージ学習管理サーバ1が、フレーム画像抽出部32と人画像除去部33を備える場合の例を示したが、各サイネージが、フレーム画像抽出部と人画像除去部に相当する機能を備え、人が映っていない撮影画像(フレーム画像)のみを、サイネージ学習管理サーバ1に送信するようにしてもよい。この場合は、サイネージ学習管理サーバ側の撮影画像収集部は、複数の店舗に設置されたサイネージの内蔵カメラの各々から、上記の人が映っていない撮影画像(フレーム画像)を収集する。
【符号の説明】
【0068】
1 サイネージ学習管理サーバ(サーバ、コンピュータ)
2、2a、2b サイネージ(エッジ側の装置)
3 内蔵カメラ(撮影手段)
10 グループ別モデル生成システム
20 グループ別学習済DNNモデル(グループ別学習済ニューラルネットワークモデル)
27 グループ別モデル生成プログラム
31 撮影画像収集部(撮影画像収集手段)
33 人画像除去部(人画像除去手段)
34 画像特徴ベクトル抽出部(画像特徴抽出手段)
35 画像クラスタリング部(画像クラスタリング手段)
36 カメラ分類部(撮影手段分類手段)
38 人画像抽出部(人画像抽出手段)
39 擬似ラベリング部(擬似ラベリング手段)
40 学習済高精度DNNモデル(学習済高精度ニューラルネットワークモデル)
41 グループ別モデル生成部(グループ別モデル生成手段)
S、Sa、Sb 店舗(施設)