IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特開2024-175114画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム
<>
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図1
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図2
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図3
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図4
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図5
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図6
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図7
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図8
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図9
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図10
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図11
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図12
  • 特開-画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024175114
(43)【公開日】2024-12-17
(54)【発明の名称】画像処理方法、画像処理装置、プログラム、訓練済み機械学習モデルの製造方法、処理装置、画像処理システム
(51)【国際特許分類】
   H04N 23/60 20230101AFI20241210BHJP
   G06T 3/40 20240101ALI20241210BHJP
【FI】
H04N23/60 500
G06T3/40
【審査請求】有
【請求項の数】22
【出願形態】OL
(21)【出願番号】P 2024162657
(22)【出願日】2024-09-19
(62)【分割の表示】P 2021088597の分割
【原出願日】2021-05-26
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】日浅 法人
(72)【発明者】
【氏名】木村 良範
(72)【発明者】
【氏名】楠美 祐一
(57)【要約】
【課題】 撮像画像のサンプリングピッチを小さくする処理の精度を向上することである。
【解決手段】 本願明細書において説明される画像処理方法は、撮像画像と、該撮像画像の撮像に用いた光学機器の解像性能を表す情報である解像性能情報と、を取得する工程と、撮像画像と解像性能情報とに基づいて、撮像画像のサンプリングピッチを小さくした出力画像を生成する工程と、を有する。
【選択図】 図5
【特許請求の範囲】
【請求項1】
撮像画像と、前記撮像画像の撮像に用いた光学機器の解像性能を表す情報である解像性能情報と、を取得する工程と、
前記撮像画像と前記解像性能情報とに基づいて、前記撮像画像のサンプリングピッチを小さくした出力画像を生成する工程と、を有することを特徴とする画像処理方法。
【請求項2】
前記出力画像は、前記撮像画像を拡大またはデモザイクした画像であることを特徴とする請求項1に記載の画像処理方法。
【請求項3】
前記解像性能情報は、前記光学機器で発生するぼけの大きさに関する情報であることを特徴とする請求項1または2に記載の画像処理方法。
【請求項4】
前記解像性能情報は、前記光学機器の点像分布関数の拡がりまたは前記光学機器の変調伝達関数に基づく情報であることを特徴とする請求項1乃至3のいずれか一項に記載の画像処理方法。
【請求項5】
前記解像性能情報は、前記撮像画像の画素の位置に応じて異なる情報であることを特徴とする請求項1乃至4のいずれか一項に記載の画像処理方法。
【請求項6】
前記解像性能情報は、前記撮像画像の画素数に応じたサイズに値が配列されたマップであることを特徴とする請求項1乃至5のいずれか一項に記載の画像処理方法。
【請求項7】
前記値は、前記光学機器の変調伝達関数が所定の値となる周波数に基づく値であることを特徴とする請求項6に記載の画像処理方法。
【請求項8】
前記解像性能情報は、前記撮像画像の同一画素に対する異なる解像性能の成分を表す複数のチャンネル成分を有することを特徴とする請求項6または7に記載の画像処理方法。
【請求項9】
前記解像性能情報は、前記光学機器の種類または前記撮像画像を撮像した際の前記光学機器の状態を用いて取得され、
前記状態は、焦点距離、F値、フォーカス距離の少なくとも1つに関する情報であることを特徴とする請求項1乃至8のいずれか一項に記載の画像処理方法。
【請求項10】
前記解像性能情報は、前記撮像画像の撮像に用いた撮像素子の画素ピッチに関する情報を用いて取得されることを特徴とする請求項1乃至9のいずれか一項に記載の画像処理方法。
【請求項11】
前記出力画像は、前記光学機器で発生したぼけが前記撮像画像から補正された画像であることを特徴とする請求項1乃至10のいずれか一項に記載の画像処理方法。
【請求項12】
出力画像を生成する工程では、さらに前記撮像画像のノイズに関する情報を用いて前記出力画像を生成することを特徴とする請求項1乃至11のいずれか一項に記載の画像処理方法。
【請求項13】
前記ノイズに関する情報は、前記撮像画像の撮像時に発生したノイズの強さに関する情報と、前記撮像画像に実行されたデノイズに関する情報の少なくとも一方を含むことを特徴とする請求項12に記載の画像処理方法。
【請求項14】
前記出力画像は、前記撮像画像と前記解像性能情報とを処理する機械学習モデルを用いて生成されることを特徴とする請求項1乃至13のいずれか一項に記載の画像処理方法。
【請求項15】
前記解像性能情報は前記撮像画像の画素数に応じたサイズに値が配列されたマップであり、
前記機械学習モデルは、前記解像性能情報と前記撮像画像がチャンネル方向に連結された入力データを処理することで前記出力画像を生成することを特徴とする請求項14に記載の画像処理方法。
【請求項16】
前記機械学習モデルは1つ以上の残差ブロックを有することを特徴とする請求項14または15に記載の画像処理方法。
【請求項17】
前記機械学習モデルは、前記解像性能情報を用いずに前記撮像画像のサンプリングピッチを小さくした第1中間画像に、前記撮像画像と前記解像性能情報を用いて生成された前記撮像画像のサンプリングピッチよりもサンプリングピッチが小さい第2中間画像を足し合わせることで前記出力画像を生成することを特徴とする請求項14乃至16のいずれか一項に記載の画像処理方法。
【請求項18】
請求項1乃至17のいずれか一項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項19】
撮像画像と、前記撮像画像の撮像に用いた光学機器の解像性能を表す情報である解像性能情報と、を取得する取得手段と、
前記撮像画像と前記解像性能情報とに基づいて、前記撮像画像のサンプリングピッチを小さくした出力画像を生成する生成手段と、を有することを特徴とする画像処理装置。
【請求項20】
第1の画像と、前記第1の画像に対応する解像性能を表す情報である解像性能情報と、前記第1の画像よりもサンプリングピッチが小さい第2の画像と、を取得する工程と、
機械学習モデルを用いて、前記第1の画像のサンプリングピッチを小さくした出力画像を前記第1の画像と前記解像性能情報に基づいて生成する工程と、
前記出力画像と前記第2の画像を用いて前記機械学習モデルのウエイトを更新する工程と、
を有することを特徴とする訓練済み機械学習モデルの製造方法。
【請求項21】
第1の画像と、前記第1の画像に対応する解像性能を表す情報である解像性能情報と、前記第1の画像よりもサンプリングピッチが小さい第2の画像と、を取得するデータ取得手段と、
機械学習モデルを用いて、前記第1の画像のサンプリングピッチを小さくした出力画像を前記第1の画像と前記解像性能情報に基づいて生成する演算手段と、
前記出力画像と前記第2の画像を用いて前記機械学習モデルのウエイトを更新する更新手段と、
を有することを特徴とする処理装置。
【請求項22】
第1の装置と第2の装置を含む画像処理システムであって、
前記第1の装置は、撮像画像に対する処理を前記第2の装置に実行させるための要求を送信する送信手段を有し、
前記第2の装置は、
前記要求を受信する受信手段と、
撮像画像と、前記撮像画像の撮像に用いた光学機器の解像性能を表す情報である解像性能情報と、を取得する取得手段と、
前記撮像画像と前記解像性能情報とに基づいて、前記撮像画像のサンプリングピッチを小さくした出力画像を生成する生成手段と、
を有することを特徴とする画像処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像画像のサンプリングピッチを小さくする画像処理に関する。
【背景技術】
【0002】
特許文献1には、低画素画像をバイキュービック補間により高画素画像と同じ画素数に拡大してから、訓練した機械学習モデルへ入力することで、高解像な拡大画像を生成する方法が開示されている。画像の拡大処理のために訓練された機械学習モデルを用いることで、バイキュービック補間などの一般的な手法に比べて精度の高い画像拡大を実現できる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2018/0075581号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に開示された手法には、実際には存在しない偽構造(アーティファクト)が拡大画像に出現する、或いは、低画素画像に存在したモアレが拡大画像でも残存する問題がある。この問題は、機械学習モデルを用いない他の画像拡大の手法(バイキュービック補間やスパースコーディングなど)でも同様に発生する。また、この問題は画像拡大だけでなく、その他の画像のサンプリングピッチを小さくする処理(例えば、デモザイク)でも発生する。
【0005】
そこで、本発明は撮像画像のサンプリングピッチを小さくする処理の精度を向上することを目的とする。
【課題を解決するための手段】
【0006】
本発明の画像処理方法は、撮像画像と、前記撮像画像の撮像に用いた光学機器の解像性能を表す情報である解像性能情報と、を取得する工程と、前記撮像画像と前記解像性能情報とに基づいて、前記撮像画像のサンプリングピッチを小さくした出力画像を生成する工程と、を有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、撮像画像のサンプリングピッチを小さくする処理の精度を向上することができる。
【図面の簡単な説明】
【0008】
図1】実施例1及び2における変調伝達関数とナイキスト周波数の関係を示した図である。
図2】実施例1における画像処理システムのブロック図である。
図3】実施例1における画像処理システムの外観図である。
図4】実施例1における機械学習モデルの訓練のフローチャートである。
図5】実施例1における拡大画像の生成の流れを表した図である。
図6】実施例1及び2における機械学習モデルの構成を示した図である。
図7】実施例1における拡大画像の生成のフローチャートである。
図8】実施例2における画像処理システムのブロック図である。
図9】実施例2における画像処理システムの外観図である。
図10】実施例2における機械学習モデルの訓練のフローチャートである。
図11】実施例2におけるカラーフィルタ配列とナイキスト周波数の関係を示した図である。
図12】実施例2におけるデモザイク画像の生成の流れを表した図である。
図13】実施例2におけるデモザイク画像の生成のフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照符号を付し、重複する説明は省略する。
【0010】
実施形態を詳しく説明する前に、本発明の要旨を簡単に説明する。本発明では、撮像画像のサンプリングピッチを小さくする処理(以下、アップサンプルと呼称する)において、撮像画像の撮像に用いた光学機器の解像性能に関する情報である解像性能情報を用いる。これによって、アップサンプルの精度が向上する。その理由を説明するため、アップサンプルの課題とその発生原理を以下に詳述する。
【0011】
光学系によって形成された被写体像を撮像素子によって撮像画像へと変換する際、撮像素子の画素でサンプリング(標本化)を行う。そのため、被写体像を形成する周波数成分のうち、撮像素子のナイキスト周波数を超える成分は、エイリアシングによって低周波成分と混合され、モアレが発生する。撮像画像のアップサンプルでは、サンプリングピッチが小さくなることによってナイキスト周波数が増大するため、理想的にはその増大したナイキスト周波数までエイリアシングが発生していない画像が生成されることが望まれる。しかし、モアレを含む撮像画像に含まれる構造がモアレであるのか被写体本来の構造であるのかを区別した画像処理を行うことは一般に困難である。
【0012】
バイリニア補間に代表される一般的なアップサンプルでは、撮像画像をアップサンプルしてもモアレがそのまま残存する。これに対して、機械学習モデルを用いたアップサンプルでは、エイリアシングが発生する前の高周波をモアレからある程度推定することが可能なため、一部のモアレを除去することができることが期待される。しかし、前述のようにモアレと被写体の構造を区別させることは困難であるため、機械学習モデルを用いたとしても一部のモアレが被写体と誤認識されて残存し、一部の被写体がモアレと誤認識されて偽構造が生成され得る。
【0013】
そこで本発明では、撮像画像のアップサンプルにおいて、撮像画像の撮像に用いた光学機器の解像性能情報を用いる。これについて、図1(A)及び(B)を用いてさらに説明する。
【0014】
図1(A)及び(B)は、光学機器の解像性能を表す変調伝達関数(MTF)の周波数特性である。横軸がある方向における空間周波数、縦軸がMTFを表す。図1(A)は光学機器のカットオフ周波数003(本願明細書ではカットオフ周波数とはそれ以上の周波数でMTFが0になることを指す)が、ナイキスト周波数001以下である状態を表している。この場合、モアレは撮像画像に存在しない。サンプリング周波数002の周期でMTFを配置しても、MTFが互いにオーバーラップする領域がないためである。そのため、解像性能が図1(A)に該当する場合には、このことをアルゴリズムに与える(入力する)ことで、モアレが生じる前の高周波成分をモアレの構造から推定する必要がないとアルゴリズムに判断させることができる。これにより、画像処理結果に偽構造が生じることを抑制することができる。
【0015】
図1(B)はカットオフ周波数003がナイキスト周波数001を超えている状態を表している。この場合にも、このことをアルゴリズムに与えることで、エイリアシングによってモアレが発生し得る周波数帯域をアルゴリズムに特定させることができる。図1(B)の例では、サンプリング周波数002からカットオフ周波数003を減算した周波数004からナイキスト周波数001の間の帯域でモアレが発生する可能性があり、それ以外の帯域ではモアレは発生しない。このため、解像性能情報をアルゴリズムに与えることで、偽構造の発生を抑制することが可能となるのである。ゆえに、撮像画像のアップサンプルの精度を向上することが可能となる。
【0016】
[実施例1]
本発明の実施例1における画像処理システムに関して説明する。実施例1では、アップサンプルとして画像拡大(アップスケール)を行うが、デモザイクなどのその他のアップサンプルに対しても同様に適用が可能である。画像拡大は、撮像画像全体に対するサンプリング点の増大と、撮像画像の部分領域のサンプリング点の増大(トリミング画像の拡大やデジタルズームなど)を含む。また実施例1では、画像拡大に機械学習モデルを使用するが、スパースコーディングなどのその他の手法に対しても同様に適用が可能である。
【0017】
図2及び図3は各々、画像処理システム100のブロック図と外観図である。画像処理システム100は、互いに有線または無線のネットワークで接続された訓練装置101、画像拡大装置102、制御装置103、撮像装置104を有する。制御装置103は、記憶部131、通信部132、表示部133を有し、ユーザの指示に従って、撮像装置104から撮像画像を取得し、通信部132を介して撮像画像と画像拡大の実行要求とを画像拡大装置102へ送信する。
【0018】
撮像装置104は、結像光学系141、撮像素子142、画像処理部143、記憶部144を有する。結像光学系141は被写体空間の光から被写体の像を形成し、複数の画素が配列された撮像素子142は形成された像を撮像画像に変換する。この際、被写体の像の周波数成分のうち、撮像素子142のナイキスト周波数より高い周波数成分にはエイリアシングが発生する。その結果、撮像画像にはモアレが生じている可能性がある。画像処理部143は、撮像画像に対し、必要に応じて所定の処理(画素欠陥の補正や現像など)を実行する。撮像画像または画像処理部143によって処理が施された撮像画像は、記憶部144に記憶される。
【0019】
制御装置103は、通信または記憶媒体を介して撮像画像を取得する。取得する撮像画像は、撮像画像の全体でも良いし撮像画像の一部のみ(部分領域)でもよい。
【0020】
画像拡大装置102は、記憶部121、通信部(取得手段)122、取得部123、画像拡大部(生成手段)124を有し、訓練済みの機械学習モデルを用いて撮像画像を拡大し、拡大画像(出力画像)を生成する。この際、撮像画像の撮像に用いた光学機器(結像光学系141など)の解像性能に関する情報である解像性能情報を使用する。この処理に関する詳細は後述する。画像拡大装置102は、訓練装置101から訓練済みの機械学習モデルのウエイトの情報を取得し、記憶部121に記憶している。
【0021】
訓練装置101は、記憶部111、取得部112、演算部113、更新部114を有し、データセットを用いて機械学習モデルを予め訓練している。訓練によって生成された機械学習モデルのウエイトの情報は、記憶部111に記憶されている。
【0022】
画像拡大装置102による拡大画像の生成が行われると、制御装置103は拡大画像を画像拡大装置102から取得し、表示部133を介してユーザに提示する。
【0023】
ここで、訓練装置101で実行される機械学習モデルの訓練(ウエイトの決定)の方法(学習済みモデルの製造方法)に関して、図4のフローチャートを用いて説明する。実施例1では、GAN(敵対的生成ネットワーク)を用いた機械学習モデルの訓練を行うが、本発明はこれに限定されない。また、機械学習モデルは例えば、ニューラルネットワーク、遺伝的プログラミング、ベイジアンネットワークなどを含む。ニューラルネットワークは、CNN(Convolutional Neural Network)、GAN(Generative Adversarial Network)、RNN(Recurrent Neural Network)などを含む。
【0024】
図4の各ステップは、訓練装置101で実行される。
【0025】
ステップS101において、取得部112は、記憶部111から1組以上の高画素画像と低画素画像を取得する。記憶部111には、複数の高画素画像と低画素画像を含むデータセットが保存されている。すなわち、後に詳しく述べるように、取得部112は第1の画像(低画素画像)と、第1の画像よりもサンプリングピッチが小さい第2の画像(高画素画像)を取得するデータ取得手段としての機能を有する。
【0026】
低画素画像は、機械学習モデルの訓練時に機械学習モデル(実施例1では生成器)に入力される画像であり、相対的に低画素数な画像(サンプリングピッチが大きい画像)である。訓練済みの機械学習モデルを用いて実際に拡大される撮像画像の性質を、低画素画像が高精度に再現しているほど、訓練された機械学習モデルの精度も高くなる。撮像画像の性質とは、例えば解像性能、色表現、ノイズの特性などが挙げられる。例えば撮像画像がRGBで表現された画像であるのに対し、低画素画像がモノクロやYUVで表現された画像の場合、互いの色表現が一致しないため、タスクの精度(アップサンプルの精度)が低下する可能性がある。機械学習モデルによるタスクの種類によって重要となる撮像画像の性質は異なるものの、画像の拡大のタスクにおいては、前述したようにモアレの発生する周波数帯域の情報が重要であるため、解像性能が特に重要となる。故に、訓練に用いる複数の低画素画像の解像性能の範囲に、訓練済みの機械学習モデルを用いて実際に拡大される撮像画像の解像性能(実際に拡大される撮像画像を得るのに用いられた光学機器の解像性能)が収まっていることが望ましい。
【0027】
高画素画像は、機械学習モデルの訓練において、正解(ground truth)となる画像である。高画素画像は、対応する低画素画像と同一のシーンを写した画像であり、低画素画像よりサンプリングピッチが小さい(つまり、画素数が多い)。実施例1において、高画素画像のサンプリングピッチは、低画素画像のサンプリングピッチの半分である。故に、機械学習モデルは、入力された画像の画素数を4倍(縦横各々2倍)に拡大する。ただし、本発明はこれに限定されない。機械学習モデルが、様々な被写体の撮像画像に対応できるよう、訓練に用いる複数の低画素画像と高画素画像は様々な被写体(向きや強さの異なるエッジ、テクスチャ、グラデーション、平坦部など)を含んでいることが望ましい。また、高画素画像の少なくとも一部は、低画素画像のナイキスト周波数以上の周波数成分を有する。
【0028】
実施例1において、高画素画像と低画素画像は、原画像から撮像シミュレーションによって生成されたものを使用する。ただし、本発明はこれに限定されず、原画像の代わりに被写体空間の3次元データを用いた撮像シミュレーションにより得られた画像を用いて高画素画像および低画素画像を生成しても良い。また、画素ピッチの異なる撮像素子による実写によって高画素画像と低画素画像を生成してもよい。
【0029】
原画像は未現像のRAW画像(光の強度と信号値が線型の関係である画像)であり、高画素画像以下のサンプリングピッチを有し、少なくとも一部は低画素画像のナイキスト周波数以上の周波数成分を有する。低画素画像は、原画像を被写体として、実際に訓練済みの機械学習モデルで拡大される撮像画像と同じ撮像過程を再現することで生成される。具体的には、原画像に対し、結像光学系141で発生する収差や回折によるぼけ、撮像素子142の光学ローパスフィルタや画素開口などによるぼけを与える。訓練済みの機械学習モデルで拡大される撮像画像を得るのに用いられる光学機器に複数の種類や状態が存在し、それらによって撮像画像に異なるぼけが作用し得る場合、データセットにそれら複数のぼけが付与された低画素画像が含まれるようにすると良い。ぼけは、撮像素子142の各画素の位置(結像光学系141の光軸に対する像高とアジムス)で変化し得る他、結像光学系141が様々な状態(例えば焦点距離、F値、フォーカス距離)を取り得る場合は、その状態によっても変化する。また、撮像装置104がレンズ交換式カメラであって結像光学系141として複数の種類の光学系が用いられ得る場合は、光学系の種類によってもぼけは変化する。さらに、撮像装置104に種類があり、画素ピッチや光学ローパスフィルタが異なる場合も、ぼけは変化する。
【0030】
なお、原画像に付与するぼけは、結像光学系141や撮像素子142で発生するぼけそのものでもよいし、そのぼけを近似したぼけでもよい。例えば、結像光学系141や撮像素子142で発生するぼけのPSF(点像分布関数)を、2次元Gauss分布関数、複数の2次元Gauss分布関数の混合、Zernike多項式などで近似してもよい。また、OTF(光学伝達関数)またはMTF(変調分布関数)を2次元Gauss分布関数、複数の2次元Gauss分布関数の混合、Legendre多項式などで近似してもよい。この際、近似されたPSF、OTF、MTF等を用いて原画像にぼけを付与すれば良い。
【0031】
原画像にぼけを与えた後は、撮像素子142のサンプリングピッチでダウンサンプルする。さらに、撮像素子142は、RGB(Red、Green、Blue)のカラーフィルタがBayer配列されているため、低画素画像もBayer配列になるようにサンプリングすると良い。ただし、本発明はこれに限定されず、撮像素子142は、モノクロ、ハニカム配列、3板式などでもよい。訓練済みの機械学習モデルで拡大される撮像画像を得るのに用いられる撮像素子142が複数種類あり、撮像画像の画素ピッチが変化し得る場合は、変化する範囲をカバーするように複数のサンプリングピッチに対して低画素画像を生成すれば良い。また、実施例1では、低画素画像に撮像素子142で発生するノイズも付与する。低画素画像にノイズを付与しない(機械学習モデルの訓練でノイズを考慮しない)場合、撮像画像の拡大の際に被写体だけでなくノイズも被写体の構造とみなされて強調されてしまうおそれがあるためである。撮像画像に発生するノイズの強さに幅がある(撮像時のISO感度が複数あり得るなど)場合、発生し得る範囲でノイズの強さを変化させた複数の低画素画像がデータセットに含まれるようにすると良い。
【0032】
高画素画像は、原画像に低画素画像の画素ピッチの半分の画素開口によるぼけを付与し、低画素画像のサンプリングピッチの半分でダウンサンプルしてBayer化することで生成される。なお、原画像と高画素画像のサンプリングピッチが等しい場合、原画像をそのまま高画素画像としてもよい。実施例1では、結像光学系141の収差と回折によるぼけ、および撮像素子142の光学ローパスフィルタによるぼけは、高画素画像生成時に付与しない。これによって、機械学習モデルは画像の拡大と共に、前述のぼけの補正も行うように訓練される。ただし、本発明はこれに限定されず、高画素画像にも低画素画像と同様のぼけを付与してもよいし、或いは低画素画像に付与したぼけを縮小して高画素画像に付与してもよい。また、実施例1において、高画素画像の生成の際、ノイズは付与しない。これによって、機械学習モデルは、画像の拡大と共にデノイズを実行するように訓練される。ただし、本発明はこれに限定されず、低画素画像に付与したノイズと同程度、または異なる強度のノイズを付与してもよい。なお、高画素画像にノイズを付与する場合、低画素画像のノイズと相関のあるノイズ(例えば低画素画像に付与されたノイズと同じ乱数によって生成されたノイズ)を付与することが望ましい。互いのノイズが無相関の場合、データセットの複数の画像で訓練することで高画素画像のノイズの影響が平均化されてしまい、所望の効果が得られない場合があるためである。
【0033】
実施例1では、現像済みの撮像画像に対して画像の拡大を実行する。そのため、低画素画像と高画素画像も現像済みの画像である必要がある。故に、Bayer状態の低画素画像と高画素画像に対して、撮像画像と同様の現像処理を実行し、データセットに格納する。ただし、発明はこれに限定されず、低画素画像と高画素画像をRAWとし、撮像画像もRAWの状態で拡大する構成としてもよい。また、撮像画像にJPEG符号化などの圧縮ノイズが発生する場合、同様の圧縮ノイズを低画素画像に付与してもよい。これによって機械学習モデルは、画像の拡大と共に、圧縮ノイズの除去も実行するように訓練される。
【0034】
ステップS102において、取得部112は、解像性能情報とノイズ情報を取得する。すなわち、取得部112は解像性能情報を取得するデータ取得手段としての機能も有する。
【0035】
解像性能情報は、低画素画像に付与されたぼけに応じた解像性能に関する情報である。解像性能が低い(MTFが低画素画像のナイキスト周波数以下で0または充分小さい値になる)場合、低画素画像にモアレは存在しない。一方、解像性能が高い(ナイキスト周波数以上の周波数でMTFが値を有する)場合、エイリアシングが発生する周波数帯域以外ではモアレが存在しない。このため、解像性能情報からは、低画素画像においてモアレが発生する周波数帯域に関する情報を得ることができる。故に、解像性能情報は、低画素画像に付与されたぼけの大きさに基づく情報を含み得る。また、解像性能情報は、ぼけのPSFの拡がりか、ぼけのMTFかに基づく情報を含み得る。なお、ぼけのPTF(位相伝達関数)のみでは、解像性能情報には当たらない。PTFは、結像位置のずれを表すものにすぎないためである。
【0036】
なお実施例1において、撮像画像の画像拡大時に使用される解像性能情報は、結像光学系141の収差と回折、撮像素子142の光学ローパスフィルタと画素開口等の全ての影響を統合したぼけに対する情報である。ただし、本発明はこれに限定されず、一部のぼけ(例えば、結像光学系141で発生するぼけ)のみで解像性能を表してもよい。例えば、光学ローパスフィルタや画素ピッチが固定で変化しない場合、結像光学系141で発生するぼけのみで解像性能を表しても問題がない。ただしこの場合、低画素画像の解像性能も対応するように決定する必要がある。低画素画像に付与したぼけから光学ローパスフィルタと画素開口の影響を除外したぼけに対して、解像性能情報を決定するとよい。
【0037】
ノイズ情報は、低画素画像に付与されたノイズに関する情報である。ノイズ情報は、ノイズの強さを表す情報を含む。ノイズの強さは、ノイズの標準偏差やそれに対応する撮像素子142のISO感度などで表すことができる。また、拡大前の撮像画像にデノイズが実行されていることがある場合、低画素画像にも同様のデノイズを実行し、実行したデノイズのパラメータ(強さなどを表す)をノイズ情報としても良い。また、ノイズ情報としてノイズの強さに関する情報とデノイズに関する情報を併用しても良い。これによってノイズやデノイズが変化した場合でも、弊害を抑制して高精度な画像拡大を実現できる。
【0038】
以下に、解像性能情報とノイズ情報の具体例を示す。実施例1において、解像性能情報は以下の方法で生成されるが、本発明はこれに限定されない。
【0039】
実施例1における解像性能情報は、2次元(水平垂直)の画素数(サイズ)が低画素画像と同じであるマップである。マップの各画素は、対応する低画素画像の画素における解像性能を示す。すなわち、実施例1における解像性能情報は低画素画像の位置に応じて異なる情報である。マップは複数のチャンネルを有し、1チャンネル目が水平方向の解像性能、2チャンネル目が垂直方向の解像性能を示す。すなわち、実施例1における解像性能情報は低画素画像の同一画素に対する異なる解像性能の成分を表す複数のチャンネル成分を有する情報である。
【0040】
また、解像性能は、低画素画像に付与したぼけの白色に対するMTFが、該当の方向で既定値(所定の値)になる周波数に基づく値である。「既定値になる周波数」についてさらに具体的に述べると、MTFが閾値(実施例1では0.5だが、これに限定されない)以下になる周波数のうちの最小周波数である。さらに、解像性能は、前述の最小周波数を低画素画像のサンプリング周波数で規格化した値で示される。規格化に用いるサンプリング周波数は、画素ピッチの逆数で、RGBで共通である。すなわち、実施例1の解像性能情報は低画素画像に対応した画素ピッチに関する情報を用いて取得される情報である。ただし、解像性能を表す値はこれに限定されない。また、白色でなくRGB個別の解像性能を6チャンネルで表現してもよく、規格化に用いる周波数もRGB各々で異なっていてもよい。
【0041】
さらに、解像性能情報のその他の例を以下に示す。解像性能情報で示す解像性能の方向は、メリジオナル(動径)方向とサジタル(方位角)方向でもよい。さらに画素のアジムスを表す3チャンネル目を追加してもよい。また2方向だけでなく、さらにチャンネル数を増やして、複数の方向の解像性能を表してもよい。反対に、特定の方向、または全方向の平均をとるなどして、1チャンネルのみで解像性能を表してもよい。また、解像性能情報は、マップでなくスカラー値やベクトルであっても良い。例えば結像光学系141が超望遠レンズの場合やF値が大きい場合、像高とアジムスによる解像性能の変化が非常に小さくなる。そのため、前述のような場合、画素毎に性能を示すマップでなく、スカラー値でも発明の効果を十分に得ることができる。また、解像性能として、MTFが既定値になる周波数に基づく値ではなく、MTFの積分値などを用いてもよい。
【0042】
さらに、解像性能はPSFの拡がりで表されてもよい。複数の方向のPSFの半値幅や、PSFの強度が閾値以上の値を持つ空間的な範囲で、解像性能を表してもよい。なおこの場合にも、解像性能をマップではなくスカラー値で表す際には、MTFについて述べたのと同様に、特定の方向や方向の平均をとるとよい。
【0043】
また、MTFまたはPSFをフィッティングした係数で解像性能を表してもよい。例えば、冪級数、Fourier級数、混合Gaussモデル、Legendre多項式、Zernike多項式などでMTFやPSFをフィッティングし、複数のチャンネルでフィッティングの各係数を表すとよい。
【0044】
さらに解像性能情報は、低画素画像に付与したぼけから計算によって生成してもよいし、予め複数のぼけと対応する解像性能情報を記憶部111に記憶しておき、そこから取得してもよい。
【0045】
また、ノイズ情報は、解像性能情報と同様に、低画素画像と2次元の画素数が同じマップである。本実施例では1チャンネル目が低画素画像のデノイズする前のノイズの強さ、2チャンネル目が実行されたデノイズの強さを表すパラメータである。低画素画像に圧縮ノイズが存在する場合、さらに圧縮ノイズの強さをチャンネルに追加してもよい。ノイズ情報も、解像性能情報と同様に、スカラー値やベクトルの形式でもよい。
【0046】
なお、ステップS102とステップS101の実行順は逆でも良いし同時でも良い。
【0047】
ステップS103において、演算部113は、機械学習モデルである生成器を用いて、低画素画像と解像性能情報とノイズ情報から、拡大画像を生成する。拡大画像は、低画素画像のサンプリングピッチを小さくした画像である。すなわち、演算部113は機械学習モデルを用いて、低画素画像のサンプリングピッチを小さくした拡大画像を低画素画像と解像性能情報に基づいて生成する演算手段としての機能を有する。
【0048】
図5を用いて、拡大画像の生成に関して説明する。図5において、sumは要素(画素)毎の和、concatenationはチャンネル方向での連結を示す。前述のように、実施例1において解像性能情報202とノイズ情報203は、低画素画像201と2次元の画素数が等しいマップである。低画素画像201、解像性能情報202、ノイズ情報203はチャンネル方向に連結された後、生成器211に入力データとして入力され、残差成分204が生成される。残差成分204は、高画素画像と2次元の画素数が同じである。低画素画像201をバイリニア補間などで高画素画像と同じ画素数に拡大し、残差成分204と和を取ることで、拡大画像205が生成される。すなわち実施例1において、拡大画像205は、解像性能情報を用いずに低画素画像のサンプリングピッチを小さくした第1中間画像に、低画素画像と解像性能情報を用いて生成された第2中間画像(残差成分204)を足し合わせることで生成される。なお第2中間画像は、低画素画像のサンプリングピッチよりもサンプリングピッチが小さい画像である。
【0049】
なお、残差成分204を経ずに、生成器211で拡大画像205を直接生成してもよい。また、スカラー値やベクトルのように低画素画像201と2次元の画素数が一致しない情報を解像性能情報202やノイズ情報203として用いる場合、畳み込み層を介して解像性能情報202やノイズ情報203を特徴マップへと変換しても良い。この場合、特徴マップに変換された解像性能情報202やノイズ情報203を低画素画像201(またはそれを変換した特徴マップ)とチャンネル方向に連結すれば良い。なお、低画素画像201を特徴マップに変換した後に解像性能情報202やノイズ情報203(またはそれらを特徴マップ化した情報)とチャンネル方向に連結する場合、低画素画像201の特徴マップの画素数は必ずしも低画素画像201の画素数と一致しない。この場合には、解像性能情報202やノイズ情報203(あるいはそれらを特徴マップとして表現した情報)の二次元の画素数は、低画素画像201を変換した特徴マップの二次元の画素数に合わせれば良い。
【0050】
本実施例における生成器211は、図6(A)に示した構成のCNNである。ただし、本発明はこれに限定されない。
【0051】
図6(A)において、conv.は畳み込み、ReLUはRectified Linear Unit、sub-pixel conv.はサブピクセル畳み込みを表す。生成器211のウエイトの初期値は、乱数などで生成するとよい。
【0052】
実施例1では、サブピクセル畳み込みで入力の2次元の画素数を4倍にすることで、残差成分204の2次元の画素数を高画素画像の画素数と同じにする。
【0053】
residual blockは残差ブロックである。残差ブロックは、複数の線型和層と、活性化関数とを有し、ブロックの入力と出力で和をとるように構成される。実施例1における残差ブロックは図6(B)で示される。実施例1において、生成器211は、残差ブロックを16個有している。ただし、残差ブロックの数はこれに限定されない。生成器211の性能をより高めたい場合は、残差ブロックの数を増やすとよい。
【0054】
GAPはglobal average pooling、denseは全結合、sigmoidはシグモイド関数、multiplyは要素毎の積を表す。GAPと全結合によってアテンションマップを生成することにより、タスクの高精度化を図っている。
【0055】
なお、低画素画像201を高画素画像と画素数が一致するよう、事前にバイリニア補間などで拡大し、生成器211に入力してもよい。この場合、生成器211にサブピクセル畳み込みは不要となる。ただし、低画素画像201の2次元の画素数が多くなると、線型和をとる回数が増え、計算負荷が大きくなる。そのため、実施例1のように低画素画像201の拡大を行わずに生成器211へ入力し、内部で拡大することが望ましい。
【0056】
図4のステップS104において、演算部113は、拡大画像205と高画素画像それぞれを識別器に入力し、識別出力を生成する。識別器は、入力された画像が生成器211で生成された画像(低画素画像から高周波成分が推定された拡大画像205)か、実際の高画素画像か(撮像時に低画素画像のナイキスト周波数以上の周波数成分が取得された画像)を識別する。識別器は、CNNなどを用いるとよい。識別器のウエイトの初期値は、乱数などで決定する。なお、識別器に入力する高画素画像は、実際の高画素画像であればどのようなものでも良く、低画素画像201に対応する画像である必要はない。
【0057】
ステップS105において、更新部114は、識別出力と正解ラベルに基づいて、正しい識別出力が生成されるように識別器のウエイトを更新する。実施例1では、拡大画像205に対する正解ラベルが0、実際の高画素画像に対する正解ラベルが1とする。損失関数にはシグモイドクロスエントロピーを使用するが、その他の関数を使用してもよい。ウエイトの更新には、誤差逆伝搬法(Backpropagation)を用いる。
【0058】
ステップS106において、更新部114は、第1の損失と第2の損失に基づいて、生成器211のウエイトを更新する。第1の損失とは、低画素画像201に対応する高画素画像と拡大画像205との差異に基づく損失である。実施例1ではMSE(Mean Square Error)を使用するが、MAE(Mean Absolute Error)などでもよい。第2の損失は、拡大画像205を識別器に入力した際の識別出力と正解ラベル1とのシグモイドクロスエントロピーである。生成器211は、拡大画像205を識別器が実際の高画素画像と誤判定するように訓練される。このため、正解ラベルを1(実際の高画素画像に対応)とする。なお、ステップS105とステップS106の実行順序は逆でもよい。すなわち、更新部114は拡大画像と高画素画像を用いて機械学習モデルのウエイトを更新する更新手段としての機能を有する。
【0059】
ステップS107において、更新部114は、生成器211の訓練が完了したか判定する。未完と判定した場合、ステップS101に戻って新たな1組以上の低画素画像201と高画素画像を取得する。完了の場合、本フローによって製造された訓練済みの機械学習モデルのウエイトの情報を記憶部111に記憶する。なお、実際の画像拡大時には生成器211しか使用しないため、生成器211のみのウエイトを記憶し、識別器のウエイトを記憶しないようにしてもよい。
【0060】
なお、識別器を用いたGANの訓練の前に、第1の損失のみを用いて生成器211を訓練しておいてもよい。また、記憶部111に第1のデータセットと第2のデータセットを記憶しておき、第1のデータセットでステップS101乃至S107の訓練を行い、そのウエイトを初期値として第2のデータセットでステップS101乃至S107の訓練を行ってもよい。第1のデータセットは、第2のデータセットに対して、低画素画像のナイキスト周波数以上の高周波成分を有する高画素画像が少ない(つまり、低画素画像のモアレが少ない)。そのため、第1のデータセットで訓練した生成器211は、モアレが残存しやすいが、偽構造も出現しにくくなる。これに対し、第2のデータセットで訓練した生成器211は、モアレが除去できるが、偽構造も出現しやすくなる。第2のデータセットによる訓練中、生成器211のウエイトの途中経過を記憶しておくことで、モアレ除去と偽構造のバランスが取れたウエイトを後から選択することができる。
【0061】
次に、撮像画像の拡大処理に関して、図7のフローチャートを用いて説明する。各ステップは画像拡大装置102または制御装置103で実行される。
【0062】
ステップS201において、制御装置103の通信部132は、画像拡大装置102へ撮像画像と撮像画像の拡大処理の実行の要求とを送信する。すなわち通信部132は撮像画像に対する処理を画像拡大装置102に実行させるための要求を送信する送信手段としての機能を有する。ただし、画像拡大装置102が撮像装置を制御装置103以外から取得できる場合には、必ずしも制御装置103は撮像画像を画像拡大装置102に送信しなくても良い。撮像画像は、訓練時と同様に現像後の画像である。
【0063】
ステップS202において、画像拡大装置102の通信部122は、制御装置103から送信された撮像画像と撮像画像に対する拡大処理の実行の要求とを取得する。すなわち、通信部122は制御装置103からの要求を受信する受信手段としての機能を有する。また、通信部122は撮像画像を取得する取得手段としての機能を有する。
【0064】
ステップS203において、取得部123は、記憶部121から生成器のウエイトの情報、解像性能情報、ノイズ情報を取得する。すなわち、取得部123は解像性能情報を取得する取得手段としての機能を有する。解像性能情報は、撮像画像を撮像した際の光学機器の解像性能を示した情報である。ここで、実施例1における光学機器とは、結像光学系141、撮像素子142の光学ローパスフィルタと画素開口を含む。解像性能情報とノイズ情報の取得のため、画像拡大装置102は撮像画像のメタ情報から必要な情報を取得する。必要な情報とは、例えば結像光学系141の種類、結像光学系141の撮像時の状態(焦点距離、F値、フォーカス距離)、撮像素子142の画素ピッチ、光学ローパスフィルタ、撮像時のISO感度(ノイズの強さ)である。その他、撮像画像のデノイズの有無とデノイズパラメータ、トリミング位置(トリミング後の撮像画像に対する結像光学系141の光軸の位置)、などを取得しても良い。画像拡大装置102は、取得した情報と、記憶部121に記憶された結像光学系141の解像性能に関するデータテーブルから、解像性能情報(実施例1では2チャンネルのマップ)を生成する。記憶部121には、結像光学系141の種類、状態、像高、アジムスのサンプリング点に対応した解像性能に関する情報が、データテーブルとして記憶されている。そのデータテーブルから、撮像画像に対応した解像性能情報を補間などによって生成することができる。なお、実施例1における解像性能情報は、訓練時と同様であり、2次元の画素数が撮像画像と同じマップで、各画素の1チャンネル目に水平方向、2チャンネル目に垂直方向の解像性能を表す値である。解像性能を表す値としては、該当の方向のMTFが閾値(0.5)を下回る最小周波数を、撮像素子142のサンプリング周波数(画素ピッチの逆数)で規格化した値を用いる。MTFは訓練時と同様に、結像光学系141、撮像素子142の光学ローパスフィルタと画素開口の影響を合わせたぼけの白色に対するMTFである。なお、撮像画像の解像性能が変化しない(結像光学系141と撮像素子142の種類や状態が固定されている)場合、マップの状態の解像性能情報を記憶部121に記憶しておき、呼び出すだけでもよい。ノイズ情報も、2次元の画素数が撮像画像と同じマップであり、1チャンネル目が撮像時に発生するノイズの強さ、2チャンネル目が撮像画像に実行されたデノイズパラメータである。
【0065】
ステップS204において、画像拡大部124は、撮像画像、解像性能情報、ノイズ情報から図5に示される生成器を用いて、拡大画像を生成する。拡大画像は、撮像画像に対してサンプリングピッチが半分(画素数が4倍)になった画像である。すなわち、画像拡大部124は撮像画像のサンプリングピッチを小さくした出力画像を生成する生成手段としての機能を有する。
【0066】
ステップS205において、通信部122は、制御装置103へ拡大画像を送信する。その後、画像拡大装置102の処理を終了する。
【0067】
ステップS206において、制御装置103の通信部132は、拡大画像を取得し、制御装置103の処理を終了する。なお、取得された拡大画像は記憶部131に記憶、または表示部133に表示される。或いは、制御装置103または画像拡大装置102から、有線または無線経由で接続されたその他の記憶装置に記憶してもよい。
【0068】
実施例1では画像の拡大に機械学習モデルを用いたが、その他の手法を使用してもよい。例えば、スパースコーディングの場合、モアレの発生していない低画素画像と、低画素画像に対応する高画素画像で第1の辞書セットを生成する。さらに、モアレの発生している低画素画像と、それに対応する高画素画像で第2の辞書セットを生成する。撮像画像の解像性能情報に基づいて、モアレが発生しない領域では第1の辞書で画像拡大を行い、その他の領域では第2の辞書で画像拡大を行うなどすればよい。また、実施例1において、撮像画像は1枚であったが発明はそれに限定されず、サブピクセルで位置ずれした複数の撮像画像と解像性能情報から、拡大画像を生成してもよい。
【0069】
以上の構成によって、撮像画像のアップサンプルの精度を向上することが可能な画像処理システムを提供することができる。
【0070】
[実施例2]
本発明の実施例2における画像処理システムに関して説明する。実施例2では、アップサンプルとしてデモザイクを行うが、その他のアップサンプルに対しても同様に適用が可能である。また、デモザイクには機械学習モデルを使用するが、その他の手法に対しても同様に適用が可能である。
【0071】
図8及び図9は各々、画像処理システム300のブロック図と外観図である。画像処理システム300は、訓練装置301と撮像装置302を有する。撮像装置302は、結像光学系321、撮像素子322、画像処理部323、記憶部324、通信部325、表示部326を有する。結像光学系321は被写体空間の光から被写体像を形成し、撮像素子322は被写体像を撮像して撮像画像を生成する。撮像画像は、RGBの画素がBayer配列された画像である。撮像画像は、撮像前の被写体空間のライブビューや、ユーザによってレリーズが押された際に取得され、画像処理部323で現像処理を実行された後、記憶部324に記憶、または表示部326に表示される。撮像画像の現像処理の際、機械学習モデルを用いたデモザイクが実行され、デモザイク画像(出力画像)が生成される。機械学習モデルは、予め訓練装置301によって訓練されており、訓練済みのウエイトの情報は、通信部325を介して取得される。ただし、訓練装置301によって訓練された訓練済みウエイトは予め(例えば出荷時)撮像装置の記憶部324に記憶されていても良い。撮像画像のデモザイクにおいて、結像光学系321の解像性能に関する情報である解像性能情報が使用される。この処理に関して詳細に説明する。
【0072】
まず、機械学習モデルの訓練に関して、図10のフローチャートを用いて説明する。各ステップは訓練装置301で実行される。
【0073】
ステップS301において、取得部312は、記憶部311から1組以上のモザイク画像と正解画像を取得する。モザイク画像は、撮像画像と同じRGBのBayer画像である。図11(A)にBayer配列、図11(B)にBayer配列での各色のナイキスト周波数を図示した。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配列に限定されない。
【0074】
ステップS302において、演算部313は、解像性能情報を取得する。実施例2では、RGBごとに解像性能情報を生成する。RGB各々に対して実施例1と同様に水平垂直方向でMTFが閾値以下になる最小周波数を、RGBそれぞれのナイキスト周波数で規格化した値を解像性能とする。
【0075】
ステップS303において、演算部313は、モザイク画像と解像性能情報を機械学習モデルへ入力し、デモザイク画像を生成する。実施例2では、図12で示されたような流れでデモザイク画像を生成する。モザイク画像501をR、G1、G2、Bの4チャンネルに並び替えたRGGB画像502を生成する。RGGB画像502と、RGGB各色の各画素の解像性能を示した8(4×2)チャンネルのマップである解像性能情報503とを、チャンネル方向に連結し、機械学習モデル511へ入力してデモザイク画像504を生成する。機械学習モデル511は、図6に示された構成と同様であるが、本発明はこれに限定されない。また、モザイク画像501を4チャンネルに並び替えず、Bayer配列のまま機械学習モデルへ入力する構成としてもよい。
【0076】
ステップS304において、更新部314は、正解画像とデモザイク画像504の誤差から、機械学習モデル511のウエイトを更新する。
【0077】
ステップS305において、更新部314は、機械学習モデル511の訓練が完了したかの判定を行う。訓練が完了していないと判定された場合、ステップS301へ戻り、完了したと判定された場合、訓練を終了してウエイトの情報を記憶部311に記憶する。
【0078】
次に、図13のフローチャートを用いて、撮像画像のデモザイクに関して説明する。各ステップは画像処理部323で実行される。
【0079】
ステップS401において、取得部(取得手段)323aは、撮像画像と解像性能情報を取得する。撮像画像はBayer配列の画像であり、撮像時の結像光学系の状態などから解像性能情報を記憶部324から取得する。
【0080】
ステップS402において、取得部323aは、機械学習モデルのウエイトの情報を記憶部324から取得する。なお、ステップS401とステップS402の実行順序は問わない。
【0081】
ステップS403において、デモザイク部(生成手段)323bは、図12に示す流れで、撮像画像と解像性能情報からデモザイク画像を生成する。デモザイク画像は、撮像画像がデモザイクされた画像である。
【0082】
画像処理部323は、必要に応じてデノイズやガンマ補正などその他の処理を実行してもよい。また、デモザイクと同時に実施例1の画像の拡大を併用してもよい。
【0083】
以上の構成によって、撮像画像のアップサンプルの精度を向上することが可能な画像処理システムを提供することができる。
【0084】
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0085】
各実施例によれば、撮像画像のアップサンプルを向上することが可能な画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体を提供することができる。
【0086】
また、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されたものではなく、その要旨の範囲内で様々な変形、及び変更が可能である。
【符号の説明】
【0087】
102 画像拡大装置(画像処理装置)
122 通信部(取得手段)
123 取得部(取得手段)
124 画像拡大部(生成手段)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13