(57)【要約】【課題】  データに対し、そのデータ特性に特有の特徴を修正することができるようにすること。【解決手段】  本発明は、データのデータ特性を認識するニューラルネットワークを保持する保持手段と、前記保持手段に保持されたニューラルネットワークを用いて、当該ニューラルネットワークが前記データのデータ特性を所定のデータ特性と認識するように前記データを修正する修正手段と、を有することを特徴とする。【選択図】  図３
2018163444.tif 000002
【特許請求の範囲】
【請求項１】
データのデータ特性を認識するニューラルネットワークを保持する保持手段と、
前記保持手段に保持されたニューラルネットワークを用いて、当該ニューラルネットワークが前記データのデータ特性を所定のデータ特性と認識するように前記データを修正する修正手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記修正手段は、前記ニューラルネットワークが認識した前記データのデータ特性と前記所定のデータ特性との誤差を逆伝搬することにより前記データを修正することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ニューラルネットワークは、更に、前記データに含まれる対象を認識するものであり、
前記修正手段は、更に、前記対象の認識結果が変化しないように前記データを修正することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記ニューラルネットワークを学習する第１の学習手段を更に有することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記修正手段により修正されたデータを用いて、認識器を学習する第２の学習手段を更に有することを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第２の学習手段が、前記修正手段により修正されたデータを用いて、前記認識器を学習する際の重みを設定する設定手段を更に有することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記設定手段は、前記修正手段が前記データを修正するために前記ニューラルネットワークが認識した前記データのデータ特性と前記所定のデータ特性との誤差を逆伝搬して前記データを更新した回数に基づいて、前記重みを設定することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記設定手段は、前記修正手段による前記データの修正量に基づいて、前記重みを設定することを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記第２の学習手段によって学習された認識器を用いて認識処理を行う認識手段を更に有することを特徴とする請求項５から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記データと、前記修正手段によって修正されたデータとの差異を表示させる表示制御手段を更に有することを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記データは、画像データであることを特徴とする請求項１から１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記データのデータ特性はコンピュータグラフィックスに係る特性であり、前記所定のデータ特性は実写画像に係る特性であることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記データのデータ特性は、当該データを取得した機材の種類に係る特性または当該データを取得した環境に係る特性であることを特徴とする請求項１１に記載の情報処理装置。
【請求項１４】
データのデータ特性を認識するニューラルネットワークを保持するステップと、
前記保持されたニューラルネットワークを用いて、当該ニューラルネットワークが前記データのデータ特性を所定のデータ特性と認識するように前記データを修正するステップと、
を有することを特徴とする情報処理方法。
【請求項１５】
コンピュータを、請求項１から１３のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データの所定のデータ特性に特有の特徴を修正する技術に関する。
【背景技術】
【０００２】
非特許文献１には、ニューラルネットワークが所定の判定をするような画像を生成する方法が開示されている。具体的には、ニューラルネットワークのパラメータと教師値が固定であり、その教師値が出力されるように入力画像を更新する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−６２２２５号公報
【非特許文献】
【０００４】
【非特許文献１】Ｓｉｍｏｎｙａｎ，  Ｋ．，  Ｖｅｄａｌｄｉ，  Ａ．，  ＆  Ｚｉｓｓｅｒｍａｎ，  Ａ．  （２０１３）．  Ｄｅｅｐ  ｉｎｓｉｄｅ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｔｗｏｒｋｓ：  Ｖｉｓｕａｌｉｓｉｎｇ  ｉｍａｇｅ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｍｏｄｅｌｓ  ａｎｄ  ｓａｌｉｅｎｃｙ  ｍａｐｓ．  ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ａｒＸｉｖ：１３１２．６０３４．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１には、所定のデータ特性を有するデータから所定のデータ特性に特有の特徴を修正することについては開示されていなかった。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、データのデータ特性を認識するニューラルネットワークを保持する保持手段と、前記保持手段に保持されたニューラルネットワークを用いて、当該ニューラルネットワークが前記データのデータ特性を所定のデータ特性と認識するように前記データを修正する修正手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、データに対し、そのデータ特性に特有の特徴を修正することができるようになる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る情報処理装置の概略ブロック図。
【図２】第１の実施形態に係る情報処理装置による処理を示すフローチャート。
【図３】第１の実施形態に係るデータ修正部による処理を示すフローチャート。
【図４】第１の実施形態におけるデータ更新処理の詳細を示すフローチャート。
【図５】第１の実施形態におけるデータ特性認識ニューラルネットワークの模式図。
【図６】第１の実施形態に係る学習重み設定部による設定処理を示すフローチャート。
【図７】第２の実施形態におけるデータ特性認識ニューラルネットワークの模式図。
【図８】第２の実施形態におけるデータ更新処理の詳細を示すフローチャート。
【図９】第３の実施形態に係る情報処理装置の概略ブロック図。
【図１０】第３の実施形態に係る学習重み設定部による設定処理を示すフローチャート。
【図１１】第４の実施形態に係る情報処理装置の概略ブロック図。
【図１２】第４の実施形態における差異データの表示処理を示すフローチャート。
【発明を実施するための形態】
【０００９】
［第１の実施形態］
以下、本発明の第１の実施形態の詳細について図面を参照しつつ説明する。本実施形態は、ＣＧ（コンピュータグラフィックス）画像を入力画像とし、ＣＧ画像に特有の特徴を修正した画像、すなわち実写画像に特徴を近づけた画像を生成するものである。ここで、本実施形態において生成されるＣＧ画像に特有の特徴を修正した画像の用途の一例について説明する。
【００１０】
画像、音声などのデータの内容を認識する認識器を学習する際に、学習データを人工的に作成したデータを学習データとして使用することが一般的に行われている。例えば、特許文献１には、人間の顔の検出器を学習するために、照明条件を変動させた多数の顔画像をＣＧによって生成して、これを学習データとしている。学習データを人工的に生成することにより、実際に画像を撮影するのに比べて多くのバリエーションの画像を簡易に用意することができる。
【００１１】
ここで、画像中に特定の対象物（例えば、人間の顔）が存在するかしないかを認識する認識器を学習する場合について考える。学習データとしては、認識対象の画像（正事例）と認識対象でない画像（負事例）を用意し、これを用いて学習することが一般的である。ここで、特許文献１のように、学習画像をＣＧで作成しても構わない。その場合、正事例の画像をＣＧで生成することは一般的だが、負事例の画像はＣＧでは作らないことが一般的である。ＣＧ画像を生成するためには３Ｄモデルの作成が必要であり、認識対象ではないあらゆる対象に対して３Ｄモデリングをすることは煩雑だからである。また、負事例とは認識対象を含まない画像であるが、そのような画像を収集することは比較的容易であるため、負事例をＣＧで生成することは少ない。
【００１２】
以上のように正事例にＣＧ画像を含み、負事例にＣＧ画像を含まないような学習データで学習した場合、画像がＣＧであるかどうかを見分けるような認識器が学習されてしまうことがある。これは、学習データ中ではＣＧであれば必ず正事例であるので、正事例である根拠が画像中の物体の特徴に由来するのか、画像がＣＧであることによる特徴に由来するのか、区別することができないためである。例えば、ニューラルネットワークで学習した場合、顔らしい画像特徴だけではなく、ＣＧに特有の画像特徴にも強く反応するような認識器が学習されてしまう。ＣＧに特有の特徴の例をあげると、ノイズのない均一な領域、彩度が非常に高い色、単純な照明モデルによる整い過ぎたグラデーションなどである。例え人間がＣＧと実写との差が気にならなかったり、大差ないように感じたとしても、ＣＧと実写画像との間に何らかの統計的な差異が存在すれば、その特徴に反応するように学習されてしまうことがある。
【００１３】
そして、認識実行時に入力される画像は実写画像であり、それらはすべてＣＧに特有の特徴を持っていないので、前述のようにＣＧに特有の特徴を学習した認識器は認識に失敗しやすく、認識性能が低下するという問題がある。
【００１４】
本実施形態では、ＣＧ画像に特有の特徴を修正した画像を生成するものであるが、例えば学習データとしてこの修正された画像を利用すれば、認識器の認識精度の低下を軽減することが可能になる。
【００１５】
以下、本実施形態では、対象のデータは画像データであるとして説明するが、音声データなど他の種類のデータであっても構わない。また、認識処理の出力として、所定の物体（例えば、人間の顔、自動車、標識など）が画像中にあるか否かの結果を出力する例を挙げるが、本実施形態はこれに限定されるものではない。例えば、画像に対して何らかの評価値（例えば、顔の笑顔度、年齢、自動車の台数など）を出力するような認識器であっても構わない。また、以下では、認識すべき対象のことを「ターゲット」と記載する。
【００１６】
図１は、本実施形態に係る情報処理装置の概略ブロック図である。第１特性データ保持部１２０および第２特性データ保持部１２１は、ともに所定のターゲットを学習するための学習データを保持する保持部であるが、データの特性によって２つに分けられている。第１特性データ保持部１２０は第１のデータ特性を有する第１特定データを複数保持しており、第２特性データ保持部１２１は第２のデータ特性を有する第２特性データを複数保持している。
【００１７】
ここで「データ特性」とは、データの内容に関する特性ではなく、そのデータを作成もしくは取得した方法などに起因する特性のことである。画像を例にとれば、何が写っている画像かを表す特性ではなく、画像の生成方法、例えばＣＧで作成されたか、実写であるかなどを表す特性である。
【００１８】
また、ＣＧ、実写といったデータ特性以外の例としては、例えば、使用した撮影機材の種類や撮影環境の種別などが挙げられる。データ特性が使用した撮影機材の種類や撮影環境の種別などの場合にも、データ特性の異なるデータを正事例、負事例の学習データとして認識器を学習すると、データ特性の違いに反応し易く、認識精度の低くなる可能性がある。それは、撮影機材の種別により、例えばコントラスト、ダイナミックレンジ、色再現の範囲、色調の傾向、ノイズの特性などの特徴が異なり、これによって、画像から撮影機材の識別ができてしまう場合があるからである。また、各環境の背景や照明条件などによって、画像から撮影環境の識別ができてしまうような場合もあるからである。
【００１９】
本実施形態では、データ特性の種類について特に限定されるものではないが、以下の説明においては、第１のデータ特性はカメラなどを用いて実際の対象物を撮影した実写画像のような実データであるというデータ特性とする。また、第２のデータ特性は、ＣＧ画像のような人工データであるというデータ特性とする。なお、本実施形態では、データを画像として説明するが、データが音声データである場合にも上記の例と同様に扱うことが可能である。例えば、第１のデータ特性として実際の音を録音した実録音データ特性、第２のデータ特性として人工的に音声合成した人工音データ特性としてもよい。
【００２０】
第１特性データ保持部１２０および第２特性データ保持部１２１に保持されているデータは、ともに所定のターゲットを学習するための学習データでもあり、個々のデータにはターゲットに関するターゲットラベルが予め付されている。ターゲットラベルとは、例えば、認識すべきターゲットが人間の顔であるならば、人間の顔が写っている画像か、写っていない画像かを表す２クラスの教師値のことである。これは、前述したデータ特性とは異なり、画像の内容に応じて付されたラベルである。例えば、顔画像であれば０、顔でない画像であれば１というようにターゲットラベルが付されている。なお、ターゲットラベルは上記のような単なる２値ラベルに限定されるものではなく、複数の認識対象を表す複数の値を持つものや、実数値、ベクトル値などであってもよい。データとラベルとを関連付ける方法としては、例えばデータのファイル名とラベルの値とのテーブルを作成し、そのテーブルをデータと同じ場所に格納しておけばよい。
【００２１】
ニューラルネットワーク保持部１２２は、データ特性を認識する認識器としてのデータ特性認識ニューラルネットワーク（ネットワークの構造や学習パラメータ）を保持している。学習パラメータとは、データ特性認識ニューラルネットワークが学習するパラメータのことで、ネットワーク間の結合重みやバイアス値などのことである。ニューラルネットワークの構造とは、中間層の数、各中間層のユニット（ニューロン）数や各ユニットの結合構造を記載したものである。これらは、後述する第１の学習部１１０によって学習された後に、ニューラルネットワーク保持部１２２に格納される。
【００２２】
ターゲット認識器保持部１２３は、後述する第２の学習部１１１によって学習される、ターゲットを認識するための認識器が保持されている。
【００２３】
第１の学習部１１０と第２の学習部１１１は、ニューラルネットワーク保持部１２２に保持されるデータ特性認識ニューラルネットワークおよびターゲット認識器保持部１２３に保持される認識器を学習するための機能部である。第１の学習部１１０と第２の学習部１１１は、学習する内容、すなわち認識する対象がそれぞれ異なるものであり、その詳細については後述する。
【００２４】
データ修正部１１２は、第２特性データ保持部１２１に保持されている第２特性データを修正する。また、データ修正部１１２は、第２の学習部１１１が修正された第２特性データを用いて学習する際の重みを設定する学習重み設定部１１４という機能部を含む構成となっている。認識部１１３は、未知の画像データに対して認識処理を行う。修正済データ保持部１２４は、データ修正部１１２によって修正された第２特性データを保持する。
【００２５】
なお、本実施形態の情報処理装置は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ等のハードウェア構成を備え、ＣＰＵがＲＯＭやＨＤ等に格納されたプログラムを実行することにより、例えば、上述の各機能構成や後述するフローチャートの処理が実現される。ＲＡＭは、ＣＰＵがプログラムを展開して実行するワークエリアとして機能する記憶領域を有する。ＲＯＭは、ＣＰＵが実行するプログラム等を格納する記憶領域を有する。ＨＤは、ＣＰＵが処理を実行する際に要する各種のプログラムに関するデータ等を含む各種のデータを格納する記憶領域を有する。
【００２６】
以下、本実施形態に係る情報処理装置の全体の処理の流れについて説明する。図２は、本実施形態に係る情報処理装置による処理の流れを示すフローチャートである。ステップＳ２０１では、第１の学習部１１０が、データ特性認識ニューラルネットワークを学習する。第１の学習部１１０は、第１特性データ保持部１２０に保持されている第１特性データおよび第２特性データ保持部１２１に保持されている第２特性データを学習データとし、データ特性を認識する認識器としてデータ特性認識ニューラルネットワークを学習する。
【００２７】
第１特性データには第１のデータ特性であるというデータ特性ラベルが付され、第２特性データには第２のデータ特性であるというデータ特性ラベルが付されている。データ特性ラベルは、前述したターゲットラベルとは別のものである。第１の学習部１１０は両者を判別できるようにデータ特性認識ニューラルネットワークを学習する。第１の学習部１１０は、以上のようにして学習を行い、第１特性データと第２特性データを判別するデータ特性認識ニューラルネットワークをニューラルネットワーク保持部１２２に格納する。
【００２８】
図５は、本実施形態において第１の学習部１１０によって学習されるデータ特性認識ニューラルネットワークの一例を示す模式図である。図５に示すデータ特性認識ニューラルネットワークは、データ５０１を入力層５０２に入力すると、１つ以上の中間層５０３を経て、実写画像であるかＣＧ画像であるかの２クラスを表す出力層５０４に出力するものである。ニューラルネットワークの各層には、複数のユニット（ニューロン）がある。出力層の表現は１−ｏｆ−ｋ表現となっており、ラベルがＬ（Ｌは整数）ならばＬ番ユニットの値が１で、他のユニットの値は０となるよう設定するものである。認識時には出力層のユニットの値は総和が１となるようなＳｏｆｔｍａｘ処理がなされ、出力層の各ユニットの値は各クラスに対するクラス確率とみなすことができる。出力層５０４では、データが実写画像（第１のデータ特性）であるクラス確率がユニット５０５に、データがＣＧ画像（第２のデータ特性）であるクラス確率がユニット５０６に出力される。
【００２９】
なお、ニューラルネットワークの構造はこの例に限定されるものではなく、例えば、非特許文献１に記載があるような畳み込みニューラルネットワークの構造であってもよい。ニューラルネットの学習方法は周知の技術であり、詳しい説明は省略するが、誤差逆伝搬法などの方法を用いて行えばよい。図５では、矢印５０７がニューラルネットワークの出力値を算出するフィードフォワードの方向を示しており、矢印５０８が誤差逆伝搬を行うフィードバックの方向を示している。
【００３０】
次に、ステップＳ２０２では、データ修正部１１２が、第２特性データ保持部１２１に保持されている第２特性データを修正し、修正されたデータを修正済データ保持部１２４に格納する。
【００３１】
データ修正部１１２は、ステップＳ２０１で学習したデータ特性認識ニューラルネットワークによって第１のデータ特性であると認識されるように第２特性データを修正するものである。本実施形態で対象としているデータは画像データであるので、データ修正部１１２は画像データを修正するものである。また、第１のデータ特性は実写画像（実データ）の特性、第２のデータ特性はＣＧ画像（人工データ）の特性であるので、データ修正部１１２は、ＣＧ画像に対してそれが実写画像と認識されるように第２特性データを修正するものである。なお、データ修正部１１２におけるデータ修正の方法の詳細については後述する。
【００３２】
さらに、ステップＳ２０２では、データ修正部１１２が、修正前の第２特性データに付されていたターゲットラベルを、修正済の第２特性データと関連付けて修正済データ保持部１２４に格納する。さらに、データ修正部１１２は、学習重み設定部１１４が算出する学習重みも、修正済の第２特性データと関連付けて修正済データ保持部１２４に格納する。学習重みは０から１までの実数であり、次ステップＳ２０３で行う学習処理において各データがどの程度の重みで学習されるべきかを表すものである。学習重み設定部１１４の処理の詳細については後述する。ターゲットラベルや学習重み値を修正済の第２特性データと関連付けて格納する方法としては、例えば、修正済の第２特性データのファイル名とターゲットラベルと学習重み値とのテーブルを作成し、修正済データ保持部１２４に格納すればよい。
【００３３】
次に、ステップＳ２０３では、第２の学習部１１１が、ターゲットを認識するターゲット認識器を学習する。第２の学習部１１１は、修正済データ保持部１２４に保持された修正済み第２特性データと、第１特性データ保持部１２０に保持された第１特性データとを学習データとし、ターゲットとする認識対象を含むかどうかを認識するターゲット認識器を学習する。修正済み第２特性データと第１特性データにはそれぞれターゲットに関するターゲットラベルが付されているのは前述のとおりであり、第２の学習部１１１は、それを用いて学習する。
【００３４】
また、修正済み第２特性データには、前述の通り学習重みが付与されており、学習の際には各データに付与された学習重みに従って学習が実行される。なお、第１特性データについては学習重みが１であるとして学習すればよい。
【００３５】
第２の学習部１１１は、画像データにターゲットが写っているか否かを判別するターゲット認識器を以上のようにして学習し、ターゲット認識器保持部１２３に格納する。なお、第２の学習部１１１によって学習されるターゲット認識器は特定の方法に限定されるものではなく、例えば、第１の学習部１１０と同様にニューラルネットワークによる方式でよい。または、サポートベクトルマシン（ＳＶＭ）や決定木などの他の方式を用いてもよい。これらの方式を採用した際の学習方法については周知の技術であるので、ここでは詳細な説明を省略する。
【００３６】
続いて、ステップＳ２０４では、認識部１１３が未知の画像データに対して認識処理を行う。認識部１１３は、例えば、ユーザによって指定された画像データに対してターゲット認識器保持部１２３に保持されているターゲット認識器を用いて認識処理を行い、認識結果を出力する。ステップＳ２０３までの処理によってターゲット認識器が学習された後は、本ステップＳ２０４における認識処理は任意の入力画像に対して何度でも繰り返し行うことができる。
【００３７】
なお、ここでは説明を簡単にするために、第１の学習部１１０で用いられる第１特性データおよび第２特性データと、第２の学習部１１０で用いられる第１特性データおよび第２特性データは共通のもととして説明をした。そのために、第１特性データおよび第２特性データにはデータ特性ラベルとターゲットラベルとが付されているものとして説明した。しかし、第１の学習部１１０で用いられる第１特性データおよび第２特性データと、第２の学習部１１０で用いられる第１特性データおよび第２特性データとを別々のものとしてもよい。この場合、第１の学習部１１０で用いられる第１特性データおよび第２特性データは、データ特性ラベルが付されていればよく、ターゲットラベルは必ずしも必要ない。また、第２の学習部１１１で用いられる第１特性データおよび第２特性データは、ターゲットラベルのみが付されていればよく、データ特ラベルは必ずしも必要ない。この場合には、第１の特性データと第２の特性データとを区別できなくなるので、第２の学習部１１１の学習データとして供される全てのデータを修正処理すればよい。
【００３８】
また、本実施形態の情報処理装置が、ステップＳ２０１からＳ２０４までの処理を全て行う構成としているが、これらの処理をすべて本実施形態の装置で行う必要はない。すなわち、ステップＳ２０１におけるデータ特性認識ニューラルネットワークの学習は別の装置で行われ、本実施形態はその学習されたデータ特性認識ニューラルネットワークを取得してステップＳ２０２で用いるという形態であっても構わない。また、ステップＳ２０３のターゲット認識器の学習についても、本実施形態の情報処理装置が修正した第２特性データを用いて、別の装置により行うようにしてもよいし、ステップＳ２０４の認識処理についても別の装置で行うようにしてもよい。以上で、本実施形態に係る情報処理装置の全体の処理の流れについての説明を終える。
【００３９】
次に、本実施形態に係るデータ修正部１１２による修正処理について説明する。図３は、本実施形態における修正処理の流れを説明するフローチャートである。まず、ステップＳ３０１で、データ修正部１１２は、第２特性データ保持部１２１の中から第２特性データを１つロードする。また、後述するデータ更新処理を実行した繰り返し回数を表す変数Ｎを０に初期化する。
【００４０】
次に、ステップＳ３０２で、データ修正部１１２は、ニューラルネットワーク保持部１２２に保持されているデータ特性認識ニューラルネットワークを用いて、前ステップＳ３０１でロードしたデータに対してデータ特性の判定を行う。本実施形態では、第１のデータ特性として実写画像の特性を、第２のデータ特性としてＣＧ画像の特性を用いているので、入力されたデータが実写画像かＣＧ画像かを判定する。
【００４１】
本実施形態では、データ特性認識ニューラルネットワークの出力層５０４における実写クラス確率５０５がＣＧクラス確率５０６よりも所定の閾値以上の差で大きければ、データが実写画像であると認識するものとする。以下、この閾値を実写画像判定閾値と記す。実写画像判定閾値は、０から０．５までの実数値であり、例えば、実写クラス確率５０５がＣＧクラス確率５０６よりも０．２以上大きい場合に実写画像であると判定するようにしたい場合、実写画像判定閾値は０．２に設定する。この場合、実写クラス確率５０５が０．６以上であるときに、実写画像であると判定される。
【００４２】
なお、実写画像判定閾値は、ユーザが決めてもよいし、実際にＣＧ画像と実写画像との認識器を学習した後にサンプルデータに対する出力層５０４の値を確認して、閾値をどの程度にすれば実写判定精度がよくなるかによって閾値を決めるなどしてもよい。本ステップＳ３０２でデータが実写画像（第１のデータ特性）であると判定されればステップＳ３０３に進み、ＣＧ画像（第２のデータ特性）であると判定されればステップＳ３０４に進む。
【００４３】
ステップＳ３０４で、データ修正部１１２は、データ更新処理の繰り返し回数を表す変数Ｎが別途定める所定の閾値Ｎｍａｘを超えているかどうかを判定する。閾値Ｎｍａｘはデータ更新処理の繰り返し回数の上限を示すための閾値で、本実施形態ではユーザが別途定めておく定数である。変数Ｎが閾値Ｎｍａｘを超えていない場合はステップＳ３０５に進み、変数Ｎが閾値Ｎｍａｘを超えている場合ステップＳ３０３に進む。
【００４４】
ステップＳ３０５で、データ修正部１１２は、データ特性認識ニューラルネットワークによってデータが第１のデータ特性（実写画像）であると認識されるようにデータを更新する。これは、非特許文献１に記載の方法と同様の処理である。このステップＳ３０５におけるデータ更新処理の詳細について、図４のフローチャートを用いてより詳しく説明する。
【００４５】
図４は、本実施形態におけるデータ更新処理の詳細を示すフローチャートである。ステップＳ４０１で、データ修正部１１２は、データをデータ特性認識ニューラルネットワークに入力し、出力値を得る。本ステップでは、図５の出力値算出方向を示す矢印５０７の方向にフィードフォワード処理を行い、出力値を得る。出力値とは、図５の出力層５０４の各ユニット（５０５，５０６）の値であり、データ特性が第１の特性および第２の特性らしい確率を示すものである。本実施形態においては、第１のデータ特性および第２のデータ特性は実写の特性およびＣＧの特性であるので、出力層５０４の各ユニットは実写クラス確率５０５およびＣＧクラス確率５０６を表している。
【００４６】
ステップＳ４０２で、データ修正部１１２は、実写と判定されるために必要な出力目標値と前ステップで得た出力値との誤差を算出する。実写と判定されるために必要な実写クラス確率５０５とＣＧクラス確率５０６の出力目標値は、それぞれ以下の数式１および数式２で算出することができる。
【００４７】
【数１】
2018163444.tif 000003
【００４８】
【数２】
2018163444.tif 000004
ステップＳ４０２で算出する誤差は、上記の実写クラス確率目標値と実写クラス確率５０５との差、および上記のＣＧクラス確率目標値とＣＧクラス確率５０６との差である。
【００４９】
ステップＳ４０３で、データ修正部１１２は、前ステップＳ４０２で算出した誤差を用いて誤差逆伝搬法によってデータの更新を行い、更新データを得る。ここで、誤差逆伝搬法による更新は、ニューラルネットワークの学習パラメータを更新するものではなく、データの値のみを更新するものである。図５中の誤差伝搬方向を示す矢印５０８の方向に、誤差をニューラルネットワークの出力層からデータ入力層に向けて伝搬させ、ステップＳ４０２で算出された誤差を小さくするようにデータの値を更新する。
【００５０】
本実施形態では、対象のデータが画像データであるので、この処理によって画像の画素値が変更される。以上のような処理をすることにより、ＣＧか実写かを認識する認識器であるデータ特性認識ニューラルネットワークの出力が実写と判定される出力目標値に近づくようデータが更新される。すなわち、データがＣＧであると判断するための特徴が修正される（消される）ように更新された更新データが生成される。
【００５１】
ここで、データが実写とＣＧの合成画像であり、ＣＧの領域を示すマスクが既知である場合には、データのマスク内（ＣＧ領域）のみを更新するようにしてもよい。そして、マスク外は更新前のデータ、マスク内は更新後のデータとなるように更新前データと更新後データを合成したものを更新データとすればよい。なお、対象のデータが音声データの場合は、データ修正部１１２によって音声データを表現しているデータの値が変更されることになる。以上で、本実施形態におけるデータ更新処理の説明を終える。
【００５２】
図３に戻り、ステップＳ３０６で、データ更新処理の繰り返し回数を表す変数Ｎを１加算する。ステップＳ３０６以降は、再びＳ３０２に戻り、データが実写画像と判定されるまでデータ更新処理を繰り返す。
【００５３】
ステップＳ３０３で、学習重み設定部１１４はデータの学習重みを設定する。学習重み設定部１１４の処理の詳細については後述する。
【００５４】
ステップＳ３０７で、データ修正部１１２は、修正されたデータを修正済データ保持部１２４に格納する。データ修正部１１２は、修正前のデータにつけられていたターゲットラベルと、ステップＳ３０３で設定された学習重みも、修正されたデータと関連付けて修正済データ保持部１２４に格納する。
【００５５】
ステップＳ３０８では、データ修正部１１２が、第２特性データ保持部１２１に保持されている第２特性データの全てに対して以上の処理が完了したかどうかを判定する。完了していなければ、ステップＳ３０１に戻って別のデータに対して処理を行う。以上で、本実施形態に係るデータ修正部１１２による修正処理の説明を終える。
【００５６】
次に、学習重み設定部１１４による学習重みの設定について説明する。図６は、本実施形態に係る学習重み設定部１１４による設定処理の流れを説明するフローチャートである。まず、ステップＳ６０１で、学習重み設定部１１は、図３のフローチャートにおける変数Ｎが閾値Ｎｍａｘ以上であるかどうかを判定する。Ｎｍａｘ以上であればステップＳ６０２に進み、変数ＮがＮｍａｘ以上でなければステップＳ６０３に進む。
【００５７】
ステップＳ６０２で、学習重み設定部１１４は、学習重みを所定の設定値として０に設定する。これは、データ修正の回数が所定の閾値Ｎｍａｘ以上になった場合には、そのデータをＳ２０３におけるターゲット認識器の学習に使用しないようにすることを意味する。なお、変数Ｎが閾値Ｎｍａｘ以上になった場合の学習重みは、必ずしも０に設定するように限定するものではなく、別途定める所定の値（例えば、０に近い値）に設定するなどしてもよい。
【００５８】
ステップＳ６０３では、学習重み設定部１１４が、変数Ｎの値に応じて学習重みを設定する。本ステップにおいて、学習重み設定部１１４は、例えば以下の数式３で示す関数によって学習重みを設定する。
【００５９】
学習重み  ＝  ａＮ      （数式３）
ここで、ａは別途定める０から１までの実数とする。これは、データ更新を行った回数に応じて学習重みを減らすよう設定する処理の一例であり、修正回数を学習データの信頼度とみなして学習重みを減少させていくことを意味する処理である。なお、学習重み設定部１１４による学習重みの設定方法は上述の方法に限定されるものではない。例えば、変数Ｎに応じて減少する上記とは別の関数によって設定したり、または、変数Ｎが所定回数増える毎に段階的に学習重みを減らすように設定するなどしてもよい。以上により、本実施形態における学習重み設定部１１４による設定処理ついての説明を終える。
【００６０】
なお、本実施形態では、説明を簡単にするためにデータ特性は２種類あるとしていたが、データ特性は２種類以上あってもよい。この場合、例えば、第１特性データと第２特性データに加えて、第３特性データを更に準備し、第１の学習部１１０は３種類のデータ特性を判別するようにデータ特性認識ニューラルネットワークを学習すればよい。データ特性認識ニューラルネットワークの構造は、図５の出力層５０４を２ユニットから３ユニットに増やした構造にすればよい。データ修正部１１２による修正処理のステップＳ３０５では、３つあるデータ特性のうち所定のデータ特性に判定されるようにデータを修正すればよい。このように複数のデータ特性のデータがある場合とは、例えば以下のような場合である。撮影機材が複数種類あり、認識時にはそのうちの１種類の機材を使って認識をするという場合で、認識用でない機材で取得したデータからその機材特有の特徴を学習しないようにしたい場合などである。または、ＣＧなどの人工データの作成方法が複数種類あり、それぞれ別のデータ特性を持っている場合などである。
【００６１】
以上のように、本実施形態では、データ修正部１１２により、例えば人工データ（ＣＧ画像など）のような特定のデータ特性を持つデータからそのデータ特性に特有の特徴を修正することが可能になる。そして、この修正されたデータを用いてターゲット認識器を学習すれば、人工データに特有の特徴に強く反応しないように認識器が学習され、認識精度を向上させることが可能になる。
【００６２】
また、データ修正部１１２によって学習データにＣＧなどの人工データに特有の特徴が修正される（消される）ことにより、人工データ特有の特徴を抽出するために学習パラメータを使用しなくてもよくなる。そのため、学習パラメータを効率的に使った学習が可能となる。すなわち、同じ学習パラメータ数であれば、本実施形態により認識精度が向上するということである。または、学習パラメータ数が少ない設定で、従来同等の性能に到達することができ、メモリ使用量の削減、計算ハードウェアの削減、処理速度の向上などの効果があるということである。
【００６３】
また、学習重み設定部１１４により修正回数に応じてデータの学習重みを調節することにより、実写データの特性から離れたデータ特性であったデータに対して学習重みを下げることができ、認識の精度を向上させることができる。
【００６４】
また、本実施形態では、データ修正部１１２によって修正されたデータ（修正済み第２特性データ）は修正前のデータと同じように扱うことができる。そのため、例えば、修正前のデータが画像であれば、修正後のデータも同じ画像である。学習データのバリエーションを増やすために、画像に対して回転・反転・変形・色変換などのデータ変換処理を行うことが一般的であるが、それらの処理も修正後データに対してそのまま用いることができる。
【００６５】
また、本実施形態において、データ修正部１１２の処理は、第２の学習部１１１の方法とは独立であることから、ターゲット認識器を学習するための第２の学習部１１１としては任意の学習方法を用いることができる。ユーザが元々人工画像をそのまま使用して学習をしていた場合、第１の学習部１１０とデータ修正部１１２を導入してデータを修正しても、従来から使用していたターゲット認識器の学習方法はそのまま使用することができる。
【００６６】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。本実施形態は、第１の実施形態と同様にデータ特性に関する特徴を修正するのに加えて、ターゲットのクラスに関する特徴がデータ修正前の特徴から大きく変化しないようにするものである。つまり、対象画像からＣＧ的特徴を消すようにデータを更新する際に、画像の内容に関する特徴も変更されることを抑制するものである。以下、第１の実施形態において既に説明をした構成については同一の符号を付し、その説明は省略する。
【００６７】
まず、本実施形態は、後述するターゲット出力値を保持するためのターゲット出力値保持部（不図示）を有する。また、本実施形態は、第１の学習部１１０が学習するデータ特性認識ニューラルネットワークの構造および学習する対象が第１の実施形態とは異なる。図７に、本実施形態におけるデータ特性認識ニューラルネットワークの構造を示す。図７に示すニューラルネットワークは、図５と比較して、データ特性を学習するだけでなく、ターゲットクラスも同時に学習する点が異なっている。入力層７０２は１つであるが、出力層が２つある。データ特性出力層７０４は第１のデータ特性のクラス確率（実写クラス確率７０５）および第２のデータ特性のクラス確率（ＣＧクラス確率７０６）を出力する。ターゲット出力層７０７はターゲットクラス確率７０８と非ターゲットクラス確率７０９を出力する。
【００６８】
学習時には２つの出力層にそれぞれのラベルを与えて学習を行えばよい。このような設定で学習をすることは一般的にマルチタスク学習として知られている周知の方法であるので、詳細な説明は省略する。またターゲット出力層７０７については２クラスの認識を行う例を挙げているが、これに限定されるものではなく、２クラス以上の多クラスの認識を行う設定であってもよいし、実数値で表される認識結果を出力する回帰学習の設定でもよい。
【００６９】
また、本実施形態は、図３のステップＳ３０５におけるデータ修正部１１２のデータ更新処理の内容が第１の実施形態とは異なっている。図８は、本実施形態においてデータ修正部１１２がステップＳ３０５で実施するデータ更新処理の流れを説明するフローチャートである。まず、ステップＳ８０１で、データ修正部１１２は、図７で説明した本実施形態のデータ特性認識ニューラルネットワークにデータを入力し、出力値を得る。ここで、出力値とはデータ特性出力層７０４の出力とターゲット出力層７０７の出力である。以下では、前者をデータ特性出力値、後者をターゲット出力値と記す。
【００７０】
ステップＳ８０２では、図３のステップＳ３０１で設定してステップＳ３０７で更新する変数Ｎの値が０であるか否かを判定する。すなわち、処理対象としているデータがまだ一度も更新されていないデータであるか否かを判定する。変数Ｎが０である場合はステップＳ８０３に進み、そうでない場合はステップＳ８０４に進む。
【００７１】
ステップＳ８０３では、データ修正部１１２が、ステップＳ８０１で得た出力値のうち、ターゲット出力値をターゲット出力値保持部に格納する。ここで格納されるターゲット出力値は変数Ｎが０であるときのターゲット出力値、すなわち、データ更新処理が行われる前のデータに対するターゲット出力値がターゲット出力目標値保持部に格納される。
【００７２】
ステップＳ８０４では、データ修正部１１２が、図４におけるステップＳ４０２での処理と同様に、ステップＳ８０１で得たデータ特性出力値と実写画像判定されるデータ特性出力目標値との誤差を算出する。実写画像判定されるデータ特性出力目標値は、図４のステップＳ４０２で説明した通り、数式１および数式２によって算出できる。ステップＳ８０５では、データ修正部１１２が、ステップＳ８０１で得たターゲット出力値と、ステップＳ８０３で保存していたターゲット出力目標値との誤差を算出する。
【００７３】
ステップＳ８０６では、データ修正部１１２が、ステップＳ８０４で算出したデータ特性に関する誤差と、ステップＳ８０６で算出したターゲットに関する誤差の両方を用いて、誤差逆伝搬法でデータを更新する。ここで、データ特性の誤差からの誤差逆伝搬とターゲットの誤差からの誤差逆伝搬には、それぞれ異なる重みを与えて誤差逆伝搬を行ってもよい。その重みによって、データからＣＧ的な特徴を消すようデータ修正する効果を優先するのか、ターゲットに関する特徴を保存する効果を優先するのかを調整することができる。
【００７４】
なお、本実施形態では、データ更新前のターゲット出力結果が変わらないように誤差逆伝搬を行ったが、他の方法も考えられる。例えば、ターゲット出力値の目標値として所定のターゲット出力値を別途定めておき、その出力値になるように誤差逆伝搬する方法もある。その場合は、上述の説明におけるステップＳ８０３でデータ特性認識ニューラルネットワークのターゲット出力値の初期値を保持していたが、それに代えて所定の値をターゲット出力目標値として保持しておけばよい。
【００７５】
また、本実施形態では、情報処理装置が有する第１の学習部１１０によって、ターゲットのクラスに関する特徴がデータ修正前の特徴から大きく変わらないようにニューラルネットワークを学習している。しかし、本実施形態は、別の装置によって上述のように学習されたデータ特性認識ニューラルネットワークを用いて、データ修正部１１２がデータを修正するような形態も含むものである。
【００７６】
以上説明したように、本実施形態によれば、画像からＣＧ的特徴が消される（修正される）ようにデータを更新する際、画像の内容に関する特徴が元のデータから変更されることを抑制することが可能になる。
【００７７】
［第３の実施形態］
次に、本発明の第３の実施形態について説明する。本実施形態は、学習重み設定部１１４が、データ修正部１１２によって修正されたデータのデータ修正量に応じて学習重みを設定することを特徴とする。以下、第１、第２の実施形態において既に説明をした構成については同一の符号を付し、その説明は省略する。
【００７８】
図９は、本実施形態に係る情報処理装置の概略ブロック図である。本実施形態の情報処理装置が第１の実施形態と相違する点は、本実施形態では学習重み設定部１１４のサブ機能部としてデータ修正量算出部１１５が追加されており、また学習重み設定部１１４の処理の内容が異なる点である。
【００７９】
図１０は、本実施形態における学習重み設定部１１４による設定処理のフローチャートである。まず、ステップＳ１００１で、学習重み設定部１１４は、変数Ｎが所定の閾値Ｎｍａｘ以上であるか否かを判定する。変数Ｎが閾値Ｎｍａｘ以上であればステップＳ１００２に進み、学習重みを所定の値（例えば、０）に設定する。変数Ｎが閾値Ｎｍａｘ以上でない場合は、ステップＳ１００３に進む。
【００８０】
ステップＳ１００３では、データ修正量算出部１１５が、データ修正量を算出する。データ修正量算出部１１５は、データ修正部１１２によって修正される前のデータと、データ修正部１１２によって修正された後のデータとの差異を数値化するものである。差異を数値化するための算出方法は特定の補法に限定されないが、例えば以下の方法（１）や（２）を用いて算出すればよい。
【００８１】
（１）修正前のデータと修正後のデータとの差分の二乗平均平方根を算出する。例えば、データが画像である場合、画像差分の二乗平均平方根を以下の数式４より算出する。
【００８２】
【数３】
2018163444.tif 000005
ここで、Ｎは画像の総画素数、ｉは画素のインデックス、（ｒ，ｇ，ｂ）は修正前画像のＲＧＢ画素値、（ｒ’，ｇ’，ｂ’）は修正後画像のＲＧＢ画素値である。また、各画素位置における修正量がわずかならば無視してもよいという場合は、各画素における値の差が所定の閾値以下のものは差を０とみなして算出するなどしてもよい。なお、データが画像でない場合でも同様の算出が可能である。
【００８３】
（２）データ特性認識ニューラルネットワークに修正前のデータを入力した場合の出力値と、修正後のデータを入力した場合の出力値との、各ユニットの二乗平均平方根を算出する。これは、例えば、以下の数式５より算出する。
【００８４】
【数４】
2018163444.tif 000006
ここで、Ｎは出力層のユニット数、ｉは出力層のユニットのインデックス、ｕは修正前データに対する出力層ユニットの出力値、ｕ’は修正後データに対する出力層ユニットの出力値である。
【００８５】
ステップＳ１００４では、学習重み設定部１１４は、が、前ステップで算出した修正量を学習重みに換算し、その値で学習重みを設定する。この換算処理は、データ修正量が大きいほど学習重みが小さくなるように、かつ、学習重みが０から１までの範囲になるように換算するものである。
【００８６】
第１の実施形態では学習重みはデータ更新回数に応じて決めていたが、本実施形態は、データ修正部１１２によって修正された修正量に応じて学習重みを設定するものである。この構成によって、本実施形態では、更新回数が多くても少なくても、実際にデータがどの程度修正されたかに従って学習重みを設定できる。
【００８７】
［第４の実施形態］
次に、本発明の第４の実施形態について説明する。本実施形態は、データ修正部１１２によって修正されたデータに対して、データのどの部分がどの程度修正されたかを表示部に表示するものである。以下、第１〜第３の実施形態において既に説明をした構成については同一の符号を付し、その説明は省略する。
【００８８】
図１１は、本実施形態に係る情報処理装置の概略ブロック図である。本実施形態の情報処理装置は、修正される前のデータと修正された後のデータとの差異データを生成する差異データ生成部１１６、差異データを表示装置に表示させる表示制御部１１７、生成された差異データを保持するための差異データ保持部１２６を備える。なお、ターゲット認識器を学習する処理に係る機能部は省略している。また、第１の実施形態または第２の実施形態で説明した方法によって生成された修正済みデータが、すでに修正済データ保持部１２４に格納されているものとする。修正済データ保持部１２４に修正済みデータが格納された以降、本実施形態で説明する表示制御部１１７の処理は任意のタイミングで実行することができる。
【００８９】
図１２は、本実施形態における差異データの表示処理の流れを説明するフローチャートである。本実施形態に係る表示制御部１１７の処理は、ユーザが情報処理装置の入力部（マウス、キーボードなど）を使って第２特性データ保持部１２１の中のデータを１つ指定することに応じて開始される。以下、ユーザが指定したこのデータを「修正前データ」と記す。なお、ユーザが逐一データを指定するのではなく、ユーザが特定の条件を指定し、係る条件の全てまたは一部を満たすデータについて、以下の処理を繰り返すようにしてもよい。
【００９０】
まず、ステップＳ１２０１では、差異データ生成部１１６が、修正済データ保持部１２４の中に格納されているデータの中から、ユーザにより指定された修正前データに対応するデータをロードする。以下、このデータを「修正後データ」と記す。なお、このステップＳ１２０１では、修正済データ保持部１２４から修正後データを取得する代わりに、データ修正部１１２を用いて、ユーザが指定した修正前データに対する修正後データを随時生成してもよい。
【００９１】
次に、ステップＳ１２０３では、差異データ生成部１１６が、修正前データと修正後データとの差異データを生成し、差異データ保持部１２６に格納する。差異データの生成法は特に限定しないが、例えば、データの各次元における画素値のユークリッド距離を画素値とした画像を差異データとして生成する。例えば、データが画像である場合、各画素位置における２つの画像のＲＧＢ値のユークリッド距離を画素値とした差異画像を生成する。このとき、差異画像の画素値の大きさに応じて画素値をカラー化してもよい。大きいほど赤く、小さいほど青くなるようなカラーチャートを用いるのが一般的である。
【００９２】
次に、ステップＳ１２０４では、表示制御部１１７が、生成した差異データを表示装置に表示させる。表示装置１０４とは例えば液晶ディスプレイである。このとき、表示制御部１１７は、差異データを所定の透明度で、修正前データもしくは修正後データの表示に重ね合わせて表示してもよい。また、差異データの差異値が所定の閾値以上となった部分だけを表示してもよい。
【００９３】
ステップＳ１２０５では、表示制御部１１７が、ユーザに処理の終了を問い合わせる。そして、終了でなければステップＳ１２０１に戻り差異データ生成部１１６が次に表示するデータを指定し、終了であれば本処理を終了する。
【００９４】
なお、本実施形態では、ユーザが修正前データを指定してそれに対応する修正後データとの差異を表示する例を示しているが、修正後データを指定してそれに対応する修正前データとの差異を表示するものであってもよい。また、表示するデータの指定は、ユーザが指定する代わりに、修正量が大きいデータから順に次々と自動的に指定される形態でもよいし、修正量が所定の閾値を超えるデータが次々と自動的に指定される形態でもよい。その場合、データ修正量は、例えば第３の実施形態で説明した方法で算出すればよい。
【００９５】
また、本実施形態の説明では、修正済データ保持部１２４に修正済みデータが事前に格納されているという前提で説明したが、事前に修正済データが生成されていなくてもよい。その場合は、事前にデータ特性認識ニューラルネットワークの学習までが完了していれば、ユーザが指定した修正前データに対してデータ修正部１１２を用いて修正後データを随時生成することができる。
【００９６】
また、本実施形態においてもデータは画像データであるとして説明をしたが、対象のデータは画像に限られるものではなく、例えば音声データなどであってもよい。音声データを可視化する方法としては、例えば音声の波形やスペクトルを表示する方法が考えられる。その場合は、修正前データの音声波形と修正後データの音声波形やスペクトルとの差異を表示するようにすればよい。
【００９７】
以上説明したように、本実施形態によれば、ユーザは、例えばＣＧなどの人工的に作ったデータのどの部分に人工データ特有の特徴が表れているかを確認することができる。そのため、ユーザは、人工データの品質を確認できるだけでなく、人工データ作成時に注意すべき点の知見が得られる。
【００９８】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９９】
１２２  ニューラルネットワーク保持部
１１２  データ修正部
【図１】
2018163444.tif 000007
【図２】
2018163444.tif 000008
【図３】
2018163444.tif 000009
【図４】
2018163444.tif 000010
【図５】
2018163444.tif 000011
【図６】
2018163444.tif 000012
【図７】
2018163444.tif 000013
【図８】
2018163444.tif 000014
【図９】
2018163444.tif 000015
【図１０】
2018163444.tif 000016
【図１１】
2018163444.tif 000017
【図１２】
2018163444.tif 000018