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

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

▶ オムロン株式会社の特許一覧

特許7434829モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-21
(54)【発明の名称】モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240214BHJP
   G01N 21/88 20060101ALI20240214BHJP
   G06N 3/08 20230101ALI20240214BHJP
   G06N 20/00 20190101ALI20240214BHJP
【FI】
G06T7/00 350C
G01N21/88 J
G06N3/08
G06N20/00
【請求項の数】 10
(21)【出願番号】P 2019210874
(22)【出願日】2019-11-21
(65)【公開番号】P2021082155
(43)【公開日】2021-05-27
【審査請求日】2022-09-07
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100124039
【弁理士】
【氏名又は名称】立花 顕治
(74)【代理人】
【識別番号】100179213
【弁理士】
【氏名又は名称】山下 未知子
(74)【代理人】
【識別番号】100170542
【弁理士】
【氏名又は名称】桝田 剛
(72)【発明者】
【氏名】米谷 竜
【審査官】宮島 潤
(56)【参考文献】
【文献】特開2011-209966(JP,A)
【文献】特開2019-153057(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
G06N 3/00 - 3/12
G06N 7/08 - 99/00
G01N 21/84 - 21/958
(57)【特許請求の範囲】
【請求項1】
画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得する第1データ取得部と、
前記各学習データセットについて、前記訓練データの背景を示す背景データを取得する背景取得部と、
前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成する差分算出部と、
推定器の機械学習を実施する第1訓練部であって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、第1訓練部と、
を備える、
モデル生成装置。
【請求項2】
前記背景データを取得することは、機械学習済みの生成器を利用して、前記各学習データセットについて、前記訓練データに対して前記背景データを生成することを含む、
請求項1に記載のモデル生成装置。
【請求項3】
学習用背景データを取得する第2データ取得部と、
取得された学習用背景データについて機械学習を実施することで、前記訓練データに対する前記背景データを生成するように訓練された前記機械学習済みの生成器を構築する第2訓練部と、
を更に備える、
請求項2に記載のモデル生成装置。
【請求項4】
前記差分算出部は、前記訓練データの各画素及び各画素の周囲の画素を含む対象領域と前記背景データの対応する各画素及び各画素の周囲の画素を含む対応領域との間の相関性に応じて、前記訓練データの各画素と前記背景データの対応する各画素との差分を取ることで、前記差分データを生成する、
請求項1から3のいずれか1項に記載のモデル生成装置。
【請求項5】
前記特徴は、前記訓練データの前景についての特徴である
請求項1から4のいずれか1項に記載のモデル生成装置。
【請求項6】
前記訓練データは、対象物の写る前記画像データであり、
前記特徴は、前記対象物の属性である、
請求項1から4のいずれか1項に記載のモデル生成装置。
【請求項7】
前記対象物は、製品であり、
前記対象物の属性は、前記製品の欠陥についての属性である
請求項6に記載のモデル生成装置。
【請求項8】
対象画像データを取得するデータ取得部と、
前記対象画像データに対応する対象背景データを取得する背景取得部と、
前記対象画像データと前記対象背景データとの差分を取ることで、対象差分データを生成する差分算出部と、
請求項1から7のいずれか1項に記載のモデル生成装置により生成された機械学習済みの推定器を利用して、生成された前記対象差分データに含まれる特徴を推定する推定部と、
前記特徴を推定した結果についての情報を出力する出力部と、
を備える、
推定装置。
【請求項9】
コンピュータが、
画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
前記各学習データセットについて、前記訓練データの背景を示す背景データを取得するステップと、
前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成するステップと、
推定器の機械学習を実施するステップであって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、ステップと、
を実行する、
モデル生成方法。
【請求項10】
コンピュータに、
画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
前記各学習データセットについて、前記訓練データの背景を示す背景データを取得するステップと、
前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成するステップと、
推定器の機械学習を実施するステップであって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、ステップと、
を実行させるための、
モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラムに関する。
【背景技術】
【0002】
従来、製造ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献1では、学習済みの第1のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第2のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2012-026982号公報
【文献】特開2017-111806号公報
【文献】特開2014-049118号公報
【文献】特開2019-071050号公報
【文献】特許第6264492号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
機械学習により構築された訓練済みの機械学習モデルで構成された推定器によれば、与えられた訓練データと同種の未知のデータに対して、回帰、分類等の推定(予測を含む)タスクを実行することができる。そのため、上記特許文献1のような、ニューラルネットワーク等の機械学習モデルを利用する方法によれば、訓練済みの推定器の出力に基づいて製品の外観検査を実施することができる。しかしながら、本件発明者は、上記のような従来の方法には、次のような問題点があることを見出した。
【0005】
すなわち、従来の方法では、与えられた画像に写る欠陥を検出する能力を機械学習モデルに習得させる機械学習を実施するために、事前に、欠陥を含む製品の写る画像が学習データとして収集される。欠陥を検出することは、欠陥の種別を識別することであってもよい。基本的には、収集される学習データが多岐にわたるほど、換言すると、学習データに表れる欠陥の状況が多様であるほど、外観検査の精度の向上を図ることができる。
【0006】
ただし、欠陥の種別、及び製品の外観を含む背景の種別が多くなればなるほど、欠陥の種別及び背景の種別の組み合わせが増加し、学習データとして収集されることが所望されるサンプルの件数(及び種類)も増加する。また、訓練済みの推定器を運用する際に背景が変更されることもあり得る。高精度に外観検査を遂行可能な訓練済みの推定器を生成するためには、欠陥の種別及び背景の種別の全ての組み合わせについてサンプルを収集するのが望ましいが、全ての組み合わせについてサンプルを収集するのにはコストがかかる。そこで、例えば、全ての組み合わせについてのサンプルは得られていないが、検出対象の欠陥の全種別についてはサンプルが得られた時点等、ある程度の学習データが収集された段階で、機械学習モデルの機械学習を実施することが考えられる。
【0007】
しかしながら、学習データにおいてサンプルの得られていない組み合わせが存在する場合に、次のような問題が生じる可能性がある。すなわち、機械学習により、機械学習モデルは、訓練データ(サンプル)に含まれる任意の情報を利用して、所望の推定タスクを遂行するように訓練される。そのため、欠陥及び背景を含む訓練データを使用して、推定器の機械学習を実施した場合、生成される訓練済みの推定器は、データに含まれる欠陥に関する情報だけではなく、背景に関する情報も利用して、欠陥の検出に関する推定タスクを遂行する能力を獲得している場合がある。このような場合、サンプルの得られていない欠陥の種別及び背景の種別の組み合わせを機械学習に反映できないことで、その組み合わせに対する訓練済みの推定器による欠陥の検出に関する推定の精度が低下してしまう可能性がある。
【0008】
加えて、サンプルに表れる欠陥の種別及び背景の種別の組み合わせが偏っている場合、特に、欠陥の種別及び背景の種別が同じ分布でサンプルに表れる場合、このサンプルの偏りが、機械学習により機械学習モデルの習得する能力に悪影響を及ぼす可能性がある。具体的には、組み合わせの偏ったサンプルを使用した機械学習により、推定器は、種別に応じて欠陥を検出する能力ではなく、背景の種別を識別する能力を習得してしまう可能性がある。
【0009】
一例として、第1製品及び第2製品の2種類の製品に対して、第1欠陥及び第2欠陥の2種類の欠陥が発生すると仮定する。また、この例において、第1製品では第1欠陥が生じやすく、第2製品では第2欠陥が生じやすいと仮定する。更に、得られたサンプルが、第1欠陥を含む第1製品の写る画像、及び第2欠陥を含む第2製品の写る画像に偏っていると仮定する。すなわち、第2欠陥を含む第1製品の写る画像及び第1欠陥を含む第2製品の写る画像が機械学習のサンプルとして得られていないと仮定する。この仮定の下で得られたサンプルを使用して、種別に応じて欠陥を検出する能力を習得させることを意図して機械学習モデルの機械学習を実行したと想定する。この場合、得られるサンプルに上記偏りが生じていることで、当該機械学習により、機械学習モデルは、種別に応じて欠陥を検出識別する能力ではなく、背景の種別を識別する能力を習得してしまう可能性がある。すなわち、サンプルが偏っていることで、意図した能力とは別の能力を機械学習モデルに習得させてしまう可能性がある。背景の種別を識別する能力を習得してしまった場合には、第2欠陥を含む第1製品の写る画像が与えられたときに、訓練済みの推定器は、第1製品に第1欠陥が生じていると誤検出してしまう。
【0010】
したがって、従来の方法では、機械学習により、訓練済みの推定器は、画像データに含まれる背景に関する情報を考慮して、欠陥検出に関する推定タスクを遂行するように構築される可能性がある。これにより、運用時の背景が学習時の背景と異なっていることで、訓練済みの推定器による欠陥検出に関する推定の精度が悪化してしまうという問題点があった。換言すると、背景の相違にロバストな訓練済みの推定器を生成するのが困難であるという問題点があった。
【0011】
なお、このような問題点は、製品の外観検査に利用可能な訓練済みの推定器を生成する場面に特有のものではない。この問題点は、画像データに含まれる何らかの特徴を推定する様々な場面で生じ得る。画像データに含まれる何らかの特徴を推定する場面とは、例えば、画像データの前景に関する推定を行う場面である。前景に関する推定は、例えば、画像データに写る対象物の属性を推定することであってよい。
【0012】
具体例として、特許文献2では、訓練済みのニューラルネットワークを利用して、ナンバープレートを認識することが提案されている。特許文献3では、訓練済みの畳み込みニューラルネットワークを利用して、文字を識別することが提案されている。特許文献4では、訓練済みのニューラルネットワークを利用して、撮影画像に写る人物の密度分布及び移動ベクトルの分布を推定することが提案されている。特許文献5では、学習済みのモデルを利用して、撮影画像から運転者の運転に対する集中の程度を推定することが提案されている。
【0013】
これらの場面でも、従来の方法では、機械学習により、対象の特徴に関する推定タスクを遂行するための訓練済みの推定器を構築した場合に、訓練済みの推定器は、画像データに含まれる背景に関する情報を考慮して、当該推定タスクを遂行するように構築される可能性がある。そのため、背景の相違にロバストな訓練済みの推定器を生成するのが困難であるという問題点があった。
【0014】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、画像データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、背景の相違に対してロバストな訓練済みの推定器を生成するための技術を提供することである。
【課題を解決するための手段】
【0015】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【0016】
すなわち、本発明の一側面に係るモデル生成装置は、画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得する第1データ取得部と、前記各学習データセットについて、前記訓練データの背景を示す背景データを取得する背景取得部と、前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成する差分算出部と、推定器の機械学習を実施する第1訓練部であって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、第1訓練部と、を備える。
【0017】
当該構成に係るモデル生成装置では、各学習データセットについて、訓練データから背景データを差分することで、背景の除外された訓練用の差分データが生成される。生成された訓練用の差分データを使用した機械学習により、推定器は、背景データの情報が除外された訓練データから対象の特徴を推定するように訓練される。これにより、差分計算で除外された背景データの情報を利用せずに、対象の特徴に関する推定タスクを遂行する能力を獲得した訓練済みの推定器を生成することができる。すなわち、対象の特徴に関する推定タスクを訓練済みの推定器により遂行する際に、背景データに対応する情報が考慮されないようにすることができる。したがって、当該構成に係るモデル生成装置によれば、画像データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、背景の相違に対してロバストな訓練済みの推定器を生成することができる。
【0018】
上記一側面に係るモデル生成装置において、前記背景データを取得することは、機械学習済みの生成器を利用して、前記各学習データセットについて、前記訓練データに対して前記背景データを生成することを含んでもよい。例えば、撮影箇所がずれる等の同一種の背景であってもばらつきが生じる場合、そのばらつき毎に対応する背景データを予め用意するのにはコストがかかる。また、ばらつきを無視して差分を計算すると、得られる差分データに背景に関する情報の殆どが残ってしまい、背景の相違に対してロバストな訓練済みの推定器を適切に生成できない可能性がある。これに対して、当該構成によれば、機械学習済みの生成器を利用することで、背景にばらつきが生じる場合でも、訓練データに対応する背景データを生成することができる。そのため、背景データを用意するコストを低減することができる。また、背景の相違に対してロバストな訓練済みの推定器を適切に生成することができる。
【0019】
上記一側面に係るモデル生成装置は、学習用背景データを取得する第2データ取得部と、取得された学習用背景データを使用した機械学習を実施することで、前記訓練データに対する前記背景データを生成するように訓練された前記機械学習済みの生成器を構築する第2訓練部と、を更に備えてもよい。当該構成によれば、訓練データに対応する背景データを生成可能な機械学習済みの生成器を適切に構築することができる。そして、構築された機械学習済みの生成器を利用することで、各学習データセットについて、訓練データに対応する背景データを用意するコストを低減することができる。また、背景の相違に対してロバストな訓練済みの推定器を適切に生成することができる。なお、学習用背景データには、訓練データと同種の背景の写る画像データが用いられる。
【0020】
上記一側面に係るモデル生成装置において、前記差分算出部は、前記訓練データの各画素及び各画素の周囲の画素を含む対象領域と前記背景データの対応する各画素及び各画素の周囲の画素を含む対応領域との間の相関性に基づいて、前記訓練データの各画素と前記背景データの対応する各画素との差分を取ることで、前記差分データを生成してもよい。ノイズ等の影響により、背景データには、訓練データに含まれる背景との間に誤差が生じている可能性がある。特に、機械学習済みの生成器により背景データを生成した場合には、その可能性が高い。これに対して、当該構成では、対象の画素を含む領域間の相関性に基づいて対象の画素の差分を算出することで、単純な差分計算よりもその誤差が残らないように差分データを生成することができる。したがって、当該構成によれば、背景データに誤差が生じ得る場合でも、背景の相違に対してロバストな訓練済みの推定器を適切に生成することができる。
【0021】
上記一側面に係るモデル生成装置において、前記特徴は、前記訓練データの前景に関するもの(前記訓練データの前景についての特徴)であってよい。当該構成によれば、背景の相違に対してロバストに前景に関する推定タスクを遂行可能な訓練済みの推定器を生成することができる。なお、背景及び前景はそれぞれ、画像データに写り得る事象から任意に選択されてよい。
【0022】
上記一側面に係るモデル生成装置において、前記訓練データは、対象物の写る前記画像データであってよく、前記特徴は、前記対象物の属性であってよい。当該構成によれば、背景の相違に対してロバストに対象物の属性に関する推定タスクを遂行可能な訓練済みの推定器を生成することができる。なお、対象物は、任意に選択されてよい。対象物は、例えば、製品、製品の包装、ナンバープレート、撮影範囲内を移動可能な移動体(例えば、車両、人物等)、車両を運転する運転者等であってよい。
【0023】
上記一側面に係るモデル生成装置において、前記対象物は、製品であってよく、前記対象物の属性は、前記製品の欠陥に関するものであってよい。当該構成によれば、外観検査を実施する場面において、背景の相違に対してロバストに欠陥に関する推定タスクを遂行可能な訓練済みの推定器を生成することができる。
【0024】
また、本発明の形態は、上記モデル生成装置の形態に限られなくてもよい。本発明の一側面は、上記モデル生成装置により生成された訓練済みの推定器を利用する装置であってもよい。例えば、本発明の一側面は、上記モデル生成装置により生成された訓練済みの生成器を利用して、対象画像データに対して対象の特徴に関する推定タスクを実行するように構成された推定装置であってもよい。この推定装置は、適用場面における推定タスクの種類に応じて、検査装置、識別装置、監視装置、診断装置、予測装置等と読み替えられてよい。
【0025】
例えば、本発明の一側面に係る推定装置は、対象画像データを取得するデータ取得部と、前記対象画像データに対応する対象背景データを取得する背景取得部と、前記対象画像データと前記対象背景データとの差分を取ることで、対象差分データを生成する差分算出部と、上記いずれかの側面に係るモデル生成装置により生成された機械学習済みの推定器を利用して、生成された前記対象差分データに含まれる特徴を推定する推定部と、前記特徴を推定した結果に関する情報を出力する出力部と、を備える。当該構成によれば、背景の相違に対してロバストに対象の特徴に関する推定タスクを遂行することができる。
【0026】
また、上記各形態に係るモデル生成装置及び推定装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面は、上記いずれかの形態に係るモデル生成装置及び推定装置により構成される推定システムであってもよい。
【0027】
例えば、本発明の一側面に係るモデル生成方法は、コンピュータが、画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、前記各学習データセットについて、前記訓練データの背景を示す背景データを取得するステップと、前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成するステップと、推定器の機械学習を実施するステップであって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、ステップと、を実行する、情報処理方法である。
【0028】
例えば、本発明の一側面に係るモデル生成プログラムは、コンピュータに、画像データである訓練データ、及び前記訓練データに含まれる特徴を示す正解データの組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、前記各学習データセットについて、前記訓練データの背景を示す背景データを取得するステップと、前記各学習データセットについて、取得された前記背景データと前記訓練データとの差分を取ることで、前記背景データと前記訓練データとの間の差分を示す差分データを生成するステップと、推定器の機械学習を実施するステップであって、前記推定器の機械学習を実施することは、前記各学習データセットについて、生成された前記差分データから当該推定器により前記特徴を推定した結果が前記正解データに適合するように当該推定器を訓練することを含む、ステップと、を実行させるための、プログラムである。
【発明の効果】
【0029】
本発明によれば、画像データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器であって、背景の相違に対してロバストな訓練済みの推定器を生成することができる。
【図面の簡単な説明】
【0030】
図1図1は、本発明が適用される場面の一例を模式的に例示する。
図2図2は、実施の形態に係るモデル生成装置のハードウェア構成の一例を模式的に例示する。
図3図3は、実施の形態に係る推定装置のハードウェア構成の一例を模式的に例示する。
図4A図4Aは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
図4B図4Bは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
図4C図4Cは、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
図5図5は、実施の形態に係る推定装置のソフトウェア構成の一例を模式的に例示する。
図6A図6Aは、実施の形態に係るモデル生成装置による訓練済みの生成器の生成に関する処理手順の一例を例示する。
図6B図6Bは、実施の形態に係る生成器の機械学習の処理手順の一例を例示する。
図7図7は、実施の形態に係るモデル生成装置による訓練済みの入力推定器の生成に関する処理手順の一例を例示する。
図8図8は、実施の形態に係るモデル生成装置による訓練済みの推定器の生成に関する処理手順の一例を例示する。
図9図8は、訓練データ及び背景データの差分を算出する方法の一例を模式的に例示する。
図10図10は、実施の形態に係る推定装置の処理手順の一例を例示する。
図11図11は、本発明が適用される他の場面の一例を模式的に例示する。
図12A図12Aは、他の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。
図12B図12Bは、他の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。
図13図13は、本発明が適用される他の場面の一例を模式的に例示する。
図14図14は、本発明が適用される他の場面の一例を模式的に例示する。
図15図15は、本発明が適用される他の場面の一例を模式的に例示する。
図16図16は、本発明が適用される他の場面の一例を模式的に例示する。
図17図17は、他の形態に係る生成器の構成の一例を模式的に例示する。
【発明を実施するための形態】
【0031】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0032】
§1 適用例
図1は、本発明を適用した場面の一例を模式的に例示する。図1に示されるとおり、本実施形態に係る推定システム100は、モデル生成装置1及び推定装置2を備えている。
【0033】
本実施形態に係るモデル生成装置1は、推定器5の機械学習を実施するように構成されたコンピュータである。具体的に、本実施形態に係るモデル生成装置1は、複数の学習データセット30を取得する。各学習データセット30は、訓練データ31、及び訓練データ31に含まれる特徴を示す正解データ32の組み合わせにより構成される。
【0034】
訓練データ31は、画像データのサンプルである。訓練データ31は、「訓練サンプル」、「画像サンプル」、単に「サンプル」等と称されてもよい。特徴は、任意に選択されてよい。例えば、特徴は、画像データに直接的又は間接的に表れ得る成分(要素)に関するものであってよい。直接的に表れることは、画像データに写ることに相当する。間接的に表れることは、画像データに写る事象から導出されることに相当する。
【0035】
正解データ32は、対象の特徴に関する推定タスクの正解を示す。正解データ32は、「教師信号」、「ラベル」等と称されてもよい。「推定」は、「推論」と読み替えられてもよい。推定することは、例えば、グループ分け(分類、識別)により離散値(例えば、特定の特徴に対応するクラス)を導出すること、及び回帰により連続値(例えば、特定の特徴が出現している確率)を導出することのいずれかであってよい。推定することには、当該グループ分け又は回帰の結果に基づいて、検出、判定等の何らかの認定を行うことが含まれてもよい。また、推定することには、予測することが含まれてもよい。
【0036】
本実施形態に係るモデル生成装置1は、各学習データセット30について、訓練データ31の背景を示す背景データ35を取得する。背景は、画像データに含まれる推定タスクの対象となる特徴以外の任意の成分から適宜選択されてよい。背景は、対象の特徴以外の全て又は一部の成分により構成されてよい。本実施形態に係るモデル生成装置1は、各学習データセット30について、取得された背景データ35と訓練データ31との差分を取ることで、差分データ37を生成する。生成された差分データ37は、背景データ35及び訓練データ31の間の差分を示す。
【0037】
本実施形態に係るモデル生成装置1は、生成された差分データ37を使用して、推定器5の機械学習を実施する。推定器5は、画像データ(サンプル)の入力を受け付け、入力された画像データに含まれる対象の特徴を推定し、推定の結果に対応する出力値を出力するように構成される。推定器5の入力及び出力の形式は、推定タスクに応じて任意に決定されてよい。推定器5は、演算に利用される演算パラメータであって、機械学習により調節される演算パラメータを備える機械学習モデル(学習器)により構成される。推定器5を構成する機械学習モデルの種類は、特に限定されなくてよく、実施の形態に応じて任意に選択されてよい。後述するとおり、本実施形態では、推定器5には、ニューラルネットワークが用いられる。
【0038】
本実施形態に係る機械学習を実施することは、各学習データセット30について、生成された差分データ37から推定器5により特徴を推定した結果が正解データ32に適合するように推定器5を訓練することを含む。本実施形態に係るモデル生成装置1は、この機械学習を実施することで、画像データに含まれる特徴を推定する能力を獲得した訓練済みの推定器5を生成することができる。なお、「訓練済み」は、「機械学習済み」、単に「学習済み」等と称されてもよい。また、本実施形態に係るモデル生成装置1は、単に「生成装置」、「学習装置」等と称されてもよい。
【0039】
一方、本実施形態に係る推定装置2は、モデル生成装置1により生成された機械学習済みの推定器5を利用して、画像データに対して対象の特徴に関する推定タスクを遂行するように構成されたコンピュータである。具体的に、本実施形態に係る推定装置2は、推定タスクを遂行する対象となる対象画像データ41を取得する。対象画像データ41は、「対象サンプル」、「画像サンプル」、単に「サンプル」等と称されてもよい。推定装置2は、対象画像データ41に対応する対象背景データ45を取得する。推定装置2は、対象画像データ41と対象背景データ45との差分を取ることで、対象差分データ47を生成する。推定装置2は、モデル生成装置1により生成された機械学習済みの推定器5を利用して、生成された対象差分データ47に含まれる特徴を推定する。そして、推定装置2は、特徴を推定した結果に関する情報を出力する。
【0040】
以上のとおり、本実施形態では、訓練用の差分データ37を使用した機械学習により、推定器5は、背景データ35の情報が除外された訓練データ31から、正解データ32に適合するように対象の特徴を推定するように訓練される。その結果、訓練済みの推定器5は、差分計算で除外された背景データ35の情報を利用せずに、対象の特徴に関する推定タスクを遂行する能力を獲得することができる。すなわち、対象の特徴に関する推定タスクを訓練済みの推定器5により遂行する際に、背景データ35に対応する情報が考慮されないようにすることができる。したがって、本実施形態に係るモデル生成装置1によれば、画像データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器5であって、背景の相違に対してロバストな訓練済みの推定器5を生成することができる。本実施形態に係る推定装置2では、生成された訓練済みの推定器5を利用することで、背景の相違に対してロバストに対象の特徴に関する推定タスクを遂行することができる。
【0041】
なお、図1の例では、モデル生成装置1及び推定装置2は、ネットワークを介して互いに接続されている。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、モデル生成装置1及び推定装置2の間でデータをやりとりする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、モデル生成装置1及び推定装置2の間では、記憶媒体を利用して、データがやりとりされてよい。
【0042】
また、図1の例では、モデル生成装置1及び推定装置2は、それぞれ別個のコンピュータにより構成されている。しかしながら、本実施形態に係る推定システム100の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。たとえば、モデル生成装置1及び推定装置2は一体のコンピュータであってもよい。また、例えば、モデル生成装置1及び推定装置2のうちの少なくとも一方は、複数台のコンピュータにより構成されてもよい。
【0043】
§2 構成例
[ハードウェア構成]
<モデル生成装置>
図2は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に例示する。図2に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図2では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
【0044】
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、モデル生成プログラム81、複数の学習データセット30、複数件の学習用背景データ39、第1~第3学習結果データ121~123等の各種情報を記憶する。
【0045】
モデル生成プログラム81は、機械学習を実施することで各学習済みモデルを生成する後述の情報処理(図6A図6B図7及び図8)をモデル生成装置1に実行させるためのプログラムである。モデル生成プログラム81は、当該情報処理の一連の命令を含む。モデル生成プログラム81は、単に「生成プログラム」、「学習プログラム」等と称されてもよい。学習データセット30は、推定器5の機械学習に使用される。学習用背景データ39は、後述する生成器60の機械学習に使用される。第1~第3学習結果データ121~123はそれぞれ、機械学習により構築された各学習済みモデルに関する情報を示す。本実施形態では、第1~第3学習結果データ121~123はそれぞれ、モデル生成プログラム81を実行した結果として生成される。
【0046】
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モデル生成装置1は、通信インタフェース13を利用して、他の情報処理装置との間で、ネットワークを介したデータ通信を実行してもよい。外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は任意に選択されてよい。モデル生成装置1は、通信インタフェース13及び外部インタフェース14の少なくとも一方を介して、訓練データ31、学習用背景データ39等の画像サンプルを得るためのカメラに接続されてよい。
【0047】
入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置15及び出力装置16を利用することで、モデル生成装置1を操作することができる。
【0048】
ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。上記モデル生成プログラム81、複数の学習データセット30、及び複数件の学習用背景データ39の少なくともいずれかは、記憶媒体91に記憶されていてもよい。モデル生成装置1は、この記憶媒体91から、上記モデル生成プログラム81、複数の学習データセット30、及び複数件の学習用背景データ39の少なくともいずれかを取得してもよい。なお、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限られなくてもよく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ17の種類は、記憶媒体91の種類に応じて任意に選択されてよい。
【0049】
なお、モデル生成装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。モデル生成装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モデル生成装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
【0050】
<推定装置>
図3は、本実施形態に係る推定装置2のハードウェア構成の一例を模式的に例示する。図3に示されるとおり、本実施形態に係る推定装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
【0051】
推定装置2の制御部21~ドライブ27及び記憶媒体92はそれぞれ、上記モデル生成装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部22は、推定プログラム82、第1~第3学習結果データ121~123等の各種情報を記憶する。推定プログラム82は、訓練済みの推定器5を利用して、画像データに対して対象の特徴に関する推定タスクを遂行する後述の情報処理(図10)を推定装置2に実行させるためのプログラムである。推定プログラム82は、この情報処理の一連の命令を含む。推定プログラム82及び第1~第3学習結果データ121~123のうちの少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、推定装置2は、記憶媒体92から、上記推定プログラム82及び第1~第3学習結果データ121~123のうちの少なくともいずれかを取得してもよい。
【0052】
なお、推定装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。推定装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、推定装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC(programmable logic controller)等であってもよい。
【0053】
[ソフトウェア構成]
<モデル生成装置>
図4A図4Cは、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に例示する。
【0054】
モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開する。そして、制御部11は、CPUにより、RAMに展開されたモデル生成プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図4A図4Cに示されるとおり、本実施形態に係るモデル生成装置1は、第1データ取得部111、背景取得部112、差分算出部113、第1訓練部114、第2データ取得部115、第2訓練部116、第3データ取得部117、第3訓練部118、及び保存処理部119をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
【0055】
第1データ取得部111は、画像データである訓練データ31、及び訓練データ31に含まれる特徴を示す正解データ32の組み合わせによりそれぞれ構成される複数の学習データセット30を取得する。各学習データセット30は、対象の特徴に関する推定タスクを遂行する場面を想定して生成される。背景取得部112は、各学習データセット30について、訓練データ31の背景を示す背景データ35を取得する。各学習データセット30の訓練データ31に対応する背景データ35は適宜生成されてよい。本実施形態では、背景データ35を取得することは、機械学習済みの生成器60を利用して、各学習データセット30について、訓練データ31に対して背景データ35を生成することを含んでもよい。
【0056】
差分算出部113は、各学習データセット30について、取得された背景データ35及び訓練データ31の差分を取ることで、背景データ35及び訓練データ31の間の差分を示す差分データ37を生成する。第1訓練部114は、生成された差分データ37を使用して、推定器5の機械学習を実施する。この機械学習では、第1訓練部114は、各学習データセット30について、生成された差分データ37から推定器5により特徴を推定した結果が正解データ32に適合するように推定器5を訓練する。
【0057】
第2データ取得部115は、複数件の学習用背景データ39を取得する。学習用背景データ39は、各学習データセット30の訓練データ31と同種の背景が写るように生成される。学習用背景データ39は、対象の特徴に関する情報が写らず、背景のみが写るように生成されるのが好ましい。第2訓練部116は、取得された学習用背景データ39を使用した機械学習を実施することにより、訓練データ31に対する背景データ35を生成するように訓練された機械学習済みの生成器60を構築する。推定器5と同様に、生成器60には、任意の機械学習モデルが利用されてよい。生成器60の入力及び出力の形式は任意に決定されてよい。
【0058】
訓練データ31に対応する背景データ35を生成可能であれば、生成器60の構成及び機械学習の方法は任意に選択されてよい。図4Bに示されるとおり、本実施形態では、生成器60の訓練に識別器61が利用される。生成器60は、ノイズ631(潜在変数)の入力を受け付け、入力されたノイズ631から疑似背景データ633を生成し、生成された疑似背景データ633に対応する出力値を出力するように構成される。これに対して、識別器61は、背景データ(サンプル)の入力を受け付け、入力された背景データ(サンプル)の由来を識別し、識別した結果に対応する出力値を出力するように構成される。生成器60等と同様に、識別器61には任意の機械学習モデルが利用されてよい。識別器61の入力及び出力の形式は任意に決定されてよい。
【0059】
本実施形態に係る生成器60の機械学習は、識別器61を訓練する第1訓練ステップ及び生成器60を訓練する第2訓練ステップを含む。第1訓練ステップでは、第2訓練部116は、入力された背景データが学習用背景データ39か生成器60により生成された疑似背景データ633かを識別する(換言すると、背景データの由来を識別する)性能を高めるように識別器61を訓練する。一方、第2訓練ステップでは、第2訓練部116は、識別器61の識別性能を低下させるような疑似背景データ633を生成する性能を高めるように生成器60を訓練する。第2訓練部116は、第1訓練ステップ及び第2訓練ステップを交互に繰り返し実行する。すなわち、本実施形態に係る生成器60の機械学習は、生成器60及び識別器61の間の敵対的学習により構成される。
【0060】
上記機械学習により、本実施形態に係る訓練済みの生成器60は、学習用背景データ39に適合する疑似背景データを潜在変数のノイズから生成する能力を獲得する。つまり、本実施形態に係る訓練済みの生成器60によれば、学習用背景データ39により与えられた背景については再現性が高く、それ以外の情報については再現性の低い疑似画像データをノイズに応じて生成することができる。よって、この訓練済みの生成器60を利用することで、各学習データセット30について、訓練データ31に対応する背景データ35を生成することができる。
【0061】
ただし、上記のとおり、本実施形態では、訓練済みの生成器60は、疑似背景データをノイズに応じて生成するように構成される。そのため、この機械学習済みの生成器60を利用して、訓練データ31に対応する背景データ35を生成するためには、機械学習済みの生成器60に与える適当な入力値(ノイズ)を決定することになる。本実施形態に係るモデル生成装置1は、この入力値の決定に利用可能な機械学習済みの入力推定器62を更に生成する。
【0062】
入力推定器62は、画像データの入力を受け付け、入力された画像データに写る背景に適合する(疑似)背景データを生成するために機械学習済みの生成器60に与える入力値(ノイズ)を推定し、得られた推定値に対応する出力値を出力するように構成される。上記推定器5等と同様に、入力推定器62には任意の機械学習モデルが利用されてよい。入力推定器62の入力及び出力の形式は任意に決定されてよい。
【0063】
第3データ取得部117は、複数の学習データセット64を取得する。各学習データセット64は、入力値のサンプルであるノイズ641、及び機械学習済みの生成器60にノイズ641を与えることで生成される疑似背景データ643の組み合わせにより構成される。各学習データセット64の生成には、機械学習済みの生成器60が利用されてよい。
【0064】
第3訓練部118は、取得された複数の学習データセット64を使用して、入力推定器62の機械学習を実施する。この機械学習では、第3訓練部118は、各学習データセット64について、機械学習済みの生成器60に与えた入力値を疑似背景データ643から入力推定器62により推定することで得られる推定値がノイズ641に適合するように入力推定器62を訓練する。これにより、入力推定器62は、画像データに写る背景に適合する(疑似)背景データを機械学習済みの生成器60により生成するために、機械学習済みの生成器60に与える入力値(ノイズ)を推定する能力を獲得することができる。
【0065】
保存処理部119は、各機械学習により構築された訓練済みの推定器5、生成器60、及び入力推定器62それぞれに関する情報を第1~第3学習結果データ121~123として生成する。そして、保存処理部119は、生成された第1~第3学習結果データ123を所定の記憶領域に保存する。所定の記憶領域は任意に選択されてよい。
【0066】
(機械学習モデルの構成)
推定器5、生成器60、識別器61、及び入力推定器62それぞれには、機械学習を実施可能な任意のモデルが利用されてよい。図4A図4Cに示されるとおり、本実施形態では、推定器5、生成器60、識別器61、及び入力推定器62はそれぞれ、多層構造の全結合型ニューラルネットワークにより構成される。推定器5、生成器60、識別器61、及び入力推定器62はそれぞれ、入力層(51、601、611、621)、中間(隠れ)層(52、602、612、622)、及び出力層(53、603、613、623)を備えている。
【0067】
ただし、推定器5、生成器60、識別器61、及び入力推定器62それぞれの構造は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、中間層(52、602、612、622)の数は、1つに限定されなくてもよく、2つ以上であってもよい。或いは、中間層(52、602、612、622)は省略されてもよい。それぞれのニューラルネットワークを構成する層の数は任意に選択されてよい。推定器5、生成器60、識別器61、及び入力推定器62の少なくともいずれかの組み合わせについて、少なくとも部分的に構造が一致してもよいし、或いは一致していなくてもよい。
【0068】
各層(51~53、601~603、611~613、621~623)は1又は複数のニューロン(ノード)を備えている。各層(51~53、601~603、611~613、621~623)に含まれるニューロン(ノード)の数は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。隣接する層のニューロン同士は適宜結合される。図4A図4Cの例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、各ニューロンの結合関係は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【0069】
各結合には、重み(結合荷重)が設定されている。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。閾値は、活性化関数により表現されてもよい。この場合、各入力と各重みとの積の和を活性化関数に入力し、活性化関数の演算を実行することで、各ニューロンの出力が決定される。活性化関数の種類は任意に選択されてよい。各層(51~53、601~603、611~613、621~623)に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、推定器5、生成器60、識別器61、及び入力推定器62それぞれの演算処理に利用される演算パラメータの一例である。推定器5、生成器60、識別器61、及び入力推定器62それぞれの演算パラメータの値は、上記機械学習により、所望の推論に適合した出力が得られるように調節される。
【0070】
(推定器の機械学習)
図4Aに示されるとおり、第1訓練部114は、各学習データセット30について、生成された差分データ37を推定器5の入力層51に入力し、対象の特徴を推定した結果に対応する出力値を出力層53から取得する。推定器5の機械学習において、第1訓練部114は、取得される出力値と正解データ32との間の誤差が小さくなるように、推定器5の演算パラメータの値を調節する。これにより、各学習データセット30について、差分データ37から対象の特徴を推定する能力を獲得した訓練済みの推定器5を生成することができる。
【0071】
保存処理部119は、機械学習により生成された訓練済みの推定器5を再生するための第1学習結果データ121を生成する。訓練済みの推定器5を再生可能であれば、第1学習結果データ121の構成は任意であってよい。例えば、保存処理部119は、生成された訓練済みの推定器5の演算パラメータの値を示す情報を第1学習結果データ121として生成する。場合によって、第1学習結果データ121には、訓練済みの推定器5の構造を示す情報が更に含まれてもよい。構造は、例えば、ニューラルネットワークにおける入力層から出力層までの層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等により特定されてよい。保存処理部119は、生成された第1学習結果データ121を所定の記憶領域に保存する。
【0072】
(生成器の機械学習)
図4Bに示されるとおり、本実施形態に係る生成器60の機械学習は、上記第1訓練ステップ及び第2訓練ステップを含む。第1訓練ステップでは、第2訓練部116は、生成器60の入力層601にノイズ631を入力し、ノイズ631から生成された疑似背景データ633に対応する出力値を出力層603から取得する。第2訓練部116は、生成された疑似背景データ633を識別器61の入力層611に入力し、入力された背景データの由来を識別した結果に対応する出力値を出力層613から取得する。また、第2訓練部116は、学習用背景データ39を識別器61の入力層611に入力し、入力された背景データの由来を識別した結果に対応する出力値を出力層613から取得する。
【0073】
図4Bの例では、学習データ由来であることを「真」と表現し、生成器60由来であることを「偽」と表現している。「真」は「1」に置き換えられてよく、「偽」は「0」に置き換えられてよい。ただし、各由来を表現する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。上記背景データの由来を識別した結果を取得した2つの場面のうち、生成された疑似背景データ633を識別器61に入力した場面では、識別器61は「真」と識別するのが正解である。一方、学習用背景データ39を識別器61に入力した場面では、識別器61は「偽」と識別するのが正解である。第1訓練ステップにおいて、第2訓練部116は、生成器60の演算パラメータの値を固定した上で、各場面で出力層613から取得される出力値と各正解との間の誤差が小さくなるように、識別器61の演算パラメータの値を調節する。これにより、入力された背景データの由来を識別する性能を高めるように識別器61を訓練することができる。
【0074】
一方、第2訓練ステップでは、第2訓練部116は、生成器60の入力層601にノイズ631を入力し、ノイズ631から生成された疑似背景データ633に対応する出力値を出力層603から取得する。この疑似背景データ633を生成する処理は、第1訓練ステップ及び第2訓練ステップで共通に実行されてよい。すなわち、第1訓練ステップで生成された疑似背景データ633が第2訓練ステップでも利用されてよい。第2訓練部116は、生成された疑似背景データ633を識別器61の入力層611に入力し、入力された背景データの由来を識別した結果に対応する出力値を出力層613から取得する。
【0075】
第2訓練ステップでは、識別器61の識別性能を低下させる(すなわち、識別結果が誤りである)ことが正解である。つまり、出力層613から得られる出力値が「真」に対応することが正解である。第2訓練部116は、識別器61の演算パラメータの値を固定した上で、出力層613から取得される出力値と当該正解との間の誤差が小さくなるように、生成器60の演算パラメータの値を調節する。これにより、識別器61の識別性能を低下させるような疑似背景データ633を生成する性能を高めるように生成器60を訓練することができる。
【0076】
第2訓練部116は、上記第1訓練ステップ及び第2訓練ステップを交互に繰り返し実行することで、識別器61及び生成器60の性能を交互に高めていくことができる。これにより、識別器61の識別性能の向上に応じて、学習用背景データ39に適合する疑似背景データ633を生成する生成器60の性能の向上を図ることができる。したがって、上記機械学習により、推定タスクを遂行する場面で得られる画像データに表れ得る背景については再現性が高く、それ以外の情報については再現性の低い疑似背景データをノイズから生成可能な訓練済みの生成器60を構築することができる。なお、第1訓練ステップ及び第2訓練ステップの処理順序は任意であってよい。
【0077】
保存処理部119は、機械学習により生成された訓練済みの生成器60を再生するための第2学習結果データ122を生成する。第2学習結果データ122の構成は、上記第1学習結果データ121と同様であってよい。例えば、第2学習結果データ122には、訓練済みの生成器60の演算パラメータの値を示す情報が含まれてよい。場合によっては、第2学習結果データ122には、訓練済みの生成器60の構造を示す情報が更に含まれてもよい。保存処理部119は、生成された第2学習結果データ122を所定の記憶領域に保存する。なお、訓練済みの識別器61の取扱いについては任意であってよい。第2学習結果データ122には、訓練済みの識別器61を再生するための情報が更に含まれてもよいし、或いは含まれなくてもよい。
【0078】
(入力推定器の機械学習)
図4Cに示されるとおり、第3訓練部118は、各学習データセット64について、疑似背景データ643を入力推定器62の入力層621に入力し、出力層623から出力値を取得する。入力推定器62から得られる出力値は、入力された疑似背景データ643を機械学習済みの生成器60により生成するために、機械学習済みの生成器60に与える入力値(ノイズ)を推定した結果に対応する。第3訓練部118は、取得される出力値と対応するノイズ641との間の誤差が小さくなるように、入力推定器62の演算パラメータの値を調節する。これにより、画像データに写る背景に適合する(疑似)背景データを機械学習済みの生成器60により生成するために、機械学習済みの生成器60に与える入力値(ノイズ)を推定する能力を獲得した訓練済みの入力推定器62を生成することができる。
【0079】
保存処理部119は、機械学習により生成された訓練済みの入力推定器62を再生するための第3学習結果データ123を生成する。第3学習結果データ123の構成は、上記第1学習結果データ121等と同様であってよい。例えば、第3学習結果データ123には、訓練済みの入力推定器62の演算パラメータの値を示す情報が含まれてよい。場合によっては、第3学習結果データ123には、訓練済みの入力推定器62の構造を示す情報が更に含まれてもよい。保存処理部119は、生成された第3学習結果データ123を所定の記憶領域に保存する。
【0080】
(背景データの生成)
図4Cに示されるとおり、本実施形態では、背景取得部112は、上記機械学習により生成された訓練済みの生成器60及び入力推定器62を利用することで、各学習データセット30の訓練データ31に対応する背景データ35を生成することができる。
【0081】
具体的に、背景取得部112は、各学習データセット30について、機械学習済みの入力推定器62の入力層621に訓練データ31を入力し、出力層623から出力値を取得する。機械学習済みの入力推定器62から得られる出力値は、訓練データ31に写る背景に適合する疑似背景データを生成するために、機械学習済みの生成器60に与えるノイズの推定値に対応する。
【0082】
次に、背景取得部112は、取得されたノイズの推定値を機械学習済みの生成器60の入力層601に入力し、ノイズの推定値から生成された疑似背景データに対応する出力値を出力層603から取得する。背景取得部112は、生成された疑似背景データを、訓練データ31に対する背景データ35として取得することができる。
【0083】
<推定装置>
図5は、本実施形態に係る推定装置2のソフトウェア構成の一例を模式的に例示する。
【0084】
推定装置2の制御部21は、記憶部22に記憶された推定プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された推定プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図5に示されるとおり、本実施形態に係る推定装置2は、データ取得部211、背景取得部212、差分算出部213、推定部214、及び出力部215をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、推定装置2の各ソフトウェアモジュールは、上記モデル生成装置1と同様に、制御部21(CPU)により実現される。
【0085】
データ取得部211は、推定タスクの遂行対象となる対象画像データ41を取得する。背景取得部212は、対象画像データ41に対応する対象背景データ45を取得する。本実施形態では、背景取得部212は、第2学習結果データ122及び第3学習結果データ123を保持することで、機械学習済みの生成器60及び入力推定器62を備えている。背景取得部212は、機械学習済みの入力推定器62に対象画像データ41を与えることで、対象画像データ41に写る背景に適合する疑似背景データを生成するために機械学習済みの生成器60に与えるノイズを推定してもよい。そして、背景取得部212は、取得されたノイズの推定値を機械学習済みの生成器60に与えることで、疑似背景データを生成してもよい。背景取得部212は、生成された疑似背景データを対象背景データ45として取得してもよい。
【0086】
差分算出部213は、対象画像データ41と対象背景データ45との差分を取ることで、対象差分データ47を生成する。推定部214は、第1学習結果データ121を保持することで、機械学習済みの推定器5を備えている。推定部214は、機械学習済みの推定器5を利用して、生成された対象差分データ47に含まれる特徴を推定する。出力部215は、特徴を推定した結果に関する情報を出力する。
【0087】
<その他>
モデル生成装置1及び推定装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置1及び推定装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、モデル生成装置1及び推定装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【0088】
§3 動作例
[モデル生成装置]
(A)生成器の機械学習
図6Aは、本実施形態に係るモデル生成装置1による生成器60の機械学習に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0089】
(ステップS101)
ステップS101では、制御部11は、第2データ取得部115として動作し、複数件の学習用背景データ39を取得する。
【0090】
学習用背景データ39は適宜生成されてよい。例えば、実空間又は仮想空間において、推定タスクを遂行する場面を想定して、様々な条件で背景をカメラにより撮影することで、学習用背景データ39を生成することができる。このとき、対象の特徴に関する情報が写らず、背景のみが写るように学習用背景データ39を生成するのが好ましい。背景は、推定タスクに応じて適宜選択されてよい。下地が異なる等の異なる種類の背景について、学習用背景データ39は網羅的に収集されるのが好ましい。一方、同一種の背景で撮影箇所がずれる等のばらつきに関しては、学習用背景データ39は網羅的に収集されなくてよい。撮影する背景の種類は、訓練データ31と同じである。対象の特徴及び背景の写る訓練データ31が得られている場合、学習用背景データ39は、画像処理により対象の特徴に関する情報を訓練データ31から適宜除去することにより生成されてもよい。或いは、学習用背景データ39は、訓練データ31とは別途に取得されてよい。
【0091】
学習用背景データ39は、コンピュータの動作により自動的に生成されてもよいし、少なくとも部分的にオペレータの操作を含むことで手動で生成されてもよい。また、学習用背景データ39の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。学習用背景データ39をモデル生成装置1が生成する場合、制御部11は、自動的に又は入力装置15を介したオペレータの操作により手動で上記生成処理を実行することで、学習用背景データ39を取得する。一方、学習用背景データ39を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された学習用背景データ39を取得する。一部の学習用背景データ39がモデル生成装置1により生成され、その他の学習用背景データ39が1又は複数の他のコンピュータにより生成されてもよい。
【0092】
取得する学習用背景データ39の件数は任意に選択されてよい。複数件の学習用背景データ39を取得すると、制御部11は、次のステップS102に処理を進める。
【0093】
(ステップS102)
ステップS102では、制御部11は、第2訓練部116として動作し、取得された複数件の学習用背景データ39を使用して、生成器60の機械学習を実施する。これにより、訓練データ31に対する背景データ35を生成するように訓練された機械学習済みの生成器60を構築する。
【0094】
図6Bは、本実施形態に係る生成器60の機械学習に関するサブルーチンの処理手順の一例を示すフローチャートである。本実施形態に係るステップS102の処理は、以下のステップS1021~ステップS1023の処理を含む。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0095】
本実施形態では、生成器60の訓練に識別器61が利用される。処理対象となる生成器60及び識別器61それぞれを構成するニューラルネットワークは適宜用意されてよい。生成器60及び識別器61それぞれの構造(例えば、層の数、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習により得られた学習結果データに基づいて、生成器60及び識別器61を用意してもよい。
【0096】
(ステップS1021)
ステップS1021では、制御部11は、学習用背景データ39及び生成器60により生成された疑似背景データ633を使用して、入力された背景データの由来を識別するように識別器61を訓練する。ステップS1021は、上記第1訓練ステップの一例である。この機械学習の訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。後述するステップS1022等の他のニューラルネットワークの機械学習の処理についても同様である。
【0097】
一例として、まず、制御部11は、所定の確率分布からノイズ631(潜在変数)を抽出する。所定の確率分布は任意に選択されてよい。所定の確率分布は、例えば、ガウス分布等の公知の確率分布であってよい。続いて、制御部11は、抽出されたノイズ631を生成器60に与えて、生成器60の演算処理を実行する。すなわち、制御部11は、ノイズ631を生成器60の入力層601に入力し、入力側から順に各層601~603に含まれる各ニューロンの発火判定を行う(すなわち、順伝播の演算を行う)。この演算処理により、制御部11は、ノイズ631から生成した疑似背景データ633に対応する出力値を出力層603から取得する。生成する疑似背景データ633の件数は任意でよい。なお、この順伝播の演算処理は、以下の他のニューラルネットワークの演算処理においても同様に実行される。
【0098】
次に、制御部11は、生成された疑似背景データ633を識別器61の入力層611に入力し、識別器61の演算処理を実行する。これにより、制御部11は、入力された背景データの由来を識別した結果に対応する出力値を識別器61の出力層613から取得する。この場面では、入力された背景データは疑似背景データ633であるため、識別器61は「偽」と識別するのが正解である。制御部11は、各件の疑似背景データ633について、出力層613から得られる出力値と当該正解との誤差を算出する。
【0099】
また、制御部11は、各件の学習用背景データ39を識別器61の入力層611に入力し、識別器61の演算処理を実行する。これにより、制御部11は、入力された背景データの由来を識別した結果に対応する出力値を識別器61の出力層613から取得する。この場面では、入力された背景データは学習用背景データ39であるため、識別器61は「真」と識別するのが正解である。制御部11は、各件の学習用背景データ39について、出力層613から得られる出力値と当該正解との誤差を算出する。
【0100】
各誤差(損失)の算出には、損失関数が用いられてよい。損失関数は、機械学習モデルの出力と正解との差分(すなわち、相違の程度)を評価する関数であり、出力層613から得られる出力値と当該正解との差分値が大きいほど、損失関数により算出される誤差の値は大きくなる。誤差の計算に利用する損失関数の種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【0101】
制御部11は、誤差逆伝播(Back propagation)法により、算出された出力値の誤差の勾配を用いて、識別器61の各演算パラメータ(各ニューロン間の結合の重み、各ニューロンの閾値等)の値の誤差を算出する。制御部11は、算出された各誤差に基づいて、識別器61の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。
【0102】
制御部11は、生成器60の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、識別器61の各演算パラメータの値を調節する。例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、制御部11は、上記一連の処理による識別器61の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、入力された背景データの由来を識別する性能を高めるように識別器61を訓練することができる。この識別器61の訓練処理が完了すると、制御部11は、次のステップS1022に処理を進める。
【0103】
(ステップS1022)
ステップS1022では、制御部11は、識別器61の識別性能を低下させるような疑似背景データ633を生成するように生成器60を訓練する。換言すると、制御部11は、識別器61が「真」と識別する(すなわち、学習データ由来と識別する)ような疑似背景データ633を生成するように生成器60を訓練する。ステップS1022は、上記第2訓練ステップの一例である。
【0104】
一例として、まず、制御部11は、上記ステップS1021と同様に、所定の確率分布から抽出されたノイズ631を生成器60に与えることで、疑似背景データ633を生成する。上記ステップS1021により生成された疑似背景データ633を本ステップS1022でも利用する場合、制御部11は、本ステップS1022において、疑似背景データ633を生成する処理を省略してよい。
【0105】
次に、制御部11は、生成された疑似背景データ633を識別器61の入力層611に入力し、識別器61の演算処理を実行する。これにより、制御部11は、入力された背景データの由来を識別した結果に対応する出力値を識別器61の出力層613から取得する。この場面では、入力された背景データが「真」である(すなわち、学習データ由来である)と識別器61が誤った識別をすることが正解である。制御部11は、各件の疑似背景データ633について、出力層613から得られる出力値と当該正解との誤差を算出する。上記と同様に、当該誤差の算出には、任意の損失関数が用いられてよい。
【0106】
制御部11は、誤差逆伝播法により、算出した出力値の誤差の勾配を、識別器61を介して生成器60の各演算パラメータに逆伝播して、生成器60の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、生成器60の各演算パラメータの値を更新する。上記と同様に、各演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0107】
制御部11は、識別器61の各演算パラメータの値を固定した上で、上記一連の更新処理により、算出される誤差の和が小さくなるように、生成器60の各演算パラメータの値を調節する。上記識別器61の訓練と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による生成器60の各演算パラメータの値の調節を繰り返してもよい。これにより、制御部11は、識別器61の識別性能を低下させるような疑似背景データ633を生成する性能を高めるように生成器60を訓練することができる。この生成器60の訓練処理が完了すると、制御部11は、次のステップS1023に処理を進める。
【0108】
(ステップS1023)
ステップS1023では、制御部11は、ステップS1021及びステップS1022の処理を繰り返すか否かを判定する。処理を繰り返す基準は任意に決定されてよい。例えば、処理を繰り返す規定回数が設定されていてもよい。規定回数は、例えば、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。この場合、制御部11は、ステップS1021及びステップS1022の処理を実行した回数が規定回数に到達したか否かを判定する。実行回数が規定回数に到達していないと判定した場合、制御部11は、ステップS1021に処理を戻し、ステップS1021及びステップS1022の処理を再度実行する。一方、実行回数が規定回数に到達していると判定した場合には、制御部11は、生成器60の機械学習の処理を完了し、次のステップS103に処理を進める。
【0109】
以上により、制御部11は、識別器61の訓練ステップ及び生成器60の訓練ステップを交互に繰り返し実行する。これにより、識別器61及び生成器60の性能を交互に高めていくことができる。その結果、学習用背景データ39に適合する疑似背景データ633を生成する(これにより、訓練データ31に対する背景データ35を生成する)能力を獲得した訓練済みの生成器60を構築することができる。
【0110】
(ステップS103)
図6Aに戻り、ステップS103では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの生成器60に関する情報を第2学習結果データ122として生成する。そして、制御部11は、生成された第2学習結果データ122を所定の記憶領域に保存する。
【0111】
所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに第2学習結果データ122を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに第2学習結果データ122を格納してもよい。また、外部記憶装置は、例えば、外部インタフェース14を介してモデル生成装置1に接続された外付けの記憶装置であってもよい。
【0112】
これにより、第2学習結果データ122の保存が完了すると、制御部11は、生成器60の機械学習に関する一連の処理を終了する。
【0113】
なお、生成された第2学習結果データ122は、任意のタイミングで推定装置2に提供されてよい。例えば、制御部11は、ステップS103の処理として又はステップS103の処理とは別に、第2学習結果データ122を推定装置2に転送してもよい。推定装置2は、この転送を受信することで、第2学習結果データ122を取得してもよい。また、例えば、推定装置2は、通信インタフェース23を利用して、モデル生成装置1又はデータサーバにネットワークを介してアクセスすることで、第2学習結果データ122を取得してもよい。また、例えば、推定装置2は、記憶媒体92を介して、第2学習結果データ122を取得してもよい。また、例えば、第2学習結果データ122は、推定装置2に予め組み込まれてもよい。
【0114】
更に、制御部11は、上記ステップS101~ステップS103の処理を定期又は不定期に繰り返すことで、第2学習結果データ122を更新又は新たに生成してもよい。この繰り返しの際には、学習用背景データ39の少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した第2学習結果データ122を任意の方法で推定装置2に提供することで、推定装置2の保持する第2学習結果データ122を更新してもよい。
【0115】
(B)入力推定器の機械学習
図7は、本実施形態に係るモデル生成装置1による入力推定器62の機械学習に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0116】
(ステップS111)
ステップS111では、制御部11は、第3データ取得部117として動作し、複数の学習データセット64を取得する。各学習データセット64は、入力値のサンプルであるノイズ641、及び機械学習済みの生成器60にノイズ641を与えることで生成される疑似背景データ643の組み合わせにより構成される。
【0117】
各学習データセット64は、機械学習済みの生成器60を利用することで適宜生成されてよい。一例として、所定の確率分布(例えば、ガウス分布等)からノイズ641(潜在変数)を抽出する。抽出されたノイズ641を機械学習済みの生成器60の入力層601に入力し、機械学習済みの生成器60の演算処理を実行する。この演算処理により、ノイズ641から生成した疑似背景データ643に対応する出力値を訓練済みの生成器60の出力層603から取得することができる。生成された疑似背景データ643に、入力したノイズ641を関連付ける。これにより、各学習データセット64を生成することができる。なお、学習データセット64の構成は、このような例に限定されなくてもよい。例えば、学習データセット64は、疑似背景データ643の代わりに、背景以外の他の情報(例えば、対象の特徴)を更に含む画像データを備えてもよい。この場合、同一の背景の写る画像データには同一のノイズ641が関連付けられる。
【0118】
上記学習用背景データ39と同様に、各学習データセット64は、コンピュータの動作により自動的に生成されてもよいし、少なくとも部分的にオペレータの操作を含むことで手動で生成されてもよい。また、各学習データセット64の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。一部の学習データセット64がモデル生成装置1により生成され、その他の学習データセット64が1又は複数の他のコンピュータにより生成されてもよい。
【0119】
取得する学習データセット64の件数は任意に選択されてよい。複数の学習データセット64を取得すると、制御部11は、次のステップS112に処理を進める。
【0120】
(ステップS112)
ステップS112では、制御部11は、第3訓練部118として動作し、取得された複数の学習データセット64を使用して、入力推定器62の機械学習を実施する。当該機械学習では、制御部11は、各学習データセット64について、機械学習済みの生成器60に与えた入力値を疑似背景データ643から入力推定器62により推定することで得られる推定値がノイズ641に適合するように入力推定器62を訓練する。
【0121】
一例として、まず、制御部11は、各学習データセット64について、入力推定器62の入力層621に疑似背景データ643を入力し、入力推定器62の演算処理を実行する。これにより、制御部11は、疑似背景データ643を生成するために、機械学習済みの生成器60に与える入力値(ノイズ)を推定した結果に対応する出力値を出力層623から取得する。制御部11は、得られる推定値と対応するノイズ641との誤差を算出する。上記ステップS1021等と同様に、誤差の算出には、任意の損失関数が用いられてよい。
【0122】
制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、入力推定器62の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、入力推定器62の各演算パラメータの値を更新する。上記ステップS1021等と同様に、各演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0123】
制御部11は、上記一連の更新処理により、算出される誤差の和が小さくなるように、入力推定器62の各演算パラメータの値を調節する。上記ステップS1021等と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による入力推定器62の各演算パラメータの値の調節を繰り返してもよい。
【0124】
この機械学習により、入力推定器62は、各学習データセット64について、疑似背景データ643からノイズ641を適切に推定可能に訓練される。すなわち、入力推定器62は、機械学習済みの生成器60の出力から入力を推定するように訓練される。機械学習済みの生成器60は、背景については再現性が高く、それ以外の情報については再現性の低い疑似画像データを生成するように訓練されている。そのため、入力推定器62は、同一の背景の写る画像データであれば、その他の情報が含まれていても、同じ入力値(ノイズ)を推定可能に訓練される。同一の背景の写る画像データに同一のノイズ641が関連付けられている限り、疑似背景データ643が他の情報を更に含む画像データに置き換わっても同様に入力推定器62を訓練可能である。したがって、上記機械学習により、与えられた画像データに写る背景から、その背景の写る疑似背景データを生成するために、機械学習済みの生成器60に与える入力値(ノイズ)を推定する能力を獲得した訓練済みの入力推定器62を構築することができる。入力推定器62の機械学習が完了すると、制御部11は、次のステップS113に処理を進める。
【0125】
(ステップS113)
ステップS113では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの入力推定器62に関する情報を第3学習結果データ123として生成する。そして、制御部11は、生成された第3学習結果データ123を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
【0126】
これにより、第3学習結果データ123の保存が完了すると、制御部11は、入力推定器62の機械学習に関する一連の処理を終了する。なお、上記第2学習結果データ122と同様に、生成された第3学習結果データ123は、任意のタイミングで推定装置2に提供されてよい。また、上記ステップS111~ステップS113の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに生成された第3学習結果データ123が任意の方法で推定装置2に提供されることで、推定装置2の保持する第3学習結果データ123が更新されてもよい。
【0127】
(C)推定器の機械学習
図8は、本実施形態に係るモデル生成装置1による推定器5の機械学習に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「モデル生成方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0128】
(ステップS121)
ステップS121では、制御部11は、第1データ取得部111として動作し、複数の学習データセット30を取得する。各学習データセット30は、画像データである訓練データ31、及び訓練データ31に含まれる特徴を示す正解データ32の組み合わせにより構成される。
【0129】
各学習データセット30は適宜生成されてよい。例えば、実空間又は仮想空間において、対象の特徴が表れる状態で背景と共にカメラによる撮影を実施することで、訓練データ31が得られてよい。具体例として、製品の外観検査に利用可能な訓練済みの推定器を生成する場合、欠陥を含む又は含まない製品をカメラにより撮影することで、訓練データを得ることができる。そして、取得された訓練データ31に含まれる対象の特徴を推定した結果(正解)を示す情報を、正解データ32として、取得された訓練データ31に関連付ける。対象の特徴を推定する方法は任意に選択されてよい。例えば、特徴の推定はオペレータにより行われてもよい。これにより、各学習データセット30を生成することができる。
【0130】
上記学習用背景データ39等と同様に、各学習データセット30は、コンピュータの動作により自動的に生成されてもよいし、少なくとも部分的にオペレータの操作を含むことで手動で生成されてもよい。また、各学習データセット30の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。一部の学習データセット30がモデル生成装置1により生成され、その他の学習データセット30が1又は複数の他のコンピュータにより生成されてもよい。
【0131】
取得する学習データセット30の件数は任意に選択されてよい。複数の学習データセット30を取得すると、制御部11は、次のステップS122に処理を進める。
【0132】
(ステップS122)
ステップS122では、制御部11は、背景取得部112として動作し、各学習データセット30について、訓練データ31に対する背景データ35を取得する。
【0133】
背景データ35は適宜生成されてよい。本実施形態では、制御部11は、機械学習済みの生成器60及び入力推定器62を利用して、各学習データセット30について、訓練データ31に対する背景データ35を生成することができる。具体的に、制御部11は、各学習データセット30について、機械学習済みの入力推定器62の入力層621に訓練データ31を入力し、入力推定器62の演算処理を実行する。これにより、制御部11は、入力された訓練データ31に写る背景に適合する疑似背景データを生成するために、機械学習済みの生成器60に与える入力値を推定した結果に対応する出力値を機械学習済みの入力推定器62の出力層623から取得することができる。続いて、制御部11は、機械学習済みの入力推定器62により取得された推定値を機械学習済みの生成器60の入力層601に入力し、機械学習済みの生成器60の演算処理を実行する。これにより、制御部11は、推定値から生成された疑似背景データに対応する出力値を機械学習済みの生成器60の出力層603から取得することができる。制御部11は、各学習データセット30について、生成された疑似背景データを、訓練データ31に対する背景データ35として取得してもよい。背景データ35を取得すると、制御部11は、次のステップS123に処理を進める。
【0134】
(ステップS123)
ステップS123では、制御部11は、差分算出部113として動作し、各学習データセット30について、取得された背景データ35及び訓練データ31の差分を算出することで、差分データ37を生成する。差分データ37を生成すると、制御部11は、次のステップS124に処理を進める。
【0135】
なお、背景データ35に基づいて訓練データ31に含まれる背景に関する情報を低減可能であれば、差分計算の方法は、特に限定されなくてもよく、実施の形態に応じて適宜に決定されてよい。一例として、制御部11は、訓練データ31と背景データ35との間で同一の位置の各画素の値を比較し、同じ値である場合に「0」にし、異なる値である場合に訓練データ31の画素値をそのまま採用することで、差分データ37を生成してもよい。
【0136】
その他の例として、制御部11は、訓練データ31と背景データ35との間で同一の位置の各画素同士の値を単純に差分してもよい。この単純な差分計算では、背景データ35と訓練データ31とのわずかな背景の相違が差分データ37に残存する可能性がある。特に、上記機械学習済みの生成器60により背景データ35を生成した場合にはその可能性が高い。そこで、これに対応するために、制御部11は、得られた差分データ37を二値化してもよい。例えば、差分データ37の画素値が0~255の間で表現される場合には、制御部11は、訓練データ31及び背景データ35の間で算出された各画素の値の差分を閾値と比較してもよい。閾値は任意に決定されてよい。そして、制御部11は、差分が閾値より小さい画素の値を「0」にし、差分が閾値よりも大きい画素の値を「255」とすることで、差分データ37を生成してもよい。
【0137】
図9は、訓練データ31及び背景データ35の差分を算出する更にその他の方法の一例を模式的に例示する。この方法では、制御部11は、訓練データ31の各画素311の対象領域315と背景データ35の対応する各画素351の対応領域355との間の相関性を算出する。対象領域315は、訓練データ31における対象の画素311及び対象の画素311の周囲に存在する画素312を含む。対象領域315は、画素311毎に定義される。図9の例では、対象領域315は、対象の画素311及び対象の画素311の周囲に存在する8つの画素312を全て含むことで、3×3のサイズを有している。ただし、対象領域315のサイズ及び形状は、このような例に限定されなくてもよく、対象の画素311の周囲に存在する少なくとも1つの画素312を含むものであれば、任意に決定されてよい。対応領域355は、対象の画素311に対応する画素351及び画素351の周囲に存在する画素352を含む。対応する画素351は、対象の画素311と同一の位置に存在する。対応領域355は、対象領域315と同一の位置及び範囲に定義される。相関性の計算には、相関係数を計算する方法等の公知の計算方法が採用されてよい。
【0138】
そして、制御部11は、対象領域315及び対応領域355の間で算出された相関性に基づいて、訓練データ31の各画素311と背景データ35の対応する各画素351との差分を算出する。すなわち、制御部11は、算出された相関性に応じて、対象の画素311及び対応する画素351の間の差分結果を決定する。算出される相関性が高いほど、対象の画素311及び対応する画素351は互いに同じ背景の像を写しており、算出される相関性が低いほど、対象の画素311は、対応する画素351と異なる像(すなわち、対象の特徴等の背景以外の像)を写していることを示す。この観点に基づいて、算出される相関性と差分結果との間の関係は任意に規定されてよい。例えば、制御部11は、算出された相関性の値と閾値とを比較し、相関性の値が閾値よりも低い場合に、各画素311の値をそのまま採用し、相関性の値が閾値よりも高い場合に、対象の画素の値を「0」にすることで、差分データ37を生成してもよい。閾値は任意に決定されてよい。この方法によれば、背景データ35と訓練データ31との間で背景がわずかに相違する場合の他、背景データ35と訓練データ31との間で背景が、相関性を算出する範囲でずれている場合でも、背景に関する情報が差分データ37に残存するのを低減することができる。
【0139】
(ステップS124)
ステップS124では、制御部11は、第1訓練部114として動作し、生成された差分データ37を使用して、推定器5の機械学習を実施する。当該機械学習では、制御部11は、各学習データセット30について、生成された差分データ37から推定器5により特徴を推定した結果が正解データ32に適合するように推定器5を訓練する。
【0140】
一例として、まず、制御部11は、各学習データセット30について、生成された差分データ37を推定器5の入力層51に入力し、推定器5の演算処理を実行する。これにより、制御部11は、差分データ37に含まれる対象の特徴を推定した結果に対応する出力値を推定器5の出力層53から取得する。制御部11は、出力層53から得られる出力値と対応する正解データ32との誤差を算出する。上記ステップS1021等と同様に、誤差の算出には、任意の損失関数が用いられてよい。
【0141】
制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、推定器5の各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、推定器5の各演算パラメータの値を更新する。上記ステップS1021等と同様に、各演算パラメータの値を更新する程度は、学習率により調節されてよい。
【0142】
制御部11は、上記一連の更新処理により、算出される誤差の和が小さくなるように、推定器5の各演算パラメータの値を調節する。上記ステップS1021等と同様に、制御部11は、所定の条件を満たすまで、上記一連の処理による推定器5の各演算パラメータの値の調節を繰り返してもよい。
【0143】
この機械学習により、推定器5は、各学習データセット30について、差分データ37から対象の特徴を適切に推定可能に訓練される。そのため、当該機械学習の結果、背景差分により得られる画像データが与えられると、与えられた画像データに表れる対象の特徴を推定する能力を獲得した訓練済みの推定器5を構築することができる。推定器5の機械学習が完了すると、制御部11は、次のステップS125に処理を進める。
【0144】
(ステップS125)
ステップS125では、制御部11は、保存処理部119として動作し、機械学習により構築された訓練済みの推定器5に関する情報を第1学習結果データ121として生成する。そして、制御部11は、生成された第1学習結果データ121を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
【0145】
これにより、第1学習結果データ121の保存が完了すると、制御部11は、推定器5の機械学習に関する一連の処理を終了する。なお、上記第2学習結果データ122等と同様に、生成された第1学習結果データ121は、任意のタイミングで推定装置2に提供されてよい。また、上記ステップS121~ステップS125の処理が定期又は不定期に繰り返されてよい。そして、更新又は新たに生成された第1学習結果データ121が任意の方法で推定装置2に提供されることで、推定装置2の保持する第1学習結果データ121が更新されてもよい。
【0146】
[推定装置]
図10は、本実施形態に係る推定装置2の処理手順の一例を示すフローチャートである。以下で説明する処理手順は、推定方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0147】
(ステップS201)
ステップS201では、制御部21は、データ取得部211として動作し、対象画像データ41を取得する。
【0148】
対象画像データ41は、推定タスクを遂行する対象となる画像データのサンプルである。対象画像データ41は任意の方法で取得されてよい。例えば、対象の特徴に関する撮影をカメラにより行うことで、対象画像データ41を取得することができる。カメラの種類は任意に選択されてよい。また、対象画像データ41は、静止画像及び動画像のいずれであってもよい。対象画像データ41を取得すると、制御部21は、次のステップS202に処理を進める。
【0149】
(ステップS202)
ステップS202では、制御部21は、背景取得部212として動作し、対象画像データ41に対応する対象背景データ45を取得する。
【0150】
対象背景データ45は適宜生成されてよい。対象背景データ45は、上記ステップS122の背景データ35と同様の方法で生成されてよい。本実施形態では、制御部21は、第2学習結果データ122及び第3学習結果データ123を参照することで、機械学習済みの生成器60及び入力推定器62の設定を行ってもよい。そして、制御部21は、訓練データ31を対象画像データ41に置き換えて、上記ステップS122と同様の演算処理を実行することにより、機械学習済みの生成器60及び入力推定器62を利用して、対象画像データ41に対応する対象背景データ45を取得してもよい。対象背景データ45を取得すると、制御部21は、次のステップS203に処理を進める。
【0151】
(ステップS203)
ステップS203では、制御部21は、差分算出部213として動作し、対象画像データ41と対象背景データ45との差分を取ることで、対象差分データ47を生成する。対象背景データ45に基づいて対象画像データ41に含まれる背景に関する情報を低減可能であれば、本ステップS203の差分計算の方法は任意に決定されてよい。本ステップS203の差分計算の方法は、上記ステップS123と同様であってよい。対象差分データ47を生成すると、制御部21は、次のステップS204に処理を進める。
【0152】
(ステップS204)
ステップS204では、制御部21は、推定部214として動作し、機械学習済みの推定器5を利用して、生成された対象差分データ47に含まれる特徴を推定する。本実施形態では、制御部21は、第1学習結果データ121を参照して、機械学習済みの推定器5の設定を行う。制御部21は、生成された対象差分データ47を機械学習済みの推定器5の入力層51に入力し、機械学習済みの推定器5の演算処理を実行する。これにより、制御部21は、対象差分データ47に含まれる対象の特徴を推定した結果に対応する出力値を機械学習済みの推定器5の出力層53から取得することができる。すなわち、本実施形態では、対象画像データ41に含まれる特徴を推定することは、対象差分データ47を機械学習済みの推定器5に与えて、機械学習済みの推定器5の演算結果を取得することにより達成される。対象の特徴に関する推定処理が完了すると、制御部21は、次のステップS205に処理を進める。
【0153】
(ステップS205)
ステップS205では、制御部21は、出力部215として動作し、対象の特徴を推定した結果に関する情報を出力する。
【0154】
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、ステップS204の推定結果をそのまま出力装置26に出力してもよい。また、例えば、制御部21は、対象の特徴を推定した結果に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を、推定の結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、推定結果に応じて特定のメッセージを出力すること、推定結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置26、他のコンピュータの出力装置、制御対象装置等であってよい。
【0155】
推定結果に関する情報の出力が完了すると、制御部21は、本動作例に係る処理手順を終了する。なお、所定期間の間、制御部21は、ステップS201~ステップS205の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、任意であってよい。これにより、推定装置2は、対象の特徴に関する推定タスクを継続的に実施してもよい。
【0156】
[特徴]
以上のとおり、本実施形態では、上記ステップS123及ぶステップS124により、推定器5は、背景データ35の情報が除外された訓練データ31(差分データ37)から、正解データ32のとおりに対象の特徴を推定するように訓練される。その結果、機械学習済みの推定器5は、差分計算で除外された背景データ35の情報を利用せずに、対象の特徴に関する推定タスクを遂行する能力を獲得することができる。すなわち、対象の特徴に関する推定タスクを訓練済みの推定器5により遂行する際に、背景データ35に対応する情報が考慮されないようにすることができる。したがって、本実施形態に係るモデル生成装置1によれば、画像データに含まれる対象の特徴に関する推定タスクを遂行可能な訓練済みの推定器5であって、背景の相違に対してロバストな訓練済みの推定器5を生成することができる。また、本実施形態に係る推定装置2では、上記ステップS204において、生成された訓練済みの推定器5を利用することで、背景の相違に対してロバストに対象の特徴に関する推定タスクを遂行することができる。
【0157】
また、ステップS121及びステップS201で取得される訓練データ31及び対象画像データ41において、例えば、撮影箇所がずれる等に起因して、同一種の背景であってもばらつきが生じる可能性がある。これに対して、本実施形態では、ステップS101~ステップS103の処理により、背景データを生成するための機械学習済みの生成器60を構築することができる。この機械学習済みの生成器60を利用することで、同一種の背景にばらつきが生じる場合でも、ステップS122及びステップS202において、訓練データ31及び対象画像データ41それぞれに対応する背景データ35及び対象背景データ45を適切に生成することができる。そのため、背景データ35及び対象背景データ45それぞれを用意するコストを低減することができる。また、ステップS124において、背景の相違に対してロバストな訓練済みの推定器5を適切に生成することができる。ステップS204では、背景の相違に対してロバストに対象の特徴に関する推定タスクを遂行することができる。
【0158】
[実施例]
上記効果を検証するために、実施例及び比較例に係る機械学習済みの推定器を構築した。ただし、本発明は、以下の実施例に限定されるものではない。
【0159】
まず、MNIST(Modified National Institute of Standards and Technology)の画像(28×28、グレースケール、0~9の手書き文字)及び5種類の背景テクスチャを用意した。用意したMNISTの画像及び背景テクスチャを合成することで、機械学習に使用する訓練データ及び評価に使用するテストデータを作成した。5種類のうち4種類の背景テクスチャは縞模様のパターンを有し、MNISTの画像との合成の際に、ランダムにそのパターンの位置を変更した。作成した訓練データの件数は60000件であり、テストデータの件数は10000件であった。作成した訓練データには、合成した文字(0~9)を示す正解データを関連付けることで、学習データセットを用意した。また、上記実施形態と同様の方法により、背景テクスチャを生成するための機械学習済みの生成器を作成した。
【0160】
実施例では、上記実施形態と同様の方法により、機械学習済みの生成器により生成された背景データと訓練データとの差分を算出することで、差分データを生成した。そして、生成された差分データを使用して、文字を識別するように訓練された機械学習済みの推定器を構築した。この機械学習済みの推定器の評価時には、上記実施形態に係る推定装置2と同様の方法により、機械学習済みの生成器により生成された背景データとテストデータとの差分を算出することで、対象差分データを生成した。そして、機械学習済みの推定器により、対象差分データに対して文字を識別するタスクを遂行した。一方、比較例では、背景を除去せずに、訓練データをそのまま使用して、文字を識別するように訓練された機械学習済みの推定器を構築した。評価時には、機械学習済みの推定器により、テストデータに対して文字を識別するタスクを遂行した。なお、実施例及び比較例それぞれでは、線形識別モデル、4層のMLP(Multilayer perceptron)、及び畳み込みニューラルネットワークの3種類の推定器を用意した。
【0161】
【表1】
表1は、実施例及び比較例それぞれにおけるテストデータに対する文字識別の正答率を示す。表1に示されるとおり、いずれのモデルを推定器に用いた場合でも、比較例よりも実施例の性能の方が良かった。特に、線形識別モデル及び4層MLPのような単純なモデルを利用したケースで、機械学習済みの推定器の性能を飛躍的に向上させることができた。この結果から、本発明によれば、背景の相違に対してロバストな訓練済みの推定器を構築可能であることが検証することができた。
【0162】
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【0163】
<4.1>
上記実施形態に係る推定システム100は、画像データに対して対象の特徴に関する推定タスクの遂行するあらゆる場面に適用されてよい。例えば、上記実施形態に係る推定システム100は、画像データの前景に含まれる特徴を推定する場面に適用可能である。前景は、背景と区別して画像データから抽出可能な任意の成分により構成されてよい。特徴は、前景から直接的又は間接的に導出可能な何らかの情報であってよい。前景に含まれる特徴を推定することは、例えば、画像データに写る対象物の属性を推定することにより構成されてよい。この場合、対象物の属性の導出に関与する成分が、前景の一例である。前景の範囲は、対象物の属性を導出可能に適宜決定されてよい。例えば、前景は、対象物の写る範囲であってよい。或いは、前景は、対象物及び対象物の周囲を含む範囲であってよい。或いは、前景は、推定対象の属性の表れる対象物の一部の範囲であってもよい。以下、適用場面を限定した変形例を例示する。
【0164】
(A)外観検査の場面
図11は、第1変形例に係る検査システム100Aの適用場面の一例を模式的に例示する。本変形例は、製品の写る画像データを利用して、製品の外観検査を実施する場面に上記実施形態を適用した例である。本変形例に係る検査システム100Aは、モデル生成装置1及び検査装置2Aを備えている。上記実施形態と同様に、モデル生成装置1及び検査装置2Aは、ネットワークを介して互いに接続されてよい。
【0165】
本変形例では、製品RAの写る画像データP10が訓練データ及び対象画像データとして取り扱われる。画像データP10は、カメラSAにより製品RAを撮影することにより得られてよい。推定タスクの対象となる特徴は、製品RAの欠陥P12に関するものであってよい。背景P11は、コンベアのシード等の製品RA以外の部分であってよい。背景P11は、例えば、異常のない製品RAの外装の写る部分等の、欠陥P12以外の製品RAの写る部分を含んでもよい。これらの限定を除き、本変形例に係る検査システム100Aは、上記実施形態に係る推定システム100と同様に構成されてよい。
【0166】
なお、製品RAは、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等であってよい。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等であってよい。薬品は、例えば、包装済みの錠剤、未包装の錠剤等であってよい。製品RAは、製造過程完了後に生成される最終品であってもよいし、製造過程の途中で生成される中間品であってもよいし、製造過程を経過する前に用意される初期品であってもよい。欠陥P12は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。欠陥P12に関する推定は、例えば、製品RAに欠陥P12が含まれるか否かを判定すること、製品RAに欠陥P12が含まれる確率を判定すること、製品RAに含まれる欠陥P12の種類を識別すること、製品RAに含まれる欠陥P12の範囲を特定すること又はこれらの組み合わせにより表現されてよい。
【0167】
(モデル生成装置)
本変形例では、モデル生成装置1は、上記ステップS101において、背景P11の写る学習用背景データ39を取得する。そして、モデル生成装置1は、ステップS102及びステップS103の処理を実行することで、背景P11の写る疑似背景データを生成する能力を獲得した機械学習済みの生成器60を生成し、第2学習結果データ122を所定の記憶領域に保存する。モデル生成装置1は、上記ステップS111~ステップS113の処理を実行することで、機械学習済みの入力推定器62を生成し、第3学習結果データ123を所定の記憶領域に保存する。
【0168】
また、モデル生成装置1は、上記ステップS121において、製品RAの写る訓練データ31、及び訓練データ31に写る製品RAの欠陥P12に関する情報(正解)を示す正解データ32の組み合わせによりそれぞれ構成される複数の学習データセット30を取得する。欠陥P12に関する情報は、例えば、欠陥P12の有無、欠陥P12の種別、欠陥P12の存在する範囲等の情報を含んでよい。モデル生成装置1は、上記ステップS122~ステップS125の処理を実行することで、欠陥P12に関する推定を遂行する能力を獲得した機械学習済みの推定器5を生成し、第1学習結果データ121を所定の記憶領域に保存する。生成された第1~第3学習結果データ121~123は、任意のタイミングで検査装置2Aに提供されてよい。
【0169】
(検査装置)
図12Aは、本変形例に係る検査装置2Aのハードウェア構成の一例を模式的に例示する。図12Aに示されるとおり、本変形例に係る検査装置2Aは、上記推定装置2と同様に、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータにより構成されてよい。
【0170】
本変形例では、記憶部22は、検査プログラム82A、第1~第3学習結果データ121~123等の各種情報を記憶する。検査プログラム82Aは、上記実施形態に係る推定プログラム82に対応する。検査プログラム82A及び第1~第3学習結果データ121~123の少なくともいずれかは記憶媒体92に記憶されていてもよい。また、本変形例では、検査装置2Aは、外部インタフェース24を介して、カメラSAに接続される。カメラSAは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。カメラSAは、製品RAを撮影可能な場所に適宜配置されてよい。例えば、カメラSAは、製品RAを搬送するコンベア装置の近傍に配置されてよい。
【0171】
なお、検査装置2Aのハードウェア構成は、このような例に限定されなくてもよい。検査装置2Aの具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。検査装置2Aは、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、PLC等であってもよい。
【0172】
図12Bは、本変形例に係る検査装置2Aのソフトウェア構成の一例を模式的に例示する。上記実施形態と同様に、検査装置2Aのソフトウェア構成は、制御部21による検査プログラム82Aの実行により実現される。取り扱われるデータが上記のように限定される点を除き、検査装置2Aのソフトウェア構成は、上記推定装置2と同様である。検査部214Aは、上記推定部214に対応する。これにより、検査装置2Aは、上記推定装置2の推定処理と同様に、外観検査に関する一連の情報処理を実行することができる。
【0173】
すなわち、ステップS201では、制御部21は、検査対象の製品RAの写る対象画像データ41Aを取得する。ステップS202では、制御部21は、対象画像データ41Aに対応する対象背景データ45Aを取得する。本変形例では、制御部21は、機械学習済みの生成器60及び入力推定器62を利用することで、対象画像データ41Aに写る背景P11に適合する対象背景データ45Aを取得することができる。ステップS203では、制御部21は、対象画像データ41Aと対象背景データ45Aとの差分を取ることで、対象差分データ47Aを生成する。ステップS204では、制御部21は、検査部214Aとして動作し、生成された対象差分データ47Aを機械学習済みの推定器5に与えて、機械学習済みの推定器5の演算処理を実行する。これにより、制御部21は、対象画像データ41Aに写る製品RAの欠陥P12について推定した結果に対応する出力値を機械学習済みの推定器5から取得する。
【0174】
ステップS205では、制御部21は、製品RAの欠陥P12について推定した結果に関する情報を出力する。例えば、制御部21は、製品RAの欠陥P12について推定した結果をそのまま出力装置26に出力してもよい。また、例えば、製品RAに欠陥P12が含まれると判定した場合、制御部21は、そのことを知らせるための警告を出力装置26に出力してもよい。また、例えば、製品RAを搬送するコンベア装置に検査装置2Aが接続される場合、制御部21は、欠陥P12について推定した結果に基づいて、欠陥P12のある製品RAと欠陥P12のない製品RAとを別のラインで搬送されるようにコンベア装置を制御してもよい。
【0175】
(特徴)
本変形例によれば、モデル生成装置1の機械学習により、差分計算で除外された背景P11に関する情報を利用せずに、欠陥P12に関する推定タスクを遂行するように推定器5を訓練することができる。よって、背景P11の相違に対してロバストに欠陥P12に関する推定タスクを遂行可能な機械学習済みの推定器5を生成することができる。本変形例に係る検査装置2Aでは、この機械学習済みの推定器5を利用することで、欠陥P12に関する推定タスク(すなわち、外観検査)が高精度に遂行されることを期待することができる。
【0176】
(その他)
上記第1変形例において、製品RAは、対象物の一例であり、欠陥P12に関する情報は、対象物の属性の一例である。対象物及びその属性は、製品RA及び欠陥P12に関する情報に限られなくてもよく、実施の形態に応じて適宜選択されてよい。すなわち、上記実施形態に係る推定システム100は、画像データに表れる任意の対象物の属性を推定する様々な場面に適用されてよい。この場合、推定システム100では、対象物の写る画像データが訓練データ31及び対象画像データ41として取り扱われてよい。対象の特徴は、対象物の属性に関するものであってよい。これにより、背景の相違に対してロバストに対象物の属性に関する推定タスクを遂行可能な機械学習済みの推定器5を生成することができる。
【0177】
また、製品RA以外の部分を背景P11と捉えた場合、製品RAの写る部分は、前景の一例である。或いは、製品RAの欠陥P12以外の部分を背景P11と捉えた場合、欠陥P12の写る範囲が、前景の一例である。前景及び背景は、このような例に限られなくてもよく、実施の形態に応じて適宜選択されてよい。すなわち、上記実施形態に係る推定システム100は、画像データに写る任意の前景に含まれる特徴に関する推定を行う様々な場面に適用されてよい。この場合、所定種類のデータは、前景及び背景を含む画像データであってよい。この場合、前景及び背景の写る画像データが訓練データ31及び対象画像データ41として取り扱われてよい。対象の特徴は、前景に関するものであってよい。前景には、画像データから抽出可能な任意の要素が選択されてよい。これにより、背景の相違に対してロバストに前景に関する推定タスクを遂行可能な機械学習済みの推定器5を生成することができる。
【0178】
(B)ナンバープレートの記号を識別する場面
図13は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図13に例示される識別システムは、モデル生成装置1及び識別装置2Bを備えている。識別装置2Bは、上記検査装置2Aに対応する。識別装置2Bの構成は、上記検査装置2Aと同様であってよい。図13の例では、ナンバープレートRBの写る画像データが訓練データ及び対象画像データとして取り扱われてよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSBが用いられてよい。
【0179】
この場合、推定タスクの対象となる特徴は、ナンバープレートRBに付与された記号P20に関するものであってよい。ナンバープレートRBは、対象物の一例である。背景は、記号P20以外の領域であってよい。前景は、記号P20の写る領域であってよい。記号P20は、例えば、数字、文字、マーク、図形、又はこれらの組み合わせにより構成されてよい。ナンバープレートRBの背景には、模様、図柄等の装飾が施されていてもよい。対象の特徴に関する推定は、記号P20を識別することであってよい。
【0180】
これにより、モデル生成装置1は、背景の相違に対してロバストにナンバープレートRBに付与された記号P20を識別可能な機械学習済みの推定器5を生成することができる。識別装置2Bは、上記検査装置2Aと同様の手順により、対象画像データに写るナンバープレートRBの記号P20を識別することができる。本変形例に係る識別システムは、ナンバープレートRBの記号P20を識別するあらゆる場面に利用されてよい。例えば、本変形例に係る識別システムは、道路を走行する車両を監視するための監視カメラにより得られる画像データから当該道路を走行する車両を識別するために利用されてよい。
【0181】
なお、道路を走行する車両を監視する場面では、識別装置2Bは、上記ステップS201~ステップS204の処理により、時系列に得られる対象画像データに対してナンバープレートRBの記号P20を識別してもよい。そして、識別装置2Bは、上記ステップS205の処理により、記号P20に基づいて対象の道路を走行する車両を識別した結果を時系列に示す履歴情報を作成してもよい。
【0182】
(C)製品の包装に付与された記号を識別する場面
図14は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図14に例示される識別システムは、モデル生成装置1及び識別装置2Cを備えている。識別装置2Cは、上記検査装置2Aに対応する。識別装置2Cの構成は、上記検査装置2Aと同様であってよい。図14の例では、製品の包装RCの写る画像データが訓練データ及び対象画像データとして取り扱われてよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSCが用いられてよい。
【0183】
この場合、推定タスクの対象となる特徴は、包装RCに付与された記号P30に関するものであってよい。包装RCは、対象物の一例である。背景は、記号P30以外の領域であってよい。前景は、記号P30の写る領域であってよい。記号P30は、例えば、数字、文字、マーク、図形、コード、又はこれらの組み合わせにより構成されてよい。コードは、例えば、一次元コード、二次元コード等であってよい。包装RCの背景には、模様、図柄等の装飾が施されていてもよい。対象の特徴に関する推定は、記号P30を識別することであってよい。
【0184】
これにより、モデル生成装置1は、背景の相違に対してロバストに包装RCに付与された記号P30を識別可能な機械学習済みの推定器5を生成することができる。識別装置2Cは、上記検査装置2Aと同様の手順により、対象画像データに写る包装RCに付与された記号P30を識別することができる。本変形例に係る識別システムは、包装RCに付与された記号P30を識別するあらゆる場面に利用されてよい。例えば、本変形例に係る識別システムは、製造ラインで搬送される製品を識別するために利用されてよい。
【0185】
(D)移動体の属性を推定する場面
図15は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図15に例示される監視システムは、モデル生成装置1及び監視装置2Dを備えている。監視装置2Dは、上記検査装置2Aに対応する。監視装置2Dの構成は、上記検査装置2Aと同様であってよい。図15の例では、移動体RDの存在し得る範囲を撮影することで得られた画像データが訓練データ及び対象画像データとして取り扱われてよい。画像データの取得には、監視対象の範囲を撮影するように配置されたカメラSDが用いられてよい。監視対象の範囲は、例えば、道路、建物内等の任意の場所から決定されてよい。監視装置2Dは、例えば、ネットワーク等を介して、カメラSDに適宜接続されてよい。これにより、監視装置2Dは、監視対象の範囲の写る画像データを取得することができる。
【0186】
この場合、推定タスクの対象となる特徴は、移動体RDの属性に関するものであってよい。移動体RDは、対象物の一例である。移動体RDの属性は、例えば、移動体RDの写る範囲(バウンディングボックス)、移動体RDの識別情報、移動体RDの状態等を含んでもよい。移動体RDの状態は、例えば、位置、数、混み具合(混雑度、密度)、速度、加速度等を含んでもよい。その他、移動体RDの状態は、例えば、事故、犯罪等の危険に移動体RDが遭遇する可能性(危険度)を含んでもよい。移動体RDの遭遇し得る危険の種類は任意に決定されてよい。更にその他、移動体RDが人物である場合、移動体RDの識別情報は、例えば、人物の識別子、名前、性別、年齢、体格等を含んでもよい。また、移動体RDの状態は、例えば、人物の行動、人物の姿勢等を含んでもよい。背景は、例えば、道路、建物等の移動体RD以外の対象物が写る領域であってよい。前景は、移動体RDの写る領域であってよい。或いは、前景は、移動体RD及び移動体RDの周囲を含む領域であってよい。この場合、背景は、移動体RDの周囲より外側の領域であってよい。
【0187】
これにより、モデル生成装置1は、背景の相違に対してロバストに移動体RDの属性を推定可能な機械学習済みの推定器5を生成することができる。監視装置2Dは、上記検査装置2Aと同様の手順により、カメラSDの撮影範囲における移動体RDの属性を推定することができる。本変形例に係る監視システムは、移動体RDを監視するあらゆる場面に利用されてよい。例えば、本変形例に係る監視システムは、道路、建物内の移動体RDの混雑度を監視する場面、駅のホームから人物が転落する予兆を監視する場面、道路を歩行する人物が犯罪に遭遇する予兆を監視する場面等に利用されてよい。なお、推定結果を出力する形態は任意に決定されてよい。例えば、移動体RDの危険度を推定する場面では、監視装置2Dは、上記ステップS205において、推定される危険度に応じた警告を出力してもよい。
【0188】
(E)運転者の状態を監視する場面
図16は、画像データに写る対象物の属性を推定する他の場面の一例を模式的に例示する。図16に例示される監視システムは、モデル生成装置1及び監視装置2Eを備えている。監視装置2Eは、上記検査装置2Aに対応する。監視装置2Eの構成は、上記検査装置2Aと同様であってよい。図16の例では、運転者REの写る画像データが訓練データ及び対象画像データとして取り扱われてよい。この画像データの取得には、上記検査システム100Aと同様に、カメラSEが用いられてよい。カメラSEは、運転席に存在すると仮定される運転者REを撮影するように適宜配置されてよい。
【0189】
この場合、推定タスクの対象となる特徴は、運転者REの状態に関するものであってよい。運転者REは、対象物の一例である。運転者REの状態は、例えば、健康状態、眠気度、疲労度、余裕度等を含んでよい。健康状態は、例えば、所定の疾患を発症する確率、体調変化が生じる確率等により表現されてよい。眠気度は、運転者REの眠気の度合いを示す。疲労度は、運転者REの疲労の度合いを示す。余裕度は、運転者REの運転に対する余裕の度合を示す。背景は、例えば、車内風景等の運転者REの状態に関与する領域以外の領域であってよい。前景は、運転者REの状態に関与する領域であってよい。運転者REの状態に関与する領域は、例えば、運転者REの写る領域、運転者REの周囲を更に含む領域、運転者REの一部(例えば、任意の身体部位)の写る領域、運転に関するツール(ハンドル等)の写る領域等であってよい。
【0190】
これにより、モデル生成装置1は、背景の相違に対してロバストに運転者REの状態を推定可能な機械学習済みの推定器5を生成することができる。監視装置2Eは、上記検査装置2Aと同様の手順により、対象画像データに写る運転者REの状態を推定することができる。本変形例に係る監視システムは、運転者REの状態を監視するあらゆる場面に利用されてよい。更に、本変形例に係る監視システムは、運転者RE以外の対象者にも利用されてよい。運転者RE以外の例として、対象者は、例えば、オフィス、工場等で作業を行う作業者であってよい。
【0191】
なお、上記ステップS205において、運転者REの状態を推定した結果を出力する形態は任意に決定されてよい。一例として、眠気度及び疲労度の少なくとも一方を推定した場合、監視装置2Eは、推定された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、監視装置2Eは、駐車場等に車両を停車し、休憩を取るように運転者REに促す警告を出力装置に出力してもよい。このように、監視装置2Eは、推定される運転者REの状態に応じて、警告等の特定のメッセージを出力装置に出力してもよい。
【0192】
その他の例として、自動運転の動作を制御する制御装置(不図示)を車両が備えている場合、監視装置2Eは、運転者REの状態を推定した結果に基づいて、車両の自動運転の動作を指示するための指令を制御装置に送信してもよい。具体例として、制御装置が、車両の走行を制御する自動運転モード及び運転者REの操舵により車両の走行を制御する手動運転モードの切り替え可能に構成されていると想定する。このケースにおいて、自動運転モードで車両が走行しており、自動運転モードから手動運転モードへの切り替えを運転者RE又はシステムから受け付けた際に、監視装置2Eは、推定された運転者REの余裕度が閾値を超えているか否かを判定してもよい。そして、運転者REの余裕度が閾値を超えている場合に、監視装置2Eは、自動運転モードから手動運転モードへの切り替えを許可する指令を制御装置に送信してもよい。一方、運転者REの余裕度が閾値以下である場合には、監視装置2Eは、自動運転モードから手動運転モードへの切り替えを許可しない通知を制御装置に送信し、自動運転モードでの走行を維持するようにしてもよい。
【0193】
また、手動運転モードで車両が走行している際に、監視装置2Eは、推定された眠気度及び疲労度の少なくとも一方が閾値を超えるか否かを判定してもよい。そして、眠気度及び疲労度の少なくとも一方が閾値を超えている場合に、監視装置2Eは、手動運転モードから自動運転モードに切り替えて、駐車場等の安全な場所に停車するように指示する指令を制御装置に送信してもよい。一方で、そうではない場合には、監視装置2Eは、手動運転モードによる車両の走行を維持するようにしてもよい。
【0194】
また、手動運転モードで車両が走行している際に、監視装置2Eは、推定された余裕度が閾値以下であるか否かを判定してもよい。そして、余裕度が閾値以下である場合に、監視装置2Eは、減速する指令を制御装置に送信してもよい。一方で、そうではない場合には、監視装置2Eは、運転者REの操作による車両の走行を維持してもよい。なお、車両の制御装置と監視装置2Eとは一体のコンピュータにより構成されてよい。
【0195】
<4.2>
上記実施形態では、ステップS122及びステップS202において、機械学習済みの生成器60を利用して、背景データ35及び対象背景データ45を取得可能である。しかしながら、各背景データ(35、45)を取得する方法は、このような例に限定されなくてもよい。例えば、各背景データ(35、45)として利用可能な背景データが予め用意されてよい。この場合、背景データは、記憶部(12、22)、記憶媒体(91、92)、外部記憶装置等に記憶されていてよい。上記ステップS122及びステップS202では、予め用意された背景データから、訓練データ31及び対象画像データ41それぞれと同種の背景の写る背景データが各背景データ(35、45)として適宜選択されてよい。一例として、利用する背景データは、オペレータにより選択されてよい。或いは、訓練データ31及び対象画像データ41それぞれと最も類似する背景データが各背景データ(35、45)として選択されてよい。
【0196】
<4.3>
上記実施形態では、生成器60の訓練に識別器61が利用されている。モデル生成装置1は、生成器60及び識別器61の間で敵対的学習を実施することで、学習用背景データ39に適合する疑似背景データ633を生成する能力を獲得した機械学習済みの生成器60を構築する。しかしながら、機械学習済みの生成器60を生成する方法は、学習用背景データ39により与えられる背景の写る疑似背景データを生成するように生成器60を訓練可能であれば、このような例に限定されなくてもよい。
【0197】
図17は、本変形例に係る生成器60Zの構成の一例を模式的に例示する。本変形例では、生成器60Zは、エンコーダ67と共に訓練される。エンコーダ67は、画像データを特徴量に変換するように構成される。生成器60Zは、特徴量から画像データを復元するよう構成されたデコーダとして動作する。エンコーダ67により得られる特徴量は、上記実施形態におけるノイズ(潜在変数)に対応する。エンコーダ67は、上記入力推定器62に対応する。特徴量の形式は、特に限定されなくてよく、任意に決定されてよい。
【0198】
エンコーダ67及び生成器60Zはそれぞれ、機械学習モデルにより構成される。それぞれを構成する機械学習モデルの種類は任意に選択されてよい。上記実施形態と同様に、エンコーダ67及び生成器60Zには、ニューラルネットワークが用いられてよい。エンコーダ67及び生成器60Zにニューラルネットワークが用いられる場合、モデル生成装置1は、上記ステップS102において、以下のとおり、機械学習を実施することができる。
【0199】
すなわち、制御部11は、学習用背景データ39をエンコーダ67に入力し、エンコーダ67の演算処理を実行する。これにより、制御部11は、学習用背景データ39を特徴量に変換した結果に対応する出力値をエンコーダ67から取得する。次に、制御部11は、エンコーダ67から得られた特徴量を生成器60Zに入力し、生成器60Zの演算処理を実行する。これにより、制御部11は、特徴量から復元された復元背景データ633Zに対応する出力値を生成器60Zから取得する。
【0200】
制御部11は、得られた復元背景データ633Zと学習用背景データ39との誤差を算出する。制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、エンコーダ67及び生成器60Zの各演算パラメータの値の誤差を算出する。制御部11は、算出された各誤差に基づいて、エンコーダ67及び生成器60Zの各演算パラメータの値を更新する。制御部11は、当該一連の更新処理により、算出される誤差の和が小さくなるように、エンコーダ67及び生成器60Zの各演算パラメータの値を調節する。なお、上記更新処理の他に、制御部11は、エンコーダ67から得られる特徴量と所定の確率分布(例えば、ガウス分布等)から得られる値との誤差を算出し、当該誤差の和が小さくなるようにエンコーダ67の各演算パラメータの値を更に調節してもよい。これにより、制御部11は、エンコーダ67の出力値を正規化してもよい。
【0201】
以上の機械学習により、背景に応じて画像データを適切な特徴量に変換する能力を獲得した訓練済みのエンコーダ67を構築することができる。これと共に、対応する背景の写る疑似背景データを特徴量から生成する能力を獲得した訓練済みの生成器60Zを構築することができる。この場合、機械学習済みのエンコーダ67を上記機械学習済みの入力推定器62として利用可能である。そのため、本変形例では、上記ステップS111~ステップS113の処理は省略されてよい。
【0202】
上記ステップS122では、制御部11は、機械学習済みのエンコーダ67に訓練データ31を与えて、機械学習済みのエンコーダ67及び生成器60Zの演算処理を実行する。これにより、制御部11は、訓練データ31に対応して生成された背景データ35を機械学習済みの生成器60Zから取得することができる。同様に、上記ステップS202では、制御部21は、機械学習済みのエンコーダ67に対象画像データ41を与えて、機械学習済みのエンコーダ67及び生成器60Zの演算処理を実行する。これにより、制御部21は、対象画像データ41に対応して生成された対象背景データ45を機械学習済みの生成器60Zから取得することができる。
【0203】
その他の例として、生成器60の機械学習は、主成分分析により構成されてよい。この場合、機械学習済みの生成器60は、主成分分析により導出される固有ベクトルにより構成されてよい。詳細には、機械学習済みの生成器60は、固有ベクトルUを利用した射影行列「UUT」により構成されてよい。固有ベクトルの各成分が生成器60の演算パラメータの一例である。上記ステップS122及びステップS202では、訓練データ31及び対象画像データ41それぞれを上記射影行列により変換することで、対応する背景データ35及び対象背景データ45を得ることができる。
【0204】
<4.4>
上記実施形態では、推定器5、生成器60、識別器61、及び入力推定器62それぞれには、全結合型のニューラルネットワークが用いられている。しかしながら、それぞれを構成するニューラルネットワークの種類は、このような例に限定されなくてもよい。推定器5、生成器60、識別器61、及び入力推定器62それぞれには、例えば、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等が用いられてよい。
【0205】
また、推定器5、生成器60、識別器61、及び入力推定器62それぞれを構成する機械学習モデルの種類は、ニューラルネットワークに限られなくてもよい。例えば、生成器60は、上記のとおり、固有ベクトルUを利用した射影行列により構成されてよい。また、推定器5、識別器61、及び入力推定器62それぞれには、ニューラルネットワーク以外に、例えば、サポートベクタマシン、回帰モデル、決定木モデル等が用いられてよい。機械学習の方法は、それぞれの機械学習モデルの種類に応じて適宜選択されてよい。
【0206】
また、上記実施形態において、推定器5、生成器60、識別器61、及び入力推定器62それぞれの入力及び出力の形式は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。例えば、生成器60及び識別器61はそれぞれ、背景の種別を示す情報の入力を更に受け付けるように構成されてよい。これにより、機械学習済みの生成器60に与える入力値(背景の種別を示す情報)に応じて、当該機械学習済みの生成器60により生成する疑似背景データに写る背景の種別を制御することができる。
【0207】
また、上記実施形態において、機械学習済みの生成器60及び入力推定器62は、モデル生成装置1以外の他のコンピュータにより生成されてもよい。モデル生成装置1により機械学習済みの生成器60を生成しない場合、モデル生成装置1のソフトウェア構成から第2データ取得部115及び第2訓練部116は省略されてよい。モデル生成装置1の処理手順から上記ステップS101~ステップS103の処理は省略されてよい。また、モデル生成装置1により機械学習済みの入力推定器62を生成しない場合、モデル生成装置1のソフトウェア構成から第3データ取得部117及び第3訓練部118は省略されてよい。モデル生成装置1の処理手順から上記ステップS111~ステップS113の処理は省略されてよい。また、機械学習済みの機械学習モデルに関する情報を保存しない場合には、モデル生成装置1のソフトウェア構成から保存処理部119は省略されてよい。モデル生成装置1の処理手順から上記ステップS103、ステップS113、及びステップS205の処理は省略されてよい。
【符号の説明】
【0208】
1…モデル生成装置、
11…制御部、12…記憶部、
13…通信インタフェース、14…外部インタフェース、
15…入力装置、16…出力装置、17…ドライブ、
111…第1データ取得部、112…背景取得部、
113…差分算出部、114…第1訓練部、
115…第2データ取得部、116…第2訓練部、
117…第3データ取得部、118…第3訓練部、
119…保存処理部、
121…第1学習結果データ、
122…第2学習結果データ、
123…第3学習結果データ、
81…モデル生成プログラム、91…記憶媒体、
2…推定装置、
21…制御部、22…記憶部、
23…通信インタフェース、24…外部インタフェース、
25…入力装置、26…出力装置、27…ドライブ、
211…データ取得部、212……背景取得部、
213…差分算出部、214…推定部、
215…出力部、
82…推定プログラム、92…記憶媒体、
30…学習データセット、
31…訓練データ、32…正解データ、
35…背景データ、37…差分データ、
39…学習用背景データ、
41…対象画像データ、
45…対象背景データ、47…対象差分データ、
5…推定器、
60…生成器、61…識別器、
62…入力推定器
図1
図2
図3
図4A
図4B
図4C
図5
図6A
図6B
図7
図8
図9
図10
図11
図12A
図12B
図13
図14
図15
図16
図17