JP2024032621A - 画像処理方法、画像処理装置、及びプログラム - Google Patents
画像処理方法、画像処理装置、及びプログラム Download PDFInfo
- Publication number
- JP2024032621A JP2024032621A JP2022136370A JP2022136370A JP2024032621A JP 2024032621 A JP2024032621 A JP 2024032621A JP 2022136370 A JP2022136370 A JP 2022136370A JP 2022136370 A JP2022136370 A JP 2022136370A JP 2024032621 A JP2024032621 A JP 2024032621A
- Authority
- JP
- Japan
- Prior art keywords
- image
- weight
- image processing
- processing method
- generating
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 110
- 238000003672 processing method Methods 0.000 title claims description 33
- 238000012937 correction Methods 0.000 claims abstract description 92
- 230000003287 optical effect Effects 0.000 claims description 34
- 238000005316 response function Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 28
- 238000010801 machine learning Methods 0.000 claims description 28
- 238000003860 storage Methods 0.000 claims description 22
- 238000012935 Averaging Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 42
- 238000010586 diagram Methods 0.000 abstract description 28
- 230000009931 harmful effect Effects 0.000 abstract description 7
- 238000000034 method Methods 0.000 description 68
- 230000008569 process Effects 0.000 description 34
- 238000003384 imaging method Methods 0.000 description 29
- 230000004075 alteration Effects 0.000 description 23
- 238000012549 training Methods 0.000 description 20
- 230000002411 adverse Effects 0.000 description 18
- 229920006395 saturated elastomer Polymers 0.000 description 18
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000010606 normalization Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000013041 optical simulation Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4015—Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/646—Circuits for processing colour signals for image enhancement, e.g. vertical detail restoration, cross-colour elimination, contour correction, chrominance trapping filters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/73—Colour balance circuits, e.g. white balance circuits or colour temperature control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/84—Camera processing pipelines; Components thereof for processing colour signals
- H04N23/843—Demosaicing, e.g. interpolating colour pixel values
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
【課題】 ぼけ補正の効果を維持しつつ、ぼけ補正による弊害を低減することができる。【解決手段】 第1の画像を鮮鋭化することで第2の画像を生成し、第1の画像に基づいて第1の重みマップを生成し、第1の画像に基づいて第1の重みマップを生成し、第1及び第2の画像と、第1及び第2の重みマップとに基づいて第3の画像を生成し、第1及び第2の重みマップは、第3の画像の生成における第1又は第2の画像の重みを示す。【選択図】 図1
Description
本発明は、機械学習モデルを用いた画像処理方法に関する。
光学系の収差による撮像画像の劣化を補正(ぼけ補正)するためにフィルタ(例えばウィーナーフィルタや逆フィルタ)を用いた逆畳み込みを行う画像処理方法が知られている。しかし、フィルタを用いたぼけ補正処理を行う場合、撮像画像において画素値(画素値)が飽和している部分(輝度飽和部)及びその周辺部にリンギングやアンダーシュートなどの弊害が発生するおそれがある。
特許文献1には、画像における領域が、輝度飽和部及びその周辺部かどうかの判定の結果に基づいてぼけ補正の補正量を減らすことで、輝度飽和部及びその周辺部における弊害が少ない画像を生成する方法が開示されている。
しかしながら、特許文献1の方法では輝度飽和部及びその周辺部における弊害が少ない画像を生成できる一方で、ぼけ補正の補正量を減らしているため、ぼけ補正の効果も低下するという課題がある。
そこで本発明は、画像処理においてぼけ補正の効果を維持しつつ、ぼけ補正による弊害を低減することを目的する。
本発明の画像処理方法は、第1の画像を鮮鋭化することで第2の画像を生成し、第1の画像に基づいて第1の重みマップを生成し、第1の画像に基づいて第1の重みマップを生成する。また、第1及び第2の画像と、第1及び第2の重みマップとに基づいて第3の画像を生成し、第1及び第2の重みマップは、第3の画像の生成における第1又は第2の画像の重みを示すことを特徴とする。
本発明によれば、ぼけ補正の効果を維持しつつ、ぼけ補正による弊害を低減することができる。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
まず、各実施例の具体的な説明を行う前に、本発明の実施形態の要旨を説明する。本実施形態における画像処理方法は、まず光学系及び撮像素子を用いた撮像により取得された撮像画像における光学系に起因するぼけを、機械学習モデルを用いて鮮鋭化することで推定画像を生成する。そして、撮像画像と推定画像の画素値に基づいて2つの重みマップを生成し、その2つ重みマップと撮像画像と推定画像に基づいて補正画像を生成する。ここで、光学系に起因するぼけとは、収差、回折、デフォーカスによるぼけや、光学ローパスフィルタによるぼけ、撮像素子における画素の開口率の低下の少なくとも一つを含む。機械学習モデルとしては、例えばニューラルネットワーク、遺伝的プログラミング、ベイジアンネットワークなどを採用することができる。また、ニューラルネットワークは、例えばCNN(Convolutional Neural Network)、GAN(Generative Adversarial Network)、RNN(Recurrent Neural Network)などである。
本実施形態の処理を適用することにより、ぼけ補正(先鋭化)の効果を維持しつつ、ぼけ補正による弊害を低減することができる。
なお、以下の実施例に述べる各画像処理は、機械学習モデルの学習に用いる学習データを適宜変更することで、鮮鋭化処理に加えて高コントラスト化、明るさ向上、デフォーカスぼけ変換、ライティング変換などの画像処理に対しても適用可能である。
[実施例1]
まず、図2及び図3を参照して本発明の実施例1における画像処理システム100に関して説明する。図2は、本実施例における画像処理システム100のブロック図である。図3は、画像処理システム100の外観図である。
まず、図2及び図3を参照して本発明の実施例1における画像処理システム100に関して説明する。図2は、本実施例における画像処理システム100のブロック図である。図3は、画像処理システム100の外観図である。
画像処理システム100は、学習装置101、撮像装置102、画像推定装置(画像処理装置)103、表示装置104、記録媒体105、出力装置106、及びネットワーク107を有する。
学習装置101は、学習工程(学習フェーズ)を実行する装置であり、記憶部101a、取得部101b、生成部101c、及び更新部101dを有する。取得部101bは、訓練画像と正解画像を取得する。生成部101cは、訓練画像を多層のニューラルネットワークへ入力して出力画像を生成する。更新部101dは、生成部101cにより算出された出力画像と正解画像の誤差に基づいて、機械学習モデルのウエイトを更新(学習)する。なお、学習フェーズに関する詳細は、フローチャートを用いて後述する。学習された機械学習モデルのウエイトは、記憶部101aに記憶される。
撮像装置102は、光学系102aと撮像素子102bを有する。光学系102aは、被写体空間から撮像装置102へ入射した光を集光する。撮像素子102bは、光学系102aを介して形成された光学像(被写体像)を受光して(光電変換して)撮像画像を取得する。撮像素子102bは、例えばCCD(Charge Coupled Device)センサや、CMOS(Complementary Metal-Oxide Semiconductor)センサなどである。撮像装置102によって取得される撮像画像は、光学系102aの収差や回折によるぼけと、撮像素子102bによるノイズを含む。
画像推定装置103は、推定工程(推定フェーズ)を実行する装置であり、記憶部103a、取得部103b、生成部103c、及び補正部103dを有する。画像推定装置103は、機械学習モデルを用いて取得した撮像画像に対してぼけ補正を行うことで推定画像を生成する。なお、機械学習モデルのウエイトは記憶部103aから読み出される。機械学習モデルのウエイトは学習装置101で学習されたものであり、画像推定装置103は、事前にネットワーク107を介して記憶部101aからウエイトを読み出し、記憶部103aに保存している。保存されるウエイトはその数値そのものでもよいし、符号化された形式でもよい。ウエイトの更新、及び機械学習モデルを用いたぼけ補正処理に関する詳細は、後述する。なお、画像推定装置103は、必要に応じて現像処理やその他の画像処理を行う機能を有する。その際、推定画像に対してその他の画像処理を行った画像を出力画像としてもよい。画像推定装置103による推定画像の生成は、1以上のCPU等のプロセッサ(処理手段)によりその機能を実装することができる。
推定画像(出力画像)は、表示装置104、記録媒体105、及び出力装置106の少なくとも1つに出力される。表示装置104は、例えば液晶ディスプレイやプロジェクタなどである。ユーザは、表示装置104を介して、処理途中の画像を確認しながら編集作業などを行うことができる。記録媒体105は、例えば半導体メモリ、ハードディスク、及びネットワーク上のサーバ等である。出力装置106は、プリンタなどである。
次に、図4及び図5を参照して、本実施例における学習装置101により実行されるウエイト(ウエイトの情報)の学習方法(学習済みモデルの製造方法)に関して説明する。図4は、ウエイトの学習に関するフローチャートである。図4の各ステップは、主に、学習装置101の取得部101b、生成部101c、又は更新部101dにより実行される。図5は、本実施例におけるニューラルネットワークの学習の流れを示す図である。
ステップS101において、取得部101bは、原画像を取得する。本実施例において、原画像は光学系102aの収差や回折によるぼけが少ない高解像(高品位)な画像である。原画像は複数取得され、様々な被写体、すなわち、様々な強さと方向のエッジ、テクスチャ、グラデーション、及び平坦部等を有する画像である。原画像は、実写画像でもよいし、CG(Computer Graphics)により生成された画像でもよい。特に、原画像として実写画像を使用する場合、既に収差や回折によってぼけが発生しているため、縮小することでぼけの影響を小さくし、高解像(高品位)な画像にすることができる。なお、原画像に高周波成分が充分に含まれている場合、縮小は行わなくてもよい。また、原画像はノイズ成分を有していてもよい。この場合、原画像に含まれるノイズを含めて被写体であるとみなせるため、原画像のノイズは特に問題にならない。また、原画像は、撮像素子102bの輝度飽和値よりも高い信号値(輝度値、画素値)を有することが好ましい。これは、実際の被写体においても、特定の露出条件で撮像装置102により撮像を行った際、輝度飽和値に収まらない被写体が存在するためである。
ステップS102において、取得部101bは後述する撮像シミュレーションを行うために用いるぼけを取得する。取得部101bは、まず光学系102aのレンズステート(ズーム、絞り、合焦距離の状態)に対応する撮像条件を取得する。そして、撮像条件及び画面位置によって決まるぼけに関する情報を取得する。ぼけに関する情報とは、光学系102aのPSF(点像分布関数)又はOTF(光学伝達関数)であり、光学系102aにおける光学シミュレーションや測定によって取得できる。なお、原画像ごとに異なるレンズステートや像高、アジムスの収差や回折によるぼけが取得される。これにより、複数の撮像条件、像高、アジムスに対応した撮像シミュレーションを行うことができる。また必要に応じて、付与するぼけには、撮像装置102に含まれる光学ローパスフィルタなどの成分を加えられてもよい。
ステップS103において、生成部101cは、正解パッチ(正解画像)からなる正解データと訓練パッチ(訓練画像)からなる訓練データをまとめた学習データを生成する。正解パッチと訓練パッチは、学習したい機能や効果によって変えるものであり、対応した画像を正解パッチと訓練パッチとして使えばよい。正解パッチは、1枚の原画像に対応して1以上のパッチを生成する。なお、正解パッチと訓練パッチの組み合わせを複数まとめたものを学習データとして用いる。本実施例において、原画像は未現像のRAW画像であり、正解パッチと訓練パッチも同様にRAW画像である。ただし本発明は、正解パッチと訓練パッチは同一の被写体が写った画像であれば、これに限定されるものではない。例えば現像後の画像でもよく、後述するように画像を変換した特徴マップでもよい。本実施例では、記憶部101aに記憶されている複数の原画像を被写体として、撮像シミュレーションを行うことにより、収差や回折によるぼけの影響が相対的に異なる正解画像と訓練画像とのペアを複数生成する。
なお、パッチとは既定の画素数(例えば、64×64画素など)を有する画像を指す。また、正解パッチと訓練パッチの画素数は、必ずしも一致する必要はない。本実施例では、機械学習モデルの学習に、ミニバッチ学習を使用する。このためステップS103では、複数組の正解パッチと訓練パッチを生成する。ただし本発明は、これに限定されるものではなく、オンライン学習またはバッチ学習を用いてもよい。
ステップS104において、生成部101cは、訓練パッチ11を機械学習モデルへ入力することで、推定パッチ(推定画像)213を生成する。本実施例における学習は、ミニバッチ学習のため、複数の訓練パッチ11に対応する推定パッチ12を生成する。
図5は、学習フェーズの流れを示しており、図4においてステップS104からステップS105までに相当する。推定パッチ12は、訓練パッチ11よりも鮮鋭度が高く、理想的には正解パッチ(正解画像)10と一致する。なお本実施例では、図5に示されるニューラルネットワークの構成を使用するが、これに限定されない。図5中のCNは畳み込み層、DCは逆畳み込み層を表す。畳み込み層と逆畳み込み層のどちらを用いても、入力とフィルタの畳み込み、及びバイアスとの和が算出され、その結果を活性化関数によって非線形変換する。フィルタの各成分とバイアスの初期値は任意であり、本実施例では乱数によって決定する。活性化関数は、例えばReLU(Rectified Linear Unit)やシグモイド関数などを使うことができる。最終層を除く各層の出力は、特徴マップと呼ばれる。スキップコネクション22、23は、連続していない層から出力された特徴マップを合成する。特徴マップの合成は要素ごとの和をとってもよいし、チャンネル方向に連結(concatenation)してもよい。本実施例では要素ごとの和を採用する。スキップコネクション21は、訓練パッチ11と正解パッチ10とから推定された残差と、訓練パッチ11との和を取り、推定パッチ12を生成する。複数の訓練パッチ11のそれぞれに対して、複数の推定パッチ12を生成する。
ステップS105において、更新部101dは、推定パッチ12と正解パッチ10との誤差から、ニューラルネットワークのウエイトを更新する。ここで、ウエイトは、各層のフィルタの成分とバイアスを含む。ウエイトの更新には誤差逆伝搬法(Backpropagation)を使用するが、本発明はこれに限定されるものではない。ミニバッチ学習では、複数の正解パッチ10とそれらに対応する推定パッチ12の誤差を求め、ウエイトを更新する。誤差関数(Loss function)には、例えばL2ノルムやL1ノルムなどを用いることができる。
ステップS106において、更新部101dは、ウエイトの更新が完了したか否かを判定する。ウエイトの更新の完了は、学習(ウエイトの更新)の反復回数が規定値に達したか、または、更新時のウエイトの変化量が規定値より小さいかなどにより判定することができる。ウエイトの更新が未完了と判定された場合、ステップS103へ戻り、新たな正解パッチと訓練パッチを複数取得する。一方、完了と判定された場合、学習装置101(更新部101d)は学習を終了し、ウエイトの情報を記憶部101aに保存する。
ここで、図6を参照して従来の補正処理について説明する。図6は、従来の補正処理を示した図である。図6において、縦軸は信号値、横軸は空間座標であり、点線は飽和輝度値を表している。本実施例において信号値は、画素値である。図6(a)は、被写体A及びBの輝度を表す。図6(b)は、被写体A及びBを撮像した画像(撮像画像)の例であり、光学系の収差によって像が劣化している。さらに、被写体Bの輝度は輝度飽和値以上であるため、輝度飽和値で信号がクリップされる。図6(c)は、図6(b)に示す撮像画像に対して逆畳み込み処理によってぼけ補正を行った画像の例である。また、図6(d)は、図(b)に示す撮像画像に対して機械学習モデルによってぼけ補正を行った画像の例である。なお、本実施例では、図4の方法で学習された機械学習モデルを用いてぼけ補正を行う。
図6(c)において逆畳み込み処理は、例えばウィーナーフィルタや逆フィルタ等のフィルタを用いて行う。逆畳み込み処理ではなく、周波数空間上において画像とフィルタとをそれぞれフーリエ変換し、掛け合わせる処理のでもよい。このような処理の場合、被写体Aのような劣化であれば図6(b)の撮像画像と比べて収差による劣化を低減させることができる。一方で、被写体Bのように輝度飽和部を含む領域に対しては、オーバーシュートやアンダーシュートといった大きな弊害を生じる可能性が高い。図6(c)の輝度飽和部のエッジ近傍で発生しているオーバーシュートは、実際には輝度飽和値でクリップされるため画像上は存在しないが、暗部側で発生しているアンダーシュートは画像上も存在する。撮像画像の黒レベル(暗部の明るさ)はゼロからオフセットされており、アンダーシュートが発生した場合にはゼロ以下にならないようにクリップはされるが、このオフセット値(OB値)は黒レベルを下回る。また、黒レベルを下回った領域は周囲と比べても一段と暗くなるため、画像における弊害となる。これは、被写体の画素値が撮像素子のダイナミックレンジ内に収まらずクリップされることによって、情報が欠落することで、上記の弊害が発生する。
しかし、図6(c)のような畳み込み処理の場合、線形演算となるため原理的にこうした課題を回避するのは難しい。そこで、上記の弊害を低減するために機械学習モデルを用いることができる。例えばニューラルネットワークにおいても畳み込み演算は用いられるが、活性化関数部分は非線形な関数を用いることができる。適切な学習を施された機械学習モデルによる非線形処理は、より柔軟な処理が可能となる。このとき、機械学習モデルは、輝度飽和部を含む画像を学習データに用いて学習させる必要がある。学習データにおいて輝度飽和部を含む撮像画像と、収差が少なく輝度飽和部周辺に弊害がない画像を正解画像にすることで図6(d)のように被写体A、Bともに光学系による収差の補正の効果を維持しつつ、補正による弊害を低減した補正処理が可能となる。
輝度飽和部を含む撮像画像を用いて学習を行うことで、機械学習モデルにおいて輝度飽和部の有無を判断し、その結果によって処理を変更している。しかし、この判断に誤りがある場合、その結果にも悪影響を及ぼすおそれがある。
次に、図7を参照して本実施例における補正処理について説明する。図7は、本実施例における補正処理を示した図である。図7において、縦軸は信号値、横軸は空間座標であり、点線は飽和輝度値を表している。本実施例において信号値は、画素値である。図7(a)は、被写体A、B、及びCの輝度を表す。図7では輝度の低い被写体A、輝度飽和値の半分程度の値を有する被写体B、輝度飽和値近傍の値を有する被写体Cの3つの被写体を撮像する例を用いて説明する。なお、図7(a)の被写体Cは誤判定を起こしやすい例を示しており、輝度飽和値近傍でフラットになっている被写体は、輝度飽和値以上の値を有していて輝度飽和値でクリップされた場合と判断がつきにくい。図7(b)は、被写体A、B、及びCを撮像した画像(撮像画像)の例であり、光学系の収差によって像が劣化している。図7(c)は、図6(b)に示す撮像画像に対して、上述した機械学習モデルを用いてぼけ補正を行った画像の例である。図7(d)は、図6(b)に示す撮像画像に対して、本発明の方法を用いて処理を行った画像の例である。
図6、図7は模式図のため、ノイズを含まない状態で評価しているが、実際の撮像画像ではノイズの影響も受ける。ノイズの影響により仮に輝度飽和でなかった領域に対して輝度飽和領域だと誤判定して補正した場合、その領域は大きく補正される。図7(c)では、機械学習モデルが被写体Cを輝度飽和と判定し、被写体Cに対して過補正となった結果を表している。図7(c)は、一例ではあるが、ぼけ補正する際の処理は、信号(画素値)を減らす処理を行うため、本来よりも画素値が低くなり弊害が発生する。
また、このような弊害は高輝度側でのみではなく、低輝度側でも発生する。図7(c)の被写体Aはその一例を示している。低輝度側で発生する弊害は、ガンマ補正が関係する。図8を参照してガンマ補正について説明する。図8は、ガンマ補正前後における画素値の関係を示す。図8において補正前の画素値を傾き1の直線(図8中の一点鎖線)としたとき、補正後の画素値は曲線(ガンマカーブ)によって表される。ガンマ補正は、撮像素子から出力された未現像の画像データであるRAW画像から現像画像を取得するための現像処理において行われる処理である。実際の処理は、入力された画素値を冪乗する処理であり、例えばその冪乗の指数として1/2.2などが用いられる。ガンマ補正において補正後の画素値は、補正前の画素値以上の値を有し、低輝度側の画素値は、高輝度側に比べて大きく変化する。つまり、RAW画像の状態における低輝度側の弊害は、現像画像の状態においてガンマ補正により目立つようになる(強調される)おそれがある。
本実施例ではこれらの弊害を低減するために、高輝度側と低輝度側のそれぞれに対応した二つのゲインマップを作成して、二つのゲインマップを用いて最終的な補正画像を生成する。図7(d)は撮像画像、推定画像、及び前述のゲインマップを用いて生成した補正画像を表している。このように推定画像においてアンダーシュート等の弊害が発生した場合においても、本実施例の画像処理方法を実行することで、ぼけ補正の効果を維持しつつ、ぼけ補正による弊害を低減することができる。
次に、図1を参照して、本実施例における画像推定装置103で実行される補正画像の生成(補正処理)に関して説明する。図1は、補正画像(第3の画像)の生成に関するフローチャートである。図1の各ステップは、主に、取得部103b、生成部103c、又は補正部103dにより実行される。
まず、ステップS201において、取得部103bは撮像画像(第1の画像)を取得する。第1の画像は、学習と同様で未現像のRAW画像であり、本実施例では撮像装置102から送信されたものである。
ステップS202(第1の工程)において、生成部103cは機械学習モデルを用いて撮像画像の鮮鋭化処理を実行し、推定画像(第2の画像)を取得する。なお、機械学習モデルのウエイトの情報は学習装置101から送信されて記憶部103aに記憶されたものである。
ステップS203(第2の工程)において、生成部103cは第1のゲインマップ(第1の重みマップ)を生成する。本実施例において、第1のゲインマップは、撮像画像の画素値に基づいて生成され、補正画像の生成の際の推定画像にかかる重みを表す。なお、第1のゲインマップは、補正画像に対応する各画素の重み情報を有する。第1のゲインマップは、低輝度部(暗部)における弊害を低減するために用いられる。
ここで図9、図10、及び図11を参照して、撮像画像に施される各処理を説明する。撮像画像に行う各処理は、第1のゲインマップの生成の際に必要に応じて、撮像画像に対して行われる処置であり、例えばデモザイキング処理、ホワイトバランス調整、正規化処理である。図9は、撮像画像の色成分に関する図である。図10は、デモザイキング処理における補間フィルタの模式図である。図11は、Rに対するデモザイキング処理に関する図である。本実施例において、撮像画像は図9(a)に示されるようなBayer配列の画像である。ここでRGBは、それぞれ赤、緑、青の画素値(輝度値)を表す。ただし、撮像画像のカラー配列はこれに限定されない。
まず、図9(a)に示される配列で表される撮像画像に対して行われるデモザイキング処理について説明する。Bayer配列においてGは、G1、G2と2種類存在するため、Gと、R及びBとでデモザイキング処理が異なる。図9(b)は、図9(a)からG1、G2のみ抽出した状態を表す。図9(a)のGに対してデモザイキング処理を実施する場合、図9(b)のようにGを抽出した後、線形補間処理を行う。本実施例において図10(a)のフィルタを用いて線形補間を行う。なお、図10(a)は、Gに対してデモザイキング処理に用いるフィルタであり、図10(a)の値はこれに限定されない。図9(b)のGに対して、図10(a)のフィルタを畳み込むことにより、図9(c)に示すような補間後のGの情報を生成することができる。
続いて、R及びBのデモザイキング処理について説明する。R及びBはどちらも1種類のみで同様の処理を適用できるため、本実施例ではRについての処理を説明する。図11(a)は、図9(a)のBayer配列のうちRのみ抽出した状態を表す。図11(b)は、デモザイキング処理前のRの色差を表しており、図11(a)においてのRが存在する画素のみ、図9(c)のデモザイキング処理後のGの差分を取っている。本実施例ではRに対してGの差分を取ることにより、色差情報を算出する。そして、色差情報を補間するために、図11(b)の色差に対して、図10(b)のフィルタを畳み込むことで全画素に対応した色差情報を算出する。なお、(b)は、補間処理を行うためのフィルタであり、図10(b)の値はこれに限定されない。図11(c)は、デモザイキング処理後のRの情報を表しており、図10(b)のフィルタを畳み込んだ後の色差に対して、G(図9(c)に相当)を加算することにより算出することができる。
以上、Rのデモザイキング処理について述べてきたが、Bについても同様にデモザイキング処理を実行することができる。なお、本実施例では、R及びBに関して色差を用いて補間処理を行っているが、R及びBに対して直接補間処理を行ってもよい。また、単純な補間処理だけでなく、RGB値の勾配等を用いた適応処理を取り入れてデモザイキング処理を実行してもよい。
続いて、撮像画像に対して行われるホワイトバランス調整について説明する。ホワイトバランス調整は、被写体における無彩色部分が出力画像において無彩色になるように、撮像素子が出力するRGB成分に対して色成分別にゲイン処理を行い、輝度レベルを合わせる処理である。ホワイトバランス調整を行うことで、撮像素子の色特性によらず被写体の色味が正しく再現され、実際の被写体により近い色の画像を生成できる。また、本実施例では、ホワイトバランス調整を実行することによって、より高精度なゲインマップを生成することができる。
ホワイトバランス調整に用いる係数(ホワイトバランス係数)は、撮像画像を撮像時の設定を利用する。通常、RGBの色成分ごとにホワイトバランス係数が存在するため、それらの係数と対応する撮像画像の色成分に掛け合わせることによりホワイトバランス調整を実行することができる。ここで黒レベルがオフセットされている場合は、オフセット分を差し引いてからホワイトバランス調整を行ってもよい。また、G1、G2でホワイトバランス係数が分かれている場合は、それらの平均をGに対するホワイトバランス係数としてもよい。なお、ホワイトバランス係数は撮像時の設定でなく、別の係数の組み合わせを用いてもよい。例えば、撮像に用いた撮像装置が自動的に光源の種類を判別して補正する機能(オートホワイトバランス)を有している場合、その係数データも撮像画像に付帯しているためホワイトバランス調整に用いてもよい。
続いて、撮像画像に対して行われる正規化処理について説明する。本実施例の正規化処理では、まずRGBの3色の輝度値を有する撮像画像の各画素に対して、RGBの最大値を取得する。本実施例では、最大値を用いるがこれに限らず中央値、平均値、最小値などの指標を用いてもよい。このように、1つの画素に対して、1つの値を設定することにより、RGB間では重みが異ならないようにすることができる。RGBの最大値で構成された2次元データに対して、黒レベルが0、輝度飽和値が1になるようにスケーリングを行う。そして、スケーリング後の2次元データに基づいてゲインマップを算出する。なお、本実施例において黒レベルと輝度飽和値を基準にスケーリングしているが、これに限定されるものではない。例えば2バイトで割ることで2バイトが1となるように変換してもよい。
図12に本実施例における応答関数を示す。図12において横軸はスケーリング後の2次元データ、縦軸は重みマップの調整値である。本実施例における応答関数は、信号値(画素値)を入力することで、補正画像の生成の際に用いる推定画像の重みを算出することができる。また、図12(a)は第1のゲインマップの生成に用いる応答関数(第1の応答関数)であり、図12(b)は第2のゲインマップの生成に用いる応答関数(第2の応答関数)である。
図12(a)ではスケーリング後の2次元データの画素値の増加に伴い、出力値も大きくなる(推定画像の重みが増加する)。一方で、図12(b)ではスケーリング後の2次元データの画素値の増加に伴い、出力値は小さくなる(推定画像の重みが低下する)。
図12(a)において閾値を0.2及び0.3に設定しており、0.2以下の場合推定画像の重みは0であり、0.3以上の場合推定画像の重みが1である。また、その間は重みが線形に変化している。なお、本実施例では、2つの閾値を設けて各区間は線形に変化するようにしているが、閾値を設けずにシグモイド関数のような非線形な関数を応答関数としてもよい。また、2つの閾値についてもこれに限定するものではなく、別の値を採用してもよい。閾値の設定によって推定画像の重みが大きい領域を多くすることで、より収差の少ない補正画像を取得することができる。一方で、閾値の設定によって推定画像の重みが小さい領域を多くすることで、より収差補正による弊害の少ない補正画像を取得することができる。さらに応答関数は、補正効果に関する情報に基づいて生成されてもよい。補正強度に関する情報は、補正画像の生成の際における収差補正の強度を示し、応答関数における閾値の決定のために用いられる。また、補正強度に関する情報は、例えばユーザによって設定される。
図13(a)は、図7(b)の撮像画像を用いて生成された第1のゲインマップの模式図である。図13(a)において縦軸は推定画像の重み、横軸は画像における領域(空間座標)である。
ステップS204(第3の工程)において、生成部103cは第2のゲインマップ(第2の重みマップ)を生成する。本実施例において、第2のゲインマップは、推定画像の画素値に基づいて生成され、補正画像の生成の際の推定画像にかかる重みを表す。なお、第2のゲインマップは、補正画像に対応する各画素の重み情報を有する。第2のゲインマップは、高輝度部(明部)における弊害を低減するために用いられる。
第2のゲインマップの算出は、第1のゲインマップの算出に対して撮像画像の代わりに推定画像を用いる部分が異なる。一方で、デモザイキング処理、ホワイトバランス調整、及び正規化処理については第1のゲインマップの算出と同様であるため、説明は省略する。
図12(b)において閾値を0.8及び0.9に設定しており、0.8以下の場合推定画像の重みは1であり、0.9以上の場合推定画像の重みは0である。また、その間は重みが線形に変化している。なお、本実施例では、2つの閾値を設けて各区間は線形に変化するようにしているが、閾値を設けずにシグモイド関数のような非線形な関数を応答関数としてもよい。また、2つの閾値についてもこれに限定するものではなく、別の値を採用してもよい。閾値の設定によって推定画像の重みが大きい領域を多くすることで、より収差の少ない補正画像を取得することができる。一方で、閾値の設定によって推定画像の重みが小さい領域を多くすることで、より収差補正による弊害の少ない補正画像を取得することができる。さらに応答関数は、補正効果に関する情報に基づいて生成されてもよい。補正強度に関する情報は、補正画像の生成の際における収差補正の強度を示し、応答関数における閾値の決定のために用いられる。また、補正強度に関する情報は、例えばユーザによって設定される。
図13(b)は、図7(c)の推定画像を用いて生成された第2のゲインマップの模式図である。図13(b)において縦軸は推定画像の重み、横軸は画像における領域(空間座標)である。
ステップS205(第4の工程)において、生成部103cは第1のゲインマップ及びステップ第2のゲインマップを合成することで、補正画像の生成に用いるゲインマップ(第3の重みマップ)を取得する。
図13(c)は第1のゲインマップ及び第2のゲインマップを用いて生成されたゲインマップの模擬図である。本実施例では、第1のゲインマップ及び第2のゲインマップの対応する領域の値を比較し、小さい方の値を採用することで第3のゲインマップを生成している。なお、第3のゲインマップは、2つのゲインマップの掛け算や平均値により第3のゲインマップを算出されてもよい。
ステップS206において、補正部103dは撮像画像、推定画像、第3のゲインマップに基づいて補正画像を生成(合成)する。本実施例において、補正画像は、第3のゲインマップの示す推定画像の重みに基づいて撮像画像と推定画像とを加重平均することで生成される。
このような構成とすることで、図7(d)に示すような補正画像を生成することができる。図7(d)は、図7(c)の推定画像と比較して被写体C及び被写体Aにおいて発生していたアンダーシュートを低減されている。また、鮮鋭化効果についても図7(c)の推定画像と比較し遜色ない補正効果を維持することができる。
以上、述べてきた補正処理を実行することで、ゲインマップを用いて撮像画像と推定画像に基づいて補正画像を生成することで、ぼけ補正の効果を維持しつつ、ぼけ補正による弊害を低減することができる。
本実施例において、第1のゲインマップ及び第2のゲインマップはそれぞれ撮像画像及び推定画像の画素値に基づいて算出している。低輝度領域は、ノイズの影響が大きく、かつガンマ補正によるゲインが大きくかかるため敏感度が高い。したがって、低輝度領域は鮮鋭化前の撮像画像を基準することが望ましい。一方で、輝度飽和領域及びその周辺部における収差補正の効果を維持するためには、先鋭化後の推定画像を基準することが望ましい。
図12の第1の応答関数及び第2の応答関数において、推定画像(又は撮像画像)の重みが0.5になるときの画素値をそれぞれ第1の閾値及び第2の閾値とする。具体的には、図12において第1の閾値は0.25であり、第2の閾値は0.85である。本実施において第1のゲインマップは低輝度側の弊害を低減するための重みであり、第2のゲインマップは高輝度側の弊害を低減するための重みである。したがって、図12のように推定画像にかかる重みで考えた場合、第1の閾値は第2の閾値よりも小さくなる。このような構成とすることで、生成する重みマップに推定画像に由来するリンギングの影響を低減できる点で好ましい。ただし、第1及び第2の閾値はこの数値に限定されない。またこの大小関係は、スケーリングする際の基準値が同様であることが前提となる。
また、本実施例において、撮像画像及び推定画像の画素値に基づきゲインマップを算出しているが、必要に応じてその他の情報を追加してゲインマップを算出してもよい。その他の情報は、例えば撮像時の光学系の性能に関する情報である。なお、光学系の性能は、例えば光学系のPSF(点像強度分布)やOTF(光学伝達関数)を用いて算出される。光学系の性能が低い場合、機械学習モデルを用いたぼけ補正による補正量が増加するため、アンダーシュートやリンギングといった弊害も発生しやすくなる。また、PSFは撮像画像内の位置によって変化するため、例えばPSFの広がりが大きく性能が低くなりやすい高像高の領域では、画面中心の領域に対して補正量を抑えることで、弊害の発生を抑制することができる。
以上、本発明のぼけ判定方法に関する実施例を示したが、その要旨の範囲内で種々の変形及び変更が可能である。
[実施例2]
次に、図14及び図15を参照して実施例2に係る画像処理システム200に関して説明する。本実施例の画像処理システム200は、撮像装置202における光学系221及び撮像素子222を用いて原画像を取得し、画像推定部223が画像処理する点で、実施例1と異なる。さらに本実施例における補正画像(第3の画像)の生成は、第3のゲインマップの算出を行わない点で実施例1と異なる。
次に、図14及び図15を参照して実施例2に係る画像処理システム200に関して説明する。本実施例の画像処理システム200は、撮像装置202における光学系221及び撮像素子222を用いて原画像を取得し、画像推定部223が画像処理する点で、実施例1と異なる。さらに本実施例における補正画像(第3の画像)の生成は、第3のゲインマップの算出を行わない点で実施例1と異なる。
図14は、本実施例における画像処理システム200のブロック図である。図15は、画像処理システム200の外観図である。
画像処理システム200は、学習装置201及び撮像装置202を有し、学習装置201及び撮像装置202は、ネットワーク203を介して互いに通信可能である。
学習装置201は、記憶部(記憶手段)211、取得部(取得手段)212、生成部(生成手段)213、及び更新部(学習手段)214を有し、ニューラルネットワークでぼけ補正を行うためのウエイト(ウエイトの情報)を学習する。なお、本実施例における学習装置201は、実施例1の学習装置101と同様であるため説明は省略する。
撮像装置202は、光学系221、撮像素子222、画像推定部223、記憶部224、記録媒体225、表示部226、及びシステムコントローラ227を有する。本実施例における撮像装置202は、被写体空間を撮像して撮像画像を取得し、機械学習モデルを用いて撮像画像から推定画像を生成し、撮像画像と推定画像とを加重平均することで補正画像を生成する。
画像推定部223は、取得部223a、生成部223b、及び補正部223cを有し、それぞれ実施例1における取得部103b、生成部103c、及び補正部103dに相当する。ウエイトの情報は、学習装置201で事前に学習され、記憶部211に保存されている。撮像装置202は、記憶部211からネットワーク203を介してウエイトの情報を読み出し、記憶部224に保存する。画像推定部223で生成された補正画像は、記録媒体225に保存される。なお、記録媒体225に既に保存された撮像画像を読み出し、画像推定部223で補正を行ってもよい。ユーザから補正画像の表示に関する指示が出された場合、保存された補正画像が読み出され、表示部226に表示される。以上の一連の制御は、システムコントローラ227によって行われる。
本実施例の学習装置201で実行される機械学習モデルの学習方法については、実施例1と同様であるため説明は省略する。
次に、図16を参照して、本実施例における画像推定部223で実行される補正画像の生成に関して説明する。図16は、補正画像の生成に関するフローチャートである。図16の各ステップは、主に、取得部223a、生成部223b、又は補正部223cにより実行される。ステップS301~S303は、実施例1におけるステップS201~S203と同様である。
ステップS304において、補正部223cは第1のゲインマップ、撮像画像、及び推定画像を用いて中間補正画像を生成する。第1のゲインマップ、撮像画像、及び推定画像を用いて生成された中間補正画像は、被写体A及びBに関しては図7(d)のようになるが、被写体Cの領域に関しては一部に推定画像が採用されるため、図7(c)のようにアンダーシュートが残存する。中間補正画像は、第1のゲインマップを用いて撮像画像及び推定画像を加重平均することで取得された画像であり、低輝度側の弊害が低減されている。
次に、ステップS305において、生成部223bは第2のゲインマップを生成する。実施例2における第2のゲインマップは実施例1のステップS114と同様であるため、説明は省略する。
続いて、ステップS306において、補正部103dは撮像画像、中間補正画像、及び第2のゲインマップを用いて補正画像を生成する。第2のゲインマップを用いて撮像画像及び中間補正画像を加重平均することで中間補正画像の高輝度な被写体Cの領域に残存していたアンダーシュートが低減される。この結果、図7(d)のように弊害を抑えつつ推定画像の補正効果を維持した補正画像を生成することができる。なお、本実施例では第1のゲインマップを使って中間補正画像を算出した後、中間補正画像と第2のゲインマップを使って補正画像を生成したが、第1のゲインマップと第2のゲインマップの処理の順番は逆でもよい。第2のゲインマップから適用し、その後、推定画像、中間補正画像、及び第1のゲインマップを用いて補正画像を生成したとしても同様の効果を得ることができる。
以上、述べてきた補正処理を実行することで、ゲインマップを用いて撮像画像と推定画像に基づいて補正画像を生成することで、収差補正の効果を維持しつつ、収差補正による弊害を低減することができる。
[実施例3]
次に、図17及び図18を参照して実施例3に係る画像処理システム300に関して説明する。本実施例の画像処理システム300は、撮像装置302から撮像画像を取得し、画像推定装置(第2の装置)303に撮像画像に対する画像処理に関する要求を行う制御装置(第1の装置)304を有する点で実施例1と異なる。図17は、本実施例における画像処理システム300のブロック図である。図18は、実施例3における補正画像の生成に関するフローチャートである。
次に、図17及び図18を参照して実施例3に係る画像処理システム300に関して説明する。本実施例の画像処理システム300は、撮像装置302から撮像画像を取得し、画像推定装置(第2の装置)303に撮像画像に対する画像処理に関する要求を行う制御装置(第1の装置)304を有する点で実施例1と異なる。図17は、本実施例における画像処理システム300のブロック図である。図18は、実施例3における補正画像の生成に関するフローチャートである。
画像処理システム300は、学習装置301、撮像装置302、画像推定装置303、及び制御装置304を有する。本実施例において、学習装置301及び画像推定装置303はサーバである。制御装置304は、例えばユーザ端末(パーソナルコンピュータまたはスマートフォン)である。制御装置304はネットワーク305を介して画像推定装置303に接続されており、制御装置304と画像推定装置303は通信可能である。また、画像推定装置303はネットワーク306を介して学習装置301に接続されており、画像推定装置303と学習装置301は通信可能である。
学習装置301及び撮像装置302の構成は、それぞれ実施例1の学習装置101及び撮像装置102と同様のため説明を省略する。
画像推定装置303は、記憶部303a、取得部303b、生成部303c、補正部303d、及び通信部(受信手段)303eを有する。記憶部303a、取得部303b、生成部303c及び補正部303dのそれぞれは、実施例1の記憶部103a、取得部103b、生成部103c及び補正部103dと同様である。通信部303eは制御装置304から送信される要求を受信する機能と、画像推定装置303によって生成された出力画像を制御装置304に送信する機能を有する。
制御装置304は、通信部(送信手段)304a、表示部304b、処理部304c、及び記録部304dを有する。通信部304aは撮像画像に対する処理を画像推定装置303に実行させるための要求を画像推定装置303に送信する機能と、画像推定装置303によって処理された出力画像を受信する機能を有する。表示部304bは種々の情報を表示する機能を有する。表示部304bによって表示される情報は、例えば画像推定装置303に送信する撮像画像と、画像推定装置303から受信した出力画像を含む。処理部304cは画像推定装置303から受信した出力画像に対してさらに画像処理を施す機能を有する。記録部304dは、撮像装置302から取得した撮像画像、画像推定装置303から受信した出力画像等を記録する。
次に、本実施例における画像処理について説明する。本実施例における画像処理は、制御装置304を介してユーザにより画像処理開始の指示によって処理が開始され、画像処理は、画像推定装置303において実行される。
まず、制御装置304の動作について説明する。ステップS401において、制御装置304は撮像画像に対する処理の要求を画像推定装置303へ送信する。なお、処理の対象である撮像画像を画像推定装置303に送信する方法は問わない。例えば、撮像画像はS401と同時に画像推定装置303にアップロードされてもよいし、ステップS401以前に画像推定装置303にアップロードされていてもよい。また、撮像画像は画像推定装置303とは異なるサーバ上に記憶された画像でもよい。なお、ステップS401において、制御装置304は撮像画像に対する処理の要求と共に、ユーザを認証するID情報等を送信してもよい。
ステップS402において、制御装置304は画像推定装置303内で生成された出力画像を受信する。出力画像は実施例1と同様に撮像画像と推定画像とを加重平均することで得られた補正画像である。
次に、画像推定装置303の動作について説明する。ステップS501において、画像推定装置303は制御装置304から送信された撮像画像に対する処理の要求を受信する。画像推定装置303は、撮像画像に対する処理の要求に基づいて、ステップS502以降の処理を実行する。本実施例におけるウエイト情報は、実施例1と同様の方法(図4)で学習された情報(学習済みモデル)である。画像推定装置303は、学習装置301からウエイト情報を取得してもよいし、予め学習装置301から取得され記憶部303aに記憶されたウエイト情報を取得してもよい。
ステップS502からステップS503は実施例1のステップS201からステップS202と同様である。
S504において生成部303cは、ゲインマップ(第4の重みマップ)を生成する。本実施例においてゲインマップは、撮像画像又は推定画像に基づいて生成する。生成部303cは、撮像画像又は推定画像に対して、必要に応じて実施例1と同様に各処理(例えばデモザイキング処理、ホワイトバランス調整、正規化処理)を行い、応答関数を用いてゲインマップを生成する。
ここで、図19に本実施例における応答関数を示す。図19において横軸はスケーリング後の2次元データ、縦軸は重みマップの調整値である。また本実施例における応答関数の閾値を0.2、0.3、0.8、及び0.9に設定している。図19に示すように0.2以下又は0.9以上の場合推定画像の重みは0であり、0.3以上かつ0.8以下の場合推定画像の重みは1である。また、上記以外の区間において重みは線形に変化している。なお、閾値の値はこれに限定されない。閾値の設定によって推定画像の重みが大きい領域を多くすることで、より収差の少ない補正画像を取得することができる。一方で、閾値の設定によって推定画像の重みが小さい領域を多くすることで、より収差補正による弊害の少ない補正画像を取得することができる。このような応答関数を用いることで、ぼけ補正により得られた補正画像に生じる弊害を低減するために、低輝度及び高輝度領域の推定画像の重みを小さくすることができる。なお応答関数は、補正効果に関する情報に基づいて生成されてもよい。また、複数のゲインマップを生成する他の実施例と比較して演算量を低減することができる。
ステップS505において、画像推定装置303は出力画像を制御装置304へ送信する。
以上、述べてきた補正処理を実行することで、ゲインマップを用いて撮像画像と推定画像に基づいて補正画像を生成することで、ぼけ補正の効果を維持しつつ、ぼけ補正による弊害を低減することができる。なお、本実施例において制御装置304は特定の画像に対する処理を要求するのみである。実際の画像処理は画像推定装置303によって行われる。このため、制御装置304をユーザ端末とすれば、ユーザ端末による処理負荷を低減することが可能となる。したがって、ユーザ側は低い処理負荷で出力画像を得ることが可能となる。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
各実施例によれば、ぼけ補正の効果を維持しつつ、ぼけ補正による弊害を低減することが可能な画像処理方法、画像処理装置、及びプログラムを提供することができる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
本発明の実施形態は以下の方法、構成、及びプログラムを含む。
[方法1]
第1の画像を鮮鋭化することで第2の画像を生成し、
前記第1の画像に基づいて第1の重みマップを生成し、
前記第1の画像に基づいて第1の重みマップを生成し、
前記第1及び第2の画像と、前記第1及び第2の重みマップとに基づいて第3の画像を生成し、
前記第1及び第2の重みマップは、前記第3の画像の生成における前記第1又は第2の画像の重みを示すことを特徴とする画像処理方法。
第1の画像を鮮鋭化することで第2の画像を生成し、
前記第1の画像に基づいて第1の重みマップを生成し、
前記第1の画像に基づいて第1の重みマップを生成し、
前記第1及び第2の画像と、前記第1及び第2の重みマップとに基づいて第3の画像を生成し、
前記第1及び第2の重みマップは、前記第3の画像の生成における前記第1又は第2の画像の重みを示すことを特徴とする画像処理方法。
[方法2]
前記第2の画像は、機械学習モデルを用いて前記第1の画像を鮮鋭化することで生成されることを特徴とする方法1に記載の画像処理方法。
前記第2の画像は、機械学習モデルを用いて前記第1の画像を鮮鋭化することで生成されることを特徴とする方法1に記載の画像処理方法。
[方法3]
第1及び第2の重みマップから第3の重みマップを生成する工程を有し、
前記第3の重みマップを用いて、前記第1の画像と前記第2の画像とを加重平均することで前記第3の画像を生成することを特徴とする方法1に記載の画像処理方法。
第1及び第2の重みマップから第3の重みマップを生成する工程を有し、
前記第3の重みマップを用いて、前記第1の画像と前記第2の画像とを加重平均することで前記第3の画像を生成することを特徴とする方法1に記載の画像処理方法。
[方法4]
前記第1の画像と前記第2の画像と前記第1の重みマップとに基づいて中間補正画像を生成し、
前記第1の画像と前記第2の重みマップと前記中間補正画像とに基づいて前記第3の画像を生成することを特徴とする方法1に記載の画像処理方法。
前記第1の画像と前記第2の画像と前記第1の重みマップとに基づいて中間補正画像を生成し、
前記第1の画像と前記第2の重みマップと前記中間補正画像とに基づいて前記第3の画像を生成することを特徴とする方法1に記載の画像処理方法。
[方法5]
前記第1の画像と前記第2の画像とにホワイトバランス調整を行うことを特徴とする方法1に記載の画像処理方法。
前記第1の画像と前記第2の画像とにホワイトバランス調整を行うことを特徴とする方法1に記載の画像処理方法。
[方法6]
前記第1の画像と前記第2の画像とにデモザイキング処理を行うことを特徴とする方法1に記載の画像処理方法。
前記第1の画像と前記第2の画像とにデモザイキング処理を行うことを特徴とする方法1に記載の画像処理方法。
[方法7]
第1の画像を鮮鋭化することで第2の画像を生成し、
応答関数と、前記第1の画像の画素値又は前記第2の画像の画素値とに基づいて重みマップを生成し、
前記第1及び第2の画像と、前記重みマップとに基づいて第3の画像を生成し、
前記応答関数は、補正強度に関する情報に基づいて生成され、前記第1の画像の画素値又は前記第2の画像の画素値と前記重みマップの調整値との関係を示すことを特徴とする画像処理方法。
第1の画像を鮮鋭化することで第2の画像を生成し、
応答関数と、前記第1の画像の画素値又は前記第2の画像の画素値とに基づいて重みマップを生成し、
前記第1及び第2の画像と、前記重みマップとに基づいて第3の画像を生成し、
前記応答関数は、補正強度に関する情報に基づいて生成され、前記第1の画像の画素値又は前記第2の画像の画素値と前記重みマップの調整値との関係を示すことを特徴とする画像処理方法。
[方法8]
前記第1の重みマップは、前記第1の画像の画素値と前記第1の重みマップの調整値との関係を示す第1の応答関数を用いて生成され、
前記第2の重みマップは、前記第2の画像の画素値と前記第2の重みマップの調整値との関係を示す第2の応答関数を用いて生成されることを特徴とする方法1乃至6の何れか一項に記載の画像処理方法。
前記第1の重みマップは、前記第1の画像の画素値と前記第1の重みマップの調整値との関係を示す第1の応答関数を用いて生成され、
前記第2の重みマップは、前記第2の画像の画素値と前記第2の重みマップの調整値との関係を示す第2の応答関数を用いて生成されることを特徴とする方法1乃至6の何れか一項に記載の画像処理方法。
[方法9]
前記第1の応答関数において前記第1及び第2の画像の重みが等しくなるときの前記第1の画像の画素値よりも、前記第2の応答関数において前記第1及び第2の画像の重みが等しくなるときの前記第2の画像の画素値の方が大きいことを特徴とする方法8に記載の画像処理方法。
前記第1の応答関数において前記第1及び第2の画像の重みが等しくなるときの前記第1の画像の画素値よりも、前記第2の応答関数において前記第1及び第2の画像の重みが等しくなるときの前記第2の画像の画素値の方が大きいことを特徴とする方法8に記載の画像処理方法。
[方法10]
前記第1及び第2の重みマップは、前記第1の画像を取得する際に用いられた光学系の性能に関する情報を用いて生成されることを特徴とする方法1乃至6の何れか一項に記載の画像処理方法。
前記第1及び第2の重みマップは、前記第1の画像を取得する際に用いられた光学系の性能に関する情報を用いて生成されることを特徴とする方法1乃至6の何れか一項に記載の画像処理方法。
[方法11]
前記光学系の性能に関する情報は、前記光学系の点像分布関数又は光学伝達関数であることを特徴とする方法10に記載の画像処理方法。
前記光学系の性能に関する情報は、前記光学系の点像分布関数又は光学伝達関数であることを特徴とする方法10に記載の画像処理方法。
[プログラム12]
方法1乃至11の何れか一項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
方法1乃至11の何れか一項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
[構成13]
プログラム12に記載のプログラムを記憶していることを特徴とする記憶媒体。
プログラム12に記載のプログラムを記憶していることを特徴とする記憶媒体。
[構成14]
方法1乃至11の何れか一項に記載の画像処理方法を実行可能な処理手段を有することを特徴とする画像処理装置。
方法1乃至11の何れか一項に記載の画像処理方法を実行可能な処理手段を有することを特徴とする画像処理装置。
[構成15]
互いに通信可能な制御装置と構成14に記載の画像処理装置とを有する画像処理システムであって、
前記制御装置は、前記第1の画像に対する処理の実行に関する要求を前記画像処理装置へ送信する手段を有することを特徴とする画像処理システム。
互いに通信可能な制御装置と構成14に記載の画像処理装置とを有する画像処理システムであって、
前記制御装置は、前記第1の画像に対する処理の実行に関する要求を前記画像処理装置へ送信する手段を有することを特徴とする画像処理システム。
S202 第1の工程
S203 第2の工程
S204 第3の工程
S203 第2の工程
S204 第3の工程
Claims (15)
- 第1の画像を鮮鋭化することで第2の画像を生成し、
前記第1の画像に基づいて第1の重みマップを生成し、
前記第1の画像に基づいて第1の重みマップを生成し、
前記第1及び第2の画像と、前記第1及び第2の重みマップとに基づいて第3の画像を生成し、
前記第1及び第2の重みマップは、前記第3の画像の生成における前記第1又は第2の画像の重みを示すことを特徴とする画像処理方法。 - 前記第2の画像は、機械学習モデルを用いて前記第1の画像を鮮鋭化することで生成されることを特徴とする請求項1に記載の画像処理方法。
- 第1及び第2の重みマップから第3の重みマップを生成する工程を有し、
前記第3の重みマップを用いて、前記第1の画像と前記第2の画像とを加重平均することで前記第3の画像を生成することを特徴とする請求項1に記載の画像処理方法。 - 前記第1の画像と前記第2の画像と前記第1の重みマップとに基づいて中間補正画像を生成し、
前記第1の画像と前記第2の重みマップと前記中間補正画像とに基づいて前記第3の画像を生成することを特徴とする請求項1に記載の画像処理方法。 - 前記第1の画像と前記第2の画像とにホワイトバランス調整を行うことを特徴とする請求項1に記載の画像処理方法。
- 前記第1の画像と前記第2の画像とにデモザイキング処理を行うことを特徴とする請求項1に記載の画像処理方法。
- 第1の画像を鮮鋭化することで第2の画像を生成し、
応答関数と、前記第1の画像の画素値又は前記第2の画像の画素値とに基づいて重みマップを生成し、
前記第1及び第2の画像と、前記重みマップとに基づいて第3の画像を生成し、
前記応答関数は、補正強度に関する情報に基づいて生成され、前記第1の画像の画素値又は前記第2の画像の画素値と前記重みマップの調整値との関係を示すことを特徴とする画像処理方法。 - 前記第1の重みマップは、前記第1の画像の画素値と前記第1の重みマップの調整値との関係を示す第1の応答関数を用いて生成され、
前記第2の重みマップは、前記第2の画像の画素値と前記第2の重みマップの調整値との関係を示す第2の応答関数を用いて生成されることを特徴とする請求項1乃至6の何れか一項に記載の画像処理方法。 - 前記第1の応答関数において前記第1及び第2の画像の重みが等しくなるときの前記第1の画像の画素値よりも、前記第2の応答関数において前記第1及び第2の画像の重みが等しくなるときの前記第2の画像の画素値の方が大きいことを特徴とする請求項8に記載の画像処理方法。
- 前記第1及び第2の重みマップは、前記第1の画像を取得する際に用いられた光学系の性能に関する情報を用いて生成されることを特徴とする請求項1乃至6の何れか一項に記載の画像処理方法。
- 前記光学系の性能に関する情報は、前記光学系の点像分布関数又は光学伝達関数であることを特徴とする請求項10に記載の画像処理方法。
- 請求項1乃至7の何れか一項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
- 請求項12に記載のプログラムを記憶していることを特徴とする記憶媒体。
- 請求項1乃至7の何れか一項に記載の画像処理方法を実行可能な処理手段を有することを特徴とする画像処理装置。
- 互いに通信可能な制御装置と請求項14に記載の画像処理装置とを有する画像処理システムであって、
前記制御装置は、前記第1の画像に対する処理の実行に関する要求を前記画像処理装置へ送信する手段を有することを特徴とする画像処理システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022136370A JP2024032621A (ja) | 2022-08-29 | 2022-08-29 | 画像処理方法、画像処理装置、及びプログラム |
US18/457,894 US20240070826A1 (en) | 2022-08-29 | 2023-08-29 | Image processing method, image processing apparatus, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022136370A JP2024032621A (ja) | 2022-08-29 | 2022-08-29 | 画像処理方法、画像処理装置、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024032621A true JP2024032621A (ja) | 2024-03-12 |
Family
ID=89997415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022136370A Pending JP2024032621A (ja) | 2022-08-29 | 2022-08-29 | 画像処理方法、画像処理装置、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240070826A1 (ja) |
JP (1) | JP2024032621A (ja) |
-
2022
- 2022-08-29 JP JP2022136370A patent/JP2024032621A/ja active Pending
-
2023
- 2023-08-29 US US18/457,894 patent/US20240070826A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240070826A1 (en) | 2024-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7242185B2 (ja) | 画像処理方法、画像処理装置、画像処理プログラム、および、記憶媒体 | |
US11188777B2 (en) | Image processing method, image processing apparatus, learnt model manufacturing method, and image processing system | |
JP5398156B2 (ja) | ホワイトバランス制御装置およびその制御方法並びに撮像装置 | |
US8659672B2 (en) | Image processing apparatus and image pickup apparatus using same | |
JP4831067B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム製品、および撮像装置 | |
US20210319537A1 (en) | Image processing method, image processing apparatus, image processing system, and memory medium | |
WO2011121760A9 (ja) | 画像処理装置、およびそれを用いた撮像装置 | |
US11508038B2 (en) | Image processing method, storage medium, image processing apparatus, learned model manufacturing method, and image processing system | |
JP4066803B2 (ja) | 画像処理装置、画像処理プログラム、画像処理方法および電子カメラ | |
CN104869380A (zh) | 图像处理设备和图像处理方法 | |
JP5358344B2 (ja) | 撮像装置及び撮像方法 | |
US11880963B2 (en) | Apparatus and method for image processing | |
JP5479187B2 (ja) | 画像処理装置及びそれを用いた撮像装置 | |
JP2021140663A (ja) | 画像処理方法、画像処理装置、画像処理プログラム、および記憶媒体 | |
US11830173B2 (en) | Manufacturing method of learning data, learning method, learning data manufacturing apparatus, learning apparatus, and memory medium | |
JP2017223823A (ja) | 画像処理装置、画像処理プログラム、画像処理方法 | |
JP2024032621A (ja) | 画像処理方法、画像処理装置、及びプログラム | |
JP2021189929A (ja) | 画像処理方法、プログラム、画像処理装置、および、画像処理システム | |
JP2021140758A (ja) | 学習データの製造方法、学習方法、学習データ製造装置、学習装置、およびプログラム | |
US20220405893A1 (en) | Image processing method, image processing apparatus, image processing system, and memory medium | |
WO2022215375A1 (ja) | 画像処理方法、機械学習モデルの製造方法、画像処理装置、画像処理システム、及びプログラム | |
US20230345132A1 (en) | Information processing apparatus, information processing method, and program | |
JP2021170197A (ja) | 画像処理方法、画像処理装置、画像処理プログラム、および学習済みモデルの製造方法 | |
JP2021190814A (ja) | 学習方法、画像処理方法、およびプログラム | |
JP4748702B2 (ja) | 輝度ノイズフィルタリング方法及び輝度ノイズフィルタリングシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20231213 |