(57)【要約】      （修正有）【課題】直観に頼ることなく、高精度な画像認識を行える画像識別装置、学習装置、画像識別方法、学習方法及びプログラムを提供する。【解決手段】画像処理装置は、撮像装置のセンサ値による入力画像を取得する取得手段１１００と、変換部を有する識別器を用いて、取得されたセンサ値による入力画像を識別する識別手段１３００と、を有する。識別器のうち少なくとも変換部は、撮像装置のセンサ値による学習画像と当該学習画像に付与された正解データとに基づいて学習していることを特徴とする。【選択図】図１
2019028650.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置のセンサ値による入力画像を取得する取得手段と、
変換部を有する識別器を用いて、前記取得されたセンサ値による入力画像を識別する識別手段と、を有し、
前記識別器のうち少なくとも前記変換部は、撮像装置のセンサ値による学習画像と当該学習画像に付与された正解データとに基づいて学習されていることを特徴とする画像識別装置。
【請求項２】
前記識別器は、現像された学習画像と当該学習画像に対して付与された正解データとを含む第１の学習データに基づいて学習された識別器に前記変換部を追加した識別器を、前記撮像装置のセンサ値による学習画像と当該学習画像に付与された正解データとを含む第２の学習データに基づいて学習することにより生成されることを特徴とする請求項１に記載の画像識別装置。
【請求項３】
前記識別器は、ニューラルネットワークであることを特徴とする請求項１または２に記載の画像識別装置。
【請求項４】
前記識別器は、多層の畳み込み演算によって画像特徴を抽出する特徴抽出部と、前記抽出された画像特徴からパターン分類を行う分類部と、を含む畳み込みニューラルネットワークであることを特徴とする請求項３に記載の画像識別装置。
【請求項５】
前記識別器は、前記特徴抽出部の各層に対して、前記センサ値による入力画像の各画素における輝度値または距離情報の少なくとも一方を重み付き信号として入力することを特徴とする請求項４に記載の画像識別装置。
【請求項６】
前記変換部は、
前記入力画像の各画素における輝度絶対量と、前記入力画像の全体から抽出したシーン特徴との、重み係数による重み付き線形和からなる入力信号を、非線形関数によって変換した出力信号を出力する第１層と、
前記シーン特徴と、前記第１層の出力信号との、重み係数による重み付き線形和からなる入力信号を、線形関数で変換した出力信号を出力する第２層と、
からなることを特徴とする請求項３から５のいずれか１項に記載の画像識別装置。
【請求項７】
前記シーン特徴は、前記入力画像の全体から取得される画像特徴であることを特徴とする請求項６に記載の画像識別装置。
【請求項８】
前記シーン特徴は、前記入力画像の全体から取得される画像特徴と、前記入力画像を撮像したときの撮像情報とであること特徴とする請求項６に記載の画像識別装置。
【請求項９】
前記識別手段による識別結果に基づいて、前記変換部を調整する調整手段を更に有し、
前記識別手段は、前記調整された変換部を有する識別器を用いて、前記入力画像を再識別することを特徴とする請求項１から８のいずれか１項に記載の画像識別装置。
【請求項１０】
前記撮像装置のセンサ値による入力画像はＲＡＷ画像であることを特徴とする請求項１から９のいずれか１項に記載の画像識別装置。
【請求項１１】
前記識別手段は、前記入力画像を複数のクラスに分類する識別タスク、または前記入力画像を複数のクラスごとの領域に分割する識別タスクを実行することを特徴とする請求項１から１０のいずれか１項に記載の画像識別装置。
【請求項１２】
撮像装置のセンサ値による入力画像を識別するために用いられる識別器を学習する学習装置であって、
センサ値による画像が現像された学習画像と当該学習画像に対して付与された正解データとを含む第１の学習データに基づいて第１の識別器を学習する第１の学習手段と、
前記学習された第１の識別器に前記変換部を追加して第２の識別器を生成する追加手段と、
センサ値による学習画像と当該学習画像に付与された正解データとを含む第２の学習データに基づいて前記第２の識別器を学習することにより、前記識別手段で用いられる識別器を生成する第２の学習手段と、
を有することを特徴とする学習装置。
【請求項１３】
撮像装置のセンサ値による入力画像を取得するステップと、
変換部を有する識別器を用いて、前記取得されたセンサ値による入力画像を識別するステップと、を有し、
前記識別器のうち少なくとも前記変換部は、撮像装置のセンサ値による学習画像と当該学習画像に付与された正解データとに基づいて学習されていることを特徴とする画像識別方法。
【請求項１４】
撮像装置のセンサ値による入力画像を識別するために用いられる識別器を学習する学習方法であって、
センサ値による画像が現像された学習画像と当該学習画像に対して付与された正解データとを含む第１の学習データに基づいて第１の識別器を学習するステップと、
前記学習された第１の識別器に前記変換部を追加して第２の識別器を生成するステップと、
センサ値による学習画像と当該学習画像に付与された正解データとを含む第２の学習データに基づいて前記第２の識別器を学習することにより、前記識別手段で用いられる識別器を生成するステップと、
を有することを特徴とする学習方法。
【請求項１５】
コンピュータを請求項１から１１のいずれか１項に記載の画像識別装置として機能させるためのプログラム
【請求項１６】
コンピュータを請求項１２に記載の学習装置として機能させるためのプログラム
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を所定のクラスに分類する、画像を複数のクラスの領域に分割するなどの画像識別技術に関する。
【背景技術】
【０００２】
画像を所定のクラスに分類する研究は、これまで広く行われてきており、近年では画像を非常に多くのクラスに分類するタスクも研究されてきている。非特許文献１には、深層学習による画像分類の技術が開示されている。
【０００３】
また、画像を複数の領域に分割する領域分割の研究も多く行われており、画像から人物の領域、自動車の領域、道路の領域、建物の領域、空の領域などの、意味的な領域を切り出す課題が盛んに研究されている。このような課題は、意味的領域分割（Ｓｅｍａｎｔｉｃ  Ｓｅｇｍｅｎｔａｔｉｏｎ）と呼ばれ、被写体の種類に対応した画像補正や、シーン解釈などに応用できると考えられている。
【０００４】
意味的領域分割を行うにあたり、画像の各位置に関するクラスラベルの識別を小領域（ｓｕｐｅｒｐｉｘｅｌ）単位で行う手法が多く提案されている。小領域は主に類似した特徴を持つ小さな領域として画像から切り出されるもので、非特許文献２をはじめとして、さまざまな手法が提案されている。このようにして得られたそれぞれの小領域は、その内部の特徴量、あるいはその周辺のコンテクスト特徴量も一緒に用いてクラスラベルを識別することが行われる。通常はさまざまな学習画像を用いてこのような局所ベースの領域識別器を学習させることで領域識別を行う。
【０００５】
近年では、深層学習を利用した領域分割の研究も行われてきている。非特許文献３では、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）の中間層出力を特徴量として利用し、複数の中間層特徴による画素ごとのクラス判定結果を統合する。非特許文献３では、このようにして、画像の意味的領域分割を行っている。非特許文献３の手法では、前述のような小領域分割結果を利用することなく、画素ごとに直接クラス判定を行っている。
【０００６】
このような画像分類や意味的領域分割などの画像識別を行うにあたり、識別器の入力データとして与えられるものは通常、カメラ内部処理もしくは撮影後にユーザの手により現像された画像である。本来、現像画像はユーザが目で見て楽しむものであるため、画像の現像方法は見た目の美しさを基準にして決定される。しかしながら、このような通常の現像方法が画像識別のタスクにおいて適しているとは限らない。例えば、白い壁を美しく見せるために露出をややオーバー気味に飛ばした画像では、曇天のテクスチャレスな空と壁を区別することは困難になる。これに対して、暗めに撮影して壁のテクスチャが見えるような画像であるほうが、壁と空を分類するのに適していると考えられる。
【０００７】
特許文献１では、撮像装置から得られたＲＡＷ画像の平均輝度値によって複数のガンマ補正関数の中から補正関数を選択することで、露出のアンダー／オーバーを抑えた画像を、表示用画像とは別に生成し、物体検出処理に利用することを提案している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１４−１１７６７号公報
【非特許文献】
【０００９】
【非特許文献１】”ＩｍａｇｅＮｅｔ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｗｉｔｈ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ”，Ａ．Ｋｒｉｚｈｅｖｓｋｙ，Ｉ．Ｓｕｔｓｋｅｖｅｒ，Ｇ．Ｅ．Ｈｉｎｔｏｎ，Ｐｒｏｃ．Ｎｅｕｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ，２０１２．
【非特許文献２】”ＳＬＩＣ  Ｓｕｐｅｒｐｉｘｅｌｓ”，Ｒ．Ａｃｈａｎｔａ，Ａ．Ｓｈａｊｉ，Ｋ．Ｓｍｉｔｈ，Ａ．Ｌｕｃｃｈｉ，ＥＰＦＬ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ，２０１０．
【非特許文献３】”Ｆｕｌｌｙ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｓｅｍａｎｔｉｃ  Ｓｅｇｍｅｎｔａｔｉｏｎ”，Ｌｏｎｇ，Ｓｈｅｌｈａｍｅｒ，ａｎｄ  Ｄａｒｒｅｌｌ，ＣＶＰＲ２０１５．
【非特許文献４】Ｈｙｐｅｒｃｏｌｍｎｓ  ｆｏｒ  Ｏｂｊｅｃｔ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ａｎｄ  Ｆｉｎｅ−Ｇｒａｉｎｅｄ  Ｌｏｃａｌｉｚａｔｉｏｎ，Ｂ．Ｈａｒｉｈａｒａｎ，Ｐ．Ａｒｂｅｌａｅｚ，Ｒ．Ｇｉｒｓｈｉｃｋ  ａｎｄ  Ｊ．Ｍａｌｉｋ，ＣＶＰＲ２０１５．
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１で、用意される補正関数は人が直観的にパラメータを設定したものであって、補正値の良し悪しはその直観に頼るものであり、高精度な画像識別を行えない場合があった。そこで、本発明は、高精度な画像識別を行えるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、撮像装置のセンサ値による入力画像を取得する取得手段と、変換部を有する識別器を用いて、前記取得されたセンサ値による入力画像を識別する識別手段と、を有し、前記識別器のうち少なくとも前記変換部は、撮像装置のセンサ値による学習画像と当該学習画像に付与された正解データとに基づいて学習されていることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、高精度な画像識別を行うことができるようになる。
【図面の簡単な説明】
【００１３】
【図１】各実施形態における画像処理装置の機能構成を示す概略ブロック図。
【図２】第１の実施形態における学習処理、識別処理を示すフローチャート。
【図３】第１の実施形態における意味的領域分割におけるクラスラベルを説明する図。
【図４】第１の実施形態における識別器の構造を説明する図。
【図５】第１の実施形態においてガンマ補正関数とその近似関数を説明する図。
【図６】第１の実施形態における変換部の構成を説明する図。
【図７】各実施形態における識別器の構成を説明する図。
【図８】第１の実施形態における調整部の構成を説明する図。
【図９】各実施形態における識別器の構成を説明する図。
【発明を実施するための形態】
【００１４】
［第１の実施形態］
以下、本発明の第１の実施形態の詳細について図面を参照しつつ説明する。図１は、各実施形態に係る画像処理装置の機能構成を示す概略ブロック図であり、図１（ａ）が本実施形態に係る概略ブロック図である。画像処理装置は、学習時における学習装置、および識別時における画像識別装置として機能するものである。
【００１５】
このような画像処理装置は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ等のハードウェア構成を備え、ＣＰＵがＲＯＭやＨＤ等に格納されたプログラムを実行することにより、例えば、後述する各機能構成やフローチャートの処理が実現される。ＲＡＭは、ＣＰＵがプログラムを展開して実行するワークエリアとして機能する記憶領域を有する。ＲＯＭは、ＣＰＵが実行するプログラム等を格納する記憶領域を有する。ＨＤＤは、ＣＰＵが処理を実行する際に要する各種のプログラム、閾値に関するデータ等を含む各種のデータを格納する記憶領域を有する。
【００１６】
まず、本実施形態における学習時の装置構成の概要について説明する。ここで学習とは、後述する識別時の処理を行うために利用される識別器を、事前に用意された学習画像から生成することである。処理内容の詳細については後述する。
【００１７】
第１の学習データ記憶部５１００には、あらかじめ第１の学習データが用意されている。第１の学習データは、複数の現像後の学習画像と、各学習画像に対して付与されたクラスラベルから構成される。第１の学習データ取得部２１００では、第１の学習データ記憶部５１００から、学習画像、クラスラベルを読み込む。第１の学習部２２００では、学習画像を識別器に入力することによって得られる識別結果とクラスラベルとの誤差から、第１の識別器を学習する。学習して得られた第１の識別器は、第１の識別器記憶部５２００に記憶される。
【００１８】
第２の学習データ記憶部５３００には、あらかじめ第２の学習データが用意されている。第２の学習データは、デジタルカメラ等の撮像装置で得られた、現像される前のセンサ値による学習画像と、各学習画像に対して付与されたクラスラベルで構成される。第２の学習データ取得部２３００では、第２の学習データ記憶部５３００から、学習画像、クラスラベルを読み込む。変換部追加部２４００では、第１の識別器記憶部５２００から、第１の識別器を読み込み、その入力側に変換部を追加することで、第２の識別器を生成する。第２の学習部２５００では、第２の学習データにおける学習データを、第２の識別器に入力して得られた識別結果とクラスラベルとの誤差から、第２の識別器を学習する。学習して得られた第２の識別器は、第２の識別器記憶部５４００に記憶される。
【００１９】
次に、識別時の装置構成の概要に関して説明する。ここで識別とは、未知の入力画像に対して画像識別を行うことである。処理内容の詳細は後述する。
【００２０】
入力データ取得部１１００では、撮像装置で得られた、現像される前のセンサ値による入力画像と、その入力画像に対応する撮影情報が読み込まれる。識別器設定部１２００では、あらかじめ学習によって得られている第２の識別器を、第２の識別器記憶部５４００から読み込んで設定する。識別部１３００では、設定された第２の識別器の変換部に取得された入力画像を入力し、識別結果を得る。得られた識別結果は識別結果出力部１４００に送られ、ユーザもしくは別機器に結果が提示される。
【００２１】
本実施形態では、学習時の機能構成も、識別時の機能構成も同じ装置（画像処理装置）で実現されるものとして説明したが、それぞれ別の装置によって実現するようにしてもよい。また、第１の学習データ取得部２１００、第１の学習部２２００、第２の学習データ取得部２３００、変換部追加部２４００、および第２の学習部２５００は、すべて同じ装置上で実現されるものとして説明したが、それぞれ独立したモジュールとしてもよい。また、装置上で実装されるプログラムとして実現してもよい。第１の学習データ記憶部５１００、第１の識別器記憶部５２００、第２の学習データ記憶部５３００、および第２の識別器記憶部５４００は、装置の内部もしくは外部のストレージとして実現される。
【００２２】
入力データ取得部１１００、識別器設定部１２００、識別部１３００、および識別結果出力部１４００は、すべて同じ装置上で実現されるものでもよいし、それぞれ独立したモジュールとしてもよい。また、装置上で実装されるプログラムとして実現してもよいし、カメラ等の撮影装置内部において回路もしくはプログラムとして実装してもよい。第２の識別器記憶部５４００は、学習時と識別時で別々の装置で実現される場合には、それぞれで異なるストレージであってもよい。その場合には、学習時に得られた識別器を、識別用の装置におけるストレージにコピーもしくは移動して用いればよい。
【００２３】
次に、本実施形態に係る処理の詳細について説明する。ここでは、画像識別として、画像の意味的な領域分割を例にして説明を進める。まず、本実施形態の学習時の処理について説明する。図２（ａ）は、本実施形態における学習時の処理を示すフローチャートである。
【００２４】
第１の学習データ取得ステップＳ２１００では、第１の学習データ取得部２１００が、第１の学習データ記憶部５１００から、学習画像とクラスラベルを、学習データとして読み込む。第１の学習データ記憶部５１００には、あらかじめ複数の現像済み学習画像とクラスラベルが用意されている。学習画像は、具体的にはデジタルカメラ等で撮影され、カメラ内部もしくはカメラ外部の現像プログラムによって現像された画像データである。通常はＪＰＥＧやＰＮＧ、ＢＭＰなどの形式で与えられるが、本実施形態は学習画像のフォーマットに限定されるものではない。用意されている第１の学習画像の枚数をＮ１枚とし、ｎ番目の第１の学習画像をＩｎ（ｎ＝１，…，Ｎ１）と書くこととする。意味的領域分割におけるクラスラベルとは、学習画像の各領域に対して識別クラスがラベルとして割り振られているものである。
【００２５】
図３に意味的領域分割におけるクラスラベルの例を示す。図３（ａ）の５００は学習画像の例で、図３（ｂ）の５４０は学習画像５００に対応するクラスラベルの例である。このように、画像に対応する正解クラスラベルが与えられた正解データを、画像識別では一般的にＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）と呼ぶ。各領域に対して、空５４１、頭髪５４２、顔５４３、服５４４、花５４５、葉茎５４６といったクラスラベルが与えられている。ここでは意味的なクラスラベルを例に上げたが、光沢面やマット面、高周波領域といった領域の属性によるクラスラベルが与えられていてもよい。また、空と木の枝のような、複数種類の物体が混在して写っているクラスを定義してもよい。領域クラスは全部でＭ種類あるとする。学習画像Ｉｎの全画素に対応するクラスラベル集合をＧＴｎとする。
【００２６】
第１の学習ステップＳ２２００では、第１の学習部２２００が、第１の学習データによって、第１の識別器を学習する。ここでは、第１の識別器としてＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）を利用することとして説明する。ＣＮＮは、畳み込み層とプーリング層が何層も繰り返されることによって入力信号の局所的な特徴が次第にまとめられ、変形や位置ずれに対してロバストな特徴に変換されることで、識別タスクを行うニューラルネットワークである。
【００２７】
図４は、本実施形態で用いられるＣＮＮの構造を説明する図である。ＣＮＮは、図４（ａ）の６１０と６２０によって構成されており、それぞれ畳み込み層、完全結合層と呼ばれている。これらは、それぞれの役割として特徴抽出とパターン分類を行っている部分であり、以降では一般性を失わないように、それぞれ特徴抽出部６１０、分類部６２０と記述することとする。６１１は入力層であり、入力画像６３０の各位置における畳み込み演算結果を信号として受け取る。６１２、６１３は中間層であり、複数の中間層を介して最終層６１５へと信号が送られる。各層では畳み込み層とプーリング層が逐次配置され、畳み込み演算と、プーリングによる信号の選択が繰り返される。特徴抽出部６１０の最終層６１５における出力信号は、分類部６２０へと送られる。分類部６２０では、各層の素子が前後の層と全結合しており、重み係数による積和演算によって信号が出力層６４０へと送られる。出力層６４０ではクラス数Ｍと同数の出力素子があり、それぞれの素子の信号強度を比較して、最も大きな信号を出力する素子に対応するクラスが、その画素の出力クラスラベルとなる。
【００２８】
学習画像ＩｎをＣＮＮに入力した際に出力層で得られる出力信号の値を教師信号と比較することで、学習が行われる。ここで、学習画像Ｉｎの画素（ｉ，ｊ）における、クラスｍに対応する出力素子の教師信号ｔ（ｎ，ｉ，ｊ，ｍ）は、ＧＴｎの画素（ｉ，ｊ）のクラスラベルがＣ（Ｃ＝１，…，Ｍ）である場合に、下記の数式１のように定義される。
【００２９】
【数１】
2019028650.tif 000003
【００３０】
入力画像Ｉｎを識別器に入力した結果得られた出力層における位置（ｉ，ｊ）のクラスｍに対応する出力素子（ｉ，ｊ，ｍ）の出力信号をｙ（ｎ，ｉ，ｊ，ｍ）とすると、出力素子（ｉ，ｊ，ｍ）における誤差は下記の数式２のように計算される。
【００３１】
Ｅ（ｎ，ｉ，ｊ，ｍ）＝（ｙ（ｎ，ｉ，ｊ，ｍ）−ｔ（ｎ，ｉ，ｊ，ｍ））２      （数式２）
誤差逆伝搬法によって出力層から入力層へと誤差が順次逆伝搬されることで、確率的勾配降下法などによってＣＮＮにおける各層の重み係数が更新される。
【００３２】
学習におけるＣＮＮの重み係数は、ランダムな初期値からスタートさせてもよいが、何かしらのタスクに対して学習済みの重み係数を初期値として与えてもよい。例えば、領域分割タスクのクラスラベルは画素ごとに与える必要があるが、画像分類タスクのクラスラベルは画像１枚に対して１つのラベルを付与すればよい。そのため、事前に人がＧＴとしてクラスラベルを入力する手間は数十倍から数百倍の差がある。そのため、大量の画像分類タスクの学習画像が一般に公開されており、簡単に入手することができる。例えば、ＩＬＳＶＲＣ（ＩｍａｇｅＮｅｔ  Ｌａｒｇｅ−ｓｃａｌｅ  Ｖｉｓｕａｌ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｃｈａｌｌｅｎｇｅ）では１２０万枚の画像分類用学習用画像が公開されている。よって、ＣＮＮの重み係数の初期値を、このような画像分類タスクで一度初期学習しておき、その学習結果による重み係数を初期値として、領域分割タスクの学習を始めてもよい。このようにして、第１の学習ステップにて学習されたＣＮＮの重み係数を、識別器のパラメータとして第１の識別器記憶部に記憶する。
【００３３】
次に、第２の学習データ取得ステップＳ２３００では、第２の学習データ取得部２３００が、第２の学習データ記憶部５２００から、現像されていない学習画像、撮影情報、およびクラスラベルを、学習データとして読み込む。
【００３４】
第２の学習データ記憶部５２００には、あらかじめ複数の現像されていない学習画像とクラスラベルが用意されている。また、学習画像に関する撮影情報も得られている。学習画像は、具体的にはデジタルカメラ等で撮影され、現像処理を行う前の状態における、ＣＣＤやＣＭＯＳのような画像素子におけるセンサ値の羅列であり、一般的にＲＡＷ画像と呼ばれる。ＲＡＷ画像における輝度値は、撮影情報を使って以下のように各画素における各色チャンネルの輝度の絶対量を求めることができる。
【００３５】
撮影情報として、この画像全体における輝度Ｂｖ値、センサの適正レベル値ｏｐｔが得られているとする。ある画像における画素位置（ｉ，ｊ）に対応するＲＡＷ画像上のベイヤ配列におけるＲチャネルのセンサ測定値がＲＲＡＷであったとき、画素（ｉ，ｊ）のＲチャネルにおける輝度の絶対量であるＲＢｖの値は、下記の数式３で求めることができる。
【００３６】
【数２】
2019028650.tif 000004
【００３７】
ＧチャネルとＢチャネルとの輝度絶対量であるＧＢｖとＢＢｖも、同様にして数式４、数式５より求められる。
【００３８】
【数３】
2019028650.tif 000005
【００３９】
【数４】
2019028650.tif 000006
【００４０】
このような変換式を用いることで、ＲＡＷ画像による第２の学習画像に関する輝度絶対量のマップを得ることができる。
【００４１】
用意されている第２の学習画像の枚数をＮ２枚とし、ｎ番目の第２の学習画像から変換して得られた輝度絶対量のマップによる学習画像をＪｎ（ｎ＝１，…，Ｎ２）と書くこととする。クラスラベルは、第１の学習画像におけるクラスラベルと同じ定義のものとする。学習画像Ｊｎの全画素に対応するクラスラベル集合をＧＴｎとする。ＲＡＷ画像を伴った画像は、それを伴わない画像の収集に比べて困難であるため、第２の学習画像の数Ｎ２は、一般的にはＮ１より少ないことが多い。実際、多くのアマチュア写真家はＲＡＷ画像を公開しないため、ウェブなどで収集できる画像のほとんどはＲＡＷ画像を伴わないものである。また、第２の学習データで用いた学習画像は、現像することによって第１の学習データに利用することも可能である。
【００４２】
変換部追加ステップＳ２４００では、変換部追加部２４００が、第１の識別器記憶部５２００から第１の識別器を読み込み、読み込まれた第１の識別器の入力層側に、変換部を追加する。
【００４３】
まず、第１の識別器記憶部５２００から、第１の学習ステップＳ２２００にて学習されたＣＮＮの重み係数を読み込む。読み込まれた重み係数をＣＮＮに設定する。設定されたＣＮＮに対して、図４（ｂ）のようにして変換部６５１を追加する。変換部６５１の入力側には、第２の学習データ取得ステップＳ２３００で用意した、輝度絶対量による学習画像６５１が入力される。変換部６５０を通過して変換された画像６５２は、現像後の画像と同様にしてＣＮＮの入力層６１１に入力される。
【００４４】
変換部は、ＣＮＮの新しい層として追加される。通常、ＲＡＷ画像から現像画像への変換は、ガンマ補正とホワイトバランスによる修正が行われる。ガンマ補正関数は下記の数式６のように定義される。
【００４５】
ｙ＝ｘγ      （数式６）
ここで、ｘは任意の画素におけるＲＡＷ画像の値、すなわち撮像装置におけるセンサ値であり、ｙはその画素の現像後の輝度値である。制御パラメータγの値は、カメラやメーカ、撮影モードなどによって異なる。図５は、本実施形態におけるガンマ補正関数とその近似関数を説明する図であり、図５（ａ）にガンマ関数の例を示している。図５（ａ）の７０１はγ＝１、７０２はγ＝０．５、７０３はγ＝２のときのガンマ補正関数のカーブである。ホワイトバランスは、これら補正された輝度値のチャネルごとの重み付けにあたる。ここで、入力信号に対するガンマ補正関数を下記の数式７のように近似することを考える。
【００４６】
ｙ＝ｗ２ｔａｎｈ（ｗ１ｘ＋ｂ１・ｚ１）＋ｂ２・ｚ２      （数式７）
ここで、ｚ１およびｚ２は撮影環境によって変動する変数で、ｗ１、ｗ２、ｂ１およびｂ２は重み係数である。図５（ｂ）に示すように、この関数はγ補正関数の近似とすることができる。図５（ｂ）の７１１，７１２、７１３は、それぞれ下記の数式８、数式９、数式１０のような関数である。
【００４７】
ｙ＝１．１ｔａｎｈ（ｘ−０．５）＋０．５      （数式８）
ｙ＝５ｔａｎｈ（ｘ＋１）−３．８      （数式９）
ｙ＝５ｔａｎｈ（ｘ−２）＋４．８      （数式１０）
図６は本実施形態における変換部の構成を示す図であり、数式７における形式は、図６（ａ）のような素子の組み合わせで表現することができる。輝度絶対量による学習画像６５１の任意の画素と、変換後の画像６５２における対応画素は、素子６５３および素子６５４によって結合される。学習画像６５１における輝度絶対値は、数式７ではｘに相当し、重みｗ１で重みづけされて、入出力関数として非線形関数のｔａｎｈを持つ素子６５３に入力される。素子６５３の出力信号は重みｗ２で重みづけされ、単調増加の線形関数を入出力関数として持つ素子６５４に入力される。
【００４８】
学習画像６５１からは、シーン特徴抽出器６５５を通して、画像のシーンを記述する特徴量６５６が抽出される。シーン記述特徴量６５６は、ＨＯＧやＦｉｓｈｅｒＶｅｃｔｏｒ、色ヒストグラムなどを想定することができるが、本実施形態はその特徴量の種類によって限定されるものではない。また、シーン記述特徴は上記のように画像特徴だけに限らない。例えば、撮像画像における付帯情報として、地軸に対する撮像装置の向き情報としてのジャイロセンサ値や、時計による時刻情報から特徴量を抽出してもよい。その例を図６（ｂ）に示す。例えば、ジャイロセンサの値から地面方向を３軸の値で得ることができるため、これは正規化などすれば３次元のシーン記述特徴ベクトルとして利用することができる。また、時計による時刻情報は、１時間を１５ｄｅｇとして対応付けてｓｉｎ、ｃｏｓによる循環関数にすれば、１日を１周期とした特徴量として利用できる。カレンダーに関しても同様に１ヵ月を１５ｄｅｇとして１年を１周期とした特徴量として利用することができる。シーン記述特徴量６５６は、数式７ではｚ１およびｚ２に相当する。そして、重みベクトルｂ１による積和演算により重みづけされて素子６５３へと入力され、重みベクトルｂ２による積和演算により重みづけされて、素子６５４へと入力される。
【００４９】
ここでは、ｚ１＝ｚ２として説明したが、シーン記述特徴は、例えばｚ１をＨＯＧ、ｚ２をＦｉｓｈｅｒＶｅｃｔｏｒといったように、別々のものとして分けてもよい。シーン記述特徴は、ｔａｈｈカーブのバイアスを調整するための特徴であって、重み係数ベクトルｂ１およびｂ２で重み付けすることは、一種のシーン識別を行うことに相当する。例えば、晴れた日の屋外のシーンと、白い壁に囲まれた屋内のシーンでは、画像中に写っている物体の相違と、輝度絶対量の違いにより、異なるシーン記述特徴が得られるため、画像変換のバイアスとして異なる補正量をかけることになる。また、シーン記述特徴６５６を素子６５３および６５４に送る際に、重み係数ｂ１およびｂ２による線形和ではなく、多層構造のニューラルネットワークを加えてもよい。図６（ｃ）はその例を示しており、６５７および６５８はそれぞれ、入力層にシーン記述特徴６５６を入力し、１つの出力信号ｆ（ｚ）およびｇ（ｚ）を出力する多層ニューラルネットワークである。この場合、数式７は以下の数式１１のようになる。また、以降の説明では、各ニューラルネットワークｆおよびｇの結合係数をｂ１およびｂ２と置き換えて読めばよい。
【００５０】
ｙ＝ｗ２ｔａｎｈ（ｗ１ｘ＋ｆ（ｚ１））＋ｂ２・ｇ（ｚ２）      （数式１１）
素子６５４の出力信号は、そのままＣＮＮの入力層へ渡す画像６５２の対応画素の値として扱われる。このような結合をＲＢｖ、ＧＢｖ、ＢＢｖの各チャネルに対して持たせたとき、ｗ２およびｂ２の値は各チャネルのバランスを表現しており、これはホワイトバランスの値を近似するものである。このようにして、現像前の学習画像６５１は、輝度絶対量から現像処理と近似された変換により、画像変換されることになる。
【００５１】
第２の学習ステップＳ２５００では、第２の学習部２５００が、変換部追加ステップＳ２４００で追加された変換部とともに、識別器を学習する。変換部追加ステップＳ２４００で設定された画像変換を定義する重み係数ｗ１、ｗ２、ｂ１、ｂ２は、第２の学習データ取得部によって取得された学習画像とクラスラベルによって学習される。学習画像Ｊｎが図４（ｂ）の変換部６５０に入力され、特徴抽出６１０と分類部６２０を介して出力信号が得られたら、その値をクラスラベルと比較することにより、ＣＮＮ全体と変換部の重み係数を学習する。
【００５２】
特徴抽出部６１０と分類部６２０の結合係数は、第１の学習ステップＳ２２００で得られた値を初期値とする。変換部６５０における重み係数は、ランダムな初期値から学習させてもよい。あるいは、変換部６５０だけＣＮＮとは独立に学習させ、その状態を初期値としてＣＮＮと一緒に学習させてもよい。変換部６５０だけを初期学習させるためには、変換部６５０を３層ニューラルネットワークとみなして、現像前の輝度絶対量マップによる学習画像６５１を入力とし、素子６５３の出力信号をネットワークの出力信号とみなす。教師信号として、適正露出による現像後画像の輝度値を与えることにより、誤差逆伝搬により回帰学習を行えばよい。変換部６５０、特徴抽出部６１０、分類部６２０の重み係数の初期値が決定されたら、全てを通して学習を行う。このようにして、変換部６５０と特徴抽出部６１０、分類部６２０をすべて通して学習画像で学習させることにより、変換部６５０のパラメータも、学習画像に対して識別誤差を軽減させる方向に修正することができる。これは、画像の現像方法を、見た目の良さではなく、識別し易いように修正していることに相当する。変換部６５０と畳み込み層６１０、完全結合層６２０が学習されたら、得られた重み係数を第２の識別器記憶部５４００に記憶させる。
【００５３】
このようにして学習された識別器を用いて実際の入力画像を識別する工程を、以下に詳細説明する。図２（ｂ）は、本実施形態に係る識別時の処理を示すフローチャートである。
【００５４】
まず、入力データ取得ステップＳ１１００では、入力データ取得部１１００が、撮像装置から得られた現像前の画像データが取得される。入力データの方式は、第２の学習データ取得ステップＳ２３００における現像前画像と同様であるとする。すなわち、撮像装置で得られたセンサ値によるＲＡＷ画像から、撮像情報を利用して、数式３、数式４、数式５を使って輝度絶対量のマップに変換したものである。
【００５５】
識別器設定ステップＳ１２００では、識別器設定部１２００が、第２の識別器記憶部５４００から学習済みの識別器を読み込む。なお、ここでは入力データ取得ステップＳ１１００の後に識別器設定ステップＳ１２００を行うようにしているが、この２つのステップの手順は逆でもよい。識別器を常にメモリに確保して入力画像を次々に処理する場合には、識別器設定ステップＳ１２００の後で入力データ取得ステップＳ１１００以降の処理を繰り返し行うとしてもよい。識別器設定ステップＳ１２００で設定される識別器は、図４（ｂ）で表わされる変換部とＣＮＮで構成される識別器である。
【００５６】
識別ステップＳ１３００では、識別部１３００が、識別器設定ステップＳ１２００で設定された識別器を用いて、入力データ取得ステップＳ１１００で取得された入力画像の識別処理を行う。輝度絶対量のマップとして取得された入力画像は、図４（ｂ）における識別器の変換部６５０に入力され、変換された画像はＣＮＮの特徴抽出部６１０における入力層６１１へと入力される。畳み込み層６１０では入力画像の信号が各層に順伝搬され、変換された信号は全結合層６２０を介して、各識別クラスに割り当てられた出力素子６２１の出力信号になる。信号が最も大きい出力素子に対応するクラスラベルが、その画素のクラス識別結果となる。
【００５７】
識別結果出力ステップＳ１４００では、識別結果出力部１４００が、識別ステップＳ１３００で得られた識別結果を出力する。識別結果出力ステップＳ１４００で行われる処理は、識別結果を利用するアプリケーションに依存するものであって、本実施形態を限定するものではない。例えば、領域ごとに与える画像処理を、領域クラスによって変更するような画像補正アプリケーションであれば、各画素のクラスラベルを画像補正プログラムに出力すればよい。その際、各クラスの曖昧さによって処理の重み付けなどが必要であるなら、各クラスラベルに対応する出力素子６２１の出力信号値をクラス尤度としてそのまま出力してもよい。特定のクラスに関する識別結果だけが必要であるなら、他のクラスに関する結果を捨てて、必要なクラスの識別結果だけを出力すればよい。
【００５８】
以上の説明では、画像識別処理として、画像の領域分割を例に説明したが、画像分類タスクに対しても、本実施形態は適用可能である。図９は各実施形態における識別器の構造を説明する図であり、画像分類タスクの場合は、図９（ａ）のようにＣＮＮの特徴抽出部６１０の最終層６１５の全画素における出力信号を、分類部６２０に入力すればよい。
【００５９】
以上のように、本実施形態によれば、識別器への入力画像を変換する変換部を学習することにより、識別に適した画像が得られ、高精度な画像識別を実現することが可能になる。また、識別器の画像入力側に変換部を加えて現像前の学習画像を用いて追加学習することにより、現像処理も含めた識別器の学習を行うことができる。これにより、見た目重視の現像処理を介した画像で無理に識別処理を行うことなく、より高精度な識別が行えることが期待できる。また、変換部以外の部分を大量の現像後画像で事前学習し、それを初期値に変換部を含めた識別器の学習を行うプロセスにより、比較的少ない現像前画像による学習画像で、画像変換を含めた識別器を学習することができる。これは、現像後画像に比べて現像前画像による大量の学習画像を揃えることが困難な場合に有効である。
【００６０】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。第１の実施形態では、識別器にＣＮＮを用いた場合の例を示したが、識別器にＣＮＮを用いた場合、畳み込み処理の繰り返しによって、順伝搬信号からはエッジ情報などが強く残ることになり、輝度値などの絶対値情報は徐々に情報が薄れていく傾向がある。色や明るさが有効な特徴であるような場合、そのような情報が失われることは識別精度低下の原因になる。例えば、パステルカラーの無地な家の壁や、太陽のランプのように光る物体などは、各色チャネルの輝度があればより識別精度の向上が期待できる。
【００６１】
また、撮像装置によっては、像面位相差ＡＦなどによって距離情報が得られている場合もあり、距離情報との併用によって、被写体との距離によって発生するスケーリングに対するロバスト性が向上することも期待できる。本実施形態では、入力画像の各画素に対して与えられる絶対値情報を識別器に取り込む形態について説明する。
【００６２】
なお、第１の実施形態で既に説明をした構成については同一の符号を付し、その説明を省略する。本実施形態における装置構成は、第１の実施形態と同じく図１（ａ）で表わされるため、詳細な説明は省略する。
【００６３】
まず、本実施形態の学習処理について説明する。そのフローチャートは、図２（ａ）で示される第１の実施形態の学習処理のフローチャートと同じであるが、一部のステップにおける処理の内容が第１の実施形態とは異なる。
【００６４】
第１の学習データ取得ステップＳ２１００，第１の学習ステップＳ２２００、および第２の学習データ取得ステップＳ２３００に関しては、第１の実施形態と同様であるため、説明は省略する。
【００６５】
変換部追加ステップＳ２４００では、まず、変換部追加部２４００が、第１の識別器記憶部５２００から、第１の学習ステップＳ２２００にて学習されたＣＮＮを読み込む。そして、変換部追加部２４００は、このＣＮＮに対して、図４（ｃ）のように変換部６５０と、伝達部６６０を追加する。変換部６５０に関しては第１の実施形態と同様であるため、説明は省略する。伝達部６６０は、現像前の画像が持つ、各画素における絶対値情報を伝達するための多層ネットワークである。各層６６１、６６２、６６３、…、６６５は、ＣＮＮの各畳み込み層６１１、６１２，６１３、…、６１５に対応する層である。各層のチャネル数は、画像の各画素における情報の数に相当する。例えば、絶対値情報として第１の実施形態で示した輝度絶対量（ＲＢｖ、ＧＢｖ、ＢＢｖ）を用いる場合には、各層はＲＢｖ、ＧＢｖ、ＢＢｖに対応する３つのチャネルを持つことになる。層の各チャネルにおける特徴面のサイズは、ＣＮＮの対応層の特徴面のサイズと等しいものとする。伝達部６６０の各層は単純にスケーリングの関係にあり、線形補間やバイキュービック補間、最近傍法などによる手法でリサイズされる。演算時間を重視するのであれば、間引きによるテーブル参照でリサイズを行ってもよい。これら伝達部における層間の結合部分には学習によって修正される結合係数は割り振られない。また、ＣＮＮの入力層６１１に対応する伝達部６６０の層６６１のサイズは入力画像サイズそのものであるため、入力画像の画素情報がそのまま直接設定されることになる。伝達部６６０の最も入力側の層６１１における、出力部の画素位置に対応する位置６６９の値は、分類部６２０の入力層にそのまま入力される。
【００６６】
伝達部６６０の各層における値は、対応するＣＮＮの畳み込み層に対して、バイアス係数とともにバイアス値として入力される。第ｌ番目の畳み込み層におけるチャネルｍの位置（ｉ，ｊ）の素子に対する入力信号ｕｌｍ（ｉ，ｊ）は、以下の数式１２のように表わされる。
【００６７】
【数５】
2019028650.tif 000007
【００６８】
ここで右辺第１項はＣＮＮにおける結合を表わしており、ＫはＣＮＮの第ｌ−１層におけるチャネル数、Ｈは第ｌ−１層と第ｌ層の間における畳み込みフィルタの幅である。ｈｌｐｑｋｍは、第ｌ層の第ｍチャネルと第ｌ−１層の第ｋチャネルを結合する畳み込みフィルタの、フィルタ中心座標における位置（ｐ，ｑ）の値である。また、ｚｌ−１（ｉ，ｊ，ｋ）は、第ｌ−１層における位置（ｉ，ｊ）の出力信号、ｂｌｍは、第ｌ層の第ｍチャネルにおけるバイアス係数である。右辺第２項は伝達部６６０からの結合を表わしており、Ｒは画素情報のチャネル数、Ｊｌ（ｉ，ｊ，ｒ）は画素情報伝達部の第ｌ層の第ｒチャネルにおける値、ｂｌｒは同バイアス係数である。これらの中で、学習によって修正されるパラメータは、ｈｌｐｑｋｍ、ｂｌｍ、ｂｌｒである。
【００６９】
第２の学習ステップＳ２５００では、第２の学習部２５００が、第２の学習データ取得ステップＳ２３００で取得した学習画像を用いて、ＣＮＮの内部結合係数を学習する。また、第２の学習部２５００は、ＣＮＮの内部結合係数とともに、学習画像を用いて、変換部追加ステップＳ２４００で追加された変換部６５０および伝達部６６０とＣＮＮを結合する係数を学習する。上述した結合係数が学習されるパラメータとして追加されたことを除けば、学習に関する基本的なアルゴリズムは第１の実施形態と同様であるため、その説明は省く。学習によって修正されたパラメータは、第２の識別器記憶部５４００に記憶される。
【００７０】
次に、本実施形態の識別処理について説明する。そのフローチャートは、図２（ｂ）で示される第１の実施形態の識別処理のフローチャートと同じであるが、一部のステップにおける処理の内容が第１の実施形態とは異なる。
【００７１】
入力データ取得ステップＳ１１００、識別器設定ステップＳ１２００の処理は、第１の実施形態と同様であるため、説明は省略する。
【００７２】
識別ステップＳ１３００では、識別部１３００が、現像前の輝度絶対値による入力画像を図４（ｃ）に示すネットワークに入力することにより、識別結果を得る。識別時における順伝搬方向の信号の伝達に関しては、学習時と同じであるため、詳細な説明は省略する。
【００７３】
識別結果出力ステップＳ１４００における処理は、第１の実施形態と同様であるため、説明は省略する。
【００７４】
絶対値情報としては、上記輝度絶対量以外にも、撮像系の像面位相差ＡＦなどによって得られる距離情報を与えてもよい。距離情報は、対象物体の絶対的なサイズや立体形状に関する情報を与えるため、スケーリングによる類似物や、実物と写真や絵画などとの区別がつきやすくなる。例えば、看板に描かれた人物や巨大人物像と、実物の人間を区別する場合などで有効である。
【００７５】
距離情報用の伝達部６７０を追加した場合の構成を図４（ｄ）に示す。６５３は、各画素の距離情報を持つ距離マップである。画像の画素密度に対して測距点が疎である場合には、線形補間やバイキュービック補間、あるは最近傍法などによって、各画素の距離を補うことで、各画素に対する距離マップを算出すればよい。この場合、チャネル数は、ＲＢｖ、ＧＢｖ、ＢＢｖ、距離情報の４チャネルになる。図４（ｄ）の構成による学習処理や識別時の処理は、図４（ｃ）の輝度絶対量による例と同様であるため、説明は省略する。さらに、輝度情報と距離情報を併用する場合には、図７（ｂ）のように伝達部を２つ並列に用意すればよい。
【００７６】
なお、距離情報を利用する場合には、画像情報とは異なる勾配特徴を追加することも可能である。距離の勾配を特徴に組み込むことにより、写真と立体物の区別が容易にできるようになる。その場合は、図９（ｂ）のように、特徴抽出部をもう１つ並列に並べる構成となる。この場合、学習時の変換部追加ステップＳ２４００では、変換部６５０と伝達部６６０だけでなく、距離情報用の特徴抽出部７１０を追加することになる。距離情報用特徴抽出部７１０では、距離マップが入力層７１１に入力され、最終層７１５における出力信号は、分類部６２０への入力信号として与えられる。第２の学習ステップＳ２５００では、学習画像に対する誤差信号が逆伝搬され、分類部６２０、画像用および距離情報用の特徴抽出部６１０と７１０、変換部６５０、画像用および距離情報用の伝達部６６０と６７０の重み係数が、学習によって更新される。
【００７７】
以上のように、本実施形態では、輝度値情報または距離情報の少なくとも一方をニューラルネットワークの中間層に入力して識別精度の向上を図ることができる。特に、ＣＮＮの出力層に向けて薄れがちな絶対値による情報が、特徴抽出の中間層に入れ込まれることによって、色や明るさが重要な情報である対象物体の識別に対して識別精度の向上が期待できる。また、像面位相差などによって得ることのできる距離情報も、同様な方法にて識別器に利用することができ、さらに識別精度の向上が期待できる。
【００７８】
［第３の実施形態］
次に、本発明の第３の実施形態について説明する。第１の実施形態では、入力画像のシーン特徴によって、入力画像全体に対して同じ画像変換を行う方法について説明をした。これは通常の現像方法を変換部で近似しつつ識別精度を向上させるための現像方法を学習によって得ることを意味する。ここで、さらに識別精度を向上させるために、領域によって異なる現像を行ってもよい。本実施形態では、領域ごとに変換部の変換パラメータを修正する形態について説明する。なお、第１、第２の実施形態で既に説明をした構成については同一の符号を付し、その説明は省略する。
【００７９】
図１（ｂ）は、本実施形態に係る画像処理装置の機能構成を示す概略ブロック図である。まず、学習時の学習装置として機能する際の装置構成について説明する。第１の学習データ取得部２１００、第１の学習部２２００、第２の学習データ取得部２３００、変換部追加部２４００、および第２の学習部２５００は、第１の実施と同様であるため、説明を省略する。また、第１の学習データ記憶部５１００、第１の識別器記憶部５２００、第２の学習データ記憶部５３００、および第２の識別器記憶部５４００についても、第１の実施形態と同様であるため、説明は省略する。
【００８０】
調整部追加部２６００は、一次識別結果により変換部を調整する調整部を、識別器に追加する。第３の学習部２７００は、第２の学習部２５００によって学習された変換部と識別器を使って第２の学習データに対して識別処理を行い、そこで発生する誤差をもとに、調整部を学習する。学習された調整部のパラメータは、調整部記憶部５５００に記憶される。
【００８１】
続いて、識別時の画像識別装置として機能する際の装置構成について説明する。入力データ取得部１１００、識別器設定部１２００、および識別部１３００は、第１の実施形態と同様であるため、説明を省略する。調整部設定部１５００は、調整部記憶部５５００から調整部のパラメータを読み込み、変換部を調整する調整部を設定する。再識別部１６００は、識別部１３００における識別結果と調整部を使って、識別器による識別処理を再度行う。得られた再識別結果は識別結果出力部１４００に送られ、ユーザもしくは別機器に結果が提示される。
【００８２】
次に、図２（ｃ）を用いて、本実施形態に係る学習処理について説明する。なお、第１の学習データ取得ステップＳ２１００から第２の学習ステップＳ２５００までは、第１の実施形態と同様の処理のため、説明を省略する。
【００８３】
調整部追加ステップＳ２６００では、調整部追加部２６００が、変換部による現像処理を、一次識別結果をもとに調整する調整部を追加する。図７は、各実施形態に係る識別器の構成を説明する図であり、本実施形態に係る構成例を図７（ａ）に示す。
【００８４】
まず、本ステップでは、第２の学習ステップＳ２５００までに学習された識別器に対して、学習画像を入力することで、クラス識別結果が素子６２１にて得られる。得られた識別結果から、第２の学習画像の中で、ＧＴにおけるクラスラベルとの誤差が小さいもの、例えば誤差０．２以下の領域を学習データから除外する。残った学習データに関して、特徴抽出部６１０の最終層６１５における全チャネルに関する出力信号ベクトル６９１を抽出する。なお、ここではベクトル６９１を最終層６１５における出力信号と説明したが、他の層の値を用いてもよい。例えば、入力層６１１の値を使ってもいいし、すべての層６１１から６１５の値を連結して用いてもよい。これらの値は調整部６９０に入力され、そこから出力される信号は変換部６５０へと与えられ、画像変換処理が調整される。
【００８５】
ここで、図８を用いて、本実施形態に係る調整部６９０の構成を説明する。特徴抽出部６１０における最終層６１５の出力信号と、出力層６４０における各クラスの出力信号は、連結されて特徴量６９６とされる。特徴量６９６は、重みベクトルｂ３による重みづけがなされた上で、素子６９３に入力される。特徴量６９６は、また、重みベクトルｂ４による重みづけがなされ、素子６５４に入力される。このような構造によって得られた調整値は、第１の実施形態と同様にしてガンマ補正関数の近似である。素子６５４への入力信号は、変換部による変換関数と調整部による変換関数の和となっていることから、２つのガンマ補正関数の組み合わせによる現像処理を近似していることになる。変換部と調整部の双方によって補正された素子６５４の出力信号ｙは、下記の数式１３のように記述される。
【００８６】
ｙ＝ｗ２ｔａｎｈ（ｗ１ｘ＋ｆ（ｚ１））＋ｂ２・ｇ（ｚ２）＋ｗ３ｔａｎｈ（ｂ３・ｚ３）＋ｂ４・ｚ３      （数式１３）
ここで、ｚ３は、６９６で示される畳み込み層における最終層の出力信号と、出力層における各クラスの出力信号を結合した特徴ベクトルであり、ｗ３、ｂ３、およびｂ４は重み係数である。右辺第２項は、調整部からの入力であり、ここでは調整項と呼ぶことにする。
【００８７】
次に、第３の学習ステップＳ２７００では、第３の学習部２７００が、これら調整部６９０の重み係数を学習する。第３の学習部２７００は、調整部６９０に関する重み係数ｗ３、ｂ３、ｂ４以外のすべての重み係数の学習係数を０にして固定し、ｗ３、ｂ３、ｂ４についてのみ誤差逆伝搬して修正する。学習して得られた上記パラメータは、調整部記憶部５５００に記憶される。
【００８８】
ここで行われる学習は、特徴抽出部６１０における出力信号と、分類部におけるクラス識別信号を、入力特徴量として学習しているため、間違いパターンを学習していると解釈することができる。つまり、クラス識別結果とＣＮＮの内部状態がどのようなときに間違いが発生し、そのときにどのような画像変換を行えば誤差が減少するかが学習されている。例えば、一次識別の時点で白い領域が飛び過ぎてしまい、識別結果が正しくなかった場合、本実施形態では、類似した間違いパターンのときに、その誤差を減らすために、輝度の明るい部分ではコントラストが強くなるように調整部の変換が修正される。
【００８９】
次に、図２（ｄ）を用いて、本実施形態に係る識別処理について説明する。まず、第１の実施形態と同様の処理にて入力データ取得ステップＳ１１００から識別ステップＳ１３００を行い、一次識別結果を得る。
【００９０】
次に、調整部設定ステップＳ１５００では、調整部設定部１５００が、調整部記憶部５５００から調整部の重み係数を読み込み、調整部６９０が設定される。
【００９１】
再識別ステップＳ１６００では、再識別部１６００が、一次識別結果のクラス識別信号と、特徴抽出部６１０における出力信号を連結した特徴ベクトル６９６を調整部６９０に入力することで、調整項の追加された画像変換関数が領域ごとに得られる。入力画像は、調整項による修正を加えた画像変換を介して、領域ごとに調整された画像変換が行われ、その変換結果が特徴抽出６１０に入力される。これにより、分類部６２０を介して、出力層６４０にて再識別結果が得られる。なお、ここでは図示しないが、再識別ステップＳ１６００の結果をさらに用いて、調整項を使って繰り返し再識別を行ってもよい。その場合、適当な繰り返し数で打ち切るか、もしくは調整項の信号の変化が小さくなった時点で計算を打ち切るなどすればよい。
【００９２】
識別結果出力ステップＳ１４００は、第１の実施形態と同様の処理であるため、説明は省略する。
【００９３】
本実施形態では、このようにして、まず得られた一次識別結果をもとに、畳み込み層における出力信号とクラス識別信号を組み合わせた識別結果を反映した特徴量を用いて画像変換処理を調整させる。その調整の方法は、学習データによって誤差を縮小する方向に学習されているため、一次識別結果よりも精度よく識別されることが期待できる。
【００９４】
［その他の実施形態］
上記の各実施形態では、ＣＮＮによる識別は、特徴抽出部６１０の最終層６１５と、分類部６２０接続した形式で説明を行った。しかし、被写体の細かいテクスチャが有効な特徴量である場合、最終層からの信号だけでは識別に不十分な場合もある。例えば、モルタルによる白壁と、曇天によるテクスチャのない空などを区別する場合などは、細かいテクスチャは重要な情報である。そのような場合には、特徴抽出部６１０のすべての層から信号を取り出すことで、それを分類部６２０に渡す方法もある。これはハイパーカラム構造と呼ばれ、非特許文献４などにも挙げられている公知の手法である。
【００９５】
ハイパーカラム構造を、これまで説明した構成に対して同様に採用しても、上記各実施形態と同様な処理を行うことができる。図７（ｃ）に、ハイパーカラム構造のＣＮＮを示す。６８１、６８２、６８３、…、６８５は、出力層６４０の画素６２１の位置における、特徴抽出部６１０における各層６１１、６１２、６１３、…、６１５における出力信号である。これらの信号値は特徴ベクトルとして扱われ、分類部６２０へと入力される。
【００９６】
図４（ｂ）（ｃ）および図５（ｄ）（ｂ）に関しても、同様な構造を入れ込むことができる。構造が上記のようなハイパーカラム構造になっても、学習処理や識別処理に関しては同様のアルゴリズムで可能であるため、詳細な説明は省略する。
【００９７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９８】
１１００  入力データ取得部
１２００  識別器設定部
１３００  識別部
１４００  識別結果出力部
【図１】
2019028650.tif 000008
【図２】
2019028650.tif 000009
【図３】
2019028650.tif 000010
【図４】
2019028650.tif 000011
【図５】
2019028650.tif 000012
【図６】
2019028650.tif 000013
【図７】
2019028650.tif 000014
【図８】
2019028650.tif 000015
【図９】
2019028650.tif 000016