JP2023116364A - 画像処理方法、画像処理装置、画像処理システム、およびプログラム - Google Patents

画像処理方法、画像処理装置、画像処理システム、およびプログラム Download PDF

Info

Publication number
JP2023116364A
JP2023116364A JP2022019130A JP2022019130A JP2023116364A JP 2023116364 A JP2023116364 A JP 2023116364A JP 2022019130 A JP2022019130 A JP 2022019130A JP 2022019130 A JP2022019130 A JP 2022019130A JP 2023116364 A JP2023116364 A JP 2023116364A
Authority
JP
Japan
Prior art keywords
image
resolution performance
image processing
information
optical system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022019130A
Other languages
English (en)
Inventor
義明 井田
Yoshiaki Ida
法人 日浅
Norito Hiasa
崇 鬼木
Takashi Oniki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2022019130A priority Critical patent/JP2023116364A/ja
Publication of JP2023116364A publication Critical patent/JP2023116364A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

【課題】撮像光学系の解像性能に関連する機械学習を用いた画像処理の精度を高めることが可能な画像処理方法を提供する。【解決手段】画像処理方法は、光学系を用いた撮像により得られた入力画像と、入力画像に予め適用される画像処理に関する画像処理情報とを取得する取得工程と、画像処理情報に基づいて、光学系の解像性能を示す第1の解像性能情報と入力画像とが整合するか否かを判定する判定工程と、入力画像と画像処理情報とに基づいて出力画像を生成する生成工程とを有し、生成工程において、判定工程での判定結果に応じて出力画像の生成方法を異ならせる。【選択図】図1

Description

