(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-02
(45)【発行日】2024-05-14
(54)【発明の名称】データ生成方法、データ表示方法、データ生成装置及びデータ表示システム
(51)【国際特許分類】
G06T 11/80 20060101AFI20240507BHJP
G06T 7/00 20170101ALI20240507BHJP
G06T 7/11 20170101ALI20240507BHJP
【FI】
G06T11/80 A
G06T7/00 350C
G06T7/11
(21)【出願番号】P 2019215846
(22)【出願日】2019-11-28
【審査請求日】2022-11-24
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】リ ミンジュン
(72)【発明者】
【氏名】シュ カシュン
(72)【発明者】
【氏名】ジン ヤンハ
(72)【発明者】
【氏名】米辻 泰山
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2016-103759(JP,A)
【文献】特開2019-114176(JP,A)
【文献】国際公開第2018/154827(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00-11/80
(57)【特許請求の範囲】
【請求項1】
1つ以上のプロセッサが、
画像の特徴マップとレイヤ化されたセグメンテーションマップと第1のニューラルネットワークとを用いて、出力画像を生成する、
データ生成方法。
【請求項2】
前記出力画像を生成することは、前記1つ以上のプロセッサが、前記画像を第2のニューラルネットワークに入力することで前記特徴マップを生成すること、を含む、
請求項1に記載のデータ生成方法。
【請求項3】
前記出力画像を生成することは、前記1つ以上のプロセッサが、前記特徴マップと前記セグメンテーションマップとに基づいて他の特徴マップを生成し、前記他の特徴マップを前記第1のニューラルネットワークに入力することで前記出力画像を生成すること、を含む、
請求項1又は請求項2に記載のデータ生成方法。
【請求項4】
前記出力画像を生成することは、前記1つ以上のプロセッサが、前記特徴マップとレイヤ化された他のセグメンテーションマップとに基づいて特徴ベクトルを生成し、前記特徴ベクトルと前記セグメンテーションマップとに基づいて前記他の特徴マップを生成すること、を含む、
請求項3に記載のデータ生成方法。
【請求項5】
前記出力画像を生成することは、前記1つ以上のプロセッサが、前記特徴マップと前記他のセグメンテーションマップとを用いたプーリング処理により前記特徴ベクトルを生成すること、を含む、
請求項4に記載のデータ生成方法。
【請求項6】
前記出力画像を生成することは、前記1つ以上のプロセッサが、前記特徴ベクトルを、前記セグメンテーションマップを用いて展開することによって前記他の特徴マップを生成すること、を含む、
請求項4又は請求項5に記載のデータ生成方法。
【請求項7】
前記セグメンテーションマップは、前記画像又は他の画像から生成されたセグメンテーションマップである、
請求項1乃至請求項6のいずれ一項に記載のデータ生成方法。
【請求項8】
前記1つ以上のプロセッサが、前記画像又は前記他の画像を第3のニューラルネットワークに入力することで前記セグメンテーションマップを生成すること、を更に含む、
請求項7に記載のデータ生成方法。
【請求項9】
前記セグメンテーションマップは、前記画像又は他の画像から生成されたセグメンテーションマップを編集することで生成されたセグメンテーションマップである、
請求項1乃至請求項6のいずれ一項に記載のデータ生成方法。
【請求項10】
前記1つ以上のプロセッサが、ユーザからの編集指示に基づいて、前記セグメンテーションマップを生成すること、を更に含む、
請求項9に記載のデータ生成方法。
【請求項11】
前記他のセグメンテーションマップは、前記画像から生成されたセグメンテーションマップである、
請求項4又は請求項5に記載のデータ生成方法。
【請求項12】
前記1つ以上のプロセッサが、前記画像を第3のニューラルネットワークに入力することで前記他のセグメンテーションマップを生成すること、を更に含む、
請求項11に記載のデータ生成方法。
【請求項13】
前記セグメンテーションマップは、それぞれが眉毛、口、鼻、まつ毛、黒目、白目、服、髪、顔、肌、背景のいずれか1つに対応する複数のレイヤを含む、
請求項1乃至請求項12のいずれ一項に記載のデータ生成方法。
【請求項14】
前記第1のニューラルネットワークは、GANs(Generative Adversarial Networks)に基づく方式で訓練されたものである、
請求項1乃至請求項13のいずれ一項に記載のデータ生成方法。
【請求項15】
前記セグメンテーションマップは、複数のレイヤが重畳された構造を有する、
請求項1乃至請求項14のいずれ一項に記載のデータ生成方法。
【請求項16】
前記セグメンテーションマップは、2つ以上のラベルが付与された画素を有する、
請求項1乃至請求項14のいずれ一項に記載のデータ生成方法。
【請求項17】
前記出力画像は、前記セグメンテーションマップの各画素における最上位のオブジェクトを反映させた画像である、
請求項16に記載のデータ生成方法。
【請求項18】
1つ以上のプロセッサが、
セグメンテーションマップを表示装置に表示することと、
編集対象となる複数のレイヤの情報を前記表示装置に表示することと、
前記複数のレイヤに含まれる第1のレイヤに関する編集指示をユーザから取得することと、
前記ユーザからの編集指示に基づく前記セグメンテーションマップの前記第1のレイヤの編集によって生成された、他のセグメンテーションマップを前記表示装置に表示することと、
画像の特徴マップと前記他のセグメンテーションマップと第1のニューラルネットワークとを用いて
出力画像を生成し、前記出力画像を前記表示装置に表示することと、を備える、
データ表示方法。
【請求項19】
前記セグメンテーションマップは、前記画像から生成されたセグメンテーションマップ、又は、他の画像から生成されたセグメンテーションマップである、
請求項18に記載のデータ表示方法。
【請求項20】
前記複数のレイヤは、それぞれが眉毛、口、鼻、まつ毛、黒目、白目、服、髪、顔、肌、背景のいずれか1つに対応する、
請求項18又は請求項19に記載のデータ表示方法。
【請求項21】
前記セグメンテーションマップは、少なくとも前記第1のレイヤと第2のレイヤとを含み、
前記セグメンテーションマップを前記表示装置に表示することは、前記1つ以上のプロセッサが、前記ユーザからの指示に基づいて、少なくとも前記第2のレイヤの表示と非表示とを切り替えること、を更に備える、
請求項18乃至請求項20のいずれか一項に記載のデータ表示方法。
【請求項22】
1つ以上のメモリと、
1つ以上のプロセッサと、を備え、
前記1つ以上のプロセッサは、
画像の特徴マップとレイヤ化されたセグメンテーションマップと第1のニューラルネットワークとを用いて、出力画像を生成する、
データ生成装置。
【請求項23】
前記1つ以上のプロセッサは、
前記画像を第2のニューラルネットワークに入力することで前記特徴マップを生成する、
請求項22に記載のデータ生成装置。
【請求項24】
前記セグメンテーションマップは、前記画像又は他の画像から生成されたセグメンテーションマップを編集することで生成されたセグメンテーションマップである、
請求項22又は請求項23に記載のデータ生成装置。
【請求項25】
1つ以上のメモリと、
1つ以上のプロセッサと、を備え、
前記1つ以上のプロセッサは、
セグメンテーションマップを表示装置に表示し、
編集対象となる複数のレイヤの情報を前記表示装置に表示し、
前記複数のレイヤに含まれる第1のレイヤに関する編集指示をユーザから取得し、
前記ユーザからの編集指示に基づく前記セグメンテーションマップの前記第1のレイヤの編集によって生成された、他のセグメンテーションマップを前記表示装置に表示し、
画像の特徴マップと前記他のセグメンテーションマップと第1のニューラルネットワークとを用いて
出力画像を生成し、前記出力画像を前記表示装置に表示する、
データ表示システム。
【請求項26】
前記セグメンテーションマップは、前記画像から生成されたセグメンテーションマップ、又は、他の画像から生成されたセグメンテーションマップである、
請求項25に記載のデータ表示システム。
【請求項27】
前記複数のレイヤは、それぞれが眉毛、口、鼻、まつ毛、黒目、白目、服、髪、顔、肌、背景のいずれか1つに対応する、
請求項25又は請求項26に記載のデータ表示システム。
【請求項28】
前記セグメンテーションマップは、少なくとも前記第1のレイヤと第2のレイヤとを含み、
前記1つ以上のプロセッサは、
前記ユーザからの指示に基づいて、少なくとも前記第2のレイヤの表示と非表示とを切り替える、
請求項25乃至請求項27のいずれか一項に記載のデータ表示システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ生成方法、データ生成装置、モデル生成方法、モデル生成装置及びプログラムに関する。
【背景技術】
【0002】
深層学習の進展によって、様々なニューラルネットワークアーキテクチャ及び訓練手法が提案され、様々な用途に利用されてきている。例えば、画像処理の分野では、深層学習の利用によって、画像認識、物体検出、画像合成などについて様々な研究成果があがっている。
【0003】
例えば、画像合成の分野では、GauGANやPix2PixHDなどの様々な画像合成ツールが開発されている。これらのツールでは、例えば、風景画像を空、山、海などによってセグメント化し、各セグメントに空、山、海などをラベル付けしたセグメンテーションマップを利用して、画像合成を行うことができる。
【先行技術文献】
【非特許文献】
【0004】
【文献】https://arxiv.org/abs/1903.07291
【文献】http://nvidia-research-mingyuliu.com/gaugan
【文献】https://tcwang0509.github.io/pix2pixHD/
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の課題は、ユーザフレンドリなセグメンテーションマップを利用したデータ生成技術を提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本開示の一態様は、
1つ以上のプロセッサが、第1のデータの特徴マップと、レイヤ化されたセグメンテーションマップとに基づいて、第2のデータを取得するステップを含む、データ生成方法に関する。
【0007】
本開示の他の態様は、
1つ以上のプロセッサが、訓練対象のエンコーダを利用して訓練用の第1の画像から第1の特徴マップを取得するステップと、
前記1つ以上のプロセッサが、訓練対象のデコーダを利用して前記第1の特徴マップと訓練用のレイヤ化されたセグメンテーションマップとから第2の画像を取得するステップと、
前記1つ以上のプロセッサが、前記第1の画像と前記訓練用のレイヤ化されたセグメンテーションマップとの第1のペアと、前記第2の画像と前記訓練用のレイヤ化されたセグメンテーションマップとの第2のペアとの何れかを判別器に入力し、前記判別器の判別結果に基づき決定された第1の損失値に応じて前記判別器のパラメータを更新するステップと、
前記1つ以上のプロセッサが、前記第1の画像と前記第2の画像との特徴量の差を示す第2の損失値を決定し、前記決定された第2の損失値に応じて前記エンコーダと前記デコーダとのパラメータを更新するステップと、
を有するモデル生成方法に関する。
【図面の簡単な説明】
【0008】
【
図1】本開示の一実施例によるデータ生成処理を示す概略図である。
【
図2】本開示の一実施例によるデータ生成装置の機能構成を示すブロック図である。
【
図3】本開示の一実施例による一例となるレイヤ化されたセグメンテーションマップを示す図である。
【
図4】本開示の一実施例による一例となるデータ生成処理を示す図である。
【
図5】本開示の一実施例によるセグメンテーションマップによる特徴マップの変換処理を示す図である。
【
図6】本開示の一実施例によるデータ生成処理の変形例を示す図である。
【
図7】本開示の一実施例によるデータ生成処理の変形例を示す図である。
【
図8】本開示の一実施例によるデータ生成処理の変形例を示す図である。
【
図9】本開示の一実施例によるデータ生成処理を示すフローチャートである。
【
図10】本開示の一実施例による一例となるユーザインタフェースを示す図である。
【
図11】本開示の一実施例による一例となるユーザインタフェースを示す図である。
【
図12】本開示の一実施例による一例となるユーザインタフェースを示す図である。
【
図13】本開示の一実施例による一例となるユーザインタフェースを示す図である。
【
図14】本開示の一実施例による一例となるユーザインタフェースを示す図である。
【
図15】本開示の一実施例による一例となるユーザインタフェースを示す図である。
【
図16】本開示の一実施例による一例となるユーザインタフェースを示す図である。
【
図17】本開示の一実施例による一例となるユーザインタフェースを示す図である。
【
図18】本開示の一実施例による一例となるユーザインタフェースを示す図である。
【
図19】本開示の一実施例による一例となるユーザインタフェースを示す図である。
【
図20】本開示の一実施例による一例となる訓練装置の機能構成を示すブロック図である。
【
図21】本開示の一実施例によるセグメンテーションマップによる特徴マップの変換処理を示す図である。
【
図22】本開示の一実施例によるセグメンテーションモデルのニューラルネットワークアーキテクチャを示す図である。
【
図23】本開示の一実施例による訓練処理を示すフローチャートである。
【
図24】本開示の一実施例によるデータ生成装置及び訓練装置のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0009】
以下、図面に基づいて本開示の実施の形態を説明する。以下の実施例では、セグメンテーションマップを利用したデータ生成装置と、当該データ生成装置のエンコーダ及びデコーダを訓練する訓練装置とが開示される。
[本開示の概略]
図1に示されるように、本開示の実施例によるデータ生成装置100は、例えば、ニューラルネットワークなどの何れかのタイプの機械学習モデルとして実現されるエンコーダ、セグメンテーションモデル及びデコーダを有する。データ生成装置100は、エンコーダを利用して入力画像から生成された特徴マップと、セグメンテーションモデルを利用して入力画像から生成したレイヤ化されたセグメンテーションマップ(第1のセグメンテーションマップ)をユーザに提示し、ユーザによって編集されたレイヤ化されたセグメンテーションマップ(第1のセグメンテーションマップと異なる第2のセグメンテーションマップ)(図示された例では、セグメンテーションマップの画像から両耳が削除されている)とに基づき出力画像をデコーダから取得する。当該出力画像は、編集済みのレイヤ化されたセグメンテーションマップの編集内容を入力画像に反映することによって生成される。
【0010】
訓練装置200は、データベース300に格納されている訓練データを利用して、データ生成装置100に提供されるエンコーダ及びデコーダを訓練し、訓練済みエンコーダ及びデコーダをデータ生成装置100に提供する。例えば、訓練データは、後述されるような画像とレイヤ化されたセグメンテーションマップとのペアから構成されうる。
[データ生成装置]
図2~5を参照して、本開示の一実施例によるデータ生成装置100を説明する。
図2は、本開示の一実施例によるデータ生成装置100の機能構成を示すブロック図である。
【0011】
図2に示されるように、データ生成装置100は、エンコーダ110、セグメンテーションモデル120及びデコーダ130を有する。
【0012】
エンコーダ110は、入力画像などのデータの特徴マップを生成する。エンコーダ110は、訓練装置200による訓練済みニューラルネットワークから構成され、当該ニューラルネットワークは、例えば、畳み込みニューラルネットワークとして実現されてもよい。
【0013】
セグメンテーションモデルは、入力画像などのデータのレイヤ化されたセグメンテーションマップを生成する。レイヤ化されたセグメンテーションマップでは、例えば、画像の各画素に対して1つ以上のラベルが付与されうる。例えば、
図2に示されるようなキャラクタの入力画像について、前髪の領域には、前髪に覆われた顔が隠されており、さらにその後方には背景がある。レイヤ化されたセグメンテーションマップは、前髪を示すレイヤ、顔を示すレイヤ及び背景を示すレイヤが重畳されたレイヤ構造から構成される。この場合、レイヤ化されたセグメンテーションマップのレイヤ構造は、
図3に示されるようなデータ構造によって表現されうる。例えば、背景が表示される領域の画素は"1,0,0"により表される。また、背景に顔が重畳されている領域の画素は"1,1,0"により表される。また、背景に髪が重畳されている領域の画素は"1,0,1"により表される。さらに、背景に顔が重畳され、更に顔に髪が重畳されている領域の画素は"1,1,1"により表される。例えば、各レイヤは、最上位に重畳されているオブジェクト(図示されたキャラクタでは、髪)から最下位に重畳されているオブジェクト(図示されたキャラクタでは、背景)までのレイヤ構造によって保持される。このようなレイヤ化されたセグメンテーションマップによると、ユーザが前髪を削除するようレイヤ化されたセグメンテーションマップを編集した場合、次のレイヤの顔が、削除された前髪領域に表示されることになる。
【0014】
なお、セグメンテーションモデル120は、訓練装置200による訓練済みニューラルネットワークから構成され、当該ニューラルネットワークは、例えば、後述されるようなU-Net型などの畳み込みニューラルネットワークとして実現されてもよい。また、セグメンテーションの生成と、レイヤ化とは一つのモデルで行われてもよく、異なるモデル等を用いて行われてもよい。
【0015】
デコーダ130は、レイヤ化されたセグメンテーションマップと特徴マップとから出力画像を生成する。ここで、当該出力画像は、レイヤ化されたセグメンテーションマップでの編集内容を入力画像に反映するものを生成されうる。例えば、ユーザが入力画像のレイヤ化されたセグメンテーションマップの画像の眉を削除し、削除部分を次レイヤの顔(顔の肌)により置換するようレイヤ化されたセグメンテーションマップを編集した場合、デコーダ130は、入力画像の眉部分を顔によって置換した出力画像を生成する。
【0016】
一実施例では、
図4に示されるように、エンコーダ110によって生成された特徴マップが、セグメンテーションモデル120によって生成されたレイヤ化されたセグメンテーションマップとプーリング化(例えば、平均プーリングなど)され、特徴ベクトルが導出される。この導出された特徴ベクトルが編集済みレイヤ化されたセグメンテーションマップによって展開され、編集された特徴マップが導出される。編集された特徴マップはデコーダ130に入力され、編集領域に対する編集内容が入力画像の対応領域に反映された出力画像が生成される。
【0017】
具体的には、
図5に示されるように、エンコーダ110が図示されるような入力画像の特徴マップを生成し、セグメンテーションモデル120が図示されるようなレイヤ化されたセグメンテーションマップを生成すると、生成された特徴マップとレイヤ化されたセグメンテーションマップの最上位レイヤとに対して平均プーリングが実行され、図示されるような特徴ベクトルが導出される。そして、導出された特徴ベクトルが図示されるような編集済みのレイヤ化されたセグメンテーションマップによって展開され、デコーダ130への入力用の図示されるような特徴マップが導出される。
【0018】
デコーダ130は、訓練装置200による訓練済みニューラルネットワークから構成され、当該ニューラルネットワークは、例えば、畳み込みニューラルネットワークとして実現されてもよい。
[変形例]
次に、
図6~8を参照して、本開示の一実施例によるデータ生成装置100のデータ生成処理の各種変形例を説明する。
【0019】
図6は、本開示の一実施例によるデータ生成装置100のデータ生成処理の変形例を示す図である。
図6に示されるように、セグメンテーションモデル120は、入力画像のレイヤ化されたセグメンテーションマップを生成し、デコーダ130は、入力画像と異なるリファレンス画像(第3のデータ)の特徴マップと、入力画像から生成されたレイヤ化されたセグメンテーションマップとから、図示されるように、レイヤ化されたセグメンテーションマップの最上位レイヤの内容をリファレンス画像に反映させた出力画像を生成する。
【0020】
リファレンス画像とは、ユーザの利用に供するためデータ生成装置100が予め保持している画像であり、ユーザは自ら提供した入力画像とリファレンス画像とを合成することが可能である。図示された実施例では、レイヤ化されたセグメンテーションマップは編集されていないが、リファレンス画像と合成されるレイヤ化されたセグメンテーションマップは編集されてもよい。この場合、出力画像は、編集済みのレイヤ化されたセグメンテーションマップの編集領域に対する編集内容をリファレンス画像の対応する領域に反映することによって生成されてもよい。
【0021】
本変形例によると、入力画像がセグメンテーションモデル120に入力され、レイヤ化されたセグメンテーションマップが取得される。エンコーダ110によって生成されたリファレンス画像の特徴マップと、当該レイヤ化されたセグメンテーションマップ又は当該レイヤ化されたセグメンテーションマップに対する編集済みのレイヤ化されたセグメンテーションマップとに基づき、デコーダ130から出力画像が生成される。
【0022】
図7は、本開示の一実施例によるデータ生成装置100のデータ生成処理の他の変形例を示す図である。
図7に示されるように、セグメンテーションモデル120は、入力画像とリファレンス画像とのそれぞれのレイヤ化されたセグメンテーションマップを生成し、デコーダ130は、入力画像と異なるリファレンス画像の特徴マップと、2つのレイヤ化されたセグメンテーションマップの一方又は双方に対してユーザによって編集されたレイヤ化されたセグメンテーションマップとから、図示されるように、編集済みのレイヤ化されたセグメンテーションマップの内容をリファレンス画像に反映させた出力画像を生成する。なお、2つのレイヤ化されたセグメンテーションマップの利用については、
図8に示されるように、例えば、リファレンス画像のレイヤ化されたセグメンテーションマップによってリファレンス画像の特徴マップがプーリングされ、導出された特徴ベクトルが入力画像のレイヤ化されたセグメンテーションマップによって展開されてもよい。
【0023】
本変形例によると、入力画像とリファレンス画像とがセグメンテーションモデル120に入力され、各自のレイヤ化されたセグメンテーションマップが取得される。エンコーダ110によって生成されたリファレンス画像の特徴マップと、当該レイヤ化されたセグメンテーションマップに対する編集済みのレイヤ化されたセグメンテーションマップの一方又は双方とがデコーダ130に入力され、出力画像が生成される。
【0024】
ここで、リファレンス画像を利用する場合、リファレンス画像から抽出された特徴の全てが、出力画像を生成するのに利用される必要はなく、一部の特徴(例えば、髪など)のみが利用されてもよい。また、リファレンス画像の特徴マップと入力画像の特徴マップとの何れかの組み合わせ(例えば、加重平均、右半分の髪と左半分の髪の特徴のみ組み合わせなど)が、出力画像を生成するのに利用されてもよい。また、複数のリファレンス画像が、出力画像を生成するのに利用されてもよい。
【0025】
上述した実施例は、画像に対する生成処理に着目して説明されたが、本開示による処理対象のデータはこれに限定されず、本開示によるデータ生成装置100は、他の何れか適切なデータ形式に適用されてもよい。
[データ生成処理]
次に、
図9を参照して、本開示の一実施例によるデータ生成処理を説明する。当該データ生成処理は、上述したデータ生成装置100によって実現され、例えば、データ生成装置100の1つ以上のプロセッサ又は処理回路がプログラム又は命令を実行することによって実現されてもよい。
図9は、本開示の一実施例によるデータ生成処理を示すフローチャートである。
【0026】
図9に示されるように、ステップS101において、データ生成装置100は、入力画像から特徴マップを取得する。具体的には、データ生成装置100は、ユーザなどから受け付けた入力画像をエンコーダ110に入力し、エンコーダ110から出力画像を取得する。
【0027】
ステップS102において、データ生成装置100は、入力画像からレイヤ化されたセグメンテーションマップを取得する。具体的には、データ生成装置100は、入力画像をセグメンテーションモデル120に入力し、セグメンテーションモデル120からレイヤ化されたセグメンテーションマップを取得する。
【0028】
ステップS103において、データ生成装置100は、編集済みのレイヤ化されたセグメンテーションマップを取得する。例えば、ステップS102において生成されたレイヤ化されたセグメンテーションマップがユーザ端末に提示され、ユーザがユーザ端末上でレイヤ化されたセグメンテーションマップを編集すると、データ生成装置100は、ユーザ端末から編集済みレイヤ化されたセグメンテーションマップを受信する。
【0029】
ステップS104において、データ生成装置100は、特徴マップと編集済みのレイヤ化されたセグメンテーションマップとから出力画像を取得する。具体的には、データ生成装置100は、ステップS101において取得した特徴マップと、ステップS102において取得したレイヤ化されたセグメンテーションマップとに対して平均プーリングなどのプーリングを実行し、特徴ベクトルを導出する。そして、データ生成装置100は、ステップS103において取得した編集済みのレイヤ化されたセグメンテーションマップによって特徴ベクトルを展開し、展開された特徴マップをデコーダ130に入力し、デコーダ130から出力画像を取得する。
【0030】
なお、上述した実施例では、特徴マップとレイヤ化されたセグメンテーションマップとに対してプーリングが実行されたが、本開示はこれに限定されるものでない。例えば、エンコーダ110は、画像の各物体及び/又はパーツの特徴を抽出可能な何れか適切なモデルであってもよい。例えば、エンコーダ110は、Pix2PixHDのエンコーダであってもよく、最後の特徴マップでインスタンスごとに平均プーリングではなく、最大プーリング、最小プーリング、アテンションプーリングなどが実行されてもよい。また、Pix2PixHDのエンコーダを利用して、最後の特徴マップでインスタンスごとにCNNなどにより特徴ベクトルが抽出されてもよい。
[ユーザインタフェース]
次に、
図10~19を参照して、本開示の一実施例によるデータ生成装置100によって提供されるユーザインタフェースを説明する。当該ユーザインタフェースは、例えば、データ生成装置100によってユーザ端末に提供される操作画面として実現されうる。
【0031】
図10に示されるユーザインタフェース画面は、ユーザによってリファレンス画像が選択された際に表示される。すなわち、ユーザが図示されるリファレンス画像を選択すると、選択された画像に対して編集可能なパーツがレイヤ一覧として表示され、また、リファレンス画像から生成された編集前のレイヤ化されたセグメンテーションマップ又は編集されたレイヤ化されたセグメンテーションマップに基づき生成される出力画像が表示される。つまり、本実施形態においては、セグメンテーションが行われた各パーツごとにセグメンテーションがレイヤ分けされている。つまり、認識された物体のグループごとにレイヤ分けがされている。このように、レイヤ化されたセグメンテーションマップは、少なくとも2つ以上のレイヤを備え、表示装置上において各レイヤの表示と非表示を切り替えることが可能である。これにより、後述するように、各パーツのセグメンテーションマップの編集を容易に行うことができる。
【0032】
図11に示されるように、ユーザがレイヤ化されたセグメンテーションマップの目の部分をフォーカスし、レイヤ一覧から白目のレイヤを選択すると、白目のレイヤが露出されたレイヤ化されたセグメンテーションマップが表示される。
【0033】
また、
図12に示されるように、ユーザがレイヤ化されたセグメンテーションマップの目の部分をフォーカスし、レイヤ一覧からまつげ、黒目及び白目を選択し、更にこれらのパーツを不可視化すると、これらのパーツが不可視化されて、次レイヤの顔が露出されたレイヤ化されたセグメンテーションマップが表示される。
【0034】
また、
図13に示されるように、ユーザがレイヤ一覧から黒目を選択し、更に矩形選択を選択すると、矩形の黒目の部分が露出されたレイヤ化されたセグメンテーションマップが表示される。さらに、
図14に示されるように、ユーザはレイヤ化されたセグメンテーションマップの矩形の黒目部分を移動させることも可能である。さらに、
図15に示されるように、ユーザが適用ボタンを押下すると、編集済みのレイヤ化されたセグメンテーションマップが反映された出力画像が表示される。
【0035】
また、
図16に示されるように、ユーザがキャラクタの髪を伸ばすために図示されるようにレイヤ化されたセグメンテーションマップを編集したとき、伸ばした髪が服を覆うことになる。ユーザが伸ばした髪によって服が隠れてしまうことを防ぐため、
図17に示されるようにレイヤ一覧の服のレイヤを選択すると、図示されるように、伸ばした髪によって服が隠れないようにレイヤ化されたセグメンテーションマップが編集される。
【0036】
ここで、
図18に示されるように、ユーザはデータ生成装置100によって保持される複数のリファレンス画像から所望の画像を選択することが可能である。例えば、
図19に示されるように、選択したリファレンス画像の特徴を入力画像に適用し、出力画像を生成することも可能である。
[訓練装置(モデル生成装置)]
次に、
図20~22を参照して、本開示の一実施例による訓練装置200を説明する。訓練装置200は、データベース300に格納されている訓練データを利用して、訓練対象のエンコーダ210、セグメンテーションモデル220、デコーダ230及び判別器240をエンド・ツー・エンド方式で訓練する。
図20は、本開示の一実施例による訓練装置200を示すブロック図である。
【0037】
図20に示されるように、訓練装置200は、訓練用の画像及びレイヤ化されたセグメンテーションマップを利用して、訓練対象のエンコーダ210、セグメンテーションモデル220及びデコーダ230をGANs(Generative Adversarial Networks)に基づくエンド・ツー・エンド方式によって訓練し、訓練完了後のエンコーダ210、セグメンテーションモデル220及びデコーダ230を訓練済みエンコーダ110、セグメンテーションモデル120及びデコーダ130としてデータ生成装置100に提供する。
【0038】
具体的には、訓練装置200は、訓練用の画像をエンコーダ210に入力し、特徴マップを取得し、取得した特徴マップと訓練用のレイヤ化されたセグメンテーションマップとに基づきデコーダ230から出力画像を取得する。具体的には、
図21に示されるように、訓練装置200は、エンコーダ210から取得した特徴マップと訓練用のレイヤ化されたセグメンテーションマップとに対して平均プーリングなどのプーリングを実行し、特徴ベクトルを導出する。そして、訓練装置200は、導出した特徴ベクトルを当該レイヤ化されたセグメンテーションマップによって展開し、導出された特徴マップをデコーダ230に入力し、デコーダ230から出力画像を取得する。
【0039】
そして、訓練装置200は、デコーダ230から生成された出力画像と訓練用のレイヤ化されたセグメンテーションマップとのペアと、入力画像と訓練用のレイヤ化されたセグメンテーションマップとのペアとの何れかを判別器240に入力し、判別器240の判別結果に基づき損失値を取得する。具体的には、判別器240が入力されたペアを正しく判別した場合、損失値はゼロなどに設定され、判別器240が入力されたペアを誤って判別した場合、損失値は非ゼロの正値に設定されてもよい。あるいは、訓練装置200は、デコーダ230から生成された出力画像と、入力画像との何れかを判別器240に入力し、判別器240の判別結果に基づき損失値を取得してもよい。
【0040】
一方、訓練装置200は、出力画像と入力画像との特徴マップから特徴量の差を示す損失値を取得する。当該損失値は、特徴量の差が小さい場合には小さくなるように設定され、他方、特徴量の差が大きい場合には大きくなるように設定されてもよい。
【0041】
訓練装置200は、取得した2つの損失値に基づきエンコーダ210、デコーダ230及び識別器240の各パラメータを更新する。用意された全ての訓練データに対して上述した手順の実行が完了したなどの所定の終了条件を充足すると、訓練装置200は、最終的に獲得されたエンコーダ210及びデコーダ230を訓練済みエンコーダ110及びデコーダ130としてデータ生成装置100に提供する。
【0042】
他方、訓練装置200は、訓練用の画像とレイヤ化されたセグメンテーションマップとのペアを利用してセグメンテーションモデル220を訓練する。例えば、人手によって画像に含まれる各オブジェクトがセグメント化され、各セグメントに当該オブジェクトのラベルが付与されることによって、訓練用のレイヤ化されたセグメンテーションマップが作成されてもよい。
【0043】
例えば、セグメンテーションモデル220は、
図22に示されるようなU-Net型のニューラルネットワークアーキテクチャを有してもよい。訓練装置200は、セグメンテーションモデル220に訓練用の画像を入力し、レイヤ化されたセグメンテーションマップを取得する。訓練装置200は、セグメンテーションモデル220から取得したレイヤ化されたセグメンテーションマップと訓練用のレイヤ化されたセグメンテーションマップとの誤差に従ってセグメンテーションモデル220のパラメータを更新する。用意された全ての訓練データに対して上述した手順の実行が完了したなどの所定の終了条件を充足すると、訓練装置200は、最終的に獲得されたセグメンテーションモデル220を訓練済みセグメンテーションモデル120としてデータ生成装置100に提供する。
【0044】
なお、訓練対象のエンコーダ210、セグメンテーションモデル220及びデコーダ230の1つ以上は事前訓練されたものであってもよい。この場合、より少ない訓練データによってエンコーダ210、セグメンテーションモデル220及びデコーダ230を訓練することが可能になりうる。
[訓練処理(モデル生成処理)]
次に、
図23を参照して、本開示の一実施例による訓練処理を説明する。当該訓練処理は、上述した訓練装置200によって実現され、例えば、訓練装置200の1つ以上のプロセッサ又は処理回路がプログラム又は命令を実行することによって実現されてもよい。
図23は、本開示の一実施例による訓練処理を示すフローチャートである。
【0045】
図23に示されるように、ステップS201において、訓練装置200は、訓練用の入力画像から特徴マップを取得する。具体的には、訓練装置200は、訓練用の入力画像を訓練対象のエンコーダ210に入力し、エンコーダ210から特徴マップを取得する。
【0046】
ステップS202において、訓練装置200は、取得した特徴マップと訓練用のレイヤ化されたセグメンテーションマップとから出力画像を取得する。具体的には、訓練装置200は、エンコーダ210から取得した特徴マップと訓練用のレイヤ化されたセグメンテーションマップとに対して平均プーリングなどのプーリングを実行し、特徴ベクトルを導出する。そして、訓練装置200は、導出した特徴ベクトルを訓練用のレイヤ化されたセグメンテーションマップによって展開し、特徴マップを導出する。そして、訓練装置200は、導出した特徴マップを訓練対象のデコーダ230に入力し、デコーダ230から出力画像を取得する。
【0047】
ステップS203において、訓練装置200は、入力画像と訓練用のレイヤ化されたセグメンテーションマップとのペア、又は出力画像と訓練用のレイヤ化されたセグメンテーションマップとのペアの何れかを訓練対象の判別器240に入力し、入力されたペアが入力画像と訓練用のレイヤ化されたセグメンテーションマップとのペアと、出力画像と訓練用のレイヤ化されたセグメンテーションマップとのペアとの何れであるか判別器240に判別させる。訓練装置200は、判別器240の判別結果の正誤に対応して判別器240の損失値を決定し、決定した損失値に従って判別器240のパラメータを更新する。
【0048】
ステップS204において、訓練装置200は、入力画像と出力画像との特徴マップの誤差に応じて損失値を決定し、決定した損失値に従ってエンコーダ210及びデコーダ230のパラメータを更新する。
【0049】
ステップS205において、訓練装置200は、終了条件が充足されたか判断し、終了条件が充足された場合(S205:YES)、当該訓練処理を終了する。他方、終了条件が充足されていない場合(S205:NO)、訓練装置200は、次の訓練データに対してステップS201~S205を実行する。ここで、当該終了条件は、用意された全ての訓練データに対してステップS201~S205が実行されたことなどであってもよい。
[ハードウェア構成]
前述した実施形態における各装置(データ生成装置100、又は訓練装置200)の一部又は全部は、ハードウェアで構成されていてもよいし、CPU(Central Processing Unit)、又はGPU(Graphics Processing Unit)等が実行するソフトウェア(プログラム)の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、フレキシブルディスク、CD-ROM(Compact Disc-Read Only Memory)、又はUSB(Universal Serial Bus)メモリ等の非一時的な記憶媒体(非一時的なコンピュータ可読媒体)に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアがASIC(Application Specific Integrated Circuit)、又はFPGA(Field Programmable Gate Array)等の回路に実装されることにより、情報処理がハードウェアにより実行されてもよい。
【0050】
ソフトウェアを収納する記憶媒体の種類は限定されるものではない。記憶媒体は、磁気ディスク、又は光ディスク等の着脱可能なものに限定されず、ハードディスク、又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし、コンピュータ外部に備えられてもよい。
【0051】
図24は、前述した実施形態における各装置(データ生成装置100、又は訓練装置200)のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ101と、主記憶装置102(メモリ)と、補助記憶装置103(メモリ)と、ネットワークインタフェース104と、デバイスインタフェース105と、を備え、これらがバス106を介して接続されたコンピュータ107として実現されてもよい。
【0052】
図24のコンピュータ107は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図24では、1台のコンピュータ107が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース104等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置(データ生成装置100、又は訓練装置200)は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
【0053】
前述した実施形態における各装置(データ生成装置100、又は訓練装置200)の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ107と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実行されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
【0054】
プロセッサ101は、コンピュータの制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、又はASIC等)であってもよい。また、プロセッサ101は、専用の処理回路を含む半導体装置等であってもよい。プロセッサ101は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ101は、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0055】
プロセッサ101は、コンピュータ107の内部構成の各装置等から入力されたデータやソフトウェア(プログラム)に基づいて演算処理を行い、演算結果や制御信号を各装置等に出力することができる。プロセッサ101は、コンピュータ7のOS(Operating System)や、アプリケーション等を実行することにより、コンピュータ107を構成する各構成要素を制御してもよい。
【0056】
前述した実施形態における各装置(データ生成装置100、又は訓練装置200)は、1又は複数のプロセッサ101により実現されてもよい。ここで、プロセッサ101は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0057】
主記憶装置102は、プロセッサ101が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置102に記憶された情報がプロセッサ101により読み出される。補助記憶装置103は、主記憶装置102以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。前述した実施形態における各装置(データ生成装置100、又は訓練装置200)において各種データを保存するための記憶装置は、主記憶装置102又は補助記憶装置103により実現されてもよく、プロセッサ101に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部は、主記憶装置102又は補助記憶装置103により実現されてもよい。
【0058】
記憶装置(メモリ)1つに対して、複数のプロセッサが接続(結合)されてもよいし、単数のプロセッサが接続されてもよい。プロセッサ1つに対して、複数の記憶装置(メモリ)が接続(結合)されてもよい。前述した実施形態における各装置(データ生成装置100、又は訓練装置200)が、少なくとも1つの記憶装置(メモリ)とこの少なくとも1つの記憶装置(メモリ)に接続(結合)される複数のプロセッサで構成される場合、複数のプロセッサのうち少なくとも1つのプロセッサが、少なくとも1つの記憶装置(メモリ)に接続(結合)される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置(メモリ))とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置(メモリ)がプロセッサと一体になっている構成(例えば、L1キャッシュ、L2キャッシュを含むキャッシュメモリ)を含んでもよい。
【0059】
ネットワークインタフェース104は、無線又は有線により、通信ネットワーク108に接続するためのインタフェースである。ネットワークインタフェース104は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース104により、通信ネットワーク108を介して接続された外部装置109Aと情報のやり取りが行われてもよい。なお、通信ネットワーク108は、WAN(Wide Area Network)、LAN(Local Area Network)、PAN(Personal Area Network)等の何れか、又は、それらの組み合わせであってよく、コンピュータ107と外部装置109Aとの間で情報のやり取りが行われるものであればよい。WANの一例としてインターネット等があり、LANの一例としてIEEE802.11やイーサネット(登録商標)等があり、PANの一例としてBluetooth(登録商標)やNFC(Near Field Communication)等がある。
【0060】
デバイスインタフェース105は、外部装置109Bと直接接続するUSB等のインタフェースである。
【0061】
外部装置109Aはコンピュータ107とネットワークを介して接続されている装置である。外部装置109Bはコンピュータ107と直接接続されている装置である。
【0062】
外部装置109A又は外部装置109Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ、キーボード、マウス、又はタッチパネル等のデバイスであり、取得した情報をコンピュータ107に与える。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
【0063】
また、外部装置109A又は外部装置109Bは、一例として、出力装置でもよい。出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末、又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
【0064】
また、外部装置109Aまた外部装置109Bは、記憶装置(メモリ)であってもよい。例えば、外部装置109Aはネットワークストレージ等であってもよく、外部装置109BはHDD等のストレージであってもよい。
【0065】
また、外部装置109A又は外部装置109Bは、前述した実施形態における各装置(データ生成装置100、又は訓練装置200)の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ107は、外部装置109A又は外部装置109Bの処理結果の一部又は全部を送信又は受信してもよい。
【0066】
本明細書(請求項を含む)において、「a、b及びcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
【0067】
本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
【0068】
本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0069】
本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。
【0070】
本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び有する「(having)等)」が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0071】
本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0072】
本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0073】
本明細書(請求項を含む)において、「最大化(maximize)」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること、及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化(minimize)」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること、及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化(optimize)」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。
【0074】
本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は電子回路を含む装置等を含んでよい。
【0075】
本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置(メモリ)のうち個々の記憶装置(メモリ)は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。
【0076】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、数値又は数式を説明に用いている場合は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
【符号の説明】
【0077】
100 データ生成装置
101 プロセッサ
102 主記憶装置
103 補助記憶装置
104 ネットワークインタフェース
105 デバイスインタフェース
106 バス
108 通信ネットワーク
109A,B 外部装置
110、210 エンコーダ
120、220 セグメンテーションモデル
130、230 デコーダ
200 訓練装置
240 識別器