(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-21
(45)【発行日】2024-07-01
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G06T 5/60 20240101AFI20240624BHJP
G06T 7/00 20170101ALI20240624BHJP
G06N 3/09 20230101ALI20240624BHJP
【FI】
G06T5/60
G06T7/00 350C
G06N3/09
(21)【出願番号】P 2020085177
(22)【出願日】2020-05-14
【審査請求日】2023-04-24
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】小倉 暢
【審査官】稲垣 良一
(56)【参考文献】
【文献】米国特許出願公開第2015/0215590(US,A1)
【文献】特開2019-121252(JP,A)
【文献】Kai CUI et al.,Color Image Demosaicking Using a 3-Stage Convolutional Neural Network Structure,2018 25th IEEE International Conference on Image Processing (ICIP),米国,IEEE,2018年10月10日,DOI: 10.1109/ICIP.2018.8451020
(58)【調査した分野】(Int.Cl.,DB名)
G06T 5/60 - 5/70
G06T 7/00
G06N 3/08 - 3/0985
H04N 23/12
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
機械学習によるデモザイク処理のための学習データを生成する情報処理装置であって、
第1画像を取得する取得手段と、
前記第1画像にノイズを付与した第2画像と、モザイク処理により前記第1画像から所定の画素を間引いたモザイク画像にノイズを付与した第3画像との組で構成されるデータセットを、前記第1画像に基づき生成する生成手段と、
を有
し、
前記生成手段は、
前記第1画像をRGBの各チャネルに対応するチャネル画像に分解する分解手段と、
前記チャネル画像のそれぞれにノイズを付与する付与手段と、
前記付与手段にてノイズが付与された各チャネル画像における所定の画素をカラーフィルタ配列に従ってサンプリングして、前記ノイズが付与されたモザイク画像を生成するモザイク画像生成手段と、
前記付与手段にてノイズが付与された各チャネル画像を連結して、前記ノイズが付与されたRGBの3チャネルから成る画像を生成する連結手段と、
前記ノイズが付与されたモザイク画像を前記第3画像として、前記ノイズが付与されたRGBの3チャネルから成る画像を前記第2画像として、前記データセットを得る画像ペア生成手段と、
を有する、
ことを特徴とする情報処理装置。
【請求項2】
前記デモザイク処理は、畳み込みニューラルネットワークを用いたネットワークにより行われることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第2画像と前記第3画像とで共通する画素においては、付与されているノイズの値が略一致することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記付与手段は、前記各チャネル画像のうち少なくとも2つのチャネル画像について、それぞれ異なる特性のノイズを付与することを特徴とする、請求項
1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記付与手段は、画素毎のノイズの標準偏差が各画素の信号値に依存する輝度依存ノイズを付与することを特徴とする、請求項
1に記載の情報処理装置。
【請求項6】
前記標準偏差は以下の式で表され、
【数1】
上記式において、σは標準偏差を示し、sは各画素の信号値を示し、k及びIは定数を示す、
ことを特徴とする、請求項
5に記載の情報処理装置。
【請求項7】
前記付与手段は、前記第1画像が入力されるたびに、当該第1画像に対して付与するノイズを乱数に従って決定することを特徴とする請求項
1乃至6のいずれか1項に記載の情報処理装置。
【請求項8】
前記付与手段は、同一の前記第1画像に対しては、同じノイズを付与することを特徴とする、請求項
1乃至6のいずれか1項に記載の情報処理装置。
【請求項9】
前記生成手段で生成された前記データセットを用いて、前記デモザイク処理の学習を行う学習手段をさらに備えたことを特徴とする請求項1乃至
8のいずれか1項に記載の情報処理装置。
【請求項10】
前記生成手段で生成された前記データセットを用いて、前記デモザイク処理の学習を行う学習手段をさらに備え、
前記付与手段は、前記学習の進みに応じて、付与するノイズの強度を変更する、
ことを特徴とする請求項
1乃至6のいずれか1項に記載の情報処理装置。
【請求項11】
前記付与手段は、前記学習の進みに応じて、付与するノイズの強度を強くすることを特徴とする、請求項
10に記載の情報処理装置。
【請求項12】
前記学習手段は、前記学習を行って得られた学習済みのネットワークパラメータを初期値として、新たな学習を行うことを特徴とする、請求項
10乃至11のいずれか1項に記載の情報処理装置。
【請求項13】
前記学習済みのネットワークパラメータは、前記付与手段で付与されるノイズに比べて少ない量のノイズが付与されている前記第1画像を用いた学習によって得られたネットワークパラメータ、またはノイズが付与されていない前記第1画像を用いた学習によって得られたネットワークパラメータである、ことを特徴とする請求項
12に記載の情報処理装置。
【請求項14】
現像の対象となるRAW画像を取得する取得手段と、
前記RAW画像に対して、前記学習によって得られた学習済みネットワークパラメータを用いた推論によるデモザイク処理を行う推論手段と、
前記推論手段における前記デモザイク処理によって得られた、RGBの3チャネルから成るRGB画像に対し、ノイズ低減処理を行うノイズ低減手段と、
をさらに有することを特徴とする、請求項
10乃至13のいずれか1項に記載の情報処理装置。
【請求項15】
前記付与手段が付与するノイズの強度は、前記RAW画像に含まれるノイズの強度よりも弱いことを特徴とする、請求項
14に記載の情報処理装置。
【請求項16】
機械学習によるデモザイク処理のための学習データを生成する情報処理方法であって、
第1画像を取得する取得ステップと、
前記第1画像にノイズを付与した第2画像と、モザイク処理により前記第1画像から所定の画素を間引いたモザイク画像にノイズを付与した第3画像との組で構成されるデータセットを、前記第1画像に基づき生成する生成ステップと、
を含
み、
前記生成ステップは、
前記第1画像をRGBの各チャネルに対応するチャネル画像に分解する分解ステップと、
前記チャネル画像のそれぞれにノイズを付与する付与ステップと、
前記付与ステップにてノイズが付与された各チャネル画像における所定の画素をカラーフィルタ配列に従ってサンプリングして、前記ノイズが付与されたモザイク画像を生成するモザイク画像生成ステップと、
前記付与ステップにてノイズが付与された各チャネル画像を連結して、前記ノイズが付与されたRGBの3チャネルから成る画像を生成する連結ステップと、
前記ノイズが付与されたモザイク画像を前記第3画像として、前記ノイズが付与されたRGBの3チャネルから成る画像を前記第2画像として、前記データセットを得る画像ペア生成ステップと、
を含む、
ことを特徴とする情報処理方法。
【請求項17】
コンピュータを請求項1乃至
15のいずれか1項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習用の学習データの生成及び学習方法に関する。
【背景技術】
【0002】
デジタルカメラなどの撮像装置に利用される撮像素子にはカラーフィルタが装着され、各画素に特定の波長光を入射する構成となっている。そして、カラーフィルタは、ベイヤ(Bayer)配列を持つカラーフィルタが多く利用されている。このベイヤ配列のカラーフィルタを採用したデジタルカメラで撮像して得られる画像(RAW画像)は、その撮像素子の各画素にRGBいずれかの色に対応する画素値のみが設定されたいわゆるモザイク画像となる。そして、一般的なデジタルカメラでは、RAW画像に対し、各画素が有していない残り二色の画素値を補間するデモザイク処理などの様々な信号処理を施し、各画素がRGBそれぞれの画素値を持つカラー画像(RGB画像)を生成して出力する。
【0003】
上記デモザイク処理においては偽色やアーティファクトの発生が課題となるところ、従来の線形フィルタや非線形フィルタを適用する手法に加え、近年では、深層学習を応用したデータ駆動型の補間手法が提案されている。以下の特許文献1及び非特許文献1には、ノイズの少ない教師画像を用いて畳み込みニューラルネットワーク(CNN)ベースのデモザイクネットワークを学習する手法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】Syu, Nai-Sheng, Yu-Sheng Chen, and Yung-Yu Chuang. “Learning deep convolutional networks for demosaicing.” arXiv preprint arXiv:1802.03769 (2018).
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記特許文献1及び非特許文献1に開示の技術では、学習によって得られたデモザイクネットワーク(学習済みモデル)を用いて推論を行うことで、RAW画像に含まれるノイズが少ない場合には、良好なRGB画像を得ることができる。しかしながら、RAW画像に含まれるノイズが多い場合には、出力されるRGB画像にアーティファクトが発生するなど、ノイズに対するロバスト性が低いという課題があった。
【0007】
そこで本開示の技術では、RAW画像にノイズが含まれていてもアーティファクトが抑制された良好なRGB画像を得ることが可能なデモザイクネットワークを得ることを目的とする。
【課題を解決するための手段】
【0008】
本開示に係る情報処理装置は、機械学習によるデモザイク処理のための学習データを生成する情報処理装置であって、第1画像を取得する取得手段と、前記第1画像にノイズを付与した第2画像と、モザイク処理により前記第1画像から所定の画素を間引いたモザイク画像にノイズを付与した第3画像との組で構成されるデータセットを、前記第1画像に基づき生成する生成手段と、を有し、前記生成手段は、前記第1画像をRGBの各チャネルに対応するチャネル画像に分解する分解手段と、前記チャネル画像のそれぞれにノイズを付与する付与手段と、前記付与手段にてノイズが付与された各チャネル画像における所定の画素をカラーフィルタ配列に従ってサンプリングして、前記ノイズが付与されたモザイク画像を生成するモザイク画像生成手段と、前記付与手段にてノイズが付与された各チャネル画像を連結して、前記ノイズが付与されたRGBの3チャネルから成る画像を生成する連結手段と、前記ノイズが付与されたモザイク画像を前記第3画像として、前記ノイズが付与されたRGBの3チャネルから成る画像を前記第2画像として、前記データセットを得る画像ペア生成手段と、を有する、ことを特徴とする。
【発明の効果】
【0009】
本開示の技術によれば、ノイズに対してロバスト性の高いデモザイクネットワークを得ることができる。
【図面の簡単な説明】
【0010】
【
図3】
図3は情報処理システムにおける処理の流れを示すフローチャート
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【0012】
<CNNについて>
まず、以下の各実施形態において登場する、深層学習を応用した画像処理技術全般で用いられている畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)について説明する。CNNは、学習(“training”または“learning”)により生成したフィルタを画像データに対して畳み込んだ(convolution)後、非線形演算することを繰り返す技術である。フィルタは、局所受容野(Local Receptive Field:LPF)とも呼ばれる。画像データに対してフィルタを畳み込んだ後、非線形演算して得られる画像データは、特徴マップ(feature map)と呼ばれる。また、学習は入力画像データと出力画像データのペアからなる学習データ(“training images”または“data sets”)を用いて行われる。簡単には、入力画像データから対応する出力画像データへ高精度に変換可能なフィルタの値を、学習データから生成することが学習である。この詳細については後述する。
【0013】
画像データがRGBの3つのチャネルを有する場合や、特徴マップが複数枚の画像データから構成されている場合、畳み込みに用いるフィルタも、それに応じて複数のチャネルを有する。すなわち、畳み込みフィルタは、縦横サイズと枚数の他に、チャネル数を加えた、4次元配列で表現される。画像データ(または特徴マップ)にフィルタを畳み込んだ後、非線形演算する処理は、層(layer)という単位で表され、例えば、n層目の特徴マップやn層目のフィルタなどと表現される。また、例えばフィルタの畳み込みと非線形演算を3回繰り返すようなCNNは、3層のネットワーク構造を有する。このような非線形演算処理は、以下の式(1)のように定式化することができる。
【0014】
【0015】
上記式(1)において、Wnはn層目のフィルタ、bnはn層目のバイアス、fは非線形演算子、Xnはn層目の特徴マップ、*は畳み込み演算子である。なお、右肩の(l)はl番目のフィルタまたは特徴マップであることを表している。フィルタおよびバイアスは、後述する学習により生成され、まとめて「ネットワークパラメータ」とも呼ばれる。非線形演算としては、例えばシグモイド関数(sigmoid function)やReLU(Rectified Linear Unit)が用いられる。ReLUの場合は、以下の式(2)で与えられる。
【0016】
【0017】
上記式(2)が示すように、入力したベクトルXの要素のうち負のものはゼロ、正のものはそのままとなる。
【0018】
CNNを用いたネットワークとしては、画像認識分野のResNetや超解像分野におけるその応用RED-Netが有名である。いずれもCNNを多層にして、フィルタの畳み込みを何度も行うことで、処理の高精度化を図っている。例えば、ResNetは畳み込み層をショートカットする経路を設けたネットワーク構造を特徴とし、これにより152層もの多層ネットワークを実現し、人間の認識率に迫る高精度な認識を実現している。なお、多層CNNにより処理が高精度化する理由は、簡単には非線形演算を何度も繰り返すことで、入出力間の非線形な関係を表現できるためである。
【0019】
<CNNの学習>
次に、CNNの学習について説明する。CNNの学習は、入力学習画像(観測画像)データと対応する出力学習画像(正解画像)データの組からなる学習データに対して、一般に以下の式(3)で表される目的関数を最小化することで行われる。
【0020】
【0021】
上記式(3)において、Lは正解とその推定との誤差を測る損失関数(Loss function)である。また、Yiはi番目の出力学習画像データ、Xiはi番目の入力学習画像データである。また、FはCNNの各層で行う演算(式1)を、まとめて表した関数である。また、θはネットワークパラメータ(フィルタおよびバイアス)である。また、||Z||2はL2ノルムであり、簡単にはベクトルZの要素の2乗和の平方根である。また、nは学習に用いる学習データの全枚数である。一般に学習データの全枚数は多いため、確率的勾配降下法(Stochastic Gradient Descent:SGD)では、学習画像データの一部をランダムに選び学習に用いている。これにより、多くの学習データを用いた学習における、計算負荷が低減できる。また、目的関数の最小化(=最適化)法として、モーメンタム(momentum)法やAdaGrad法、AdaDelta法、Adam法など、様々な方法が知られている。Adam法は、以下の式(4)で与えられる。
【0022】
【0023】
上記式(4)において、θi
tは反復t回目におけるi番目のネットワークパラメータ、gはθi
tに関する損失関数Lの勾配である。また、m、vはモーメントベクトル、αは基本学習率(base learning rate)、β1、β2はハイパーパラメータ、εは小さい定数である。なお、学習における最適化法の選択指針は存在しないため、基本的に何を用いても良いが、方法ごとの収束性には違いがあるため、学習時間の違いが生じることが知られている。
【0024】
[実施形態1]
本実施形態では、学習データとしての教師画像と生徒画像それぞれに対し人工的にノイズを付与することにより、ロバスト性(頑健性)の高い学習済みモデルを生成する態様を説明する。
【0025】
<システム構成>
図1は、本実施形態に係る情報処理システムの構成の一例を示す図である。
図1に示す情報処理システムでは、学習データの生成及びデモザイク学習を担うクラウドサーバ200とデモザイク推論を担うクライアントPC100とがインターネットを介して接続されている。
【0026】
<クライアントPCのハードウェア構成>
本実施形態のクライアントPC100は、撮像装置から入力されるRAW画像(モザイク画像)に対し、クラウドサーバ200から提供される学習済みネットワークパラメータを適用してデモザイク推論を行う画像処理装置である。ユーザは、クライアントPC100にインストールされた画像処理アプリケーションを利用して、RAW画像を現像する。クライアントPC100は、CPU101、RAM102、ROM103、大容量記憶装置104、汎用インタフェース(I/F)105、ネットワークI/F106を有し、各構成要素がシステムバス107によって相互に接続されている。また、クライアントPC100は、汎用I/F105を介して、デジタルカメラ10、入力装置20、外部記憶装置30及び表示装置40にも接続されている。
【0027】
CPU101は、RAM102をワークメモリとして、ROM103に格納されたプログラムを実行し、システムバス107を介してクライアントPC100の各構成要素を統括的に制御する。また、大容量記憶装置104は、例えばHDDやSSDであり、クライアントPC100で取り扱われる種々のデータを記憶する。CPU101は、システムバス107を介して大容量記憶装置104へのデータの書き込み及び大容量記憶装置104に記憶されたデータの読出しを行う。汎用I/F105は、例えばUSB、IEEE1394、HDMI(登録商標)等のシリアルバスインターフェースである。クライアントPC100は、汎用I/F105を介して、外部記憶装置30(例えば、メモリカード、CFカード、SDカード、USBメモリなどの各種記憶媒体)からデータを取得する。また、クライアントPC100は、汎用I/F105を介して、マウスやキーボードなどの入力装置20からのユーザ指示を受け付ける。また、クライアントPC100は、汎用I/F105を介して、表示装置40(例えば液晶ディスプレイなどの各種画像表示デバイス)に、CPU101によって処理された画像データ等を出力する。また、クライアントPC100は、汎用I/F105を介して、撮像装置であるデジタルカメラ10から現像処理の対象となる撮像画像(RAW画像)のデータを取得する。ネットワークI/F106は、インターネットに接続するためのインタフェースである。クライアントPC100は、インストールされたウェブブラウザによってクラウドサーバ200にアクセスして、デモザイク推論のためのネットワークパラメータを取得する。
【0028】
<クラウドサーバのハードウェア構成>
本実施形態のクラウドサーバ200は、インターネット上でクラウドサービスを提供するサーバ装置である。より詳細には、学習データの生成及びデモザイク学習を行って、学習結果(学習済みモデル)としてのネットワークパラメータを、クライアントPC100からのリクエストに応じて提供する。クラウドサーバ200は、CPU201、ROM202、RAM203、大容量記憶装置204及びネットワークI/F205を有し、各構成要素がシステムバス206によって相互に接続されている。CPU201は、ROM202に記憶された制御プログラムを読み出して各種処理を実行することで、全体の動作を制御する。RAM203は、CPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。大容量記憶装置204は、画像データや各種プログラムを記憶するHDDやSSD等の大容量の二次記憶装置である。ネットワークI/F205は、インターネットに接続するためのインタフェースであり、クライアントPC100のウェブブラウザからのリクエストに応じて上述のネットワークパラメータを提供する。
【0029】
なお、クライアントPC100及びクラウドサーバ200の構成要素は上記以外にも存在するが、本発明の主眼ではないため、説明を省略する。また、本実施形態では、クラウドサーバ200にて学習データの生成・デモザイク学習を行い、学習結果であるネットワークパラメータをクライアントPC100にダウンロードして、現像対象となるRAW画像のデモザイク推論を行うことを想定している。しかしながら、上記システム構成は一例であって、これに限定されない。例えば、クラウドサーバ200が担う機能を細分化し、学習データの生成とデモザイク学習とを別々の装置で実行するような構成でもよい。さらには、クライアントPC100の機能とクラウドサーバ200の機能とを兼ね備えたデジタルカメラ10において、学習データの生成・デモザイク学習・デモザイク推論のすべてを行うような構成であってもよい。
【0030】
<システム全体の処理の流れ>
次に、本実施形態の情報処理システムで行われる各種処理について説明する。
図2は情報処理システム全体の機能ブロック図、
図3は情報処理システムにおける処理の流れを示すフローチャートである。
図2に示す通り、クライアントPC100は、デモザイク推論部111とノイズ低減部112を有する。また、クラウドサーバ200は、教師画像生成部211、データセット生成部212及びデモザイク学習部213を有する。
図2に示す各機能部は、それぞれの機能部に対応するコンピュータプログラムをCPU101/201が実行することで実現される。ただし、
図2に示す機能部の全部あるいは一部をハードウェアで実装してもよい。以下、
図3のフローに沿って説明する。なお、以下の説明において記号「S」はステップを意味する。
【0031】
S301では、教師画像の元になるサンプル画像がクラウドサーバ200に入力される。サンプル画像は、デジタルカメラで撮像することで得られたRAW画像(モザイク画像)であり、被写体や撮像条件のバリエーションが豊富であることが望ましい。サンプル画像の具体例としては、風景や動物といった自然写真、ポートレートやスポーツシーンといった人物写真、建築や商品といった人工物写真などが挙げられる。また、デジタルカメラ10で撮像したものをそのままアップロードしてもよいし、撮り溜めたものをHDD等に記憶しておきそれをアップロードしてもよい。クラウドサーバ200に入力されたサンプル画像のデータは、教師画像生成部211に送られる。
【0032】
S302では、教師画像生成部211が、受け取ったサンプル画像に基づいて教師画像を生成する。
図4は、教師画像の生成を説明する図である。以下、
図4を参照しつつ説明する。
【0033】
まず、受け取ったサンプル画像401は、R(赤)画素、G(緑)画素、B(青)画素の各画素が図示された配置で規則的に並んだベイヤ形式のモザイク画像となっている。そこで、サンプル画像401に対して簡易的なデモザイク手法(例えば、特許文献1の手法)を適用し、RGBの3チャネルから成るRGB画像402を得る。その後、RGB画像402に対して、例えばbilinear補間やbicubic補間の手法により縦横の画素数が4分の1になるよう画像縮小を行う。RGB画像には、簡易デモザイクにより発生したモアレや偽色等のアーティファクトが含まれているが、このアーティファクトは画像縮小によって低減されることになる。なお、画像の縮小率は4分の1以外としても構わない。こうした処理が入力されたすべてのサンプル画像について行われ、サンプル画像それぞれに対応する教師画像403が得られる。また、デジタルカメラ10において簡易的なデモザイクまでを済ませ、RGB画像のデータ形式でクラウドサーバ200に入力されてもよい。このようにして生成・取得された教師画像403のデータは、データセット生成部212に送られる。
【0034】
S303では、データセット生成部212が、入力された教師画像群に基づいて、学習に用いるデータセットを生成する。
図5は、データセット生成部212の詳細を示すブロック図である。データセット生成部212は、チャネル分解部501、R画像ノイズ付与部502、G画像ノイズ付与部503、B画像ノイズ付与部504、モザイク画像生成部505、チャネル連結部506及び画像ペア生成部507で構成される。以下、
図5を参照しつつ、学習用データセットの生成について説明する。なお、以下に説明する内容は、入力された教師画像群に含まれる各教師画像の単位で実行される。
【0035】
≪学習用データセットの生成≫
まず、チャネル分解部501が、RGBの3チャネルから成る教師画像を、RGBそれぞれのチャネル単位の画像(以下、「チャネル画像」と呼ぶ。)に分解する。各々のチャネル画像は、教師画像と同じ画像サイズ・同じビット深度を有する。なお、RGBそれぞれに対応するチャネル画像を、「R画像」、「G画像」、「B画像」と表記する場合がある。
【0036】
続いて、R画像ノイズ付与部502、G画像ノイズ付与部503、B画像ノイズ付与部504それぞれが、自身が担当するチャネル画像に対して、以下の式(5)を用いてノイズの付与を行う。
【0037】
【0038】
上記式(5)において、s(x、y)はチャネル画像中の座標(x、y)における信号値(画素値)を示し、r(x、y)は平均が“0”かつ分散が“1”の標準正規分布に従う乱数を示し、σ(x、y)はノイズの標準偏差を示す。また、n(x、y)はノイズ付与後のチャネル画像中の座標(x、y)における画素値を示す。ここで、標準偏差σ(x、y)は、下記式(6)に示すように、ノイズ付与前のチャネル画像における信号値に基づいて決定する。
【0039】
【0040】
上記式(6)において、k、Iは所与の定数である。各定数は、入力RAW画像の撮像に使用する撮像装置の特性に応じて決定する。具体的には、事前にテスト用チャートを撮像して、得られた撮像画像から信号値sと標準偏差σを実測し、両者の関係からk、Iを求める。なお、ここでは、付与するノイズを、上記式(6)の標準偏差に基づく正規分布に従う加法性ノイズとしたが、他の分布や付与方式を持つノイズでもよい。例えば、輝度に依存しない一定の分散に従ったノイズでもよい。また、例えば全画素のうち1%の画素に対して強制的に欠陥画素(画素値を8ビットで表す場合において、画素値を“0”または“255”に意図的に設定した画素)とすることでノイズとしてもよい。或いはまた、チャネル画像中の縦(列)方向に並ぶ画素のみ又は横(行)方向に並ぶ画素にのみを対象としてノイズを付与してもよい。こうして得られたノイズ付与後のチャネル画像(ノイズ有りR像、ノイズ有りG画像、ノイズ有りB画像)は、各ノイズ付与部502~504から、モザイク画像生成部505とチャネル連結部506にそれぞれ送られる。
【0041】
続いて、モザイク画像生成部505がノイズ有り生徒画像を、チャネル連結部506がノイズ有り教師画像をそれぞれ生成する。以下、順に説明する。
【0042】
まず、ノイズ有り生徒画像の生成について説明する。ノイズ有り生徒画像は、教師画像からカラーフィルタ配列に基づき所定の画素を間引くことで得られるモザイク画像に、ノイズが加えられた画像である。
図6はノイズ有り生徒画像の生成を説明する図である。
図6において、縦に並ぶ3つの画像601~603は、それぞれノイズ有りR画像、ノイズ有りG画像、ノイズ有りB画像であり、ここでは模式的に4×4画素の画像サイズで示している。いま、ノイズ有りR画像601には、画素R
00、R
01、R
02、・・・、R
31、R
32、R
33の計16個の画素が存在する。モザイク画像生成部505は、これら16個の画素の中からカラーフィルタ配列605に従って、画素R
00、R
02、R
20、R
22の画素値をサンプリングし、バッファ604の対応する位置に代入する。同様に、ノイズ有りG画像602からもカラーフィルタ配列605に従って、G
01、G
03、G
10、G
12、G
21、G
23、G
30、G
32の8つの画素の画素値をサンプリングし、バッファ604の対応する位置に代入する。さらに、ノイズ有りB画像603からもカラーフィルタ配列605に従って、B
11、B
13、B
31、B
33の4つの画素の画素値をサンプリングし、バッファ604の対応する位置に代入する。これにより、代入後のバッファ604が示す画像は、ノイズを含んだモザイク画像となる。こうして得られたモザイク画像は、ノイズ有り生徒画像として、画像ペア生成部507に送られる。なお、ここではカラーフィルタ配列としてベイヤ配列を使用したが、入力RAW画像の画像形式に合わせて決定すればよく、例えばX-Transなど他のカラーフィルタ配列を用いても構わない。
【0043】
続いて、ノイズ有り教師画像の生成について説明する。チャネル連結部506は、各ノイズ付与部502~504から受け取った3つのチャネル画像(ノイズ有りR画像、ノイズ有りG画像、ノイズ有りB画像)をチャネル方向に連結する。こうして得られる、ノイズを含んだRGBの3チャネルから成る画像が、ノイズ有り教師画像となる。このノイズ有り教師画像は、教師画像生成部211が生成した教師画像と同じサイズ・同じビット深度・同じチャネル数を有することになる。また、上述のようにして生成されたノイズ有り教師画像とノイズ有り生徒画像とで共通する画素においては、付与されているノイズの値が略一致することになる。
【0044】
続いて、画像ペア生成部507は、モザイク画像生成部505から受け取ったノイズ有り生徒画像と、チャネル連結部506から受け取った対応するノイズ有り教師画像との画像ペアを生成する。生成した画像ペア(データセット)は、デモザイク学習部213に送られる。
【0045】
【0046】
S304では、デモザイク学習に用いるCNNに適用する上述のネットワークパラメータがクラウドサーバ200に入力される。ここでのネットワークパラメータは、CNNを構成する各フィルタの係数である。ネットワークパラメータは、「Heの正規分布」に従う乱数として設定する。Heの正規分布とは、平均が“0”で分散がσhとなるような正規分布である。“σh”は以下の式(7)で表される。
【0047】
【0048】
上記式(7)において、mはCNN中の各フィルタのニューロン数である。なお、上述の内容は一例であって、他の方法でネットワークパラメータを決定しても構わない。入力されたネットワークパラメータは、デモザイク学習部213に送られる。
【0049】
S305では、デモザイク学習部213が、受け取ったネットワークパラメータを用いてCNNの重みを初期化した後、S303で生成されたデータセットを用いてCNNを学習する。学習には、例えば非特許文献1に開示されているCNNを用いる。
図7は、CNNの構造と学習の流れを説明する図である。以下、
図7を参照して、本ステップに係るデモザイク学習について詳しく説明する。
【0050】
CNNは、前述の式(1)の演算を行う複数のフィルタ702で構成されている。このCNNに対して、前述の画像ペアに含まれるノイズ有り生徒画像700を入力する。この際、
図7に示すような3チャネルの欠損画像701に変換して入力する。欠損画像701におけるRチャネル701aには、ノイズ有り生徒画像700のR成分の画素のみが含まれており、他の画素には欠損値(0)が設定されている。Gチャネル、Bチャネルについても同様である。すなわち、Gチャネル701bには、ノイズ有り生徒画像700のG成分の画素のみが含まれており、他の画素には欠損値(0)が設定されている。また、Bチャネル701cには、ノイズ有り生徒画像700のB成分の画素のみが含まれており、他の画素には欠損値(0)が設定されている。なお、欠損値については、bilinear補間等の手法により補間して設定しても構わない。次に、この欠損画像701に対してフィルタ702を順次適用し、特徴マップを算出する。続いて、連結層703によって、算出した特徴マップと欠損画像701とをチャネル方向に連結する。特徴マップと欠損画像のチャネル数がそれぞれn
1とn
2であった場合、連結結果のチャネル数は(n
1+n
2)となる。続けて、この連結結果に対してフィルタ702を適用し、最終フィルタではRGB3チャネルの出力を行う。これにより、RGBの3チャネルから成る画像が推論結果704として得られる。そして、得られた推論結果704と、画像ペアに含まれていたノイズ有り教師画像との差分を求め、画像全体についてその平均を取ることにより、損失関数値を得る。そして、得られた損失関数値を用いて、誤差逆伝播法(Back propagation)などによってネットワークパラメータの更新を行う。
【0051】
S306では、デモザイク学習が完了したか否かが判定される。学習の完了は、学習(ネットワークパラメータの更新)の反復回数が規定値に達したか否かにより判定する。なお、学習完了の判定基準は反復回数に限定されない。例えば、更新時のネットワークパラメータの変化量が規定値より小さいかどうかや、推論結果とノイズ有り教師画像との差分が規定値より小さいかどうかを用いてもよい。学習が完了していない場合は、S301に戻って、次の画像ペアを生成して学習を続行する。なお、次の画像ペアを生成する際には、過去の学習で用いたサンプル画像や教師画像を再利用してもよい。その場合、データセット生成部212内の各ノイズ付与部502~504は、毎回新たな乱数に従ってノイズを付与することになる。従って、同じ教師画像に対して、学習の度に異なるノイズが付与され得る。こうすることにより、同一画像からであっても中身の異なる(付与されたノイズが異なる)ノイズ有り教師画像を得て学習することができ、ノイズに対するロバスト性が高められる。なお、一度付与したノイズを記憶しておくことにより、同一画像に対しては必ず同じノイズが付与されるようにしてもよい。こうして得られた学習結果(更新後のネットワークパラメータ)が、ネットワークパラメータの取得リクエストに応じる等してクライアントPC100に提供される。クライアントPC100では、受け取ったネットワークパラメータをRAM102又は大容量記憶装置104に保持する。ここまでが、クラウドサーバ200における学習フェーズである。次に、クライアントPC100における推論フェーズについて説明する。
【0052】
S307では、デモザイクを含む現像処理の対象となるモザイク画像(RAW画像)が入力される。このRAW画像は、例えばデジタルカメラ10で撮像したものを直接入力してもよいし、事前に撮像して大容量記憶装置104に記憶しておいたものを読み出してもよい。また、入力RAW画像を撮像した際のISO感度といった撮像パラメータも併せて入力される。入力RAW画像のデータはデモザイク推論部111に送られ、入力撮像パラメータはノイズ低減部112に送られる。
【0053】
S308では、デモザイク推論部111が、デモザイク学習部213での学習で用いられたのと同じCNNを構築して、入力RAW画像のデモザイクを行う。この際、既存のネットワークパラメータが、クラウドサーバ200から受け取った更新後のネットワークパラメータで初期化される。こうして、更新後のネットワークパラメータを適用したCNN(学習済みデモザイクネットワーク)に対して、入力RAW画像を入力し、デモザイク学習部213で行ったのと同じ方法でデモザイク推論を行なってRGB画像を得る。デモザイク推論によって得られたRGB画像は、ノイズ低減部112に送られる。
【0054】
S309では、ノイズ低減部112が、推論結果としてのRGB画像に対し、ノイズ低減処理を行う。ノイズ低減処理には、例えばバイラテラルフィルタ(Bilateral filter)などの公知の手法を適用すればよい。また、ノイズ低減をどれだけ強く掛けるか(ノイズ強度)に関するパラメータは、入力された撮像パラメータに基づいて決定すればよい。
【0055】
以上が、本実施形態の情報処理システムで行われる処理の流れである。なお、各ノイズ付与部502~504が付与するノイズの標準偏差σは、下記の式(6’)で表す右辺をα(<1)倍したものでもよい。
【0056】
【0057】
上記式(6’)を採用する場合、最初はα=1で学習を行い、その学習結果を用いたデモザイク推論を行って、その結果画像におけるアーティファクトを確認する。アーティファクトの強度が規定値以下である場合、αの値を所定の割合(例えば10%)だけ削減して再度学習を行い、その学習結果を用いたデモザイク推論を行って、その結果画像におけるアーティファクトを確認する。これを繰り返し、アーティファクトが規定値以下で最小となるようなαを探索し、見つかったαの値で学習を行った結果を、最終的な学習結果としてデモザイク推論部111に提供する。なお、最適なαの値が見つかればよいので、探索方法は任意である。この場合、ノイズ有り教師画像に付与するノイズ量を低減でき、過学習を抑制することができる。
【0058】
<変形例>
本実施形態では、ノイズ付与をクラウドサーバ200内のデータセット生成部212において行っているが、これに限定されない。例えば、デジタルカメラ10で撮像してサンプル画像を得る際に、撮像画像中にノイズが多くなるような条件(高感度、低照度、速いシャッター速度、小さい開口幅など)を設定するなどして撮像装置側でノイズ付与を行ってもよい。
【0059】
また、ノイズの付与は段階的に行ってもよい。例えば、ノイズを付与しない状態で事前学習を行い、その後にノイズを付与して本学習を行ってもよい。
図8は、本変形例の考え方を説明する図である。まず、事前学習では、データセット生成部212における画像ペアの生成時、各ノイズ付与部502~504において付与するノイズ量を“0(或いはそれに準じた少ないノイズ量)”に設定する。そして、前述した手法による学習を行う。これにより、ノイズの無いRAW画像に適合したネットワークパラメータ801が得られる。続いて、本学習では、データセット生成部212における画像ペアの生成時、各ノイズ付与部502~504において一定レベルのノイズを付与する。そして、上述の実施形態と同様の学習を行う。この際、デモザイク学習部213に入力されるネットワークパラメータは、事前学習にて得られたネットワークパラメータであり、デモザイク学習部213はこれを初期値として学習を行うことになる。これにより、ノイズの有るRAW画像に適合したネットワークパラメータ803が得られる。なお、メモリから読み出した或いはweb上から取得した学習済みのネットワークパラメータを事前学習の結果と見做し、これを初期値として本学習を行ってもよい。このように2段階で学習を行って得られたネットワークパラメータを用いてデモザイク推論を行うことにより、ノイズの有り/無し両方のRAW画像に対して、よりアーティファクトの少ないデモザイク画像が得られるようになる。さらには、学習の容易なノイズ無し教師画像で事前学習を行い、その後に学習の困難なノイズ有り教師画像で本学習を行うことにより、カリキュラム学習の考え方に基づいて、少ない計算コストで高いアーティファクト抑制効果が得られる。なお、学習の段階数は2段階だけには限らず、ノイズ量を増やしながら3段階以上の複数段階にて学習を行っても構わない。また、1段階の学習の中で、付与するノイズ量を動的に上昇、すなわち、学習の進みに応じて付与するノイズの強度が強くなるよう段階的に変更してもよい。
【0060】
また、本実施形態の現像処理では、デモザイク後にノイズ低減を行っているが、これとは逆に、ノイズ低減後にデモザイクを行っても構わない。ノイズ低減後にデモザイクを行う構成において、ノイズ低減処理によって現像対象の入力RAW画像中のノイズを除去しきれなかった場合、ノイズを多く含むモザイク画像がデモザイク推論の対象となる。この場合でも、ロバスト性の高いデモザイクネットワークを使用したデモザイク推論によって同様の推論結果を得ることができる。
【0061】
以上のとおり本実施形態によれば、教師画像と生徒画像の双方にノイズを付与して学習することでノイズに対するロバスト性の高いデモザイクネットワークを得る。これにより、現像対象のRAW画像に多くのノイズが含まれていても、デモザイク推論においてアーティファクトの少ない推論結果を得ることができる。
【0062】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。