(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-15
(45)【発行日】2024-02-26
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240216BHJP
G06N 3/04 20230101ALI20240216BHJP
【FI】
G06N20/00
G06N3/04
(21)【出願番号】P 2019209823
(22)【出願日】2019-11-20
【審査請求日】2022-11-17
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】奥野 泰弘
【審査官】児玉 崇晶
(56)【参考文献】
【文献】国際公開第2019/171121(WO,A1)
【文献】特開2019-153229(JP,A)
【文献】特開2019-125203(JP,A)
【文献】久保田 智規、村田 康之、上原 義文、中川 章,CNNを用いた物体認識における誤認識の原因を可視化する一手法,情報処理学会 研究報告 コンピュータビジョンとイメージメディア(CVIM),日本,情報処理学会,2019年08月28日,2019-CVIM-218巻 20号,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/02
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
変換器がパラメタを用いて第1の特性を有するデータを第2の特性を有するデータに変換することによって得られた学習データを用いて、前記第2の特性を有するデータに対する認識処理を行う認識器の学習を行う、認識器学習手段と、
前記第2の特性を有する検証データに対する前記認識器による認識処理の結果に基づいて、前記変換器が用いるパラメタを更新する制御手段と、
を備え
、
前記制御手段は、前記第2の特性を有する検証データに対する前記認識器による認識処理の結果に基づいて、前記変換器が用いる各パラメタが前記認識器の認識誤差に与える影響度を推定し、前記影響度に従って前記パラメタを更新することを特徴とする情報処理装置。
【請求項2】
前記制御手段は、前記変換器が用いる各パラメタが前記認識器の認識誤差に与える影響度として、前記パラメタの変化に対する、前記認識誤差の変化の程度を求めることを特徴とする、請求項
1に記載の情報処理装置。
【請求項3】
前記変換器はニューラルネットワークを用いて前記第1の特性を有するデータを前記第2の特性を有するデータに変換し、
前記認識器はニューラルネットワークを用いて前記第2の特性を有するデータに対する認識処理を行い、
前記制御手段は、前記検証データに対する前記認識処理の誤差を、前記認識器を通して前記変換器へと逆伝播することにより、前記影響度を得ることを特徴とする、請求項
1又は
2に記載の情報処理装置。
【請求項4】
前記第1の特性を有する第1のデータと、前記第2の特性を有し前記第1のデータと同一の対象を表現する第2のデータとの組を用いて、前記変換器が用いるパラメタの学習を行う変換器学習手段をさらに備えることを特徴とする、請求項1から
3の何れか1項に記載の情報処理装置。
【請求項5】
前記変換器学習手段は、前記変換器が前記第1のデータを変換することにより得られる前記第2の特性を有するデータと、前記第2のデータと、の誤差が小さくなるように、前記変換器が用いるパラメタの学習を行うことを特徴とする、請求項
4に記載の情報処理装置。
【請求項6】
前記変換器学習手段は、さらに前記第1のデータ又は前記第2のデータに関連するメタデータを用いて、前記変換器が用いるパラメタの学習を行うことを特徴とする、請求項
4又は
5に記載の情報処理装置。
【請求項7】
前記メタデータは、撮像位置情報、時刻情報、合焦位置情報、ホワイトバランス情報、レンズ情報、露出情報、シーン種別情報、及び現像パラメタのうちの1つ以上を含むことを特徴とする、請求項
6に記載の情報処理装置。
【請求項8】
前記制御手段は、前記変換器が用いる各パラメタの、前記認識器の認識誤差に与える影響度に基づく再学習を、前記変換器学習手段に行わせることを特徴とする、請求項
4から
7のいずれか1項に記載の情報処理装置。
【請求項9】
前記変換器学習手段は、前記変換器が用いる各パラメタの、前記第1のデータの前記第2の特性を有するデータへの変換誤差に対する影響度と、前記認識器の認識誤差に与える影響度と、に基づいて前記パラメタを更新することにより、前記変換器が用いるパラメタの再学習を行うことを特徴とする、請求項
8に記載の情報処理装置。
【請求項10】
前記第2のデータは、元データに対する変換処理により得られるデータであり、
前記変換器学習手段は、さらに、前記変換処理のパラメタの学習を行うことを特徴とする、請求項
4から
8のいずれか1項に記載の情報処理装置。
【請求項11】
前記変換器学習手段は、
前記変換器が用いるパラメタを、前記認識器の認識誤差に与える影響度に従って調整し、
前記変換器が前記調整後のパラメタを用いて前記第1のデータを変換することにより得られる前記第2の特性を有するデータと、前記元データに対する変換処理により得られる前記第2のデータと、の誤差が小さくなるように、前記変換処理のパラメタを更新し、
前記変換器が前記第1のデータを変換することにより得られる前記第2の特性を有するデータと、元データに対する前記パラメタが更新された変換処理により得られる前記第2のデータと、の誤差が小さくなるように、前記変換器が用いるパラメタを更新する
ことを特徴とする、請求項
10に記載の情報処理装置。
【請求項12】
前記元データはRAW画像データであり、前記変換処理は前記RAW画像データに対する現像処理であることを特徴とする、請求項
10又は
11に記載の情報処理装置。
【請求項13】
前記第1のデータ及び前記第2のデータは、同一のシーンを互いに異なるセンサを用いて撮像することにより得られた画像データ、又は、同一のシーンを撮像して互いに異なる現像処理を施すことにより得られた画像データであることを特徴とする、請求項
4から
12のいずれか1項に記載の情報処理装置。
【請求項14】
前記情報処理装置はカメラであり、
前記カメラは、同一のシーンを撮像することにより、画像データである前記第1のデータ及び前記第2のデータを生成することを特徴とする、請求項
4から
13のいずれか1項に記載の情報処理装置。
【請求項15】
前記学習により得られた認識器を用いて、前記第2の特性を有するデータに対する認識処理を行う認識手段をさらに備えることを特徴とする、請求項1から
14のいずれか1項に記載の情報処理装置。
【請求項16】
前記検証データの各要素について前記認識器の認識誤差に与える影響度を示す情報を出力する出力手段をさらに備えることを特徴とする、請求項1から
15のいずれか1項に記載の情報処理装置。
【請求項17】
情報処理装置が行う情報処理方法であって、
変換器がパラメタを用いて第1の特性を有するデータを第2の特性を有するデータに変換することによって得られた学習データを用いて、前記第2の特性を有するデータに対する認識処理を行う認識器の学習を行う工程、
前記第2の特性を有する検証データに対する前記認識器による認識処理の結果に基づいて、前記変換器が用いるパラメタを更新する工程と、
を備え
、
前記更新する工程では、前記第2の特性を有する検証データに対する前記認識器による認識処理の結果に基づいて、前記変換器が用いる各パラメタが前記認識器の認識誤差に与える影響度を推定し、前記影響度に従って前記パラメタを更新することを特徴とする情報処理方法。
【請求項18】
コンピュータを、請求項1から
16のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関し、特に機械学習に関する。
【背景技術】
【0002】
認識処理を行う認識器の学習のためには、認識器に入力される認識対象データと同等の特性を有する学習データが用いられる。例えば、カメラにより撮像され、人間に鑑賞される撮像画像に対して認識処理を行う場合、学習のためには同様の画質を持つ撮像画像を用いることができる。ところで、認識処理を行う認識器の学習のためには、通常、大量の学習データが用いられ、このような学習データを準備することは容易ではない。非特許文献1は、目の実写画像に対する視線推定処理を行う認識器の学習を行うための学習データとして、変換器が目のCG画像を実写画像らしく変換することにより得られたデータを用いることを開示している。目のCG画像と、CG画像における視線方向を示す教師データと、を大量に生成することは容易であるから、非特許文献1によれば、変換により得られた実写画像らしい目の画像と、教師データと、を含む学習データを容易に生成することができる。非特許文献1は、このような変換器の学習を、目の実写画像と、目のCG画像と、を用いて行うことも開示している。
【先行技術文献】
【非特許文献】
【0003】
【文献】A. Shrivastava et al. "Learning from Simulated and Unsupervised Images through Adversarial Training." arXiv preprint arXiv:1612.07828, 2016.
【発明の概要】
【発明が解決しようとする課題】
【0004】
認識対象データは、認識処理用に特別に生成され、特別な特性を有していることがある。例えば、認識用の画像として、観賞用の画像より低画質の画像を用いることにより、認識用の画像を生成する際に、処理を高速化する又はメモリを節約することができる。このような認識用の画像は、観賞用の画像と比べてノイズが多い、ボケが強い、又は色調が不自然などの特性を持つかもしれない。また、このような認識用の画像の特性は、カメラごとに異なるかもしれない。例えば、カメラは、個体差として、左半分が暗い、下半分にノイズが多い、などの特性を有しているかもしれない。このような場合、認識対象データを生成する装置によって得られた学習データを用いて認識器の学習を行うことが望ましいが、全ての装置について大量の学習データを用意することは容易ではない。
【0005】
本願発明者は、観賞用の画像を、変換器を用いて認識対象データと同等の特性を有するように変換し、変換後のデータを学習データとして用いることを検討した。このような構成によれば、観賞用の画像に対してGT(Ground Truth、教師値)を付与する作業を行うことにより得られたデータセットを、様々な装置の学習のために用いることができる。また、変換器の学習は、認識対象データを生成する装置が生成した、オリジナルデータと同様の特性を有するデータ(例えば観賞用の画像)と、認識対象データと同様の特性を有するデータ(例えば認識処理用の画像)と、を用いて行うことができる。すなわち、観賞用の画像に対する変換処理により得られた画像と、認識用の画像と、が一致するように、変換器の学習を行うことができる。
【0006】
一方で、このような構成においては、変換器による変換精度が学習後の認識器による認識精度に影響する。
【0007】
本発明は、変換器による特性変換により得られた学習データを用いて認識器の学習を行う構成において、認識器の認識精度を向上させることを目的とする。
【課題を解決するための手段】
【0008】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。すなわち、
変換器がパラメタを用いて第1の特性を有するデータを第2の特性を有するデータに変換することによって得られた学習データを用いて、前記第2の特性を有するデータに対する認識処理を行う認識器の学習を行う、認識器学習手段と、
前記第2の特性を有する検証データに対する前記認識器による認識処理の結果に基づいて、前記変換器が用いるパラメタを更新する制御手段と、
を備え、
前記制御手段は、前記第2の特性を有する検証データに対する前記認識器による認識処理の結果に基づいて、前記変換器が用いる各パラメタが前記認識器の認識誤差に与える影響度を推定し、前記影響度に従って前記パラメタを更新することを特徴とする。
【発明の効果】
【0009】
変換器による特性変換により得られた学習データを用いて認識器の学習を行う構成において、認識器の認識精度を向上させることができる。
【図面の簡単な説明】
【0010】
【
図1】一実施形態に係る情報処理装置の構成例を示す図。
【
図2】一実施形態に係る情報処理方法の処理の流れを示すフローチャート。
【
図3】変換器の学習におけるデータフローを示す図。
【
図4】影響度を算出する際のネットワーク接続を説明する図。
【
図5】影響度を算出処理の流れを示すフローチャート。
【
図6】一実施形態における変換器の再学習を説明する図。
【
図7】一実施形態における変換器の再学習処理の流れを示すフローチャート。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
本発明の一実施形態によれば、第2の特性を有するデータ(例えば認識用画像)に対する認識処理を行う認識器の学習が行われる。この学習は、第1の特性を有するデータ(例えば観賞用画像)を変換器が第2の特性を有するデータに変換することによって得られた学習データを用いて行われる。また、変換器が用いるパラメタは、学習によって得られている。本発明の一実施形態によれば、さらに、第2の特性を有する検証データに対する認識器による認識処理の結果に基づいて、変換器が用いるパラメタが更新される。例えば、変換器が用いる各パラメタが認識器の認識精度に与える影響度を推定し、変換器が用いるパラメタの、影響度に基づく再学習を行うことができる。このような構成によれば、認識器に入力される第2の特性を有するデータのうち、認識のために重要な要素を考慮しながら、変換器の学習を行うことができる。
【0013】
例えば、識別器の学習に用いられる学習画像が認識用画像よりも青みがかっている場合は認識精度に大きな影響はないが、赤みがかっている場合は認識精度に大きな影響を及ぼすかもしれない。この場合、変換器の学習を行う際の学習誤差の評価において、色調の青み成分の誤差よりも赤み成分の誤差をより重視することができる。このような構成によれば、単に変換処理後の観賞用画像と認識用画像との誤差に基づいて変換器を学習する場合と比較して、認識処理により適した変換器が得られることが期待され、また認識器による認識精度も向上することが期待される。
【0014】
以下の各実施形態では、認識対象となるデータが画像データである場合について説明する。しかしながら、認識対象となるデータは、音声データのような別の種類のデータであってもよい。例えば、観賞用の音声を記録する装置で収集した音声データと、認識を行う装置で収集した認識処理用の音声データとの間に特性の差異がある場合に、以下の実施形態と同様の効果が期待される。また、認識対象となるデータは、画像センサ又はマイクロフォン等によって記録された生のデータではなく、生のデータから抽出された特徴データであってもよい。例えば、認識対象となるデータは、画像からのエッジ抽出により得られたエッジ画像や、又はエッジ方向のヒストグラムを抽出することにより得られた特徴ベクトルであってもよい。
【0015】
また、以下の各実施形態では、顔認識を行う場合について説明するが、認識タスクの種類は特に限定されない。例えば、認識タスクは、画像から人物領域若しくは顔領域を検出する検出タスク、画像に写っている物体の種別を識別する分類タスク、又は画像に写っている車の台数を回帰により得る回帰タスクであってもよい。もちろん、認識対象も特に限定されず、顔、人物、又は自動車等でありうる。
【0016】
[実施形態1]
以下、本発明の実施形態1について説明する。
図1は、実施形態1に係る情報処理装置のハードウェア構成例を示す。本実施形態に係る情報処理装置は、プロセッサとメモリとを備えるコンピュータにより実現することができる。すなわち、CPU101のようなプロセッサが、RAM、ROM、又はHDDのようなメモリ105,106に格納されたプログラムを実行することにより、各部の機能を実現することができる。
図1は、メモリ105が、各部を実現するためのプログラムを格納していることを示している。このようなプログラムは、記憶媒体に記録することもできる。また、
図1は、メモリ106が各データを格納することを示している。もっとも、メモリ105と106とは統合されていてもよい。
図1に示すように、このコンピュータは、キーボード等の入力装置103及びディスプレイ等の出力装置104を有している。バス102は、各構成要素を接続している計算機バスである。なお、情報処理装置は、例えばネットワークを介して接続された複数のコンピュータによって構成されていてもよい。
【0017】
ここで、メモリ106中の第1のデータ120と第2のデータ121について説明する。第1のデータ120は、第1の特性を有するデータであり、第2のデータ121は、第2の特性を有するデータである。本明細書において、特性とは、データが表す対象とは無関係な、データが有する性質のことを意味する。例えば、あるカメラにより得られた、人間が観賞するための観賞用画像が有する特性が第1の特性であってもよく、認識器に入力される認識用画像が有する特性が第2の特性であってもよい。第1の特性を有する観賞用画像は、人間が見た時に自然な印象を受けるように生成されている。例えば、観賞用画像は、高解像度の画像センサによって撮像され、ノイズ除去処理又は自然な色を得るための色処理等が施されている、という特性を有していてもよい。第2の特性を有する認識用画像は、例えば低解像度の画像センサによって撮像され、長い処理時間を要するノイズ除去処理又は色処理等が行われていない、という特性を有していてもよい。
【0018】
第1の特性を有するデータ及び第2の特性を有するデータは、同じ対象を表現していてもよく、例えば同じ対象の撮像画像であってもよい。本実施形態においては、カメラがあるシーンを撮像することにより観賞用画像として生成した画像が、第1の特性を有する第1のデータ120である。また、同じカメラが同一のシーンを撮像することにより認識用画像として生成した画像が、第2の特性を有する第2のデータ121である。すなわち、第1のデータ120と第2のデータ121とは、同一の被写体を撮像することにより得られた画像データであってもよい。以下の例においては、カメラは認識用画像を用いた認識処理を行う。この例において、認識処理を行うカメラは、同じシーンの観賞用画像及び認識用画像を撮像し、それぞれを対応付けて、第1のデータ120及び第2のデータ121としてメモリ106に格納する。
【0019】
第1のデータ120及び第2のデータ121は、それぞれ様々なシーンを撮像することにより得られた複数の画像データを含んでいる。一方で、上記のように、第1のデータ120に含まれる観賞用画像のそれぞれは、第2のデータ121に含まれる認識用画像のいずれかと対応関係を有している。このように、第1のデータ120及び第2のデータ121は、同じシーンを撮像することにより得られているが、画質において特性が異なっている。なお、これらのデータに、認識対象に関する教師データを付与する必要はない。なお、本実施形態において、第1のデータ120及び第2のデータ121は画像データであるが、第1のデータ120及び第2のデータ121は画像から特徴を抽出することにより得られた特徴データであってもよい。
【0020】
以下、本実施形態に係る情報処理方法の流れを示すフローチャートである
図2を参照しながら、
図1に示す本実施形態に係る情報処理装置の各部の構成、及び本実施形態に係る情報処理方法における各処理について説明する。
【0021】
ステップS201で変換器学習部110は、変換器の学習を行う。変換器122は、第1の特性を有するデータを、これに対応する、第2の特性を有するデータに対する画像変換を行う。変換器学習部110は、メモリ106中にある第1のデータ120と第2のデータ121とを学習データとして用いて、データ変換器の学習を行うことができる。そして、変換器学習部110は、学習により得られた変換器122のパラメタをメモリ106に格納することができる。変換器学習部110の詳細については後述する。
【0022】
ステップS202でデータ変換部111は、メモリ106中の学習データ124に対する画像変換を行い、得られた変換済み学習データ125をメモリ106に格納する。学習データ124は、認識する対象を学習するためのデータである。例えば、認識器が顔認識を行う場合、学習データ124は、画像と、画像に関連付けられている、顔の有無を示すラベル、又は顔の位置の情報などの教師値とを含んでいる。ここで、学習データ124の画像は第1の特性を有している。本実施形態において、学習データ124は、観賞用画像に教師値を与えることにより作成されている。
【0023】
データ変換部111は、変換器122を用いて、学習データ124を変換済み学習データ125に変換する。変換済み学習データ125は、学習データ124に含まれる画像を第2の特性を有するように変換することにより得られた画像と、学習データ124と同じ教師値と、を含んでいる。本実施形態において、変換済み学習データ125に含まれる画像は、認識用画像と同じ第2の特性を有している。以上説明したように、変換器122は、学習により得られたパラメタを用いて、第1の特性を有する学習データ124を、第2の特性を有する変換済み学習データ125に変換する。
【0024】
ステップS203で認識器学習部112は、認識器の学習を行う。すなわち、認識器学習部112は、認識する対象の学習により得られた認識器123のパラメタをメモリ106に格納する。認識する対象とは、例えば人間の顔等であり、認識器学習部112は、例えば画像中に人間の顔があるかないかを認識する認識器の学習を行うことができる。認識器学習部112は、第2の特性を有する、変換済み学習データ125を用いて認識器の学習を行うことができる。このような学習により得られた認識器123は、第2の特性を有する認識用画像に対する認識処理を行うことができる。
【0025】
認識器の学習方法は特に限定されない。第2の特性を有する画像と、この画像に対する教師値と、を用いて認識器の学習を行うための適切な方法を採用することができる。以下では、認識器が、多層ニューラルネットワークのようなニューラルネットワークを用いて、第2の特性を有する画像データに対する認識処理を行う場合について説明する。この場合、変換済み学習データ124に含まれる画像をニューラルネットワークに入力し、ニューラルネットワークからの出力値と教師値との差異をネットワークに逆伝播させることで、ニューラルネットワークの重みパラメタを更新することができる。
【0026】
ステップS204で影響度算出部113は、認識器123の認識精度を検証する。影響度算出部は、メモリ106中の検証データ126を用いて、認識精度の検証を行うことができる。検証データ126は、第2の特性を有する画像と、この画像に関連付けられた正しい認識結果を示す教師値と、を含む。検証データ126に含まれる画像は、認識処理を行う上述のカメラが、認識用画像として生成した現像後画像である。なお、検証データ126に含まれる画像の数は、学習データ124に含まれる画像の数より少なくてもよい。影響度算出部113は、検証データ126に対する認識器123の認識精度が所定の閾値以上である場合、認識精度が十分であると判定し、処理を完了する。一方で、影響度算出部113は、認識精度が所定の閾値未満である場合、認識精度が不十分であると判定し、処理はステップS205に進む。影響度算出部113は、後述する変換器再学習の処理回数が閾値以上になった際に、認識器の学習を終了すると判定し、処理を完了してもよい。
【0027】
ステップS205で影響度算出部113は、変換器122が用いる各パラメタが認識器123の認識精度に与える影響度を推定する。影響度算出部113は、算出した影響度を影響度データ127としてメモリ106に格納することができる。この処理の詳細については後述する。
【0028】
ステップS206で影響度算出部113は、第2の特性を有する検証データに対する認識器123の認識処理の結果に基づいて、変換器122が用いるパラメタを更新する制御を行う。本実施形態において影響度算出部113は、ステップS205で推定された影響度に基づいて変換器122が用いるパラメタを更新することができる。具体的には、影響度算出部113は、変換器122が用いる各パラメタの、この影響度に基づく再学習を、変換器学習部110に行わせることができる。一実施形態において、影響度算出部113は、上述の影響度に基づく誤差評価基準を用いた再学習を変換器学習部110に行わせる。このように、誤差算出基準を学習データに応じて変更しながら変換器の再学習を行うことにより、メモリ106中の変換器122のパラメタを更新することができる。この処理の詳細については後述する。
【0029】
ステップS206の後で処理はステップS202に戻る。ステップS202においてデータ変換部111は、ステップS206における再学習後の変換器122を用いて、メモリ106中の学習データ124に対する画像変換を行う。以降、処理を完了するまで、上記処理が繰り返される。
【0030】
図2に示す情報処理方法により、認識器123の学習を行うことができる。その後、認識部116は、学習により得られた認識器を用いて、認識対象となるデータに対する認識処理を行い、認識結果を出力することができる。ここで、認識対象となるデータは、例えば未知の画像であり、第2の特性を有するデータである。認識部116は、例えば、入力装置103などを介してユーザが指定した未知の画像データを認識器123に入力し、認識器123が出力した画像データに対する認識結果を出力装置104に表示させることができる。
【0031】
以下、本実施形態に係る情報処理装置の処理について、情報処理装置が処理するデータの例を示す
図3を参照しながら、詳細に説明する。
図3に示すように、カメラ301は、変換器学習用の学習データを撮影する。カメラ301は、1つのシーンの撮像を行うことにより、観賞用RAWデータ302、認識用RAWデータ303、及び付帯情報304を取得する。付帯情報304とは、撮影時に取得される画像以外の情報のことである。付帯情報304は、例えば、カメラが備えるGPS等により得られた撮像位置情報、時刻情報、又はオートフォーカスが合焦している位置を示す合焦位置情報等を含むことができる。また、付帯情報304は、例えば、レンズのF値などのレンズ情報、露出情報、ホワイトバランス情報、又はカメラが備えるシーン認識器により得られたシーン種別情報等を含むことができる。
【0032】
カメラ301は、さらに、観賞用現像処理305によって観賞用RAWデータ302を現像することにより第1の特性を有する観賞用画像を生成し、この観賞用画像を第1特性画像306として格納する。なお、現像処理とは、画像センサが出力したRAWデータから画像を生成する処理のことを指す。観賞用現像パラメタ307は、観賞用現像処理305のための処理パラメタである。また、カメラ301は、認識用現像処理308によって認識用RAWデータ303を現像することにより第2の特性を有する認識用画像を生成し、この認識用画像を第2特性画像309として格納する。認識用現像パラメタ310は、認識用現像処理308のための現像パラメタである。認識用現像パラメタ310としては、観賞用現像パラメタ307と異なるパラメタを設定することができる。このようにして、カメラ301は、同じシーンに対する第1特性画像306と第2特性画像309とのセットを多数作成し、第1特性画像306と第2特性画像309とを互いに対応付けて格納することができる。
【0033】
第1特性画像306はメモリ106中の第1のデータ120に含まれる画像に、第2特性画像309は、メモリ106中の第2のデータ121に含まれる画像に、それぞれ対応する。第1のデータ120又は第2のデータ121は、第1特性画像306又は第2特性画像309に関連する、上記の付帯情報304を、メタデータとして含んでいてもよい。このメタデータは、第1特性画像306又は第2特性画像309を現像するための現像パラメタを含んでいてもよい。
【0034】
カメラ301は、観賞用画像を生成するための画像センサと、認識用画像を生成するための画像センサとを有することができる。そして、観賞用画像を生成するための画像センサ及びは観賞用RAWデータ302を、認識用画像を生成するための画像センサは認識用RAWデータ303を、別々に生成することができる。このように、第1特性画像306及び第2特性画像309は、同一のシーンを互いに異なるセンサを用いて撮像することにより得られた画像データであってもよい。一方で、カメラ301は、1つの画像センサを有していてもよく、この場合観賞用RAWデータ302と認識用RAWデータ303とは同じであってもよい。同じRAWデータが用いられる場合であっても、カメラは、観賞用現像処理305及び認識用現像処理308により、第1の特性を有する第1特性画像306と、第2の特性を有する第2特性画像309と、を生成することができる。このように、このように、第1特性画像306及び第2特性画像309は、同一のシーンを撮像して互いに異なる現像処理を施すことにより得られた画像データであってもよい。
【0035】
次に、変換器学習部110がステップS201で行う処理の詳細を説明する。変換器学習部110は、変換器122が第1のデータを変換することにより得られる第2の特性を有するデータと、第2のデータと、の誤差が小さくなるように、変換器122が用いるパラメタの学習を行う。以下では、変換器122がニューラルネットワーク311を用いて、第1の特性を有するデータを第2の特性を有するデータに変換する場合について説明する。すなわち、変換器学習部110は、ニューラルネットワークに第1のデータ120を入力し、ニューラルネットから出力される画像と、入力された第1のデータ120に対応する第2のデータ121と、の間の誤差が少なくなるように、変換器の学習を行う。
【0036】
変換器学習部110は、第1の特性を有する第1のデータと、第2の特性を有し第1のデータと同一の対象を表現する第2のデータとの組を用いて、変換器122が用いるパラメタの学習を行うことができる。本実施形態において、変換器学習部110は、上記のように用意された同一のシーンについての第1特性画像306と第2特性画像309との組を用いて、変換器122が用いるニューラルネットワーク311の学習を行う。ニューラルネットワーク311は、入力された第1特性画像306に対して、ニューラルネットワーク311内の重みパラメタに従うデータ変換を行うことにより、第2の特性を有する推定画像312を出力する。なお、ニューラルネットワーク311には、学習データとして、さらに付帯情報304のような上記のメタデータが入力されてもよい。すなわち、変換器学習部110は、このようなメタデータを用いて変換器122が用いるパラメタの学習を行うこともできる。
【0037】
ここで、このニューラルネットワーク311の重みパラメタをθcとする。変換器学習部110は、ニューラルネットワーク311から出力された推定画像312と、正解値である第2特性画像309との差分を、学習誤差E(313)として算出する。そして、変換器学習部110は、誤差逆伝播法に従って、学習誤差E(313)をパラメタθcで偏微分して得られる誤差勾配∂E/∂θcを用いて、ニューラルネットワーク311の重みパラメタθcを更新する。この学習において、学習誤差は推定画像312と正解値である第2特性画像309との画素値の差異である。変換器学習部110は、以上の手順を学習誤差が収束するまで繰り返すことができる。学習誤差が収束すると、変換器学習部110は学習を終了し、学習によって得られたニューラルネットワーク311のパラメタをメモリ106に格納する。ニューラルネットワーク311のパラメタには、各重みパラメタ及びバイアス値が含まれる。こうして、学習後の変換器122が得られる。こうして得られた変換器122に第1の特性を持つ画像データを入力すると、第2の特性を持つ画像データが出力される。
【0038】
次に、影響度算出部113について説明する。
図4は、影響度算出部113が用いるニューラルネットワークの接続を示す。
図4において、画像401は、メモリ106中の検証データ126に含まれる画像であり、教師値404は検証データ126に含まれる教師値である。認識器402は、ステップS203における学習により得られた、メモリ106中の認識器123であり、画像401のうちの1つの画像が入力されると、対応する認識結果403を出力する。また、変換器405はメモリ106中の変換器122である。第2の特性を有するデータを出力する変換器405の出力層は、第2の特性を有するデータが入力される認識器402の入力層と接続される。変換器122は画像を出力するニューラルネットワークであるので、変換器122の出力層を、画像が入力される認識器123の入力層と接続することができる。
【0039】
以下、影響度算出部113が行うステップS205の処理の詳細について、
図4と、ステップS205における処理の流れを示す
図5のフローチャートとを参照して説明する。影響度算出部113は、上述のように、変換器122が用いる各パラメタが認識器123の認識誤差に与える影響度を算出することができる。この影響度は、例えば、変換器122が用いるパラメタの変化に対する、認識器123による認識誤差の変化の程度を示すことができる。
【0040】
ステップS501で影響度算出部113は、画像401から1つの画像を選択して、認識器402に入力することにより、対応する認識結果403を得る。ステップSS502で影響度算出部113は、認識結果403と、選択された画像に対応する教師値404とを比較することにより、学習誤差Lを算出する。
【0041】
ステップS503で影響度算出部113は、誤差逆伝播法に従い、誤差Lを認識器402が用いるニューラルネットワークに逆伝播させる。この際、影響度算出部113は、認識器402の重みパラメタを更新せずに、誤差を入力方向に逆伝播させる。こうして、誤差Lは認識器402を通して変換器405へと逆伝播される。
【0042】
ステップS504で影響度算出部113は、変換器405へと逆伝播されてきた誤差Lと変換器122のパラメタθcとの偏微分∂L/∂θcを、逆伝播されてきた誤差Lに対するパラメタθcの誤差勾配として算出する。この誤差勾配は、認識誤差Lに対して変換器122のパラメタθcがどの程度影響しているかを示す影響度に相当する。影響度算出部113は、変換器405の各パラメタに対して誤差勾配を算出することができるため、ここで算出される影響度は変換器122のニューラルネットワークのパラメタと同じ構造を有している。影響度算出部113は、こうして検証データごとに得られた誤差勾配をメモリに格納する。
【0043】
ステップS505で影響度算出部113は、検証データに含まれる全ての画像401を用いた処理を行ったかどうかを判定する。処理が終わっていなければ、処理はステップS501に戻り、次の画像を用いて処理が行われる。処理が終わっていれば、処理はステップS506に進む。
【0044】
ステップS506で影響度算出部113は、前ステップまでに得られた検証データごとの誤差勾配を平均して得られた値を、影響度データ127として格納する。影響度算出部113は、変換器405の各パラメタに対して平均の誤差勾配を算出することができるため、影響度データ127は変換器122のニューラルネットワークのパラメタと同じ構造を有している。したがって、影響度算出部113は、ニューラルネットワークのパラメタと同じ形式で、影響度データ127をメモリに格納することができる。影響度データ127は、検証データ126における、θcの、認識誤差に対する、平均的な誤差勾配を表し、変換器122が用いるパラメタθcの変化に対する、認識器123による認識誤差の変化の程度であるといえる。
【0045】
次に、影響度算出部113及び変換器学習部110が行うステップS206における再学習処理の詳細について、
図6を参照して説明する。ステップS206の処理は、ステップS201における学習処理と類似しているが、学習の際に画像変換誤差に加えて影響度データ127が用いられる。すなわち、影響度算出部113は、変換器学習部110に、影響度データ127を参照しながら変換器122が用いるニューラルネットワーク602の再学習を行わせることができる。一実施形態において、ステップS201では、変換器学習部110は画像変換誤差を誤差評価基準として用いるが、ステップS206では、変換器学習部110は影響度データ127と画像変換誤差の両方を誤差評価基準として用いる。このように、ステップS201とS206とでは、異なる誤差評価基準を用いることができる。
【0046】
例えば、変換器学習部110は、変換器122が用いるニューラルネットワーク602のパラメタθcを更新する際に用いる誤差勾配の定義が異なることを除いて、ステップS201と同様に変換器122の学習を行うことができる。例えば、ステップS201で変換器学習部110は、変換器122の学習誤差E(313)をθcで偏微分して得られる誤差勾配∂E/∂θcを用いてニューラルネットワーク311の重みパラメタθcを更新することができる。この誤差勾配∂E/∂θcは、第1特性画像306の、第2の特性を有する画像データへの変換誤差に対する、変換器122が用いる各パラメタの影響度と考えることができる。
【0047】
一方で、ステップS206では、誤差勾配∂E/∂θcと、影響度データ127と、に基づいて変換器122の学習が行われる。例えば、影響度データ127に示される、認識誤差Lに対するパラメタθcの影響度∂L/∂θcを、任意の重みパラメタαによって重みづけした値を、誤差勾配に加えることができる。変換器学習部110は、このようにして得られた勾配∂E/∂θc+α(∂L/∂θc)を用いて、ニューラルネットワーク602のパラメタθcの更新を行うことができる。なお、ステップS206で用いる第1特性画像601及び第2特性画像605は、第1特性画像306と第2特性画像309と同じであってもよい。また、推定画像603は第1特性画像601に対するニューラルネットワーク602の出力であり、学習誤差E(604)は、推定画像603と正解値である第2特性画像305との画素値の差異である。
図6と
図3とを比較すると、パラメタθcの更新に用いる勾配の定義のみが異なっていることがわかる。学習誤差が収束すると、変換器学習部110は学習を終了し、学習によって得られたニューラルネットワーク602のパラメタをメモリ106に格納する。
【0048】
以上の実施形態1によれば、認識用データが一般的な特性を有さない場合であっても、一般的な特性を有する学習データを流用して、認識器の学習を行うことができる。さらに、データの類似性のみに注目してデータの特性を変換する代わりに、認識処理の精度に影響が大きい要素に重みを置いてデータの類似性が高まるようにデータの特性を変換することにより、認識精度が向上することが期待される。
【0049】
実施形態1では、変換器の学習、認識器の学習、及び変換器の再学習に関して、前の学習が収束してから次の学習が行われたが、収束を待たずに順次学習が行われてもよい。また、変換器及び認識器はニューラルネットワークを用いて処理を行ったが、変換器及び認識器の構成はこれに限られない。例えば、変換器を何らかのモデルを用いて定義してもよく、この場合モデルのパラメタは勾配法等により学習することができる。さらに、変換器の各パラメタの認識精度に対する影響度は、例えば、変換器の各パラメタをそれぞれ微小に変動させることにより、画像データに対する認識精度がどのように変動するかを観察することにより、算出することができる。
【0050】
[実施形態2]
実施形態1で説明したように、第2の特性を有する第2のデータは、RAW画像データのような元データに対する、現像処理のような変換処理により得ることができる。実施形態2においては、このような変換処理のパラメタの学習が行われる。例えば、実施形態2に係る情報処理装置は、変換器の再学習を行う際に、認識用画像を現像するための現像パラメタの学習も行うことができる。認識処理を行う装置においては、現像処理のパラメタを設定することができる。現像処理には、ノイズ除去処理、ホワイトバランス調整処理、又は露出調整処理などを含むことができる。現像パラメタは、このような処理のそれぞれについて、その処理の度合いを設定するパラメタを含むことができる。このようなパラメタを変更することで、RAWデータの現像により得られる画像の特性を変更することができる。観賞用現像パラメタ307は、人間にとって自然な画像を現像するためのパラメタなので変更することが難しい。一方で、認識器へ入力される認識用画像は、観賞用画像と異なっていてもよく、人間にとって不自然に見えたり低画質に見えたりする画像特性を有していてもよい。このため、認識処理に適する特性を有する認識用画像が得られるように、自由に認識用現像パラメタ310を設定することが可能である。このような現像パラメタの学習を行うことにより、認識用画像の特性が固定されている場合と比較して、認識精度が向上することが期待される。
【0051】
実施形態2に係る情報処理装置は、ステップS206における処理が異なることを除き、実施形態1に係る情報処理装置と同様の構成を有することができる。以下、本実施形態に係るステップS206の処理を、処理のフローチャートである
図7を参照して説明する。
【0052】
始めに、ステップS701で変換器学習部110は、変換器122が用いるパラメタを、認識器123の認識誤差に与える影響度に従って調整する。例えば、変換器学習部110は、影響度データ127を用いて、変換器122のパラメタθcをθc_newに更新することができる。影響度データ127は認識誤差Lに対するθcの誤差勾配であるから、変換器学習部110は、この勾配方向にθcを変換することができる。例えば、変換器学習部110は、θcに、∂L/∂θcと学習率との積を加えることにより、θc_newを決定することができる。このようにパラメタθcを誤差勾配に従って更新することは、認識器123の認識誤差の改善につながることが期待される。一方で、θcは変換器122のパラメタであるので、θcを変更すると、第1特性画像306の変換により得られる推定画像312と、教師値である第2特性画像309との誤差E(313)が大きくなる可能性がある。このことは、変換器122が学習データ124を変換することにより得られた変換済み学習データ125を用いた学習により得られた認識器123の認識精度が低下することにつながるかもしれない。
【0053】
そこで、ステップS702で変換器学習部110は、変換器のパラメタをθc_newに固定しながら、認識用の現像パラメタθd(
図3の310)の学習を行う。変換器学習部110は、学習により、誤差E(313)が減少するようにパラメタθdを更新することができる。例えば、ステップS702で変換器学習部110は、ステップS701における調整後のパラメタθc_newを用いて変換器122が第1特性画像306を変換することにより得られた、第2の特性を有する推定画像312を得ることができる。そして、変換器学習部110は、推定画像312と、元データである認識用RAWデータ303に対する変換処理により得られる第2特性画像309と、の誤差が小さくなるように、変換処理のパラメタである現像パラメタθdを更新することができる。
【0054】
具体例として、変換器学習部110は、パラメタθc_newに従って第1特性画像306から得られる推定画像312と、現像パラメタθdに従って認識用RAWデータ303から得られる第2特性画像309との誤差Eを算出することができる。そして、変換器学習部110は、誤差Eに対するθdの偏微分、すなわち∂E/∂θdに従って、認識用現像パラメタθd(310)を更新することができる。例えば、変換器学習部110は、θdに、∂E/∂θdと学習率との積を加えることにより、θdを更新することができる。なお、パラメタθdによる誤差Eの偏微分ができずに勾配法が使えない場合、変換器学習部110は、θdの値を微小に変動させて誤差Eが減少する方向を探索することにより、誤差Eが減少するようにパラメタθdを更新することができる。
【0055】
ステップS703で変換器学習部110は、θdの学習が収束したかどうかを判定する。学習が収束していなければ、ステップS702の処理が繰り返される。学習が収束していれば、処理はステップS704に進む。変換器学習部110は、誤差Eが閾値未満になったか、又は誤差Eの変動幅が閾値未満になった場合に、学習が収束したと判定することができる。ステップS704で変換器学習部110は、認識用現像パラメタθdを、ステップS703までの学習により得られた値に固定する。そして、変換器学習部110は、ステップS704で固定された認識用現像パラメタθdを用いて、認識用RAWデータ303を第2特性画像309に変換する。
【0056】
ステップS705で変換器学習部110は、ステップS201と同様の手法を用いて、変換器122のパラメタをθc_newから更新していくことにより、変換器122の再学習を行う。すなわち、変換器学習部110は、ステップS702で更新された現像パラメタθdに従って認識用RAWデータ303から第2特性画像309を得ることができる。そして、変換器122が第1特性画像306を変換することにより得られる推定画像312と、第2特性画像309と、の誤差E(313)が小さくなるように、変換器122が用いるパラメタを更新することができる。ステップS706で変換器学習部110は、変換器122のパラメタθcの学習が収束したかどうかを判定する。学習が収束していなければ、ステップS705の処理が繰り返される。学習が収束していれば、処理はステップS707に進み、変換器学習部110は学習により得られた変換器122のパラメタθcをメモリ106に格納する。このように、変換器122(又は変換器122が用いるニューラルネットワーク)の学習を行うことができる。
【0057】
実施形態2によれば、認識処理の誤差が小さくなるように、元データに対する変換処理のパラメタと、変換器と、の双方の学習を行うことができる。
【0058】
[実施形態3]
実施形態3に係る情報処理装置は、変換器122及び認識器123を用いた認識処理の認識精度への影響が強い画像領域を示すことができる。実施形態3に係る情報処理装置は、ステップS504とS505との間において影響度表示部115が以下の処理を行う点を除いて、実施形態1又は2と同様である。
【0059】
本実施形態において影響度表示部115は、検証データの各要素について、認識器の認識誤差に与える影響度を示す情報を出力することができる。例えば、影響度表示部115は、検証データごとに、影響度の大きかった画像領域を表示することができる。この場合、影響度表示部115は、
図4に示されるように誤差Lを変換器122の入力層まで逆伝播させることができる。変換器122の入力層には画像が入力されるので、入力層まで誤差逆伝播された結果は、変換器122へ入力される画像と同じ構造を有する画像として扱うことができる。影響度表示部115は、こうして得られた画像を出力装置104に表示させることができる。例えば、影響度表示部115は、こうして得られた画像を検証データ126の画像に重畳することができる。
【0060】
この処理は、変換器及び認識器の学習において必須ではない。しかしながら、実施形態3によれば、認識精度への影響が強い画像領域をユーザが確認することができる。影響度表示部115は、検証データ126の一部のみに対して上記の処理を行ってもよい。
【0061】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0062】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0063】
110:変換器学習部、111:データ変換部、112:認識器学習部、113:影響度算出部、115:影響度表示部、116:認識部