JP2022121775A - 画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法 - Google Patents

画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法 Download PDF

Info

Publication number
JP2022121775A
JP2022121775A JP2021018670A JP2021018670A JP2022121775A JP 2022121775 A JP2022121775 A JP 2022121775A JP 2021018670 A JP2021018670 A JP 2021018670A JP 2021018670 A JP2021018670 A JP 2021018670A JP 2022121775 A JP2022121775 A JP 2022121775A
Authority
JP
Japan
Prior art keywords
image
defocus
resolution
blur
correct
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
JP2021018670A
Other languages
English (en)
Other versions
JP2022121775A5 (ja
Inventor
正和 小林
Masakazu Kobayashi
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 JP2021018670A priority Critical patent/JP2022121775A/ja
Publication of JP2022121775A publication Critical patent/JP2022121775A/ja
Publication of JP2022121775A5 publication Critical patent/JP2022121775A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】視差量の変化が小さい場合でも、撮像画像のデフォーカスによるぼけを変換して良好なぼけ味の画像を得ることが可能な画像処理方法を提供する。【解決手段】撮像画像のデフォーカスぼけを異なる形状のぼけに変換する画像処理方法であって、原画像を取得する工程と、デフォーカス量を設定する工程と、デフォーカス量と原画像とに基づいて、訓練画像と正解画像とを生成する工程と、訓練画像を機械学習モデルに入力して生成された出力画像と、正解画像とを比較して機械学習モデルを学習する工程とを有し、デフォーカス量に関する値が閾値よりも小さい場合、正解画像の解像度は訓練画像の解像度以上であり、デフォーカス量に関する値が閾値よりも大きい場合、正解画像の解像度は訓練画像の解像度よりも低い。【選択図】図1

Description

本発明は、撮像された画像に対して、デフォーカスによるぼけを変換し、良好なぼけ味の画像を得る画像処理方法に関する。
特許文献1には、光学系の異なる瞳を介して得られる視差画像と機械学習モデルを用いて、画像のデフォーカスによるぼけを変換し、良好なぼけ味の画像を得る方法が開示されている。
特開2020-36310号公報
特許文献1に開示された方法は、光学系の異なる瞳を介して得られる視差画像を機械学習モデルに入力することで、撮像画像のデフォーカスによるぼけを変換し、良好なぼけ味の画像を得ることができる。視差画像を用いることで、画像内の合焦面とデフォーカスを区別することができる。しかし、撮像に用いる光学系によっては視差量の変化が小さい場合があり、機械学習モデルが合焦面とデフォーカスを区別することができず、学習誤差が生じることがある。そのため、視差量の変化が小さい場合は変換の精度が低下する。
そこで本発明は、視差量の変化が小さい場合でも、撮像画像のデフォーカスによるぼけを変換して良好なぼけ味の画像を得ることが可能な画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法を提供することを目的とする。
本発明の一側面としての画像処理方法は、撮像画像のデフォーカスぼけを異なる形状のぼけに変換する画像処理方法であって、原画像を取得する工程と、デフォーカス量を設定する工程と、前記デフォーカス量と前記原画像とに基づいて、訓練画像と正解画像とを生成する工程と、前記訓練画像を機械学習モデルに入力して生成された出力画像と、前記正解画像とを比較して前記機械学習モデルを学習する工程とを有し、前記デフォーカス量に関する値が閾値よりも小さい場合、前記正解画像の解像度は前記訓練画像の解像度以上であり、前記デフォーカス量に関する値が前記閾値よりも大きい場合、前記正解画像の解像度は前記訓練画像の解像度よりも低い。
本発明の他の目的及び特徴は、以下の実施例において説明される。
本発明によれば、視差量の変化が小さい場合でも、撮像画像のデフォーカスによるぼけを変換して良好なぼけ味の画像を得ることが可能な画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法を提供することができる。
実施例1における機械学習モデルの構成図である。 実施例1における画像処理システムのブロック図である。 実施例1における画像処理システムの外観図である。 実施例1における撮像装置の説明図である。 実施例1における学習データの生成方法に関するフローチャートである。 実施例1におけるウエイトの学習方法に関するフローチャートである。 実施例1、2における推定画像の生成方法に関するフローチャートである。 実施例1における第1の瞳で形成されたPSFと第2の瞳で形成された点像分布関数を示す図である。 実施例1における視差量と被写体距離との関係を示す図である。 実施例1における合焦被写体の輝度値変化を示す図である。 実施例2における機械学習モデルの構成図である。 実施例2における画像処理システムのブロック図である。 実施例2における画像処理システムの外観図である。 実施例2における学習データの生成方法に関するフローチャートである。 実施例2におけるウエイトの学習方法に関するフローチャートである。 実施例2におけるデフォーカスマップの精度を示す図である。 実施例2における推定画像の生成方法に関するフローチャートである。 実施例3における画像処理システムのブロック図である。 実施例3における画像処理システムの外観図である。 実施例3における推定画像の生成に関するフローチャートである。 各実施例におけるデフォーカス距離での点像強度分布を示す図である。
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照符号を付し、重複する説明は省略する。
実施例の具体的な説明を行う前に、本発明の要旨を説明する。本発明は、撮像画像のデフォーカスぼけを、機械学習モデルを用いて変換する。機械学習モデルは例えば、ニューラルネットワーク、遺伝的プログラミング、ベイジアンネットワークなどを含む。ニューラルネットワークは、CNN(Convolutional Neural Network)、GAN(Generative Adversarial Network)、RNN(Recurrent Neural Network)などを含む。デフォーカスぼけの変換とは、二線ぼけからガウスぼけや玉ぼけへの変換などが含まれる。
図21(A)~(C)を参照して、二線ぼけ、玉ぼけ、ガウスぼけについて説明する。図21(A)は、二線ぼけのPSF(点像分布関数)を示す図である。図21(A)において、横軸は空間座標(位置)、縦軸は強度を示す。この点は、後述の図21(B)、(C)に関しても同様である。図21(A)に示されるように、二線ぼけは、ピークが分離したPSFを有する。デフォーカス距離におけるPSFが図21(A)のような形状を有する場合、本来は1本の線である被写体が、デフォーカスした際に2重にぼけているように見える。被写体が点像である場合はデフォーカスした際にリング状に見えるため、リングぼけとも呼ばれる。図21(B)は、玉ぼけのPSFを示す図である。玉ぼけは、強度がフラットなPSFを有し、ディスクぼけとも呼ばれる。図21(C)は、ガウスぼけのPSFを示す図である。ガウスぼけは、ガウス分布のようにエッジが滑らかなPSFを有する。変換の対象とする他のデフォーカスぼけには、例えば、ヴィネッティングによって欠けたデフォーカスぼけ、カタディオプトリックレンズなどの瞳遮蔽によるリング状のデフォーカスぼけなどが挙げられる。なお、変換の対象とするデフォーカスぼけの形状に制限はない。
各実施例におけるデフォーカスぼけの変換とは、被写界深度の深いパンフォーカス画像に対してデフォーカスぼけを付与し、被写界深度の浅い画像を再現するものではない。既にデフォーカスぼけしている被写体を、所望のデフォーカスぼけに変換する。つまり、既に作用しているデフォーカスぼけと所望のデフォーカスぼけの差分を満たすデフォーカスぼけを作用させる必要があり、より高度な処理が必要となる。
機械学習モデルを用いたデフォーカスぼけの変換においては、合焦面とデフォーカスを区別して変換できるかが重要な課題になる。そのため、撮像画像と共にデフォーカス量に関する情報を使用することが好ましい。例えば、撮像画像と共に、光学系の異なる瞳を介して取得した視差画像を機械学習モデルに入力する。光学系の異なる瞳を介して取得した視差画像は、合焦面からのずれ量に応じて視差量が変化する。したがって、合焦面とデフォーカスを区別することができる。光学系の瞳を分割して情報を取得する撮像素子については、実施例1で詳細に説明する。
しかし、撮像に用いる光学系によっては視差量の変化が小さく、機械学習モデルが合焦面とデフォーカスを区別することができずに学習誤差が生じることがある。この場合、機械学習モデルは視差量の違いを認識できず、複数の正解画像の平均値を出力するように学習してしまう。特に、合焦面近傍では合焦面がぼけることになり、撮像画像の画質に与える影響が大きい。そこで各実施例では、合焦面とデフォーカスを区別して変換できるように、閾値を設定して学習画像を生成し、学習を行う。これにより、視差量の変化が小さい場合でも、高精度に撮像画像のデフォーカスぼけを変換することが可能な学習を行うことができる。
なお以下では、機械学習モデルのウエイトを学習する段階のことを学習フェーズとし、学習済みのウエイトを用いた機械学習モデルでデフォーカスぼけの変換を行う段階のことを推定フェーズとする。
まず、図2および図3を参照して、本発明の実施例1における画像処理システムに関して説明する。図2は、画像処理システム100のブロック図である。図3は、画像処理システム100の外観図である。画像処理システム100は、学習装置(画像処理装置)101、撮像装置102、画像推定装置103、表示装置104、記録媒体105、出力装置106、およびネットワーク107を有する。学習装置101は、記憶部101a、取得部101b、生成部101c、および更新部101dを有し、デフォーカスぼけ変換に用いる機械学習モデルのウエイトを学習する。なお、ウエイトの学習、およびウエイトを用いたデフォーカスぼけ変換処理に関する詳細は後述する。撮像装置102は、光学系102aと撮像素子102bを有し、被写体空間を撮像して撮像画像を取得する。光学系102aは、被写体空間から入射した光を集光し、光学像(被写体像)を形成する。撮像素子102bは、光学像を光電変換することによって、撮像画像を取得する。
ここで、図4(A)、(B)を参照して、撮像装置102の構成について説明する。図4(A)、(B)は、撮像装置102の説明図である。図4(A)は、撮像部102の断面図を示し、一点鎖線は軸上光束を表している。図4(B)は、撮像素子102bの上面図を示す。撮像素子102bは、マイクロレンズアレイ122と複数の画素121とを有する。マイクロレンズアレイ122は、光学系102aを介して被写体面120と共役の位置に配置されている。図4(B)に示されるように、マイクロレンズアレイ122を構成するマイクロレンズ122a(マイクロレンズ122aのみ表記し、122b以降は省略)は、複数の画素121(画素121aのみ表記し、121b以降は省略)のそれぞれと対応している。ここで、複数の部位をまとめて指定する際は番号のみを付し、そのうちの1つを示す際は番号とaなどの記号を付す。
複数の画素121のそれぞれは、光学系102aを介して形成された光学像を光電変換する第1の光電変換部123および第2の光電変換部124を有する。これにより、例えば画素121aに入射した光は、その入射角に依存して、第1の光電変換部123aと第2の光電変換部124aに分離して受光される(第1の光電変換部123aと第2の光電変換部124aは、互いに異なる入射角で入射する光を受光する)。光の入射角は、その光が光学系102aにおける瞳のいずれの位置を通過したかにより決定される。このため、光学系102aの瞳は2つの光電変換部により2つの部分瞳に分割され、一つの画素内の2つの光電変換部は互いに異なる視点(瞳の位置)から被写体空間を観察した情報を取得する。なお本実施例において、瞳の分割方向は水平方向であるが、これに限定されるものではなく、垂直方向や斜め方向などの他の方向であってもよい。
撮像素子102bは、第1の光電変換部123で取得された信号(A画像)と、この信号(A画像)と第2の光電変換部124で取得された信号(B画像)との加算信号(A+B画像)を出力する。このように本実施例において、A+B画像およびA画像は、光学系102aを介して被写体空間を同時に撮像して得られた画像である。A+B画像は光学系102aの瞳の全域(第1の瞳)を介して取得された画像であり、A画像は瞳の一部である部分瞳(第2の瞳)を介して取得された画像である。また本実施例において、A+B画像およびA画像は、同一の撮像素子102bにより撮像された画像である。
画像推定装置103は、記憶部103a、取得部103b、ぼけ変換部103c、および生成部103dを有する。画像推定装置103は、撮像装置102で撮像された撮像画像(またはその少なくとも一部)に対して、デフォーカスぼけを変換した推定画像を生成する。デフォーカスぼけ変換には、学習装置101で学習済みのウエイトを用いた機械学習モデルを使用する。学習装置101と画像推定装置103はネットワーク107によって接続されており、画像推定装置103はデフォーカスぼけ変換時または事前に、学習済みのウエイトの情報を学習装置101から読み出す。推定画像は、表示装置104、記録媒体105、出力装置106の少なくともいずれかに出力される。表示装置104は、例えば液晶ディスプレイやプロジェクタなどである。ユーザは、表示装置104を介して、処理途中の画像を確認しながら編集作業などを行うことができる。編集作業時のユーザインターフェースの詳細は後述する。記録媒体105は、例えば半導体メモリ、ハードディスク、ネットワーク上のサーバ等であり、推定画像を保存する。出力装置106は、プリンタなどである。
次に、図5を参照して、学習装置101で実行される学習データの生成に関して説明する。図5は、学習データの生成方法に関するフローチャートである。
まずステップS101において、取得部(取得手段)101bは、原画像を取得する。原画像は、1枚でも複数枚でもよい。原画像は、実写画像やCG(Computer Graphics)画像などである。以降のステップで、原画像にぼけを作用させて、訓練画像と正解画像を作り出す。そのため、様々な被写体に対して正しくデフォーカスぼけの形状変換が行えるように、原画像は、様々な強度と方向を有するエッジや、テクスチャ、グラデーション、平坦部などを有する画像であることが望ましい。
好ましくは、原画像は、撮像素子102bの輝度飽和値よりも高い信号値を有している。これは、実際の被写体においても、特定の露出条件で撮像装置102により撮像を行った際、輝度飽和値に収まらない被写体が存在するためである。正解画像と訓練画像は、デフォーカスぼけを作用させた後、撮像素子102bの輝度飽和値によってクリップすることで、実際の輝度飽和値に収まらない被写体を再現できる。
続いてステップS102において、取得部(設定手段)101bは、デフォーカス量を設定して取得する。あらゆる撮像画像に対応するため、様々なデフォーカス量を設定することが好ましい。続いてステップS103において、生成部101cは、取得したデフォーカス量に基づいて第1の瞳を介して形成される光学特性を生成し、記憶部101aに保存する。第1の瞳は、光学系102aの瞳の全域である。光学特性とは、PSFまたはOTF(光学伝達関数)を含む。続いてステップS104において、生成部101cは、取得したデフォーカス量に基づいて第2の瞳を介して形成される光学特性を生成し、記憶部101aに保存する。第2の瞳は、光学系102aの瞳の一部である部分瞳である。
続いてステップS105において、取得部101bは、第1の瞳の光学特性と第2の瞳の光学特性の視差量を取得する。視差量は、光学特性をPSFとした場合、各重心の差分を取ることで取得できる。図8(A)、(B)は、第1の瞳で形成されたPSFと第2の瞳で形成されたPSFを示す。図8(A)は、合焦面の第1の瞳のPSF(実線7001)と第2の瞳のPSF(点線7002)の断面図である。図8(B)は、デフォーカスの第1の瞳のPSF(実線7003)と第2の瞳のPSF(点線7004)である。合焦面では視差量が小さく、デフォーカスでは視差量が大きい。
続いて、図5のステップS106において、更新部101dは、取得した視差量(ステップS102にて設定されたデフォーカス量に関する値)と閾値とを比較する。視差量と閾値を比較するのは、撮像条件によって視差量の変化が小さい場合があるためである。例えば、光学系102aの合焦位置が遠くなるほど視差量の変化は小さくなる。
図9は、光学系102aが焦点距離50mm、F値1.4、合焦位置2500mm、撮像素子102bの画素ピッチ5.5μmにおける視差量と被写体距離との関係を示す。図9において、横軸は被写体距離(m)、縦軸は視差量(画素)をそれぞれ示す。合焦位置2500mmと3000mmでは、視差量の差は約2画素である。ここで、合焦位置2500mmの被写体を変化させず、3000mmのデフォーカスぼけを変換するように学習したとする。このとき、視差量の変化が小さいため、機械学習モデルが合焦面とデフォーカスを区別することができずに学習誤差が生じる。この場合、機械学習モデルは視差量の違いを認識できず、複数の正解画像の平均値を出力するように学習する。
そのため、本実施例では閾値を設定し、視差量と閾値との比較に基づき学習画像を生成する。具体的には、閾値を5画素とし、視差量が閾値以下である場合、正解画像と訓練画像とは同一の解像度とする。一方、視差量が閾値以上である場合、正解画像の解像度を訓練画像の解像度よりも小さくする。ここで解像度とは、画像の周波数特性を指し、解像度が高いとは画像に高周波成分が多く含まれることを意味する。これにより、合焦面とデフォーカスを区別して変換するように学習することができる。なお閾値は、撮像画像の撮像に用いる撮像装置の焦点深度に対応する値以上の値である。焦点深度は、光学系102aのF値(絞り値)と撮像素子102bの画素ピッチとで決まる。F値をF、画素ピッチをδとした場合、焦点深度fは以下の(1)式で求められる。
Figure 2022121775000002
例えば、F値1.4、画素ピッチ5.5μmの場合、焦点深度は7.7μmとなる。本実施例における閾値である視差量5画素は、被写体距離が4000mmの場合である。このときの結像位置は、幾何光学的に撮像素子から前方約290μmと求めることができる。すなわち閾値(視差量5画素)は、撮像装置の焦点深度以上に対応する値である。
また、学習するデフォーカス量は、閾値から焦点深度に対応する値以上離れている(デフォーカス量と閾値とは、焦点深度に対応する値以上の間隔を有する)ことが好ましい。これにより、合焦面として学習する視差量とデフォーカスとして学習する視差量を切り分けることができるため、閾値近傍のデフォーカス量における変換の精度を向上させることができる。
ここで、図10を参照して、合焦被写体の輝度値変化について説明する。図10は、閾値を設定せずに学習したウエイトを用いて撮像画像を変換した場合の合焦被写体の輝度値変化(一点鎖線1003)と、視差量と閾値の比較に基づき学習したウエイトを用いた場合の輝度値変化(点線1002)を示す図である。図10において、実線1001は、撮像画像の合焦被写体の輝度値である。閾値を設定せずに学習した場合にはエッジが失われ、合焦被写体がぼけている。一方、視差量と閾値の比較に基づき学習した場合はエッジが保たれ、合焦被写体はぼけていない。
続いて、図5のステップS107において、生成部101cは、変換情報を生成する。変換情報とは、正解画像を生成する際に、原画像に作用させる光学特性である。本実施例では、視差量が閾値以下である場合、正解画像と訓練画像は同一の解像度とする。一方、視差量が閾値よりも大きい場合、正解画像の解像度を訓練画像の解像度よりも低くする。なお合焦面を鮮鋭化したい場合、視差量が閾値以下である場合、正解画像の解像度を訓練画像の解像度以上の解像度としてもよい。これにより、合焦面の鮮鋭化とデフォーカスぼけを両立して変換することが可能になる。ここで鮮鋭化とは、ぼけによって低下または消失した被写体の周波数成分を復元する処理を指す。
続いてステップS108において、生成部101cは、訓練画像を生成し、訓練画像を記憶部101aに保存する。訓練画像は、第1の瞳の光学特性と第2の瞳の光学特性をそれぞれ原画像に作用させて撮像シミュレーションを行った視差画像(A+B画像、A画像)である。なお本実施例において、訓練画像はA+B画像とA画像とするが、A画像とB画像またはA+B画像とB画像でもよい。光学特性の作用は、原画像に対してPSFを畳み込むか、または原画像の周波数特性とOTFの積をとることで実行できる。
続いてステップS109において、生成部101cは、正解画像を生成し、正解画像を記憶部101aに保存する。正解画像は、原画像に変換情報を作用させて撮像シミュレーションを行った画像である。正解画像と訓練画像は、未現像のRAW画像でも現像後の画像でもよい。また、訓練画像、正解画像の生成する順序は入れ替えてもよい。
以上が、学習データ生成の説明である。なお、訓練画像と正解画像から、既定の画素数の部分領域を抽出して学習に用いてもよい。
次に、図6を参照して、機械学習モデルにおけるウエイトの学習(学習フェーズ)について説明する。図6は、ウエイトの学習方法に関するフローチャートである。なお本実施例では、機械学習モデルとしてCNNを使用するが、これに限定されるものではなく、他のモデルについても同様に適用可能である。
まずステップS111において、取得部101bは、記憶部101aから1組以上の正解画像と訓練画像を取得する。訓練画像は、CNNの学習フェーズにおける入力データである。続いてステップS112において、生成部101cは、訓練画像をCNNへ入力し、出力画像を生成する。
ここで、図1を参照して、本実施例における出力画像の生成に関して説明する。図1は、本実施例における機械学習モデルの構成図である。訓練画像201は、グレースケールでも、複数のチャンネル成分を有していてもよい。本実施例において、CNN202は、1層以上の畳み込み層またはフルコネクション層を有する。学習の初回において、CNN202のウエイト(フィルタの各要素とバイアスの値)は、乱数によって生成する。図1に示されるように、訓練画像201がCNN202へ入力されることにより、出力画像203が生成される。
続いて、図6のステップS113において、更新部(学習手段)101dは、出力画像と正解画像の誤差に基づいて(ロス関数を用いて)、CNNのウエイトを更新する。本実施例では、出力画像と正解画像における信号値の差のユークリッドノルムをロス関数とする。ただし、ロス関数はこれに限定されるものではない。ステップS111で複数組の訓練画像と正解画像を取得している場合、各組に対してロス関数の値を算出する。算出されたロス関数の値から、誤差逆伝播法(Backpropagation)などによってウエイトを更新する。
続いてステップS114において、更新部101dは、ウエイトの学習が完了したか否かを判定する。ウエイトの学習の完了は、学習(ウエイトの更新)の反復回数が規定の回数に達したか否か、または更新時のウエイトの変化量が規定値より小さいか否かなどによって判定することができる。学習が完了していない判定された場合、ステップS111へ戻り、取得部101bは1組以上の新たな訓練画像と正解画像を取得する。一方、学習が完了したと判定された場合、学習装置101は学習を終了し、ウエイトの情報を記憶部101aに保存する。
次に、図7を参照して、画像推定装置103で実行される撮像画像のデフォーカスぼけ変換(推定フェーズ)に関して説明する。図7は、推定画像の生成方法に関するフローチャートである。なお、推定は必ずしも画像推定装置103で行われる必要はなく、撮像装置102内でエッジ処理してもよい。
まずステップS121において、取得部103bは、撮像画像とウエイトの情報を取得する。撮像画像は、A+B画像およびA画像を含む。または、学習時にA+B画像とB画像を訓練画像とした場合はA+B画像とB画像でもよいし、A画像とB画像を訓練画像とした場合はA画像とB画像でもよい。取得する撮像画像は、撮像画像全体の一部分でもよい。該ウエイトの情報は、予め記憶部101aから読み出され、記憶部103aに記憶されている。続いてステップS122において、ぼけ変換部103cは、撮像画像をCNNに入力し、推定画像を生成する。推定画像は、撮像画像のデフォーカスぼけが変換された画像である。学習時と同様に、図1に示したCNNを用いて推定画像を生成する。CNNには、取得された学習済みのウエイトが使用される。生成された複数の推定画像は、記憶部103aに保存される。以上の構成により、視差量の変化が小さい場合でも、デフォーカスによるぼけを変換し、良好なぼけ味の画像を得ることができる。
次に、本実施例の効果を高めるために好ましい条件に関して説明する。入力データはさらに、輝度飽和マップを含むことが好ましい。輝度飽和マップは、画像の輝度飽和画素領域を示し、画像と同じサイズである。学習フェーズでは、訓練画像から輝度飽和マップを生成する。推定フェーズでは、撮像画像から輝度飽和マップを生成する。輝度飽和部には、輝度飽和による被写体の構造とは異なる偽エッジが存在するため、機械学習モデルはこれを、高周波成分を有するデフォーカスぼけやピント位置など、エッジを有するものと区別することが難しい。輝度飽和マップにより、輝度飽和部と高周波成分を有するデフォーカスぼけ、ピント位置を機械学習モデルが区別できるようになり、高精度な変換が可能になる。なお、高周波成分を有するデフォーカスぼけは、二線ぼけなど鋭いピークを持ったPSFが作用した際に発生しやすい。
入力データはさらに、ステートマップを含むことが望ましい。ステートマップは、撮像時の光学系102aの状態を(Z,F,D)で表した情報である。(Z,F,D)において、Zはズーム、Fは絞り、Dはフォーカス距離に対応する。
入力データはさらに、位置マップを含むことが望ましい。位置マップは、画像の各画素に対する像面座標を示すマップである。位置マップは、直交座標系でもよいし、極座標系(像高とアジムスに対応)でもよい。
デフォーカスぼけはレンズステートおよび像高・アジムスによって変化する。CNNは学習データに含まれる全てのデフォーカスぼけを平均的に変換するように学習されるため、異なる形状のデフォーカスぼけ各々に対する変換の精度は低下する。そこで、ステートマップと位置マップを機械学習モデルに入力することで、撮像画像に作用しているPSFを機械学習モデルが特定することができる。これにより、学習フェーズでは、機械学習モデルは、学習の訓練画像に様々な形状のデフォーカスぼけが含まれていても、それらのデフォーカスぼけを平均的に変換するようなウエイトでなく、デフォーカスぼけの形状ごとに異なる変換を行うウエイトを学習する。これにより、推定フェーズでは、各デフォーカスぼけに対して高精度な変換が可能となる。このため、変換の精度低下を抑制して、様々な形状のデフォーカスぼけを変換可能な学習データを一括で学習できる。
次に、図12および図13を参照して、本発明の実施例2における画像処理システムに関して説明する。本実施例では、撮像画像のデフォーカス量に関する情報として、デフォーカスマップを使用する。実施例1で説明した視差量の変化が小さいことは、本実施例ではデフォーカスマップの分解能が低いことに相当する。図12は、画像処理システム300のブロック図である。図13は、画像処理システム300の外観図である。画像処理システム300は、学習装置(画像処理装置)301、撮像装置302、画像推定装置303、およびネットワーク304、305を有する。
学習装置301は、記憶部301a、取得部301b、生成部301c、および更新部301dを有し、デフォーカスぼけ変換に用いる機械学習モデルのウエイトを学習する。ウエイトの学習、およびウエイトを用いたデフォーカスぼけ変換に関する詳細は後述する。撮像装置302は、光学系302a、撮像素子302b、取得部302c、記録媒体302d、表示部302e、およびシステムコントローラ302fを有する。光学系302aは、被写体空間から入射した光を集光し、光学像(被写体像)を形成する。撮像素子302bは、光学像を光電変換によって電気信号へ変換し、撮像画像を生成する。
画像推定装置303は、記憶部303a、ぼけ変換部303b、取得部303c、および生成部303dを有する。画像推定装置303は、撮像装置302で撮像された撮像画像(またはその少なくとも一部)に対して、デフォーカスぼけを変換した推定画像を生成する。推定画像の生成には、学習装置301で学習された学習済みのウエイトの情報が用いられる。ウエイトの情報は、記憶部303aに記憶されている。取得部302cは推定画像を取得し、記録媒体302dは推定画像を保存する。システムコントローラ302fは、撮像装置302の一連の動作を制御する。
次に、図14を参照して、学習装置301で実行される学習データの生成に関して説明する。図14は、学習データの生成方法に関するフローチャートである。
まずステップS201において、取得部301bは、原画像を取得する。続いてステップS202において、取得部301bは、デフォーカス量を設定して取得する。続いてステップS203において、生成部301cは、取得したデフォーカス量に基づいて第1の瞳を介して形成される光学特性を生成し、記憶部301aに保存する。第1の瞳は、光学系302aの瞳の全域である。
続いてステップS204において、生成部301cは、取得したデフォーカス量に基づいてデフォーカスマップを生成する。デフォーカスマップは、訓練画像の1つのチャンネル成分と同じ要素数(画素数)であり、被写体のデフォーカス量を数値で示す。本実施例では、この数値をデフォーカス値とする。撮影時には、デフォーカスマップはToF(Time Of Flight)センサや視差画像、DFD(Depth from Defocus)などを利用することで取得できる。一例として、デフォーカスマップが、被写体距離の取り得る範囲に基づいて正規化された数値を有する場合を示す。Lを被写体距離とし、被写体距離の最小値をLmin、最大値をLmaxとするとき、正規化された被写体距離Lは、以下の式(2)で求められる。
Figure 2022121775000003
なお、数値の取り方に制限はなく、最至近を1とし、撮像装置から最も離れた距離を0としてもよい。本実施例では、合焦面のデフォーカス値を0、最至近を-1、撮像装置から最も離れた距離を1とする。
続いてステップS205において、取得部301bは、デフォーカスマップからデフォーカス値の絶対値を取得する。続いてステップS206において、更新部301dは、取得したデフォーカス値の絶対値と閾値とを比較する。
ここで、図16(A)、(B)を参照して、デフォーカスマップの精度について説明する。図16(A)、(B)は、デフォーカスマップの精度を示す図である。図16(A)、(B)において、横軸はデフォーカス量、縦軸はデフォーカス値をそれぞれ示す。理想的なデフォーカスマップは、図16(A)に示されるように、デフォーカス量に応じてデフォーカス値が連続的に変化する。しかし、実際に撮影時に取得できるデフォーカス値は、分解能に限界があるため、図16(B)に示されるように離散的である。そのため、デフォーカス量は異なるがデフォーカス値が同一になる。例えば、分解能が1mの場合、合焦面から後方1mは共通のデフォーカス値を有する。このとき、合焦面は変化させず、後方1mまでのデフォーカスぼけを変換するように学習すると、機械学習モデルは1種類の訓練画像に対して複数の正解画像を学習することになり、変換の精度が低下する。そのため、合焦面のデフォーカス値を0とする場合、デフォーカス値の絶対値が閾値未満を合焦面、閾値以上をデフォーカスとして学習する。上記のように、分解能が1mの場合は、後方1mにおけるデフォーカス値の絶対値を閾値とすることが好ましい。すなわち、閾値は撮像時に取得するデフォーカスマップの分解能により決定する。これにより、デフォーカスマップの分解能が低い場合でも、合焦面を大きく変化させずにデフォーカスぼけの変換ができる。
続いて、図14のステップS207において、生成部301cは、変換情報を生成する。デフォーカス値の絶対値(ステップS202にて設定されたデフォーカス量に関する値)が閾値よりも小さい場合、正解画像と訓練画像は同一の解像度とする。一方、デフォーカス値の絶対値が閾値以上である場合、正解画像の解像度を訓練画像の解像度よりも低くする。
続いてステップS208において、生成部301cは、訓練画像を生成し、訓練画像を記憶部301aに保存する。訓練画像は、原画像に第1の瞳の光学特性を作用させて生成される。続いてステップS209において、生成部301cは、正解画像を生成し、正解画像を記憶部301aに保存する。正解画像は、原画像に変換情報を作用させて生成される。正解画像と訓練画像は、未現像のRAW画像でも現像後の画像でもよい。また、訓練画像、正解画像の生成する順序は入れ替えてもよい。
次に、図15を参照して、学習装置301で行うウエイトの学習(学習フェーズ)に関して説明する。図15は、ウエイトの学習方法に関するフローチャートである。本実施例では、機械学習モデルとしてGANを使用するが、これに限定されるものではなく、他のモデルについても同様に適用可能である。なお、実施例1と同様の箇所の説明は省略する。GANとは、画像を生成する生成器と、生成された画像を識別する識別器で構成される、敵対的生成ネットワークである。
まずステップS211において、取得部301bは、1組以上の正解画像と訓練入力データを記憶部301aから取得する。正解画像と訓練画像の生成は、実施例1と同様である。図11は、本実施例の機械学習モデル(GAN)の構成図である。連結層406は、訓練画像401とデフォーカスマップ402とをチャンネル方向に既定の順序で連結し、訓練入力データ403を生成する。
続いてステップS212において、生成部301cは、訓練入力データ403を生成器407に入力して、出力画像404を生成する。生成器407は、例えばCNNである。続いてステップS213において、更新部301dは、出力画像404と正解画像405との誤差に基づいて(ロス関数を用いて)、生成器407のウエイトを更新する。ロス関数には、各画素における差分のユークリッドノルムを使用する。
続いてステップS214において、更新部301dは、第1の学習が完了したか否かを判定する。第1の学習が完了していない場合、ステップS211へ戻る。一方、第1の学習が完了した場合、ステップS221へ進み、学習装置301は第2の学習を実行する。
ステップS221において、取得部301bは、ステップS211と同様に、1組以上の正解画像405と訓練入力データ403を記憶部301aから取得する。続いてステップS222において、生成部301cは、ステップS212と同様に、訓練入力データ403を生成器407に入力して、出力画像404を生成する。
続いてステップS223において、更新部301dは、出力画像404と正解画像405から識別器408のウエイトを更新する。識別器408は、入力された画像が生成器407によって生成されたフェイク画像か、正解画像405であるリアル画像かを識別する。出力画像404または正解画像405を識別器408に入力し、識別ラベル(フェイクかリアルか)を生成する。識別ラベルと正解ラベル(出力画像404はフェイク、正解画像405がリアル)の誤差に基づいて(ロス関数を用いて)、識別器408のウエイトを更新する。ロス関数としてはsigmoid cross entropyを使用するが、これに限定されるものではなく、他のロス関数を用いてもよい。
続いてステップS224において、更新部301dは、出力画像404と正解画像405とに基づいて、生成器407のウエイトを更新する。ロス関数は、ステップS213のユークリッドノルムと、以下の2項の重み付き和とする。1項目はContent Lossと呼ばれる、出力画像404と正解画像405を特徴マップに変換し、その要素毎の差分のユークリッドノルムをとった項である。特徴マップでの差分をロス関数に加えることで、出力画像404のより抽象的な性質を正解画像405へ近づけることができる。2項目はAdversarial Lossと呼ばれる、出力画像404を識別器408へ入力して得られた識別ラベルのsigmoid cross entropyである。識別器408が、リアルと識別するように学習することで、より主観的に正解画像405らしく見える出力画像404が得られるようになる。
続いてステップS225において、更新部301dは、第2の学習が完了したか否かを判定する。ステップS214と同様に、第2の学習が完了していない場合、ステップS221へ戻る。一方、第2の学習が完了した場合、学習装置301は、学習済みの生成器407のウエイトの情報を記憶部301aに記憶する。
次に、図17を参照して、画像推定装置303で実行されるデフォーカスぼけ変換(推定フェーズ)に関して説明する。図17は、推定画像の生成方法に関するフローチャートである。まずステップS231において、取得部303cは、撮像画像(またはその少なくとも一部)、デフォーカスマップ、および学習済みのウエイトの情報を取得する。ウエイトの情報は、予め記憶部301aから読み出され、記憶部303aに記憶されている。続いてステップS232において、ぼけ変換部303bは、入力データを生成器407に入力し、推定画像を生成する。
以上の構成により、デフォーカスマップの分解能が低い場合でも、デフォーカスによるぼけを変換し、良好なぼけ味の画像を得ることができる。
次に、図18および図19を参照して、本発明の実施例3における画像処理システムに関して説明する。本実施例の画像処理システムは、画像推定装置に対して画像処理の対象である撮像画像を送信し、処理済みの出力画像を画像推定装置から受信する処理装置(コンピュータ)を有する点で、実施例1、2と異なる。図18は、画像処理システム500のブロック図である。図19は、画像処理システム500の外観図である。画像処理システム500は、学習装置(画像処理装置)501、撮像装置502、レンズ装置503、制御装置(第1の装置)504、画像推定装置(第2の装置)505、およびネットワーク506、507を有する。
学習装置501および画像推定装置505はそれぞれ、例えばサーバである。制御装置504は、パーソナルコンピュータである。学習装置501は、記憶部501a、取得部501b、生成部501c、および更新部501dを有し、撮像装置502を用いて撮像された撮像画像のデフォーカスぼけを変換する機械学習モデルのウエイトを学習する。なお、学習に関する詳細は、後述する。撮像装置502は撮像素子502aを有し、撮像素子502aがレンズ装置503の形成した光学像を光電変換して撮像画像を取得する。レンズ装置503と撮像装置502は着脱可能であり、互いに複数種類と組み合わせることが可能である。
制御装置504は、通信部504a、表示部504b、および記憶部504cを有し、有線または無線で接続された撮像装置502から取得した撮像画像に対して、実行する処理をユーザの操作に従って制御する。或いは、撮像装置502で撮像した撮像画像を予め記憶部504cに記憶しておき、撮像画像を読み出してもよい。
画像推定装置505は、通信部505a、取得部505b、記憶部505c、および変換部505dを有する。画像推定装置505は、ネットワーク506を介して接続された制御装置504の要求によって、撮像画像のデフォーカスぼけ変換処理を実行する。画像推定装置505は、ネットワーク507を介して接続された学習装置501から、学習済みのウエイトの情報をデフォーカスぼけ変換時または予め取得し、撮像画像のデフォーカスぼけ変換に用いる。デフォーカスぼけ変換後の推定画像は、再び制御装置504へ伝送されて、記憶部504cに記憶され、表示部504bに表示される。なお、学習装置501で行う学習データの生成とウエイトの学習(学習フェーズ)は実施例1と同様のため、その説明を省略する。
次に、図20を参照して、制御装置504および画像推定装置505で実行される撮像画像のデフォーカスぼけ変換(推定フェーズ)に関して説明する。図20は、推定画像の生成に関するフローチャートである。
まずステップS301において、制御装置504の通信部504aは、画像推定装置505へ撮像画像と処理の要求を送信する。続いてステップS302において、画像推定装置505の通信部505aは、制御装置504から撮像画像と処理の要求を受信し、取得する。続いてステップS303において、取得部505bは、学習済みのウエイトの情報を記憶部505cから取得する。ウエイトの情報は、予め記憶部501aから読み出され、記憶部505cに記憶されている。続いてステップS304において、変換部505dは、入力データをCNNに入力し、撮像画像のデフォーカスぼけを変換した推定画像を生成する。続いてステップS305において、通信部505aは、推定画像を制御装置504へ送信する。続いてステップS306において、通信部504aは、画像推定装置505から送信された推定画像を取得し、記憶部504cに保存する。
以上の構成により、視差量の変化が小さい場合でも、デフォーカスによるぼけを変換し、良好なぼけ味の画像を得ることができる。
各実施例において、デフォーカス量に関する値が閾値よりも小さい場合、正解画像の解像度は訓練画像の解像度以上である(正解画像の解像度は訓練画像の解像度と同一であるか、訓練画像の解像度よりも高い)。一方、デフォーカス量に関する値が閾値よりも大きい場合、正解画像の解像度は訓練画像の解像度よりも低い。好ましくは、閾値は0ではない。また好ましくは、デフォーカス量に関する値は、設定されたデフォーカス量に対応する視差量、または、設定されたデフォーカス量に基づくデフォーカスマップから取得したデフォーカス値の絶対値である。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
各実施例によれば、視差量の変化が小さい場合でも、撮像画像のデフォーカスによるぼけを変換して良好なぼけ味の画像を得ることが可能な画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法を提供することができる。
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
デフォーカス量に関する値と閾値との比較は、視差量と閾値との比較、またはデフォーカス値の絶対値と閾値との比較に限定されるものではなく、例えば、設定されたデフォーカス量そのものと閾値との比較であってもよい。
101 学習装置(画像処理装置)
101b 取得部(取得手段)
101c 生成部(生成手段)
101d 更新部(学習手段)

Claims (13)

  1. 撮像画像のデフォーカスぼけを異なる形状のぼけに変換する画像処理方法であって、
    原画像を取得する工程と、
    デフォーカス量を設定する工程と、
    前記デフォーカス量と前記原画像とに基づいて、訓練画像と正解画像とを生成する工程と、
    前記訓練画像を機械学習モデルに入力して生成された出力画像と、前記正解画像とを比較して前記機械学習モデルを学習する工程と、を有し、
    前記デフォーカス量に関する値が閾値よりも小さい場合、前記正解画像の解像度は前記訓練画像の解像度以上であり、
    前記デフォーカス量に関する値が前記閾値よりも大きい場合、前記正解画像の解像度は前記訓練画像の解像度よりも低いことを特徴とする画像処理方法。
  2. 前記閾値は0ではないことを特徴とする請求項1に記載の画像処理方法。
  3. 前記閾値は、前記撮像画像の撮像に用いる撮像装置の焦点深度に対応する値以上であることを特徴とする請求項1または2に記載の画像処理方法。
  4. 前記デフォーカス量と前記閾値は、前記撮像画像の撮像に用いる撮像装置の焦点深度に対応する値以上の間隔を有することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理方法。
  5. 前記デフォーカス量が前記閾値よりも小さい場合、前記正解画像は同一の解像度であることを特徴とする請求項1乃至4のいずれか一項に記載の画像処理方法。
  6. 前記焦点深度は、前記撮像画像の撮像に用いる光学系のF値と前記撮像画像の画素ピッチとに基づくことを特徴とする請求項3または4に記載の画像処理方法。
  7. 前記デフォーカス量に関する値は、設定された前記デフォーカス量であることを特徴とする請求項1乃至6のいずれか一項に記載の画像処理方法。
  8. 前記デフォーカス量に対応する視差量を取得する工程を更に有し、
    前記デフォーカス量に関する値は、前記視差量であることを特徴とする請求項1乃至6のいずれか一項に記載の画像処理方法。
  9. 前記デフォーカス量に基づくデフォーカスマップからデフォーカス値の絶対値を取得する工程を更に有し、
    前記デフォーカス量に関する値は、前記デフォーカス値の絶対値であることを特徴とする請求項1乃至6のいずれか一項に記載の画像処理方法。
  10. 請求項1乃至9のいずれか一項に記載の画像処理方法により学習された前記機械学習モデルに前記撮像画像を入力し、前記撮像画像の前記デフォーカスぼけを変換することを特徴とする画像処理方法。
  11. 請求項1乃至10のいずれか一項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
  12. 撮像画像のデフォーカスぼけを異なる形状のぼけに変換する画像処理装置であって、
    原画像を取得する取得手段と、
    デフォーカス量を設定する設定手段と、
    前記デフォーカス量と前記原画像とに基づいて、訓練画像と正解画像とを生成する生成手段と、
    前記訓練画像を機械学習モデルに入力して生成された出力画像と、前記正解画像とを比較して前記機械学習モデルを学習する学習手段と、を有し、
    前記デフォーカス量に関する値が閾値よりも小さい場合、前記正解画像の解像度は前記訓練画像の解像度以上であり、
    前記デフォーカス量に関する値が前記閾値よりも大きい場合、前記正解画像の解像度は前記訓練画像の解像度よりも低いことを特徴とする画像処理装置。
  13. 撮像画像のデフォーカスぼけを異なる形状のぼけに変換する学習済みモデルの製造方法であって、
    原画像を取得する工程と、
    デフォーカス量を設定する工程と、
    前記デフォーカス量と前記原画像とに基づいて、訓練画像と正解画像とを生成する工程と、
    前記訓練画像を機械学習モデルに入力して生成された出力画像と、前記正解画像とを比較して前記機械学習モデルを学習する工程と、を有し、
    前記デフォーカス量に関する値が閾値よりも小さい場合、前記正解画像の解像度は前記訓練画像の解像度以上であり、
    前記デフォーカス量に関する値が前記閾値よりも大きい場合、前記正解画像の解像度は前記訓練画像の解像度よりも低いことを特徴とする学習済みモデルの製造方法。
JP2021018670A 2021-02-09 2021-02-09 画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法 Pending JP2022121775A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021018670A JP2022121775A (ja) 2021-02-09 2021-02-09 画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021018670A JP2022121775A (ja) 2021-02-09 2021-02-09 画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法

Publications (2)

Publication Number Publication Date
JP2022121775A true JP2022121775A (ja) 2022-08-22
JP2022121775A5 JP2022121775A5 (ja) 2024-02-09

Family

ID=82932961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021018670A Pending JP2022121775A (ja) 2021-02-09 2021-02-09 画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法

Country Status (1)

Country Link
JP (1) JP2022121775A (ja)

Similar Documents

Publication Publication Date Title
JP7439145B2 (ja) 画像処理方法、画像処理装置、画像処理システム、学習済みウエイトの生成方法、および、プログラム
CN110858871B (zh) 图像处理方法、图像处理装置、成像装置、镜头装置、存储介质、以及图像处理系统
US11508038B2 (en) Image processing method, storage medium, image processing apparatus, learned model manufacturing method, and image processing system
US11188777B2 (en) Image processing method, image processing apparatus, learnt model manufacturing method, and image processing system
JP7297470B2 (ja) 画像処理方法、画像処理装置、プログラム、画像処理システム、および、学習済みモデルの製造方法
JP2020036310A (ja) 画像処理方法、画像処理装置、撮像装置、レンズ装置、プログラム、記憶媒体、および、画像処理システム
TWI805282B (zh) 使用焦點資訊深度估計的方法和裝置
US20220405892A1 (en) Image processing method, image processing apparatus, image processing system, and memory medium
JP6487008B1 (ja) 高解像度撮像装置
JP2022121775A (ja) 画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法
JP2020030569A (ja) 画像処理方法、画像処理装置、撮像装置、レンズ装置、プログラム、および、記憶媒体
JP2021174070A (ja) 画像処理方法、学習済みモデルの製造方法、プログラム、および、画像処理装置
WO2022014148A1 (ja) 画像処理方法、プログラム、画像処理装置、学習済みモデルの製造方法、および、画像処理システム
KR20200143815A (ko) 인공지능 카메라 시스템, 인공지능 카메라 시스템에서의 영상 변환 방법, 및 컴퓨터 판독 가능 매체
JP7451443B2 (ja) 画像処理方法および装置、機械学習モデルの訓練方法および装置、並びにプログラム
JP7225316B2 (ja) 画像処理方法、画像処理装置、画像処理システム、およびプログラム
JP2023104667A (ja) 画像処理方法、画像処理装置、画像処理システム、およびプログラム
JP2023066705A (ja) 画像処理装置、画像処理方法およびプログラム
JP2023069527A (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240201