本発明は、画像処理方法、画像処理装置、画像処理システム、およびプログラムに関する。
特許文献1には、機械学習を用いて画像を拡大する方法が開示されている。同一シーンの低画素画像と高画素画像(低画素画像よりもサンプリングピッチが小さい画像)とのペアを用いて、機械学習モデルを訓練することで、バイキュービック補間などよりも精度の高い画像拡大を実現できる。また特許文献1には、低画素画像をバイキュービック補間により高画素画像と同じ画素数に拡大してから、訓練した機械学習モデルへ入力することで、高解像な拡大画像を生成する方法が開示されている。
米国特許出願公開第2018/0075581号明細書
特許文献1に開示された方法では、実際には存在しない偽構造(アーティファクト)が拡大画像に出現する、或いは、低画素画像に存在したモアレが拡大画像でも残存する問題がある。この問題は、機械学習モデルを用いない他の画像拡大の手法(バイキュービック補間やスパースコーディングなど)でも同様に発生する。また、この問題は画像拡大だけでなく、その他の画像のサンプリングピッチを小さくする処理(例えば、デモザイク)でも発生する。
この問題の原因は、入力する低画素画像に存在する構造がモアレであるか被写体本来の構造であるかを区別できないことにある。撮像光学系の解像性能に応じてモアレが発生し得る周波数帯域が決まるため、低画素画像を撮像した光学系の解像性能に基づくことで改善することが可能である。一方、低画素画像に実施された撮像後の画像処理によって光学系の解像性能とは整合しない画像に変換されうるという問題がある。
そこで本発明は、撮像光学系の解像性能に関連する機械学習を用いた画像処理の精度を高めることが可能な画像処理方法を提供することを目的とする。
本発明の一側面としての画像処理方法は、光学系を用いた撮像により得られた入力画像と、該入力画像に予め適用される画像処理に関する画像処理情報とを取得する取得工程と、前記画像処理情報に基づいて、前記光学系の解像性能を示す第1の解像性能情報と前記入力画像とが整合するか否かを判定する判定工程と、前記入力画像と前記画像処理情報とに基づいて出力画像を生成する生成工程とを有し、前記生成工程において、前記判定工程での判定結果に応じて前記出力画像の生成方法を異ならせる。
本発明の他の目的及び特徴は、以下の実施例において説明される。
本発明によれば、撮像光学系の解像性能に関連する機械学習を用いた画像処理の精度を高めることが可能な画像処理方法を提供することができる。
実施例1、2における変調伝達関数とナイキスト周波数との関係を示す図である。 実施例1における画像処理システムのブロック図である。 実施例1における画像処理システムの外観図である。 実施例1における機械学習モデルの訓練のフローチャートである。 実施例1における拡大画像の生成の流れを示す図である。 実施例1~3における機械学習モデルの構成図である。 実施例1における拡大画像の生成の流れを示す図である。 実施例1における拡大画像の生成のフローチャートである。 実施例1の変形例における拡大画像の生成のフローチャートである。 実施例2における画像処理システムのブロック図である。 実施例2における画像処理システムの外観図である。 実施例2における機械学習モデルの訓練のフローチャートである。 実施例2におけるカラーフィルタ配列とナイキスト周波数との関係を示す図である。 実施例2におけるデモザイク画像の生成の流れを示す図である。 実施例2におけるデモザイク画像の生成のフローチャートである。 実施例3におけるぼけ補正画像の生成のフローチャートである。
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照符号を付し、重複する説明は省略する。
各実施例を詳しく説明する前に、本発明の要旨を簡単に説明する。各実施例では、入力画像のサンプリングピッチを小さくする処理(以下、アップサンプルと呼称する)において、入力画像(撮像画像)の撮像に用いた光学系の解像性能に関する情報である解像性能情報を用いる。これによって、アップサンプルの精度が向上する。その理由を説明するため、アップサンプルの課題とその発生原理を以下に詳述する。
光学系によって形成された被写体像を撮像素子によって撮像画像へと変換する際、撮像素子の画素でサンプリング(標本化)を行う。そのため、被写体像を形成する周波数成分のうち、撮像素子のナイキスト周波数を超える成分は、エイリアシング(折り返し)によって低周波成分と混合され、モアレが発生する。撮像画像のアップサンプルでは、サンプリングピッチが小さくなることによってナイキスト周波数が増大するため、理想的にはその増大したナイキスト周波数までエイリアシングが発生していない画像が生成されることが望まれる。しかし、既にモアレが発生した撮像画像から、それがモアレなのか被写体本来の構造なのかを区別することは困難である。
バイリニア補間のような方法では、撮像画像をアップサンプルしてもモアレがそのまま残存する。これに対して、機械学習モデルなどを用いた方法では、モアレからエイリアシングが発生する前の高周波を推定することが可能なため、一部のモアレを除去することができる。しかし、前述のようにモアレと被写体の構造を区別することは難しいため、一部のモアレが被写体と誤認識されて残存し、一部の被写体がモアレと誤認識されて偽構造が生成される。
そこで各実施例では、撮像画像(入力画像)のアップサンプルにおいて、撮像画像の撮像に用いた光学系の解像性能情報を用いる場合を考える。図1(A)、(B)を参照して、この場合を説明する。図1(A)、(B)は、光学系の解像性能を表す変調伝達関数(MTF)の周波数特性であり、変調伝達関数とナイキスト周波数との関係を示す。
図1(A)、(B)において、横軸はある方向における空間周波数、縦軸はMTFをそれぞれ示す。例えば、図1(A)のように光学系のカットオフ周波数003(ここでは、それ以上の周波数でMTFが0になる周波数の意)が、ナイキスト周波数001以下であった場合、モアレは撮像画像に存在しない。サンプリング周波数002の周期でMTFを配置しても、MTFが互いにオーバーラップする領域がないためである。そのため、解像性能が図1(A)に該当する場合、モアレからモアレになる前の高周波成分を推定する必要がないと分かり、それによって偽構造の発生を抑制することができる。
また、図1(B)に示されるように、カットオフ周波数003がナイキスト周波数001を超えている場合でも、エイリアシングによってモアレが発生し得る周波数帯域を特定することができる。サンプリング周波数002からカットオフ周波数003を減算した周波数004から、ナイキスト周波数001の間の帯域でモアレが発生する可能性があり、それ以外の帯域ではモアレは発生しない。このため、解像性能情報を用いることで、同様に偽構造の発生を抑制することができる。以上の理由により、撮像画像のアップサンプルの精度を向上することができる。
解像性能情報を用いた画像処理を撮像画像に実施する場合、撮像画像と解像性能情報が整合している必要がある。撮像画像は被写体が撮像光学系を通して結像し、センサでサンプリングされることで取得される。撮像直後における画像の解像特性が保持された状態を整合する、周波数特性を変化させる画像処理によって画像の解像特性が変化した状態を整合しない、とする。周波数特性を変化させる画像処理は例えば鮮鋭化処理やぼかし処理を含む。特に、機械学習モデルの学習用データセットで考慮されていない画像処理を適用された場合や、撮像画像と解像性能情報の関係が学習用データセットに含まれる関係ではなくなる場合を整合しない、とする。
撮像時または撮像後に画像処理されることで画像の特性が変化し、入力画像と解像性能情報とが整合しないことで解像性能情報を用いた画像処理の精度が低下する。入力画像と整合しない解像性能情報を用いることで、解像性能情報を用いない場合よりもモアレの残存や偽構造の発生の頻度が増え、コントラストも強くなりうる。これは解像性能情報を用いてモアレと被写体の構造を区別する際に、機械学習モデルが誤って認識するからである。入力画像よりも解像性能が高いと誤った場合は、機械学習モデルは本来より低周波数帯域までモアレが生じると認識するため、モアレが生じない周波数帯域の被写体をモアレであると誤認識して偽構造を過剰に生成する。入力画像よりも解像性能が低いと誤った場合は、機械学習モデルは本来より高周波数帯域でしたモアレが生じない、またはそもそもモアレが生じないと認識するので、モアレが生じる周波数帯域でモアレを被写体であると誤認識してモアレが過剰に残存する。このため、解像性能情報と入力画像とが整合するかを判定することで、入力画像のアップサンプルの精度を向上することができる。解像性能情報を用いた機械学習モデルであれば精度を向上することができるため、本発明はアップサンプルに限定されず、例えばぼけ補正等の処理を含む。画像拡大処理であって、画面領域ごとの拡大率が異なる場合も含む。
まず、本発明の実施例1における画像処理システムに関して説明する。本実施例では、アップサンプルとして画像拡大(アップスケール)を行うが、デモザイクなどのその他のアップサンプルに対しても同様に適用が可能である。画像拡大は、撮像画像全体に対するサンプリング点の増大と、撮像画像の部分領域のサンプリング点の増大(トリミング画像の拡大やデジタルズームなど)を含む。また画像拡大に機械学習モデルを使用する。
図2は、画像処理システム100のブロック図である。図3は、画像処理システム100の外観図である。画像処理システム100は、互いに有線または無線のネットワークで接続された訓練装置101、画像拡大装置(画像処理装置、第2の装置)102、制御装置(第1の装置)103、および撮像装置104を有する。制御装置103は、記憶部131、通信部132、表示部133、および画像処理部134を有する。制御装置103と画像拡大装置102とは互いに通信可能である。制御装置103は、ユーザの指示に従って、撮像装置104から撮像画像(入力画像)を取得し、通信部(送信手段)132を介して撮像画像と画像拡大処理の実行の要求とを画像拡大装置102へ送信する。このとき、ユーザは撮像装置104から取得した撮像画像を画像拡大装置102へ送信する間に、任意の画像処理を実行することができる。
撮像装置104は、結像光学系141、撮像素子142、画像処理部143、記憶部144を有する。結像光学系141は被写体空間の光から被写体の像を形成し、複数の画素が配列された撮像素子142は該像を撮像画像に変換する。この際、被写体の像の周波数成分のうち、撮像素子142のナイキスト周波数より高い周波数成分にはエイリアシングが発生する。その結果、撮像画像にはモアレが生じている可能性がある。画像処理部143は、撮像画像に対し、必要に応じて所定の処理(画素欠陥の補正や現像など)を実行し、撮像画像は記憶部144に記憶される。制御装置103は、通信または記憶媒体を介して撮像画像を取得する。取得する撮像画像は、撮像画像の全体でも部分領域でもよい。
画像拡大装置102は、記憶部121、通信部122、取得部(取得手段)123、画像拡大部(生成手段)124、および判定部(判定手段)125を有する。画像拡大装置102は、訓練済みの機械学習モデルを用いて撮像画像(入力画像)を拡大し、拡大画像(出力画像)を生成する。この際、撮像画像の撮像に用いた光学系(結像光学系141など)の解像性能に関する情報である解像性能情報を使用する。この処理に関する詳細は、後述する。画像拡大装置102は、訓練装置101から訓練済みの機械学習モデルのウエイトの情報を取得し、記憶部121に記憶している。訓練装置101は、記憶部111、取得部112、演算部113、更新部114を有し、データセットを用いて機械学習モデルを予め訓練している。訓練によって生成された機械学習モデルのウエイトの情報は、記憶部111に記憶されている。制御装置103は、拡大画像を画像拡大装置102から取得し、表示部133を介してユーザに提示する。
次に、図4を参照して、訓練装置101で実行される機械学習モデルの訓練(ウエイトの決定)に関して説明する。図4は、機械学習モデルの訓練のフローチャートである。図4の各ステップは、訓練装置101の記憶部111、取得部112、演算部113、または更新部114により実行される。なお本実施例では、GAN(敵対的生成ネットワーク)を用いた訓練を行うが、これに限定されるものではない。また、機械学習モデルは例えば、ニューラルネットワーク、遺伝的プログラミング、ベイジアンネットワークなどを含む。ニューラルネットワークは、例えば、CNN(Convolutional Neural Network)であるが、これに限定されるものではない。ニューラルネットワークは、GAN(Generative Adversarial Network)、RNN(Recurrent Neural Network)、Transformerなどであってもよい。
まずステップS101において、取得部112は、記憶部111から1組以上の高画素画像と低画素画像を取得する。記憶部111には、複数の高画素画像と低画素画像を含むデータセットが保存されている。低画素画像は、機械学習モデルの訓練時に機械学習モデル(本実施例では生成器)に入力される画像である。低画素画像が、実際に拡大する撮像画像の性質を高精度に再現しているほど、訓練された機械学習モデルの精度も高くなる。撮像画像の性質とは、例えば解像性能、色表現、ノイズの特性などが挙げられる。撮像画像がRGBで表現された画像であるのに対し、低画素画像がモノクロやYUVで表現された画像の場合、互いの色表現が一致しないため、タスクの精度が低下する可能性がある。タスクの種類によって重要となる性質は異なるが、画像の拡大においては、前述したようにモアレの発生する周波数帯域が重要であるため、解像性能が重要となる。故に、訓練に用いる複数の低画素画像の解像性能の範囲に、撮像画像の解像性能が収まっていることが望ましい。
高画素画像は、機械学習モデルの訓練において、正解(ground truth)となる画像である。高画素画像は、対応する低画素画像と同一のシーンの画像であり、低画素画像よりサンプリングピッチが小さい(つまり、画素数が多い)。本実施例において、高画素画像のサンプリングピッチは、低画素画像のサンプリングピッチの半分である。故に、機械学習モデルは、入力された画像を縦横各々2倍の画素数4倍に拡大する。ただし、本実施例はこれに限定されるものではない。機械学習モデルが、様々な被写体の撮像画像に対応できるよう、訓練に用いる複数の低画素画像と高画素画像は様々な被写体(向きや強さの異なるエッジ、テクスチャ、グラデーション、平坦部など)を含んでいることが望ましい。高画素画像の少なくとも一部は、低画素画像のナイキスト周波数以上の周波数成分を有する。
本実施例において、高画素画像と低画素画像は、原画像から撮像シミュレーションによって生成されたものを使用する。ただし、発明はこれに限定されず、原画像の代わりに被写体空間の3次元データを用いて撮像シミュレーションを行ってもよい。また、画素ピッチの異なる撮像素子による実写で、高画素画像と低画素画像を生成してもよい。
原画像は、未現像のRAW(光の強度と信号値が線型の関係)であり、高画素画像以下のサンプリングピッチを有し、少なくとも一部は低画素画像のナイキスト周波数以上の周波数成分を有する。低画素画像は、原画像を被写体として、実際に訓練済みの機械学習モデルで拡大される撮像画像と同じ撮像過程を再現することで生成される。具体的には、原画像に対し、結像光学系141で発生する収差や回折によるぼけ、撮像素子142の光学ローパスフィルタや画素開口などによるぼけを与える。結像光学系141や撮像素子142に複数の種類や状態が存在し、それらによって撮像画像に異なるぼけが作用し得る場合、データセットにそれら複数のぼけが付与された低画素画像が含まれるようにする。ぼけは、撮像素子142の各画素の位置(結像光学系141の光軸に対する像高とアジムス)で変化し得る他、結像光学系141が様々な状態(焦点距離、F値、フォーカス距離など)を取り得る場合、その状態によっても変化する。また、レンズ交換式のように結像光学系141が複数の種類を取り得る場合、その種類によってもぼけは変化する。さらに、撮像装置104に種類があり、画素ピッチや光学ローパスフィルタが異なる場合も、ぼけは変化する。
なお、原画像に付与するぼけは、結像光学系141や撮像素子142で発生するぼけそのものでもよいし、そのぼけを近似したぼけでもよい。例えば、結像光学系141や撮像素子142で発生するぼけのPSF(点像分布関数)を、2次元Gauss分布関数、複数の2次元Gauss分布関数の混合、Zernike多項式などで近似してもよい。また、OTF(光学伝達関数)またはMTF(変調分布関数)を2次元Gauss分布関数、複数の2次元Gauss分布関数の混合、Legendre多項式などで近似してもよい。
原画像にぼけを与えた後は、撮像素子142のサンプリングピッチでダウンサンプルする。さらに、撮像素子142は、RGB(Red、Green、Blue)のカラーフィルタがBayer配列されているため、低画素画像もBayer配列になるようにサンプリングする。ただし、発明はこれに限定されず、撮像素子142は、モノクロ、ハニカム配列、3板式などでもよい。撮像素子142が複数種類あり、撮像画像の画素ピッチが変化し得る場合は、変化する範囲をカバーするように複数のサンプリングピッチに対して低画素画像を生成する。また、本実施例では、低画素画像に撮像素子142で発生するノイズも付与する。低画素画像にノイズを付与しない(機械学習モデルの訓練でノイズを考慮しない)場合、撮像画像の拡大の際、被写体だけでなくノイズも強調してしまうためである。撮像画像で発生するノイズの強さに幅がある(撮像時のISO感度が複数あり得るなど)場合、発生し得る範囲でノイズの強さを変化させた複数の低画素画像がデータセットに含まれるようにする。
高画素画像は、原画像に低画素画像の画素ピッチの半分の画素開口によるぼけを付与し、低画素画像のサンプリングピッチの半分でダウンサンプルしてBayer化することで生成する。なお、原画像と高画素画像のサンプリングピッチが等しい場合、原画像をそのまま高画素画像としてもよい。本実施例では、結像光学系141の収差と回折によるぼけ、および撮像素子142の光学ローパスフィルタによるぼけは、高画素画像生成時に付与しない。これによって、機械学習モデルは画像の拡大と共に、前述のぼけの補正も行うように訓練される。ただし、発明はこれに限定されず、高画素画像にも低画素画像と同様のぼけを付与してもよいし、或いは低画素画像に付与したぼけを縮小して高画素画像に付与してもよい。本実施例において、高画素画像の生成の際、ノイズは付与しない。これによって、機械学習モデルは、画像の拡大と共にデノイズを実行するように訓練される。ただし、発明はこれに限定されず、低画素画像に付与したノイズと同程度、または異なる強度のノイズを付与してもよい。なお、高画素画像にノイズを付与する場合、低画素画像のノイズと相関のあるノイズを付与することが望ましい。互いのノイズが無相関の場合、データセットの複数の画像で訓練することで高画素画像のノイズの影響が平均化され、狙った効果を得られない場合があるためである。
本実施例では、現像済みの撮像画像に対して画像の拡大を実行する。そのため、低画素画像と高画素画像も現像済みの画像である必要がある。故に、Bayer状態の低画素画像と高画素画像に対して、撮像画像と同様の現像処理を実行し、データセットに格納する。ただし、発明はこれに限定されず、低画素画像と高画素画像をRAWとし、撮像画像もRAWの状態で拡大する構成としてもよい。また、撮像画像にJPEG符号化などの圧縮ノイズが発生する場合、同様の圧縮ノイズを低画素画像に付与してもよい。これによって機械学習モデルは、画像の拡大と共に、圧縮ノイズの除去も実行するように訓練される。
続いてステップS102において、取得部112は、解像性能情報とノイズ情報を取得する。解像性能情報は、低画素画像に付与されたぼけの解像性能に関する情報である。解像性能が低い(MTFが、低画素画像のナイキスト周波数以下で0または充分小さい値になる)場合、低画素画像にモアレは存在しない。解像性能が高い(ナイキスト周波数以上の周波数でMTFが値を有する)場合、エイリアシングが発生する周波数帯域以外ではモアレが存在しない。このように、解像性能情報は、低画素画像のモアレが発生する周波数帯域を表す。故に、解像性能情報は、低画素画像に付与されたぼけの大きさに基づく情報を含む。また、解像性能情報は、ぼけのPSFの拡がりか、ぼけのMTFかに基づく情報を含む。なお、ぼけのPTF(位相伝達関数)のみでは、解像性能情報には当たらない。PTFは、結像位置のずれを表すためである。
なお本実施例において、撮像画像の画像拡大時に使用される解像性能情報は、結像光学系141の収差と回折、撮像素子142の光学ローパスフィルタと画素開口、全ての影響を統合したぼけに対する情報である。ただし、発明はこれに限定されず、一部のぼけ(例えば、結像光学系141で発生するぼけ)のみで解像性能を表してもよい。例えば、光学ローパスフィルタや画素ピッチが固定で変化しない場合、結像光学系141で発生するぼけのみで解像性能を表しても問題がない。ただしこの場合、低画素画像の解像性能も対応するように決定する必要がある。低画素画像に付与したぼけから光学ローパスフィルタと画素開口の影響を除外したぼけに対して、解像性能情報を決定するとよい。
ノイズ情報は、低画素画像に付与されたノイズに関する情報である。ノイズ情報は、ノイズの強さを表す情報を含む。ノイズの強さは、ノイズの標準偏差やそれに対応する撮像素子142のISO感度などで表すことができる。さらに、拡大前の撮像画像にデノイズが実行されていることがある場合、低画素画像にも同様のデノイズを実行し、実行したデノイズのパラメータ(強さなどを表す)もノイズ情報に含むことが望ましい。これによってノイズやデノイズが変化した場合でも、弊害を抑制して高精度な画像拡大を実現することができる。
以下、解像性能情報とノイズ情報の具体例を示す。本実施例において、解像性能情報は以下の方法で生成されるが、これに限定されるものではない。解像性能情報は、2次元(水平垂直)の画素数が低画素画像と同じマップ(画素数に基づくサイズに値が配列されたマップ)である。マップの各画素は、対応する低画素画像の画素における解像性能を示す。マップは複数のチャンネルを有し、1チャンネル目が水平方向の解像性能、2チャンネル目が垂直方向の解像性能を示す。解像性能は、低解像画像に付与したぼけの白色に対するMTFが、該当の方向で既定値になる周波数に基づく値である。さらに具体的に述べると、MTFが閾値(本実施例では0.5であるが、これに限定されるものではない)以下になる周波数のうちの最小周波数である。さらに、解像性能は、前述の最小周波数を低画素画像のサンプリング周波数で規格化した値で示される。規格化に用いるサンプリング周波数は、画素ピッチの逆数で、RGBで共通である。ただし、解像性能を表す値はこれに限定されない。また、白色でなくRGB個別の解像性能を6チャンネルで表現してもよく、規格化に用いる周波数もRGB各々で異なっていてもよい。
その他の解像性能情報の例を以下に示す。解像性能情報で示す解像性能の方向は、メリジオナル(動径)方向とサジタル(方位角)方向でもよい。さらに画素のアジムスを表す3チャンネル目を追加してもよい。また2方向だけでなく、さらにチャンネル数を増やして、複数の方向の解像性能を表してもよい。或いは、特定の方向、または全方向の平均をとるなどして、1チャンネルのみで解像性能を表してもよい。また、解像性能情報は、マップでなくスカラー値やベクトルでもよい。結像光学系141が超望遠レンズの場合やF値が大きい場合、像高とアジムスによる解像性能の変化が非常に小さくなる。そのため、前述のような場合、画素毎に性能を示すマップでなく、スカラー値でも発明の効果を得ることができる。また、解像性能として、MTFの積分値などを用いてもよい。
解像性能をPSFの拡がりで表してもよい。複数の方向の半値幅やPSFの強度が閾値以上の値を持つ空間的な範囲で、解像性能を表してもよい。また、マップでなく、スカラー値で表す場合は、MTFと同様に特定の方向の値や複数方向の平均値を用いるとよい。
また、MTFまたはPSFをフィッティングした係数で解像性能を表してもよい。冪級数、Fourier級数、混合Gaussモデル、Legendre多項式、Zernike多項式などでフィッティングし、複数のチャンネルでフィッティングの各係数を表すとよい。
解像性能情報は、低画素画像に付与したぼけから計算によって生成してもよいし、予め複数のぼけと対応する解像性能情報を記憶部111に記憶しておき、そこから取得してもよい。
ノイズ情報は、解像性能情報と同様に、低画素画像と2次元の画素数が同じマップである。1チャンネル目が低画素画像のデノイズする前のノイズの強さ、2チャンネル目が実行されたデノイズの強さを表すパラメータである。低画素画像に圧縮ノイズが存在する場合、さらに圧縮ノイズの強さをチャンネルに追加してもよい。ノイズ情報も、解像性能情報と同様に、スカラー値やベクトルの形式でもよい。
なお本実施例において、ステップS101、S102の実行順序を限定するものではなく、ステップS102をステップS101よりも先に実行してもよい。
続いてステップS103において、演算部113は、機械学習モデルである生成器を用いて、低画素画像と解像性能情報とノイズ情報から、拡大画像を生成する。拡大画像は、サンプリングピッチが小さくなった低画素画像である。
ここで図5および図6(A)、(B)を参照して、拡大画像の生成に関して説明する。図5は、拡大画像の生成の流れを示す図である。図6(A)、(B)は、機械学習モデルの構成図である。図5において、sumは要素(画素)毎の和、concatenationはチャンネル方向での連結を示す。本実施例において、解像性能情報202とノイズ情報203は、低画素画像201と2次元の画素数が等しいマップである。低画素画像201、解像性能情報202、ノイズ情報203はチャンネル方向に連結された後、生成器211に入力され、残差成分204が生成される。残差成分204は、高画素画像と2次元の画素数が同じである。低画素画像201をバイリニア補間などで高画素画像と同じ画素数に拡大し、残差成分204と和を取ることで、拡大画像205が生成される。なお、残差成分204を経ずに、生成器211で直接、拡大画像205を生成してもよい。解像性能情報202やノイズ情報203がスカラー値やベクトル、または低画素画像201と2次元の画素数が一致しない場合、畳み込み層を介して特徴マップへ変換後、低画素画像201(またはそれを変換した特徴マップ)とチャンネル方向に連結してもよい。
生成器211は、図6(A)に示される構成のCNNであるが、これに限定されるものではない。生成器211のウエイトの初期値は、乱数などで生成するとよい。図6(A)において、conv.は畳み込み、ReLUはRectified Linear Unit、sub-pixel conv.はサブピクセル畳み込みを表す。本実施例では、サブピクセル畳み込みで入力の2次元の画素数を4倍にすることで、残差成分204の2次元の画素数が高画素画像と同じになる。residual blockは残差ブロックを表す。残差ブロックは、複数の線型和層と、活性化関数とを有し、ブロックの入力と出力で和をとる構成となっている。本実施例において、残差ブロックは図6(B)で示される。GAPはglobal average pooling、denseは全結合、sigmoidはシグモイド関数、multiplyは要素毎の積を表す。GAPと全結合によってアテンションマップを生成することにより、タスクの高精度化を図っている。本実施例において、生成器211は、残差ブロックを16個有している。ただし、残差ブロックの数はこれに限定されない。生成器211の性能をより高めたい場合は、残差ブロックの数を増やすとよい。
なお、低画素画像201を高画素画像と画素数が一致するように事前にバイリニア補間などで拡大し、生成器211に入力してもよい。この場合、生成器211にサブピクセル畳み込みは不要となる。ただし、低画素画像201の2次元の画素数が多くなると、線型和をとる回数が増え、計算負荷が大きくなる。そのため、本実施例のように低画素画像201の拡大を行わずに生成器211へ入力し、内部で拡大することが望ましい。
続いて、図4のステップS104において、演算部113は、拡大画像205と高画素画像それぞれを識別器に入力し、識別出力を生成する。識別器は、入力された画像が生成器211で生成された画像(低画素画像から高周波成分が推定された拡大画像205)か、実際の高画素画像か(撮像時に低画素画像のナイキスト周波数以上の周波数成分が取得された画像)を識別する。識別器は、CNNなどを用いるとよい。識別器のウエイトの初期値は、乱数などで決定する。なお、識別器に入力する高画素画像は、実際の高画素画像であればよく、低画素画像201に対応する画像である必要はない。
続いてステップS105において、更新部114は、識別出力と正解ラベルに基づいて、識別器のウエイトを更新する。本実施例では、拡大画像205に対する正解ラベルが0、実際の高画素画像に対する正解ラベルが1とする。損失関数にはシグモイドクロスエントロピーを使用するが、その他の関数を使用してもよい。ウエイトの更新には、誤差逆伝搬法(Backpropagation)を用いる。
続いてステップS106において、更新部114は、第1の損失と第2の損失に基づいて、生成器211のウエイトを更新する。第1の損失とは、低画素画像201に対応する高画素画像と拡大画像205との差異に基づく損失である。本実施例ではMSE(Mean Square Error)を使用するが、MAE(Mean Absolute Error)などでもよい。第2の損失は、拡大画像205を識別器に入力した際の識別出力と正解ラベル1とのシグモイドクロスエントロピーである。生成器211は、拡大画像205を識別器が実際の高画素画像と誤判定するように訓練したいので、正解ラベルを1(実際の高画素画像に対応)とする。なお、ステップS105とステップS106の順序は逆でもよい。
続いてステップS107において、更新部114は、生成器211の訓練が完了したか否かを判定する。訓練がまだ完了していない場合、ステップS101に戻り、新たな1組以上の低画素画像201と高画素画像を取得する。一方、訓練が完了した場合、ウエイトの情報を記憶部111に記憶する。なお、画像拡大時には生成器211しか使用しないため、生成器211のみのウエイトを記憶してもよい。
なお、識別器を用いたGANの訓練の前に、第1の損失のみを用いて生成器211を訓練しておいてもよい。また、記憶部111に第1のデータセットと第2のデータセットを記憶しておき、第1のデータセットでステップS101~S107の訓練を行い、そのウエイトを初期値として第2のデータセットでステップS101~S107の訓練を行ってもよい。第1のデータセットは、第2のデータセットに対して、低画素画像のナイキスト周波数以上の高周波成分を有する高画素画像が少ない(つまり、低画素画像のモアレが少ない)。そのため、第1のデータセットで訓練した生成器211は、モアレが残存しやすいが、偽構造も出現しにくくなる。これに対し、第2のデータセットで訓練した生成器211は、モアレが除去できるが、偽構造も出現しやすくなる。第2のデータセットによる訓練中、生成器211のウエイトの途中経過を記憶しておくことで、モアレ除去と偽構造のバランスが取れたウエイトを後から選択することができる。
以上の工程によって、撮像画像と解像性能情報とノイズ情報とに基づいて拡大画像を生成する生成器211(第1の機械学習モデル)のウエイトの情報を取得することができる。本実施例では、更に解像性能情報に基づかない第2の機械学習モデルを用いる。第2の機械学習モデルは、拡大画像の生成の流れを示す図7のように、生成器211への入力データに解像性能情報202を用いない構成とすることで学習することができる。低画素画像201、ノイズ情報203は第1の機械学習モデルに等しい。本実施例では生成器211の構成は図6(A)、(B)に等しい。ただし、解像性能情報202をチャンネル方向に連結しないため、畳み込み層のパラメータ数は第1の機械学習モデルと異なる。よって、第2の機械学習モデルのウエイトの情報は、第1の機械学習モデルとは個別に学習することで取得する。なお、生成器211の構成は第1の機械学習モデルと第2の機械学習モデルとで異なる構成であってもよい。
次に、図8を参照して、画像拡大装置102および制御装置103で実行される撮像画像の拡大処理(画像処理方法)に関して説明する。図8は、拡大画像の生成のフローチャートである。図8の各ステップは、画像拡大装置102の記憶部121、通信部122、取得部123、画像拡大部124、もしくは判定部125、または、制御装置103の記憶部131、通信部132、表示部133、もしくは画像処理部134により実行される。
まずステップS201において、制御装置103の通信部(送信手段)132は、画像拡大装置102へ撮像画像(入力画像)と画像処理情報と拡大処理の実行の要求とを送信する。撮像画像は、訓練時と同様に現像後の画像である。
画像処理情報は、本実施例において撮像画像の付加情報の一部であり、撮影画像に付帯している。付加情報とは、例えばヘッダ情報等のメタ情報であり、画像データに付与されるデータ自体についての情報である。本実施例では付加情報は撮像画像に付帯したまま送信されるが、撮像画像と分離して個別に送信してもよく、付加情報のうち後述の処理で用いる情報のみを抽出して送信してもよい。画像処理情報は撮像画像に適用されうる画像処理に関する情報であって、本実施例では撮影時に撮像装置104の画像処理部143が適用した画像処理に関する情報である。また、撮影後から画像拡大装置102へ送信されるまでの間に制御装置103の画像処理部134が適用した画像処理に関する情報であってもよい。また、画像拡大装置102へ送信される前に外部の画像処理装置へ通信され、外部の画像処理装置が適用した画像処理に関する情報であってもよく、上述した情報の組合せであってもよい。画像処理に関する情報とは、例えば鮮鋭化処理についての情報であって、対応する画像処理が適用されたか否か、鮮鋭化強度等の画像処理パラメータ、複数ある処理のうちどの処理が選択されたか、等の情報である。
続いてステップS202において、画像拡大装置102の取得部123は、通信部(受信手段)122を介して、制御装置103から送信された撮像画像と画像処理情報と実行の要求とを取得する。
続いてステップS203において、画像拡大装置102の判定部125は、ステップS202で取得した画像処理情報に基づいて、光学系の解像性能(第1の解像性能情報)とステップS202で取得した撮像画像とが整合するか否かを判定する。なお、ステップS203における光学系の解像性能と撮像画像とが整合するか否かを判定する処理は、後述のように、解像性能と撮像画像とが整合しない可能性のみを取得する処理を含む意味である。光学系の解像性能は、整合すると判定した場合にステップS204で取得される光学性能情報と対応する。本実施例では、取得した画像処理情報は撮像画像に鮮鋭化処理が適用されたか否かを示す情報(鮮鋭化処理に関する情報)を含み、画像処理情報に基づいて撮像画像に既に鮮鋭化処理が適用されているか否かを確認する。
本実施例では、解像性能情報としてMTFが閾値を下回る周波数を用いているが、鮮鋭化処理が適用されることで撮像画像におけるナイキスト周波数より低周波数の被写体のコントラストやモアレのコントラストが変化する。このため、光学系の解像性能に基づく周波数特性と、撮像画像の周波数特性とが異なってしまう。光学系の解像性能に基づく周波数特性とは、光学系の解像性能から計算される撮像画像の周波数特性であり、機械学習モデルの訓練時に用いた画像の周波数特性である。また、モアレのコントラストが変化することで、鮮鋭化処理が適用されていない場合のモアレとは強度が異なる。つまり、撮像画像に生じたモアレと、光学系の解像性能に基づくモアレとが異なる。光学系の解像性能に基づくモアレとは、光学系の解像性能から計算される撮像画像に生じるべきモアレであり、学習用データセットにも生じているモアレである。結果としてモアレが残存し偽構造も発生しやすくなる。
したがって、鮮鋭化処理が適用されている場合、判定部125は、光学系の解像性能と撮像画像とが整合しないと判定する。一方、鮮鋭化処理が適用されていない場合は、判定部125は光学系の解像性能と撮像画像とが整合すると判定する。一般的に、機械学習モデルでは訓練時に用いたデータセットと実際に推定処理を行うデータに差異があると精度が低下することが知られている。したがって、鮮鋭化処理のように、撮像画像と解像性能情報との関係性がデータセットに含まれるものとは異なる関係性に変化させる画像処理の情報を画像処理情報として取得する。これにより、解像性能と撮像画像とが整合するか、つまりデータセットに含まれる関係にあるか否かを区別して拡大画像を生成できる。
上述の鮮鋭化処理は、特に光学系の解像性能に基づいて解像感の劣化を補正する鮮鋭化処理であることが好ましい。光学系の解像性能に基づかない鮮鋭化処理の場合は画面内で一律の周波数ゲインである等、学習用のデータセットを作成するときに考慮が容易である。そのため、鮮鋭化処理の有無や強度を変えてデータセットを作成すれば、モアレや偽構造を抑制した高解像画像を得ることができる。しかし、光学系の解像性能に基づいた鮮鋭化処理の場合は、鮮鋭化処理による画像の周波数特性の変化およびモアレのコントラストの変化が光学系の撮影条件や像高に対応して増えるため、モアレや偽構造を抑制して高解像画像を得るための学習が難しい。RGBごとの異なる光学特性に基づいた鮮鋭化処理では、モアレによって生じる色成分(色モアレ)も変化するため、さらに学習が難しくなる。
このように様々な光学特性に基づく鮮鋭化処理まだ考慮して学習するには、よりパラメータ数の多い機械学習モデルが必要となる。そのため、学習速度が遅くなり、画像拡大時の計算負荷や機械学習モデルのデータ容量も大きくなってしまう。また、光学系が低性能であるほど鮮鋭化の強度が高くなるため、光学系のカットオフ周波数に近い周波数でのコントラスト変化が大きく、モアレの変化も大きくなりやすい。
また、鮮鋭化処理は光学系のカットオフ周波数以上の周波数成分を生成する処理であってもよい。この場合、光学系の解像性能からは存在しないはずの被写体構造が再現されることになる。このとき、カットオフ周波数以上の被写体構造は訓練する際のデータセットには存在しないため撮像画像は解像性能情報と整合せず、拡大画像を生成する精度が低下する。
ステップS203にて撮像画像と解像性能情報とが整合すると判定された場合、ステップS204に進む。ステップS204において、取得部123は、記憶部121から第1の機械学習モデルのウエイトの情報、解像性能情報、ノイズ情報を取得する。解像性能情報は、撮像画像を撮像した際の光学系の解像性能を示した情報である。ここで、本実施例における光学系とは、結像光学系141、撮像素子142の光学ローパスフィルタと画素開口を含む。解像性能情報とノイズ情報の取得のため、撮像画像の付加情報から必要な情報を取得する。必要な情報は、結像光学系141の種類、結像光学系141の撮像時の状態(焦点距離、F値、フォーカス距離)、または撮像素子142の画素ピッチなどを含む。また必要な情報は、光学ローパスフィルタ、撮像時のISO感度(ノイズの強さ)、撮像画像のデノイズの有無とデノイズパラメータ、トリミング位置(トリミング後の撮像画像に対する結像光学系141の光軸の位置)などを含んでいてもよい。
取得した情報と、記憶部121に記憶された結像光学系141の解像性能に関するデータテーブルから、解像性能情報(本実施例では2チャンネルのマップ)を生成する。記憶部121には、結像光学系141の種類、状態、像高、アジムスのサンプリング点に対応した解像性能に関する情報が、データテーブルとして記憶されている。そのデータテーブルから、撮像画像に対応した解像性能情報を補間などによって生成する。本実施例における解像性能情報は、訓練時と同様であり、2次元の画素数が撮像画像と同じマップで、各画素の1チャンネル目に水平方向、2チャンネル目に垂直方向の解像性能を表す値が格納されている。値は、該当の方向のMTFが閾値(0.5)を下回る最小周波数を、撮像素子142のサンプリング周波数(画素ピッチの逆数)で規格化した値である。
MTFは、訓練時と同様に、結像光学系141、撮像素子142の光学ローパスフィルタと画素開口の影響を合わせたぼけの白色に対するMTFである。なお、撮像画像の解像性能が変化しない(結像光学系141と撮像素子142の種類や状態が固定されている)場合、マップの状態の解像性能情報を記憶部121に記憶しておき、呼び出すだけでもよい。ノイズ情報も、2次元の画素数が撮像画像と同じマップであり、1チャンネル目が撮像時に発生するノイズの強さ、2チャンネル目が撮像画像に実行されたデノイズパラメータである。
一方、ステップS203にて撮像画像と解像性能情報とが整合しないと判定された場合、ステップS205に進む。ステップS205において、取得部123は、記憶部121から生成器のウエイトの情報、ノイズ情報を取得する。ステップS204との違いとして、解像性能情報を取得せず、取得するウエイトの情報も異なる。撮像画像とステップS204で取得可能な解像性能情報とが整合しないと判定されたため、続くステップS206において解像性能情報を用いずに拡大画像を生成する。したがって、ステップS205では、第1の機械学習モデルとは異なる第2の機械学習モデルのウエイトの情報を取得する。その他の処理については、ステップS205はステップS204と同様である。
続いてステップS206において、画像拡大部124は、撮像画像とステップS204またはステップS205で取得した情報を用いて、拡大画像を生成する。拡大画像は、撮像画像に対してサンプリングピッチが半分(画素数が4倍)になった画像である。続いてステップS207において、通信部122は、制御装置103へ拡大画像を送信する。
続いてステップS208において、制御装置103の通信部132は、拡大画像を取得する。取得された拡大画像は記憶部131に記憶、または表示部133に表示される。或いは、制御装置103または画像拡大装置102から、有線または無線経由で接続されたその他の記憶装置に記憶してもよい。
本実施例において、撮像画像は1枚であるが、これに限定されるものではなく、サブピクセルで位置ずれした複数の撮像画像と解像性能情報から、拡大画像を生成してもよい。
次に、図9を参照して、本実施例の変形例としての拡大画像の生成について説明する。図9は、本変形例における拡大画像の生成のフローチャートである。本実施例では、第1の機械学習モデルとは別に第2の機械学習モデルを学習する必要がある。第2の機械学習モデルは第1の機械学習モデルよりもパラメータ数が少ないために処理速度が速いが、学習やウエイトの情報の保存をそれぞれ行わなければならない。そこで本変形例では、撮像画像と光学系の解像性能とが整合しないと判定された場合に、第2の機械学習モデルを使用しない代わりに、第1の解像性能情報とは異なる第2の解像性能情報を用いる。第2の解像性能情報は、例えば、異なる第1の解像性能情報に対応する複数の入力画像に共通して用いられる。
図9のステップS301~S303は、図8のステップS201~S203とそれぞれ同様である。また、図9のステップS303で整合すると判定された場合のステップS304、S305は、図8のステップS203で整合すると判定された場合のステップS204、S206とそれぞれ同様である。また、図9のステップS306、S307は、図8のステップS207、S208とそれぞれ同様である。
ステップS303で整合しないと判定された場合のステップS304では、ウエイトの情報とノイズ情報は整合すると判定された場合と同じものを取得するが、解像性能情報は、第1の解像性能情報とは異なる第2の解像性能情報である。画像処理情報に基づいて撮像画像に適用された鮮鋭化処理による周波数特性の変化がわかる場合、光学系の解像性能情報に対して鮮鋭化処理による周波数特性の変化を適用することで、撮像画像と整合する解像性能情報を第2の解像性能情報として取得できる。このとき、ステップS305では、ステップS303で整合すると判定された場合に対して、第1の解像性能情報に代えて第2の解像性能情報を入力することで、所望の効果を発揮することができる。
鮮鋭化処理の解像性能情報を取得できない場合、第2の解像性能情報として疑似的な解像性能情報を取得してもよい。ここでは、解像性能情報としてとりうる値の最大値を全画素で保持したマップを取得して、第2の解像性能情報として用いる。このとき第2の解像性能情報は、第1の解像性能情報に依存しない。
ここで第2の解像性能情報は、第1の解像性能情報よりも高い性能を示す値をとることが好ましい。1つ目の理由として、撮影画像において鮮鋭化処理によってナイキスト周波数以下の成分もモアレの成分も高コントラストになるため、実際よりも高い解像性能を持つ光学系で取得した画像の周波数特性に相当すると考えられるからである。2つ目の理由として、実際の解像性能よりも高いと誤る方が低いと誤るよりも精度の高い画像を生成することができるからである。
実際の解像性能よりも高いと誤った場合、本来よりも広い周波数周波数帯域で被写体とモアレが混在する誤認識されるため、偽構造が生成される可能性がある。しかし、解像性能情報を入力せずに拡大画像を生成する場合と比較すると、誤った解像性能においてもモアレが生じないとされる周波数帯域では依然として高精度であり、誤ってモアレが生じうるとされる周波数帯域でも同等の精度は実現できる。なぜならば、モアレと被写体が混在する状況で拡大画像を生成することは解像性能情報を入力しない場合と同条件だからである。
一方、解像性能を実際よりも低いと誤った場合、誤った解像性能においてモアレが生じないとされる周波数では必ず被写体の像であると判断されてしまい、必然的にモアレが残存する。以上の議論より、解像性能を実際よりも高いとした方が生成される拡大画像の精度がよい。特に解像性能を最大とする場合は光学系の解像性能に依存せずモアレが生じうると機械学習モデルに認識させることになるため、解像性能情報を用いない機械学習モデルと同等の精度が得られる。
さらに本実施例では、上述のように結像光学系141の収差と回折によるぼけ、および撮像素子142の光学ローパスフィルタによるぼけは、高画素画像生成時に付与しない。つまり、第1の機械学習モデルは画像の拡大と共に、前述のぼけの補正も行うように訓練されている。したがって、低い性能を示す解像性能情報を用いると、鮮鋭化処理を適用された撮像画像に対してさらに解像性能情報に基づいた鮮鋭化が適用されることになるため、過剰補正となってしまう。
一方、解像性能情報を最大値とすることで、ぼけの過剰な補正を行わずに拡大画像を生成することができる。撮像画像に適用された鮮鋭化処理が光学系の解像性能に基づかない場合、画像全体の鮮鋭度を調整することが目的であるため、光学系に由来するぼけの補正と重複してもよい。一方、撮像画像に適用された鮮鋭化処理が光学系の解像性能に基づく場合、重複して補正しないように、光学系の解像性能情報には依存せず、また光学系の解像性能情報よりも高い性能を示す解像性能情報を用いるとよい。ここで、光学系の解像性能に基づくぼけ補正について述べたが、これは画像の拡大をすることを前提としない。
本実施例では、画像処理情報として、撮像画像に適用された鮮鋭化処理の情報を付加情報から取得して用いたが、これに限定されるものではない。例えば、撮像画像のトリミング情報を画像処理情報として取得し、それに基づいて光学系の解像性能と撮像画像との整合性を判定してもよい。鮮鋭化処理は、解像性能情報が示す解像性能そのものを変化させることによって、光学系の解像性能と撮像画像との整合性を失わせる。
一方、トリミング処理は、光学系の解像性能と撮像画像との画素位置の対応を変化させることによって、間接的に整合性を失わせる。上述したように、解像性能情報は、低画素画像と画素数が等しく、各画素が対応する低画素画像の画素における解像性能を示すマップである。光学系の解像性能は撮像画像の位置に依存するが、撮像画像がトリミングされることで画面上の位置と光学系の光軸や結像像高とで整合性が失われる。撮像画像の画面中心からずれた位置をトリミングすることで光軸の位置が中心ではなくなり、また部分領域を抽出されることで、光学系にとっての像高と画像上の位置の対応が崩れる。
したがって、画像処理情報として撮像画像がトリミングされた画像であることを示す情報が残っていた場合、判定部125は光学系の解像性能と撮像画像とが整合しないと判定する。直接トリミング情報が残っていない場合は、画像処理情報として撮像画像の画素数と撮像装置を特定する情報とを合わせて用いてもよい。撮像装置が特定されることによって、画像拡大装置102の記憶部121に記憶されたトリミング前の該撮像装置の画素数を取得することができる。画素数を実際に入力された撮像画像の画素数と比較して不一致であれば、光学系の解像性能と撮像画像とが整合しないと判定できる。なお、撮像画像にトリミング位置の情報が取得できる場合は、対応する画素位置の解像性能情報を取得することができる。このときは撮像画像と整合する解像性能情報を取得できるため、整合すると判定してもよい。
また、画像処理情報として、画像拡大等の画素数を変化させる画像処理の情報を用いてもよい。画素数が変化することで、トリミングと同様に光学系の解像性能と撮像画像との画素位置の対応を変化させるためである。また、画像が拡大または縮小されることで画像の持つ周波数特性やナイキスト周波数が変化するためである。
また本実施例において、制御装置103は撮像装置104から直接撮像画像を取得するが、撮像装置104から撮像画像を取得した外部の画像処理装置を経由して撮像画像を取得してもよい。
また本実施例において、撮像画像(入力画像)は現像画像であってもよい。現像時の処理が画像処理情報として残された現像画像であることが好ましい。現像時に適用される画像処理は光学系の解像性能情報と撮像画像との整合性を失わせる原因となる。したがって、現像条件を示す現像情報を画像処理情報として取得することが好ましい。また、現像画像は一般に普及されたデータフォーマットで記憶されるため、現像後に画像処理を適用されることも多い。したがって、撮像画像が現像画像である場合は本発明により出力画像の精度が向上できる。
また本実施例において、RAW画像を入力画像としてもよい。光学系の解像性能との整合を失わせるような画像処理を適用されていない撮像画像データをアップサンプルする場合は、該画像データと光学系の解像性能を用いればよい。一方、鮮鋭化処理を適用されたRAW画像を入力画像としてアップサンプルする場合や一度アップサンプルされたRAW画像を入力画像としてさらにアップサンプルする場合は、入力画像と光学系の解像性能情報とは整合しない。このようにRAW画像に複数の画像処理をかける場合は、入力画像がアップサンプルされる前に画像処理を適用されたか否かの情報を取得し、それに基づいてアップサンプルすることが好ましい。この場合、画像処理情報は付加情報ではなく一連の処理の中で一時的に記憶された情報でもよい。入力画像に適用される画像処理情報は、実際に画像処理が適用される前に取得できることもある。この場合、画像処理情報を事前に取得してもよい。
また、画像処理情報として、画像を編集した編集ソフト名や編集装置名等を取得してもよい。実施した画像処理の情報を付加情報として記録しない編集ソフトもあるため、編集ソフト名を画像処理情報として取得することで、編集ソフトが実施した画像処理によって光学系の解像性能と撮像画像とが整合しない可能性を取得することができる。また、入力画像の付加情報を変更(編集)可能な編集ソフトもあるため、付加情報が編集されることで撮像画像と付加情報より想定される光学系の解像性能とが整合しない可能性を取得することができる。また、当該編集ソフト以外が実施した画像処理によって光学系の解像性能と撮像画像とが整合しない可能性を取得することができる。このように光学系の解像性能と撮像画像とが整合しない可能性を取得した場合、誤った処理を避けるため光学系の解像性能と撮像画像とが整合しないと判定することが好ましい。
以上のように、画像拡大部124は、判定部125による判定結果に応じて拡大画像(出力画像)の生成方法を異ならせる。このため本実施例によれば、解像性能情報と入力画像とが整合するかを判定してモアレや偽構造を良好に抑えた出力画像を生成することができる。
次に、図10および図11を参照して、本発明の実施例2における画像処理システムに関して説明する。本実施例では、アップサンプルとしてデモザイクを行うが、その他のアップサンプルに対しても同様に適用が可能である。また、デモザイクには機械学習モデルを使用する。
図10は、画像処理システム300のブロック図である。図11は、画像処理システム300の外観図である。画像処理システム300は、訓練装置301および撮像装置302を有する。撮像装置302は、結像光学系321、撮像素子322、画像処理部(画像処理装置)323、記憶部324、通信部325、および表示部326を有する。画像処理部323は、取得部(取得手段)323a、デモザイク部(生成手段)323b、および判定部(判定手段)323cを有する。
結像光学系321は被写体空間の光から被写体像を形成し、撮像素子322は被写体像を撮像して撮像画像を生成する。撮像画像は、RGBの画素がBayer配列された画像である。撮像画像は、撮像前の被写体空間のライブビューや、ユーザによってレリーズが押された際に取得され、画像処理部323で現像処理を実行された後、記憶部324に記憶、または表示部326に表示される。撮像画像の現像処理の際、機械学習モデルを用いたデモザイクが実行され、デモザイク画像(出力画像)が生成される。機械学習モデルは、予め訓練装置301によって訓練されており、訓練済みのウエイトの情報は、通信部325を介して取得される。撮像画像のデモザイクにおいて、結像光学系321の解像性能に関する情報である解像性能情報が使用される。この処理に関して詳細に説明する。
まず、図12を参照して、訓練装置301で実行される機械学習モデルの訓練に関して説明する。図12は、機械学習モデルの訓練のフローチャートである。図12の各ステップは、訓練装置301の記憶部311、取得部312、演算部313、または更新部314により実行される。
まずステップS401において、取得部312は、記憶部311から1組以上のモザイク画像と正解画像を取得する。モザイク画像は、撮像画像と同じRGB(赤、緑、青)のBayer画像である。図13(A)、(B)は、カラーフィルタ配列(Bayer配列)とナイキスト周波数との関係を示す図であり、図13(A)はBayer配列、図13(B)はBayer配列での各色のナイキスト周波数をそれぞれ示す。図13(A)において、G(緑)は対角方向に画素ピッチを2の平方根倍したサンプリングピッチとなり、ナイキスト周波数402を有する。R(赤)とB(青)は水平垂直方向に画素ピッチの2倍のサンプリングピッチとなり、ナイキスト周波数403を有する。
正解画像は、2次元の画素数がモザイク画像と同じで、RGBの3チャンネルを有する画像である。正解画像はRGBそれぞれ画素ピッチと等しいサンプリングピッチを有し、全色がナイキスト周波数401を有する。正解画像は、CG(Computer Graphics)や3板式の撮像素子で撮像した画像を原画像として生成する。或いは、Bayer配列で撮像された画像を縮小して各画素にRGBの信号値を有する画像を生成し、原画像としてもよい。原画像の少なくとも一部は、Bayer配列の各色のナイキスト周波数402、403以上の周波数成分を有する。原画像に対して、結像光学系321で発生する収差と回折によるぼけや、撮像素子322の光学ローパスフィルタと画素開口などによるぼけを付与することで、正解画像を生成する。モザイク画像は、正解画像をBayer配列でサンプリングすることで生成できる。付与するぼけが異なる複数のモザイク画像と正解画像を生成し、そのぼけの範囲に実際の撮像画像のぼけが収まるようにする。なお、モザイク画像はBayer配列に限定されるものではない。
続いて、図12のステップS402において、演算部313は、解像性能情報を取得する。本実施例では、RGBごとに解像性能情報を生成する。RGB各々に対して本実施例と同様に水平垂直方向でMTFが閾値以下になる最小周波数を、RGBそれぞれのナイキスト周波数で規格化した値を解像性能とする。
続いてステップS403において、演算部313は、モザイク画像と解像性能情報を機械学習モデルへ入力し、デモザイク画像を生成する。本実施例では、図14に示される構成でデモザイク画像を生成する。図14は、デモザイク画像の生成の流れを示す図である。モザイク画像501をR、G1、G2、Bの4チャンネルに並び替えたRGGB画像502を生成する。RGGB画像502と、RGGB各色の各画素の解像性能を示した8(4×2)チャンネルのマップである解像性能情報503とを、チャンネル方向に連結し、機械学習モデル511へ入力してデモザイク画像504を生成する。機械学習モデル511は、図6に示される構成と同様であるが、これに限定されるものではない。また、モザイク画像501を4チャンネルに並び替えず、Bayer配列のまま機械学習モデルへ入力する構成としてもよい。
続いて、図12のステップS404において、更新部314は、正解画像とデモザイク画像504の誤差から、機械学習モデル511のウエイトを更新する。続いてステップS405において、更新部314は、機械学習モデル511の訓練が完了したか否かを判定する。訓練が完了していないと判定された場合、ステップS401へ戻る。一方、訓練が完了したと判定された場合、訓練を終了してウエイトの情報を記憶部311に記憶する。
次に、図15を参照して、画像処理部323で実行される、撮像画像のデモザイクに関して説明する。図15は、デモザイク画像の生成のフローチャートである。図15の各ステップは、画像処理部323の取得部323a、デモザイク部323b、または判定部323cにより実行される。
まずステップS501において、取得部323aは、撮像画像および画像処理情報を取得する。撮像画像は、Bayer配列の画像である。続いてステップS502において、ステップS203と同様に、判定部323cは、ステップS501で取得した画像処理情報に基づいて、光学系の解像性能(第1の解像性能情報)とステップS501で取得した撮像画像とが整合するか否かを判定する。
続いてステップS503において、取得部323aは、機械学習モデル(第1の機械学習モデル)のウエイトの情報を記憶部324から取得する。また、ステップS502において光学系の解像性能と撮像画像とが整合すると判定された場合、撮像時の結像光学系の状態などから光学系の解像性能情報(第1の解像性能情報)を記憶部324から取得する。ステップS502にて光学系の解像性能と撮像画像とが整合しないと判定された場合、解像性能情報としてとりうる値の最大値を全画素で保持したマップ(第2の解像性能情報)を取得する。なお、画像処理情報をステップS502の前に取得していれば、撮像画像やウエイトの情報はステップS504より前に取得していれば記載の順序に限定されない。続いてステップS504において、デモザイク部323bは、図14に示される構成を用いて、撮像画像と解像性能情報からデモザイク画像(出力画像)を生成する。デモザイク画像は、撮像画像がデモザイクされた画像である。
画像処理部323は、必要に応じて、デノイズやガンマ補正などその他の処理を実行してもよい。また、デモザイクと同時に本実施例の画像の拡大を併用してもよい。また本実施例では、実施例1の変形例と同様に、解像性能情報と入力画像とが整合しないと判定された場合、機械学習モデルはそのままで第1の解像性能情報の代わりに第2の解像性能情報を用いるが、これに限定されるものではない。実施例1と同様に、第1の機械学習モデルの代わりに解像性能情報は入力しない第2の機械学習モデルを用いてもよい。
以上のように、デモザイク部323bは、判定部323cによる判定結果に応じて出力画像の生成方法を異ならせる。このため本実施例によれば、解像性能情報と入力画像とが整合するかを判定してモアレや偽構造を良好に抑えた出力画像を生成することができる。
次に、本発明の実施例3における画像処理システムに関して説明する。本発明は、画像のアップサンプルに限定されるものではなく、その他の光学系の解像性能情報を用いた画像処理にも適用可能である。より詳細には、入力画像に生じた光学系の解像特性に起因する画像成分を、光学系の解像特性に基づいて修正する画像処理であればよい。実施例1および実施例2では、光学系の解像特性に起因する画像成分として主にモアレを補正する。一方、本実施例では、機械学習モデルを用いて光学系の解像特性に起因するぼけ成分を補正する。
本実施例の画像処理システムは、実施例2と同様である。撮像画像の現像処理の際、機械学習モデルを用いたぼけ補正が実行され、補正画像(出力画像)が生成される。撮像画像の収差補正において、結像光学系の解像性能に関する情報である解像性能情報が使用される。この処理に関して説明する。
実施例1では、高画素画像生成時に結像光学系の収差と回折によるぼけ、および撮像素子の光学ローパスフィルタによるぼけは付与しない。低画素画像生成時にはこれらのぼけを付与し、ダウンサンプルすることで生成した。この低画素画像と解像性能情報とを入力して高画素画像を推定するように学習することで、画像の拡大と光学系のぼけ補正を同時に行うように学習する。一方、本実施例では、実施例1の高画素画像をぼけの無い正解画像として、低画素画像の生成工程からダウンサンプルを除外することで、ぼけ画像を生成する。ぼけ画像と解像性能情報を機械学習モデルへ入力し、正解画像を出力するように学習することで、光学系によるぼけを補正する機械学習モデルのウエイトの情報を取得することができる。解像性能情報および機械学習モデルはそれぞれ、実施例1と同様であるが、これに限定されるものではない。
図16を参照して、画像処理部323で実行される、撮像画像のぼけ補正に関して説明する。図16は、ぼけ補正画像の生成のフローチャートである。図16のステップS601~S604は、基本的に、図15のステップS501~S504とそれぞれ同等であるが、撮像画像と解像性能情報からデモザイク画像を生成する代わりに、ぼけ補正画像を生成する。
画像処理部323は、必要に応じてデノイズやガンマ補正などその他の処理を実行してもよい。また、ぼけ補正と同時に実施例1の画像の拡大や実施例2のデモザイクを併用してもよい。
ぼけ補正においても、光学系の解像性能と撮像画像とが整合しない場合に過剰補正となりオーバーシュートやアンダーシュートが生じたり、補正不足でぼけが残存したりすることで、出力画像の精度が低下する。したがって、解像性能情報と入力画像とが整合するかを判定して処理を変更することでより精度の高いぼけ補正画像(出力画像)を生成できる。本実施例では、整合しないと判定された場合に解像性能情報を最大値とすることで、ぼけの過剰補正を回避することができる。本実施例においては、結像光学系や撮像素子の光学ローパスフィルタによって決まる周波数特性と撮像画像の周波数特性が合うことを整合すると呼ぶ。特に、機械学習モデルの訓練時に用いた画像の周波数特性と、撮像画像の周波数特性と合うことを整合する、合わないことを整合しないとする。ただし、ぼけ補正処理が一部のぼけ(例えば、結像光学系で発生するぼけ)のみを補正する場合は整合するか否かを判定する際にも対応する一部のぼけのみを考慮する。
本実施例では、実施例1の変形例と同様に、解像性能情報と入力画像とが整合しないと判定された場合、機械学習モデルはそのままで第1の解像性能情報の代わりに第2の解像性能情報を用いるが、これに限定されるものではない。実施例1と同様に、第1の機械学習モデルの代わりに解像性能情報は入力しない第2の機械学習モデルを用いてもよい。
以上の構成により、本実施例によれば、解像性能情報と入力画像とが整合するかを判定して過剰補正を抑えて良好にぼけを補正した出力画像を生成することができる。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。本発明における画像処理装置は本発明の画像処理機能を有する装置であればよく、撮像装置やPCの形態で実現され得る。
各実施例によれば、撮像光学系の解像性能に関連する機械学習を用いた画像処理の精度を高めることが可能な画像処理方法、画像処理装置、およびプログラムを提供することができる。
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されたものではなく、その要旨の範囲内で様々な変形、及び変更が可能である。
102 画像拡大装置(画像処理装置)
123 取得部(取得手段)
124 画像拡大部(生成手段)
125 判定部(判定手段)

