(57)【要約】【課題】画像のデフォーカスによるぼけを整形し、良好なぼけ味の画像を得ることが可能な画像処理方法を提供する。【解決手段】画像処理方法は、光学系の第１の瞳を介して被写体空間を撮像することで得られた第１の画像と、第１の瞳とは異なる光学系の第２の瞳を介して被写体空間を撮像することで得られた第２の画像とを取得する工程（Ｓ１０１、Ｓ３０１）と、多層のニューラルネットワークを用いて、第１の画像と第２の画像とに基づいて、デフォーカスによるぼけを整形したぼけ整形画像を生成する工程（Ｓ１０２、Ｓ３０７）とを有する。【選択図】図１
2020036310.tif 000002
【特許請求の範囲】
【請求項１】
光学系の第１の瞳を介して被写体空間を撮像することで得られた第１の画像と、前記第１の瞳とは異なる前記光学系の第２の瞳を介して前記被写体空間を撮像することで得られた第２の画像と、を取得する工程と、
多層のニューラルネットワークを用いて、前記第１の画像と前記第２の画像とに基づいて、デフォーカスによるぼけを整形したぼけ整形画像を生成する工程と、を有することを特徴とする画像処理方法。
【請求項２】
前記ぼけ整形画像は、前記デフォーカスによるぼけに対し、ヴィネッティング、点像強度分布のピーク分離による多重ぼけ、輪帯模様、または、前記光学系の瞳の遮蔽のうち少なくとも一つの影響を軽減した画像であることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記ぼけ整形画像のデフォーカスによるぼけの拡がりは、前記第１の画像のデフォーカスによるぼけの拡がり以上であることを特徴とする請求項１または２に記載の画像処理方法。
【請求項４】
前記第１の瞳の透過率分布は、前記第２の瞳の透過率分布と異なることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理方法。
【請求項５】
前記第２の瞳は、前記第１の瞳の一部であることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理方法。
【請求項６】
前記第１の画像および前記第２の画像は、前記光学系を介して前記被写体空間を同時に撮像して得られた画像であることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理方法。
【請求項７】
前記第１の画像および前記第２の画像は、同一の撮像素子により撮像された画像であることを特徴とする請求項１乃至６のいずれか１項に記載の画像処理方法。
【請求項８】
前記第１の画像と前記第２の画像との明るさを合わせる処理を行う工程を更に有し、
前記ぼけ整形画像を生成する工程は、前記明るさを合わせる処理後の前記第１の画像および前記第２の画像に基づいて実行されることを特徴とする請求項１乃至７のいずれか１項に記載の画像処理方法
【請求項９】
前記明るさを合わせる処理を行う工程は、前記第１の瞳と前記第２の瞳の透過率分布に関する情報に基づいて実行されることを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
前記明るさを合わせる処理を行う工程は、前記第１の画像および前記第２の画像のそれぞれの部分領域に関して算出された平均画素値に基づいて実行されることを特徴とする請求項８に記載の画像処理方法。
【請求項１１】
前記多層のニューラルネットワークは、ウエイトに関する情報を用いて構成されることを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理方法。
【請求項１２】
前記第２の瞳が線対称となる軸と平行かつ前記第１の画像および前記第２の画像のそれぞれの基準点を通過する直線で、前記第１の画像および前記第２の画像をそれぞれ分割し、分割された前記第１の画像および前記第２の画像に対して反転処理を行う工程を更に有し、
前記ぼけ整形画像を生成する工程は、反転処理後の前記第１の画像と前記第２の画像とに基づいて実行されることを特徴とする請求項１乃至１１のいずれか１項に記載の画像処理方法。
【請求項１３】
前記第１の画像および第２の画像に基づいて前記被写体空間の視差マップまたはデプスマップを算出する工程を更に有し、
前記ぼけ整形画像を生成する工程は、更に前記視差マップまたは前記デプスマップに基づいて実行されることを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理方法。
【請求項１４】
前記ぼけ整形画像を生成する工程は、前記視差マップまたは前記デプスマップを前記多層のニューラルネットワークに入力する工程を有することを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
前記ぼけ整形画像を生成する工程は、前記第１の画像、前記第２の画像、および、前記視差マップまたは前記デプスマップをチャンネル方向に連結して構成される入力画像を前記多層のニューラルネットワークに入力する工程を有することを特徴とする請求項１４に記載の画像処理方法。
【請求項１６】
前記ぼけ整形画像を生成する工程は、前記第１の画像または前記第２の画像におけるエッジの分布、或いは、前記第１の画像および前記第２の画像に基づいて算出された前記視差マップまたは前記デプスマップに基づいて、前記多層のニューラルネットワークに入力する前記第１の画像および前記第２の画像のそれぞれの入力領域を決定する工程を有することを特徴とする請求項１３に記載の画像処理方法。
【請求項１７】
前記ぼけ整形画像を生成する工程は、
前記多層のニューラルネットワークを用いて、互いに異なるサンプリングレートのダウンサンプリングが実行された複数の特徴マップを算出する工程と、
前記複数の特徴マップに基づいて前記ぼけ整形画像を生成する工程と、を有することを特徴とする請求項１乃至１６のいずれか１項に記載の画像処理方法。
【請求項１８】
光学系の第１の瞳を介して被写体空間を撮像することで得られた第１の画像と、前記第１の瞳とは異なる前記光学系の第２の瞳を介して前記被写体空間を撮像することで得られた第２の画像と、を取得する取得手段と、
多層のニューラルネットワークを用いて、前記第１の画像と前記第２の画像とに基づいて、デフォーカスによるぼけを整形したぼけ整形画像を生成する生成手段と、を有することを特徴とする画像処理装置。
【請求項１９】
光学系により形成された光学像を光電変換する撮像素子と、
請求項１８に記載の画像処理装置と、を有することを特徴とする撮像装置。
【請求項２０】
前記撮像素子は複数の画素を有し、
該複数の画素のそれぞれは、複数の光電変換部を有し、
前記画素は、前記複数の光電変換部のそれぞれで互いに異なる入射角で入射する光を受光して複数の信号を生成し、
前記撮像素子は、前記複数の信号を加算した加算信号に対応する前記第１の画像と、前記複数の信号の一つの信号または該複数の信号の一部を加算した加算信号に対応する前記第２の画像と、を出力することを特徴とする請求項１９に記載の撮像装置。
【請求項２１】
撮像装置に着脱可能なレンズ装置であって、
光学系と、
多層のニューラルネットワークに入力されるウエイトに関する情報を記憶する記憶手段と、を有し、
前記撮像装置は、
前記光学系の第１の瞳を介して被写体空間を撮像することで得られた第１の画像と、前記第１の瞳とは異なる前記光学系の第２の瞳を介して前記被写体空間を撮像することで得られた第２の画像と、を取得する取得手段と、
前記多層のニューラルネットワークを用いて、前記第１の画像と前記第２の画像と前記ウエイトに関する情報とに基づいて、デフォーカスによるぼけを整形したぼけ整形画像を生成する生成手段と、を有することを特徴とするレンズ装置。
【請求項２２】
請求項１乃至１７のいずれか１項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項２３】
請求項２２に記載のプログラムを記憶していることを特徴とする記憶媒体。
【請求項２４】
第１の処理装置と第２の処理装置とを有する画像処理システムであって、
前記第１の処理装置は、光学系の第１の瞳を介して被写体空間を撮像することで得られた第１の画像と、前記第１の瞳とは異なる前記光学系の第２の瞳を介して前記被写体空間を撮像することで得られた第２の画像と、を用いた画像処理の要求を前記第２の処理装置に対して送信する送信手段を有し、
前記第２の処理装置は、
前記第１の処理装置から送信された前記要求を受信する受信手段と、
前記第１の画像と前記第２の画像とを取得する取得手段と、
多層のニューラルネットワークを用いて、前記第１の画像と前記第２の画像とに基づいて、デフォーカスによるぼけを整形したぼけ整形画像を生成する生成手段と、
を有することを特徴とする画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学系の瞳を分割して撮像した画像に対して、デフォーカスによるぼけを整形し、良好なぼけ味の画像を得る画像処理方法に関する。
【背景技術】
【０００２】
特許文献１には、光学系の瞳を複数に分割して、各分割瞳から被写体空間を観察した複数の視差画像を撮像し、複数の視差画像を合成する際の重みを調整することで、デフォーカスによるぼけ（デフォーカスぼけ）の形状を制御する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２２００１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に開示された方法は、各分割瞳の重みを調整して複数の視差画像を合成するため、光学系の瞳よりも大きい瞳に対応するデフォーカスぼけを再現することができない。つまり、この方法では、ヴィネッティングによるデフォーカスぼけの欠けを埋めることができない。また、複数の視差画像の合成の重みが不均一になると、ノイズが増大する。また、二線ぼけや、光学系に含まれる非球面レンズ等に起因するデフォーカスぼけの輪帯模様は、構造が細かいため、それらの影響を軽減するには、光学系の瞳を細かく分割する必要がある。この場合、各視差画像における空間解像度の低下、又はノイズの増大が生じる。
【０００５】
そこで本発明は、画像のデフォーカスによるぼけを整形し、良好なぼけ味の画像を得ることが可能な画像処理方法、画像処理装置、撮像装置、レンズ装置、プログラム、および、記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面としての画像処理方法は、光学系の第１の瞳を介して被写体空間を撮像することで得られた第１の画像と、前記第１の瞳とは異なる前記光学系の第２の瞳を介して前記被写体空間を撮像することで得られた第２の画像と、を取得する工程と、多層のニューラルネットワークを用いて、前記第１の画像と前記第２の画像とに基づいて、デフォーカスによるぼけを整形したぼけ整形画像を生成する工程とを有する。
【０００７】
本発明の他の側面としての画像処理装置は、光学系の第１の瞳を介して被写体空間を撮像することで得られた第１の画像と、前記第１の瞳とは異なる前記光学系の第２の瞳を介して前記被写体空間を撮像することで得られた第２の画像と、を取得する取得手段と、多層のニューラルネットワークを用いて、前記第１の画像と前記第２の画像とに基づいて、デフォーカスによるぼけを整形したぼけ整形画像を生成する生成手段とを有する。
【０００８】
本発明の他の側面としての撮像装置は、光学系により形成された光学像を光電変換する撮像素子と前記画像処理装置とを有する。
【０００９】
本発明の他の側面としてのレンズ装置は、撮像装置に着脱可能なレンズ装置であって、光学系と、多層のニューラルネットワークに入力されるウエイトに関する情報を記憶する記憶手段とを有し、前記撮像装置は、前記光学系の第１の瞳を介して被写体空間を撮像することで得られた第１の画像と、前記第１の瞳とは異なる前記光学系の第２の瞳を介して前記被写体空間を撮像することで得られた第２の画像とを取得する取得手段と、前記多層のニューラルネットワークを用いて、前記第１の画像と前記第２の画像と前記ウエイトに関する情報とに基づいて、デフォーカスによるぼけを整形したぼけ整形画像を生成する生成手段とを有する。
【００１０】
本発明の他の側面としてのプログラムは、前記画像処理方法をコンピュータに実行させる。
【００１１】
本発明の他の側面としての記憶媒体は、前記プログラムを記憶している。
【００１２】
本発明の他の側面としての画像処理システムは、第１の処理装置と第２の処理装置とを有する画像処理システムであって、前記第１の処理装置は、光学系の第１の瞳を介して被写体空間を撮像することで得られた第１の画像と、前記第１の瞳とは異なる前記光学系の第２の瞳を介して前記被写体空間を撮像することで得られた第２の画像と、を用いた画像処理の要求を前記第２の処理装置に対して送信する送信手段を有し、前記第２の処理装置は、前記第１の処理装置から送信された前記要求を受信する受信手段と、前記第１の画像と前記第２の画像とを取得する取得手段と、多層のニューラルネットワークを用いて、前記第１の画像と前記第２の画像とに基づいて、デフォーカスによるぼけを整形したぼけ整形画像を生成する生成手段とを有する。
【００１３】
本発明の他の目的及び特徴は、以下の実施例において説明される。
【発明の効果】
【００１４】
本発明によれば、画像のデフォーカスによるぼけを整形し、良好なぼけ味の画像を得ることが可能な画像処理方法、画像処理装置、撮像装置、レンズ装置、プログラム、および、記憶媒体を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】実施例１におけるぼけ整形画像を生成するネットワーク構造を示す図である。
【図２】実施例１における撮像装置のブロック図である。
【図３】実施例１における撮像装置の外観図である。
【図４】実施例１における撮像部の説明図である。
【図５】実施例１におけるぼけ整形画像の生成処理を示すフローチャートである。
【図６】実施例１における各像高とアジムスでの瞳分割の説明図である。
【図７】各実施例におけるデフォーカス距離でのぼけ整形前後の点像強度分布を示す図である。
【図８】各実施例におけるウエイトの学習に関するフローチャートである。
【図９】実施例２における画像処理システムのブロック図である。
【図１０】実施例２における画像処理システムの外観図である。
【図１１】実施例２における撮像素子の構成図である。
【図１２】実施例２におけるぼけ整形画像の生成処理を示すフローチャートである。
【図１３】実施例２における分割瞳と像高とヴィネッティングとの関係を示す図である。
【図１４】実施例２におけるぼけ整形画像を生成するネットワーク構造を示す図である。
【図１５】実施例２におけるぼけ整形画像を生成する他のネットワーク構造を示す図である。
【図１６】各実施例におけるミラーレンズを備えた光学系の説明図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照符号を付し、重複する説明は省略する。
【００１７】
まず、各実施例にて具体的な説明を行う前に、本発明の要旨を述べる。本発明は、ディープラーニングを用いることで、画像中のデフォーカスぼけを整形し、良好なぼけ味の画像を得る。デフォーカスぼけの整形とは、ヴィネッティングによるデフォーカスぼけの欠け、デフォーカスぼけのピークの分離による多重ぼけ（例えば、二線ぼけ）、非球面レンズの金型の切削痕に起因するデフォーカスぼけの輪帯模様等を抑制することを指す。
【００１８】
デフォーカスぼけの整形は、ミラーレンズのデフォーカスぼけがリング状になる現象を抑制することも含む。図１６は、ミラーレンズを備えた光学系１０の構成図である。図１６に示されるように、光学系１０は、主鏡Ｍ１および副鏡Ｍ２を備えて構成されるミラーレンズを有する。リング状のデフォーカスぼけは、副鏡Ｍ２でミラーレンズ（光学系１０）の瞳が遮蔽されることにより引き起こされる。図１６において、Ｌ１乃至Ｌ４はレンズを示し、Ｌ４は接合レンズである。また、ＩＰは像面であり、撮像素子が配置される位置に相当する。整形により、デフォーカスぼけをユーザにとって望ましい形状（例えばフラットな円形、又はガウス分布関数等）へ変化させることで、デフォーカスぼけの良好なぼけ味を実現する。
【００１９】
高精度なデフォーカスぼけの整形を実現するため、本発明では光学系の瞳（第１の瞳）で撮像された第１の画像と、瞳の一部（第１の瞳とは異なる第２の瞳）で撮像された第２の画像を、ディープラーニングへ入力する。第１の画像および第２の画像は瞳の大きさが異なるため、合焦距離からずれた際のデフォーカスぼけの大きさが異なる。このため、第１の画像および第２の画像のいずれか一方のみを入力する場合に対して、画像内のデフォーカスぼけと被写体の構造とを区別することができる。これにより、ディープラーニングによるデフォーカスぼけの整形を高精度に実現することができる。
【実施例１】
【００２０】
まず、図２および図３を参照して、本発明の実施例１における撮像装置について説明する。図２は、撮像装置１００のブロック図である。図３は、撮像装置１００の外観図である。なお、本実施例の撮像装置１００は、カメラ本体とカメラ本体に一体的に構成されたレンズ装置とを備えて構成されるが、これに限定されるものではない。本発明は、カメラ本体（撮像装置本体）と、カメラ本体に着脱可能なレンズ装置（交換レンズ）とを備えて構成される撮像システムにも適用可能である。まず、撮像装置１００の各部の概略を説明し、その詳細については後述する。
【００２１】
図２に示されるように、撮像装置１００は、被写体空間の像を画像（撮像画像）として取得する撮像部１０１を有する。撮像部１０１は、被写体空間からの入射光を集光する光学系（撮像光学系）１０１ａと、複数の画素を有する撮像素子１０１ｂとを有する。撮像素子１０１ｂは、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）センサやＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサである。
【００２２】
図４は、撮像部１０１の説明図である。図４（Ａ）は、撮像部１０１の断面図を示し、一点鎖線は軸上光束を表している。図４（Ｂ）は、撮像素子１０１ｂの上面図である。撮像素子１０１ｂは、マイクロレンズアレイ１２２と複数の画素１２１とを有する。マイクロレンズアレイ１２２は、光学系１０１ａを介して被写体面１２０と共役の位置に配置されている。図４（Ｂ）に示されるように、マイクロレンズアレイ１２２を構成するマイクロレンズ１２２（マイクロレンズ１２２ａのみ表記し、１２２ｂ以降は省略）は、複数の画素１２１（画素１２１ａのみ表記し、１２１ｂ以降は省略）のそれぞれと対応している。ここで、複数の部位をまとめて指定する際は番号のみを付し、そのうちの１つを示す際は番号とａなどの記号を付す。
【００２３】
複数の画素１２１のそれぞれは、光学系１０１ａを介して形成された光学像を光電変換する第１の光電変換部１２３および第２の光電変換部１２４を有する。これにより、例えば画素１２１ａに入射した光は、その入射角に依存して、第１の光電変換部１２３ａと第２の光電変換部１２４ａとに分離して受光される（第１の光電変換部１２３ａと第２の光電変換部１２４ａは、互いに異なる入射角で入射する光を受光する）。光の入射角は、その光が光学系１０１ａにおける瞳のいずれの位置を通過したかにより決定される。このため、光学系１０１ａの瞳は２つの光電変換部により２つの部分瞳に分割され、一つの画素内の２つの光電変換部は互いに異なる視点（瞳の位置）から被写体空間を観察した情報を取得する。なお本実施例において、瞳の分割方向は水平方向であるが、これに限定されるものではなく、垂直方向や斜め方向などの他の方向であってもよい。
【００２４】
撮像素子１０１ｂは、第１の光電変換部１２３で取得された信号（第２の画像、Ａ画像）と、この信号（Ａ画像）と第２の光電変換部１２４で取得された信号（第３の画像、Ｂ画像）との加算信号（第１の画像、Ａ＋Ｂ画像）を出力する。このように本実施例において、第１の画像および第２の画像は、光学系１０１ａを介して被写体空間を同時に撮像して得られた画像である。また本実施例において、第１の画像および第２の画像は、同一の撮像素子１０１ｂにより撮像された画像である。
【００２５】
Ａ画像およびＡ＋Ｂ画像は、記憶部１０３に一時保存される。画像処理部（画像処理装置）１０２は、情報取得部（取得手段）１０２ａおよび画像生成部（生成手段）１０２ｂを有し、本実施例の画像処理方法（デフォーカスぼけを整形するぼけ整形処理）を実行する。この際、情報取得部１０２ａは記憶部（記憶手段）１０３からＡ画像とＡ＋Ｂ画像とを取得し、画像生成部１０２ｂはＡ画像とＡ＋Ｂ画像とからデフォーカスぼけを整形したぼけ整形画像を生成する。本実施例のぼけ整形画像は、デフォーカスぼけに対して、ヴィネッティング、点像強度分布のピーク分離による多重ぼけ、輪帯模様、または、光学系の瞳の遮蔽のうち少なくとも一つの影響を軽減した画像である。なお、この処理の詳細に関しては後述する。
【００２６】
生成されたぼけ整形画像は、記録媒体１０５に保存される。ユーザから撮像画像の表示に関する指示が出された場合、保存されたぼけ整形画像が読み出され、表示部１０４に表示される。なお、記録媒体１０５に既に保存されたＡ画像とＡ＋Ｂ画像とを読み出し、画像処理部１０２でぼけ整形画像を生成してもよい。以上の一連の制御は、システムコントローラ１０６によって行われる。
【００２７】
次に、図５を参照して、画像処理部１０２で実行されるデフォーカスぼけを整形するぼけ整形処理（ぼけ整形画像の生成）に関して説明する。図５は、ぼけ整形画像の生成処理を示すフローチャートである。図５の各ステップは、システムコントローラ１０６の指令に基づいて画像処理部１０２により実行される。
【００２８】
まず、ステップＳ１０１において、画像処理部１０２（情報取得部１０２ａ）は、記憶部１０３に一時保存されたＡ＋Ｂ画像（第１の画像）２０１とＡ画像（第２の画像）２０２とを取得する。Ａ画像２０２は、光学系１０１ａの瞳の一部である部分瞳（第２の瞳）を通過する光束に基づいて被写体空間を撮像して得られた画像である。Ａ＋Ｂ画像２０１は、光学系１０１ａの瞳（第１の瞳）を通過する光束に基づいて被写体空間を撮像して得られた画像である。本実施例において、第２の瞳は、第１の瞳に含まれ、第１の瞳の一部である。Ａ＋Ｂ画像とＡ画像はデフォーカスぼけの大小が異なり、第２の瞳は第１の瞳より小さいため、Ａ画像のデフォーカスぼけはＡ＋Ｂ画像よりも小さい。本実施例によれば、Ａ＋Ｂ画像とＡ画像との両方を用いることで、画像中のデフォーカスぼけと被写体の構造とを区別することができる。すなわち、画像内に高周波の情報が無い、ぼけている領域が存在する場合、この領域がデフォーカスしているためにぼけているのか、または、合焦しているが被写体に高周波の情報がないためにぼけているように見えるのかを区別することが可能である。また、図４に示される撮像部１０１の構成を用いることで、互いに異なる瞳の大きさのＡ＋Ｂ画像とＡ画像とを同時に撮像可能であり、被写体の動きによる画像間のずれ等を回避することができる。
【００２９】
Ａ＋Ｂ画像には、光学系１０１ａのヴィネッティングによるデフォーカスぼけの欠け、デフォーカスぼけのピークの分離による多重ぼけ、光学系１０１ａに含まれる非球面レンズに起因するデフォーカスぼけの輪帯模様等が発生している。次に、図６および図７を参照して、これらに関して説明する。
【００３０】
図６は、各像高とアジムスでの瞳分割の説明図である。図６はＡ＋Ｂ画像を示し、×印の像高およびアジムスにおける分割瞳を×印の横に描画している。デフォーカスぼけは、反転を除いて瞳と略同一の形状になるため、ヴィネッティングの発生している軸外の像高において、デフォーカスぼけは円形から欠けた形状となる。図６中の破線は、瞳の分割線（分割直線）であり、Ａ画像に対応する第２の瞳は破線に対して右側の部分瞳である。このため、Ａ画像のデフォーカスぼけも同様に円形から欠けた形状となる。
【００３１】
次に、図７（Ａ）を参照して、多重ぼけに関して説明する。図７（Ａ）は、デフォーカス距離でのぼけ整形前の点像強度分布（ＰＳＦ）を示す図である。図７（Ａ）において、横軸は空間座標（位置）、縦軸は強度を示す。この点は、後述の図７（Ｂ）〜（Ｄ）関しても同様である。図７（Ａ）に示されるように、多重ぼけの一例である二線ぼけは、ピークが分離したＰＳＦを有する。デフォーカス距離におけるＰＳＦが図７（Ａ）のような形状を有する場合、本来は１本の線である被写体が、デフォーカスした際に２重にぼけているように見える。同様に、ＰＳＦのピークが中心と両端の３つに分離していれば、３重にぼけて見える。このため、ＰＳＦのピークの分離によるデフォーカスぼけへの影響を、多重ぼけと呼ぶ。
【００３２】
次に、図７（Ｂ）を参照して、輪帯模様に関して説明する。図７（Ｂ）は、デフォーカス距離でのぼけ整形前の点像強度分布（ＰＳＦ）を示す図である。図７（Ｂ）に示されるように、輪帯模様は、ＰＳＦが振動成分を有することで実現される。このような振動成分は、光学系１０１ａに含まれる非球面レンズを製造する際に用いた金型の削りムラが、主な原因である。これらの望ましくない形状のデフォーカスぼけを、後述のぼけ整形処理によって整形することができる。
【００３３】
続いてステップＳ１０２において、画像生成部１０２ｂは、多層のニューラルネットワークを用いて、デフォーカスぼけを整形したぼけ整形画像を生成する。多層のニューラルネットワークには、Ａ＋Ｂ画像（第１の画像）およびＡ画像（第２の画像）を入力する。ぼけ整形画像は、光学系１０１ａの瞳全体で撮像した画像（Ａ＋Ｂ画像）に対し、デフォーカス領域におけるぼけの形状を変化させた画像である。この際、ぼけ整形画像とＡ＋Ｂ画像において、合焦被写体は変化しない。本実施例では、多層のニューラルネットワークとして、畳み込みニューラルネットワーク（ＣＮＮ：Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）が用いられる。ただし、本発明はこれに限定されるものではなく、ＧＡＮ（Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋ）等の他の方法を用いてもよい。
【００３４】
ここで、図１を参照して、ＣＮＮによりぼけ整形画像２１３を生成する処理について詳述する。図１は、ぼけ整形画像を生成するネットワーク構造を示す図である。ＣＮＮは、複数の畳み込み層を有する。本実施例において、入力画像２０１は、Ａ＋Ｂ画像（第１の画像）とＡ画像（第２の画像）がチャンネル方向に連結（Ｃｏｎｃａｔｅｎａｔｉｏｎ）された画像である。第１の画像と第２の画像のそれぞれが複数のカラーチャンネルを有している場合、そのチャンネル数の２倍のチャンネル数を持つ画像となる。入力画像２０１は、第１畳み込み層２０２で複数のフィルタとの畳み込みとバイアスの和を算出される。ここで、フィルタの係数をウエイト（ウエイト情報）と呼ぶ。各層におけるフィルタおよびバイアスの値は、望ましくないデフォーカスぼけを良好な形状へ整形するように事前の学習で決定されるが、この学習に関する詳細は後述する。
第１の特徴マップ２０３は、各フィルタに対して算出された結果をまとめたものである。第１の特徴マップ２０３は、第２の畳み込み層２０４に入力され、同様に新たな複数のフィルタとの畳み込みとバイアスの和が算出される。これを繰り返し、第Ｎ−１の特徴マップ２１１を第Ｎの畳み込み層２１２に入力して得られた結果が、ぼけ整形画像２１３である。ここで、Ｎは３以上の自然数である。一般には３層以上の畳み込み層を有するＣＮＮが、ディープラーニングに該当すると言われる。各畳み込み層では、畳み込みの他に活性化関数を用いた非線型変換が実行される。活性化関数の例としては、シグモイド関数やＲｅＬＵ（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ）等がある。本実施例では以下の式（１）で表されるＲｅＬＵを用いる。
【００３５】
【数１】
2020036310.tif 000003
【００３６】
式（１）において、ｘは特徴マップ、ｍａｘは引数のうち最大値を出力するＭＡＸ関数をそれぞれ表す。ただし、最後の第Ｎ畳み込み層では、非線形変換を実行しなくてもよい。
【００３７】
なお本実施例では、Ａ＋Ｂ画像とＡ画像のそれぞれに前処理を実行し、前処理後のＡ＋Ｂ画像とＡ画像をそれぞれＣＮＮへ入力する。前処理は、Ａ＋Ｂ画像とＡ画像の分割と、分割された画像またはフィルタの反転に関する制御（反転処理）である。すなわち画像生成部１０２ｂは、光軸上の物点に対する第２の瞳が線対称となる軸と平行で、かつＡ＋Ｂ画像とＡ画像のそれぞれの基準点（光軸、または光軸の近傍）を通過する直線で、Ａ＋Ｂ画像とＡ画像のそれぞれを分割する。また画像生成部１０２ｂは、分割されたＡ＋Ｂ画像とＡ画像、またはウエイト情報に対して、反転を制御する前処理（反転処理）を施す。そして、反転処理後のＡ＋Ｂ画像とＡ画像と（又は、反転処理後のウエイト情報）に基づいてぼけ整形画像を生成することにより、ウエイト情報の容量を削減することができる。これに関して、図６を参照して説明する。
【００３８】
図６に示されるように、本実施例では一点鎖線を軸としてＡ＋Ｂ画像（またはＡ画像）の上下いずれか一方を反転すると、他方の瞳分割と重なり、線対称になっている。このため、デフォーカスのぼけも同様に、一点鎖線に対して線対称となる。したがって、一点鎖線の上下いずれか一方の領域に関して、ぼけを補正するウエイト情報を保持しておけば、他方は画像またはウエイト情報を反転することでぼけ整形画像を推定することができる。
【００３９】
ここで、反転とは、画像とウエイト情報との積を取る際の参照の順序を逆にする場合を含む。上下の一方のみに対してウエイト情報を学習することで、ＣＮＮで整形するデフォーカスぼけの幅が限定され、より小さなネットワークで高精度なぼけ整形を実現することができる。本実施例では、上下方向にＡ＋Ｂ画像とＡ画像を２分割し、Ａ＋Ｂ画像とＡ画像の上半分または下半分を入力画像２０１とする。上下の分割画像をそれぞれ個別にＣＮＮで処理し、出力されたぼけ整形画像を合わせることで、画像全体に対してぼけ整形が行われた画像を得ることができる。
【００４０】
なお本実施例では、水平方向に瞳を分割しているため、対称軸は水平な直線である。仮に、垂直方向に瞳を分割すると、対称軸も垂直な直線になる。これをさらに一般的に表現すると、以下のようになる。分割した瞳の関係が画像全体に対して線対称となる軸は、光軸を通過し、かつ光軸上で第２の瞳が線対称になる軸と平行である。この軸で分割されたＡ＋Ｂ画像とＡ画像に対し、一方の分割領域のみウエイト情報を保持しておけば、他方は反転を制御することで同じウエイト情報でデフォーカスぼけの整形処理を行うことができる。
【００４１】
生成されたぼけ整形画像は、デフォーカスぼけの拡がりが、Ａ＋Ｂ画像のデフォーカスぼけの拡がり以上になっている。ヴィネッティングによるデフォーカスぼけの欠けを整形した場合、Ａ＋Ｂ画像よりもデフォーカスぼけの拡がりが大きくなる。多重ぼけや輪帯模様を整形した場合、デフォーカスぼけの拡がりはＡ＋Ｂ画像と同じである。本実施例によれば、画像のデフォーカスぼけを整形し、良好なぼけ味を有する画像を生成することが可能になる。
【００４２】
次に、図８を参照して、多層のニューラルネットワーク（本実施例ではＣＮＮ）で使用するウエイト情報の学習に関して説明する。図８は、ウエイト情報の学習に関するフローチャートである。本実施例において、学習は撮像装置１００以外の画像処理装置で事前に実行され、その結果（複数のウエイト情報）が記憶部１０３に記憶されている。ただし本発明は、これに限定されるものではなく、撮像装置１００内に学習を実行する部位が存在していてもよい。
【００４３】
まず、ステップＳ２０１において、画像処理装置は、複数の学習ペアを取得する。学習ペアとは、ＣＮＮの入力画像としてのＡ＋Ｂ画像およびＡ画像と、ＣＮＮの出力画像（ぼけ整形画像）として得たい画像（正解画像）である。学習ペアの入力画像と正解画像との関係によって、ＣＮＮが補正する対象は変化する。
【００４４】
ここで、学習ペアの生成方法に関して説明する。まず、入力画像（Ａ＋Ｂ画像とＡ画像）と正解画像を生成する元となるソースデータを用意する。ソースデータは、広い範囲の空間周波数までスペクトル強度を有する３次元モデル、または２次元画像である。３次元モデルは、ＣＧ（コンピュータ・グラフィクス）等で生成することができる。２次元画像は、ＣＧまたは実写画像のいずれでもよい。Ａ画像とＢ画像は、撮像部１０１でソースデータを撮像したシミュレーション（撮像シミュレーション）によって生成することができる。撮像シミュレーションでは、撮像部１０１で発生するデフォーカスぼけを付与する。Ａ＋Ｂ画像は、生成されたＡ画像とＢ画像とを加算して得られる。正解画像は、光学系１０１ａとは異なる良好なデフォーカスぼけを付与することで生成される。良好なデフォーカスぼけの例としては、例えば図７（Ｃ）に示されるフラットな円形ぼけや、図７（Ｄ）に示されるガウス分布関数が挙げられる。また、異なる分散を有する複数のガウス分布関数を加重平均したＰＳＦを用いてもよい。ソースデータが３次元モデルの場合、合焦距離から各被写体の距離に対応したデフォーカスぼけを付与する。
【００４５】
ソース画像が２次元画像の場合、様々なデフォーカス距離に２次元画像を配置して撮像シミュレーションを行い、それらに対応した複数の学習ペアを作成する。ただし、この際、２次元画像が合焦距離にいる学習ペアも作成する。デフォーカスぼけの整形は、合焦距離の被写体に対して変化を起こさないことが好ましい。合焦距離での学習ペアに対しては変化がないことをＣＮＮに学習させなければ、合焦被写体に対してＣＮＮがどのような結果を出力するか予測できない。このため、２次元画像が合焦距離にいる学習ペアも作成する必要がある。本実施例では、Ａ＋Ｂ画像とＡ画像とを上下方向に２分割してぼけ整形を行う。このため、学習ペアに付与するデフォーカスぼけは、画像中の上下のいずれか一方のみで発生するものに限定してよい。また、入力画像に撮像素子１０１ｂで発生するノイズを付与し、正解画像はノイズのない画像としてもよい。この学習ペアで学習することで、ＣＮＮは、ぼけ整形と同時にデノイジングも実行するようになる。
【００４６】
好ましくは、ソースデータは、撮像素子１０１ｂのダイナミックレンジを越える幅の輝度を有する。これは、実際の被写体においても、特定の露出条件で撮像装置１０１により撮像を行った際、輝度飽和値に収まらない被写体が存在するためである。正解画像は、ソースデータに良好なデフォーカスぼけを付与し、撮像素子１０１ｂの輝度飽和値で信号をクリップすることで生成される。訓練画像は、撮像部１０１で発生するデフォーカスぼけを付与し、輝度飽和値によってクリップすることで生成される。輝度飽和値によるクリップで発生する問題は、大きく２つある。１つ目は、デフォーカスぼけの形状が変化することである。例えば、点光源のデフォーカスぼけの形状は、そのデフォーカス位置でのＰＳＦと一致するはずであるが、輝度飽和値でクリップされることで異なる形状となってしまう。２つ目は、偽エッジの出現である。偽エッジは高周波を有するため、合焦被写体なのか、輝度飽和しているデフォーカスぼけなのかを判定することが難しい。しかし、１つ目の問題は、撮像素子１０１ｂのダイナミックレンジを越えるソースデータから生成された学習ペアを用いることで、輝度飽和値のクリップによるデフォーカスぼけの変化も、多層のニューラルネットワークが学習するため、解決することができる。さらに、異なる瞳の２画像をニューラルネットワークの入力とすることで、偽エッジが合焦被写体なのかデフォーカスぼけなのかを判定することも容易となり、２つ目の問題も解決することができる。
【００４７】
続いて、図８のステップＳ２０２において、画像処理装置は、複数の学習ペアから学習を行い、ウエイト情報を生成する。学習の際には、ステップＳ１０２のぼけ整形画像の生成と同じネットワーク構造を用いる。本実施例では、図１に示されるネットワーク構造に対してＡ＋Ｂ画像とＡ画像を入力し、その出力結果（推定されたぼけ整形画像）と正解画像との誤差を算出する。この誤差が最小になるように、誤差逆伝播法（Ｂａｃｋｐｒｏｐａｇａｔｉｏｎ）等を用いて、各層で用いるフィルタ（ウエイト情報）とバイアスを更新して最適化する。フィルタとバイアスの初期値はそれぞれ任意であり、例えば乱数から決定することができる。または、各層ごとに初期値を事前学習するＡｕｔｏ  Ｅｎｃｏｄｅｒ等のプレトレーニングを行ってもよい。
【００４８】
学習ペアを全てネットワーク構造へ入力し、それら全ての情報を使って学習情報を更新する手法をバッチ学習と呼ぶ。ただし、この学習方法は学習ペアの数が増えるにつれて、計算負荷が膨大になる。逆に、学習情報の更新に１つの学習ペアのみを使用し、更新ごとに異なる学習ペアを使用する学習手法をオンライン学習と呼ぶ。この手法は、学習ペアが増えても計算量が増大しない利点があるが、その代わりに１つの学習ペアに存在するノイズの影響を大きく受ける。このため、これら２つの手法の中間に位置するミニバッチ法を用いて学習することが好ましい。ミニバッチ法は、全学習ペアの中から少数を抽出し、それらを用いて学習情報を更新する。次の更新では、異なる小数の学習ペアを抽出して使用する。これを繰り返すことにより、バッチ学習とオンライン学習の欠点を小さくすることができる。
【００４９】
なお、ウエイト情報の学習およびぼけ整形画像の生成を行う際に扱う画像は、ＲＡＷ画像または現像後の画像のいずれでもよい。Ａ＋Ｂ画像とＡ画像が符号化されている場合、復号してから学習および生成を行う。学習に使用した画像とぼけ整形画像生成時の入力画像でガンマ補正の有無や、ガンマ値が異なる場合、入力画像を処理して学習の画像に合わせることが好ましい。また、Ａ＋Ｂ画像とＡ画像（学習の際は正解画像も）は、ニューラルネットワークへ入力する前に信号値を規格化しておくことが好ましい。規格化しない場合、学習とぼけ整形画像生成時にｂｉｔ数が異なっていると、ぼけ整形画像を正しく推定することができない。また、ｂｉｔ数によってスケールが変化するため、学習時の最適化で収束に影響を及ぼす可能性もある。規格化には、信号が実際に取り得る最大値（輝度飽和値）を用いる。例えばＡ＋Ｂ画像が１６ｂｉｔで保存されていたとしても、輝度飽和値は１２ｂｉｔの場合等があり、この際は１２ｂｉｔの最大値（４０９５）で規格化しなければ信号の範囲が０〜１にならない。また、規格化の際にはオプティカルブラックの値を減算することが好ましい。これにより、実際に画像が取り得る信号の範囲をより０〜１に近づけることができる。具体的には、以下の式（２）に従って規格化することが好ましい。
【００５０】
【数２】
2020036310.tif 000004
【００５１】
式（２）において、ｓはＡ＋Ｂ画像（またはＡ画像もしくは正解画像）の信号、ｓＯＢはオプティカルブラックの信号値（画像が取り得る信号の最小値）、ｓｓａｔｕは信号の輝度飽和値、ｓｎｏｒは規格化された信号を示す。
【００５２】
本実施例によれば、画像のデフォーカスぼけを整形し、良好なぼけ味を有する画像を生成することが可能な画像処理方法、画像処理装置、撮像装置、および、レンズ装置を提供することができる。
【実施例２】
【００５３】
次に、本発明の実施例２における画像処理システムについて説明する。本実施例では、ぼけ整形画像を推定する画像処理装置、撮像画像を取得する撮像装置、および、学習を行うサーバが個別に存在している。
【００５４】
図９および図１０を参照して、本実施例における画像処理システムについて説明する。図９は、画像処理システム３００のブロック図である。図１０は、画像処理システム３００の外観図である。図９および図１０に示されるように、画像処理システム３００は、撮像装置３０１、画像処理装置３０２、サーバ３０８、表示装置３１１、記録媒体３１２、および、出力装置３１３を備えて構成される。
【００５５】
撮像装置３０１の基本構成は、ぼけ整形画像を生成する画像処理部、および撮像部を除いて、図２に示される撮像装置１００と同様である。なお、本実施例の撮像装置３０１は、レンズ装置（光学系）の交換が可能である。撮像装置３０１の撮像素子は、図１１に示されるように構成されている。図１１は、本実施例における撮像素子の構成図である。図１１において、破線はマイクロレンズを示す。画素３２０（ａ、ｂ以降は省略）のそれぞれには４つの光電変換部３２１、３２２、３２３、３２４（ａ、ｂ以降は省略）が設けられ、光学系の瞳を２×２の四つに分割している。光電変換部３２１〜３２４で取得される画像を、順に、Ａ画像、Ｂ画像、Ｃ画像、Ｄ画像とし、それらの加算結果をＡＢＣＤ画像とする。撮像素子からは撮像画像として、ＡＢＣＤ画像（第１の画像）とＡ画像（第２の画像）の２画像が出力される。
【００５６】
撮像装置３０１と画像処理装置３０２とが接続されると、ＡＢＣＤ画像とＡ画像は記憶部３０３に記憶される。画像処理装置３０２は、情報取得部３０４、画像生成部３０５、デプス推定部３０６にて、ＡＢＣＤ画像とＡ画像からぼけ整形画像を生成する。この際、画像処理装置３０２は、ネットワーク３０７を介してサーバ３０８にアクセスし、生成に用いるウエイト情報を読み出す。ウエイト情報は、学習部３１０で予め学習され、記憶部３０９に記憶されている。ウエイト情報は、レンズの種類、Ｆ値、整形後のデフォーカスぼけ形状等により個別に学習されており、複数のウエイト情報が存在する。
【００５７】
画像処理装置３０２は、使用するウエイト情報を、ユーザの選択指示、または入力されたＡＢＣＤ画像から決定される自動選択により、記憶部３０３に取得し、ぼけ整形画像の生成を行う。ぼけ整形画像は、表示装置３１１、記録媒体３１２、および、出力装置３１３の少なくとも一つに出力される。表示装置３１１は、例えば液晶ディスプレイやプロジェクタ等である。ユーザは、表示装置３１１を介して、処理途中の画像を確認しながら作業を行うことができる。記録媒体３１２は、例えば半導体メモリ、ハードディスク、ネットワーク上のサーバ等である。出力装置３１３は、プリンタ等である。画像処理装置３０２は、必要に応じて現像処理やその他の画像処理を行う機能を有する。また本実施例において、撮像装置３０１に接続されているレンズ装置内の記憶手段にウエイト情報を保持しておき、デフォーカスぼけ整形の際に呼び出してもよい。
【００５８】
次に、図１２を参照して、画像処理装置３０２により実行されるぼけ整形画像の生成処理について説明する。図１２は、ぼけ整形画像の生成処理を示すフローチャートである。図１２の各ステップは、主に、画像処理装置３０２（情報取得部３０４、画像生成部３０５、デプス推定部３０６）により実行される。
【００５９】
まずステップＳ３０１において、情報取得部３０４は、ＡＢＣＤ画像とＡ画像を取得する。本実施例において、第１の画像はＡＢＣＤ画像であり、第２の画像はＡ画像である。ただし、第１の画像は光学系の瞳全体に対応する画像である必要はなく、Ａ画像、Ｂ画像、Ｃ画像、Ｄ画像の少なくとも二つを加算した画像でもよい。
【００６０】
続いてステップＳ３０２において、情報取得部３０４は、デフォーカスぼけの整形条件を決定する。整形条件の決定は、デフォーカスぼけを望ましくない形状へ変化させる複数の要因（デフォーカスぼけの欠け、多重ぼけ、輪帯模様等）のうち、ぼけ整形によって影響を抑制する要因を選択することを含む。または、整形条件の決定は、ぼけ整形によって変化させるデフォーカスぼけ形状の目標（強度がフラットなＰＳＦまたはガウス分布関数等）を指定することを含む。なお、整形条件は、ユーザが手動で決定することができ、または、ステップＳ３０１にて取得された画像から自動的に決定してもよい。
【００６１】
整形条件の自動決定に関して、以下に例を説明する。ＡＢＣＤ画像（またはＡ画像）には、撮像に用いられたレンズの種類がメタデータとして保存されている。撮像に用いたレンズの種類を特定することにより、ヴィネッティングの大きさ、および、二重ぼけや輪帯模様の有無を知ることができる。このため、ＡＢＣＤ画像の撮像に用いたレンズの種類に基づいて、ぼけ整形によって影響を抑制する要因（デフォーカスぼけの欠けなど）を決定することができる。また、メタデータ内に撮影した際の焦点距離が保存されている場合、焦点距離の情報に基づいて、整形条件を決定することもできる。広角レンズではヴィネッティングが大きくなる傾向があるため、ある閾値よりも焦点距離が小さい場合、ぼけ整形によってデフォーカスぼけの欠けを抑制するように整形条件を決定する。また、デフォーカスぼけ形状の目標は、例えば、以下のようにＡＢＣＤ画像の輝度値に基づいて決定してもよい。ＡＢＣＤ画像の輝度飽和している領域は、図７（Ｃ）に示されるような強度がフラットなＰＳＦとし、それ以外の領域は図７（Ｄ）に示されるようなガウス分布関数とする。または、撮像時に判定された撮影シーンの情報をメタデータから読み取り、撮影シーンが夜景の場合、強度がフラットなＰＳＦとし、それ以外の場合はガウス分布関数とする等のようにしてもよい。
【００６２】
続いてステップＳ３０３において、情報取得部３０４は、複数のウエイト情報から、ステップＳ３０２にて決定されたデフォーカスぼけの整形条件に対応するウエイト情報を取得する。なお、複数のウエイト情報の学習方法に関しては後述する。
【００６３】
続いてステップＳ３０４において、デプス推定部３０６は、ＡＢＣＤ画像とＡ画像からデプスマップを算出する。デプスマップの算出には、画像間の視差を用いることができ、または、デフォーカスぼけの大きさの違いに基づくＤＦＤ（Ｄｅｐｔｈ  Ｆｒｏｍ  Ｄｅｆｏｃｕｓ）を用いてもよい。デプスマップの代わりに、ＡＢＣＤ画像とＡ画像との間における視差ずれ量を表した視差マップを算出してもよい。なお、ステップＳ３０４は、ステップＳ３０１とステップＳ３０７との間であれば、いつ実行してもよい。
【００６４】
続いてステップＳ３０５において、画像生成部３０５は、ＡＢＣＤ画像とＡ画像の明るさを合わせる処理を行う。Ａ画像は、ＡＢＣＤ画像に対して瞳が小さいため、暗い画像となっている。また、光軸上以外の像高ではヴィネッティングが発生するため、像高とアジムスとにより、ＡＢＣＤ画像とＡ画像の明るさの比（光量比）は変化する。これに関し、図１３を参照して説明する。
【００６５】
図１３は、分割瞳と像高とヴィネッティングとの関係を示す図である。図１３（Ａ）は、撮像装置３０１の光学系の光軸上における瞳を示している。図１３中の破線は、４つの光電変換部により分割される瞳の分割線を表している。図１３（Ｂ）は、図１３（Ａ）の場合とは異なる像高における瞳を示している。図１３（Ａ）では４つの分割瞳の光量は均一だが、図１３（Ｂ）ではヴィネッティングにより両者の光量比に偏りが生じている。図１３（Ｃ）は、図１３（Ｂ）と同一像高（光軸に垂直な平面内で光軸から同一の距離の位置）でアジムス（光軸に垂直な平面内で光軸を回転軸とした方位角）が異なる場合である。この際も部分瞳の光量比が変化する。このため、ＡＢＣＤ画像とＡ画像を後述の多層のニューラルネットワークへ入力すると、画像内の像高およびアジムスにより２つの画像の明るさの関係がばらつくことにより、ぼけ生成の精度が低下する可能性がある。したがって、本実施例では、ＡＢＣＤ画像とＡ画像の明るさを合わせる前処理を実行することが好ましい。なお本実施例では、Ａ画像の明るさをＡＢＣＤ画像に合わせるが、逆でも構わない。また、各像高とアジムスに対して、第１の瞳と第２の瞳それぞれの透過率分布を積分した第１の積分値と第２の積分値を取得し、明るさ合わせに使用してもよい。第１の画像の各像高とアジムスの画素に対して、対応する第１の積分値の逆数をかけ、第２の画像の各像高とアジムスの画素に対して、対応する第２の積分値の逆数をかけることでも、明るさを合わせることができる。
【００６６】
２つの画像の明るさを合わせる方法として、以下に２つの例を挙げる。１つ目は、第１の瞳（光学系の瞳全体）と第２の瞳（Ａ画像に対応する部分瞳）の光量比（第１の瞳と第２の瞳の透過率分布の比）に基づいて、明るさを合わせる方法である。Ａ画像の各像高とアジムスの画素に対して、第２の瞳に対する第１の瞳の光量比（第２の瞳の透過率分布に対する第１の瞳の透過率分布の比）を記憶部３０３から読み出して積をとり、ＡＢＣＤ画像と明るさを合わせる。光量比は１以上の値であり、像高とアジムスによって異なる値を有する。
【００６７】
２つ目は、ＡＢＣＤ画像とＡ画像の局所的な平均画素値を用いる方法である。ＡＢＣＤ画像とＡ画像は、収差やノイズが異なり、また視差を有するが、同じ被写体を撮像しているため、部分領域における平均画素値の比は、前述の光量比におおよそ対応する。このため、例えば、ＡＢＣＤ画像とＡ画像に平滑化フィルタをかけて各画素に対して平均画素値を求め、同一位置の画素における平均画素値の比から、この位置での光量比を求め、明るさを合わせることができる。ただし、平均画素値を求める際、輝度飽和している画素が含まれている場合、光量比から値が乖離する可能性がある。このため本実施例では、輝度飽和した画素を除いて平均画素値を求めることが好ましい。仮に、輝度飽和の面積が大きく、その位置での平均画素値が求められない場合、周辺で算出された光量比から補間を行い、その位置に対応する光量比を算出することができる。部分領域の大きさは、ぼけの大きさと、第１の瞳と第２の瞳の基線長（重心位置の間の長さ）に基づいて決定することが好ましい。なおステップＳ３０５は、ステップＳ３０１とステップＳ３０７との間であれば、いつ実行してもよい。
【００６８】
続いて、図１２のステップＳ３０６において、画像生成部３０５は、多層のニューラルネットワークへ入力するＡＢＣＤ画像およびＡ画像の入力領域を決定する。画像全体をニューラルネットワークへ入力してもよいが、後述のステップＳ３０７にてデフォーカスぼけを整形するため、デフォーカスしていない領域（合焦領域）を入力する必要はない。画像のうち合焦領域を除いた領域のみをニューラルネットワークの入力領域とすることで、計算負荷を軽減することができる。合焦領域の判定には、ＡＢＣＤ画像（またはＡ画像）のエッジ分布を用いる。エッジ分布は、例えば、ＡＢＣＤ画像をＷａｖｅｌｅｔ変換することで得られる。エッジ（エッジ領域）は、高周波成分が一定以上の強度を有する領域に相当する。エッジが存在するのは合焦領域であるから、エッジを含まない領域を入力領域とする。また、エッジ分布の代わりに、ステップＳ３０４にて算出したデプスマップ（または視差マップ）に基づいて、入力領域を決定してもよい。この場合、デプスがＡＢＣＤ画像のメタデータ内の合焦距離と一致する領域以外を入力領域とする。また、撮像装置３０１は、合焦距離で視差がゼロになるように構成されているため、視差マップの場合には視差が閾値より大きい領域を入力領域とする。なおステップＳ３０６は、ステップＳ３０１とステップＳ３０７との間であれば、いつ実行してもよい。
【００６９】
続いてステップＳ３０７において、画像生成部３０５は、ぼけ整形画像を生成する。このとき画像生成部３０５は、ＡＢＣＤ画像とＡ画像から入力領域を抽出し、抽出した入力領域を多層のニューラルネットワークへ入力画像として入力する。また画像生成部３０５は、入力領域に対応するデプスマップ（または視差マップ）も入力画像として加える。
【００７０】
本実施例において、画像生成部３０５は、図１４に示されるネットワーク構造を用いる。図１４は、本実施例におけるぼけ整形画像を生成するネットワーク構造を示す図である。図１４において、入力画像４０１は、入力領域全体、または、入力領域を分割した一部（分割領域）でもよい。入力画像４０１は、ＡＢＣＤ画像とＡ画像とデプスマップ（または視差マップ）とがチャンネル方向に連結された画像である。図１４において、ＣＮは畳み込み層、ＤＳは入力される特徴マップのサンプリングレートをダウンサンプリングするダウンサンプリング層、ＤＣは逆畳み込み層、ＵＳは特徴マップをアップサンプリングするアップサンプリング層をそれぞれ示す。ダウンサンプリング層のダウンサンプリングレートと、アップサンプリング層のアップサンプリングレートは、逆数の関係にある。各畳み込み層および逆畳み込み層で使用されるフィルタは、ウエイト情報に基づいて決定される。
【００７１】
スキップコネクション４１２、４１３は、連続していない層から出力された特徴マップを合成する。特徴マップの要素ごとの和をとってもよいし、チャンネル方向に連結してもよい。複数のダウンサンプリング層とスキップコネクションによって、互いに異なる解像度の複数の特徴マップ（互いに異なるサンプリングレートのダウンサンプリングが実行された複数の特徴マップ）が生成される。これにより、畳み込み層のフィルタサイズを大きくすることなく、局所的な特徴と、より大域的な特徴の両方を算出することができる。デフォーカスぼけは、合焦距離からのずれやＦ値に応じて大きくなるため、大域的な特徴を算出することが好ましい。また、スキップコネクションは、フィルタの学習時に収束性を良くする役割も有する。スキップコネクション４１１は、入力画像４０１のうちのＡＢＣＤ画像４０１ａと、多層のニューラルネットワークの出力との和をとる。これにより、ぼけ整形画像４０２が得られる。入力領域を分割して入力画像４０１を得ている場合、入力領域全体に対してぼけ整形画像４０２を算出する。ニューラルネットワークで算出されたぼけ整形画像と、入力領域以外のＡＢＣＤ画像とを合わせることで、画像全体に対するぼけ整形画像が生成される。
【００７２】
なお本実施例において、畳み込み層、逆畳み込み層、ダウンサンプリング層、アップサンプリング層、および、スキップコネクションのそれぞれの数は、図１４に示される数に限定されるものではない。また、ネットワーク構造も図１４に示される構造に限定されるものではない。例えば、図１５に示されるようなネットワーク構造を使用してもよい。図１５は、本実施例におけるぼけ整形画像を生成する他のネットワーク構造を示す図である。
【００７３】
図１５のネットワーク構造は、複数のステージ５００、５１０、５２０に分かれており、それぞれ解像度が異なる。ステージ５２０は、解像度がＡＢＣＤ画像の（１／ｍ）２倍（ｍは正の整数）である。入力画像５２１は、解像度が（１／ｍ）２倍にダウンサンプリングされたＡＢＣＤ画像、Ａ画像、および、デプスマップである。なおスキップコネクションは、図１４と同様である。ステージ５２０における解像度でのぼけ整形画像５２２は、アップサンプリング層５９２でｍ倍にアップサンプリングされ、元の１／ｍ倍の解像度であるステージ５１０に入力される。
【００７４】
ステージ５１０における入力画像５１１は、解像度が１／ｍ倍のＡＢＣＤ画像、Ａ画像、デプスマップ、および、ぼけ整形画像５２２のアップサンプリング結果が連結されたデータである。同様に、ステージ５１０のぼけ整形画像５１２は、アップサンプリング層５９１でｍ倍にアップサンプリングされ、ステージ５００へ入力される。
【００７５】
ステージ５００は、元のＡＢＣＤ画像と同じスケールの解像度を有する。入力画像５０１は、ＡＢＣＤ画像、Ａ画像、デプスマップ、および、ぼけ整形画像５１２のアップサンプリング結果が連結されたデータである。最終的なぼけ整形画像として、ステージ５００で算出されるぼけ整形画像５０２が出力される。なお本実施例において、ステージの数は３に限定されず、ステージ内のネットワーク構造も図１５に示される構造に限定されるものではない。また、各ステージにおけるフィルタのウエイトを共通（ステージに依らず、同じフィルタを使用）にしてもよい。これにより、ウエイト情報のデータ容量を削減することができる。
【００７６】
学習部３１０で実行されるウエイト情報の学習は、実施例１と同様に図８のフローチャートに従って行われる。本実施例では、レンズの種類に応じて、収差（多重ぼけに影響）、ヴィネッティング、および、非球面レンズの有無が異なるため、レンズの種類および目標とする整形後のデフォーカスぼけ形状ごとに学習ペアを作成し、ウエイト情報を学習する。なお本実施例では、第２の画像が１枚の例を挙げたが、第２の画像が複数（例えば、Ａ画像、Ｃ画像、Ｄ画像の３枚）ある構成としてもよい。
【００７７】
本実施例によれば、画像のデフォーカスぼけを整形し、良好なぼけ味を有する画像を生成することが可能な画像処理システムを提供することができる。
【００７８】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７９】
また本発明は、例えば、画像処理に関する要求を行う第１の処理装置（撮像装置、スマートフォン、ＰＣなどのユーザ端末）と、該要求に応じて実体的に本発明の画像処理を行う第２の処理装置（サーバー）で構成された画像処理システムとしても実現可能である。例えば、実施例２の画像処理システム３００における情報取得部３０４、画像生成部３０５、および、デプス推定部３０６を、第２の処理装置としてのサーバ３０８に設けることができる。また、第１の処理装置としての画像処理装置３０２は、サーバ３０８に対して第１の画像および第２の画像を用いた画像処理の要求を行うように構成することができる。この場合、第１の処理装置（ユーザ端末）は、画像処理に関する要求を第２の処理装置（サーバ）に送信するための送信手段を有し、第２の処理装置（サーバ）は第１の処理装置（ユーザ端末）から送信された要求を受信する受信手段を有する。
【００８０】
なお、この場合、第１の処理装置は、画像処理の要求と共に第１の画像および第２の画像を第２の処理装置に送信しても良い。ただし、第２の処理装置は、第１の処理装置の要求に応じて第１の処理装置以外の場所（外部記憶装置）に記憶された第１の画像および第２の画像を取得しても良い。また、第２の処理装置による第１の画像および第２の画像に対するぼけ整形処理が行われた後、第２の処理装置はぼけ整形画像を第１の処理装置に送信するようにしても良い。このように画像処理システムを構成することにより、比較的処理付加の重い画像生成部による処理を第２の処理装置側で行うことが可能となり、ユーザの負担を低減することが可能となる。
【００８１】
各実施例によれば、画像のデフォーカスによるぼけを整形し、良好なぼけ味の画像を得ることが可能な画像処理方法、画像処理装置、撮像装置、レンズ装置、プログラム、および、記憶媒体を提供することができる。
【００８２】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００８３】
１０２    画像処理部（画像処理装置）
１０２ａ  情報取得部（取得手段）
１０２ｂ  画像生成部（生成手段）
【図１】
2020036310.tif 000005
【図２】
2020036310.tif 000006
【図３】
2020036310.tif 000007
【図４】
2020036310.tif 000008
【図５】
2020036310.tif 000009
【図６】
2020036310.tif 000010
【図７】
2020036310.tif 000011
【図８】
2020036310.tif 000012
【図９】
2020036310.tif 000013
【図１０】
2020036310.tif 000014
【図１１】
2020036310.tif 000015
【図１２】
2020036310.tif 000016
【図１３】
2020036310.tif 000017
【図１４】
2020036310.tif 000018
【図１５】
2020036310.tif 000019
【図１６】
2020036310.tif 000020