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

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

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

特許7512150情報処理装置、情報処理方法およびプログラム
<>
  • 特許-情報処理装置、情報処理方法およびプログラム 図1
  • 特許-情報処理装置、情報処理方法およびプログラム 図2
  • 特許-情報処理装置、情報処理方法およびプログラム 図3
  • 特許-情報処理装置、情報処理方法およびプログラム 図4
  • 特許-情報処理装置、情報処理方法およびプログラム 図5
  • 特許-情報処理装置、情報処理方法およびプログラム 図6
  • 特許-情報処理装置、情報処理方法およびプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-28
(45)【発行日】2024-07-08
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
   G06T 5/60 20240101AFI20240701BHJP
   G06N 20/00 20190101ALI20240701BHJP
   H04N 25/11 20230101ALI20240701BHJP
【FI】
G06T5/60
G06N20/00 130
H04N25/11
【請求項の数】 13
(21)【出願番号】P 2020159662
(22)【出願日】2020-09-24
(65)【公開番号】P2022053060
(43)【公開日】2022-04-05
【審査請求日】2023-09-08
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】高田 洋佑
【審査官】岡本 俊威
(56)【参考文献】
【文献】米国特許出願公開第2017/0185871(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 5/60
G06N 20/00
H04N 25/00-25/11
(57)【特許請求の範囲】
【請求項1】
ネットワークを用いた学習モデルを生成する情報処理装置であって、
複数の色成分を含む教師画像で構成される第1画像群を取得する取得手段と、
前記第1画像群に含まれる色の属性を表す分布特性を得る解析手段と、
前記第1画像群、当該第1画像に対応する第2画像との組で構成されるデータセットを生成する生成手段と、
前記分布特性に基づき学習回数を決定する決定手段と、
前記学習回数に基づき、前記データセットを用いて、前記ネットワークを用いた学習を行って、前記学習モデルを生成する学習手段と
を有する、ことを特徴とする情報処理装置。
【請求項2】
前記分布特性は、色相の分布を示す色相分布特性であり、
前記決定手段は、前記解析手段によって得た色相分布特性に基づいて、色相にて所定区間毎に、前記色相分布特性が一様となる前記学習回数を決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記分布特性は、輝度の分布を示す輝度分布特性であり、
前記決定手段は、前記解析手段によって得た輝度分布特性に基づいて、輝度にて所定区間毎に、前記輝度分布特性が一様となる前記学習回数を決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記分布特性は、彩度の分布を示す彩度分布特性であり、
前記決定手段は、前記解析手段によって得た彩度分布特性に基づいて、彩度にて所定区間毎に、前記彩度分布特性が一様となる前記学習回数を決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記学習手段は、前記学習モデルが所定の条件を満たさない場合、他の教師画像と統合して前記所定の条件を満たす学習モデルを生成する
ことを特徴とする請求項1から請求項4の何れか一項に記載の情報処理装置。
【請求項6】
前記所定の条件は、前記学習モデルと他の教師画像とで、画素単位の差分が、所定値を超えている場合であることを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記決定手段は、前記分布特性に基づき、前記色の属性において、出現頻度が相対的に少ない区間については、前記学習回数を相対的に多く設定する
ことを特徴とする請求項1から請求項6の何れか一項に記載の情報処理装置。
【請求項8】
前記決定手段は、前記出現頻度が相対的に少ない区間の中でも、大域的に補色で構成される区間に対し、前記学習回数を相対的に多く設定する
ことを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記決定手段は、前記色の属性にて所定区間毎に前記分布特性が一様となる前記学習回数を決定する
ことを特徴とする請求項1から請求項8の何れか一項に記載の情報処理装置。
【請求項10】
前記ネットワークは、畳み込みニューラルネットワークを用いたネットワークであることを特徴とする請求項1から請求項9の何れか一項に記載の情報処理装置。
【請求項11】
現像の対象となるRAW画像を取得する取得手段と、
前記RAW画像に対して、前記学習によって得た前記学習モデルを用いた推論によるデモザイクを行って、前記複数の色成分に対応するRGBの3チャネルから成るRGB画像を生成する手段と
をさらに有する
ことを特徴とする請求項1から請求項10の何れか一項に記載の情報処理装置。
【請求項12】
ネットワークを用いた学習モデルを生成する情報処理方法であって、
複数の色成分を含む教師画像で構成される第1画像群を取得する取得ステップと、
前記第1画像群に含まれる色の属性を表す分布特性を得る解析ステップと、
前記第1画像群、当該第1画像に対応する第2画像との組で構成されるデータセットを生成する生成ステップと、
前記分布特性に基づき学習回数を決定する決定ステップと、
前記学習回数に基づき、前記データセットを用いて、前記ネットワークを用いた学習を行って、前記学習モデルを生成する学習ステップと、
を含む、ことを特徴とする情報処理方法。
【請求項13】
コンピュータを、請求項1から請求項11のれか一項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習用の学習データの生成および学習方法に関する。
【背景技術】
【0002】
近年、画像認識、画像処理など様々な分野において、機械学習技術が利用されている。機械学習の中でも、データを大量に学習する必要がある深層学習(ディープラーニング)では、データを学習する順番が不適切であると、学習が収束しなかったり、収束したとしても本来の性能を発揮できなかったりすることがある。そのため、大量のデータを用いてどのような順番で学習を行うかを示す学習スケジュールが重要となる。
【0003】
学習スケジュールに関し、特許文献1は、最初は簡単なタスクを学習し、徐々にタスクの難易度を上げながら学習を行うカリキュラム学習に関する技術を開示している。このような順番で学習を行うことにより、高精度に局所最適解に到達でき、さらに最適解への収束が早くなることが知られている。カリキュラム学習の応用例として、音声認識だけでなく、画像認識、画像処理および動画認識など幅広い技術への応用例が報告されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2019-95600号公報
【非特許文献】
【0005】
【文献】Michael Gharbi et.al、”Deep Joint Demosaicking and Denoising”、ACM Transactions on Graphics,Vol.35、No.6、Article No.:191、2016年11月
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1の技術では効率よく学習できるが、学習の回数に偏りが生じるという問題がある。画像を例にすると、教師画像群において、色の三属性(色相、彩度、輝度)の分布に偏りがあると、カリキュラム学習を行っても色によって学習回数に偏りが生じることがある。そのような学習が行われた場合、ロバスト性の高い学習モデルを生成できないことがある。非特許文献1に記載の畳み込みニューラルネットワーク(CNN)ベースのデモザイクネットワークを学習する場合、学習に用いる教師画像データの色相分布に偏りがあると、どのような順番で学習を行っても色相によって学習回数に偏りが生じる。この結果、学習後のモデルを用いてRAW画像データをデモザイクした際に本来存在しない偽パターンが発生することがある。この現象は、教師画像群において学習回数の少ない色相で顕著に表れる。
【0007】
そこで本開示では、デモザイク、ノイズ低減、超解像などの画像信号処理系において、CNNベースのネットワークを学習する場合に、ロバスト性の高い学習モデルを生成する技術を提供する。
【課題を解決するための手段】
【0008】
本開示の一態様に係る情報処理装置は、ネットワークを用いた学習モデルを生成する情報処理装置であって、複数の色成分を含む教師画像で構成される第1画像群を取得する取得手段と、前記第1画像群に含まれる色の属性を表す分布特性を得る解析手段と、前記第1画像群、当該第1画像に対応する第2画像との組で構成されるデータセットを生成する生成手段と、前記分布特性に基づき学習回数を決定する決定手段と、前記学習回数に基づき、前記データセットを用いて、前記ネットワークを用いた学習を行って、前記学習モデルを生成する学習手段とを有する、ことを特徴とする。
【発明の効果】
【0009】
本開示によれば、デモザイク、ノイズ低減、超解像などの画像信号処理系において、CNNベースのネットワークを学習する場合に、ロバスト性の高い学習モデルを生成することができる。
【図面の簡単な説明】
【0010】
図1】情報処理システムの構成例を示す図
図2】情報処理システム全体の機能ブロック図
図3】情報処理システムにおける処理の流れを示すフローチャート
図4】解析処理例を示す図
図5】学習スケジュール例を示す図
図6】データセットの生成を説明する図
図7】CNNの構造と学習の流れを説明する図
【発明を実施するための形態】
【0011】
以下、本開示の技術を実施する形態について図面を用いて説明する。なお、以下の実施形態は、特許請求の範囲に係る本開示の技術を限定するものではなく、また以下の実施形態で説明されている特徴の組み合わせの全てが本開示の技術の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【0012】
<CNNについて>
まず、以下の実施形態において登場する、深層学習を応用した画像処理技術全般で用いられている畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)について説明する。CNNは、学習(“training”または“learning”)により生成したフィルタを画像データに対して畳み込んだ(convolution)後、非線形演算することを繰り返す技術である。フィルタは、局所受容野(Local Receptive Field:LPF)とも呼ばれる。画像データに対してフィルタを畳み込んだ後、非線形演算して得られる画像データは、特徴マップ(feature map)と呼ばれる。また、学習は入力画像データと出力画像データのペアからなる学習データ(“training images”または“data sets”)を用いて行われる。簡単には、入力画像データから対応する出力画像データへ高精度に変換可能なフィルタの値を、学習データから生成することが学習である。この詳細については後述する。
【0013】
画像データがRGBカラーチャネルを有する場合や、特徴マップが複数枚の画像データから構成されている場合、畳み込みに用いるフィルタも、それに応じて複数のチャネルを有する。すなわち、畳み込みフィルタは、縦横サイズと枚数の他に、チャネル数を加えた、4次元配列で表現される。画像データ(または特徴マップ)にフィルタを畳み込んだ後、非線形演算する処理は、層(layer)という単位で表され、例えばn層目の特徴マップやn層目のフィルタなどと表現される。また、例えばフィルタの畳み込みと非線形演算を3回繰り返すようなCNNは、3層のネットワーク構造を有する。このような非線形演算処理は、以下の(1)式のように定式化することができる。
【0014】
【数1】
【0015】
(1)式において、Wnはn層目のフィルタ、bnはn層目のバイアス、fは非線形演算子、Xnはn層目の特徴マップ、*は畳み込み演算子である。なお、右肩の(l)はl番目のフィルタまたは特徴マップであることを表している。フィルタおよびバイアスは、後述する学習により生成され、まとめて「ネットワークパラメータ」とも呼ばれる。非線形演算としては、例えばシグモイド関数(sigmoid function)やReLU(Rectified Linear Unit)が用いられる。ReLUの場合は、以下の(2)式で与えられる。
【0016】
【数2】
【0017】
(2)式に示すように、入力したベクトルXの要素のうち負のものはゼロ、正のものはそのままとなる。
【0018】
CNNを用いたネットワークとしては、画像認識分野のResNet(Residual Network)や超解像分野におけるその応用RED-Net(Residual Encoder-Decoder Networks)が有名である。いずれもCNNを多層にして、フィルタの畳み込みを何度も行うことで、処理の高精度化を図っている。例えば、ResNetは畳み込み層をショートカットする経路を設けたネットワーク構造を特徴とし、これにより152層もの多層ネットワークを実現し、人間の認識率に迫る高精度な認識を実現している。なお、多層CNNにより処理が高精度化する理由は、簡単には非線形演算を何度も繰り返すことで、入出力間の非線形な関係を表現できるためである。
【0019】
<CNNの学習>
次に、CNNの学習について説明する。CNNの学習は、入力学習画像(観測画像)データと、この入力学習画像データに対応する出力学習画像(正解画像)データとの組からなる学習データに対して、一般に以下の(3)式で表される目的関数を最小化することで行われる。
【0020】
【数3】
【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】
【数4】
【0023】
(4)式において、θi tは反復t回目におけるi番目のネットワークパラメータ、gはθi tに関する損失関数Lの勾配である。また、m、vはモーメントベクトル、αは基本学習率(base learning rate)、β1、β2はハイパーパラメータ、εは小さい定数である。なお、学習における最適化法の選択指針は存在しないため、基本的に何を用いてもよい。ただし、方法ごとの収束性には違いがあるため、学習時間の違いが生じることが知られている。
【0024】
[実施形態1]
本実施形態では、教師画像群の分布特性、特に色相分布特性の解析結果に基づき色相毎の学習に偏りが無いスケジュールを決定し、学習スケジュールに従いデモザイク学習を行って、デモザイクネットワーク(学習済みモデル)を生成する態様について説明する。デモザイクネットワークモデルとは、例えば多層CNNをベースとしたニューラルネットワークのアーキテクチャ及びパラメータ(係数)を意味する。ニューラルネットワークのアーキテクチャは必ずしもCNNをベースとしているものでなくてもよい。ただし、学習済みモデルは、モザイク画像データ(生徒画像データ)およびデモザイク画像データ(教師画像データ)をカラーフィルタ配列パターンに従ってサンプリングすることによって形成する。
【0025】
上記の構成にて、CPU101からの指令に基づき、学習処理アプリケーションが、教師画像データ群の色相分布から色相毎の学習回数の偏りを無くした学習スケジュールを決定し、それに従って学習を行い、モデルを生成する態様について説明するものとする。
【0026】
<システム構成>
本実施形態に係る情報処理システムの構成について、図を用いて説明する。図1は、本実施形態に係る情報処理システムの構成例を示す図である。図1に示す情報処理システムでは、学習データの生成およびデモザイク学習を担うクラウドサーバ200と、デモザイク推論を担うクライアントPC100とがインターネットを介して接続されている。なお、クラウドサーバ200上またはクライアントPC100上で、上記学習および上記推論の両方を単独で行ってもよい。
【0027】
<クライアントPCのハードウェア構成>
本実施形態のクライアントPC100は、撮像装置(デジタルカメラ)から入力されるRAW画像(モザイク画像)に対し、クラウドサーバ200から提供される学習済みネットパラメータを適用してデモザイク推論を行う画像処理装置である。RAW画像とは、一つの画素位置に一色分のカラーフィルタが取り付けられている単板撮像素子で撮像された、リニア色空間の画像を意味する。ユーザは、クライアントPC100にインストールされた画像処理アプリケーションを利用して、モザイク画像であるRAW画像をデモザイクしてRGBの3チャネルから成る画像(RGB画像)を得る。クライアントPC100は、CPU101、RAM102、ROM103、大容量記憶装置104、汎用インターフェース(I/F)105、ネットワークI/F106を有し、各構成要素がシステムバス107によって相互に接続されている。また、クライアントPC100は、汎用I/F105を介して、デジタルカメラ10、入力装置20、外部記憶装置30および表示装置40にも接続されている。
【0028】
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にアクセスして、デモザイク推論のためのネットワークパラメータを取得する。
【0029】
<クラウドサーバのハードウェア構成>
本実施形態のクラウドサーバ200は、インターネット上でクラウドサービスを提供するサーバ装置である。より詳細には、学習データの生成、学習スケジュールの決定、および学習スケジュールに従うデモザイク学習を行って、学習結果(学習済みモデル)としてのネットワークパラメータを、クライアントPC100からのリクエストに応じて提供する。クラウドサーバ200は、CPU201、ROM202、RAM203、大容量記憶装置204およびネットワークI/F205を有し、各種構成要素がシステムバス206によって相互に接続されている。CPU201は、ROM202に記憶された制御プログラムを読み出して各種処理を実行することで、全体の動作を制御する。RAM203は、CPU201の主メモリ、ワークエリアなどの一次記憶領域として用いられる。大容量記憶装置204は、画像データや各種プログラムを記憶するHDDやSSDなどの大容量の二次記憶装置である。ネットワークI/F205はインターネットに接続するためのインターフェースであり、クライアントPC100のウェブブラウザからのリクエストに応じて上述のネットワークパラメータを提供する。
【0030】
なお、クライアントPC100およびクラウドサーバ200の構成要素は上記以外にも存在するが、本発明の主眼ではないため、説明を省略する。本実施形態では、クラウドサーバにて学習データ及び学習スケジュールの生成・デモザイク学習を行い、学習結果のネットワークパラメータをクライアントPCにダウンロードして、現像対象となるRAW画像のデモザイク推論・現像を行うことを想定している。しかしながら、上記システム構成は一例であって、これに限定されない。例えば、クラウドサーバ200が担う機能を細分化し、学習データの生成と学習スケジュールの生成とデモザイク学習とを別々の装置で実行するような構成でもよい。さらには、クライアントPC100の機能とクラウドサーバ200の機能とを兼ね備えたデジタルカメラ10において、学習データの生成・学習スケジュールの生成・デモザイク学習・デモザイク推論・現像のすべてを行うような構成であってもよい。また、クラウドサーバ200はGPUを構成として有してもよい。その場合GPUは、CPU201の指示を受け、RAM203に載っている学習データ(教師画像と生徒画像)をGPU上のメモリ(例えばVRAM)にコピーし、デモザイク学習を行う。
【0031】
<システム全体の処理の流れ>
次に、本実施形態の情報処理システムで行われる各種処理について、図を用いて説明する。図2は、情報処理システム全体の機能ブロック図である。図3は、情報処理システムにおける処理の流れを示すフローチャートである。図2に示す通り、クライアントPC100は、デモザイク推論部111および現像部112を有する。また、クラウドサーバ200は、解析部211、学習スケジュール決定部212、データセット生成部213およびデモザイク学習部214を有する。図2に示す各機能部は、それぞれの機能部に対応するコンピュータプログラムをCPU101/201が実行することで実現される。ただし、図2に示す機能部の全部あるいは一部をハードウェアで実装してもよい。なお、図2に示した構成は適宜変形/変更が可能である。例えば、1つの機能部を機能別に複数の機能部に分割してもよいし、2つ以上の機能部を1つの機能部に統合してもよい。以下、図3のフローに沿って説明する。なお、以下の説明において記号「S」はステップを意味する。
【0032】
S301では、予め用意された教師画像群のデータがクラウドサーバ200に入力される。教師画像は、RGBの3チャネルから成る画像であり、例えばデジタルカメラ10で撮像することにより得られる。教師画像は、一般的には風景や動物といった自然写真、ポートレートやスポーツシーンといった人物写真、建築や商品といった人工物写真など、様々な種類の撮像画像が該当する。また、デジタルカメラ10で撮像して得られたものをそのままアップロードしてもよいし、撮り溜めたものをHDDなどに記憶しておきそれをアップロードしてもよい。クラウドサーバ200に入力された教師画像群のデータは、解析部211およびデータセット生成部213に送られる。また、解析部211、学習スケジュール決定部212、データセット生成部213およびデモザイク学習部214で使用するパラメータ各種がクラウドサーバ200に入力される。
【0033】
S302では、解析部211は、S301で取得した、ヒストグラムのビンを示すパラメータBINを用いて、入力された教師画像群に含まれる色の属性である色相を解析して色相分布を得る。色相の解析方法について、図を用いて説明する。図4は、解析部211による色相の解析で得た解析結果である色相ヒストグラム例を示す図である。図4に示すように、ヒストグラム(色相ヒストグラム)401は、入力された教師画像群に含まれる全ての教師画像をRGB色空間からHSV色空間に変換し、色相(H)の値のみを抽出したものである。色相ヒストグラム401において、横軸は、スペクトル上での色相の位置を示し、ビンの幅を5度の区間で設けた0~180度の角度により表される。また、色相ヒストグラム401において、縦軸は、各色相の出現頻度を0~1.0に正規化した値で表している。色相ヒストグラム401では、色相の出現頻度は、125度から180度の範囲ではそれ以外の範囲(0度から125度)と比べて相対的に少なく、0度から125度の範囲ではそれ以外の範囲(125度から180度)と比べて相対的に多いことが分かる。すなわち、色相ヒストグラム401では、色相分布に偏りがあることが分かる。このような色相の出現頻度に関する情報が解析結果として、学習スケジュール決定部212に送られる。
【0034】
図3の説明に戻る。S303では、学習スケジュール決定部212は、入力された解析結果に基づいて、学習スケジュールを決定し、学習情報ファイルとして記録する。学習スケジュールは、全体の学習回数Naと、色相毎(所定区間毎)の学習回数Nb_xとを含む。全体の学習回数Naは、S301で取得したパラメータであり、予め設定されている。全体の学習回数Naは、デモザイク学習部214が教師画像群を用いてデモザイクの学習を行う回数、すなわち、学習回数の合計値を表している。学習情報ファイルには、全体の学習回数Na、色相の番号と区間、及び色相の区間毎に属する教師画像の学習回数Nbが記録される。本実施形態では、教師画像がどの区間に属するかは、教師画像データの色相ヒストグラムにて、出現頻度が最も多いことを示す最頻に対応する区間の色相によって定めることとし、各色相の出現頻度の逆数から学習回数Nbを算出する。学習スケジュール決定部212による処理で決定した学習スケジュールについて図を用いて説明する。図5は、学習スケジュール決定部212による処理で決定した学習スケジュール例を示す図である。学習スケジュール500は、学習情報ファイルとも呼ばれる。学習スケジュール500は、表形式で表され、左端から順に、全体の学習回数Na 501、色相の番号x 502、色相の番号502に対応する区間503、色相毎(所定区間毎)の学習回数Nb 504が記録される。学習スケジュール500では、5度単位での色相区間503には、1から36までの色相の番号502が対応付けられている。色相の番号502が1から5にあっては、学習回数Nb 504として、1回または2回が設定され、色相の番号502が36にあっては、学習回数Nb 504として、10回が設定されている。全ての教師画像データを用いて少なくとも1回以上学習する回数と、色相毎(所定区間毎)の学習回数Nb_xを決定し、学習情報ファイルに記録する。また、xは色相の番号を表している。このように決定された学習スケジュールにあっては、色の属性にて所定区間毎に色相分布が一様となる学習回数が示されることになる。すなわち、学習スケジュールでは、出現頻度が相対的に多い区間では学習回数を相対的に少なく設定し、出現頻度が相対的に少ない区間では学習回数を相対的に多く設定することで、色の属性にて所定区間毎に分布特性が一様となる学習回数を示すことになる。
【0035】
図3の説明に戻る。S304では、データセット生成部213は、S301で取得した教師画像群に基づき、学習に用いるデータセット(教師画像と生徒画像のペア)を生成する。ここで、データセットの生成方法について、図を用いて説明する。図6は、データセットの生成方法例を説明する図である。図6では、RGBの3チャネルから成る教師画像601をベイヤ配列に従って画素をサブサンプリングすることにより、モザイク画像である生徒画像602を生成する。そして、RGB画像(教師画像)601と、RGB画像(教師画像)601に対応するモザイク画像(生徒画像)602とが組となるペア603を生成する。このようなペア603は、教師画像601の数と同じ数だけ生成される。なお、ここではカラーフィルタ配列としてベイヤ配列を使用しているが、入力RAW画像の画像形式に合わせて決定すればよく、例えばX-Transなどの他のカラーフィルタ配列を用いても構わない。生成された複数のペア603は、データセット604として、デモザイク学習部214に送られる。なお、S304で生成するデータセット604の中身を教師画像群のデータのみとし、後続のデモザイク学習の中で(教師画像とデモザイク後の生徒画像との誤差(損失関数)を算出する処理の中で)対応する生徒画像群のデータを生成するように構成してもよい。
【0036】
図3の説明に戻る。S305では、デモザイク学習のCNNに適用する上述のネットワークパラメータがクラウドサーバ200に入力される。入力されたネットワークパラメータは、デモザイク学習部214に送られる。
【0037】
S306では、デモザイク学習部214は、受け取ったネットワークパラメータを用いてCNNの重みを初期化した後、S304で生成されたデータセットを用いてCNNを学習する。デモザイク学習の詳細については後述する。
【0038】
S307では、デモザイク学習部214は、学習回数をカウントする。ここでは、全体の学習回数と、対応する色相の学習回数とをカウントアップすることになる。
【0039】
S308では、デモザイク学習部214は、色相毎の学習回数がS303で決定した学習スケジュール500の色相(区間)毎の学習回数Nb 504に達したか否かを判定する。学習回数Nb 504に達したとの判定結果を得た場合(S308のYES)、デモザイク学習部214は、処理をS309に移行する。学習回数Nb 504に達していないとの判定結果を得た場合(S308のNO)、デモザイク学習部214は、処理をS306に戻す。より具体的には、0度から180度の範囲のうち、学習回数Nb 504に達していない区間が1つでもあると(S308のNO)、デモザイク学習部214は、処理をS306に戻すことになる。
【0040】
S309では、デモザイク学習部214は、全体の学習回数が予め設定された全体の学習回数Na 501に達したか否かを判定する。図5に示す学習スケジュール500を利用する場合、全体の学習回数Na 501が100回に達したか否かが判定される。達したとの判定結果を得た場合(S309のYES)、デモザイク学習部214で生成された学習結果(学習済みモデル)としてのネットワークパラメータが出力される。出力した学習結果(学習済みモデル)としてのネットワークパラメータは、クライアントPC100のデモザイク推論部111に送られる。達していないとの判定結果を得た場合(S309のNO)、デモザイク学習部214は、処理をS306に戻す。
【0041】
S310では、現像処理の対象となるRAW画像がクライアントPC100に入力される。このRAW画像は、例えばデジタルカメラ10で撮像したものを直接入力してもよいし、事前に撮像して大容量記憶装置104に記憶しておいたものを読み出してもよい。また、入力RAW画像を撮像した際のISO感度といった撮像パラメータも併せて入力される。入力RAW画像のデータはデモザイク推論部111に送られる。
【0042】
S311では、デモザイク推論部111は、デモザイク学習部214での学習で用いられたのと同じCNNを構築して、入力RAW画像のデモザイクを行う。この際、既存のネットワークパラメータが、クラウドサーバ200から受け取った更新後のネットワークパラメータで初期化される。こうして、更新後のネットワークパラメータを適用したCNNに対して、入力RAW画像を入力し、デモザイク学習部214で行ったのと同じ方法でデモザイクを行って、色情報が補間されたRGB画像(推論結果)を得る。RGB画像(推論結果)は、現像部112に送られる。
【0043】
S312では、現像部112は、S311で得たRGB画像(推論結果)に対し、所定の現像処理を実行して現像結果を生成する。所定の現像処理は、メリハリを増すためのエッジ強調や、明るさを補正するγ補正や、鮮やかさを増すための色補正などが含まれる。すなわち、本実施形態の現像処理では、出力画像が好適に見えるように補正する処理全般が含まれる。なお、現像処理の詳細は本実施形態の主眼ではないため詳細な説明は省略する。生成した現像結果は、クライアントPC100の外部に出力される。出力先は特定の出力先に限らず、クライアントPC100の大容量記憶装置104、クライアントPC100に接続される外部記憶装置30、クライアントPC100の汎用I/F105に接続される他の機器であってもよい。
【0044】
以上が、本実施形態の情報処理システムで行われる処理の全体の流れである。本実施形態では、クラウドサーバ200によって出力された学習結果(学習済みモデル)としてのネットワークパラメータを用いてRAW画像データをデモザイクする。これにより、偽パターンのような弊害が発生することを抑制することができる。
【0045】
<デモザイク学習処理>
続いて、デモザイク学習部214におけるデモザイク学習について、図を用いて説明する。学習には、例えば非特許文献1に開示されているCNNを用いる。図7は、CNNの構造と学習の流れを説明する図である。
【0046】
CNNは、前述の(1)式の演算を行う複数のフィルタ702で構成されている。このCNNに対して、前述のペア画像に含まれる生徒画像700を入力する。この際、図7に示すように、生徒画像700の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とをチャネル方向に連結する。特徴マップと欠損画像のチャネル数がそれぞれn1とn2であった場合、連結結果のチャネル数は(n1+n2)となる。続けて、この連結結果に対してフィルタ702を適用し、最終フィルタではRGB3チャネルの出力を行う。これにより、RGBの3チャネルから成る画像が推論結果704として得られる。そして、得られた推論結果704と、ペア画像に含まれていた教師画像(不図示)との差分を求め、画像全体についてその平均を取ることにより、損失関数値を得る。そして、得られた損失関数値を用いて、誤差逆伝播法(Back propagation)などによりネットワークパラメータの更新を行う。
【0047】
なお、上述のようなデモザイク学習後のCNNをさらにファインチューニングしてもよい。ファインチューニングとは学習済みモデルの重みを微調整する学習方法である。具体的なやり方としては、まず、統計的に出現頻度の少ない色相の組合せを含んだチャート画像(モザイク画像)に対して学習済みモデルを用いてデモザイクし、偽パターンが発生するか否かを検査する。偽パターンは、カラーフィルタ配列に相関を持つパターン模様のことである。偽パターンが発生するか否かの検査では、先ず、チャート画像についてデモザイク前後の差分値を画素単位で導出し、導出した差分値と予め設定された閾値th(所定値)とを比較する。そして、差分値>閾値thを満たす画素がy(=10)%以上ある場合に、すなわち、所定の条件を満たさない場合に、偽パターンが発生したとの検査結果が得られる。各色相に属する画像データについて、色相ヒストグラムの最頻の色相と次に頻度の高い色相が大域的に補色(特に、グリーン/マゼンタ)の関係にある場合、学習回数Nbよりも多く設定する。これにより、ロバスト性の向上を更に図ることができる。
【0048】
デモザイク後のチャート画像において偽パターンが発生したとの検査結果を得た場合、当該チャート画像における色相の組合せに類似する色相の組合せを持つ教師画像を中心にデータセットを再構成し、学習済みモデルをファインチューニングする。また、ファインチューニングする際、対象となる色相の学習回数 Nbを更新してもよい。すなわち、学習スケジュール決定部は、偽パターンが発生したとの検査結果を基に、偽パターンが発生している領域に類似する色相を特定し、特定した色相の学習回数Nbが1、それ以外の色相の学習回数Nbが0となるように学習情報ファイルを更新してもよい。このとき、全体の学習回数Naが大幅に減らされ(例えばNa=5)、学習済みモデルの重みが更新される。これにより、学習済みモデルのロバスト性を向上させることができる。なお、チャート画像として、1種類のチャート画像を用いてもよいし、過学習を抑制するためにテクスチャの異なる複数のチャート画像を用いてもよい。
【0049】
<変形例>
なお、本実施形態では、色相分布を解析してその偏りを解消するような学習スケジュール(色相毎の学習回数)を生成したが、これに限定されない。すなわち、彩度分布あるいは輝度分布など他の分布特性を解析し、それぞれの分布の偏りを無くすように学習スケジュール(彩度毎の学習回数あるいは輝度毎の学習回数)を生成してもよい。
【0050】
さらに、本実施形態ではデモザイクを例に説明を行ったが、本手法により生成した教師画像群を用いることで、他の画像信号処理系(例えば、ノイズ低減、超解像など)においても深層学習のロバスト性を向上させることができる。深層学習を応用したノイズ低減や超解像には、公知であるCNNベースのネットワーク(REDNET、SRCNNなど)に、本手法により生成された教師画像群を用いることで実現可能である。
【0051】
以上の通り本実施形態によれば、教師画像群における色の三属性(色相、彩度、輝度)の分布に偏りがある場合に、その偏りが解消されるように学習スケジュール(学習回数)を生成する。すなわち、出現頻度が相対的に少ない区間ではその色の属性の学習回数を相対的に多く、出現頻度が相対的に多い区間ではその色の属性の学習回数を相対的に少なくなるように学習スケジュールを決定する。これにより、色の属性の偏りを抑制したデモザイク学習を行うことができ、ロバスト性の高い学習モデルを得ることができる。
【0052】
なお、本実施形態の解析処理において、S301で取得した全ての教師画像を使用する例を説明したが、これに限定されない。S301で取得した全ての教師画像のうち一部の教師画像のみを用いてもよい。
【0053】
また、本実施形態では、教師画像群の色相を解析して得た色相分布特性を基に、色相にて所定区間毎に、色相分布特性が一様となる学習回数を決定する例を説明したが、これに限定されない。教師画像群の彩度を解析して得た彩度分布特性を基に、彩度にて所定区間毎に、彩度分布特性が一様となる学習回数を決定してもよい。また、教師画像群の輝度を解析して得た輝度分布特性を基に、輝度にて所定区間毎に、輝度分布特性が一様となる学習回数を決定してもよい。
【0054】
また、教師画像がどの区間に属するかは、教師画像の色相ヒストグラムから最頻である色相によって定めたが、方法はこれに限定されない。例えば、教師画像内の被写体のみから求めた色相ヒストグラムの最頻の色相によって定めてもよい。
【0055】
また、色相毎の学習回数Nbを各色相の出現頻度の逆数から算出したが、これに限定されない。出現頻度の少ない色相に属する画像データの学習回数を相対的に多く、出現頻度の多い色相に属する画像データの学習回数を相対的に少なくなるように算出できれば、どのように学習回数を算出してもよい。
【0056】
また、本実施形態では、教師画像群を用いて初めら学習を行って学習モデルを生成したが、これに限定されない。事前に異なる画像群を用いて学習した学習モデルをベースに本実施形態のデモザイク学習を行ってもよい。
【0057】
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0058】
211 解析部
212 学習スケジュール決定部
213 データセット生成部
214 デモザイク学習部
図1
図2
図3
図4
図5
図6
図7