Claims (24)

  1. 光学系を用いた撮像により得られた入力画像と、該入力画像に予め適用される画像処理に関する画像処理情報とを取得する取得工程と、
    前記画像処理情報に基づいて、前記光学系の解像性能を示す第1の解像性能情報と前記入力画像とが整合するか否かを判定する判定工程と、
    前記入力画像と前記画像処理情報とに基づいて出力画像を生成する生成工程と、を有し、
    前記生成工程において、前記判定工程での判定結果に応じて前記出力画像の生成方法を異ならせることを特徴とする画像処理方法。
  2. 前記生成工程において、
    前記判定工程で前記第1の解像性能情報と前記入力画像とが整合すると判定された場合、第1の機械学習モデルに前記入力画像と前記第1の解像性能情報とを入力することで前記出力画像を生成し、
    前記第1の解像性能情報と前記入力画像とが整合しないと判定された場合、前記第1の機械学習モデルとは異なる第2の機械学習モデルに前記入力画像を入力することで前記出力画像を生成することを特徴とする請求項1に記載の画像処理方法。
  3. 前記生成工程において、
    前記判定工程で前記第1の解像性能情報と前記入力画像とが整合すると判定された場合、第1の機械学習モデルに前記入力画像と前記第1の解像性能情報とを入力することで前記出力画像を生成し、
    前記第1の解像性能情報と前記入力画像とが整合しないと判定された場合、前記第1の解像性能情報とは異なる第2の解像性能情報を前記第1の機械学習モデルに入力することで前記出力画像を生成することを特徴とする請求項1に記載の画像処理方法。
  4. 前記第2の解像性能情報は、異なる前記第1の解像性能情報に対応する複数の入力画像に共通して用いられることを特徴とする請求項3に記載の画像処理方法。
  5. 前記第2の解像性能情報が示す解像性能は、前記第1の解像性能情報が示す解像性能よりも高いことを特徴とする請求項3または4に記載の画像処理方法。
  6. 前記第2の解像性能情報は、前記入力画像に適用された鮮鋭化処理に関する情報を用いて取得されることを特徴とする請求項3乃至5のいずれか一項に記載の画像処理方法。
  7. 前記鮮鋭化処理は、前記光学系の解像性能に基づくことを特徴とする請求項6に記載の画像処理方法。
  8. 前記生成工程において、前記判定工程で前記第1の解像性能情報と前記入力画像とが整合しないと判定された場合、前記第1の解像性能情報を入力しないことを特徴とする請求項1乃至7のいずれか一項に記載の画像処理方法。
  9. 前記第1の解像性能情報と前記入力画像との整合は、前記第1の解像性能に基づく周波数特性と前記入力画像の周波数特性との整合であることを特徴とする請求項1乃至8のいずれか一項に記載の画像処理方法。
  10. 前記第1の解像性能情報と前記入力画像との整合は、前記第1の解像性能に基づくモアレと前記入力画像のモアレとの整合であることを特徴とする請求項1乃至8のいずれか一項に記載の画像処理方法。
  11. 前記画像処理情報は、前記入力画像の付加情報に基づいて取得されることを特徴とする請求項1乃至10のいずれか一項に記載の画像処理方法。
  12. 前記画像処理情報は、前記入力画像の画素数に基づいて取得されることを特徴とする請求項1乃至11のいずれか一項に記載の画像処理方法。
  13. 前記入力画像は、現像画像であることを特徴とする請求項1乃至12のいずれか一項に記載の画像処理方法。
  14. 前記画像処理情報は、前記入力画像の現像条件を示す現像情報であることを特徴とする請求項1乃至13のいずれか一項に記載の画像処理方法。
  15. 前記画像処理情報は、前記入力画像の付加情報が変更された可能性を示す情報であることを特徴とする請求項1乃至14のいずれか一項に記載の画像処理方法。
  16. 前記出力画像は、前記入力画像に含まれる前記光学系の解像特性に起因する画像成分を、前記光学系の解像特性に基づいて修正した画像であることを特徴とする請求項1乃至15のいずれか一項に記載の画像処理方法。
  17. 前記出力画像は、撮像画像を拡大またはデモザイクした画像、または前記撮像画像における前記光学系で発生したぼけを補正した画像であることを特徴とする請求項1乃至16のいずれか一項に記載の画像処理方法。
  18. 前記第1の解像性能情報は、前記光学系で発生するぼけの大きさに基づく情報であることを特徴とする請求項1乃至17のいずれか一項に記載の画像処理方法。
  19. 前記第1の解像性能情報は、前記光学系の点像分布関数の拡がり、または前記光学系の変調伝達関数に基づく情報であることを特徴とする請求項1乃至18のいずれか一項に記載の画像処理方法。
  20. 前記第1の解像性能情報は、前記入力画像の画素の位置に基づく情報であることを特徴とする請求項1乃至19のいずれか一項に記載の画像処理方法。
  21. 前記第1の解像性能情報は、前記入力画像の画素数に基づくサイズに値が配列されたマップであることを特徴とする請求項1乃至20のいずれか一項に記載の画像処理方法。
  22. 光学系を用いた撮像により得られた入力画像と、該入力画像に予め適用される画像処理に関する画像処理情報とを取得する取得手段と、
    前記画像処理情報に基づいて、前記光学系の解像性能を示す第1の解像性能情報と前記入力画像とが整合するか否かを判定する判定手段と、
    前記入力画像と前記画像処理情報とに基づいて出力画像を生成する生成手段と、を有し、
    前記生成手段は、前記判定手段による判定結果に応じて前記出力画像の生成方法を異ならせることを特徴とする画像処理装置。
  23. 互いに通信可能な第1の装置と第2の装置とを有する画像処理システムであって、
    前記第1の装置は、光学系を用いた撮像により得られた入力画像、前記入力画像に予め適用される画像処理についての画像処理情報、および前記入力画像に対する処理の実行に関する要求を前記第2の装置へ送信する送信手段を有し、
    前記第2の装置は、
    前記入力画像、前記画像処理情報、および前記要求を受信する受信手段と、
    前記画像処理情報に基づいて、前記光学系の解像性能を示す第1の解像性能情報と前記入力画像とが整合するか否かを判定する判定手段と、
    前記入力画像と前記画像処理情報とに基づいて出力画像を生成する生成手段と、を有し、
    前記生成手段は、前記判定手段による判定結果に応じて前記出力画像の生成方法を異ならせることを特徴とする画像処理システム。
  24. 請求項1乃至21のいずれか一項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
