IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ AWL株式会社の特許一覧

特許7437738機械学習システム、学習用データセット生成システム、及び機械学習プログラム
<>
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図1
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図2
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図3
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図4
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図5
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図6
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図7
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図8
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図9
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図10
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図11
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図12
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図13
  • 特許-機械学習システム、学習用データセット生成システム、及び機械学習プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-15
(45)【発行日】2024-02-26
(54)【発明の名称】機械学習システム、学習用データセット生成システム、及び機械学習プログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240216BHJP
   G06N 3/04 20230101ALI20240216BHJP
   G06N 3/08 20230101ALI20240216BHJP
【FI】
G06T7/00 350C
G06N3/04
G06N3/08
【請求項の数】 12
(21)【出願番号】P 2020002255
(22)【出願日】2020-01-09
(65)【公開番号】P2021111101
(43)【公開日】2021-08-02
【審査請求日】2022-11-30
(73)【特許権者】
【識別番号】516249414
【氏名又は名称】AWL株式会社
(74)【代理人】
【識別番号】100084375
【弁理士】
【氏名又は名称】板谷 康夫
(74)【代理人】
【識別番号】100125221
【弁理士】
【氏名又は名称】水田 愼一
(74)【代理人】
【識別番号】100142077
【弁理士】
【氏名又は名称】板谷 真之
(72)【発明者】
【氏名】土田 安紘
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】特開2019-106119(JP,A)
【文献】特開2019-219928(JP,A)
【文献】特開2011-065579(JP,A)
【文献】特開2019-152964(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06N 3/04
G06N 3/08
(57)【特許請求の範囲】
【請求項1】
コンピュータグラフィックスで作成した学習用画像を含む学習用データセットを使用して、画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行う機械学習システムであって、
ある特定環境における各構成要素の実体の確率分布に対応する学習用データセットを生成するデータセット生成部と、
前記学習用データセットを用いてディープラーニングを行うことにより、学習済ニューラルネットワークモデルを生成するニューラルネットワーク生成部と、
テスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、
前記推論部による推論結果に基づいて、前記学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、
前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、
前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを、前記データセット生成部により生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部と、
前記ニューラルネットワーク生成部により、前記更新後の学習用データセットを用いてディープラーニングを行うことによって、現在の学習済ニューラルネットワークモデルよりも精度の高い学習済ニューラルネットワークモデルを生成するように制御する学習繰返し制御部とを備え
前記データセット生成部により生成される学習用データセットを構成する各学習用画像は、前記特定環境における各構成要素の実体の確率分布から選択した前記各構成要素の実体に、ランダムノイズを加えて生成した複数パターンの前記各構成要素の実体に基づいて描画した画像である機械学習システム。
【請求項2】
コンピュータグラフィックスで作成した学習用画像を含む学習用データセットを使用して、画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行う機械学習システムであって、
ある特定環境における各構成要素の実体の確率分布に対応する学習用データセットを生成するデータセット生成部と、
前記学習用データセットを用いてディープラーニングを行うことにより、学習済ニューラルネットワークモデルを生成するニューラルネットワーク生成部と、
テスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、
前記推論部による推論結果に基づいて、前記学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、
前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、
前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを、前記データセット生成部により生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部と、
前記ニューラルネットワーク生成部により、前記更新後の学習用データセットを用いてディープラーニングを行うことによって、現在の学習済ニューラルネットワークモデルよりも精度の高い学習済ニューラルネットワークモデルを生成するように制御する学習繰返し制御部と、
前記特定環境における各構成要素の実体の確率分布に基づいて、前記各構成要素の実体に対応する前記特定環境の実体の時系列に沿ったシミュレーション結果のデータである特定環境実体情報を生成する特定環境生成部とを備え、
前記データセット生成部は、前記学習用データセットに加えて、前記特定環境生成部により生成された前記特定環境実体情報に対応する、前記ニューラルネットワークモデルのテスト用データセットを生成し、
前記推論部は、前記データセット生成部により生成されたテスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う機械学習システム。
【請求項3】
前記学習繰返し制御部は、前記検証部による検証の結果、現在の学習用データセットにおける学習用データの偏りが、所定のレベル以下になるまで、
前記特定環境変更部によって、前記学習用データの偏りを減少させるように、前記特定環境における各構成要素の確率分布を変更させる処理と、
前記更新後学習用データセット生成制御部によって、前記変更後の各構成要素の実体の確率分布に対応する前記学習用データセットを、前記データセット生成部を用いて生成し、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成する処理と、
前記ニューラルネットワーク生成部によって、前記更新後の学習用データセットを用いて現在の学習済ニューラルネットワークモデルよりも精度の高い学習済ニューラルネットワークモデルを生成する処理と、
前記生成した精度の高い学習済ニューラルネットワークモデルを用いて、前記推論部により前記テスト用画像中の物体に対する推論を行う処理と、
前記推論部による推論結果に基づいて、前記検証部により現在の学習用データセットにおける学習用データの偏りを検証する処理と
を繰り返すことを特徴とする請求項1又は請求項2に記載の機械学習システム。
【請求項4】
前記特定環境変更部は、調整パラメータの値に応じて、前記特定環境における各構成要素の実体の確率分布を変更し、前記変更後の各構成要素の実体の確率分布に従い、同じ調整パラメータにおいて、毎回異なる前記各構成要素の実体を生成することを特徴とする請求項1乃至請求項3のいずれか一項に記載の機械学習システム。
【請求項5】
前記データセット生成部は、前記学習用データセットのアノテーションデータを生成することを特徴とする請求項1乃至請求項のいずれか一項に記載の機械学習システム。
【請求項6】
前記推論用のニューラルネットワークモデルには、複数のビデオカメラで撮影した各映像を構成する各フレーム画像における人の特徴量に基づいて、異なるビデオカメラで撮影した人の同定を行う人物同定用のニューラルネットワークモデルが含まれることを特徴とする請求項1乃至請求項のいずれか一項に記載の機械学習システム。
【請求項7】
画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行うための学習用データセットを生成する学習用データセット生成システムであって、
前記学習用データセットは、コンピュータグラフィックスで作成した学習用画像を含み、
テスト用データセットに含まれるテスト用画像を、現在の学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、
前記推論部による推論結果に基づいて、前記現在の学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、
前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記学習用画像に映り込む特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、
前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部とを備え
前記更新後の学習用データセットを構成する各学習用画像は、前記特定環境における各構成要素の実体の確率分布から選択した前記各構成要素の実体に、ランダムノイズを加えて生成した複数パターンの前記各構成要素の実体に基づいて描画した画像である学習用データセット生成システム。
【請求項8】
画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行うための学習用データセットを生成する学習用データセット生成システムであって、
前記学習用データセットは、コンピュータグラフィックスで作成した学習用画像を含み、
テスト用データセットに含まれるテスト用画像を、現在の学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、
前記推論部による推論結果に基づいて、前記現在の学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、
前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記学習用画像に映り込む特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、
前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部と、
前記特定環境における各構成要素の実体の確率分布に基づいて、前記各構成要素の実体に対応する前記特定環境の実体の時系列に沿ったシミュレーション結果のデータである特定環境実体情報を生成する特定環境生成部と、
前記特定環境生成部により生成された前記特定環境実体情報に対応する、前記ニューラルネットワークモデルのテスト用データセットを生成するデータセット生成部とを備え
前記推論部は、前記データセット生成部により生成されたテスト用データセットに含まれるテスト用画像を、現在の学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う学習用データセット生成システム。
【請求項9】
前記特定環境変更部は、調整パラメータの値に応じて、前記特定環境における各構成要素の実体の確率分布を変更し、前記変更後の各構成要素の実体の確率分布に従い、同じ調整パラメータにおいて、毎回異なる前記各構成要素の実体を生成することを特徴とする請求項7又は請求項8に記載の学習用データセット生成システム。
【請求項10】
コンピュータグラフィックスで作成した学習用画像を含む学習用データセットを使用して、画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行うための機械学習プログラムであって、
コンピュータを、
ある特定環境における各構成要素の実体の確率分布に対応する学習用データセットを生成するデータセット生成部と、
前記学習用データセットを用いてディープラーニングを行うことにより、学習済ニューラルネットワークモデルを生成するニューラルネットワーク生成部と、
テスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、
前記推論部による推論結果に基づいて、前記学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、
前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、
前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを、前記データセット生成部により生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部と、
前記ニューラルネットワーク生成部により、前記更新後の学習用データセットを用いてディープラーニングを行うことによって、現在の学習済ニューラルネットワークモデルよりも精度の高い学習済ニューラルネットワークモデルを生成するように制御する学習繰返し制御部として機能させ
前記データセット生成部により生成される学習用データセットを構成する各学習用画像は、前記特定環境における各構成要素の実体の確率分布から選択した前記各構成要素の実体に、ランダムノイズを加えて生成した複数パターンの前記各構成要素の実体に基づいて描画した画像である機械学習プログラム。
【請求項11】
コンピュータグラフィックスで作成した学習用画像を含む学習用データセットを使用して、画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行うための機械学習プログラムであって、
コンピュータを、
ある特定環境における各構成要素の実体の確率分布に対応する学習用データセットを生成するデータセット生成部と、
前記学習用データセットを用いてディープラーニングを行うことにより、学習済ニューラルネットワークモデルを生成するニューラルネットワーク生成部と、
テスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、
前記推論部による推論結果に基づいて、前記学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、
前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、
前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを、前記データセット生成部により生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部と、
前記ニューラルネットワーク生成部により、前記更新後の学習用データセットを用いてディープラーニングを行うことによって、現在の学習済ニューラルネットワークモデルよりも精度の高い学習済ニューラルネットワークモデルを生成するように制御する学習繰返し制御部と、
前記特定環境における各構成要素の実体の確率分布に基づいて、前記各構成要素の実体に対応する前記特定環境の実体の時系列に沿ったシミュレーション結果のデータである特定環境実体情報を生成する特定環境生成部として機能させ、
前記データセット生成部は、前記学習用データセットに加えて、前記特定環境生成部により生成された前記特定環境実体情報に対応する、前記ニューラルネットワークモデルのテスト用データセットを生成し、
前記推論部は、前記データセット生成部により生成されたテスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う機械学習プログラム。
【請求項12】
前記特定環境変更部は、調整パラメータの値に応じて、前記特定環境における各構成要素の実体の確率分布を変更し、前記変更後の各構成要素の実体の確率分布に従い、同じ調整パラメータにおいて、毎回異なる前記各構成要素の実体を生成することを特徴とする請求項10又は請求項11に記載の機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習システム、学習用データセット生成システム、及び機械学習プログラムに関する。
【背景技術】
【0002】
従来から、店舗等の屋内に、監視カメラや、いわゆるAI(Artificial Intelligence)カメラ等のカメラを配して、これらのカメラで撮影したフレーム画像に映り込んだ人等の物体を、学習済物体検出用ニューラルネットワークモデルで検出し、検出した物体の認識を、学習済物体認識用ニューラルネットワークモデルを用いて行うようにした装置やシステムが知られている(例えば、特許文献1参照)。
【0003】
上記のような物体検出用ニューラルネットワークモデルや物体認識用ニューラルネットワークモデルを含む推論用のニューラルネットワークモデルの機械学習では、学習対象の確率分布(例えば、人の年齢の認識を行うニューラルネットワークモデルの場合は、人の年齢の確率分布)をニューラルネットワークモデルで再現するために、ディープラーニングを行う。
【0004】
ところで、上記の画像中の物体に対する推論用のニューラルネットワークモデルを応用した技術において、異なるビデオカメラで撮影した同じ人について同一のIDを付与するPerson Re-Identificationを行うものがある。これは、複数のビデオカメラで撮影した各映像を構成する各フレーム画像における人の特徴量に基づいて、異なるビデオカメラで撮影した人の同定を行う人物同定用のニューラルネットワークモデルである。一般に、ビデオカメラが異なると、人物の映り方が大きく変化する、ビデオカメラ毎に明るさ・歪み等のパラメータが大きく異なる、人は動くため同一人物であっても見た目が大きく変化する等の理由から、Person Re-Identification(異なるビデオカメラで撮影した人の同定)は、非常に困難であり、今日も多くの研究者が適切な手法の開発を競っている。
【0005】
Person Re-Identification用のニューラルネットワークモデルの機械学習用及びテスト用のデータセットとして、Market1501というデータセットが存在する(このデータセットをダウンロード可能なサイトは、https://github.com/vana77/Market-1501 Attrite)。このデータセットには、ショッピングセンターに設置されたカメラで撮影された751名分のデータ(画像データ(各人10枚弱の各角度から撮影されたフレーム画像データ)、及び属性データ)が格納されている。
【0006】
また、Person Re-Identification用のニューラルネットワークモデルの機械学習用及びテスト用のデータセットを作成するために、Person Xという、3DCG(three-Dimensional Computer Graphics)によりデータセットを生成する技術がある。このPerson Xにより、1266名の様々な撮影角度からの人物の画像データを含む学習用データセットを得ることができる(このデータセットをダウンロード可能なサイトは、https://github.com/sxzrt/Dissecting-Person-Re-ID-from-the-Viewpoint-of-Viewpoint)。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2018-093283号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところが、そもそも、推論用の(ディープ)ニューラルネットワークモデルの機械学習には、図14に示すように、機械学習用のデータセット(以下、「学習用データセット」という)における、学習用データの偏りや、学習用データの数の少なさに起因して、学習対象の確率分布(例えば、人の年齢の認識を行うニューラルネットワークモデルの場合は、人の年齢の確率分布)を学習済ニューラルネットワークモデルで正確に再現することができないという問題がある。このため、当然、上記特許文献1に記載されたような従来のカメラで撮影した人等の物体に対する推論(検出や認識)を行う装置やシステムにおいても、学習対象の確率分布を学習済ニューラルネットワークモデルで正確に再現することができないという問題があった。なお、図14中の「DL」と「DNN」とは、それぞれ、「Deep Learning」と「Deep Neural Network」とを略して表記したものである。
【0009】
上記特許文献1に記載されたような従来の画像中の物体に対する推論用ニューラルネットワークモデルを例にして、上記の学習用データセットにおける学習用データの偏りについて詳述すると、一般に、画像中の物体に対する推論用ニューラルネットワークモデルの学習用データとして用いる画像は、店舗等の既存の(特定の)環境に設置したカメラを用いて収集する。しかし、このような実際の(特定の)環境において、一定期間に発生する事象には、偏りが生じてしまうので、既存の環境に設置したカメラを用いて収集した画像には、偏りが生じてしまう。例えば、店舗出入口に設置したカメラで一週間程度撮影した映像に含まれる人物を画像化した場合、これらの画像に含まれる人物の服装は、当該期間の季節に大きく依存するし、登場する人物の性・年齢についても、一週間程度のデータでは偏りが生じる可能性が高い。また、特定の動作(例えばショッピングカートを利用する)を行うかどうかについても、その時の顧客に依存するので、必要な数の特定動作を行う顧客の画像データが集まるかどうは分からない。なお、上記の特定動作を行う顧客の画像データのような特定種類の学習用データの不足も、一種の学習用データの偏りと捉えることができる。
【0010】
上記の学習用データセットにおける学習用データの偏りは、画像中の物体に対する推論用ニューラルネットワークのモデルの表現力の限界と相俟って、上記の学習対象の確率分布を学習済推論用ニューラルネットワークモデルで正確に再現することができないという問題を深刻化する。
【0011】
上記の学習対象の確率分布を学習済推論用ニューラルネットワークモデルで正確に再現することができないという問題は、上記のPerson Re-Identification用の学習済ニューラルネットワークモデルにおいて、顕著である。そして、上記のMarket1501というデータセットを用いても、Market1501の学習用データセットに含まれる学習用データは、あるショッピングセンターに設置されたカメラで撮影された751名分のデータ(画像データ及び属性データ)であるため、Person Re-Identification用のニューラルネットワークモデルの機械学習を行うには、学習用データの数が少なく、また、ある特定の時期に撮影された画像データが元になっているので、学習用データの偏りが大きい。また、上記のPerson Xを用いて生成した学習用データセットについても、学習用データに含まれる画像データにおける人の種類や店内等のシチュエーションは、限定的であり、学習用データに偏りがある。このため、Market1501の学習用データセットや、Person Xで生成した学習用データセットを用いて機械学習しても、実用に耐えうるPerson Re-Identification用の学習済ニューラルネットワークモデルを得ることはできない。
【0012】
本発明は、上記課題を解決するものであり、学習対象の確率分布を正確に再現することが可能な、精度の高い学習済ニューラルネットワークモデルを生成することが可能な機械学習システム、学習用データセット生成システム、及び機械学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
上記課題を解決するために、本発明の第1の態様による機械学習システムは、コンピュータグラフィックスで作成した学習用画像を含む学習用データセットを使用して、画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行う機械学習システムであって、ある特定環境における各構成要素の実体の確率分布に対応する学習用データセットを生成するデータセット生成部と、前記学習用データセットを用いてディープラーニングを行うことにより、学習済ニューラルネットワークモデルを生成するニューラルネットワーク生成部と、テスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、前記推論部による推論結果に基づいて、前記学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを、前記データセット生成部により生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部と、前記ニューラルネットワーク生成部により、前記更新後の学習用データセットを用いてディープラーニングを行うことによって、現在の学習済ニューラルネットワークモデルよりも精度の高い学習済ニューラルネットワークモデルを生成するように制御する学習繰返し制御部とを備え、前記データセット生成部により生成される学習用データセットを構成する各学習用画像は、前記特定環境における各構成要素の実体の確率分布から選択した前記各構成要素の実体に、ランダムノイズを加えて生成した複数パターンの前記各構成要素の実体に基づいて描画した画像である
【0014】
本発明の第2の態様による機械学習システムは、コンピュータグラフィックスで作成した学習用画像を含む学習用データセットを使用して、画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行う機械学習システムであって、ある特定環境における各構成要素の実体の確率分布に対応する学習用データセットを生成するデータセット生成部と、前記学習用データセットを用いてディープラーニングを行うことにより、学習済ニューラルネットワークモデルを生成するニューラルネットワーク生成部と、テスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、前記推論部による推論結果に基づいて、前記学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを、前記データセット生成部により生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部と、前記ニューラルネットワーク生成部により、前記更新後の学習用データセットを用いてディープラーニングを行うことによって、現在の学習済ニューラルネットワークモデルよりも精度の高い学習済ニューラルネットワークモデルを生成するように制御する学習繰返し制御部と、前記特定環境における各構成要素の実体の確率分布に基づいて、前記各構成要素の実体に対応する前記特定環境の実体の時系列に沿ったシミュレーション結果のデータである特定環境実体情報を生成する特定環境生成部とを備え、前記データセット生成部は、前記学習用データセットに加えて、前記特定環境生成部により生成された前記特定環境実体情報に対応する、前記ニューラルネットワークモデルのテスト用データセットを生成し、前記推論部は、前記データセット生成部により生成されたテスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う。
【0015】
この機械学習システムにおいて、前記学習繰返し制御部は、前記検証部による検証の結果、現在の学習用データセットにおける学習用データの偏りが、所定のレベル以下になるまで、前記特定環境変更部によって、前記学習用データの偏りを減少させるように、前記特定環境における各構成要素の確率分布を変更させる処理と、前記更新後学習用データセット生成制御部によって、前記変更後の各構成要素の実体の確率分布に対応する前記学習用データセットを、前記データセット生成部を用いて生成し、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成する処理と、前記ニューラルネットワーク生成部によって、前記更新後の学習用データセットを用いて現在の学習済ニューラルネットワークモデルよりも精度の高い学習済ニューラルネットワークモデルを生成する処理と、前記生成した精度の高い学習済ニューラルネットワークモデルを用いて、前記推論部により前記テスト用画像中の物体に対する推論を行う処理と、前記推論部による推論結果に基づいて、前記検証部により現在の学習用データセットにおける学習用データの偏りを検証する処理とを繰り返すことが望ましい。
【0016】
この機械学習システムにおいて、前記特定環境変更部は、調整パラメータの値に応じて、前記特定環境における各構成要素の実体の確率分布を変更し、前記変更後の各構成要素の実体の確率分布に従い、同じ調整パラメータにおいて、毎回異なる前記各構成要素の実体を生成することが望ましい。
【0018】
この機械学習システムにおいて、前記データセット生成部は、前記学習用データセットのアノテーションデータを生成することが望ましい。
【0019】
この機械学習システムにおいて、前記推論用のニューラルネットワークモデルには、複数のビデオカメラで撮影した各映像を構成する各フレーム画像における人の特徴量に基づいて、異なるビデオカメラで撮影した人の同定を行う人物同定用のニューラルネットワークモデルが含まれていてもよい。
【0020】
本発明の第3の態様による学習用データセット生成システムは、画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行うための学習用データセットを生成する学習用データセット生成システムであって、前記学習用データセットは、コンピュータグラフィックスで作成した学習用画像を含み、テスト用データセットに含まれるテスト用画像を、現在の学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、前記推論部による推論結果に基づいて、前記現在の学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記学習用画像に映り込む特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部とを備え、前記更新後の学習用データセットを構成する各学習用画像は、前記特定環境における各構成要素の実体の確率分布から選択した前記各構成要素の実体に、ランダムノイズを加えて生成した複数パターンの前記各構成要素の実体に基づいて描画した画像である
【0021】
本発明の第4の態様による学習用データセット生成システムは、画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行うための学習用データセットを生成する学習用データセット生成システムであって、前記学習用データセットは、コンピュータグラフィックスで作成した学習用画像を含み、テスト用データセットに含まれるテスト用画像を、現在の学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、前記推論部による推論結果に基づいて、前記現在の学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記学習用画像に映り込む特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部と、前記特定環境における各構成要素の実体の確率分布に基づいて、前記各構成要素の実体に対応する前記特定環境の実体の時系列に沿ったシミュレーション結果のデータである特定環境実体情報を生成する特定環境生成部と、前記特定環境生成部により生成された前記特定環境実体情報に対応する、前記ニューラルネットワークモデルのテスト用データセットを生成するデータセット生成部とを備え、前記推論部は、前記データセット生成部により生成されたテスト用データセットに含まれるテスト用画像を、現在の学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う。
【0022】
この学習用データセット生成システムにおいて、前記特定環境変更部は、調整パラメータの値に応じて、前記特定環境における各構成要素の実体の確率分布を変更し、前記変更後の各構成要素の実体の確率分布に従い、同じ調整パラメータにおいて、毎回異なる前記各構成要素の実体を生成することが望ましい。
【0024】
本発明の第5の態様による機械学習プログラムは、コンピュータグラフィックスで作成した学習用画像を含む学習用データセットを使用して、画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行うための機械学習プログラムであって、コンピュータを、ある特定環境における各構成要素の実体の確率分布に対応する学習用データセットを生成するデータセット生成部と、前記学習用データセットを用いてディープラーニングを行うことにより、学習済ニューラルネットワークモデルを生成するニューラルネットワーク生成部と、テスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、前記推論部による推論結果に基づいて、前記学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを、前記データセット生成部により生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部と、前記ニューラルネットワーク生成部により、前記更新後の学習用データセットを用いてディープラーニングを行うことによって、現在の学習済ニューラルネットワークモデルよりも精度の高い学習済ニューラルネットワークモデルを生成するように制御する学習繰返し制御部として機能させ、前記データセット生成部により生成される学習用データセットを構成する各学習用画像は、前記特定環境における各構成要素の実体の確率分布から選択した前記各構成要素の実体に、ランダムノイズを加えて生成した複数パターンの前記各構成要素の実体に基づいて描画した画像である。
【0025】
本発明の第6の態様による機械学習プログラムは、コンピュータグラフィックスで作成した学習用画像を含む学習用データセットを使用して、画像中の物体に対する推論用のニューラルネットワークモデルの機械学習を行うための機械学習プログラムであって、コンピュータを、ある特定環境における各構成要素の実体の確率分布に対応する学習用データセットを生成するデータセット生成部と、前記学習用データセットを用いてディープラーニングを行うことにより、学習済ニューラルネットワークモデルを生成するニューラルネットワーク生成部と、テスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行う推論部と、前記推論部による推論結果に基づいて、前記学習済ニューラルネットワークモデルの学習用データセットにおける学習用データの偏りを検証する検証部と、前記検証部による検証で判明した前記学習用データの偏りを減少させるように、前記特定環境における各構成要素の実体の確率分布を変更する特定環境変更部と、前記変更後の各構成要素の実体の確率分布に対応する学習用データセットを、前記データセット生成部により生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する更新後学習用データセット生成制御部と、前記ニューラルネットワーク生成部により、前記更新後の学習用データセットを用いてディープラーニングを行うことによって、現在の学習済ニューラルネットワークモデルよりも精度の高い学習済ニューラルネットワークモデルを生成するように制御する学習繰返し制御部と、前記特定環境における各構成要素の実体の確率分布に基づいて、前記各構成要素の実体に対応する前記特定環境の実体の時系列に沿ったシミュレーション結果のデータである特定環境実体情報を生成する特定環境生成部として機能させ、前記データセット生成部は、前記学習用データセットに加えて、前記特定環境生成部により生成された前記特定環境実体情報に対応する、前記ニューラルネットワークモデルのテスト用データセットを生成し、前記推論部は、前記データセット生成部により生成されたテスト用データセットに含まれるテスト用画像を前記学習済ニューラルネットワークモデルに入力して、前記テスト用画像中の物体に対する推論処理を行
【0026】
この機械学習プログラムにおいて、前記特定環境変更部は、調整パラメータの値に応じて、前記特定環境における各構成要素の実体の確率分布を変更し、前記変更後の各構成要素の実体の確率分布に従い、同じ調整パラメータにおいて、毎回異なる前記各構成要素の実体を生成することが望ましい。
【発明の効果】
【0028】
本発明の第1の態様による機械学習システム、第2の態様による機械学習システム、第3の態様による学習用データセット生成システム、第4の態様による学習用データセット生成システム、第5の態様による機械学習プログラム、及び第6の態様による機械学習プログラムによれば、学習用データの偏りを減少させるように、特定環境における各構成要素の実体の確率分布を変更させ、変更後の各構成要素の実体の確率分布に対応する学習用データセットを生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成することができる。つまり、この更新後の学習用データセットは、学習用データセットにおける学習用データの偏りを減少させるように生成し直した学習用データセット内の学習用データを反映した学習用データセットである。従って、この更新後の学習用データセット内の学習用データには、偏りが少ないので、この更新後の学習用データセットを用いてディープラーニングを行うことにより、現在の学習済ニューラルネットワークモデルよりも学習対象の確率分布を正確に再現することが可能な、精度の高い学習済ニューラルネットワークモデルを生成することができる。
【図面の簡単な説明】
【0029】
図1】本発明の一実施形態の機械学習システムの概略のハードウェア構成を示すブロック構成図。
図2】同機械学習システムの学習サーバにおけるCPU周辺の機能ブロック構成図。
図3】同機械学習システムにおける機械学習処理のフローチャート。
図4】応用環境の各要素を構成するパラメータの説明図。
図5】応用環境(店舗状況)の実体の生成(デフォルト値からの変更)の説明図。
図6】(a)は、デフォルトの店舗状況の実体の確率分布の例を示すグラフ、(b)は、店舗状況の実体の確率分布を調整するためのスライドバーの例を示す説明図、(c)は、スライドバーによる調整パラメータの設定後の店舗状況の実体の確率分布の例を示すグラフ。
図7】上記スライドバーの機能を組み込んだ調整パラメータ設定画面の例を示す図。
図8】上記機械学習システムにおけるテスト用データセットの生成処理の説明図。
図9】同機械学習システムにおける学習用データセットの生成処理の説明図。
図10】同機械学習システムにおける各推論用のDNNモデルのディープラーニングの説明図。
図11】同機械学習システムにおける各学習済DNNモデルの推論処理の説明図。
図12】同機械学習システムにおける学習用データの偏りの検証処理の説明図。
図13】同機械学習システムにおける調整パラメータ変更用データの生成処理の説明図。
図14】従来の推論用のニューラルネットワークモデルの機械学習において存在した、学習対象の確率分布を学習済ニューラルネットワークモデルで正確に再現することができないという問題の説明図。
【発明を実施するための形態】
【0030】
以下、本発明を具体化した実施形態による機械学習システム、学習用データセット生成システム、及び機械学習プログラムについて、図面を参照して説明する。図1は、本実施形態による機械学習システム10(請求項における「機械学習システム」及び「学習用データセット生成システム」に相当)の概略のハードウェア構成を示すブロック構成図である。本実施形態では、機械学習システム10が、一つのコンピュータ(学習サーバ1)のみから構成されている場合の例を示しているが、クライアント・サーバ型のシステムであってもよい。なお、以下の説明において、「応用環境」とは、学習用画像やテスト用画像に映りこむ特定の(例えば、あるドラッグストア、あるコンビニ等の)環境を意味する。本実施形態では、上記の応用環境が、ドラッグストア等の店舗である場合の例について、説明する。また、本実施形態では、学習用画像やテスト用画像が、3次元コンピュータグラフィックス(3DCG:three-Dimensional Computer Graphics)で作成した画像である場合の例について、説明する。
【0031】
図1に示すように、機械学習システム10を構成する学習サーバ1は、装置全体の制御及び各種演算を行うCPU2と、機械学習後の学習済ニューラルネットワークモデルの配布等行うための通信部3と、ディスプレイ4と、調整パラメータの入力等を行うための入力操作部5と、RAM(Random Access Memory)6と、各種のデータやプログラムを格納するハードディスク7とを備えている。
【0032】
上記のハードディスク7に格納されるプログラムには、3DCGで作成した学習用画像を含む学習用データセットを使用して、画像中の物体に対するReID(Person Re-Identification)等の推論用のニューラルネットワークモデルの機械学習を行うための機械学習プログラム15が含まれている。この機械学習プログラム15は、学習サーバ1に、機械学習システム10としての機能を実現させるためのプログラムである。
【0033】
また、上記のハードディスク7に格納されるデータには、応用環境生成素材保存部11と、データセット保存部12と、DNNモデル保存部13と、推論結果保存部14とが含まれている。
【0034】
上記の応用環境生成素材保存部11には、この応用環境における人の3Dモデル(3DCGで作成した人の画像のモデル)、この応用環境における店舗の実体を再現するための様々なテクスチャ等の、3DCGで作成した画像の素材が格納されている。また、応用環境生成素材保存部11には、この応用環境における(例えば、あるドラッグストアのある地域における)人や店舗(の詳細情報)についての統計データが含まれている。この統計データには、例えば、この応用環境において生成され得る各性別、年代毎の人の実体の確率分布のデータが含まれている。
【0035】
上記のデータセット保存部12は、人検出、特徴検出(ベクトル化)、追跡、ReID等の推論用DNN(Deep Neural Network)のモデル(以下、「DNNモデル」という)のテスト用データセットと学習用データセットとを格納(保存)している。DNNモデル保存部13は、人検出、特徴検出、追跡、ReID(請求項における「人物同定用のニューラルネットワークモデル」)等の推論用の学習済DNNモデルを保存している。推論結果保存部14は、データセット保存部12に格納されているテスト用データセットに含まれる各テスト用画像中の物体に対する推論処理の結果と、応用環境の調整パラメータの変更用データ(以下、「調整パラメータ変更用データ」という)とを、格納(保存)している。
【0036】
次に、図2を参照して、学習サーバ1におけるCPU2の機能ブロックについて説明する。CPU2は、機能ブロックとして、制御部20(請求項における「更新後学習用データセット生成制御部」、及び「学習繰返し制御部」)と、応用環境生成部21(請求項における「特定環境生成部」)と、データセット生成部22と、学習部23(請求項における「ニューラルネットワーク生成部」)と、推論部24とを備えている。上記の応用環境生成部21は学習用生成部27を含んでおり、推論部24は、検証部25を含んでいる。なお、本実施形態では、推論部24が検証部25を含むようにしたが、推論部24と検証部25とを、別々の機能ブロックにしてもよい。
【0037】
上記の制御部20は、CPU2内の他の機能ブロックの制御を行う。応用環境生成部21は、(あるドラッグストア、あるコンビニ等の)応用環境における人及び店舗の各々の実体の確率分布に基づいて、人及び店舗の実体に対応する応用環境の実体(本実施形態の場合は、店舗状況の実体)の時系列に沿ったシミュレーション結果のデータ(以下、「応用環境実体情報」という)を生成する。「応用環境実体情報」は、請求項における「特定環境実体情報」に対応する。学習用生成部27は、上記の人検出、特徴検出、追跡、ReID等の各推論用DNNモデルの学習用データセットの生成時に、前回の推論結果に基づく調整パラメータの変更処理や、この変更後の調整パラメータに基づき、応用環境における各構成要素の実体の確率分布を変更する処理を行う。
【0038】
上記のデータセット生成部22は、上記の応用環境生成部21により生成された応用環境実体情報に対応する上記各推論用DNNモデルのテスト用データセットと、応用環境における各構成要素の実体の確率分布に対応する学習用データセットとを生成する。
【0039】
上記の学習部23は、上記のデータセット生成部22により生成された学習用データセットを用いて、上記人検出、特徴検出、追跡、ReID等の各推論用のDNNモデルのディープラーニングを行うことにより、これらの推論用の学習済DNNモデルを生成する。推論部24は、上記のデータセット生成部22により生成されたテスト用データセットに含まれる各テスト用画像を、上記の各推論用の学習済DNNモデルに入力して、上記の各テスト用画像中の物体に対する推論処理を行う。推論部24に含まれる検証部25は、上記の各テスト用画像中の物体に対する推論処理の結果(推論結果)に基づいて、上記の各推論用の学習済DNNモデルの学習用データセットにおける学習用データの偏りを検証する。また、詳細については後述するが、上記の検証部25と応用環境生成部21は、検証部25による検証で判明した上記の各推論用学習済DNNモデルの学習用データセットにおける学習用データの偏りを減少させるように、応用環境における各構成要素(人及び店舗)の実体の確率分布を変更させる。すなわち、検証部25と応用環境生成部21とが、請求項における特定環境変更部に相当する。
【0040】
制御部20は、上記の検証部25と応用環境生成部21による変更後の各構成要素(人及び店舗)の実体の確率分布に対応する学習用データセットを、データセット生成部22により生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する。すなわち、制御部20は、請求項における更新後学習用データセット生成制御部として機能する。
【0041】
また、制御部20は、上記の更新後の学習用データセットを用いて、学習部23により上記の各推論用DNNモデルのディープラーニングを行うことによって、現在の各推論用学習済DNNモデルよりも精度の高い各推論用学習済DNNモデルを生成するように制御する。すなわち、制御部20は、請求項における学習繰返し制御部としても機能する。
【0042】
次に、図3を参照して、上記の機械学習システム10により行われる機械学習処理について説明する。まず、この機械学習処理に先立って、ユーザは、システム開発会社又は自分の会社のシステム開発部門により、3DCGを用いて、応用環境のベースを構築する必要がある(S1)。応用環境が店舗である場合には、図4に示すように、応用環境は、「店舗」、「人」、「人の行動」、「店舗状況」の要素から構成される。各要素は、様々なパラメータから構成されている。例えば、図4に示すように、「店舗」は、広さ、天井の高さ、壁・床のテクスチャ、棚の位置/向き等のパラメータ(一種の評価軸)から構成されており、「人」は、性別、年齢、人種、身長、体重、服装、行動特性等のパラメータから構成されている。「人の行動」は、上記の「人」のパラメータに含まれる行動特性の種類を表したものである。「店舗状況」は、混雑度、性別分布、年齢分布、平均顧客滞在時間分布、行動特性分布のパラメータから構成されている。上記の各パラメータの初期値(デフォルト値)の設定は、機械学習システム10のCPU2が、統計データに基づいて、自動的に行ってもよいし、ユーザの会社のシステム開発部門又はシステム開発会社の開発担当者が、入力操作部5から入力してもよい。「店舗」、「人」、「店舗状況」の各要素を構成する上記の各パラメータ(デフォルト値)のうち、いくつかのパラメータを、後述する調整パラメータで任意に調整することにより、様々なパターンの「店舗」、「人」、「店舗状況」の構成要素の実体の確率分布を表現できる。ここで、「実体」とは、これらの実体(例えば、店舗や人)を表すデータを意味する。
【0043】
本機械学習システム10では、例えば、「人」の構成要素については、「人」の実体の確率分布から(「人」の実体の確率分布に従って)、毎回異なる人物の実体(を表すデータ)を生成することができる。また、本機械学習システム10では、「店舗」の実体の確率分布から、毎回異なる店舗の実体(を表すデータ)を生成することができる。なお、「店舗状況」の実体の確率分布は、時間軸方向で店舗や人(主に人)を生成、制御するための確率分布であり、後述するスライドバー等によってユーザが手動で(若しくは自動的に)調整パラメータを変動させることで変動し、これにより、今以降の「店舗状況」の実体が変化する。図4に示される応用環境の3DCGフレーム画像31は、上記の「店舗」、「人」、「店舗状況」の各構成要素の実体に基づいて生成されたものである。
【0044】
上記S1の応用環境のベースの構築には、人の3Dモデル、店舗の実体を再現するための様々なテクスチャ等の3DCGで作成した各種の画像の素材、及び各種の統計データ(例えば、あるドラッグストアのある地域における統計データ)等のデータの上記の応用環境生成素材保存部11への格納処理も含まれる。
【0045】
上記S1の応用環境のベースの構築処理が終了すると、第1回目の応用環境の実体の生成処理では、図5に示すように、ユーザUが、入力操作部5を用いて、応用環境を変動させる(調整する)ための調整パラメータを、所定の値(例えば、その店舗(応用環境)の売り上げ、顧客層、顧客動向等の分析結果と、その地域の店舗についての統計データに基づく調整パラメータの値)に設定して、応用環境の生成を指示すると、応用環境生成部21は、応用環境をデフォルト値から変更し、変更後の応用環境の実体(正確に言うと、変更後の応用環境の実体(店舗状況の実体)の時系列に沿ったコンピュータ・シミュレーション結果のデータ)を生成する(S2)。
【0046】
より詳細に言うと、まず、ユーザUが、入力操作部5(マウス等)を用いて、後述するスライドバーにより調整パラメータを所定の値に設定することにより、図4で説明した「店舗」のパラメータのうち、いくつかのパラメータの設定をする(初期値(デフォルト値)から変更する)。すると、応用環境生成部21は、応用環境生成素材保存部11に格納された統計データに基づき、上記の設定済のパラメータの値を考慮して、他の未設定のパラメータの設定を行う(パラメータをデフォルト値から変更する)ことにより、上記の設定済のパラメータの値に応じた「店舗」、「人」、「店舗状況」の実体の確率分布を生成する。
【0047】
具体的には、ユーザUが、入力操作部5(マウス等)を用いて、後述するスライドバーにより調整パラメータを所定の値に設定することによって、店舗の広さ等のパラメータの調整(設定)をすると、応用環境生成部21は、設定済の店舗の広さ等のパラメータのレベルに応じて、例えば、天井の高さ、カメラ数等の未設定のパラメータを、応用環境生成素材保存部11に格納された統計データ(主に、確率分布で表されるデータ)に基づき設定して、図5に示す「店舗」の実体の確率分布32を生成する。
【0048】
また、ユーザUが、入力操作部5を用いて、スライドバーにより調整パラメータを所定の値に設定することによって、図4に示す混雑度、性別分布、年齢分布、行動特性分布等のパラメータの調整(設定)をすると、応用環境生成部21は、上記の設定済の混雑度、性別分布、年齢分布、行動特性分布等のパラメータのレベルに応じて、(未設定の)平均顧客滞在時間分布のパラメータを、応用環境生成素材保存部11に格納された統計データに基づき設定して、図5に示す「店舗状況」の実体の確率分布33を生成する。この「店舗状況」の実体の確率分布33に従って、応用環境生成部21は、人の生成(入店)・削除(退店)等のタイミング(時刻)の決定や、人を生成する場合における性別・年齢の決定を行う。より詳細に言うと、応用環境生成部21は、「店舗状況」の実体の確率分布に含まれる混雑度及び平均顧客滞在時間分布のパラメータに基づいて、図5に示されるように、人の生成(入店)・削除(退店)等の時刻を決定し、性別分布及び年齢分布に基づいて、図5に示されるように、生成する人の性別及び年齢を決定し、行動特性分布に基づいて、生成した人に適当な行動を割り当てる。
【0049】
また、応用環境生成部21は、上記の「店舗状況」の実体の確率分布33に従って(設定済みの「店舗状況」の各パラメータに従って)、図4に示される「人」のパラメータのうち、未決定のパラメータ(性別、年齢、行動特性以外のパラメータ)を、応用環境生成素材保存部11に格納された統計データ等のデータに基づき設定して、「人」の実体の確率分布を生成する。なお、図5に示す「人」の実体の確率分布34は、応用環境生成部21が「店舗状況」の実体の確率分布33に従って生成した「年齢=30代、性別=女性」の人の実体の確率分布である。
【0050】
次に、応用環境生成部21は、上記の「店舗」、「人」、「店舗状況」の構成要素の実体の確率分布32~34に基づいて、店舗状況の実体(応用環境の実体)の時系列に沿ったコンピュータ・シミュレーション結果のデータ(店舗で顧客(又は店員及び顧客)が行動する時系列の情報)(上記の応用環境実体情報)を生成する。このコンピュータ・シミュレーション結果のデータには、応用環境生成素材保存部11から読み込んだ、人の3Dモデル(3DCGで作成した人の画像のモデル)、この応用環境における店舗の実体を再現するための様々なテクスチャ等の3DCGで作成した画像データが含まれる。なお、上記の店舗状況の実体(の時系列に沿ったコンピュータ・シミュレーション結果のデータ)は、「店舗」、「人」、「店舗状況」の実体の確率分布32~34から生成したものであるため、ランダム要素が入り込む。要するに、応用環境生成部21は、調整パラメータの値が全く同じであって、「店舗」、「人」、「店舗状況」の実体の確率分布32~34が同じであっても、これらの確率分布32~34から、毎回異なる店舗や人の実体を生成する。
【0051】
次に、図6(a)(b)(c)を参照して、上記の「店舗状況」の実体の確率分布を調整(変更)するためのスライドバーについて、説明する。ここでは、デフォルト(初期状態)の「店舗状況」の実体の確率分布が、その店舗の売り上げ、顧客層、顧客動向等の分析結果と、その地域の店舗についての統計データに基づくものであったと想定する。図6(a)は、そのデフォルトの「店舗状況」の実体の確率分布の例を示す。ただし、図6(a)及び(c)では、「店舗状況」の実体の確率分布を構成するパラメータ(評価軸)が、性別分布と年齢分布だけであると仮定した場合における、デフォルトの「店舗状況」の実体の確率分布の例を示している。図6(a)及び(c)におけるグラフ40a,40b,40c,40dは、各年代・性別の人物の出現確率分布を示す。
【0052】
デフォルトの「店舗状況」の実体(本例では人物出現)の確率分布が、図6(a)に示す確率分布であった場合に、ユーザUが、入力操作部5(マウス等)を用いて、図6(b)に示す性別分布の調整用のスライドバー41と、年齢分布の調整用のスライドバー42とを、図6(b)中のそれぞれの矢印の方向にスライドさせることにより、ベクトル形式で表される調整パラメータを設定する。これにより、調整パラメータは、例えば、[0.9,0.0,・・・]のようなベクトルになる。このベクトルにおける最初の要素(0.9)は、スライドバー41により調整された女性度を表し、2番目の要素(0.0)は、スライドバー42により調整された老い度(老化度)を表す。
【0053】
上記のスライドバー41とスライドバー42とを用いた調整パラメータの設定(調整)により、図6(a)に示す(デフォルトの)「店舗状況」の実体の確率分布が、図6(c)に示すように変化する。すなわち、図6(c)における破線で示すグラフ40a,40b,40c,40dが、それぞれ、実線で示すグラフ43a,43b,43c,43dに変化して、図6(c)中の黒い矢印で示すように、女性の割合が増大すると共に、図6(c)中の白い矢印で示すように、若者の割合が増大する。なお、4次元以上の軸は表示できないため、上記図6(a)及び(c)には記載できていないが、「店舗状況」の実体の確率分布の軸には、「平均顧客滞在時間分布」、「行動特性分布」(図4参照)等の軸もあり、これらの軸(評価軸)に基づく頻度分布によって、「店舗状況」の実体の確率分布が表現され、この確率分布に従って、店舗内の人がコントロールされる(人の生成(入店)・削除(退店)等のタイミング(時刻)の決定や、人の性別及び年齢の決定や、行動の割り当てが行われる)。上記のように、デフォルトの「店舗状況」の実体の確率分布を構成する各パラメータ(評価軸)の値に、スライドバーで設定した調整パラメータを構成する各要素の値(例えば、上記の[0.9,0.0,・・・]のベクトルを構成する0.9,0.0の値)を乗じることにより、応用環境の実体(「店舗状況」の実体)の確率分布を変更(変動)させることができる。
【0054】
図7は、上記図6(b)で説明したスライドバーの機能を組み込んだ調整パラメータ設定画面50の例を示す。この調整パラメータ設定画面50は、ディスプレイ4に表示される。調整パラメータ設定画面50は、右側に、調整パラメータ設定欄51が設けられており、左側に、各カメラの撮影画像64が表示されている。各カメラの撮影画像64は、ユーザUが、入力操作部5(マウス等)を用いて、調整パラメータ設定欄51に設けられた各スライドバーを調整することにより、変化する。図7の調整パラメータ設定欄51に設けられた各スライドバーは、あくまでも、例であるが、人(顧客)に関わる「店舗状況」のパラメータの調整用のスライドバー欄52と、「店舗」のパラメータの調整用のスライドバー欄53と、店舗タイプ変更欄54とから構成されている。
【0055】
上記の人(顧客)に関わる「店舗状況」のパラメータの調整用のスライドバー欄52は、顧客数調整スライドバー55、若年層比率調整スライドバー56(0~29歳の人の比率調整用のスライドバー)、中壮年層比率調整スライドバー57(30~59歳の人の比率調整用のスライドバー)、女性比率調整スライドバー58、及び顧客行動バラエティ度調整スライドバー59から構成されている。上記の顧客数調整スライドバー55は、図4中の「混雑度」の調整用のスライドバーである。上記の若年層比率調整スライドバー56と中壮年層比率調整スライドバー57は、図4中の「年齢分布」の調整用のスライドバーである。
【0056】
上記の「店舗」のパラメータの調整用のスライドバー欄53は、カメラ数調整スライドバー60、広さ調整スライドバー61、照明強さ調整スライドバー62、及び商品在庫量調整スライドバー63から構成されている。上記のカメラ数調整スライドバー60、広さ調整スライドバー61、照明強さ調整スライドバー62は、それぞれ、図4中の「カメラ数」、「広さ」、「照明」の「強さ」の調整用のスライドバーである。
【0057】
上記の店舗タイプ変更欄54は、店舗タイプの選択用のウィンドウである。また、調整パラメータ設定画面50の右下には、店舗内全体を上方から見た画像65が表示される。
【0058】
次に、図3のフローチャートに戻って、上記S2で説明した応用環境実体情報の生成処理後の処理について、説明する。CPU2のデータセット生成部22は、上記S2で生成した現在の応用環境実体情報に対応するテスト用データセットを生成する(S3)。具体的には、データセット生成部22は、応用環境生成部21が生成した応用環境実体情報(応用環境の実体(店舗状況の実体)の時系列に沿ったコンピュータ・シミュレーション結果のデータ)に基づいて、図8に示すように、(応用環境である店舗に配された)各カメラの時系列に沿ったフレーム画像の生成処理と、これらのフレーム画像へのアノテーション処理とを行う。そして、データセット生成部22は、生成した各フレーム画像(例えば、第1カメラで撮影したフレーム画像71)と、このフレーム画像のアノテーション情報(に関するXMLファイル)73とを紐づけて、これらのデータをテスト用データとして、データセット保存部12におけるテスト用データセットに保存する。
【0059】
本実施形態の場合は、上記の各フレーム画像のアノテーション情報は、各フレーム画像中における人についてのアノテーション情報である。なお、図8のフレーム画像71についてのアノテーション情報の座標における100,110と200,300とは、それぞれ、フレーム画像71中の人のバウンディングボックス74における左上の端点のx座標、y座標と、右下の端点のx座標、y座標とを表す。また、アノテーション情報におけるIDは、カメラ間を通して、同一人物にふられるIDである。上記の各フレーム画像における人は、データセット生成部22自体が上記の応用環境実体情報から生成したものであるので、データセット生成部22は、応用環境実体情報に基づいて、各フレーム画像における人についての正確なアノテーション情報を生成することができる。
【0060】
上記S3のテスト用データセットの生成処理が済むと、CPU2の制御部20は、応用環境生成部21とデータセット生成部22とを用いて、現在の応用環境における各構成要素の実体の確率分布に対応する学習用データセットの生成処理を行う(S4)。具体的には、第1回目の学習用データセットの生成処理では、応用環境生成部21の学習用生成部27が、上記S2で生成した店舗の実体の確率分布32a(図9参照)と人の実体の確率分布76a(図9参照)とから、店舗の実体を一つと人物の実体を一つ以上(図9では1名)選択する処理と、選択した店舗の実体及び人の実体にランダムノイズ(正規分布するノイズ)を加えて、複数パターンの店舗の実体及び人の実体を生成する処理とを繰り返す。そして、データセット生成部22は、上記のランダムノイズを加えて生成した複数パターンの店舗と人の実体から、種々のパターンの学習用画像とそのアノテーションデータとを含む学習用データセットを生成する。このように、店舗と人の実体の各々にランダムノイズを加えて複数パターンの店舗と人の実体を生成して、これらの実体に基づいて種々のパターンの学習用画像(フレーム画像)を描画する理由は、生成した学習用データセットにおける学習用データの充分な分布を保証するためである。
【0061】
より詳細に言うと、学習用生成部27は、上記の選択した店舗の実体における、レンズパラメータ、カメラの位置・向き、店内テクスチャ(壁・床・棚等のテクスチャ)の色、棚の陳列物等の素材、照明の強さ・色・光線方向・陰影等にランダムノイズを加えたもの(店舗の実体)を複数パターン生成すると共に、上記の選択した人の実体における、人の向き、手足の状態、服や肌のテクスチャ、各種の素材等にランダムノイズを加えた人(の実体)を複数パターン生成する。データセット生成部22は、これらの複数パターンの人(の実体)の各々を上記の複数パターンの店舗の実体の各々に配置し、店舗の実体内に配置されたカメラから入力したフレーム画像として描画する(例えば図9の78,及び79)処理と、これらのフレーム画像へのアノテーションデータ生成処理とを行って、種々のパターンの学習用データを含む学習用データセットを生成する。これにより、データセット生成部22により生成される学習用データセットを構成する各学習用画像は、応用環境生成部21により生成された、ランダムノイズを加えた店舗と人の実体の各々に基づいて描画した画像となる。図9に示すように、データセット生成部22は、生成した学習用データセットを、データセット保存部12に格納する。
【0062】
このため、学習用データセットを構成する各学習用画像は、図8に示すテスト用データセット内の同じカメラが撮影した連続したフレーム画像(例えば、第1カメラが撮影した連続したフレーム画像68a,68b,68c、及び第2カメラが撮影した連続したフレーム画像69a,69b,69c)と異なり、(学習用データセットへの格納順が)一つ前の学習用画像における店舗と若干異なる(一つ前の学習用画像における店舗をアレンジした)店舗における、一つ前の学習用画像における人と若干異なる(一つ前の学習用画像における人をアレンジした)人の画像になる。すなわち、図9における(格納順が)連続した学習用画像78、79のように、相互に異なる店舗の画像78a、79aと、相互に異なる人の画像78b、79bとを組み合わせた画像になる。
【0063】
なお、第2回目以降の学習用データセットの生成処理においては、応用環境生成部21の学習用生成部27が、前回の推論結果を検証した結果判明した学習用データの偏りを減少させるように、応用環境における店舗の実体の確率分布32aや人の実体の確率分布76aを変更させて、変更後の店舗の実体の確率分布32bと人の実体の確率分布76bとから、店舗の実体と人の実体を選択して、店舗と人の実体を生成する点が異なる。ただし、この第2回目以降の学習用データセットの生成処理の詳細については、説明の都合上、後述する。
【0064】
上記S4の学習用データセットの生成処理が済むと、CPU2の制御部20は、各推論用のDNNモデルのディープラーニングを行うように、学習部23に指示する。これに応じて、学習部23は、上記S4で生成した学習用データセットを用いて、人検出、特徴検出(ベクトル化)、追跡、及びReIDの各推論用DNNモデルのディープラーニングを行うことによって、これらの推論用の学習済DNNモデルを生成する(S5)。より詳細に言うと、学習部23は、図10に示すように、学習対象の各推論用DNNモデルを、DNNモデル保存部13から読み出してメモリ上にロードし、上記S4で生成した学習用データセット(の各学習用データ中の学習用画像81とアノテーション情報82(請求項における「アノテーションデータ」))を用いて、これらの推論用のDNNモデルのディープラーニングを行った後、これらの推論用の学習済DNNモデルを、DNNモデル保存部13にセーブ(保存)する(図10のS11)。なお、図10における人検出、特徴検出(ベクトル化)、追跡、及びReIDの各DNNモデルは、ReIDに最低限必要なモデル群であり、上記のディープラーニングの対象になる推論用DNNモデルには、性別判定用や年齢判定用のDNNモデルが含まれていてもよい。
【0065】
上記S5で説明した人検出、特徴検出(ベクトル化)、追跡、及びReIDの学習済DNNモデルの生成処理が終了すると、CPU2の制御部20は、図11の処理に移って、上記の各学習済DNNモデルによる推論処理を行うように、推論部24に指示する。これに応じて、推論部24は、まず、上記S5で生成された人検出、特徴検出(ベクトル化)、追跡、及びReIDの学習済DNNモデルを、DNNモデル保存部13から読み出してメモリ上にロードする(図11のS21)。そして、推論部24は、上記S3で生成されたテスト用データセットに含まれるテスト用画像(例えば、図11中のテスト用画像80)を、上記S5で生成された人検出、特徴検出(ベクトル化)、追跡、及びReIDの学習済DNNモデル群に入力して、テスト用画像中の人に対する、各学習済DNNモデルによる推論処理を実行し、この推論結果を推論結果保存部14に保存する(図3のS6)。
【0066】
次に、図11中の各学習済DNNモデルについて説明する。これらの学習済DNNモデルのうち、人検出モデルは、入力されたフレーム画像(例えば、上記のテスト用画像80)中の人を検出する。特徴検出モデル(ベクトル化モデル)は、上記の人検出モデルによる人検出結果84(人物検出モデルで検出した人の切り抜き画像)に対してベクトル化処理を行って、そのベクトルを特徴検出結果85として、セーブ(記憶)する。追跡モデルは、同じカメラで撮影した各フレーム画像に映り込んだ人についての人検出結果84と、これらの人の画像についてのベクトル(特徴検出結果85)に基づいて、同じカメラで撮影した別のフレーム画像に映り込んだ人の画像間の類似度を求める。そして、この類似度に基づいて、これらの画像に映っていた人が、同じ人か否かを識別することにより、同じカメラによる撮影画像に映りこんだ人を追跡する(フレームを超えて同一人物に同一IDを付与することで、当該人物の移動を追跡する)。
【0067】
また、ReIDモデルは、各カメラで撮影した各フレーム画像に映り込んだ人についてのベクトル(特徴検出結果85)と、追跡モデルによる追跡結果86(同じカメラによる撮影画像に映りこんだ人についてのIDの付与結果)とに基づいて、カメラ間の人の同定処理を行って、異なるカメラで撮影したフレーム画像に映った人であっても、同じ人には、同じIDを付与する(IDをふり直す)。そして、ReIDモデルは、カメラ間を跨る各フレーム画像に映りこんだ人についての(ふり直した)IDの付与結果を、ReID結果87として出力する。推論部24は、上記の各学習済DNNモデルによる推論結果(人検出結果84、特徴検出結果85、追跡結果86、及びReID結果87)を、推論結果保存部14に格納する。
【0068】
上記S6の各学習済DNNモデルによる推論処理が完了すると、CPU2の制御部20は、図12の処理に移って、上記の推論結果に基づいて、学習用データセットにおける学習用データの偏りの検証を行うように、検証部25に指示する。これに応じて、検証部25は、推論結果保存部14に格納された各学習済DNNモデルによる推論結果と、データセット保存部12に格納されたテスト用データセットに含まれるアノテーション情報73とから(テスト用画像中の人に対する各学習済DNNモデルの推論結果と各テスト用データのアノテーション情報73とを比較して)、現在の学習用データセットにおける学習用データの偏りを検証する(図3のS7)。より正確に言うと、検証部25は、上記の各学習済DNNモデルによる推論結果と、テスト用データセットに含まれるアノテーション情報73とから、現在の学習用データセットにおける学習用データの偏り、及び現在の各学習済DNNモデルによる推論精度が不十分なデータの種類を推定する。現在の各学習済DNNモデルによる推論精度が不十分なデータの種類があった場合には、図12に示すように、30代の人の誤検出が多いとか、向きが180°の人(後ろ姿の人)の誤検出が多いという結果になって表れる。ここで、上記の現在の各学習済DNNモデルによる推論精度が不十分なデータの種類については、この種類の学習用データが不足していると考えられる。このような特定の種類の学習用データの不足も、一種の学習用データの偏りと捉えることができる。従って、上記の検証部25による検証処理は、全体として、現在の学習用データセットにおける学習用データの偏りの検証処理と考えることができる。
【0069】
CPU2の制御部20は、上記S7の検証処理の結果、学習用データの偏りが所定のレベル以下の場合(各学習済DNNモデルが十分な精度を達成しており、調整パラメータの変更(調整)が不要の場合)は(S8でYES)、図3のフローチャートの処理を終了する。
【0070】
これに対して、上記S7の検証処理の結果、学習用データの偏りが所定のレベルを超える場合(偏りが十分に解消されていない場合)には(S8でNO)、CPU2の制御部20は、検証部25に、調整パラメータ変更用データの生成を指示する。これにより、検証部25は、図13に示すように、上記S7の検証で判明した学習用データの偏りを減少させるように、調整パラメータの値を変更させるためのデータ(調整パラメータ変更用データ)を生成して、推論結果保存部14に格納する。例えば、上記のように、30代の人の誤検出が多い場合には、30代の人の学習用データを増やすように、上記の調整パラメータ変更用データの設定を行う。また、向きが180°の人(後ろ姿の人)の誤検出が多い場合には、後ろ姿の人の(学習用画像を含む)学習用データを増やすように、上記の調整パラメータ変更用データの設定を行う。
【0071】
CPU2の制御部20は、上記の調整パラメータ変更用データの生成処理の後、第2回目の学習用データセットの生成処理の準備に移る。第2回目以降の学習用データセットの生成処理においては、その準備処理として、応用環境生成部21の学習用生成部27が、上記の調整パラメータ変更用データを用いて、前回の推論結果を検証した結果判明した学習用データの偏りを減少させるように、調整パラメータを変更して、変更後の調整パラメータに基づき、応用環境における各構成要素(店舗及び人)の実体の確率分布を変更する(S9)。より具体的に言うと、図9に示すように、応用環境生成部21の学習用生成部27は、前回の応用環境生成時に生成した店舗の実体の確率分布32aと人の実体の確率分布76aに、上記の調整パラメータ変更用データを用いて変更した調整パラメータを乗じることにより、応用環境における店舗及び人の実体の確率分布を変更する。
【0072】
この後、CPU2の制御部20は、上記S4の処理に戻って、上記の変更後の店舗及び人の実体の確率分布に対応する学習用データセットを、データセット生成部22により生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成するように制御する(S4)。すなわち、第2回目の学習用データセットの生成処理を行う。
【0073】
具体的には、制御部20は、まず、応用環境生成部21の学習用生成部27を用いて、上記の変更後の店舗の実体の確率分布32bと人の実体の確率分布76bとから、店舗の実体を一つと人の実体を一つ以上選択する処理と、選択した店舗と人の実体にランダムノイズを加えて複数パターンの店舗と人の実体を生成する処理とを繰り返す。そして、制御部20は、データセット生成部22を用いて、これらのランダムノイズを加えて生成した複数パターンの店舗の実体(図9中の店舗の画像78a、79aに相当)と人の実体(図9中の人の画像78b、79bに相当)に基づくフレーム画像の生成処理と、これらのフレーム画像へのアノテーション処理とを行って、変更後の店舗及び人の実体の確率分布に対応する学習用データセットを生成する。さらに、制御部20は、この新たに生成した学習用データセット内の学習用データを、前回生成した学習用データセットに追加して(又は、前回生成した学習用データセットにおける問題がある部分の学習用データを、新たに生成した学習用データセット内の学習用データに入れ替えて)、この新たに生成した学習用データセット内の学習用データを反映した学習用データセットを、更新後の学習用データセットとする。
【0074】
上記の更新後の学習用データセットの生成処理が終了すると、CPU2の制御部20は、更新後の学習用データセットを用いて、学習部23により、上記の人検出、特徴検出(ベクトル化)、追跡、及びReIDの各推論用のDNNモデルのディープラーニングを行うことによって、現在の各推論用の学習済DNNモデルよりも精度の高い各推論用の学習済DNNモデルを生成するように制御する。そして、制御部20は、推論部24を用いて、上記の生成し直した各推論用の学習済DNNモデルに、上記S3で生成されたテスト用データセットに含まれるテスト用画像を入力して、テスト用画像中の人に対する、各推論用学習済DNNモデルによる推論処理を実行し、この推論結果を推論結果保存部14に保存する(S6)。この後、制御部20は、検証部25を用いて、上記S7の検証処理を行う。そして、制御部20は、上記S7の検証処理の結果、学習用データの偏りが所定のレベル以下(S8でYES)になるまで(各学習済DNNモデルが十分な精度を達成しており、調整パラメータの変更(調整)が不要になるまで)、上記S9、及びS4~S7の処理を繰り返す。
【0075】
上記のように、本実施形態の機械学習システム10によれば、学習用データの偏りを減少させるように、応用環境における各構成要素の実体の確率分布を変更させ、変更後の各構成要素の実体の確率分布(変更後の店舗の実体の確率分布32bや人の実体の確率分布76b)に対応する学習用データセットを生成して、この学習用データセット内の学習用データに基づき、更新後の学習用データセットを生成することができる。つまり、この更新後の学習用データセットは、学習用データセットにおける学習用データの偏りを減少させるように生成し直した学習用データセット内の学習用データを反映した学習用データセットである。従って、この更新後の学習用データセット内の学習用データには、偏りが少ないので、この更新後の学習用データセットを用いて上記各推論用のDNNモデルのディープラーニングを行うことにより、現在の各推論用の学習済DNNモデルよりも学習対象の確率分布を正確に再現することが可能な、精度の高い各推論用の学習済DNNモデルを生成することができる。
【0076】
また、本実施形態の機械学習システム10によれば、応用環境生成部21(の学習用生成部27)が、上記の調整パラメータ変更用データに基づいて変更した調整パラメータの値に応じて、応用環境における各構成要素(店舗及び人)の実体の確率分布を変更し、この変更後の各構成要素の実体の確率分布に従い、同じ調整パラメータにおいて、毎回異なる各構成要素(店舗及び人)の実体を生成するようにした。これにより、これらの各構成要素(店舗及び人)の実体(の画像)から学習用データセットを生成することで、種々のパターンの学習用データを含む学習用データセットを生成することができる。
【0077】
また、本実施形態の機械学習システム10によれば、学習用データセットを構成する各学習用画像を、応用環境における店舗と人の実体の確率分布から選択した店舗と人の実体に、ランダムノイズを加えて生成した複数パターンの店舗と人の実体に基づいて描画した画像とした。これにより、一組の店舗の実体(の画像)と人の実体(の画像)から、種々のパターンの学習用画像を得ることができるので、学習用データセットにおける学習用データの充分な分布を実現することができる。
【0078】
また、本実施形態の機械学習システム10によれば、ディープラーニングの対象になる推論用のDNNモデルには、複数のビデオカメラで撮影した各映像を構成する各フレーム画像における人の特徴量(ベクトル)に基づいて、異なるビデオカメラで撮影した人の同定を行う人物同定用のDNNモデル(ReIDのDNNモデル)が含まれるようにした。「発明が解決しようとする課題」の欄に記載したように、学習用データセットにおける学習用データの偏りに起因して、学習対象の確率分布を学習済DNNモデルで正確に再現することができないという問題は、ReID用の学習済DNNモデルにおいて特に顕著である。本実施形態の機械学習システム10によれば、学習用データセット内の学習用データの偏りを少なくすることができるので、この学習用データセットを用いてReID用のDNNモデルのディープラーニングを行うことにより、精度の高いReID用の学習済DNNモデルを生成することができる。
【0079】
変形例:
なお、本発明は、上記の各実施形態の構成に限られず、発明の趣旨を変更しない範囲で種々の変形が可能である。次に、本発明の変形例について説明する。
【0080】
変形例1:
上記の実施形態では、学習用データセットにおける学習用データの偏りを検証する処理と、学習用データの偏りを減少させるように調整パラメータの値を変更する処理とを、CPU2が自動的に行う場合の例を示したが、これらの処理をユーザが手動で行ってもよい。すなわち、ユーザが、テスト用画像中の人に対する各学習済DNNモデルの推論結果と、各テスト用データのアノテーション情報とを、ディスプレイに表示させて、上記の推論結果とアノテーション情報とを目で見て比較することにより、現在の学習用データセットにおける学習用データの偏りを検証し、この検証結果に基づいて、入力操作部5のマウス等により、上記の各種スライドバーを用いて、調整パラメータを変更するようにしてもよい。
【0081】
変形例2:
上記の実施形態では、第1回目の推論処理に用いる各推論用の学習済DNNモデルを、現在の応用環境における店舗の実体の確率分布と人の実体の確率分布に対応する学習用データセットを用いてディープラーニングを行うことにより生成したが、これに限られず、第1回目の推論処理に用いる各推論用の学習済DNNモデルとして、既存の(現在の応用環境における店舗の実体の確率分布と人の実体の確率分布に対応する学習用データセット以外の別の)学習用データセットを用いてディープラーニングを行うことにより生成した各推論用の学習済DNNモデルを用いてもよい。
【0082】
変形例3:
上記の実施形態では、テスト用データセットとして、現在の応用環境実体情報に対応するテスト用データセット(各カメラの時系列に沿ったフレーム画像と、このフレーム画像のアノテーション情報から構成されるテスト用データを格納したテスト用データセット)用いた。けれども、本発明の機械学習システム、及び学習用データセット生成システムに用いられるテスト用データセットは、これに限られず、既存のテスト用データセットや、他の応用環境(例えば、他の店舗)における状況(統計情報等)に基づいて生成したテスト用データセットであってもよい。
【0083】
変形例4:
上記の実施形態では、店舗の実体は店舗の確率分布により3DCG(のデータ)として生成されるようにしたが、実店舗に設置されているセキュリティカメラより入力した実際の店舗背景画像を利用してもよい。なお、この場合におけるランダムノイズとは、当該実写の店舗背景画像の一部をクロップし、クロップ部分をランダムな拡大率で拡大及びランダムな角度で回転させ、さらにレンズパラメータによる歪みや明度・彩度をランダムに変化させ、最後に所定のフレームサイズとなるように調整させた店舗画像を生成することに相当する。なお、当該実写した店舗背景画像に3DCGの人物を配置させるためには、当該セキュリティカメラに対応する店舗カメラの設置位置や設置角度、及び遮蔽物に関する情報が必要となるため、これを事前に準備し、応用環境生成素材保存部に格納しておく必要がある。なお、セキュリティカメラにデプスカメラ(撮影したRGB画像にピクセル単位で奥行き情報を与えることが可能なカメラ)を利用することで、上記の店舗カメラの設置位置や設置角度を自動計算するようにしてもよい。
【符号の説明】
【0084】
1 学習サーバ(コンピュータ)
10 機械学習システム(機械学習システム、学習用データセット生成システム)
15 機械学習プログラム
20 制御部(更新後学習用データセット生成制御部、学習繰返し制御部)
21 応用環境生成部(特定環境生成部、特定環境変更部)
22 データセット生成部
23 学習部(ニューラルネットワーク生成部)
24 推論部
25 検証部(検証部、特定環境変更部)
78,79,81 学習用画像
82 アノテーション情報(アノテーションデータ)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14