(57)【要約】【課題】移動被写体が存在する場合でも、撮影画像から擾乱による劣化を高精度に推定することが可能な画像処理方法を提供する。【解決手段】画像処理方法は、擾乱により劣化した入力画像の少なくとも一部の領域を取得する工程と、擾乱に関して予め学習された学習情報を取得する工程と、領域と前記学習情報とを用いて領域における劣化を推定または補正する工程とを有し、前記劣化を推定または補正する工程は、Ｎを２以上の整数、ｎを１からＮまでの整数とするとき、領域に対して、学習情報に基づく複数の線型関数のそれぞれによる第ｎ線型変換と、非線型関数による第ｎ非線型変換とをｎが１からＮになるまで順に実行することで中間データを生成する工程と、中間データに対して、学習情報に基づく少なくとも１つの線型関数による第Ｎ＋１線型変換を実行する工程とを有する。【選択図】図１
2018055516.tif 000002
【特許請求の範囲】
【請求項１】
擾乱により劣化した入力画像の少なくとも一部の領域を取得する工程と、
前記擾乱に関して予め学習された学習情報を取得する工程と、
前記領域と前記学習情報とを用いて、該領域における劣化を推定または補正する工程と、を有し、
前記劣化を推定または補正する工程は、Ｎを２以上の整数、ｎを１からＮまでの整数とするとき、
前記領域に対して、前記学習情報に基づく複数の線型関数のそれぞれによる第ｎ線型変換と、非線型関数による第ｎ非線型変換とをｎが１からＮになるまで順に実行することで中間データを生成する工程と、
前記中間データに対して、前記学習情報に基づく少なくとも１つの線型関数による第Ｎ＋１線型変換を実行する工程と、を有することを特徴とする画像処理方法。
【請求項２】
前記擾乱による劣化の大きさを取得する工程を更に有し、
前記領域のサイズまたは前記学習情報は、前記劣化の大きさに基づいて決定されることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記擾乱による劣化の大きさは、前記入力画像とは異なる時間に撮影された画像、または、該入力画像とは異なる視点から撮影された画像を用いて取得されることを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記擾乱による劣化の大きさは、前記入力画像の撮影時における周囲の環境に関する情報に基づいて取得されることを特徴とする請求項２または３に記載の画像処理方法。
【請求項５】
前記第ｎ線型変換（ｎ＝１〜Ｎ）のそれぞれは、前記学習情報に基づく複数のフィルタの各々とのコンボリューションを含むことを特徴とする請求項２乃至４のいずれか一項に記載の画像処理方法。
【請求項６】
前記領域における前記劣化を補正する工程において、前記第Ｎ＋１線型変換は、前記学習情報に基づくフィルタとのコンボリューションを含むことを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記第ｎ線型変換（ｎ＝１〜Ｎ）および前記第Ｎ＋１線型変換のそれぞれにおける前記フィルタのサイズは、前記擾乱による前記劣化の大きさに基づいて決定されることを特徴とする請求項６に記載の画像処理方法。
【請求項８】
前記入力画像の画素に対する前記擾乱による劣化の大きさをｄ、前記第ｎ線型変換（ｎ＝１〜Ｎ）および前記第Ｎ＋１線型変換のそれぞれにおける前記フィルタの１次元サイズをｓｍ（ｍ＝１〜Ｎ＋１）とするとき、
2018055516.tif 000008
なる条件式を満たすことを特徴とする請求項６または７に記載の画像処理方法。
【請求項９】
前記学習情報は、同一の被写体が存在する少なくとも一対の学習画像を用いて学習された情報であり、
前記一対の学習画像は、前記擾乱により劣化した画像と、該擾乱により劣化していない画像を含むことを特徴とする請求項１乃至８のいずれか１項に記載の画像処理方法。
【請求項１０】
前記学習画像のうち前記擾乱により劣化していない前記画像は、前記被写体を互いに異なる時間で撮影した複数の画像、または、該被写体を互いに異なる視点から撮影した複数の画像を平均化して、ブラインドデコンボリューションを実行した画像であることを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
前記複数の画像は、前記擾乱による影響を除いて、時間または視点に応じて変化する被写体を含まないことを特徴とする請求項１０に記載の画像処理方法。
【請求項１２】
前記入力画像または前記領域の解像力を判定する工程を更に有し、
前記解像力が所定の閾値以下の場合、前記劣化を推定または補正する工程は、前記入力画像または前記領域に対してブラインドデコンボリューションを実行した後に実行されることを特徴とする請求項１乃至１１のいずれか一項に記載の画像処理方法。
【請求項１３】
擾乱に関する学習情報を記憶する記憶部と、
前記擾乱により劣化した入力画像の少なくとも一部の領域と、前記学習情報とを用いて、該領域における劣化を推定または補正する画像処理部と、を有し、
前記画像処理部は、Ｎを２以上の整数、ｎを１からＮまでの整数とするとき、
前記領域に対して、前記学習情報に基づく複数の線型関数のそれぞれによる第ｎ線型変換と、非線型関数による第ｎ非線型変換とをｎが１からＮになるまで順に実行することで中間データを生成し、
前記中間データに対して、前記学習情報に基づく少なくとも１つの線型関数による第Ｎ＋１線型変換を実行する、ことを特徴とする画像処理装置。
【請求項１４】
被写体空間の像を入力画像として取得する撮像部と、
請求項１３に記載の画像処理装置と、を有することを特徴とする撮像装置。
【請求項１５】
請求項１乃至１２のいずれか１項に記載の画像処理方法をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項１６】
請求項１５に記載の画像処理プログラムを記憶していることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、擾乱により生じた撮影画像の劣化を推定または補正する画像処理方法に関する。
【背景技術】
【０００２】
表示装置の高精細化に伴い、撮影画像の更なる高画質化が望まれている。しかし、撮影画像は、撮像装置と被写体との間に存在する媒質の揺らぎ（擾乱）により劣化する。例えば、炎天下における撮影や遠方の被写体を撮影する場合、大気の揺らぎによって、撮影画像は劣化する。また、大気中から水中を撮影する場合の水面の揺らぎや、撮像装置と被写体とが共に水中に存在する場合の水の揺らぎなども、擾乱による劣化として挙げられる。擾乱は、被写体空間中に屈折率の異なる界面を生成するため、この界面で光が屈折して被写体像の形状が歪む（直線が曲線になるなど）。これを像面上の歪みと呼ぶ。また、被写体空間中に屈折率の異なる界面が存在するということは、その界面にレンズが配置されていることと同義であるため、被写体像の結像性能にも影響を与える。具体的には、合焦位置のずれや、合焦位置における結像性能の劣化が発生する。これらを光学性能の劣化と呼ぶ。これらの劣化（像面上の歪みと光学性能の劣化）は、擾乱により発生する屈折率の界面が未知であるため、補正または推定することが困難である。
【０００３】
特許文献１には、擾乱による劣化の対策として、非剛体レジストレーション（ｎｏｎ−ｒｉｇｉｄ  ｒｅｇｉｓｔｒａｔｉｏｎ）を用いる手法が開示されている。非剛体レジストレーションとは、像面上の歪みが発生した画像を、局所領域ごとに、歪みのない参照画像と位置合わせし、歪みを推定または補正する手法である。参照画像は、例えば、互いに異なる時間に撮影された複数の画像を時間平均することで取得される。これは、擾乱による像面上の歪みは時間によって連続的に変化し、その変化の時間平均値がゼロになるという仮定に基づく。平均値（時間平均値）がゼロの場合、擾乱による歪みはある時間の中でゼロ近傍になる頻度が最も高いため、時間平均によって像面上の歪みが補正される。ただし、時間平均した参照画像はぼけるため、像面上の歪みのある画像を局所領域ごとに変形することで、歪みのない高解像な画像を得る。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１４／０１０５５１５号明細書
【非特許文献】
【０００５】
【非特許文献１】Ｙ．ＬｅＣｕｎ，ｅｔ  ａｌ．“Ｇｒａｄｉｅｎｔ−ｂａｓｅｄ  Ｌｅａｒｎｉｎｇ  Ａｐｐｌｉｅｄ  ｔｏ  Ｄｏｃｕｍｅｎｔ  Ｒｅｃｏｇｎｉｔｉｏｎ”，Ｐｒｏｃ．  ｏｆ  Ｔｈｅ  ＩＥＥＥ，１９９８．
【非特許文献２】Ｇ．Ｅ．Ｈｉｎｔｏｎ，ｅｔ  ａｌ．“Ａ  ｆａｓｔ  ｌｅａｒｎｉｎｇ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｄｅｅｐ  ｂｅｌｉｅｆ  ｎｅｔｓ”，  Ｎｅｕｒａｌ  Ｃｏｍｐｕｔ．２００６  Ｊｕｌ；１８（７）：１５２７−５４．
【非特許文献３】Ｉ．Ｊ．Ｇｏｏｄｆｅｌｌｏｗ，ｅｔ  ａｌ．，“Ｍａｘｏｕｔ  ｎｅｔｗｏｒｋｓ”，ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ａｒＸｉｖ：１３０２．４３８９（２０１３）．
【非特許文献４】Ｇ．Ｅ．Ｈｉｎｔｏｎ  ＆  Ｒ．Ｒ．Ｓａｌａｋｈｕｔｄｉｎｏｖ（２００６−０７−２８）．“Ｒｅｄｕｃｉｎｇ  ｔｈｅ  Ｄｉｍｅｎｓｉｏｎａｌｉｔｙ  ｏｆ  Ｄａｔａ  ｗｉｔｈ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ”，Ｓｃｉｅｎｃｅ  ３１３（５７８６）：５０４−５０７．
【非特許文献５】Ｎ．Ｓｒｉｖａｓｔａｖａ，ｅｔ  ａｌ．，“Ｄｒｏｐｏｕｔ：Ａ  ｓｉｍｐｌｅ  ｗａｙ  ｔｏ  ｐｒｅｖｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ  ｆｒｏｍ  ｏｖｅｒｆｉｔｔｉｎｇ”，Ｔｈｅ  Ｊｏｕｒｎａｌ  ｏｆ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  Ｒｅｓｅａｒｃｈ，１５（１）：１９２９-１９５８，２０１４．
【非特許文献６】Ａ．Ｋｒｉｚｈｅｖｓｋｙ，“Ｌｅａｒｎｉｎｇ  Ｍｕｌｔｉｐｌｅ  Ｌａｙｅｒｓ  ｏｆ  Ｆｅａｔｕｒｅｓ  ｆｒｏｍ  Ｔｉｎｙ  Ｉｍａｇｅｓ”，２００９，ｈｔｔｐｓ：／／ｗｗｗ．ｃｓ．ｔｏｒｏｎｔｏ．ｅｄｕ／〜ｋｒｉｚ／ｌｅａｒｎｉｎｇ−ｆｅａｔｕｒｅｓ−２００９−ＴＲ．ｐｄｆ
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された手法では、擾乱による光学性能の劣化に対応することができない。非剛体レジストレーションは、画像の局所領域ごとに位置合わせを行うため、参照画像と擾乱による劣化画像との間でマッチングを行う必要がある。像面上の歪みは、被写体の空間周波数成分を減少させることはないため、画像にエッジが残存し、マッチングを行うことができる。しかし、光学性能の劣化は、被写体の空間周波数成分を失わせるため、マッチングの精度が低下する。
【０００７】
また非剛体レジストレーションは、参照画像を用意する必要があるため、被写体が既知である場合を除いて、擾乱の異なる複数の画像を用意しなければならない。このため、複数の画像として互いに時間（撮影タイミング）の異なる画像を使用する場合、時間変化する被写体には対応できない。
【０００８】
そこで本発明は、移動被写体が存在する場合でも、撮影画像から擾乱による劣化（像面上の歪みと光学性能の劣化）を高精度に推定または補正することが可能な画像処理方法、画像処理装置、撮像装置、画像処理プログラム、および、記憶媒体を提供する。
【課題を解決するための手段】
【０００９】
本発明の一側面としての画像処理方法は、擾乱により劣化した入力画像の少なくとも一部の領域を取得する工程と、前記擾乱に関して予め学習された学習情報を取得する工程と、前記領域と前記学習情報とを用いて、該領域における劣化を推定または補正する工程とを有し、前記劣化を推定または補正する工程は、Ｎを２以上の整数、ｎを１からＮまでの整数とするとき、前記領域に対して、前記学習情報に基づく複数の線型関数のそれぞれによる第ｎ線型変換と、非線型関数による第ｎ非線型変換とをｎが１からＮになるまで順に実行することで中間データを生成する工程と、前記中間データに対して、前記学習情報に基づく少なくとも１つの線型関数による第Ｎ＋１線型変換を実行する工程とを有する。
【００１０】
本発明の他の側面としての画像処理装置は、擾乱に関する学習情報を記憶する記憶部と、前記擾乱により劣化した入力画像の少なくとも一部の領域と、前記学習情報とを用いて、該領域における劣化を推定または補正する画像処理部とを有し、前記画像処理部は、Ｎを２以上の整数、ｎを１からＮまでの整数とするとき、前記領域に対して、前記学習情報に基づく複数の線型関数のそれぞれによる第ｎ線型変換と、非線型関数による第ｎ非線型変換とをｎが１からＮになるまで順に実行することで中間データを生成し、前記中間データに対して、前記学習情報に基づく少なくとも１つの線型関数による第Ｎ＋１線型変換を実行する。
【００１１】
本発明の他の側面としての撮像装置は、被写体空間の像を入力画像として取得する撮像部と、前記画像処理装置とを有する。
【００１２】
本発明の他の側面としての画像処理プログラムは、前記画像処理方法をコンピュータに実行させる。
【００１３】
本発明の他の側面としての記憶媒体は、前記画像処理プログラムを記憶している。
【００１４】
本発明の他の目的及び特徴は、以下の実施例において説明される。
【発明の効果】
【００１５】
本発明によれば、移動被写体が存在する場合でも、撮影画像から擾乱による劣化を高精度に推定または補正することが可能な画像処理方法、画像処理方法、撮像装置、画像処理プログラム、および、記憶媒体を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】実施例１および実施例２における劣化補正のネットワーク構造を示す図である。
【図２】実施例１および実施例３における撮像装置のブロック図である。
【図３】実施例１および実施例３における撮像装置の外観図である。
【図４】実施例１における劣化補正を示すフローチャートである。
【図５】実施例１における学習情報の学習を示すフローチャートである。
【図６】実施例２における画像処理システムのブロック図である。
【図７】実施例２における画像処理システムの外観図である。
【図８】実施例２における劣化補正を示すフローチャートである。
【図９】実施例３における劣化推定を示すフローチャートである。
【図１０】実施例３における劣化推定のネットワーク構造を示す図である。
【図１１】実施例３における学習情報の学習を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照符号を付し、重複する説明は省略する。
【００１８】
まず、実施例の具体的な説明を行う前に、本発明の要旨を述べる。本発明では、ディープラーニング（深層学習）を用いて、撮影画像から擾乱による劣化を推定または補正する。ここで擾乱とは、撮像装置と被写体との間に存在する媒質の揺らぎであり、大気の揺らぎや水の揺らぎなどが含まれる。擾乱による劣化には、像面上の歪みと光学性能の劣化とが含まれる。
【００１９】
擾乱により劣化した画像と、擾乱により劣化していない画像とを用いて、それらの画像の対応関係をディープラーニングにより学習することにより、擾乱による劣化を高精度に推定または補正することができる。また、学習の際に入力する劣化画像が１枚になるようにネットワーク構造を設定すれば、劣化を推定または補正しようとする被写体に対して、擾乱の異なる複数の画像を撮影する必要がない。その結果、移動被写体にも対応することが可能となる。
【実施例１】
【００２０】
まず、図２および図３を参照して、本発明の実施例１における撮像装置について説明する。図２は、撮像装置１００のブロック図である。図３は、撮像装置１００の外観図である。本実施例において、撮像装置１００は、画像処理方法を実行し、擾乱による劣化をディープラーニングにより補正する。
【００２１】
撮像装置１００は、被写体空間の像を撮影画像（入力画像）として取得する撮像部１０１を有する。撮像部１０１は、被写体空間から入射する光を集光する結像光学系１０１ａと、複数の画素を有する撮像素子１０１ｂとを有する。撮像素子１０１ｂは、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）センサやＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサである。撮像素子１０１ｂで取得された撮影画像には、被写体空間に存在する媒質の揺らぎ（擾乱）による劣化のため、被写体の形状の歪みや空間周波数成分の減衰が発生している。このため、撮影画像を劣化画像とも呼ぶ。
【００２２】
画像処理部１０２は、撮影画像（入力画像）に対して、擾乱による劣化を補正する。画像処理部１０２は、学習部１０２ａと補正部１０２ｂとを有する。記憶部１０３は、画像処理部１０２による劣化補正の際に用いられる学習情報（擾乱に関して予め学習された学習情報）を記憶している。画像処理（劣化補正）の詳細については後述する。画像処理部１０２により補正された画像（補正画像）は、液晶ディスプレイなどの表示部１０４に表示されるか、または、記録媒体１０５に保存される。ただし、劣化画像を記録媒体１０５に保存し、任意のタイミングで劣化（劣化画像）を補正してもよい。撮影画像は、静止画だけでなく動画であってもよい。この場合、各フレームに対して劣化の補正を行う。以上の一連の制御は、システムコントローラ１０６により行われる。
【００２３】
次に、図４を参照して、擾乱による劣化の補正（画像処理部１０２による劣化補正）について説明する。画像処理部１０２は、劣化補正の際に、擾乱に関して事前に学習された学習情報を用いるが、この学習の詳細については後述する。図４は、擾乱による劣化を補正するフローチャートである。図４の各ステップは、主に、画像処理部１０２の補正部１０２ｂにより実行される。
【００２４】
まずステップＳ１０１において、画像処理部１０２（補正部１０２ｂ）は、擾乱による劣化画像（撮影画像、入力画像）と学習情報とを取得する。学習情報とは、劣化画像と補正画像（擾乱による劣化が補正された画像）とを結び付けるために予め学習された情報である。続いてステップＳ１０２において、補正部１０２ｂは、劣化画像から、劣化画像の少なくとも一部の領域（部分領域）を取得する。劣化補正は、この領域（部分領域）を単位として（部分領域ごとに）行われる。
【００２５】
続いてステップＳ１０３において、補正部１０２ｂは、学習情報を用いて部分領域から擾乱による劣化を補正した補正部分領域（補正領域）を生成する。ここで、図１を参照して、劣化補正について詳述する。図１は、ディープラーニングの１つであるＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）のネットワーク構造を示している。ただし、ディープラーニングとして、ＣＮＮ以外の手法、例えばＤＢＮ（Ｄｅｅｐ  Ｂｅｌｉｅｆ  Ｎｅｔｗｏｒｋ）を用いても構わない。ＣＮＮおよびＤＢＮの詳細はそれぞれ、非特許文献１および非特許文献２に説明されている。
【００２６】
ＣＮＮは、複数の層構造になっており、各層で学習情報を用いた線型変換と非線型変換とが実行される。ｎを１からＮまでの整数とするとき、ｎ番目の層を第ｎ層、第ｎ層における線型変換と非線型変換とをそれぞれ、第ｎ線型変換と第ｎ非線型変換と呼称する。ただし、Ｎは２以上の整数である。部分領域２０１に関しては、第１層において、複数のフィルタ２０２のそれぞれとのコンボリューション（複数の線型関数による第１線型変換）が実行される。その後、活性化関数（Ａｃｔｉｖａｔｉｏｎ  Ｆｕｎｃｔｉｏｎ）と呼ばれる非線型関数を用いて変換（第１非線型変換）が実行される。図１において、活性化関数をＡＦとして示している。また、部分領域２０１が複数枚描画されているのは、入力画像（撮影画像）が複数のチャンネルを有するためである。本実施例において、部分領域はＲＧＢ（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅ）の３チャンネルを有する。ただし、チャンネルの数はこれに限定されるものではない。また、部分領域がＲＧＢの３チャンネルを有する場合でも、１チャンネルごとに個別にＣＮＮへ入力しても構わない。
【００２７】
フィルタ２０２は複数存在する。補正部１０２ｂは、複数のフィルタ２０２のそれぞれと部分領域２０１とのコンボリューションを個別に算出する。フィルタ２０２の係数は、学習情報に基づいて決定される。学習情報は、フィルタ２０２の係数（フィルタ係数）そのもの、または、フィルタ２０２を所定の関数でフィッティングした際の係数でもよい。フィルタ２０２のそれぞれのチャンネル数は、部分領域２０１の数と一致する。部分領域２０１のチャンネル数が２以上の場合、３次元フィルタとなる（３次元目がチャンネル数を表す）。また、コンボリューションの結果に対して、学習情報から決定される定数（負もとり得る）を加算してもよい。
【００２８】
活性化関数ｆ（ｘ）の例として、以下の式（１）〜（３）が挙げられる。
【００２９】
【数１】
2018055516.tif 000003
【００３０】
【数２】
2018055516.tif 000004
【００３１】
【数３】
2018055516.tif 000005
【００３２】
式（１）はシグモイド関数、式（２）はハイパボリックタンジェント関数、式（３）はＲｅＬＵ（Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ）と呼ばれる。式（３）中のｍａｘは、引数のうち最大値を出力するＭＡＸ関数を表す。式（１）〜（３）に示される活性化関数ｆ（ｘ）は、全て単調増加関数である。また、活性化関数としてＭａｘｏｕｔを使用してもよい。Ｍａｘｏｕｔは、第ｎ線型変換の出力である複数の画像のうち、各画素で最大値である信号値を出力するＭＡＸ関数である。Ｍａｘｏｕｔの詳細は、非特許文献３に説明されている。
【００３３】
図１において、第１線型変換および第１非線型変換が施された部分領域を、第１変換部分領域２０３と呼称する。第１変換部分領域２０３の各チャンネル成分は、部分領域２０１と複数のフィルタ２０２のそれぞれとのコンボリューションから生成される。このため、第１変換部分領域２０３のチャンネル数は、フィルタ２０２の数と同じになる。
【００３４】
第２層では、第１変換部分領域２０３に対して、第１層と同様に学習情報から決定される複数のフィルタ２０４とのコンボリューション（第２線型変換）と、活性化関数による非線型変換（第２非線型変換）とを行う。第２層で用いられるフィルタ２０４は、一般的に、第１層で用いられるフィルタ２０２と同一ではない。フィルタ２０４のサイズや数も、フィルタ２０４と一致しなくてもよい。ただし、フィルタ２０４のチャンネル数と第１変換部分領域２０３のチャンネル数とは互いに一致する。補正部１０２ｂは、同様の演算を第Ｎ層まで繰り返す（第ｎ線型変換および第ｎ非線型変換（ｎ＝１〜Ｎ）を実行する）ことにより、中間データ２１０を取得する。
【００３５】
最後に、第Ｎ＋１層において、中間データ２１０と複数のフィルタ２１１のそれぞれとのコンボリューションに定数を加算すること（第Ｎ＋１線型変換）により、擾乱による劣化が補正された補正部分領域２１２が取得される。ここで用いられるフィルタ２１１および定数もそれぞれ、学習情報に基づいて決定される。補正部分領域２１２のチャンネル数は、部分領域２０１と同じである。このため、フィルタ２１１の数も部分領域２０１のチャンネル数と同じである。補正部分領域２１２の各チャンネルの成分は、中間データ２１０とフィルタ２１１のそれぞれ（フィルタ２１１が１つの場合もある）とのコンボリューションを含む演算から求められる。なお、部分領域２０１と補正部分領域２１２とのサイズは互いに一致しなくてもよい。コンボリューションの際に、部分領域２０１の外側にはデータが存在しないため、データの存在する領域のみで演算すると、コンボリューション結果はサイズが小さくなる。ただし、周期境界条件などを設定することにより、サイズを保つこともできる。なお本実施例において、第ｎ線型変換（ｎ＝１〜Ｎ）および第Ｎ＋１線型変換のそれぞれに関する各フィルタの係数は、全て異なっている。
【００３６】
ディープラーニングが高い性能を発揮できる理由は、非線型変換を多層構造によって何度も実行することにより、高い非線型性が得られるためである。仮に、非線型変換を担う活性化関数が存在せず、線型変換のみでネットワークが構成されていた場合、いくら多層にしてもそれと等価な単層の線型変換が存在するため、多層構造にする意味がない。ディープラーニングは、より多層にする方が強い非線型を得られるため、高い性能が出やすいと言われている。一般に、少なくとも３層以上を有する場合がディープラーニングと呼ばれる。
【００３７】
続いて、図４のステップＳ１０４において、補正部１０２ｂは、劣化画像のうち所定の領域（部分領域）の全てに対して劣化補正が完了したか否かを判定する。所定の領域の全てに対して補正部分領域２１２が生成されている場合、ステップＳ１０５へ進む。一方、劣化補正が完了していない領域（部分領域）が残っている場合、ステップＳ１０２へ戻り、補正部１０２ｂは、まだ劣化補正されていない部分領域を劣化画像から取得する。
【００３８】
ステップＳ１０５において、補正部１０２ｂは、補正画像を出力する。補正画像は、生成された複数の補正部分領域２１２を合成することにより生成される。ただし、部分領域が劣化画像の全体である場合、補正部１０２ｂは、補正部分領域２１２をそのまま補正画像として出力する。以上の処理により、擾乱による劣化を補正した画像（補正画像）を取得することができる。
【００３９】
なお本実施例では、劣化画像（入力画像）および補正画像（出力画像）が共に１枚の場合を説明した。しかし、本実施例はこれに限定されるものではない。例えば、複数の劣化画像（複数の入力画像）を入力し、複数の劣化画像のそれぞれの劣化を補正した複数の補正画像（複数の出力画像）が一括で取得することができるように、ＣＮＮのネットワークを構成してもよい。また、時間または視点の互いに異なる複数の劣化画像を入力し、１枚の補正画像を取得するように構成してもよい。擾乱は時間変化し、また視点によっても光の経路が変化することから擾乱の影響が変化する。同一の被写体に対して互いに異なる劣化が生じた複数の画像を入力することにより、補正精度を向上することができる。ただし、時間的に異なる画像を入力する場合、被写体が移動している場合に精度が低下する。
【００４０】
次に、図５を参照して、本実施例における学習情報の学習について説明する。図５は、学習情報の学習を示すフローチャートである。図５の各ステップは、主に、画像処理部１０２の学習部１０２ａにより行われる。ただし本実施例はこれに限定されるものではなく、学習情報の学習は、劣化補正前であれば、撮像装置１００とは別の装置（演算装置）に設けられた学習部で行ってもよい。本実施例では、撮像装置１００の学習部１０２ａが学習情報を学習する場合について説明する。
【００４１】
まずステップＳ２０１において、学習部１０２ａは、少なくとも一対の学習画像を取得する。一対の学習画像とは、同一の被写体が存在する画像であって、擾乱により劣化した画像（擾乱のある画像）と、擾乱により劣化していない画像（擾乱のない画像）とを含む。擾乱のある画像は、擾乱のない画像と一対一に対応しているか、または、１枚の擾乱のない画像に対して複数枚存在していてもよい。後者の場合、擾乱のある画像は、擾乱による劣化（劣化の状態）が互いに異なる複数の画像である。
【００４２】
学習画像のうち擾乱のない画像は、様々な周波数成分を含むことが好ましい。例えば、学習画像にエッジがない場合、歪んだ、または、ぼけたエッジを補正する学習データが存在しないため、エッジに対する劣化補正の効果が充分に得られない可能性がある。学習画像を用意する方法として、シミュレーションを利用するか、または、実写画像を使用してもよい。シミュレーションを行う場合、擾乱のない画像に対して擾乱下の撮像シミュレーションを行うことにより、擾乱のある画像を生成すればよい。実写画像を使用する場合、同一の被写体を擾乱の強弱が異なる条件で撮影した画像を使用すればよい。例えば、擾乱が大気の揺らぎの場合、劣化の強弱は被写体距離や気温などに影響を受ける。または、チャートなどの既知の被写体（擾乱のない画像）を擾乱下で撮影することにより、擾乱のある画像と擾乱のない画像とを含む学習画像を得てもよい。
【００４３】
また、擾乱のある画像に対してディープラーニング以外の手法を用いることで擾乱のない画像を推定し、学習画像を用意してもよい。その例として、同一の被写体を互いに異なる時間または互いに異なる視点で撮影した複数の画像（擾乱のある画像）を用いる方法が挙げられる。時間または視点が互いに異なる（それに応じて擾乱による劣化が異なる）複数の画像を平均化し、像面上の歪みが補正された画像を得る。光学性能の劣化と平均化によるぼけは、ブラインドデコンボリューションにより補正することで、擾乱のない画像を得ることができる。ただしこの際、擾乱を除いて、時間または視点に応じて変化する被写体は除外しておくことが好ましい。時間が互いに異なる複数の画像の場合、移動被写体が変化する被写体として挙げられる。視点が互いに異なる複数の画像の場合、オクルージョンや、等方的な拡散成分以外の要素（鏡面反射など）がある。また、視差ずれにより画像間でずれている被写体は、視差ずれをキャンセルするようにシフトさせてから平均化する必要がある。
【００４４】
学習時に時間の異なる複数の画像を使用したとしても、入出力がそれぞれ一枚の画像になっているネットワーク構造を設定すれば、実際に劣化補正を行う際には、時間的に異なる画像を取得する必要がない。このため、移動被写体に対しても、擾乱による劣化を高精度に補正することができる。なお、学習画像には様々な擾乱の画像が含まれていることが好ましい。学習画像に含まれない劣化の仕方をしている画像は、高精度に補正することができないためである。また、学習画像は、劣化がある画像と劣化がない画像からなる一対の画像を含んでいればよいが、前述の理由により、劣化がある複数の画像を含むことが好ましい。
【００４５】
続いてステップＳ２０２において、学習部１０２ａは、ステップＳ２０１にて取得した学習画像から、複数の学習ペアを取得する。学習ペアは、学習部分領域（学習領域）と学習劣化部分領域（学習劣化領域）とからなる。学習劣化部分領域は擾乱のある画像から取得され、そのサイズはステップＳ１０２にて取得した劣化画像の部分領域と同じである。学習部分領域は擾乱のない画像から取得され、学習部分領域の中心は画像において学習劣化部分領域の中心と同じ位置である。また、学習部分領域のサイズは、ステップＳ１０３にて生成された補正部分領域と同じである。前述と同様に、学習部分領域と学習劣化部分領域のペア（学習ペア）は、一対一に対応している必要はない。１つの学習部分領域と、複数の学習劣化部分領域とがペア（グループ）になっていてもよい。
【００４６】
続いてステップＳ２０３において、補正部１０２ａは、複数の学習ペア（学習部分領域と学習劣化部分領域）から、学習情報を学習によって取得（生成）する。学習では、劣化補正と同じネットワーク構造を使用する。本実施例では、図１に示されるネットワーク構造に対して学習劣化部分領域を入力し、その出力結果と学習部分領域との誤差を算出する。この誤差が最小となるように、例えば誤差逆伝播法（Ｂａｃｋｐｒｏｐａｇａｔｉｏｎ）などを用いて、第１乃至Ｎ＋１層で用いる複数のフィルタのそれぞれの係数や加算する定数（学習情報）を更新して最適化する。各フィルタの係数および定数の初期値は任意に設定することができ、例えば乱数から決定される。または、各層ごとに初期値を事前学習するＡｕｔｏ  Ｅｎｃｏｄｅｒなどのプレトレーニングを行ってもよい。Ａｕｔｏ  Ｅｎｃｏｄｅｒの詳細は、非特許文献４に説明されている。
【００４７】
学習ペアの全てをネットワーク構造へ入力し、それら全ての情報を使って学習情報を更新する手法をバッチ学習と呼ぶ。ただし、この学習方法は、学習ペアの数が増えるにつれて計算負荷が膨大になる。逆に、学習情報の更新に１つの学習ペアのみを使用し、更新ごとに異なる学習ペアを使用する学習手法をオンライン学習と呼ぶ。この手法は、学習ペアが増えても計算量が増大しないが、１つの学習ペアに存在するノイズの影響を大きく受ける。このため、これら２つの手法の中間に位置するミニバッチ法を用いて学習することが好ましい。ミニバッチ法は、全学習ペアの中から少数を抽出し、それらを用いて学習情報の更新を行う。次の更新では、異なる小数の学習ペアを抽出して使用する。これを繰り返すことにより、バッチ学習とオンライン学習の不利な点を小さくすることができ、高い補正効果を得やすくなる。
【００４８】
続いてステップＳ２０４において、補正部１０２ａは、学習された学習情報を出力する。本実施例において、学習情報は記憶部１０３に記憶される。以上の処理により、移動被写体にも対応可能であって、かつ擾乱による劣化の補正効果が高い学習情報を学習することができる。
【００４９】
また、以上の処理に加えて、ＣＮＮの性能を向上させる工夫を併用してもよい。例えば、ロバスト性の向上のためネットワークの各層において、ドロップアウト（Ｄｒｏｐｏｕｔ）やダウンサンプリングであるプーリング（ｐｏｏｌｉｎｇ）を行ってもよい。または、学習精度の向上のため、学習画像の画素の平均値を０、分散を１に正規化し、隣接する画素の冗長性をなくすＺＣＡホワイトニング（ＺＣＡ  ｗｈｉｔｅｎｉｎｇ）などを併用してもよい。ドロップアウトおよびＺＣＡホワイトニングの詳細はそれぞれ、非特許文献５および非特許文献６に説明されている。
【００５０】
本実施例によれば、移動被写体が存在する場合でも、撮影画像から擾乱による劣化を高精度に補正することが可能な撮像装置を提供することができる。
【実施例２】
【００５１】
次に、本発明の実施例２における画像処理システムについて説明する。本実施例の画像処理システムにおいて、擾乱による劣化を補正する画像処理装置と、劣化画像（撮影画像）を取得する撮像装置、および、学習を行うサーバが個別に設けられている。また本実施例では、擾乱による劣化の大きさを判定することにより、使用する学習情報を切り替える。擾乱による劣化の大きさに応じて、劣化の補正に使用する学習情報を個別に学習して使用することにより、より高精度な補正が可能となる。
【００５２】
図６および図７を参照して、本実施例における画像処理システムについて説明する。図６は、画像処理システム２００のブロック図である。図７は、画像処理システム２００の外観図である。図６および図７に示されるように、画像処理システム２００は、撮像装置３００、画像処理装置３０１、サーバ３０５、表示装置３０８、記録媒体３０９、および、出力装置３１０を備えて構成される。
【００５３】
撮像装置３００の基本構成は、劣化補正と学習情報の学習に関する画像処理部を除いて、図２を参照して説明した撮像装置１００と同様である。撮像装置３００を用いて撮影された劣化画像（撮影画像、入力画像）は、画像処理装置３０１に設けられた記憶部３０２に記憶される。画像処理装置３０１は、ネットワーク３０４と有線または無線で接続されており、ネットワーク３０４を介してサーバ３０５にアクセスすることができる。サーバ３０５は、劣化画像から擾乱による劣化を補正するための学習情報を学習する学習部３０７と、学習情報を記憶する記憶部３０６とを有する。画像処理装置３０１に設けられた補正部３０３（画像処理部）は、サーバ３０５の記憶部３０６からネットワーク３０４を介して学習情報を取得し、劣化画像の擾乱による劣化を補正する。補正部３０３により生成された補正画像は、表示装置３０８、記録媒体３０９、および、出力装置３１０の少なくとも一つに出力される。表示装置３０８は、例えば液晶ディスプレイやプロジェクタである。ユーザは、表示装置３０８を介して、処理途中の画像を確認しながら作業を行うことができる。記録媒体３０９は、例えば半導体メモリ、ハードディスク、ネットワーク上のサーバである。出力装置３１０は、例えばプリンタである。画像処理装置３０１は、必要に応じて現像処理やその他の画像処理を行う機能を有してもよい。
【００５４】
次に、図８を参照して、擾乱による劣化の補正（画像処理装置３０１による劣化補正）について説明する。図８は、擾乱による劣化を補正するフローチャートである。図８の各ステップは、主に、画像処理装置３０１の補正部３０３（画像処理部）により実行される。
【００５５】
まずステップＳ３０１において、補正部３０３は、記憶部３０２から、擾乱により劣化した劣化画像（撮影画像、入力画像）を取得する。続いてステップＳ３０２において、補正部３０３は、劣化画像に作用している擾乱による劣化の大きさを判定する。劣化の大きさとは、像面上の歪みによって被写体像のある点が移動しうる変異量、または、光学性能の劣化によってぼけうるぼけ量を指す。本実施例では、これらの量（変異量、ぼけ量）を画素サイズで除すことにより、画素数に換算する。以下、劣化の大きさを判定する方法として、３つの例を説明する。
【００５６】
第１の例は、時間平均を用いる方法である。例えば、劣化画像と異なる時間で撮影した複数の画像を平均化し、平均化画像からブラインドデコンボリューションなどを用いてＰＳＦ（Ｐｏｉｎｔ  Ｓｐｒｅａｄ  Ｆｕｎｃｔｉｏｎ）を推定する。このＰＳＦの拡がりが、擾乱による劣化の大きさに相当する。または、非剛体レジストレーションを使用し、参照画像と複数の画像のそれぞれとの間の位置ずれ量に基づいて、劣化の大きさを見積もってもよい。ただし、時間平均に用いる複数の画像は、劣化画像と撮影時間が近いことが好ましい。これは例えば、日中と夜間とでは、日光の有無によって擾乱による劣化の大きさが異なるためである。時間平均に用いる複数の画像の撮影時間が劣化画像と近ければ、擾乱の振る舞いは大きく変化しないため、時間平均に劣化画像自身が含まれていなくてもよい。また、複数画像の時間平均に代えて、長時間露光で撮影した画像を用いてもよい。なお、移動被写体など、擾乱を除いて時間変化する成分は、劣化の大きさを見積もる際に除去することが精度確保のために好ましい。
【００５７】
第２の例は、視点の異なる複数の画像を用いる方法である。視点の異なる複数の画像は、例えば、撮像装置３００を多眼構成とすることにより取得することができる。時間の場合と同様に、複数の画像を平均化してブラインドデコンボリューションを利用することにより、劣化の大きさを推定することができる。異なる視点を利用する場合、移動被写体に対しても対応可能であるが、オクルージョンや等方拡散でない成分、視差ずれなどが問題となる。
【００５８】
第３の例は、劣化画像を撮影した際の周囲の環境に関する情報に基づいて、劣化の大きさを見積もる方法である。例えば大気揺らぎは、気温、時刻と天候（太陽光の強度）、海抜高度（大気の濃度）、地面の材質と地面からの高さ（対流）、被写体距離、風速などに応じて変化する。また、重力方向に対する撮像角度（撮像装置３００と被写体との間における大気の濃度変化）も影響する。このため、これらの情報を撮影時の周囲の環境に関する情報として取得し、取得した情報に基づいて擾乱による劣化の大きさを算出する。同様に、水の場合も、水温や水流などの情報を撮影時の周囲の環境として取得する。
【００５９】
また、劣化画像の位置に応じて擾乱の大きさが変化する場合がある。このため、劣化画像内の複数の位置のそれぞれに関して擾乱の大きさを判定し、部分領域の位置に応じて学習情報を切り替えてもよい。アスファルトなどの地面近傍は対流によって、特に擾乱が強くなる。
【００６０】
続いてステップＳ３０３において、補正部３０３は、ステップＳ３０２にて判定された擾乱による劣化の大きさに基づいて、使用するネットワーク構造と学習情報、および、部分領域のサイズを決定する。本実施例において、補正部３０３は、図１に示されるＣＮＮを利用して劣化補正を行う。被写体のある点は、擾乱により移動し、ぼけて撮像されている。その移動量やぼけ量が部分領域のサイズよりも大きいと、補正対象の被写体の情報が欠落してしまうため、高精度な補正を行うことができない。また、ＣＮＮでは各層で複数のフィルタのそれぞれをコンボリューションして劣化補正を行う。このため、それらのフィルタが影響する範囲を合わせた範囲が被写体の移動量やぼけ量よりも小さいと、正しく補正を行うことができない。例えば、全層数が２で、第１層のフィルタサイズが５×５、第２層のフィルタサイズが３×３である場合、ある画素の補正に使用できる範囲は、この画素を中心とした７×７画素である。このため、このネットワーク構造では、擾乱による劣化の大きさが７画素以下になっていない場合、高精度な補正ができない。したがって、劣化の大きさに基づいて、ある画素の補正に使用される範囲（各層のフィルタのサイズに応じて決定される）を決定することが好ましい。
【００６１】
より詳細には、以下の条件式（４）を満たすように、各層のフィルタのサイズを決定することが好ましい。
【００６２】
【数４】
2018055516.tif 000006
【００６３】
条件式（４）において、ｄは劣化画像（入力画像）の画素に対する擾乱による劣化の大きさであり、長さの次元を有する劣化を画素で除した大きさ（画素に対する比）に相当する。Ｎ＋１は全層数である。ｓｍ（ｍ＝１〜Ｎ＋１）は、第ｍ線型変換で使用するフィルタのサイズ（第ｍ線型変換（ｍ＝１〜Ｎ＋１）のそれぞれにおけるフィルタの１次元サイズ）である。第ｍ線型変換で複数のサイズのフィルタが混合して使用される場合、ｓｍは最大のフィルタサイズである。条件式（４）の上限は、ある画素の補正に使用できる範囲が、劣化の大きさ以上であることを示している。一方、条件式（４）の下限は、理論的に超えることができない。
【００６４】
ネットワーク構造は、各層で使用するフィルタのサイズだけでなく、１つの層で使用されるフィルタの数や層数なども含む。高精度な補正を行うためには、擾乱による劣化が大きいほど層数やフィルタの数を増やす必要がある。学習情報は、擾乱による劣化の大きさごとに学習されており、その中から劣化画像に作用している劣化の大きさに対応した学習情報を使用する。これにより、より精度の高い補正が可能となる。学習の詳細に関しては後述する。
【００６５】
続いてステップＳ３０４において、補正部３０３は、劣化画像から部分領域（劣化画像の少なくとも一部の領域）を取得する。続いてステップＳ３０５において、補正部３０３は、ステップＳ３０３にて決定された学習情報に基づいて、補正部分領域（補正領域）を生成する。続いてステップＳ３０６において、補正部３０３は、劣化画像のうち所定の領域（部分領域）の全てに対して劣化補正が完了したか否かを判定する。所定の領域の全てに対して補正が完了した場合、ステップＳ３０７へ進む。一方、劣化補正が完了していない領域（部分領域）が残っている場合、ステップＳ３０４へ戻り、補正部３０３は、まだ劣化補正されていない部分領域（新たな部分領域）を劣化画像から取得する。ステップＳ３０７において、補正部３０３は、補正画像を出力する。
【００６６】
なお、劣化画像中の位置に応じて擾乱による劣化の大きさが大きく異なる場合、補正部３０３は、ステップＳ３０４をステップＳ３０２、Ｓ３０３の前に実行することが好ましい。このとき補正部３０３は、ステップＳ３０２、Ｓ３０３において、劣化画像の局所領域に対して劣化の大きさを取得し、対応する学習情報などを取得する。
【００６７】
また本実施例において、入力画像または部分領域の解像力を判定する工程を追加してもよい。解像力は、空間周波数の特性などから判定することができる。解像力が所定の閾値以下の場合、補正部３０３は、入力画像または部分領域に対してブラインドデコンボリューションを実行した後に劣化補正を行う。この方法は、擾乱による劣化のうち、光学性能の劣化をブラインドデコンボリューションで先に補正し、残りの像面上の歪みをディープラーニングによって補正するものである。ディープラーニングによる補正対象を２種類の劣化要因のうち１つに絞ることで、補正精度が向上する。ここで、像面上の歪みは１枚の画像から補正することがディープラーニング以外の手法で困難であり、逆に光学性能の劣化は可能であることから、前述のように構成することが好ましい。
【００６８】
次に、サーバ３０５の学習部３０７により行われる学習情報の学習に関して説明する。本実施例において、学習部３０７は、擾乱による劣化の大きさに応じて異なる学習情報を学習する。学習方法は、図５を参照して実施例１にて説明した方法と基本的に同様であるが、学習画像の用意の仕方によりその前処理が異なる。
【００６９】
まず、擾乱のある画像と擾乱のない画像とを含む学習画像をシミュレーションによって生成する場合に関して説明する。この場合、劣化の大きさを設定して擾乱のない画像から擾乱のある画像を生成し、一対の学習画像を取得する。学習部３０７は、取得した学習画像に対してステップＳ２０１乃至ステップＳ２０４を実行し、その後、異なる劣化の大きさに対して同様の手順を繰り返す。
【００７０】
次に、擾乱のある画像から擾乱がない画像を求めて、学習画像を生成する場合に関して説明する。この場合、擾乱のない画像を求める際に劣化の大きさが求まるため、これにより学習画像を複数のグループに分ける。グループ分けは画像単位で行うことができる。１枚の擾乱のある画像内で擾乱の大きさが変化している場合、画像を分割してグループ分けを行ってもよい。各グループは劣化の大きさが近い画像が含まれているため、グループごとにステップＳ２０１乃至ステップＳ２０４を実行して、学習情報を生成する。
【００７１】
本実施例によれば、移動被写体が存在する場合でも、撮影画像から擾乱による劣化を高精度に補正することが可能な画像処理システムを提供することができる。
【実施例３】
【００７２】
次に、本発明の実施例３における撮像装置について説明する。本実施例の撮像装置は、劣化画像（撮影画像、入力画像）から擾乱による劣化を推定する。なお、本実施例における撮像装置の構成および外観は、図２および図３を参照して実施例１にて説明した撮像装置１００と同様である。ただし本実施例の撮像装置には、画像処理部として、補正部１０２ｂに代えて推定部が設けられている。
【００７３】
図９を参照して、撮影した劣化画像（入力画像）から擾乱による劣化を推定する処理（劣化推定）について説明する。図９は、劣化推定を示すフローチャートである。図９の各ステップは、主に、画像処理部１０２の推定部（画像処理部）により実行される。
【００７４】
まずステップＳ４０１において、画像処理部１０２（推定部）は、擾乱による劣化画像（撮影画像、入力画像）と学習情報とを取得する。学習情報の学習に関しては後述する。この学習により、劣化画像の部分領域と部分領域に作用している劣化とを結び付ける学習情報が取得されている。続いてステップＳ４０２において、推定部は、劣化画像から、劣化画像の少なくとも一部の領域（劣化を推定するための部分領域）を取得する。本実施例において、推定部は、部分領域に含まれる画素（例えば中心画素）に作用している劣化を、その周辺画素（部分領域に含まれている画素）の情報も利用して推定する。
【００７５】
続いてステップＳ４０３において、推定部は、ステップＳ４０１にて取得した学習情報に基づいて、劣化を推定する。本実施例において、推定部は、図１０に示されるネットワーク構造を使用して推定を行う。図１０は、本実施例における劣化推定のネットワーク構造を示す図である。図１０において、中間データ４１０の生成までの工程は、図１を参照して実施例１で説明した工程と同様であるため、それらの説明を省略する。すなわち、図１０の部分領域４０１、フィルタ４０２、第１変換部分領域４０３、フィルタ４０４、および、中間データ４１０はそれぞれ、図１の部分領域２０１、フィルタ２０２、第１変換部分領域２０３、フィルタ２０４、および、中間データ２１０に相当する。
【００７６】
本実施例では、第Ｎ＋１層における第Ｎ＋１線型変換として、フルコネクション４１１を実行する。フルコネクション４１１は、入力される中間データ４１０の全信号の線型結合をとる。この際、各信号にかかる係数と加算される定数は、学習情報によって決定される。また、係数と定数は複数種類が存在し、それぞれの係数と定数に対して線型結合が計算され、複数の結果が出力される。フルコネクション４１１で出力された複数の値は、活性化関数によって変換され（第Ｎ＋１非線型変換）、ソフトマックス４１２に入力される。ソフトマックス４１２は、以下の式（５）で表されるソフトマックス関数を計算する。
【００７７】
【数５】
2018055516.tif 000007
【００７８】
式（５）において、ベクトルｘは第Ｎ＋１非線型変換で出力された複数の値を成分とする列ベクトル、ベクトルｗは学習情報から決定される係数を成分とした列ベクトルである。ベクトルｗの右肩に付いたＴは、転置を表す。式（５）によって、部分領域４０１に作用している擾乱による劣化が、ＰＳＦ４１３ａ〜４１３ｄ（４１３ｅ以降は省略）のいずれであるかの確率を求めることができる。式（５）のＫはＰＳＦの総数、ｊとｋはＰＳＦの番号を示すインデックスである。図１０中のＰＳＦ４１３ａ〜４１３ｄは一例であり、ＰＳＦ４１３ａは劣化なし、ＰＳＦ４１３ｂ、４１３ｃは像面上の歪み、ＰＳＦ４１３ｄは光学性能の劣化を示している。図１０には描画されていないが、像面上の歪みと光学性能の劣化とが組み合わされたＰＳＦも存在する。また、ＰＳＦに代えて、ＯＴＦ（Ｏｐｔｉｃａｌ  Ｔｒａｎｓｆｅｒ  Ｆｕｎｃｔｉｏｎ）と部分領域とを結び付けてもよい。
【００７９】
続いて、図９のステップＳ４０４において、推定部は、劣化画像のうち所定の領域（部分領域）の全てに対して劣化推定が完了したか否かを判定する。所定の領域の全てに対して推定が完了した場合、ステップＳ４０５へ進む。一方、劣化推定が完了していない領域（部分領域）が残っている場合、ステップＳ４０２へ戻り、推定部は、まだ劣化推定されていない部分領域（新たな部分領域）を劣化画像から取得する。
【００８０】
ステップＳ４０５において、推定部は、所定の領域内の各部分領域における劣化の推定結果を出力する。劣化の推定結果は、擾乱の起きている媒質（大気など）の状態を解析するため、または、劣化画像を補正するために用いることができる。劣化画像の補正を行う場合、ディープラーニング以外の手法を用いてもよい。例えば、像面上の歪みは局所的な幾何変換で補正することができ、光学性能の劣化はデコンボリューションで補正することが可能である。以上の処理により、擾乱により劣化した劣化画像に基づいて、劣化を高精度に推定することができる。
【００８１】
次に、図１１を参照して、本実施例における学習情報の生成に関して説明する。図１１は、学習情報の学習を示すフローチャートである。図１１の各ステップは、主に、画像処理部１０２の学習部１０２ａにより行われる。ただし本実施例はこれに限定されるものではなく、学習情報の学習は、劣化補正前であれば、撮像装置１００とは別の装置（演算装置）に設けられた学習部で行ってもよい。本実施例では、実施例１と同様に、撮像装置１００の学習部１０２ａが学習情報を学習する場合について説明する。
【００８２】
まずステップＳ５０１において、学習部１０２ａは、学習画像を取得する。本実施例では、擾乱のない画像に対してシミュレーションを用いて擾乱による劣化を付与した画像を学習画像とする。学習画像は、単数または複数のいずれでもよい。ただし、様々な大きさや方向の劣化を精度よく推定するには、異なる擾乱による劣化が学習画像に含まれている必要がある。
【００８３】
続いてステップＳ５０２において、学習部１０２ａは、ステップＳ５０１にて取得した学習画像から、複数の学習ペアを取得する。本実施例において、学習ペアは、学習画像（擾乱のある画像）の部分領域（学習劣化部分領域）、および、この部分領域に作用しているＰＳＦに関する情報である。ＰＳＦに関する情報とは、複数のＰＳＦのうち特定のＰＳＦを示す番号である。複数のＰＳＦは、図１０に示されるＰＳＦ４１３ａ〜４１３ｄ（４１３ｅ以降は省略）であり、これらは事前に用意されて記憶部１０３に記憶されている。
【００８４】
続いてステップＳ５０３において、学習部１０２ａは、学習ペア（ＰＳＦに関する情報と学習劣化部分領域）に基づいて、学習情報を生成する。学習情報の生成には、図１０のネットワーク構造が用いられる。続いてステップＳ５０４において、学習部１０２ａは、生成された学習情報を出力する。
【００８５】
本実施例において、実施例２と同様に、擾乱による劣化の大きさごとに学習情報を用意してもよい。また、入力画像（劣化画像）の解像力を判定する工程を追加し、解像力が不足している場合にはブラインドデコンボリューションを実行し、像面上の歪み成分のみを推定するように構成してもよい。
【００８６】
本実施例によれば、移動被写体が存在する場合でも、撮影画像から擾乱による劣化を高精度に推定することが可能な撮像装置を提供することができる。
【００８７】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８８】
各実施例によれば、移動被写体が存在する場合でも、撮影画像から擾乱による劣化（像面上の歪みと光学性能の劣化）を高精度に推定することが可能な画像処理方法、画像処理装置、撮像装置、画像処理プログラム、および、記憶媒体を提供することができる。
【００８９】
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００９０】
１０２  画像処理部
１０２ｂ、３０３  補正部（画像処理部）
１０３、３０２  記憶部
３０１  画像処理装置
【図１】
2018055516.tif 000009
【図２】
2018055516.tif 000010
【図３】
2018055516.tif 000011
【図４】
2018055516.tif 000012
【図５】
2018055516.tif 000013
【図６】
2018055516.tif 000014
【図７】
2018055516.tif 000015
【図８】
2018055516.tif 000016
【図９】
2018055516.tif 000017
【図１０】
2018055516.tif 000018
【図１１】
2018055516.tif 000019