JP2022019130A 2022-02-09 2022-02-09 画像処理方法、画像処理装置、画像処理システム、およびプログラム Pending JP2023116364A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022019130A JP2023116364A (ja) 2022-02-09 2022-02-09 画像処理方法、画像処理装置、画像処理システム、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022019130A JP2023116364A (ja) 2022-02-09 2022-02-09 画像処理方法、画像処理装置、画像処理システム、およびプログラム

Publications (1)

Publication Number Publication Date
JP2023116364A true JP2023116364A (ja) 2023-08-22

Family

ID=87579391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022019130A Pending JP2023116364A (ja) 2022-02-09 2022-02-09 画像処理方法、画像処理装置、画像処理システム、およびプログラム

Country Status (1)

Country Link
JP (1) JP2023116364A (ja)

Similar Documents

Publication Publication Date Title
JP7242185B2 (ja) 画像処理方法、画像処理装置、画像処理プログラム、および、記憶媒体
JP7439145B2 (ja) 画像処理方法、画像処理装置、画像処理システム、学習済みウエイトの生成方法、および、プログラム
JP5284537B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、およびそれを用いた撮像装置
JP5188651B2 (ja) 画像処理装置、およびそれを用いた撮像装置
JP7258604B2 (ja) 画像処理方法、画像処理装置、プログラム、および学習済みモデルの製造方法
US8659672B2 (en) Image processing apparatus and image pickup apparatus using same
JP5933105B2 (ja) 画像処理装置、撮像装置、フィルタ生成装置、画像復元方法及びプログラム
JP5054248B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、撮像装置
JP2020166628A (ja) 画像処理方法、画像処理装置、プログラム、画像処理システム、および、学習済みモデルの製造方法
JP7234057B2 (ja) 画像処理方法、画像処理装置、撮像装置、レンズ装置、プログラム、記憶媒体、および、画像処理システム
JP2010034964A (ja) 画像合成装置、画像合成方法及び画像合成プログラム
JP5479187B2 (ja) 画像処理装置及びそれを用いた撮像装置
JP2021140663A (ja) 画像処理方法、画像処理装置、画像処理プログラム、および記憶媒体
JP2024024012A (ja) 学習データの生成方法、学習方法、学習データ製造装置、学習装置、およびプログラム
EP3633602A1 (en) Image processing method, image processing apparatus, and program
JP5730036B2 (ja) 画像処理装置、撮像装置、画像処理方法およびプログラム。
JP2015115733A (ja) 画像処理方法、画像処理装置、撮像装置および画像処理プログラム
JP2021114180A (ja) 画像処理装置、画像処理方法、およびプログラム
JP7414745B2 (ja) 学習データの製造方法、学習方法、学習データ製造装置、学習装置、およびプログラム
JP2023116364A (ja) 画像処理方法、画像処理装置、画像処理システム、およびプログラム
WO2022249934A1 (ja) 画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム
JP2021114186A (ja) 画像処理装置、画像処理方法、およびプログラム
JP2021189929A (ja) 画像処理方法、プログラム、画像処理装置、および、画像処理システム
JP2020061129A (ja) 画像処理方法、画像処理装置、撮像装置、画像処理システム、プログラム、および、記憶媒体
JP2012156714A (ja) プログラム、画像処理装置、画像処理方法および撮像装置。