(57)【要約】【課題】画像処理に伴う画像のノイズの変動を抑制することが可能な画像処理方法を提供する。【解決手段】画像処理方法は、第１の正解画像と第１の訓練画像を取得する第１の工程と、第１の正解画像と第１の訓練画像のそれぞれに対して互いに相関のあるノイズを付与することで、第２の正解画像と第２の訓練画像を生成する第２の工程と、第２の正解画像と第２の訓練画像に基づいて、多層のニューラルネットワークを学習する第３の工程とを有する。【選択図】図４
2020144489.tif 000002
【特許請求の範囲】
【請求項１】
第１の正解画像と第１の訓練画像を取得する第１の工程と、
前記第１の正解画像と前記第１の訓練画像のそれぞれに対して互いに相関のあるノイズを付与することで、第２の正解画像と第２の訓練画像を生成する第２の工程と、
前記第２の正解画像と前記第２の訓練画像に基づいて、多層のニューラルネットワークを学習する第３の工程と、を有することを特徴とする画像処理方法。
【請求項２】
前記第２の工程において、前記第１の正解画像と前記第１の訓練画像のそれぞれの対応画素に対して相関のある前記ノイズを付与することで前記第２の正解画像と前記第２の訓練画像が生成されることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記対応画素は、前記第１の正解画像と前記第１の訓練画像のそれぞれにおいて、被写体空間の同一の位置を撮像した画素であることを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記対応画素は、前記第１の正解画像と前記第１の訓練画像における同一の位置の画素であることを特徴とする請求項２または３に記載の画像処理方法。
【請求項５】
前記ノイズは、同一の乱数に基づくノイズであることを特徴とする請求項１乃至４のいずれか一項に記載の画像処理方法。
【請求項６】
前記乱数は、前記第１の正解画像における少なくとも２つの画素に対して異なる値であることを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記ノイズのうち前記第１の正解画像に付与されるノイズは、前記第１の正解画像における画素の信号値に基づいて決定され、
前記ノイズのうち前記第１の訓練画像に付与されるノイズは、前記第１の訓練画像における画素の信号値に基づいて決定されることを特徴とする請求項１乃至６のいずれか一項に記載の画像処理方法。
【請求項８】
前記ノイズの分散は、前記第１の正解画像と前記第１の訓練画像のそれぞれにおける画素の信号値に比例する比例成分と、定数成分とを含むことを特徴とする請求項１乃至７のいずれか一項に記載の画像処理方法。
【請求項９】
前記第１の正解画像と前記第１の訓練画像に付与される前記ノイズは、同一であることを特徴とする請求項１乃至６のいずれか一項に記載の画像処理方法。
【請求項１０】
前記ノイズは、前記第１の訓練画像における画素の信号値に基づいて決定されることを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
前記第３の工程において、
前記多層のニューラルネットワークに、前記第２の訓練画像の少なくとも一部と、前記ノイズに基づいて生成された前記ノイズとは異なるノイズに基づいて生成されたノイズ参照パッチと、を入力し、出力された推定パッチと前記第２の正解画像の少なくとも一部とを比較することを特徴とする請求項１乃至１０のいずれか一項に記載の画像処理方法。
【請求項１２】
前記第１の正解画像と前記第１の訓練画像はそれぞれ、同一の原画像に対して異なる処理を実行することで生成された画像であることを特徴とする請求項１乃至１１のいずれか一項に記載の画像処理方法。
【請求項１３】
前記第１の訓練画像は、前記第１の正解画像よりも、解像度、コントラスト、および、明るさの少なくとも１つが低いことを特徴とする請求項１乃至１２のいずれか一項に記載の画像処理方法。
【請求項１４】
前記第１の正解画像と前記第１の訓練画像は、同一の原画像に基づいて生成された画像であり、
前記第１の訓練画像は、前記原画像に対してダウンサンプリング処理、ぼかし処理、コントラスト低減処理、および、明るさ低減処理の少なくとも１つが実行された画像であることを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理方法。
【請求項１５】
前記第３の工程において、アップサンプリング処理、ぼけ除去処理、コントラスト向上処理、および、明るさ向上処理の少なくとも１つの機能を前記多層のニューラルネットワークが具備するように、前記多層のニューラルネットワークを学習することを特徴とする請求項１４に記載の画像処理方法。
【請求項１６】
前記第１の正解画像と前記第１の訓練画像はそれぞれ、同一の原画像の少なくとも一部に対し、異なるぼけを付与することで生成された画像であることを特徴とする請求項１乃至１２のいずれか一項に記載の画像処理方法。
【請求項１７】
前記第１の正解画像と前記第１の訓練画像はそれぞれ、同一の法線マップに対し、異なる光源環境でのレンダリングを行うことで生成された画像であることを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理方法。
【請求項１８】
第１の正解画像と第１の訓練画像を取得する取得手段と、
前記第１の正解画像と前記第１の訓練画像のそれぞれに対して互いに相関のあるノイズを付与することで、第２の正解画像と第２の訓練画像を生成する生成手段と、
前記第２の正解画像と前記第２の訓練画像に基づいて、多層のニューラルネットワークを学習する学習手段と、を有することを特徴とする画像処理装置。
【請求項１９】
請求項１乃至１７のいずれか一項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項２０】
第１の正解画像と第１の訓練画像を取得する第１の工程と、
前記第１の正解画像と前記第１の訓練画像のそれぞれに対して互いに相関のあるノイズを付与することで、第２の正解画像と第２の訓練画像を生成する第２の工程と、
前記第２の正解画像と前記第２の訓練画像に基づいて、多層のニューラルネットワークを学習する第３の工程と、を有することを特徴とする学習済みモデルの製造方法。
【請求項２１】
撮像画像を多層のニューラルネットワークへ入力し、高解像化処理、高コントラスト化処理、および、明るさ向上処理の少なくとも１つが施された推定画像を生成する工程と、
前記推定画像に基づく画像に対してノイズ低減処理を実行する工程と、を有することを特徴とする画像処理方法。
【請求項２２】
前記撮像画像におけるノイズ量と前記推定画像におけるノイズ量は、同等であることを特徴とする請求項２１に記載の画像処理方法。
【請求項２３】
前記ノイズ低減処理で用いられるノイズ低減のパラメータは、前記撮像画像のオプティカルブラックに関する情報に基づいて決定されることを特徴とする請求項２１または２２に記載の画像処理方法。
【請求項２４】
前記推定画像に基づく画像に実行される前記ノイズ低減処理で用いられるノイズ低減のパラメータは、前記撮像画像に前記ノイズ低減処理を実行する際の前記パラメータと同一であることを特徴とする請求項２１乃至２３のいずれか１項に記載の画像処理方法。
【請求項２５】
前記多層のニューラルネットワークは、
第１の正解画像と第１の訓練画像を取得する第１の工程と、
前記第１の正解画像と前記第１の訓練画像のそれぞれに対して相関のあるノイズを付与することで、第２の正解画像と第２の訓練画像を生成する第２の工程と、
前記第２の正解画像と前記第２の訓練画像に基づいて、多層のニューラルネットワークを学習する第３の工程と、
を含む学習方法により学習された学習済みモデルに基づくことを特徴とする請求項２１乃至２４のいずれか一項に記載の画像処理方法。
【請求項２６】
撮像画像を多層のニューラルネットワークへ入力し、高解像化処理、高コントラスト化処理、および、明るさ向上処理の少なくとも１つが施された推定画像を生成する推定手段と、
前記推定画像に基づく画像に対してノイズ低減処理を実行するノイズ低減手段と、
を有することを特徴とする画像処理装置。
【請求項２７】
請求項２１乃至２５のいずれか一項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項２８】
第１の装置と、前記第１の装置と通信可能な第２の装置を含む画像処理システムであって、
前記第１の装置は、撮像画像に対する処理を前記第２の装置に実行させるための要求を送信する送信手段を有し、
前記第２の装置は、
前記送信手段によって送信された前記要求を受信する受信手段と、
前記撮像画像を多層のニューラルネットワークへ入力し、高解像化処理、高コントラスト化処理、および、明るさ向上処理の少なくとも１つが施された推定画像を生成する推定手段を有し、
前記第１の装置または前記第２の装置の少なくとも一方は、前記推定画像に基づく画像に対してノイズ低減処理を実行するノイズ低減手段と、をさらに有することを特徴とする画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理に伴う画像のノイズの変動を抑制する画像処理方法に関する。
【背景技術】
【０００２】
特許文献１には、ウィナーフィルタに基づく処理によって、撮像画像から収差によるぼけを補正し、高解像な画像を得る方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１２３５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された方法は、被写体とノイズの区別ができないため、高解像化や高コントラスト化に伴って画像のノイズが増幅する。
【０００５】
そこで本発明は、画像処理に伴う画像のノイズの変動を抑制することが可能な画像処理方法等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面としての画像処理方法は、第１の正解画像と第１の訓練画像を取得する第１の工程と、前記第１の正解画像と前記第１の訓練画像のそれぞれに対して互いに相関のあるノイズを付与することで、第２の正解画像と第２の訓練画像を生成する第２の工程と、前記第２の正解画像と前記第２の訓練画像に基づいて、多層のニューラルネットワークを学習する第３の工程とを有する。
【０００７】
本発明の他の側面としての画像処理装置は、第１の正解画像と第１の訓練画像を取得する取得手段と、前記第１の正解画像と前記第１の訓練画像のそれぞれに対して互いに相関のあるノイズを付与することで、第２の正解画像と第２の訓練画像を生成する生成手段と、前記第２の正解画像と前記第２の訓練画像に基づいて、多層のニューラルネットワークを学習する学習手段とを有する。
【０００８】
本発明の他の側面としてのプログラムは、前記画像処理方法をコンピュータに実行させる。
【０００９】
本発明の他の側面としての学習済みモデルの製造方法は、第１の正解画像と第１の訓練画像を取得する第１の工程と、前記第１の正解画像と前記第１の訓練画像のそれぞれに対して互いに相関のあるノイズを付与することで、第２の正解画像と第２の訓練画像を生成する第２の工程と、前記第２の正解画像と前記第２の訓練画像に基づいて、多層のニューラルネットワークを学習する第３の工程とを有する。
【００１０】
本発明の他の側面としての画像処理システムは、第１の装置と、前記第１の装置と通信可能な第２の装置を含む画像処理システムであって、前記第１の装置は、撮像画像に対する処理を前記第２の装置に実行させるための要求を送信する送信手段を有し、前記第２の装置は、前記送信手段によって送信された前記要求を受信する受信手段と、前記撮像画像を多層のニューラルネットワークへ入力し、高解像化処理、高コントラスト化処理、および、明るさ向上処理の少なくとも１つが施された推定画像を生成する推定手段を有し、前記第１の装置または前記第２の装置の少なくとも一方は、前記推定画像に基づく画像に対してノイズ低減処理を実行するノイズ低減手段とをさらに有する。
【００１１】
本発明の他の目的及び特徴は、以下の実施形態において説明される。
【発明の効果】
【００１２】
本発明によれば、画像処理に伴う画像のノイズの変動を抑制することが可能な画像処理方法等を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施例１におけるニューラルネットワークの学習の流れを示す図である。
【図２】実施例１における画像処理システムのブロック図である。
【図３】実施例１における画像処理システムの外観図である。
【図４】実施例１におけるウエイトの学習に関するフローチャートである。
【図５】実施例１における出力画像の生成に関するフローチャートである。
【図６】実施例２における画像処理システムのブロック図である。
【図７】実施例２における画像処理システムの外観図である。
【図８】実施例２におけるウエイトの学習に関するフローチャートである。
【図９】実施例２におけるニューラルネットワークの学習の流れを示す図である。
【図１０】実施例２における出力画像の生成に関するフローチャートである。
【図１１】実施例２における出力画像を生成する際のノイズ画像の生成を示す図である。
【図１２】実施例３における画像処理システムのブロック図である。
【図１３】実施例３における出力画像の生成に関するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照符号を付し、重複する説明は省略する。
【００１５】
まず、実施例の具体的な説明を行う前に、本発明の要旨を説明する。本発明は、画像処理（高解像化、高コントラスト化、明るさ向上など）に伴う画像のノイズの変動を抑制するため、画像処理に多層のニューラルネットワークを使用する。また、多層のニューラルネットワークで使用するウエイト（フィルタ、バイアスなど）の学習において、第１の正解画像と第１の訓練画像のそれぞれに対し、互いに相関のあるノイズを付与し、第２の正解画像と第２の訓練画像を生成する。互いに相関のあるノイズとは、例えば同一の乱数に基づくノイズである。例えば、実行したい画像処理が高解像化の場合、第１の訓練画像は低解像な画像であり、第１の正解画像は高解像な画像である。第２の訓練画像を多層のニューラルネットワークへ入力し、その出力と第２の正解画像との誤差が小さくなるように、ウエイトを最適化する。この場合、第２の正解画像と第２の訓練画像は、互いに相関のあるノイズ、例えば同一の乱数に基づくノイズを有するため、ニューラルネットワークはノイズの変動を抑制しつつ、高解像化を行うウエイトを学習することができる。すなわち、ノイズの変動を抑制しつつ高解像化を行うことのできる学習済みモデルを生成することができる。
【００１６】
なお、高解像化を例に挙げたが、以下の実施例に述べる各画像処理は、高コントラスト化、明るさ向上、デフォーカスぼけ変換、ライティング変換などの画像処理に対しても適用可能であり、ノイズ変動を抑制した処理を実現できる。
【実施例１】
【００１７】
まず、本発明の実施例１における画像処理システムに関して説明する。本実施例では、多層のニューラルネットワークにぼけ補正を学習、実行させる。ただし本発明は、ぼけ補正に限定されるものではなく、その他の画像処理にも適用可能である。
【００１８】
図２は、本実施例における画像処理システム１００のブロック図である。図３は、画像処理システム１００の外観図である。画像処理システム１００は、学習装置（画像処理装置）１０１、撮像装置１０２、画像推定装置（画像処理装置）１０３、表示装置１０４、記録媒体１０５、出力装置１０６、および、ネットワーク１０７を有する。学習装置１０１は、記憶部（記憶手段）１０１ａ、取得部（取得手段）１０１ｂ、生成部（生成手段）１０１ｃ、および、更新部（学習手段）１０１ｄを有する。
【００１９】
撮像装置１０２は、光学系１０２ａと撮像素子１０２ｂを有する。光学系１０２ａは、被写体空間から撮像装置１０２へ入射した光を集光する。撮像素子１０２ｂは、光学系１０２ａを介して形成された光学像（被写体像）を受光して（光電変換して）撮像画像を取得する。撮像素子１０２ｂは、例えばＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）センサや、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサなどである。撮像装置１０２によって取得される撮像画像は、光学系１０２ａの収差や回折によるぼけと、撮像素子１０２ｂによるノイズを含む。
【００２０】
画像推定装置１０３は、記憶部１０３ａ、取得部１０３ｂ、ぼけ補正部（推定手段）１０３ｃ、および、デノイズ部（ノイズ低減手段）１０３ｄを有する。画像推定装置１０３は、撮像画像を取得し、ノイズ変動を抑制したぼけ補正を行って推定画像を生成する。ぼけ補正には、多層のニューラルネットワークを使用し、ウエイトの情報は記憶部１０３ａから読み出される。ウエイト（ウエイトの情報）は学習装置１０１で学習されたものであり、画像推定装置１０３は、事前にネットワーク１０７を介して記憶部１０１ａからウエイトの情報を読み出し、記憶部１０３ａに保存している。保存されるウエイトの情報は、ウエイトの数値そのものでもよいし、符号化された形式でもよい。ウエイトの学習、およびウエイトを用いたぼけ補正処理に関する詳細は、後述する。画像推定装置１０３は、推定画像に対してぼけ補正とデノイズ（ノイズ低減処理）の強度調整を行って、出力画像を生成する。
【００２１】
出力画像は、表示装置１０４、記録媒体１０５、および、出力装置１０６の少なくとも１つに出力される。表示装置１０４は、例えば液晶ディスプレイやプロジェクタなどである。ユーザは、表示装置１０４を介して、処理途中の画像を確認しながら編集作業などを行うことができる。記録媒体１０５は、例えば半導体メモリ、ハードディスク、ネットワーク上のサーバ等である。出力装置１０６は、プリンタなどである。画像推定装置１０３は、必要に応じて現像処理やその他の画像処理を行う機能を有する。
【００２２】
次に、図１および図４を参照して、本実施例における学習装置１０１により実行されるウエイト（ウエイトの情報）の学習方法（学習済みモデルの製造方法）に関して説明する。図１は、ニューラルネットワークのウエイトの学習の流れを示す図である。図４は、ウエイトの学習に関するフローチャートである。図４の各ステップは、主に、学習装置１０１の取得部１０１ｂ、生成部１０１ｃ、または、更新部１０１ｄにより実行される。
【００２３】
まず、図４のステップＳ１０１において、取得部１０１ｂは、正解パッチ（第１の正解画像）と訓練パッチ（第１の訓練画像）を取得する。本実施例において、正解パッチは、光学系１０２ｂの収差や回折によるぼけが少ない高解像（高品位）な画像である。訓練パッチは、正解パッチと同一の被写体が写っており、かつ光学系１０２ｂの収差や回折によるぼけが発生しており、ぼけが多い低解像（低品位）な画像である。すなわち、正解パッチは相対的にぼけが少ない画像であり、訓練パッチは相対的にぼけが多い画像である。
【００２４】
なお、パッチとは既定の画素数（例えば、６４×６４画素など）を有する画像を指す。また、正解パッチと訓練パッチの画素数は、必ずしも一致する必要はない。本実施例では、多層のニューラルネットワークのウエイトの学習に、ミニバッチ学習を使用する。このためステップＳ１０１では、複数組の正解パッチと訓練パッチを取得する。ただし本発明は、これに限定されるものではなく、オンライン学習またはバッチ学習を用いてもよい。
【００２５】
本実施例では以下の方法により、正解パッチと訓練パッチを取得するが、本発明はこれに限定されるものではない。本実施例は、記憶部１０１ａに記憶されている複数の原画像を被写体として、撮像シミュレーションを行うことにより、収差や回折が実質的にない高解像撮像画像と収差や回折のある低解像撮像画像を複数生成する。そして、複数の高解像撮像画像と低解像撮像画像各々から同一位置の部分領域を抽出することで、複数の正解パッチと訓練パッチを取得する。本実施例において、原画像は未現像のＲＡＷ画像であり、正解パッチと訓練パッチも同様にＲＡＷ画像である。ただし本発明は、これに限定されるものではなく、現像後の画像でもよい。また、部分領域の位置とは、部分領域の中心を指す。複数の原画像は、様々な被写体、すなわち、様々な強さと方向のエッジや、テクスチャ、グラデーション、平坦部などを有する画像である。原画像は、実写画像でもよいし、ＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）により生成した画像でもよい。
【００２６】
好ましくは、原画像は、撮像素子１０２ｂの輝度飽和値よりも高い信号値を有しているとよい。これは、実際の被写体においても、特定の露出条件で撮像装置１０２により撮影を行った際、輝度飽和値に収まらない被写体が存在するためである。高解像撮像画像は、原画像を縮小し、撮像素子１０２ｂの輝度飽和値で信号をクリップすることによって生成する。特に、原画像として実写画像を使用する場合、既に収差や回折によってぼけが発生しているため、縮小することでぼけの影響を小さくし、高解像（高品位）な画像にすることができる。なお、原画像に高周波成分が充分に含まれている場合、縮小は行わなくてもよい。低解像撮像画像は、高解像撮像画像と同様に縮小し、光学系１０２ａの収差や回折によるぼけの付与を行った後、輝度飽和値によってクリップすることで生成する。光学系１０２ａは、複数のレンズステート（ズーム、絞り、合焦距離の状態）と像高、アジムスによって異なる収差や回折を有する。このため、原画像ごとに異なるレンズステートや像高、アジムスの収差や回折によるぼけを付与することで、複数の低解像撮像画像を生成する。
【００２７】
なお、縮小とぼけの付与は順序を逆にしてもよい。ぼけの付与を先に行う場合、縮小を考慮して、ぼけのサンプリングレートを細かくする必要がある。ＰＳＦ（点像強度分布）ならば空間のサンプリング点を細かくし、ＯＴＦ（光学伝達関数）ならば最大周波数を大きくすればよい。また必要に応じて、付与するぼけには、撮像装置１０１に含まれる光学ローパスフィルタなどの成分を加えてもよい。なお、低解像撮像画像の生成で付与するぼけには、歪曲収差を含めない。歪曲収差が大きいと、被写体の位置が変化し、正解パッチと訓練パッチで被写体が異なる可能性があるためである。このため、本実施例で学習するニューラルネットワークは歪曲収差を補正しない。歪曲収差はバイリニア補間やバイキュービック補間などを用いて、ぼけ補正後、個別に補正する。
【００２８】
次に、生成された高解像撮像画像から、規定の画素サイズの部分領域を抽出し、正解パッチとする。低解像撮像画像から、前記抽出位置と同じ位置から部分領域を抽出し、訓練パッチとする。本実施例では、ミニバッチ学習を使用するため、生成された複数の高解像撮像画像と低解像撮像画像から、複数の正解パッチと訓練パッチを取得する。なお、実際の撮像時には、撮像素子１０２ｂでノイズが発生するが、ノイズの付与は後述のステップＳ１０３で行う。ただし、原画像はノイズ成分を有していてもよい。この場合、原画像に含まれるノイズを含めて被写体であるみなして正解パッチと訓練パッチが生成されると考えることができるため、原画像のノイズは特に問題にならない。
【００２９】
続いてステップＳ１０２において、生成部１０１ｃは、乱数列を生成する。そして生成部１０１ｃは、生成された乱数列に基づいて、正解パッチと訓練パッチにノイズを付与する。このため、撮像素子１０２ｂのノイズ特性に対応した乱数発生器を使用して、乱数列を生成する。本実施例では正規乱数によって乱数列を生成するが、本発明はこれに限定されるものではなく、一様乱数や無理数を利用した擬似的な乱数発生器を使用してもよい。乱数列の要素数は、正解パッチと訓練パッチのうち大きい方の画素数と同じである。すなわち、正解パッチと訓練パッチの各画素に対して、乱数によって発生した数値が１つ割り当てられる。乱数列は、極低確率な場合を除いて、全要素が同一の数値にならないため、正解パッチ（と訓練パッチ）の少なくとも２画素にはそれぞれ異なる数値が割り当てられる。また、正解パッチと訓練パッチが複数のチャンネルを有する場合、各チャンネルに対して数値が１つ割り当てられる。本実施例では、複数の正解パッチと訓練パッチを取得しているため、対応する数だけ同一ではない乱数列を複数生成する。なお、ステップＳ１０１とステップＳ１０２の順序は逆でもよい。
【００３０】
続いてステップＳ１０３において、生成部１０１ｃは、ノイズ正解パッチ（第２の正解画像）とノイズ訓練パッチ（第２の訓練画像）を生成する。図１は、ステップＳ１０３からステップＳ１０５までの流れを示している。生成部１０１ｃは、正解パッチ２０１と訓練パッチ２０２に対して、乱数列２０３に基づくノイズを付与し、ノイズ正解パッチ２１１とノイズ訓練パッチ２１２を生成する。ノイズの付与には、以下の式（１）を用いる。
【００３１】
【数１】
2020144489.tif 000003
【００３２】
式（１）において、（ｘ，ｙ）は２次元の空間座標、ｓｏｒｇ（ｘ，ｙ）は正解パッチ２０１（または訓練パッチ２０２）の（ｘ，ｙ）における画素の信号値である。ｒ（ｘ，ｙ）は乱数列２０３の（ｘ，ｙ）における数値、ｓｎｏｉｓｅ（ｘ，ｙ）はノイズ正解パッチ２１１（またはノイズ訓練パッチ２１２）の（ｘ，ｙ）における画素の信号値である。σ（ｘ，ｙ）はノイズの標準偏差（σ２（ｘ，ｙ）は分散）を表し、以下の式（２）で与えられる。
【００３３】
【数２】
2020144489.tif 000004
【００３４】
式（２）において、ｓ０はオプティカルブラック（黒レベルの画像）の信号値、ＳＩＳＯはＩＳＯ感度、ｋ１とｋ０はＩＳＯ感度１００における信号値に対する比例係数と定数である。ｋ１はショットノイズの影響を示し、ｋ０は暗電流や読み出しノイズの影響を表す。ｋ１とｋ０の値は、撮像素子１０２ｂのノイズ特性によって決まる。これにより、正解パッチ２０１と訓練パッチ２０２の対応する画素（対応画素）に対して、共通の乱数に基づき、かつそれぞれの信号値に依存したノイズが付与され、ノイズ正解パッチ２１１とノイズ訓練パッチ２１２が生成される。対応画素とは、被写体空間の同一の位置を撮像した画素である。または、対応画素とは、正解パッチ２０１と訓練パッチ２０２の同一の位置の画素である。ステップＳ１０１で取得した複数の正解パッチ２０１と訓練パッチ２０２に対して、同様にノイズを付与し、複数のノイズ正解パッチ２１１とノイズ訓練パッチ２１２を生成する。撮像素子１０２ｂの様々なＩＳＯ感度に対応する場合は、複数の正解パッチ２０１と訓練パッチ２０２に対して、異なるＩＳＯ感度のノイズを付与する。本実施例では、正解パッチ２０１と訓練パッチ２０２それぞれの信号値に基づくノイズを付与するが、両者に同一のノイズを付与してもよい。実際に撮像される画像に相当するのは訓練パッチ２０２のため、訓練パッチ２０２に対して式（１）でノイズσ（ｘ，ｙ）・ｒ（ｘ，ｙ）を計算し、ノイズを正解パッチ２０１に付与する。
【００３５】
続いてステップＳ１０４において、生成部１０１ｃは、ノイズ訓練パッチ（第２の訓練画像）２１２を多層のニューラルネットワークへ入力し、推定パッチ（推定画像）２１３を生成する。推定パッチ２１３は、ノイズの変動を抑制して、ぼけを補正したノイズ訓練パッチ２１２であり、理想的にはノイズ正解パッチ（第２の正解画像）２１１と一致する。なお本実施例では、図１に示されるニューラルネットワークの構成を使用するが、本発明はこれに限定されるものではない。図１中のＣＮは畳み込み層、ＤＣは逆畳み込み層を表す。ＣＮとＤＣどちらでも、入力とフィルタの畳み込み、およびバイアスとの和が算出され、その結果を活性化関数によって非線形変換する。フィルタの各成分とバイアスの初期値は任意であり、本実施例では乱数によって決定する。活性化関数は、例えばＲｅＬＵ（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ）やシグモイド関数などを使うことができる。最終層を除く各層の出力は、特徴マップと呼ばれる。スキップコネクション２２２、２２３は、連続していない層から出力された特徴マップを合成する。特徴マップの合成は要素ごとの和をとってもよいし、チャンネル方向に連結（ｃｏｎｃａｔｅｎａｔｉｏｎ）してもよい。本実施例では要素ごとの和を採用する。スキップコネクション２２１は、ノイズ訓練パッチ２１２とノイズ正解パッチ２１１の推定された残差と、ノイズ訓練パッチ２１２との和を取り、推定パッチ２１３を生成する。複数のノイズ訓練パッチ２１２のそれぞれに対して、推定パッチ２１３を生成する。
【００３６】
続いてステップＳ１０５において、更新部１０１ｄは、推定パッチ２１３とノイズ正解パッチ（第２の正解画像）２１１との誤差から、ニューラルネットワークのウエイト（ウエイトの情報）を更新する。ここで、ウエイトは、各層のフィルタの成分とバイアスを含む。ウエイトの更新には誤差逆伝搬法（Ｂａｃｋｐｒｏｐａｇａｔｉｏｎ）を使用するが、本発明はこれに限定されるものではない。ミニバッチ学習のため、複数のノイズ正解パッチ２１１とそれらに対応する推定パッチ２１３の誤差を求め、ウエイトを更新する。誤差関数（Ｌｏｓｓ  ｆｕｎｃｔｉｏｎ）には、例えばＬ２ノルムやＬ１ノルムなどを用いればよい。
【００３７】
続いてステップＳ１０６において、更新部１０１ｄは、ウエイトの学習が完了したか否かを判定する。完了は、学習（ウエイトの更新）の反復回数が規定値に達したか、または、更新時のウエイトの変化量が規定値より小さいかなどにより判定することができる。未完と判定された場合、ステップＳ１０１へ戻り、新たな正解パッチと訓練パッチを複数取得する。一方、完了と判定された場合、学習装置１０１（更新部１０１ｄ）は学習を終了し、ウエイトの情報を記憶部１０１ａに保存する。同一の乱数に基づいたノイズが付与されたノイズ正解パッチとノイズ訓練パッチでぼけ補正を学習することで、ニューラルネットワークは被写体と付与されたノイズを分離して学習することができ、ノイズ変動を抑えて被写体のみをぼけ補正することができる。
【００３８】
次に、図５を参照して、本実施例における画像推定装置１０３で実行される出力画像の生成に関して説明する。図５は、出力画像の生成に関するフローチャートである。図５の各ステップは、主に、画像推定装置１０３の取得部１０３ｂ、ぼけ補正部１０３ｃ、または、デノイズ部１０３ｄにより実行される。
【００３９】
まずステップＳ２０１において、取得部１０３ｂは、撮像画像とウエイトの情報を取得する。撮像画像は、学習と同様で未現像のＲＡＷ画像であり、本実施例では撮像装置１０２から送信されたものである。ウエイト情報は学習装置１０１から送信されて記憶部１０３ａに記憶されたものである。
【００４０】
続いてステップＳ２０２において、ぼけ補正部１０３ｃは、取得したウエイトを適用した多層のニューラルネットワークに撮像画像を入力し、推定画像を生成する。推定画像は、撮像画像からノイズの変動を抑えて、光学系１０２ａの収差や回折によるぼけが補正された画像である。このため、撮像画像に含まれるノイズ量と推定画像に含まれるノイズ量は同等である。推定画像の生成には、図１に示される構成と同様のニューラルネットワークを使用する。なお、ニューラルネットワークへ撮像画像を入力する際は、学習時に使用した訓練パッチと同サイズに切り出す必要はない。
【００４１】
続いてステップＳ２０３において、ぼけ補正部１０３ｃは、ユーザの選択に基づいて、ぼけ補正の強度を調整する。ぼけ補正の強度調整は、以下の式（３）で示される、撮像画像Ｉｏｒｇと推定画像Ｉｉｎｆの重み付き平均によって行う。
【００４２】
【数３】
2020144489.tif 000005
【００４３】
式（３）において、Ｉｏｕｔはぼけ補正の強度が調整された出力画像であり、ユーザの選択に基づいて重みαは０から１の間で任意の値を取る。重みαが１に近いほど、ぼけ補正の強度が大きい。推定画像Ｉｉｎｆは、撮像画像Ｉｏｒｇに対してノイズ変動が抑制されているため、両者の重み付き平均である出力画像Ｉｏｕｔのノイズも変動が抑制される。
【００４４】
続いてステップＳ２０４において、デノイズ部１０３ｄは、ユーザの選択に基づいて、出力画像に対するデノイズの強度を調整する。デノイズ方法は、本実施例の方法に限定されるものではない。デノイズ方法として、例えば、バイラテラルフィルタ、ＮＬＭ（ｎｏｎ−ｌｏｃａｌ  ｍｅａｎｓ）フィルタ、ＢＭ３Ｄ（Ｂｌｏｃｋ−ｍａｔｃｈｉｎｇ  ａｎｄ  ３Ｄ  ｆｉｌｔｅｒｉｎｇ）、または多層のニューラルネットワークを用いた方法などを用いてもよい。ここで、デノイズの強度を決定するパラメータ（ノイズ低減のパラメータ）は、撮像画像のオプティカルブラックの信号値に基づいて決定してもよい。オプティカルブラックの信号値から、撮像画像に存在するノイズ量を見積もることができる。さらに本発明では、ぼけ補正に伴うノイズの変動を抑制することができるため、撮像画像と推定画像のノイズ量は略一致する。故に、撮像画像のオプティカルブラックに関する情報に基づいて決定されたノイズ低減のパラメータで、出力画像のデノイズを決定してよい。また、出力画像に実行されるデノイズで用いられるノイズ低減のパラメータは、撮像画像にデノイズを実行する際のパラメータと同一としてもよい。出力画像はＲＡＷ画像であるため、必要に応じて現像処理が実行される。
【００４５】
以上の構成では、ぼけ補正とデノイズを個別の処理で行うため、それぞれの強度を個別に設定でき、ユーザの意図する編集に対応が可能となる。仮に、ノイズ訓練パッチをニューラルネットワークへ入力し、その推定パッチと、ノイズのない正解パッチの誤差から学習を行った場合、ニューラルネットワークはぼけ補正とデノイズの両方を学習する。このニューラルネットワークに対して、ステップＳ２０３にてぼけ補正の強度を調整すると、同時にデノイズの強度も変化する。すなわち、ぼけ補正とデノイズの強度を独立に設定することができなくなり、ユーザの意図した編集を実現できなくなる可能性がある。このため、ノイズ変動を抑制したぼけ補正を実現し、ぼけ補正後の画像に対して別途デノイズを行うような構成とすることにより、編集の自由度が確保され、ユーザが意図する編集に対応することが可能となる。
【００４６】
また、正解パッチと訓練パッチに対して、異なる乱数でノイズを付与した場合に推定画像がどうなるかを説明する。この場合、ノイズ正解パッチとノイズ訓練パッチの間のノイズは互いに相関を持たないこととなる。ニューラルネットワークは学習によって、ノイズ訓練パッチ内のノイズ成分を異なるノイズへ変化させるように促進される。しかし、ノイズの変化は、複数のパッチ組（ノイズ正解パッチとノイズ訓練パッチの組）ごとにランダムである。図１に示されるようなＣＮＮ（畳み込みニューラルネットワーク）では、そのランダムな変化の平均が学習される。すなわち、出力されるべきランダムなノイズは、複数のパッチ組の学習によって平均化され、結果的に推定画像はデノイズされた画像となる。故に、この場合も前述と同様、ユーザの編集の自由度が低下する。
【００４７】
なお、本実施例では収差や回折によるぼけの補正を扱ったが、他の要因（デフォーカス、ぶれ等）のぼけに対しても、本発明は同様に有効である。学習の際、訓練パッチに付与するぼけを、デフォーカスやぶれ等に変更することで、それらの要因のぼけでもノイズの変動を抑制してぼけ補正を行うことができる。
【００４８】
また、ぼけ補正以外の高解像化であるアップサンプリングに対しても、本発明は適用可能である。１次元でのアップサンプリングレートが２の場合を例にとって、学習の詳細を説明する。正解パッチに対して、ぼけ補正と同様に乱数列に基づいてノイズを付与し、ノイズ正解パッチを付与する。次に、正解パッチから１画素飛ばしで画素をサンプリングする（１次元で１／２にダウンサンプリングする）ことで、訓練パッチを生成する。同様に、前記乱数列も１画素飛ばしでサンプリングし、該ダウンサンプリングされた乱数列に基づいて、訓練パッチにノイズを付与し、ノイズ訓練パッチを生成する。ニューラルネットワーク内でアップサンプリングを行う場合、この生成したノイズ訓練パッチをそのままニューラルネットワークへ入力して誤差を算出し、ウエイトを学習する。事前にアップサンプリングする場合、ノイズ訓練パッチをバイリニア補間などでアップサンプリングしてニューラルネットワークへ入力し、誤差を算出、ウエイトを学習する。
【００４９】
また本発明は、周辺光量補正などの明るさ向上処理にも適用可能である。この際、ニューラルネットワークの学習は、以下のように行う。同一の原画像に対し、周辺光量落ちに対応した明るさ低減を行った撮像相当画像と、明るさの低減がない（または、撮像相当画像より低減が小さい）理想相当画像を生成する。生成された複数の撮像相当画像と理想相当画像から、それぞれ訓練パッチと正解パッチを複数抽出し、実施例１と同様の学習を行うことで、明るさ向上処理でもノイズ変動を抑制することができる。
【００５０】
また本発明は、デフォーカスぼけの変換にも適用可能である。デフォーカスぼけの変換とは、撮像画像中のデフォーカスぼけをユーザの望ましい形状、分布へ変換する処理である。撮像画像のデフォーカスぼけには、ヴィネッティングによる欠け、二線ぼけ、非球面レンズの切削痕による輪帯模様、カタディオプティック光学系による中心の遮蔽などが発生し得る。これらのデフォーカスぼけを、ニューラルネットワークによって、ユーザの望む形状、分布（例えば、フラットな円形や正規分布関数など）に変換する。このニューラルネットワークの学習は、以下のように行う。同一の原画像に対し、撮像画像で発生するデフォーカスぼけを付与した撮像相当画像と、ユーザの望むデフォーカスぼけを付与した理想相当画像を、複数のデフォーカス量に対して生成する。ただし、デフォーカスぼけ変換は、合焦距離の被写体に対して変化を起こさないことが望まれるので、デフォーカス量がゼロの撮像相当画像と理想相当画像も生成する。生成された複数の撮像相当画像と理想相当画像から、それぞれ訓練パッチと正解パッチを複数抽出し、実施例１と同様の学習と行うことで、デフォーカスぼけ変換でもノイズ変動を抑制することができる。
【００５１】
また本発明は、ライティングの変換にも適用可能である。ライティングの変換とは、撮像画像のライティングを異なるライティングへ変更する処理を指す。ライティング変換を実現するニューラルネットワークは、以下の方法で学習することができる。同一の法線マップである原画像に対し、撮像画像で想定される光源環境でのレンダリングを行うことで撮像相当画像を生成する。同様に、法線マップに対し、ユーザの望む光源環境でのレンダリングによって理想相当画像を生成する。撮像相当画像と理想相当画像から、それぞれ訓練パッチと正解パッチを複数抽出し、実施例１と同様の学習と行うことで、ライティング変換でもノイズ変動を抑制することができる。
【００５２】
また本発明は、コントラスト向上処理においても適用可能である。これに関しては、実施例２で具体的に説明する。
【００５３】
なお、本実施例では学習装置１０１と画像推定装置１０３が別体である場合を例に説明したが、本発明はこれに限定されない。学習装置１０１と画像推定装置１０３は一体であっても良い。すなわち、一体の装置内で学習（図４に示す処理）と推定（図５に示す処理）を行っても良い。
【００５４】
以上の構成により、本実施例によれば、画像処理に伴う画像のノイズ変動を抑制した画像処理システムを提供することが可能である。
【実施例２】
【００５５】
次に、本発明の実施例２における画像処理システムに関して説明する。本実施例では、多層のニューラルネットワークに高コントラスト化処理である霞除去を学習、実行させる。ただし本実施例は、実施例１と同様に、その他の画像処理にも適用可能である。
【００５６】
図６は、本実施例における画像処理システム３００のブロック図である。図７は、画像処理システム３００の外観図である。画像処理システム３００は、ネットワーク３０３を介して接続された学習装置（画像処理装置）３０１と撮像装置３０２を含む。学習装置３０１は、記憶部（記憶手段）３０１、取得部（取得手段）３１２、生成部（生成手段）３１３、および、更新部（学習手段）３１４を有し、ニューラルネットワークで霞除去を行うためのウエイト（ウエイトの情報）を学習する。撮像装置３０２は、被写体空間を撮像して撮像画像を取得し、読み出した前記ウエイトの情報を用いて撮像画像中の霞を除去する。学習装置３０１で実行されるウエイトの学習と、撮像装置３０２で実行される霞除去に関する詳細は後述する。撮像装置３０２は、光学系３２１と撮像素子３２２を有する。撮像素子３２２で取得された撮像画像は、被写体空間に存在する霞の影響で、被写体のコントラストが低下している。画像推定部３２３は、取得部３２３ａと推定部３２３ｂを有し、記憶部３２４に保存されたウエイトの情報を用いて、撮像画像の霞除去を実行する。
【００５７】
ウエイトの情報は、学習装置３０１で事前に学習され、記憶部３１１に保存されている。撮像装置３０２は、記憶部３１１からネットワーク３０３を介してウエイトの情報を読み出し、記憶部３２４に保存する。霞除去された撮像画像（出力画像）は、記録媒体３２５に保存される。ユーザから出力画像の表示に関する指示が出された場合、保存された出力画像が読み出され、表示部３２６に表示される。なお、記録媒体３２５に既に保存された撮像画像を読み出し、画像推定部３２３で霞除去を行ってもよい。以上の一連の制御は、システムコントローラ３２７によって行われる。
【００５８】
次に、図８および図９を参照して、本実施例における学習装置３０１で実行されるウエイト（ウエイトの情報）の学習に関して説明する。図８は、ニューラルネットワークのウエイトの学習の流れを示す図である。図９は、ウエイトの学習に関するフローチャートである。図８の各ステップは、主に、学習装置３０１の取得部３１２、生成部３１３、または、更新部３１４により実行される。
【００５９】
実施例１では既定の画素数のパッチに対してノイズを付与したが、本実施例ではパッチより大きいサイズの画像に対してノイズを付与し、そこからパッチを抽出する。また本実施例では、ニューラルネットワークにノイズ訓練パッチ（霞とノイズのあるパッチ）だけでなく、ノイズ参照パッチ（特定の信号値に対するノイズ量を表すパッチ）を入力する。このように本実施例では、ノイズ参照パッチによって、ニューラルネットワークへ直接的にノイズ量を入力し、ノイズに対するロバスト性を向上する。
【００６０】
まず、図８のステップＳ３０１において、取得部３１２は、霞なし画像（第１の正解画像）４０１と霞あり画像（第１の訓練画像）４０２を取得する。実施例１と同様に、記憶部３１１に保存された１つ以上の原画像に対し、様々な濃さの霞をシミュレーションによって付与し、１組以上の霞なし画像４０１と霞あり画像４０２を生成する。霞あり画像４０２は、霞による散乱光により、霞なし画像４０１に対して、コントラストが低下し、白みを帯びた画像である。ここで、霞なし画像と霞あり画像は未現像のＲＡＷ画像である。
【００６１】
続いてステップＳ３０２において、生成部３１３は、乱数列を生成する。本実施例では、１組の霞なし画像４０１と霞あり画像４０２に対して、２つの乱数列を生成する。後段のステップで、第１の乱数列４０４に基づいて、霞なし画像４０１と霞あり画像４０２にノイズを付与し、第２の乱数列４０５に基づいてノイズ画像４１３を生成する。第１の乱数列４０４と第２の乱数列４０５は、互いに異なる数値を有する。第１の乱数列４０４の要素数は、霞なし画像４０１または霞あり画像４０２の画素数と一致する。第２の乱数列４０５の要素数はＮ０であり、第１の乱数列４０４の要素数と一致する必要はない。霞なし画像４０１と霞あり画像４０２が複数組存在する場合、それぞれの組に対して第１および第２の乱数列４０４、４０５を生成する。各組における第１の乱数列４０４は、互いに異なる数値を有する。第２の乱数列４０５も同様である。
【００６２】
続いてステップＳ３０３において、生成部３１３は、ノイズのある霞なし画像（第２の正解画像）４１１、ノイズのある霞あり画像（第２の訓練画像）４１２およびノイズ画像４１３を生成する。ノイズのある霞なし画像４１１は、第１の乱数列４０４に基づくノイズを、霞なし画像４０１に付与することで生成される。ノイズのある霞なし画像４１２も、霞あり画像４０２に同様にノイズを付与して生成される。ノイズの付与方法は、実施例１と同様である。被写体空間の同一の位置を撮像した霞なし画像４０１および霞あり画像４０２の画素に対して、同一の乱数に基づくノイズが付与される。ノイズ画像４１３は、特定の信号値に対して、第２の乱数列４０５に基づくノイズを付与することで生成される。特定の信号値に制限はないが、本実施例では、撮像素子３２２のオプティカルブラックにおける信号値ｓ０を用いる。画素数Ｎ０で、信号値ｓ０を有する画像４０３に対して、第２の乱数列４０５に基づくノイズを付与する。ノイズ画像４１３は、ノイズが付与された画像を配列し、第２の訓練画像４１２と同じ画素数にした画像である。ノイズ画像４１３に付与されたノイズの標準偏差は、第２の訓練画像４１２の生成時と同じ条件によって決定される。このため、ノイズ画像４１３と第２の訓練画像４１２内の信号値ｓ０の画素とのノイズの標準偏差は同じである。霞なし画像４０１と霞あり画像４０２が複数組存在する場合、それぞれの組に対し、同様の処理を行う。
【００６３】
続いてステップＳ３０４において、生成部３１３は、ノイズ正解パッチ４２１、ノイズ訓練パッチ４２２、および、ノイズ参照パッチ４２３を複数抽出する。ノイズ正解パッチ４２１は第２の正解画像４１１から、ノイズ訓練パッチ４２２は第２の訓練画像４１２から、ノイズ参照パッチ４２３はノイズ画像４１３からそれぞれ抽出される。ノイズ正解パッチ４２１とノイズ訓練パッチ４２２は、被写体空間の同一の位置を撮像している領域を含むが、画素数は必ずしも一致しなくてよい。ノイズ訓練パッチ４２２とノイズ参照パッチ４２３はそれぞれ、第２の訓練画像４１２とノイズ画像４１３の同一の位置における部分領域であり、画素数はＮ０である。パッチ組（ノイズ正解パッチ４２１、ノイズ訓練パッチ４２２、ノイズ参照パッチ４２３）は、第２の正解画像４１１と第２の訓練画像４１２の組ごとに複数抽出される。
【００６４】
続いてステップＳ３０５において、取得部３１２は、ミニバッチ学習に使用するパッチ組を選択する。本実施例において、取得部３１２は、ステップＳ３０４にて抽出された複数のパッチ組から、２組以上の一部のパッチ組を選択する。続いてステップＳ３０６において、生成部３１３は、選択されたパッチ組からノイズ訓練パッチ４２２とノイズ参照パッチ４２３を多層のニューラルネットワークへ入力し、推定パッチ４２４を生成する。ノイズ訓練パッチ４２２とノイズ参照パッチ４２３は、チャンネル方向に連結されて、多層のニューラルネットワークへ入力される。スキップコネクション４３２、４３３は、実施例１と同様である。スキップコネクション４３１は、最終層の出力とノイズ訓練パッチ４２２の要素ごとの和を取る。選択された複数のパッチ組ごとに同様の処理を行う。
【００６５】
続いてステップＳ３０７において、更新部３１４は、推定パッチ４２４とノイズ正解パッチ４２１の誤差からニューラルネットワークのウエイトを更新する。続いてステップＳ３０８において、更新部３１４は、学習が完了したか否かを判定する。未完と判定された場合、ステップ３０５へ戻り、新たなパッチ組を複数選択する。学習が完了したと判定された場合、更新部３１４は、ウエイトの情報を記憶部３１１に保存する。
【００６６】
次に、図１０を参照して、本実施例の画像推定部３２３で実行される撮像画像の霞除去処理に関して説明する。図１０は、霞除去処理（画像推定部３２３による出力画像の生成）に関するフローチャートである。図１０の各ステップは、主に、画像推定部３２３の取得部３２３ａまたは推定部３２３ｂにより実行される。
【００６７】
まずステップＳ４０１において、取得部３２３ａは、撮像画像とウエイトの情報を取得する。続いてステップＳ４０２において、取得部３２３ａは、撮像画像のオプティカルブラック（黒レベルの画像）から部分領域を抽出し、ノイズ画像を生成する。これに関して、図１１を参照して説明する。図１１は、本実施例における出力画像を生成する際のノイズ画像の生成を示す図である。撮像画像５０１は、未現像のＲＡＷ画像であり、画像領域５０２とオプティカルブラック５０３を有する。取得部３２３ａは、オプティカルブラック５０３から部分領域５０４を抽出する。部分領域５０４の画素数はＮ０であり、これを配列してノイズ画像５０５を生成する。ノイズ画像５０５は、画像領域５０２と同じ画素数であり、画像領域５０２とノイズ画像５０５をチャンネル方向に連結して、ニューラルネットワークへ入力する。ただし本発明は、これに限定されるものではない。例えば、ノイズ画像５０５を撮像画像５０１と同画素数にし、両者を連結してニューラルネットワークへ入力してもよい。
【００６８】
続いて、図１０のステップＳ４０３において、推定部３２３ｂは、学習したウエイトを用いたニューラルネットワークにより、画像領域とノイズ画像が連結された入力に対する推定画像を生成する。本実施例では、霞除去の強度調整はなく、推定画像がそのまま出力画像となる。以上の処理により、ノイズの変動を抑制して霞除去を高精度に行った高コントラスト画像を推定することができる。同様の処理により、霧などその他の散乱体越しの撮像でも同様の効果を得ることができる。本実施例によれば、画像処理に伴う画像のノイズ変動を抑制した画像処理システムを提供することができる。
【実施例３】
【００６９】
次に、本発明の実施例３における画像処理システムに関して説明する。本実施例の画像処理システムは、画像推定装置に対して画像処理の対象である撮像画像を送信し処理済みの出力画像を画像推定装置から受信する処理装置（コンピュータ）を有する点で、実施例１および実施例２と異なる。
【００７０】
図１２は、本実施例における画像処理システム６００のブロック図である。画像処理システム６００は、学習装置６０１、撮像装置６０２、画像推定装置６０３、処理装置（コンピュータ）６０４を有する。学習装置６０１および画像推定装置６０３は、例えばサーバである。コンピュータ６０４は、例えばユーザ端末（パーソナルコンピュータまたはスマートフォン）である。コンピュータ６０４は、ネットワーク６０５を介して画像推定装置６０３に接続されている。画像推定装置６０３は、ネットワーク６０６を介して学習装置６０１に接続されている。すなわち、コンピュータ６０４と画像推定装置６０３は通信可能に構成され、画像推定装置６０３と学習装置６０１は通信可能に構成されている。コンピュータ６０４は第１の装置に相当し、画像推定装置６０３は第２の装置に相当する。なお学習装置６０１の構成は、実施例１の学習装置１０１と同様のため説明を省略する。撮像装置６０２の構成は、実施例１の撮像装置１０２と同様のため説明を省略する。
【００７１】
画像推定装置６０３は、記憶部６０３ａ、取得部６０３ｂ、ぼけ補正部６０３ｃ、デノイズ部６０３ｄ、通信部（受信手段）６０３ｅを有する。記憶部６０３ａ、取得部６０３ｂ、ぼけ補正部６０３ｃ、デノイズ部６０３ｄのそれぞれは、実施例１の画像推定装置１０３の記憶部１０３ａ、取得部１０３ｂ、ぼけ補正部１０３ｃ、デノイズ部１０３ｄと同様である。通信部６０３ｅはコンピュータ６０４から送信される要求を受信する機能と、画像推定装置６０３によって生成された出力画像をコンピュータ６０４に送信する機能を有する。
【００７２】
コンピュータ６０４は、通信部（送信手段）６０４ａ、表示部６０４ｂ、画像処理部６０４ｃ、記録部６０４ｄを有する。通信部６０４ａは撮像画像に対する処理を画像推定装置６０３に実行させるための要求を画像推定装置６０３に送信する機能と、画像推定装置６０３によって処理された出力画像を受信する機能を有する。表示部６０４ｂは種々の情報を表示する機能を有する。表示部６０４ｂによって表示される情報は、例えば画像推定装置６０３に送信する撮像画像と、画像推定装置６０３から受信した出力画像を含む。画像処理部６０４ｃは画像推定装置６０３から受信した出力画像に対してさらに画像処理を施す機能を有する。記録部６０４ｄは、撮像装置６０２から取得した撮像画像、画像推定装置６０３から受信した出力画像等を記録する。
【００７３】
次に、図１３を参照して、本実施例における画像処理について説明する。本実施例における画像処理は、実施例１に説明したぼけ補正処理（図５）と同等である。図１３は、出力画像の生成に関するフローチャートである。図１３に示した画像処理は、コンピュータ６０４を介してユーザにより画像処理開始の指示が成されたことを契機として開始される。まず、コンピュータ６０４における動作について説明する。
【００７４】
ステップＳ７０１において、コンピュータ６０４は撮像画像に対する処理の要求を画像推定装置６０３へ送信する。なお、処理対象である撮像画像を画像推定装置６０３に送信する方法は問わない。例えば、撮像画像はステップＳ７０１と同時に画像推定装置６０３にアップロードされても良いし、ステップＳ７０１以前に画像推定装置６０３にアップロードされていても良い。また、撮像画像は画像指定装置６０３とは異なるサーバ上に記憶された画像でも良い。なお、ステップＳ７０１において、コンピュータ６０４は撮像画像に対する処理の要求と共に、ユーザを認証するＩＤ情報等を送信しても良い。
【００７５】
ステップＳ７０２において、コンピュータ６０４は画像推定装置６０３内で生成された出力画像を受信する。出力画像は実施例１と同様に撮像画像に対してぼけ補正が成された画像である。
【００７６】
次に、画像推定装置６０３の動作について説明する。ステップＳ８０１において、画像推定装置６０３はコンピュータ６０４から送信された撮像画像に対する処理の要求を受信する。画像推定装置６０３は、撮像画像に対する処理（ぼけ補正処理）が指示されたと判断し、ステップＳ８０２以降の処理を実行する。
【００７７】
ステップＳ８０２では、画像推定装置６０３はウエイト情報を取得する。ウエイト情報は実施例１と同様の方法（図４）で学習された情報（学習済みモデル）である。画像推定装置６０３は、学習装置６０１からウエイト情報を取得しても良いし、予め学習装置６０１から取得され記憶部６０３ａに記憶されたウエイト情報を取得しても良い。ステップＳ８０３〜ステップＳ８０５は、実施例１のステップＳ２０２〜Ｓ２０４と同様である。ステップＳ８０６において、画像推定装置６０３は、出力画像をコンピュータ６０４へ送信する。
【００７８】
本実施例は、実施例１のぼけ補正処理を行うものとして説明したが、実施例２の霞除去処理（図１０）においても同様に適用することができる。なお本実施例では、ぼけ補正の強度の調整とデノイズ（ノイズ低減）処理は共に画像推定装置６０３内で行われる例について述べるたが、ぼけ補正の強度の調整とデノイズ処理はコンピュータ６０４の画像処理部６０４ｃ内で行っても良い。本実施例のように、デノイズ処理を画像推定装置６０３内で行う場合、デノイズ処理による処理負荷を画像推定装置６０３内で担うことができるため、コンピュータ６０４側に求められる処理能力を減じることができる。また、デノイズ処理をコンピュータ６０４の画像処理部６０４ｃで行う場合、ユーザはデノイズ処理を行うたびに画像推定装置６０３と通信を行わなくて済むようになる。
【００７９】
以上のように、本実施例のように、画像推定装置６０３を、画像推定装置６０３と通信可能に接続されたコンピュータ６０４を用いて制御するように構成しても良い。
【００８０】
このように各実施例において、画像処理装置（学習装置１０１、３０１）は、取得手段（取得部１０１ｂ、３１２）、生成手段（生成部１０１ｃ、３１３）、および、学習手段（更新部１０１ｄ、３１４）を有する。取得手段は、第１の工程において、第１の正解画像と第１の訓練画像を取得する。生成手段は、第２の工程において、第１の正解画像と第１の訓練画像のそれぞれに対して互いに相関のあるノイズを付与することで、第２の正解画像と第２の訓練画像を生成する。学習手段は、第３の工程において、第２の正解画像と第２の訓練画像に基づいて、多層のニューラルネットワークを学習する。
【００８１】
好ましくは、第２の工程において、第１の正解画像と第１の訓練画像のそれぞれの対応画素に対して相関のあるノイズを付与することで第２の正解画像と第２の訓練画像が生成される。より好ましくは、対応画素は、第１の正解画像と第１の訓練画像のそれぞれにおいて、被写体空間の同一の位置を撮像した画素である。また好ましくは、対応画素は、第１の正解画像と第１の訓練画像における同一の位置の画素である。
【００８２】
好ましくは、ノイズは、同一の乱数に基づくノイズである。また好ましくは、乱数は、第１の正解画像における少なくとも２つの画素に対して異なる値である。また好ましくは、ノイズのうち第１の正解画像に付与されるノイズは、第１の正解画像における画素の信号値に基づいて決定され、ノイズのうち第１の訓練画像に付与されるノイズは、第１の訓練画像における画素の信号値に基づいて決定される。また好ましくは、ノイズの分散は、第１の正解画像と第１の訓練画像のそれぞれにおける画素の信号値に比例する比例成分と、定数成分とを含む。
【００８３】
好ましくは、第１の正解画像と第１の訓練画像に付与されるノイズは、同一である。より好ましくは、ノイズは、第１の訓練画像における画素の信号値に基づいて決定される。また好ましくは、学習手段は、多層のニューラルネットワークに、第２の訓練画像の少なくとも一部と、ノイズに基づいて生成されたノイズとは異なるノイズに基づいて生成されたノイズ参照パッチとを入力する。そして学習手段は、出力された推定パッチと第２の正解画像の少なくとも一部とを比較する。
【００８４】
好ましくは、第１の正解画像と第１の訓練画像はそれぞれ、同一の原画像に対して異なる処理を実行することで生成（シミュレーションで作成）された画像である。また好ましくは、第１の訓練画像は、第１の正解画像よりも、解像度、コントラスト、および、明るさの少なくとも１つが低い。また好ましくは、第１の正解画像と第１の訓練画像は、同一の原画像に基づいて生成された画像である。第１の訓練画像は、原画像に対してダウンサンプリング処理、ぼかし処理、コントラスト低減処理、および、明るさ低減処理の少なくとも１つが実行された画像である。より好ましくは、学習手段は、アップサンプリング処理、ぼけ除去処理、コントラスト向上処理、および、明るさ向上処理の少なくとも１つの機能を多層のニューラルネットワークが具備するように、多層のニューラルネットワークを学習する。好ましくは、第１の正解画像と第１の訓練画像はそれぞれ、同一の原画像の少なくとも一部に対し、異なるぼけを付与することで生成された画像である。また好ましくは、第１の正解画像と第１の訓練画像はそれぞれ、同一の法線マップに対し、異なる光源環境でのレンダリングを行うことで生成された画像である。
【００８５】
また各実施例において、画像処理装置（画像推定装置１０３、画像推定部３２３）は、推定手段（ぼけ補正部１０３ｃ、推定部３２３ｂ）および処理手段（デノイズ部１０３ｄ、推定部３２３ｂ）を有する。推定手段は、撮像画像を多層のニューラルネットワークへ入力し、高解像化処理、高コントラスト化処理、および、明るさ向上処理の少なくとも１つが施された推定画像を生成する。処理手段は、推定画像に基づく画像に対してノイズ低減処理を実行する。好ましくは、撮像画像におけるノイズ量と推定画像におけるノイズ量は、略同一である。ここで略同一とは、ノイズ量が厳密に同一である場合だけでなく、ノイズ量が実質的に同一（同等）と評価される場合を含む意味である。また好ましくは、多層のニューラルネットワークは、第１の工程と第２の工程と第３の工程とを含む学習方法により学習された学習済みモデルに基づく。
【００８６】
また各実施例において、画像処理システムは、第１の装置と、第１の装置と通信可能な第２の装置を含む。第１の装置は、撮像画像に対する処理を第２の装置に実行させるための要求を送信する送信手段を有する。第２の装置は、送信手段によって送信された要求を受信する受信手段と、撮像画像を多層のニューラルネットワークへ入力し、高解像化処理、高コントラスト化処理、および、明るさ向上処理の少なくとも１つが施された推定画像を生成する推定手段を有する。第１の装置または第２の装置の少なくとも一方は、推定画像に基づく画像に対してノイズ低減処理を実行するノイズ低減手段と、をさらに有する。
【００８７】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８８】
各実施例によれば、画像処理に伴う画像のノイズの変動を抑制することが可能な画像処理方法、画像処理装置、プログラム、および、記憶媒体を提供することができる。
【００８９】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００９０】
１０１  学習装置（画像処理装置）
１０１ｂ  取得部（取得手段）
１０１ｃ  生成部（生成手段）
１０１ｄ  更新部（学習手段）
【図１】
2020144489.tif 000006
【図２】
2020144489.tif 000007
【図３】
2020144489.tif 000008
【図４】
2020144489.tif 000009
【図５】
2020144489.tif 000010
【図６】
2020144489.tif 000011
【図７】
2020144489.tif 000012
【図８】
2020144489.tif 000013
【図９】
2020144489.tif 000014
【図１０】
2020144489.tif 000015
【図１１】
2020144489.tif 000016
【図１２】
2020144489.tif 000017
【図１３】
2020144489.tif 000018