JP2021097278A - 画像処理装置および画像処理方法ならびにプログラム - Google Patents
画像処理装置および画像処理方法ならびにプログラム Download PDFInfo
- Publication number
- JP2021097278A JP2021097278A JP2019225759A JP2019225759A JP2021097278A JP 2021097278 A JP2021097278 A JP 2021097278A JP 2019225759 A JP2019225759 A JP 2019225759A JP 2019225759 A JP2019225759 A JP 2019225759A JP 2021097278 A JP2021097278 A JP 2021097278A
- Authority
- JP
- Japan
- Prior art keywords
- image
- signal value
- type
- estimated
- 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
Links
Images
Landscapes
- Transforming Light Signals Into Electric Signals (AREA)
- Studio Devices (AREA)
Abstract
【課題】欠陥画素値の補正を行う画像処理システムで、特徴の特定を自動化し、よりロバストかつ精度よく補正を行うことが可能な画像処理装置を提供する。【解決手段】画像処理システム100において、学習装置は、撮像素子で撮像された入力画像を取得する取得部と、入力画像を深層学習に用いるモデルに入力して、撮像素子の1つ以上の欠陥画素による信号値を補正した推定画像を生成する生成部と、推定画像と正解画像との損失評価に基づいてモデルのパラメータを更新する更新部と、を有する。更新部は、推定画像における1つ以上の欠陥画素による信号値が、第1の種別の信号値であるか第1の種別の信号値より低い第2の種別の信号値であるかに応じて、推定画像及び正解画像の階調を補正したうえで損失評価を行うか、推定画像及び正解画像の階調を補正しないで損失評価を行うかを異ならせる。【選択図】図1
Description
本発明は、画像処理装置および画像処理方法ならびにプログラムに関する。
近年、デジタルカメラなどの撮像装置では、撮像素子として、一般にCCDセンサやCMOSセンサなどが用いられている。このような撮像素子では、構造上の要因や製造過程における要因、或いは製造後の外的な要因などによって、一部の画素が欠陥画素(欠陥状態の画素そのものをいう)の状態になる場合がある。
欠陥画素は、発生頻度がばらつくことが知られている。そのため、発生した欠陥画素を検出し、検出した欠陥画素の画素出力を補正する技術が提案されている(特許文献1及び特許文献2)。撮像装置内で欠陥画素を検出して補正することにより、製造過程で特定の位置に発生した欠陥画素に限らず、製造後に新たに発生した欠陥画素の画素出力を補正することができる。
ところで、上述の従来技術のようにルールベースのアルゴリズムで欠陥画素の信号を補正する方法に代えて、機械学習を適用して欠陥画素の信号を補正することが考えられる。例えば、ディープニューラルネットワークを用いた機械学習を適用し、人手で特徴量を設計するルールベースの手法よりも特徴量の特定そのものを機械学習で導出することで、よりロバストかつ精度よく欠陥画素の信号を補正可能になることが期待される。
本発明は、上記課題に鑑みてなされ、その目的は、特徴の特定が自動化され、よりロバストかつ精度よく欠陥画素の信号の補正を行うことが可能な技術を実現することである。
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、撮像素子で撮像された入力画像を取得する取得手段と、前記入力画像を深層学習に用いるモデルに入力して、前記撮像素子の1つ以上の欠陥画素による信号値を補正した推定画像を生成する生成手段と、前記推定画像と正解画像との損失評価に基づいて前記モデルのパラメータを更新する更新手段と、を有し、前記更新手段は、前記推定画像における前記1つ以上の欠陥画素による信号値のそれぞれが、第1の種別の信号値であるか前記第1の種別の信号値より低い第2の種別の信号値であるかに応じて、前記推定画像及び前記正解画像の階調を補正したうえで前記損失評価を行うか、前記推定画像及び前記正解画像の前記階調を補正しないで前記損失評価を行うかを異ならせる、あるいは、第1の種別の信号値であるか前記第1の種別の信号値より低い第2の種別の信号値であるかに応じて、前記推定画像及び前記正解画像の階調を異なる変換特性を用いて補正したうえで前記損失評価を行うことを特徴とする。
本発明によれば、特徴の特定が自動化され、よりロバストかつ精度よく欠陥画素の信号の補正を行うことが可能になる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
(実施形態の概要)
以下で説明する実施形態では、ディープニューラルネットワークなどの機械学習モデルを用いて欠陥画素による信号を補正する技術について説明する。画像を対象としてニューラルネットワークなどの機械学習モデルを用いる場合、訓練データと正解データとを生データであるRAW画像として学習を行う場合がある。これに対して、RAW画像にガンマ補正を適用した後の訓練データと正解データを用いる場合、ユーザが鑑賞する際の画像に近い状態の信号値を用いて機械学習を行うことができ、鑑賞する際の違和感を低減できる点で学習精度を向上させることができる。
以下で説明する実施形態では、ディープニューラルネットワークなどの機械学習モデルを用いて欠陥画素による信号を補正する技術について説明する。画像を対象としてニューラルネットワークなどの機械学習モデルを用いる場合、訓練データと正解データとを生データであるRAW画像として学習を行う場合がある。これに対して、RAW画像にガンマ補正を適用した後の訓練データと正解データを用いる場合、ユーザが鑑賞する際の画像に近い状態の信号値を用いて機械学習を行うことができ、鑑賞する際の違和感を低減できる点で学習精度を向上させることができる。
他方、ガンマ補正の特性は、信号値が高い(白に近い)ほどガンマ補正後の階調の分解能が低下するため、いわゆる白傷と呼ばれる信号状態となる欠陥画素に対して検出精度が低下することが考えられる。反対に、信号値が低い(黒に近い)ほどガンマ特性後の階調の分解能が向上するため、いわゆる黒傷と呼ばれる信号状態となる欠陥画素に対してより高い検出精度が得られることが考えられる。このため、以下の実施形態では、欠陥画素による信号の補正を、ディープニューラルネットワークを用いて、よりロバストかつ精度よく行うことに加えて、処理対象の欠陥画素がいずれの種別の欠陥画素であるかを考慮した、欠陥画素補正技術について説明する。
(実施形態1)
以下で説明する画像処理装置は、例えば、多層のニューラルネットワークを用いて欠陥画素補正処理を実行可能なパーソナルコンピュータである場合を例を説明する。しかし、本実施形態は、このようなパーソナルコンピュータに限らず、当該欠陥画素補正処理を実行可能な他の機器にも適用可能である。これらの機器には、例えばデジタルカメラ、スマートフォンやタブレット端末を含む携帯型端末、ゲーム機、時計型や眼鏡型の情報端末、医療機器、監視カメラシステムのサーバや車載用システムの処理ユニットなどが含まれてよい。
以下で説明する画像処理装置は、例えば、多層のニューラルネットワークを用いて欠陥画素補正処理を実行可能なパーソナルコンピュータである場合を例を説明する。しかし、本実施形態は、このようなパーソナルコンピュータに限らず、当該欠陥画素補正処理を実行可能な他の機器にも適用可能である。これらの機器には、例えばデジタルカメラ、スマートフォンやタブレット端末を含む携帯型端末、ゲーム機、時計型や眼鏡型の情報端末、医療機器、監視カメラシステムのサーバや車載用システムの処理ユニットなどが含まれてよい。
また、各装置の機能ブロックの1つ以上は、ASICやプログラマブルロジックアレイ(PLA)などのハードウェアによって実現されてもよいし、CPUやMPU等のプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。従って、以下の説明において、異なる機能ブロックが動作主体として記載されている場合であっても、同じハードウェアが主体として実現されうる。
(画像処理システムの構成)
図1は、本実施形態の画像処理システム全体の構成例と、当該画像処理システムを構成する装置の機能構成例を示している。本実施形態の画像処理システム100は、例えば、学習装置101と、撮影画像を撮影する撮像装置102と、画像推定装置103と、表示装置104と、記録媒体105と、出力装置106と、ネットワーク107とを含む。学習装置101は、本実施形態における画像処理装置の一例であり、多層のニューラルネットワークを用いて欠陥画素補正のための学習処理(学習段階の処理)を実行する。また、画像推定装置103も、本実施形態における画像処理装置の一例であり、欠陥画素補正のための欠陥画素補正処理(推定段階の処理)を実行する。このとき、画像推定装置103は、学習装置101が学習処理を経て取得した学習パラメータ(多層ニューラルネットワークの各ニューロンに係るウェイト)を、学習装置101から取得して、推定段階の処理に用いる。
図1は、本実施形態の画像処理システム全体の構成例と、当該画像処理システムを構成する装置の機能構成例を示している。本実施形態の画像処理システム100は、例えば、学習装置101と、撮影画像を撮影する撮像装置102と、画像推定装置103と、表示装置104と、記録媒体105と、出力装置106と、ネットワーク107とを含む。学習装置101は、本実施形態における画像処理装置の一例であり、多層のニューラルネットワークを用いて欠陥画素補正のための学習処理(学習段階の処理)を実行する。また、画像推定装置103も、本実施形態における画像処理装置の一例であり、欠陥画素補正のための欠陥画素補正処理(推定段階の処理)を実行する。このとき、画像推定装置103は、学習装置101が学習処理を経て取得した学習パラメータ(多層ニューラルネットワークの各ニューロンに係るウェイト)を、学習装置101から取得して、推定段階の処理に用いる。
図2には、画像処理システム100を構成する装置の具体例を示している。例えば、学習装置101及び推定装置103は、例えば、パーソナルコンピュータであるが、LAN内或いはクラウド上に配置される情報処理サーバであってもよいし、上述の他の端末や処理ユニットであってもよい。撮像装置102は、例えば、デジタルカメラであるが、撮像素子を備え、撮影画像を取得できる電子機器であれば他の装置であってもよい。
表示装置104は、例えばLCDや有機EL等で表示パネルが構成される液晶ディスプレイやプロジェクタなどであり、推定装置103から出力される画像信号を表示する。ユーザは、表示装置104を介して、欠陥画素補正処理が適用された画像を確認することができる。記録媒体105は、例えば半導体メモリ、ハードディスク、ネットワーク上のサーバ等である。出力装置106は、例えばプリンタである。
(各装置の機能構成例)
学習装置101は、記憶部(記憶手段)101a、取得部(取得手段)101b、生成部(生成手段)101c、更新部(学習手段)101d及び制御部101eを含む。制御部101eは、1つ以上のプロセッサ(CPU或いはGPU)とRAMを含み、取得部101b、生成部101c及び更新部101dの動作を制御する。この例では、画像処理部101d等を制御部101eの内部の構成として説明しているが、その1つ以上が制御部101eと別体であってもよい。取得部101b、生成部101c及び更新部101dの説明は、欠陥画素補正に係る処理において後述する。
学習装置101は、記憶部(記憶手段)101a、取得部(取得手段)101b、生成部(生成手段)101c、更新部(学習手段)101d及び制御部101eを含む。制御部101eは、1つ以上のプロセッサ(CPU或いはGPU)とRAMを含み、取得部101b、生成部101c及び更新部101dの動作を制御する。この例では、画像処理部101d等を制御部101eの内部の構成として説明しているが、その1つ以上が制御部101eと別体であってもよい。取得部101b、生成部101c及び更新部101dの説明は、欠陥画素補正に係る処理において後述する。
撮像装置102は、撮像部102a、A/D変換部102b、画像処理部102c、記録部102dを有する。撮像部102aは図示しない撮影レンズ、撮像素子及びその駆動回路からなり、撮影レンズにより結像する光学像を撮像素子により電気信号に変換する。この撮像素子はCCDやCMOSセンサで構成されている。撮像部102aから出力されるアナログ信号は、A/D変換部102bによってデジタル信号に変換される。A/D変換部102bによってデジタル信号に変換された画像信号には、撮像素子およびその駆動回路等で発生する欠陥画素による信号が含まれている。また、A/D変換部102bによってデジタル信号に変換された画像信号は、RAW画像として記録部102dに保存される。そして、画像処理部102cで公知のセンサ補正、NR処理、ガンマ補正を含む色/輝度信号処理が行われた画像もJPEG画像として記録部102dに保存される。
画像推定装置103は、記憶部103a、取得部103b、推定部103c、画像処理部103d及び制御部103eを含む。制御部103eは、1つ以上のプロセッサ(CPU或いはGPU)とRAMを含み、取得部103b、推定部103c及び画像処理部103dの動作を制御する。この例では、画像処理部103d等を制御部103eの内部の構成として説明しているが、その1つ以上が制御部103eと別体であってもよい。取得部103b、推定部103c及び画像処理部103dの説明は、欠陥画素補正に係る処理において後述する。
画像推定装置103は、撮像画像を取得し、欠陥画素の予測を行って推定画像を生成する。欠陥画素の推定には、機械学習モデルとして多層のニューラルネットワークを用いた方法(深層学習或いはディープラーニングともいわれる)を使用する。ウエイトの情報は記憶部103aから読み出される。ウエイトの情報は、ニューラルネットワークを構成する各ニューロンへの入力に対するウェイト(重み付けパラメータ)の値を示す情報である。ウェイトの情報は、学習装置101で学習されたものであり、画像推定装置103は、事前にネットワーク107を介して学習装置101の記憶部101aからウエイトの情報を読み出し、記憶部103aに保存している。保存されるウエイトの情報は、各ニューロンの重み付けパラメータの数値そのものでもよいし、符号化された形式でもよい。ウエイトの学習、およびウエイトを用いた欠陥画素補正処理に関する詳細は、後述する。
画像推定装置103は、推定画像に対して欠陥画素補正を行って、欠陥画素補正が行われた出力画像を生成する。欠陥画素補正が行われた出力画像は信号処理部103dで公知のNR処理、輝度信号処理、色信号処理等が行われ、信号処理後の出力画像が出力される。
信号処理後の出力画像は、表示装置104、記録媒体105、および、出力装置106の少なくとも1つに出力される。画像推定装置103は、画像処理部102cにより、必要に応じて現像処理やその他の画像処理を行う。
(欠陥画素補正のための学習処理に係る一連の動作)
次に、図3及び図4を参照して、欠陥画素補正のための学習処理に係る一連の動作を説明する。なお、本処理は、学習装置101の制御部101eが記憶部101aに記憶されたプログラムを制御部101e内のRAMの作業用領域に展開、実行すると共に、生成部101c等の学習装置101の各部を動作させることにより実現される。
次に、図3及び図4を参照して、欠陥画素補正のための学習処理に係る一連の動作を説明する。なお、本処理は、学習装置101の制御部101eが記憶部101aに記憶されたプログラムを制御部101e内のRAMの作業用領域に展開、実行すると共に、生成部101c等の学習装置101の各部を動作させることにより実現される。
図3は、多層のニューラルネットワーク(ディープニューラルネットワーク)のモデルを用いた学習の流れを示しており、図4は、欠陥画素補正のための学習処理に係る一連の動作を示している。以下の説明では、図4を参照して、欠陥画素補正のための学習処理に係る一連の動作を順に説明しながら、適宜、図3を参照する。
ステップS401において、取得部101bは、正解パッチ(正解データ或いは正解画像ともいう)と訓練パッチ(訓練データ或いは訓練画像ともいう)を取得する。本実施形態において、正解パッチは記録部102dに記録された画像の欠陥画素が少ない画像である。訓練パッチは、正解パッチと同一の被写体が映っており、かつ画像の欠陥画素が発生した際に現れる信号(欠陥画素による信号)を含んでいる。すなわち、正解パッチは相対的に欠陥画素による信号が少ない画像であり、訓練パッチは相対的に欠陥画素による信号が多い画像である。なお、パッチとは所定の画素数(例えば、64×64画素など)を有する画像を指す。また、正解パッチと訓練パッチの画素数は、必ずしも一致する必要はない。また、訓練パッチは、後述する方法で取得部101bが正解パッチから生成する場合を例に説明するが、訓練パッチが記録部102dにある正解パッチに基づいて予め生成されていてもよい。
本実施形態では、多層のニューラルネットワークのモデルの学習(すなわちウェイトの決定)に、ミニバッチ学習を使用する。ミニバッチ学習は学習用のデータセットを構成する複数の訓練パッチのうちの一部(例えばn個)を取り出し、当該n個のデータでニューラルネットワークのウェイトを(1回)更新する学習方法をいう。このためステップS401では、学習用のデータセットとして、複数組の正解パッチと訓練パッチを取得する。ただし本発明は、これに限定されるものではなく、オンライン学習(1つのデータでウェイトを更新する学習方法)またはバッチ学習(データセットの全てのデータでウェイトを更新する学習方法)を用いてもよい。
ここで、正解パッチと訓練パッチの取得方法の一例を説明する。本実施形態は、記憶部101aに記憶されている複数の原画像を被写体として、現画像202を正解パッチ201とする。また、現画像202に対してシミュレーションで欠陥画素203の発生した際に現れる信号を付与した画像を訓練パッチ204とする。そして、同一位置の部分領域を抽出することで、複数の正解パッチと訓練パッチを取得する。本実施形態において、原画像は未現像のRAW画像であり、正解パッチと訓練パッチも同様にRAW画像である。原画像は、実写画像でもよいし、CG(Computer Graphics)により生成した画像でもよい。なお、正解パッチと訓練パッチの取得方法は、これに限定されるものではない。
欠陥画素203の生成方法の一例を示す。10x10の画素領域の中で、第1の所定の値(例えば信号の最高の値)を有する白傷(203a、203b)と、第2の所定の値(例えば信号の最低の値)を有する黒傷(203c、203d)と定義する。この例では100画素中、白傷が2つ、黒傷が2つ定義されている。したがって、白傷黒傷ともに1/50の確率で発生している。
ステップS402において、生成部101cは、訓練パッチ204を多層のニューラルネットワークへ入力し、推定パッチ(推定画像)205を生成する。推定パッチ205は、欠陥画素補正が行われた画像であり、理想的には正解パッチ201と一致する。
本実施形態では、生成部101cは、図2に示す構成のディープニューラルネットワークのモデルを使用する場合を例に説明するが、本実施形態はこれに限定されるものではない。図2において「CN」は畳み込み層、「DC」は逆畳み込み層を表す。各層の各ニューロンでは、まず、入力とフィルタの畳み込み、およびバイアスとの和を算出する(すなわち、u=Wx+bを算出する(xは入力ベクトル、Wはウェイトのパラメータの行列、bはバイアスのベクトルを表す))。その結果を活性化関数によって非線形変換する(すなわち、y=f(u)を算出する。(yは出力ベクトル、fは活性化関数))。フィルタの各成分とバイアスの初期値は任意であり、本実施形態では乱数によって決定する。活性化関数は、例えばReLU(Rectified Linear Unit)やシグモイド関数などを使うことができる。最終層を除く各層の出力は、特徴マップと呼ばれる。スキップコネクション212、213は、連続していない層から出力された特徴マップを合成する。特徴マップの合成は要素ごとの和をとってもよいし、チャンネル方向に連結(concatenation)してもよい。本実施形態では要素ごとの和を採用する。スキップコネクション211は、訓練パッチ204と推定パッチの推定された残差と、訓練パッチ204との和を取り、推定パッチ205を生成する。複数の訓練パッチ204のそれぞれに対して、推定パッチ205を生成する。
ステップS403において、制御部101eは、着目画素が白傷であるかもしくは黒傷であるかを判定する。具体的には、訓練パッチ204の着目画素と推定パッチの着目画素値の差分をとり、値が正の場合は白傷であると判定し、負の場合は黒傷であると判定する。制御部101eは、着目画素が白傷であると判定した場合はステップS404に進み、黒傷であると判定した場合にはステップS405に進む。
ステップS404では、生成部101cは、推定パッチ205と正解パッチ201との誤差Lを計算する。誤差関数は、公知のL2ノルムやL1ノルムなどを用いればよく、例えば誤差Lは下記のような(式1)に従って算出することができる。
なお、(式1)において、tは正解パッチ201の信号値、yは推定パッチ205の信号値、jは画素の番号、Nは総画素数を示す。
ステップS405において、更新部101dは、推定パッチ205に対してガンマ補正を適用し、ガンマ補正後の推定パッチ206を生成するとともに、正解パッチ201に対してガンマ補正を行い、ガンマ補正後の正解パッチ207を生成する。ガンマ補正の詳細は後述する。
ステップS406において、更新部101dは、ステップS405でガンマ補正を行ったガンマ補正後の推定パッチ206とガンマ補正後の正解パッチ207との誤差Lを計算する。本ステップでは、ステップS404と同様に誤差関数は公知のL2ノルムやL1ノルムなどを用いればよい。
ここで図5を参照して、本実施形態で適用するガンマ補正の一例について説明する。横軸はガンマ補正前の信号値、縦軸はガンマ補正後の信号値を表している。ガンマ補正前とガンマ補正後の信号値の両方とも最大出力が1で正規化されている。ガンマ補正を表す具体的な例としては、以下の(式2)に従う補正が挙げられる。
(式2)において、sはガンマ補正前の正規化された信号値であり、γ>1は定数である。ただし、ガンマ補正は(式2)の形に限定されず、区分線形関数やルックアップテーブルでもよい。上述したように、ガンマ補正値は高輝度側に行くほど圧縮される特性を持っている。具体的にはi2−i1とi4−i3の値が同じであるとすると、o2−o1の方がo4−o3よりも大きな値となる。ここで、白傷の画素値がi3で、白傷周辺の画素値がi1〜i2であるとすると、白傷と周辺画素の分離性はガンマ補正前の信号の方が分離性がよくなり、白傷を検出しやすくなる。一方、黒傷の画素値がi1で黒傷周辺の画素値がi3〜i4とすると、黒傷と周辺画素の分離性はガンマ補正後の信号の方が分離性がよくなり、検出しやすくなる。
また、欠陥画素のように一般的に発生頻度が低い場合、誤差を計算すると欠陥画素以外の値の影響を強く受けて、欠陥画素の補正が行われにくいという特徴がある。具体的には1/50の確率で欠陥画素が発生すると、(式1)で誤差値は1/50に平均化されるので、欠陥画素が検出しにくくなる。
上述したように、白傷はガンマ補正前の信号を入力として損失評価を行うことで傷とノイズの分離性をあげることでき、白傷の検出精度を向上させることができる。逆に黒傷はガンマ補正後の信号を入力として損失評価を行うことで傷とノイズの分離性をあげることができ、黒傷の検出精度を向上させることができる。
ステップS407において、更新部101dは、推定パッチ205と正解パッチ201、または、ガンマ補正後の推定パッチ206とガンマ補正後の正解パッチ207との誤差から、ウエイトの情報(ニューラルネットワークの重み付けパラメータ)を更新する。ここで、ウエイトは、各層の各ニューロンに対するフィルタの成分とバイアスを含む。ウエイトの更新には、例えば誤差逆伝搬法(Backpropagation)を使用するが、本発明はこれに限定されるものではない。本実施形態では、ミニバッチ学習を行うため、複数の正解パッチとそれらに対応する推定パッチとの誤差を求め、当該誤差に基づいてウエイトの更新量を求める。そして求めた当該ウェイトの更新量に基づいて各ウェイトを更新する。
ステップS408において、更新部101dは、学習が完了したか否かを判定する。更新部101dは、学習の反復回数(ウエイトの更新回数)が規定値に達したか、または、更新時のウエイトの変化量が規定値より小さいかなどにより、学習の完了を判定することができる。更新部101dは、学習が完了していないと判定した場合、ステップS401へ戻り、新たな正解パッチと訓練パッチを複数取得する。一方、更新部101dは、学習が完了したと判定した場合、学習装置101(更新部101d)は学習を終了し、ウエイトの情報を記憶部101aに保存する。制御部101eは、その後本処理を終了する。
(欠陥画素補正処理の一連の動作)
次に、図7を参照して、欠陥画素補正処理の一連の動作について説明する。なお、欠陥画素補正処理は、画像推定装置103の推定部103cが実行する欠陥画素補正のための推定段階の処理を含んでいる。
次に、図7を参照して、欠陥画素補正処理の一連の動作について説明する。なお、欠陥画素補正処理は、画像推定装置103の推定部103cが実行する欠陥画素補正のための推定段階の処理を含んでいる。
ステップS701において、取得部103bは、撮像装置102または記録媒体105から、撮像画像を取得して入力画像とする。撮像画像は、未現像のRAW画像である。RAW画像の信号値が符号化されている場合、取得部103bは復号処理を実行する。
ステップS702において、取得部103bは、ウェイトの情報(ニューラルネットワークの重み付けパラメータ)を取得する。重み付けパラメータは学習装置101の記憶部101aから読みだされる。またはあらかじめ画像推定装置103の記憶部103から読みだしてもよい。
ステップS703において、推定部103cは、入力画像と重み付けパラメータに基づいて、推定画像を生成する。推定画像の生成には学習工程と同様に、図2に示す多層のニューラルネットワークのモデルが用いられる。ただし、図中の出力画像205が推定画像となり、ガンマ補正は行われない。なお、推定段階での入力画像サイズは学習工程における訓練画像サイズと必ずしも一致する必要はない。
ステップS704において、推定部103cは、撮像画像の所定の領域に対して推定が完了したか否かを判定する。推定部103cは、推定が完了していないと判定した場合は、ステップS703に戻り、推定部103cは撮像画像の所定の領域から新たな入力画像を取得する。一方、推定部103cは、推定が完了したと判定した場合は、ステップS705に進む。
S705において、推定部103cは、生成された複数の推定画像を合成して、欠陥画素補正が行われた撮像画像を出力する。制御部103eは、その後本処理を終了する。
このような推定段階の処理により欠陥画素補正が行われた撮像画像を得ることができる。得られた撮像画像は、更に、画像処理部103dにより公知のNR処理、ガンマ補正を含む色/輝度信号処理等が行われる。画像処理部103dで出力された画像は、表示装置104で表示されたり、記録媒体105に記録されたり、出力装置106に出力されたりする。
以上説明したように、本実施形態では、入力画像に深層学習を適用して欠陥画素の推定結果を含む推定画像を生成し、推定画像の欠陥画素が白傷であるか黒傷であるか否かに応じて、白傷補正の場合はガンマ補正前の画像を用いて誤差関数を計算する。一方、黒傷補正の場合はガンマ補正後画像を入力として誤差関数を計算する。このようにすることで、よりロバストかつ精度よく欠陥画素の信号の補正を行うとともに、欠陥画素補正における補正精度を向上させることができる。
本実施形態では、白傷補正の場合はガンマ補正前、黒傷補正の場合はガンマ補正後とした。しかし、これに限られるものではなく、白傷補正の場合には、白傷に対して適用する入出力に対する変換特性がガンマ特性よりも相対的にリニアに近い特性であれば当該特性による信号値の補正を行ってもよい。
なお、本実施形態では1画素の欠陥画素を対象として実施形態の説明を行ったが、これに限られるものではなく、図6のパッチ603に示すように、603aや603bのようなパターンノイズに対しても適応することが可能である。より具体的には、603aは白のパターンノイズなので、ガンマ補正前の画像に対して誤差関数を計算する。603bは黒のパターンノイズなのでガンマ補正後の画像に対して誤差関数を計算する。
(実施形態2)
次に実施形態2について説明する。実施形態2では、ガンマ補正を考慮した損失関数を用いて損失評価を行う構成を特徴とする。従って、欠陥画素補正における学習段階の処理が実施形態1と異なるが、学習装置101及び画像推定装置103の構成は実質的に同一である。このため、実施形態1と同一又は実質的に同一である構成には同一の符号を付して、その説明は省略する。
次に実施形態2について説明する。実施形態2では、ガンマ補正を考慮した損失関数を用いて損失評価を行う構成を特徴とする。従って、欠陥画素補正における学習段階の処理が実施形態1と異なるが、学習装置101及び画像推定装置103の構成は実質的に同一である。このため、実施形態1と同一又は実質的に同一である構成には同一の符号を付して、その説明は省略する。
(欠陥画素補正のための学習段階の一連の動作)
図3及び図8を参照して、本実施形態における学習装置101により実行される多層のニューラルネットワークモデルを用いた学習段階の処理(学習済みモデルの生成)に関して説明する。
図3及び図8を参照して、本実施形態における学習装置101により実行される多層のニューラルネットワークモデルを用いた学習段階の処理(学習済みモデルの生成)に関して説明する。
図8は、欠陥画素補正のための学習段階の一連の動作を示している。図8の各ステップは図4と同様に、主に、学習装置101の制御部101e(と、そのなかの取得部101b、生成部101c及び更新部101d)により実行される。ここで、学習装置101の制御部101eは、図8のステップS401からステップS403までと同様に、処理を実行する。ステップS403において、制御部101eは、着目画素が白傷であるかもしくは黒傷であるかを判定し、白傷であると判定した場合はステップS404に進む。一方、制御部101eは、黒傷であると判定した場合はステップ801に進む。
ステップS404において、生成部101cは、実施形態と同様に、推定パッチ205と正解パッチ201との誤差Lを計算する。すなわち、このステップにおける誤差Lは、ガンマ補正を考慮しない誤差である。
ステップS801において、生成部101cは、ガンマ補正を考慮した損失関数で誤差を算出する。例えば誤差Lは下記のような(式3)を用いるとよい。
(式3)において、tは正解パッチ201の信号値、yは推定パッチ205の信号値、jは画素の番号、Nは総画素数、g()はガンマ補正の関数を示す。ガンマ補正の詳細については実施形態1と同様である。
このように、白傷の場合はガンマ補正を考慮しない損失関数で損失評価を行うことにより欠陥画素の信号とノイズの分離性を向上させることができるため、白傷の検出精度を向上させることができる。一方、黒傷はガンマ補正を考慮した損失関数で損失評価を行うことにより、欠陥画素の信号とノイズの分離性を向上させることができるため、黒傷の検出精度を向上させることができる。
その後、制御部101eは、実施形態1のS407〜409と同様に、ニューラルネットワークのウェイトを更新し、所定の条件を満たすと判定した場合には、本一連の処理を終了する。
以上説明したように本実施形態では、推定画像における着目画素が白傷であるか黒傷であるかに応じて、白傷の場合はガンマ補正を考慮しない損失関数で損失を計算し、黒傷の場合はガンマ補正を考慮した損失関数で損失を計算するようにした。このようにすることで、ロバストかつ精度よく欠陥画素の信号の補正を行うことができると共に、白傷及び黒傷の両方の場合において欠陥画素の信号とノイズの分離性を向上させることができ、欠陥画素の白傷及び黒傷の両方の検出精度を向上させることができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
101…学習装置、101b…取得部、101c…生成部、101d…更新部、103…画像推定装置、103b…取得部、103c…推定部
Claims (12)
- 撮像素子で撮像された入力画像を取得する取得手段と、
前記入力画像を深層学習に用いるモデルに入力して、前記撮像素子の1つ以上の欠陥画素による信号値を補正した推定画像を生成する生成手段と、
前記推定画像と正解画像との損失評価に基づいて前記モデルのパラメータを更新する更新手段と、を有し、
前記更新手段は、前記推定画像における前記1つ以上の欠陥画素による信号値のそれぞれが、第1の種別の信号値であるか前記第1の種別の信号値より低い第2の種別の信号値であるかに応じて、前記推定画像及び前記正解画像の階調を補正したうえで前記損失評価を行うか、前記推定画像及び前記正解画像の前記階調を補正しないで前記損失評価を行うかを異ならせる、あるいは、第1の種別の信号値であるか前記第1の種別の信号値より低い第2の種別の信号値であるかに応じて、前記推定画像及び前記正解画像の階調を異なる変換特性を用いて補正したうえで前記損失評価を行うことを特徴とする画像処理装置。 - 前記更新手段は、前記1つ以上の欠陥画素による信号値のそれぞれが、前記第1の種別の信号値である場合には、前記推定画像及び前記正解画像の階調を補正しないで前記推定画像と前記正解画像との間の誤差を算出し、前記第2の種別の信号値である場合には、前記推定画像及び前記正解画像の前記階調を補正したうえで前記推定画像と前記正解画像との間の誤差を算出する、ことを特徴とする請求項1に記載の画像処理装置。
- 前記更新手段は、前記1つ以上の欠陥画素による信号値のそれぞれが、前記第1の種別の信号値である場合には、前記推定画像及び前記正解画像の階調が補正されない損失関数を用いて前記損失評価を行い、前記第2の種別の信号値である場合には、前記推定画像及び前記正解画像の前記階調が補正される損失関数を用いて前記損失評価を行う、ことを特徴とする請求項1に記載の画像処理装置。
- 前記更新手段は、前記1つ以上の欠陥画素による信号値のそれぞれが、前記第1の種別の信号値である場合には、前記推定画像及び前記正解画像の階調を第1の特性で補正したうえで前記推定画像と前記正解画像との間の誤差を算出し、前記第2の種別の信号値である場合には、前記推定画像及び前記正解画像の前記階調を、入出力の変換特性が前記第1の特性よりもリニアに近い第2の特性で補正したうえで前記推定画像と前記正解画像との間の誤差を算出する、ことを特徴とする請求項1に記載の画像処理装置。
- 前記更新手段は、前記1つ以上の欠陥画素による信号値のそれぞれが、前記第1の種別の信号値である場合には、前記推定画像及び前記正解画像の前記階調が第1の特性で補正される損失関数を用いて前記損失評価を行い、前記第2の種別の信号値である場合には、前記推定画像及び前記正解画像の前記階調が、入出力の変換特性が前記第1の特性よりもリニアに近い第2の特性で補正される損失関数を用いて前記損失評価を行う、ことを特徴とする請求項1に記載の画像処理装置。
- 前記第1の種別の信号値は、欠陥画素における白傷の信号値を表し、前記第2の種別の信号値は、前記欠陥画素における黒傷の信号値を表す、ことを特徴とする請求項1から5のいずれか1項に記載の画像処理装置。
- 前記深層学習に用いるモデルは、畳み込み層と逆畳み込み層とを含む、ことを特徴とする請求項1から6のいずれか1項に記載の画像処理装置。
- 前記階調の補正は、信号値が高いほど前記信号値の分解能が低くなる特性を有する、ことを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。
- 前記階調の補正は、ガンマ補正である、ことを特徴とする請求項8に記載の画像処理装置。
- 前記1つ以上の欠陥画素による信号値はパターンノイズを含む、ことを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。
- 撮像素子で撮像された入力画像を取得する取得工程と、
前記入力画像を深層学習に用いるモデルに入力して、前記撮像素子の1つ以上の欠陥画素による信号値を補正した推定画像を生成する生成工程と、
前記推定画像と正解画像との損失評価に基づいて前記モデルのパラメータを更新する更新工程と、を有し、
前記更新工程では、前記推定画像における前記1つ以上の欠陥画素による信号値のそれぞれが、第1の種別の信号値であるか前記第1の種別の信号値より低い第2の種別の信号値であるかに応じて、前記推定画像及び前記正解画像の階調を補正したうえで前記損失評価を行うか、前記推定画像及び前記正解画像の前記階調を補正しないで前記損失評価を行うかを異ならせる、あるいは、第1の種別の信号値であるか前記第1の種別の信号値より低い第2の種別の信号値であるかに応じて、前記推定画像及び前記正解画像の階調を異なる変換特性を用いて補正したうえで前記損失評価を行うことを特徴とする画像処理方法。 - コンピュータを、請求項1から10のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019225759A JP2021097278A (ja) | 2019-12-13 | 2019-12-13 | 画像処理装置および画像処理方法ならびにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019225759A JP2021097278A (ja) | 2019-12-13 | 2019-12-13 | 画像処理装置および画像処理方法ならびにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021097278A true JP2021097278A (ja) | 2021-06-24 |
Family
ID=76432231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019225759A Pending JP2021097278A (ja) | 2019-12-13 | 2019-12-13 | 画像処理装置および画像処理方法ならびにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021097278A (ja) |
-
2019
- 2019-12-13 JP JP2019225759A patent/JP2021097278A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102574141B1 (ko) | 이미지 디스플레이 방법 및 디바이스 | |
US10922799B2 (en) | Image processing method that performs gamma correction to update neural network parameter, image processing apparatus, and storage medium | |
US9344638B2 (en) | Constant bracket high dynamic range (cHDR) operations | |
JP2007189589A (ja) | 情報処理装置および情報処理方法、学習装置および学習方法、並びにプログラム | |
JP2020160616A (ja) | 生成装置、コンピュータプログラム、生成方法 | |
US20200285901A1 (en) | Image processing method, image processing apparatus, storage medium, image processing system, and manufacturing method of learnt model | |
US11508038B2 (en) | Image processing method, storage medium, image processing apparatus, learned model manufacturing method, and image processing system | |
US20170269187A1 (en) | Image pickup apparatus having function of generating simulation image,control method therefor, and storage medium | |
JP2020144489A (ja) | 画像処理方法、画像処理装置、プログラム、学習済みモデルの製造方法、および、画像処理システム | |
CN113706414A (zh) | 视频优化模型的训练方法和电子设备 | |
CN107018407A (zh) | 信息处理装置、评价用图、评价系统、以及性能评价方法 | |
TW201824245A (zh) | 不均勻性修正系統、不均勻性修正裝置及面板驅動電路 | |
JP2021165944A (ja) | 学習方法、プログラム及び画像処理装置 | |
CN111031256A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN111951373B (zh) | 一种人脸图像的处理方法和设备 | |
JP2021033571A (ja) | 情報処理装置、制御方法およびプログラム | |
JP2021097278A (ja) | 画像処理装置および画像処理方法ならびにプログラム | |
JP2021089493A (ja) | 情報処理装置およびその学習方法 | |
CN110555805B (zh) | 图像处理的方法、装置、设备及存储介质 | |
JP2006140952A (ja) | 画像処理装置および画像処理方法 | |
JP7302410B2 (ja) | 画像認識装置、画像認識システム、画像認識方法及びプログラム | |
JP2021114186A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP7286330B2 (ja) | 画像処理装置及びその制御方法、プログラム、記憶媒体 | |
CN113344832A (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN116506732B (zh) | 一种图像抓拍防抖的方法、装置、系统和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |