(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023047195
(43)【公開日】2023-04-05
(54)【発明の名称】学習用データ生成システム、機械学習モデルの学習方法、および学習用データ生成方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20230329BHJP
G06T 5/50 20060101ALI20230329BHJP
G06T 3/40 20060101ALI20230329BHJP
G06N 20/00 20190101ALI20230329BHJP
【FI】
G06T7/00 350B
G06T5/50
G06T3/40 725
G06N20/00
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021156151
(22)【出願日】2021-09-24
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】平井 理宇
(72)【発明者】
【氏名】寺田 卓馬
(72)【発明者】
【氏名】沖津 潤
【テーマコード(参考)】
5B057
5L096
【Fターム(参考)】
5B057BA23
5B057CA08
5B057CA12
5B057CA16
5B057CB08
5B057CB12
5B057CB16
5B057CE06
5B057CE08
5B057CE09
5B057CH09
5B057DA12
5B057DB02
5B057DB09
5B057DC01
5B057DC03
5B057DC14
5L096AA06
5L096CA04
5L096CA21
5L096DA01
5L096EA02
5L096FA33
5L096FA66
5L096FA67
5L096FA69
5L096GA55
5L096HA11
5L096JA09
5L096KA04
5L096KA13
5L096MA07
(57)【要約】 (修正有)
【課題】環境を考慮した学習効果の改善された学習用データを、容易に生成する学習用データ生成システム、機械学習モデルの学習方法及び学習用データ生成方法を提供する。
【解決手段】機械学習システム1は、画像合成部を備える。画像合成部は、背景画像と、第一の画像及び第一の画像に紐づいた正解情報と、第二の画像と、環境情報に紐づいた合成条件を入力として、合成条件を用いて第一の画像、第二の画像及び背景画像から合成画像を生成し、合成画像と正解情報から、学習用データを生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
画像合成部を備え、
前記画像合成部は、
背景画像と、第一の画像および該第一の画像に紐づいた正解情報と、第二の画像と、環境情報に紐づいた合成条件を入力とし、
前記合成条件を用いて、前記第一の画像、前記第二の画像、および前記背景画像から合成画像を生成し、
前記合成画像と前記正解情報から、学習用データを生成する、
学習用データ生成システム。
【請求項2】
前記背景画像と、前記第一の画像および前記正解情報と、前記第二の画像には、それぞれ環境情報が紐づけられている、
請求項1記載の学習用データ生成システム。
【請求項3】
前記第一の画像、前記第二の画像、および前記背景画像から合成画像を生成する際に用いる合成条件に紐づいた環境情報は、
前記第一の画像、前記第二の画像、および前記背景画像に紐づいた環境情報と同一または類似のものである。
請求項2記載の学習用データ生成システム。
【請求項4】
前記環境情報は、階層構造の分類で定義される、
請求項1記載の学習用データ生成システム。
【請求項5】
合成条件管理部を備え、
前記合成条件管理部は、
前記合成条件を、所定の分類に基づいてデータベース化する、
請求項1記載の学習用データ生成システム。
【請求項6】
前記環境情報は、画像から得られた特徴量で構成される、
請求項1記載の学習用データ生成システム。
【請求項7】
環境情報管理部を備え、
前記環境情報管理部は、
画像から特徴量を抽出し、当該特徴量を前記第一の画像、前記第二の画像、および前記背景画像を合成した合成条件に紐づけてデータベースとする、
請求項1記載の学習用データ生成システム。
【請求項8】
前記環境情報管理部は、
未知の環境から得られた前記第一の画像、前記第二の画像、および前記背景画像に関連する画像から特徴量を抽出して、抽出した特徴量を前記データベースの特徴量と比較し、
前記画像合成部は、
比較結果に基づいて抽出された特徴量に紐づけられた合成条件を用いて、前記未知の環境から得られた前記第一の画像、前記第二の画像、および前記背景画像の合成を行う、
請求項7記載の学習用データ生成システム。
【請求項9】
前記合成条件は、
・合成する前記第一の画像および前記第二の画像の少なくとも一つの、種類および数の少なくとも一つの指定
・前記背景画像に対する前記第一の画像および前記第二の画像の少なくとも一つの、位置の指定
・前記背景画像に対する前記第一の画像および前記第二の画像の少なくとも一つの、指定された位置からのばらつき
・前記第一の画像および前記第二の画像の重なる順序
・前記第一の画像および前記第二の画像の少なくとも一つの、大きさ
・前記第一の画像および前記第二の画像の少なくとも一つの、の向き
・合成画像の明るさ
・合成画像の解像度
・合成画像上の特殊効果
の少なくとも一つの情報を含むテンプレートとされる、
請求項1記載の学習用データ生成システム。
【請求項10】
前記合成画像上の特殊効果は、前記背景画像、前記第一の画像、および前記第二の画像の少なくとも一つの定された箇所の画像を変形させる効果である、
請求項9記載の学習用データ生成システム。
【請求項11】
前処理部を備え、
前記前処理部は、
静止画像から、前記背景画像、前記第一の画像、および前記第二の画像を抽出し、
前記第一の画像に前記正解情報を付与して、前記第一の画像に紐づいた正解情報を生成する、
請求項1記載の学習用データ生成システム。
【請求項12】
前記前処理部は、
前記背景画像と、前記第一の画像および前記正解情報と、前記第二の画像には、それぞれ前記静止画像に紐づけられた環境情報を紐づける、
請求項11記載の学習用データ生成システム。
【請求項13】
請求項1記載の学習用データ生成システムで生成した学習用データを用いて、機械学習モデルの機械学習を行う、機械学習モデルの学習方法。
【請求項14】
環境情報に紐づけられた合成条件を準備する第1のステップ、
画像データから抽出した、背景画像と、対象物画像と、非対象物画像を呼び出す第2のステップ、
前記画像データに適合した環境条件に紐づけられた合成条件を用いて、前記背景画像と、前記対象物画像と、前記非対象物画像を合成して合成画像を生成する第3のステップ、
前記合成画像と前記対象物画像に付された正解情報により学習用データを生成する第4のステップ、
を実行する学習用データ生成方法。
【請求項15】
前記画像データに適合した環境条件を選択するために、前記画像データの特徴量を用いる、
請求項14記載の学習用データ生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習および機械学習に用いる学習用データ(教師データ)を生成する技術に関する。特に、深層学習(DL:Deep Learning)に用いて好適な、学習用データを容易に生成する技術に関する。
【背景技術】
【0002】
近年、深層学習を用いて機械学習モデルを生成し、画像解析、画像生成、音声認識、言語処理などの処理を行わせる技術が注目されている。機械学習モデルとしては、例えば、ディープニューラルネットワーク(DNN:Deep Neural Network)のような公知の構成が利用されている。
【0003】
画像解析を例に取ると、分類、物体検出、骨格検出、セグメンテーション等の処理が知られている。分類とは、画像中の対象物にラベル付けすることである。物体検出とは、画像中の対象物にラベル付けするとともに位置(XY座標)を検出することである。骨格検出とは、画像中の対象物の特定の箇所にラベル付けするとともに位置を検出することである。セグメンテーションとは、画像のピクセルごとにラベル情報を付して領域を色分けすることである。
【0004】
分類、物体検出、骨格検出、セグメンテーション等の処理を行う機械学習モデルを生成するため、学習用データを用いてモデルの学習を行う必要がある。従来、物体検出のための検出モデルの学習には、画像および正解ラベルで構成される学習用データが必要とされていた。このとき、正解ラベルをデータ毎に人が付与した場合、作成コストの増加が問題となるため、学習用データを自動的に生成する手法が望まれていた。
【0005】
特許文献1には、特に深層学習に用いる学習用データを生成する技術に関し、背景画像上において対象領域を定める領域決定部と、前記対象領域に対象物の画像を貼り付けて合成画像を生成する画像合成部と、前記対象物の画像にかかるデータに基づいて前記合成画像の正解ラベルを作成する正解ラベル作成部と、を備える学習用データ生成装置が開示されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1の発明では、学習用データの生成指示に従って学習用データが自動的に生成される。また、学習用データの画像上の全ての対象物に正解ラベルが付加される。このため、適切な正解ラベルを付加された学習用データを簡易に生成できる。
【0008】
しかし、実際の画像解析においては、対象物を撮影した画像にオクルージョンが発生する場合がある。オクルージョンとは、一般に手前にある物体が背後にある対象物を隠す状態をいう。オクルージョンは画像解析の結果に影響を与えるが、発生のパターンは一般に対象物が置かれた環境に依存する。ここで、環境とは対象物が置かれた空間の種々の条件、例えば、広さ、対象物、対象物以外の物体の種類や数や大きさ、対象物と対象物以外の物体の関係、背景や明るさ等の条件を含むものとする。
【0009】
この点、特許文献1では、オペレータが指示した条件に従って合成条件を決定するが、環境ごとに切り抜き画像や合成条件を決定する手間が生じる。すなわち、実際の環境に即して、実際の画像に近づくように背景や対象物や対象物以外のもの(以下、便宜上これらを「パーツ」と呼ぶことがある)の組み合わせを選ぶ必要がある。また、実際の画像に近づくようにパーツを合成する合成条件を定める必要がある。このようなパーツや合成条件を人手で決定するのは負担であるし、ランダムに定めると、実際の環境とは整合しない学習用データとなり、機械学習モデルの性能が低下するおそれがある。
【0010】
そこで本願発明の課題は、環境を考慮した学習効果の改善された学習用データを、容易に生成することにある。
【課題を解決するための手段】
【0011】
本願発明の好ましい一側面は、画像合成部を備え、前記画像合成部は、背景画像と、第一の画像および該第一の画像に紐づいた正解情報と、第二の画像と、環境情報に紐づいた合成条件を入力とし、前記合成条件を用いて、前記第一の画像、前記第二の画像、および前記背景画像から合成画像を生成し、前記合成画像と前記正解情報から、学習用データを生成する、学習用データ生成システムである。
【0012】
本願発明の好ましい他の一側面は、上記の学習用データ生成システムで生成した学習用データを用いて、機械学習モデルの機械学習を行う、機械学習モデルの学習方法である。
【0013】
本願発明の好ましい他の一側面は、環境情報に紐づけられた合成条件を準備する第1のステップ、画像データから抽出した、背景画像と、対象物画像と、非対象物画像を呼び出す第2のステップ、前記画像データに適合した環境条件に紐づけられた合成条件を用いて、前記背景画像と、前記対象物画像と、前記非対象物画像を合成して合成画像を生成する第3のステップ、前記合成画像と前記対象物画像に付された正解情報により学習用データを生成する第4のステップ、を実行する学習用データ生成方法である。
【発明の効果】
【0014】
本発明によれば、環境を考慮した学習効果の改善された学習用データを、容易に生成することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【0015】
【
図1】実施例の機械学習システムの全体ブロック図。
【
図3】静止画像から生成した各画像を説明する概念図。
【
図4】前処理を行う際に表示するGUIの例を示す模式図。
【
図6】合成条件を編集する際に表示するGUIの例を示す模式図。
【
図7】動画データの環境情報を、これに関連する背景画像、対象物画像、正解情報、オクルージョン画像、合成条件、学習用データが引き継ぐ例を示す概念図。
【
図8】他の実施例の機械学習システムの全体ブロック図。
【
図9】階層構造で分類された合成条件を説明する表図。
【
図10】他の実施例の機械学習システムの全体ブロック図。
【
図11】環境情報を自動的に推定する処理を説明する概念図。
【
図12】環境情報を抽出する際に表示するGUIの例を示す模式図。
【
図13】環境に対して適切な合成条件を自動的に選択する処理の概念図。
【
図14】骨格検出の場合に正解情報付き対象物を作成する際のGUIの説明図。
【
図16】他の実施例のセグメンテーションの処理の概念を示す説明図。
【
図17】環境変動に対応できる学習用データの画像合成の概念を示す説明図。
【
図18】オクルージョン画像にも正解情報を付けた場合の作用効果を説明する概念図。
【発明を実施するための形態】
【0016】
以下、本発明の実施例について、図面を用いて詳細に説明する。なお、以下の説明は、本発明の一実施形態を説明するためのものであり、本発明の範囲を制限するものではない。従って、当業者であればこれらの各要素又は全要素をこれと同等なものに置換した実施形態を採用することが可能であり、これらの実施形態も本発明の範囲に含まれる。
【0017】
以下に説明する実施例の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【0018】
同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0019】
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【0020】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【0021】
本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。
【0022】
本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
【0023】
実施例で説明される学習用データ生成システムの一例は、画像解析を行うための機械学習モデルの学習用データを自動的に生成するものである。このシステムは、解析の対象となる対象物が置かれた環境に適合した学習用データを生成する。ここで、学習用データとは、機械学習モデルを学習するために用いる、問題と解答の組からなるデータをいうものとする。画像解析の場合、問題は一般に画像データである。
【0024】
機械学習モデルの解析精度を向上させるためには、精度の劣化要因となる障害物(オクルージョン)を含んだ学習用データが必要である。オクルージョンの具体例として、対象となる人が着用する眼鏡やマスクや帽子がある。また、人がルーペなどをのぞき込んでいる場合も障害物となり得る。あるいは、複数の人が交錯して重なり合う状況が考えられる。しかし、オクルージョンの発生のパターンは、環境ごとに条件が多様であり、環境ごとの相違を考慮する必要がある。
【0025】
実施例のシステムの構成の一例は、所定環境に置かれた対象物を撮影した画像から、背景画像と、対象物画像と、対象物以外の物の画像とを抽出し、対象物画像には正解情報を紐づける。そして、背景画像と、対象物画像と、対象物以外の物の画像から合成画像を生成し、合成画像と、対象物画像に紐づいた正解情報から、学習用データを生成する。ここで、対象物とは、画像解析の場合には解析の対象となる事物である。
【0026】
合成画像を生成する際には、所定環境に紐づいた対象物画像と、対象物以外の物の画像の合成条件を用いて、画像を合成する。
【0027】
すでに述べたように、環境とは対象物が置かれた空間の種々の条件である。環境情報は環を表現する情報であり、システム上は例えば対象物が置かれた空間をユーザが分類し、定義する環境情報タグで特定することができる。あるいは環境情報は、対象物が置かれた空間を画像データとし、当該画像データを取得した装置(例えばビデオカメラ)を分類し、定義する環境情報タグで特定することができる。あるいは環境情報は、対象物が置かれた空間を画像データとし、当該画像データから得られる特徴量を分類し、あるいはグループ化することで特定することができる。
【実施例0028】
<1.機械学習システムの全体構成>
図1は、実施例の機械学習システムの全体ブロック図である。以下では、単一の情報処理装置で学習用データの生成と学習を行うシステムを構成する例を示す。ただし、任意の部分がネットワークで接続された、別個の情報処理装置であってもよい。あるいは、可搬型の記録媒体でデータの送付ができる構成であれば、ネットワークで接続されていなくてもよい。要するに各要素間で必要なデータの移動が可能であればよい。
【0029】
機械学習システム1は一般的なサーバーのような情報処理装置で構成することができる。一般的な情報処理装置と同様、機械学習システム1は、中央処理装置(CPU:Central Processing Unit)101、入出力インターフェース(I/O)102、メモリ200、データベース(DB)300を備える。各部を接続するバスの類は省略している。
【0030】
入出力インターフェース102には、キーボードやディスプレイなど、公知の種々の入出力装置を接続することができる。他の情報処理装置と接続するためのネットワークに対するインターフェースを備えてもよい。
【0031】
メモリ200は一般に半導体メモリのような比較的高速の記憶装置が用いられ、CPU101が実行するプログラム等が格納される。データベース300は磁気ディスク装置のような比較的大容量の記憶装置が用いられ、主にデータを記憶する。ただし、メモリ200とデータベース300の役割分担は、使用する記憶デバイスの能力により流動的であり、特に限定されるものではない。
【0032】
本実施例では、メモリ200にプログラムとして前処理部201、画像合成部202、機械学習部203を格納するものとする。本実施例では、メモリ200に格納されたプログラムをCPU101が実行することにより、所定の機能を実現する。なお、同様の機能を実現できるのであれば、ソフトウェアでなく専用のハードウェアを用いてもよい。
【0033】
データベース300には、動画データ301、背景画像302、対象物画像303、正解情報304、オクルージョン画像305、学習用データ306が格納される。各部分の役割は後に説明される。
【0034】
以下で機械学習システム1の具体的処理の例を説明する。ここでは、例えば動画像から対象物として人物を抽出し、人物の例えば、関節、目、耳等任意の部分の座標を抽出するとともにラベル付けを行う骨格検出を例に説明する。もちろんその他の画像解析処理であっても、実施例の適用は可能である。機械学習モデルにより骨格検出のような画像解析を行う場合、機械学習モデルを学習するための学習用データの質と量が重要である。以下の実施例では、良質な学習用データを容易に生成する例を説明する。
【0035】
<2.前処理部>
図2は前処理部201の処理を示す概念図である。前処理部201は、例えば入出力インターフェース102を介して前処理を指示するコマンドを受信すると、以下の処理を開始する。
【0036】
前処理部201は、まずデータベース300から動画データ301を読み出す。動画データ301は、例えば対象物を撮影したビデオカメラから取得する。
【0037】
前処理部201は動画データ301を読み込み、当該動画データ301から例えば1フレームを切り出して静止画像を取得する(S2001)。動画データ301からは静止画像が複数取得でき、取得する数は任意であるが、以下の説明では1つの静止画像についての処理を説明する。
【0038】
前処理部201は、取得した静止画像から対象物(人物)やオクルージョンがない背景画像302、対象物(人物)がなくオクルージョンを含む背景画像2100、オクルージョンがなく対象物(人物)を含む背景画像2200を生成する。なお、オクルージョンとは、一般には対象物に重なる物体をさすが、本明細書では対象物以外で指定された任意の物体を総称する概念とする。
【0039】
図3は、静止画像2000から生成した各画像の概念を説明する図である。オクルージョンを含む背景画像2100には、背景(ここでは山)のほかオクルージョン画像(ここではルーペ)305が含まれ、対象物を含む背景画像2200には対象物画像303(ここでは人物)が含まれる
このような処理は、最も単純な例では、人(ユーザ)が適当なGUI(Graphical User Interface)を用いて、静止画像2000を見ながら対象物やオクルージョンを指定し、これらを背景から分離あるいは消去する。あるいは、公知の画像認識の技術を用いて自動的に分離等してもよい。あらかじめ定義された対象物やオクルージョンであれば、ある程度の精度で抽出が可能である。あるいは、自動的にこれらを抽出した後で、ユーザがチェックして修正してもよい。
【0040】
前処理部201は、次にオクルージョンを含む背景画像2100と対象物(人物)を含む背景画像2200から、オクルージョン画像305と対象物画像303を切り抜く。このためには、単純に背景画像302との差分を取ればよい。なお、上記の例では対象物やオクルージョンは一種類だが、複数あってもよい。
【0041】
次に前処理部201は、対象物画像303に個別の正解値を付与する(S2003)。最も一般的な手法では、適当なGUIを用いてユーザが正解を付与する。骨格検出の場合には、対象物画像303の画像上に目、肘関節、手首などの部位を指定して座標を記録する。以上で正解情報304が得られる。骨格検出の場合、正解情報304は、対象物例えば「人物」を特定する情報、対象物画像303、および対象物画像上の各部位の座標を含む。画像解析が分類の場合は対象物を特定する情報と対象物画像303の組を正解情報304とする。セグメンテーションの場合には、セグメンテーションした領域とカテゴリ分類の組を正解情報304とする。その他の画像解析の場合はそれらに応じた公知の正解情報とする。
【0042】
図4は、これらの前処理を行う際に、例えば入出力インターフェース102を介してディスプレイに表示するGUIの例である。
【0043】
前処理部201は、以上のように作成した背景画像302、対象物画像303、正解情報304、オクルージョン画像305を、データベース300に記録する。対象物画像303と正解情報304は組になる。このとき、これらの生成したデータには環境情報を示す環境情報タグを付与する。環境情報はユーザが任意に設定して付与してもよい。
【0044】
環境情報を自動的に付与することも可能である。例えば、動画データ301を撮影したビデオカメラが置かれた環境を示すタグ(あるいはビデオカメラを特定するID)を、当該動画データ301を元に生成した背景画像302、対象物画像303、正解情報304、オクルージョン画像305に自動的に付与してもよい。
【0045】
例えば、動画データ301を撮影したビデオカメラの環境情報が「第一工場、前工程室、第一カメラ」であれば、「第一工場」あるいは「第一工場、前工程室」あるいは「第一工場、前工程室、第一カメラ」のように環境情報をタグづけする。すなわち、環境情報の定義は任意である。環境情報は、上記のように階層構造にしてもよい。
【0046】
一般には動画データ301からは複数種類の静止画像2000が取得でき、背景画像302、対象物画像303、正解情報304、オクルージョン画像305も複数種類が取得できるから、これら複数の画像や情報に共通の環境情報が紐づけられてグループ化されることになる。以上の処理にて、学習用データを合成するためのパーツが、環境情報で分類され、データベース300に準備されたことになる。
【0047】
<3.画像合成部>
図5は画像合成部202の処理を示す概念図である。画像合成部202は、例えば入出力インターフェース102を介して画像合成を指示するコマンドを受信すると、以下の処理を開始する。
【0048】
画像合成部202は、データベース300から、背景画像302、対象物画像303、正解情報304、オクルージョン画像305を読み出す。このとき、例えば「第一工場、第一作業室」に設置したビデオカメラの画像を用いて機械学習モデルに画像解析を行わせたいとする。この場合、当該機械学習モデルの学習に用いる学習用データを生成するため、例えば入出力インターフェース102を介して「第一工場、前工程室」のように環境情報を指定する。これにより、例えば「第一工場、前工程室、第一カメラ」、「第一工場、前工程室、第二カメラ」の環境情報タグが付されたデータを呼び出すことができる。あるいは、「第一工場、前工程室、第一カメラ」のように環境情報を指定すると、「第一工場、前工程室、第一カメラ」の環境情報タグが付されたデータを呼び出すことができる。
【0049】
次に画像合成部202は、背景画像302、対象物画像303、正解情報304、オクルージョン画像305を合成して、背景画像に対象物とオクルージョンが張り付けられた合成画像を生成する。このとき、ユーザは例えば入出力インターフェース102を介して合成条件501を指定することができる。
【0050】
ここで、合成条件501は、以下のような情報を含むテンプレートにすることができる。
・合成する対象物やオクルージョンの種類や数
・背景画像に対する対象物やオクルージョンの位置(座標)の指定
・背景画像に対する対象物やオクルージョンの指定された位置(座標)からのばらつき
・対象物やオクルージョンの重なる順序(レイヤー)
・対象物やオクルージョンの大きさ
・対象物やオクルージョンの向き(角度)
・合成画像の明るさ
・合成画像の解像度
・合成画像上の特殊効果
【0051】
本実施例では、一度指定した合成条件をテンプレートとして保存しておいて再利用できるようにする。具体的には、例えば「第一工場、前工程室」の環境情報タグが付されたデータを呼び出して画像を合成する際には、「第一工場、前工程室」の環境を知悉しているユーザが合成条件を指定することができる。指定した合成条件は、「第一工場、前工程室」の環境情報タグを付してテンプレートとして保存する。
【0052】
例えば
図3に示した背景画像302、対象物画像(人物)303、オクルージョン画像(ルーペ)305を使って合成画像を生成する際の合成条件501としては、例えば背景画像302がレイヤー1(最下層)、対象物画像303がレイヤー2、オクルージョン画像305がレイヤー3(最上層)のように重ねる順序を指定する。また、対象物画像303の配置される座標は(Xmin,Ymin)、オクルージョン画像305の配置される座標は(X'min,Y'min)で、それぞれ(δX,δY)、(δX’,δY’)のばらつきを持たせる等の条件を設定する。ばらつきの条件は張り付ける領域を指定し、その中でランダムに配置させるようにしてもよい。
【0053】
図6は、ユーザが合成条件を編集する際に、入出力インターフェース102を介してディスプレイに表示するGUIの例である。ユーザは正解情報304が付された対象物画像303やオクルージョン画像305を画面上で移動させたり、重ねる順序を指定したりして合成条件を設定することができる。なお、これらのパーツ(背景画像、対象物画像、オクルージョン画像)は、同じ環境情報タグを持つ異なる複数の静止画像から生成したものを、混在して用いることができる。
【0054】
このような合成条件501を一度テンプレート化して設定したら、例えば「第一工場、前工程室」のような環境情報を示す環境情報タグを付して、画像合成部202内のメモリに記録しておく。そうすれば、同じあるいは類似の環境情報(例えば「第一工場、前工程室」あるいは「第二工場、前工程室」)を持つ背景画像302、対象物画像303、正解情報304、オクルージョン画像305を用いて画像を合成する際には、同じ合成条件を再利用できる可能性が高い。なお、合成条件501をテンプレート化して記憶する際に、当該合成条件を用いて生成した学習用データの学習精度や効率を(合成画像ではない)実画像で評価して、保存する合成条件を選択してもよい。
【0055】
合成条件の再利用を可能にするために、生成した合成条件は上記のように環境情報に紐づけておくことが望ましい。紐づける環境情報は、ユーザが任意に設定してもよいし、当該合成条件を使用して画像の合成を行ったパーツ等と同じ環境情報を自動的に設定してもよい。上記の例では、合成条件には、その合成条件を適用したパーツと同じ「第一工場、前工程室」の環境情報タグを自動的に付与する。
【0056】
かくして、画像合成部202は合成画像502と正解ラベル503の組を生成する。正解ラベル503は、この骨格検出の例では合成画像中の対象物画像303の位置とその中の目、肘関節、手首などの部位の位置座標である。合成画像502を生成した際に、対象物画像303は特定され、かつ対象物画像を張り付けた位置は判明しているので、これと正解情報304から正解ラベル503を生成することができる。合成画像502と正解ラベル503の組が1つの学習用データ306を構成する。
【0057】
画像合成部202は、生成した学習用データ306をデータベース300に記録する。記録する際には、学習用データを生成する際に使用したパーツや合成条件と同じ環境情報を付与しておいてもよい。このようにすることで、どのような環境で使用する学習モデルのためのデータが識別できる。すなわち、一つの例では、パーツ等、合成条件、および作成された学習用データが、環境情報で紐づけられることになる。各データにタグ付けする代わりに、環境条件ごとに異なるデータベースあるいはファイルに分けて格納してもよい。
【0058】
図7は、動画データ301の環境情報を、これに関連する静止画像2000、背景画像302、対象物画像303、正解情報304、オクルージョン画像305、合成条件501、学習用データ306が引き継ぐ例を示している。
【0059】
環境情報タグAで識別される動画データ301からは、環境情報タグAで識別される複数種の静止画像が得られ、これから前処理部201を用いて、環境情報タグAで識別される複数種類の背景画像302、対象物画像303、正解情報304、オクルージョン画像305が得られる。これらを合成して合成画像を生成する際には、環境情報タグAで識別される共通の合成条件を適用することができる。
【0060】
すなわち、画像合成部202により環境情報タグAを持つパーツの合成のための合成条件を生成した後、当該生成した環境情報タグAで識別される合成条件501は、同じ環境情報タグAを持つパーツの合成に再利用することができる。あるいは、後に
図9に示すように環境情報をあらかじめ分類しておけば、類似する環境情報タグを持つパーツの合成に再利用することができる。
【0061】
合成画像502と正解ラベル503の組からなる学習用データ306は、前述のXδ、Yδのばらつき条件により、物体相互の位置関係の異なる多数の種類の学習用データを生成することができる。また、複数種類の対象物画像303やオクルージョン画像305からランダムにパーツを選択することで、同じ対象物でも状態の異なる多数の種類の学習用データを生成することができる。これは、合成画像502を問題、正解ラベル503を正解とする教師データであり、機械学習モデルの学習用データとして用いることができる。
【0062】
<4.機械学習部>
機械学習部203は、生成した学習用データ306を用いて、図示していない機械学習モデルの学習を行う。機械学習モデルの学習の処理自体は、公知の技術を適用可能であるため、説明を省略する。
【0063】
学習を行う際には、例えば入出力インターフェース102を介して環境情報を示すタグを検索することで、環境に応じた学習用データ306を選択することができる。例えば、「第一工場、前工程室」における人間の骨格検出処理には、「第一工場、前工程室」の環境情報タグが付された学習用データを用いて機械学習を行うのがよい。あるいは、同一の環境情報を持つデータがない場合でも、「第一工場、前工程室」のタグが付された学習用データは「第一社員寮、調理室」の環境情報タグが付された学習用データより、「第二工場、前工程室」用途の学習に適している可能性がある。このように、環境情報を考慮した学習用データを選択することが可能となる。
【0064】
本実施例によれば、機械学習モデルが行う画像解析に適した学習用データを自動的に得る際に、画像合成の合成条件を再利用することが可能となる。
合成条件管理部204は、画像合成部202が合成条件501のテンプレートを作成した後、あるいは、そのテンプレートを用いて画像を合成した後、当該合成条件501に環境情報を示すタグを付して、データベース300に合成条件データ307として蓄積する。
他の例では、合成条件管理部204は、その合成条件を用いて画像合成部202が合成したパーツに付されていた環境情報を示す環境情報タグを、そのまま、あるいは編集して、当該合成条件に付与する。このようにして、合成条件管理部204が、環境情報と合成条件とを紐づけて分類したうえで、データベース300に合成条件データ307として格納する。
かかる階層構造によれば、同一の環境情報を持つ合成条件がない場合でも、類似する環境情報を持つ合成条件を抽出することができる。同様の階層構造による分類は、パーツや学習用データに対しても適用できる。
このような階層構造は、ユーザが任意に定義することができる。あるいは、合成したパーツの元になっている動画データを採取するビデオカメラの置かれた環境や、画像解析の目的に応じて、ユーザが定義することができる。
一つの例では、動画データを採取するビデオカメラには、環境情報と紐づけられたIDが付されており、当該ビデオカメラで撮影された動画データおよび当該動画データを元に生成された各種データおよびそのデータを合成した合成条件は、ビデオカメラと同じIDが付加される。このようにすると、一連のデータが環境情報でグループ分けされることになる。
具体的な例としては、「第一工場、前工程室」の環境情報タグが付されたパーツの合成条件として生成された合成条件は、「第一工場、前工程室」の環境情報タグが付された合成条件データ307としてデータベース300に格納されており、この合成条件は、後に「第一工場、前工程室」の環境情報タグが付された動画データをもとに得られたパーツの画像合成に再利用できる。