(57)【要約】      （修正有）【課題】ニューラルネットワークのパラメータを学習する際に計算される推定値と真の値との誤差を、人間の目から見てより正しい画像が出力できるように計算する。【解決手段】学習装置Ｓにおいて、誤差計算器は、第１の画像特徴量４０１及び第２の画像特徴量４０２から所定演算により画像内における複数の画素の関係性を特徴付ける特徴量を抽出して第１の特徴量マップ４０３及び第２の特徴量マップ４０４を作成する特徴量マップ作成手段４１と、第１の特徴量マップ４０３と第２の特徴量マップ４０４とに対応する画素間の画素値の誤差に基づく特徴量マップ間の誤差を算出する第１誤差算出手段４２と、第１の画像特徴量４０１と第２の画像特徴量４０２とに対応する画素間の画素値の誤差に基づいて算出された画像特徴量間の誤差を入力し、前記誤差と、前記特徴量マップ間の誤差と、を加算し、合成誤差を生成する誤差合成手段４３と、を備える。【選択図】図１
2019029938.tif 000002
【特許請求の範囲】
【請求項１】
推定カラー情報である第１の画像特徴量と真のカラー情報である第２の画像特徴量との誤差を計算する誤差計算器であって、
前記第１の画像特徴量および前記第２の画像特徴量から、所定演算により画像内における複数の画素の関係性を特徴付ける特徴量を抽出して第１の特徴量マップおよび第２の特徴量マップをそれぞれ作成する特徴量マップ作成手段と、
前記第１の特徴量マップと前記第２の特徴量マップとに対応する画素間の画素値の誤差に基づく特徴量マップ間の誤差を算出する第１誤差算出手段と、
前記第１の画像特徴量と前記第２の画像特徴量とに対応する画素間の画素値の誤差に基づいて算出された画像特徴量間の誤差を入力し、前記画像特徴量間の誤差と、前記特徴量マップ間の誤差と、を加算し、合成誤差を生成する誤差合成手段と、を備える誤差計算器。
【請求項２】
前記特徴量マップ作成手段は、予め定められたフィルタを用いて前記第１の画像特徴量または前記第２の画像特徴量に対しフィルタ処理を施す演算を行うことで、隣接する複数の画素の関係性を特徴付ける特徴量を抽出して前記第１の特徴量マップまたは前記第２の特徴量マップを作成する請求項１に記載の誤差計算器。
【請求項３】
前記特徴量マップ作成手段は、前記第１の画像特徴量または前記第２の画像特徴量に基づく画像に含まれるエッジを検出するエッジフィルタを用いることにより、エッジマップを前記第１の特徴量マップまたは前記第２の特徴量マップとして作成する請求項２に記載の誤差計算器。
【請求項４】
前記第１の画像特徴量と、前記第２の画像特徴量とに対応する画素間の画素値の誤差に基づく画像特徴量間の誤差を算出して前記誤差合成手段に出力する第２誤差算出手段を備える請求項１から請求項３のいずれか一項に記載の誤差計算器。
【請求項５】
前記第１の画像特徴量は、学習器がその訓練データとして入力される入力値に対して内部のパラメータに応じて出力する推定カラー情報であり、
前記第２の画像特徴量は、学習器の訓練データとして準備された真のカラー情報である請求項４に記載の誤差計算器。
【請求項６】
前記第１の画像特徴量と前記第２の画像特徴量との組を前記特徴量マップ作成手段と前記第２誤差算出手段とに順次入力し、入力した画像特徴量の前記組に応じて、所定演算により前記合成誤差が小さくなるように前記学習器のパラメータを調整し、調整したパラメータを更新用のパラメータとして前記学習器に供給する誤差最小化手段を備える請求項５に記載の誤差計算器。
【請求項７】
コンピュータを、請求項１から請求項６のいずれか一項に記載の誤差計算器として機能させるための誤差計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤差計算器およびそのプログラムに関し、特に、ニューラルネットワークの学習における誤差を計算する誤差計算器およびそのプログラムに関する。
【背景技術】
【０００２】
従来、デジタルデータ化されたモノクロ画像への自動色付け技術が複数開発されている。デジタルデータ化されたモノクロ画像には、画像特徴量であるカラー情報の手がかりがほとんどない。このため、フィルムなどの物理媒体に記録されたアナログ画像のカラー化と比べて、難易度が高いといわれている。例えば、モノクロデータをカラーデータに変換する方法が知られている（特許文献１参照）。この方法は、モノクロデータに記録された特定の物体を仮定し、この特定の物体から色分布モデルを計算する。そして、計算した色分布モデルからカラー情報を推定する。この方法では、カラー化する対象を特定の物体と仮定しているため、この仮定した物体とモノクロ画像の中の物体とが異なる場合には、モノクロ画像を自然なカラー画像に変換することは難しい。
【０００３】
このような問題を解決するため、近年、いわゆる機械学習技術を用いて、カラー化する対象をより汎用的にしたカラー情報の推定方法が複数提案されている（非特許文献１、非特許文献２参照）。これらの機械学習技術を用いたカラー情報の推定方法では、さまざまな物体が写った膨大な量のカラー画像を用意することを前提としている。そして、このような膨大な量のカラー画像に基づいて機械学習し、カラー情報推定器を生成する。この
際、例えば、いわゆるニューラルネットワーク等で構成された機械学習器に、予め用意した膨大なカラー画像を入力し、モノクロ画像とカラー情報との対応関係を学習させる。このように生成したカラー情報推定器により、多様なモノクロ画像から精度よくカラー情報を推定することができる。これにより、デジタルデータ化されたモノクロ画像を自然なカラー画像に変換することが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１４６５２９号公報
【非特許文献】
【０００５】
【非特許文献１】Satoshi Iizuka, Edgar Simo-Serra, and Hiroshi Ishikawa., ”Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic Image Colorization with Simultaneous Classification,” ACM Transaction on Graphics (Proc. Of SIGGRAPH), 35(4):110, 2016.
【非特許文献２】Richard Zhang, Phillip Isola, and Alexei A. Efros. ”Colorful Image Colorization.” In ECCV 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、推定されたカラー情報（例えば、画像特徴量）と真のカラー情報（例えば、画像特徴量）に関して、画素ごとに独立して比較して求めた値をもとにした誤差を計算する。そのため、例えばカラー情報に関して、画素ごとの誤差が小さくなる方向に学習が進むだけであり、ある画素とその隣接画素との間における色の均一性などが全く考慮されない。したがって、推定されたカラー情報において、本来は同じ色であると推定されるべき領域が斑になり易い。例えば、雲のない空の風景は、一般に一様に青くなるべきであるが、従来技術では、人間の目から見て正しくない、不自然な色むらが発生してしまうという問題がある。
【０００７】
本発明は、以上のような問題点に鑑みてなされたものであり、ニューラルネットワークのパラメータを学習する際に計算される推定値と真の値との誤差に関して、人間の目から見てより正しい画像が出力できるような誤差を計算することができる誤差計算器およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するため、本発明に係る誤差計算器は、推定カラー情報である第１の画像特徴量と真のカラー情報である第２の画像特徴量との誤差を計算する誤差計算器であって、特徴量マップ作成手段と、第１誤差算出手段と、誤差合成手段と、を備えることとした。
【０００９】
かかる構成によれば、誤差計算器は、特徴量マップ作成手段によって、前記第１の画像特徴量および前記第２の画像特徴量から、所定演算により画像内における複数の画素の関係性を特徴付ける特徴量を抽出して第１の特徴量マップおよび第２の特徴量マップをそれぞれ作成する。
そして、誤差計算器は、第１誤差算出手段によって、前記第１の特徴量マップと前記第２の特徴量マップとに対応する画素間の画素値の誤差に基づく特徴量マップ間の誤差を算出する。
そして、誤差計算器は、誤差合成手段によって、前記第１の画像特徴量と前記第２の画像特徴量とに対応する画素間の画素値の誤差に基づいて算出された画像特徴量間の誤差を入力し、前記画像特徴量間の誤差と、前記特徴量マップ間の誤差と、を加算し、合成誤差を生成する。
【００１０】
また、本発明は、コンピュータを、前記誤差計算器として機能させるための誤差計算プログラムで実現することもできる。
【発明の効果】
【００１１】
本発明は、以下に示す優れた効果を奏するものである。
本発明に係る誤差計算器によれば、複数の画素の関係性をそれぞれ反映した２つの特徴量マップ間の誤差を算出し、画素ごとに独立して比較して求めた値をもとにした誤差に対して、特徴量マップ間の誤差を加算することで合成誤差を求めることができる。
したがって、学習器が、この合成誤差を最小化するようにニューラルネットワークのパラメータを学習すれば、ある画素とその隣接画素との間における関係性についても学習することができる。そのため、この合成誤差を用いた学習を行った学習器によって推定された画像特徴量に基づく画像は、人間の目から見てより正しい画像となる。
したがって、本発明に係る誤差計算器を、カラー情報を出力するニューラルネットワークにおける学習に用いることで、不自然な色むらの発生が低減されたカラー画像を生成することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る誤差計算器を含む学習装置を模式的に示すブロック図である。
【図２】本発明の実施形態に係る誤差計算器による特徴量マップの作成を模式的に示す説明図であって、（ａ）は入力画像の一例、（ｂ）および（ｃ）はフィルタの一例を示している。
【図３】入力画像と同サイズの特徴量マップの作成方法を模式的に示す説明図であって、（ａ）は入力画像の一例、（ｂ）は入力画像の拡張例を示している。
【図４】本発明の実施形態に係る誤差計算器を学習に用いるカラー情報拡大器を含む自動色付け装置を模式的に示すブロック図である。
【図５】図４に示す低解像度カラー情報推定器の学習の流れを模式的に示すブロック図である。
【図６】図４に示すカラー情報拡大器の学習の流れを模式的に示すブロック図である。
【図７】図４に示すカラー情報拡大器の一例を模式的に示すブロック図である。
【図８】図４に示すカラー情報拡大器の他の一例を模式的に示す説明図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係る誤差計算器について、図面を参照しながら説明する。
図１に示す学習装置Ｓは、学習器６０と、誤差計算器４０とを備えている。
学習装置Ｓは、第１の画像特徴量４０１である推定カラー情報と第２の画像特徴量４０２である真のカラー情報との誤差を誤差計算器４０により算出し、誤差計算器４０が算出した誤差を最小化するように学習器６０により、ニューラルネットワークを構成するためのパラメータを学習する。
ここで、学習器６０は、以下に詳述する画像特徴量を出力するニューラルネットワークで構成される。以下の説明では、この画像特徴量とは、例えば、輝度、色度、彩度等の色空間を表す量をいい、例えば、色空間を表す量から抽出された平均値、分散、畳み込み積分値等を含む。また、この画像特徴量の画素ごとの集合とは、例えばモノクロ画像（モノクロ情報）やカラー情報をいう。さらに、画像特徴量は、高さ方向および幅方向（縦横）に要素が並べられた行列で取り扱ってもよいし、１次元の多変数ベクトルで取り扱ってもよい。
【００１４】
また、ここで、モノクロ画像とは、具体的には色空間における輝度チャンネル（ＨＳＶ色空間におけるＶチャンネルや、Ｌａｂ色空間におけるＬチャンネルなど）のみから成る画像をいう。なお、画素の情報が輝度である場合、画素値（輝度値）は、８ビットの情報で表すとき、０〜２５５の値を有する。このモノクロ画像の画像特徴量であるモノクロ情報は、例えば輝度分布で表される。本明細書では、このモノクロ情報をモノクロ画像と同じ意味で用いている。また、カラー情報とは、例えば、輝度チャンネル以外の２チャンネルについての画像特徴量とすることができる。
【００１５】
学習器６０は、以下の実施例では、一例として、この画像特徴量としてカラー情報を出力するニューラルネットワークで構成されているものとして説明する。この学習器６０は、例えばモノクロ画像からカラー情報を推定するカラー情報推定器や、低解像度のカラー情報から高解像度のカラー情報を推定するカラー情報拡大器を作成するために用いるものである。学習器６０は、内部にニューラルネットワークを構成するためのパラメータ（パラメータ群）を持ち、その学習データとして入力に対して内部パラメータに応じた推定値を出力する。学習器６０は、この内部のパラメータを変更することにより、出力値を調整する。
【００１６】
誤差計算器４０は、例えば、カラー情報（画像特徴量）から学習器６０がニューラルネットワークによりカラー情報を推定する学習のための推定カラー情報と真のカラー情報との誤差を計算する。誤差計算器４０は、図１に示すように、特徴量マップ作成手段４１と、第１誤差算出手段４２と、誤差合成手段４３と、を備えている。
誤差計算器４０は、第１の画像特徴量４０１および第２の画像特徴量４０２から所定演算により画像内における複数の画素の関係性を特徴付ける特徴量を抽出して第１の特徴量マップ４０３および第２の特徴量マップ４０４を作成し、第１の特徴量マップ４０３と第２の特徴量マップ４０４とに対応する画素間の画素値の誤差に基づく特徴量マップ間の誤差を算出し、第１の画像特徴量４０１と第２の画像特徴量４０２とに対応する画素間の画素値の誤差に基づいて算出された画像特徴量間の誤差を入力し、前記画像特徴量間の誤差と、前記特徴量マップ間の誤差と、を加算し、合成誤差を生成する。
なお、誤差計算器４０は、従来の誤差計算器と同様の構成として、第２誤差算出手段５１と、最小化手段５２と、を備えている。この誤差計算器４０は、例えば一般的なコンピュータで構成され、ＣＰＵ（Central Processing Unit）等の演算装置と、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）やＨＤＤ（Hard Disk Drive）と、入出力インタフェースと、を備えている。
【００１７】
（第２誤差算出手段５１）
第２誤差算出手段５１は、第１の画像特徴量４０１と、第２の画像特徴量４０２と、を用いて、これら２つの画像特徴量間の誤差を算出するものである。ここで、第１の画像特徴量４０１は、学習器６０がその訓練データとして入力される入力値に対して内部のパラメータに応じて出力する推定カラー情報である。この第１の画像特徴量４０１は、例えば、学習器６０に対して学習用の訓練データとして入力される低解像度のカラー情報（画像特徴量）から、当該学習器６０によって推定された高解像度のカラー情報（推定カラー情報）である。
【００１８】
また、第２の画像特徴量４０２は、例えば、学習器６０の訓練データとして準備された正解の高解像度のカラー情報（真のカラー情報）である。
第２誤差算出手段５１は、第１の画像特徴量４０１と第２の画像特徴量４０２とに対応する画素間の画素値の誤差に基づくカラー情報（画像特徴量）間の誤差を算出して誤差合成手段４３に出力する。
【００１９】
カラー情報間の誤差としては、例えば、従来手法と同様の平均二乗誤差や、交差エントロピーを用いる。具体例として、次の式（１）で定義された損失関数（Loss）は、従来手法と同様の平均二乗誤差を表している。
【００２０】
【数１】
2019029938.tif 000003
【００２１】
ここで、Ｈは、カラー情報として入力する画像の縦方向の画素数であり、Ｗは、カラー情報として入力する画像の横方向の画素数である。Ｃは、推定するカラー情報のチャンネル数であり、通常Ｃ＝２である。
ｙh,w,cは、画像上で座標（ｗ，ｈ）に位置する画素のチャンネルｃにおける推定カラー情報である。
ｙgth,w,cは、画像上で座標（ｗ，ｈ）に位置する画素のチャンネルｃにおける真のカラー情報の値である。なお、一般には、前記した式（１）におけるＨ×Ｗ×ＣをＮに置き換えて、ｈ，ｗ，ｃをまとめてｉに置き換えて、次の式（２）のように表すことが多い。
【００２２】
【数２】
2019029938.tif 000004
【００２３】
（特徴量マップ作成手段４１）
特徴量マップ作成手段４１は、カラー情報である第１の画像特徴量４０１および第２の画像特徴量４０２から、所定演算により画像内における複数の画素の関係性を特徴付ける特徴量を抽出して第１の特徴量マップ４０３および第２の特徴量マップ４０４をそれぞれ作成するものである。ここで、複数の画素の関係性を特徴付ける特徴量とは、カラー情報（画像特徴量）において複数の画素の関係性を特徴付けるものであり、カラー情報において単独の画素から独立に得られる特徴ではない。また、画素の関係性は、例えば、関係性の対象とする２つの画素値の差分で表される。注目画素とその周辺画素とは、離間していてもよいし、隣接していてもよい。
【００２４】
隣接する複数の画素の関係性を特徴付ける特徴量を抽出するためには、空間フィルタリングをしてもよい。本実施形態では、特徴量マップ作成手段４１は、予め定められたフィルタを用いてカラー情報である第１の画像特徴量４０１または第２の画像特徴量４０２に対しフィルタ処理を施す演算を行うことで、隣接する複数の画素の関係性を特徴付ける特徴量を抽出して第１の特徴量マップ４０３または第２の特徴量マップ４０４を作成する。
【００２５】
ここで、フィルタは、空間フィルタリングに用いることができれば、目的や機能は特に限定されず、例えば、輪郭抽出フィルタ、ノイズ除去フィルタ、平滑化フィルタ、移動平均フィルタ、あるいは、メディアンフィルタ等の非線形フィルタ等を用いても構わない。
【００２６】
本実施形態では、一例として、特徴量マップ作成手段４１は、カラー情報である第１の画像特徴量４０１または第２の画像特徴量４０２に基づく画像に含まれるエッジを検出するエッジフィルタを用いることでエッジマップを第１の特徴量マップ４０３または第２の特徴量マップ４０４として作成するものとして説明する。エッジマップは、周辺画素との関係性を画素値の勾配で表したマップ（勾配マップ）である。
【００２７】
エッジフィルタは、例えば、ＳｏｂｅｌフィルタやＰｒｅｗｉｔｔフィルタ等の一次微分フィルタを用いることができる。また、一次微分フィルタに限らず、Ｌａｐｌａｃｉａｎフィルタ等の二次微分フィルタを用いてもよい。
また、例えば、周辺８画素を考慮した３×３のサイズのフィルタであってもよいし、周辺２４画素を考慮した５×５のサイズのフィルタ等であってもよい。
さらに、フィルタの形状は、正方形に限らず、例えば、上下左右に隣接する周辺４画素を考慮するような形状であってもよい。
以下では、一例として、Ｓｏｂｅｌフィルタを用いて勾配マップ（エッジマップ）を作成するものとして説明する。
【００２８】
特徴量マップ作成手段４１は、第１の画像特徴量４０１（推定カラー情報）から第１の特徴量マップ４０３（勾配マップ）を作成し、第１誤差算出手段４２に出力する。
特徴量マップ作成手段４１は、第２の画像特徴量４０２（真のカラー情報）から第２の特徴量マップ４０４（勾配マップ）を作成し、第１誤差算出手段４２に出力する。
第１の特徴量マップ４０３は、例えば、推定された高解像度のカラー情報についての勾配マップ（以下、推定カラー情報についての勾配マップという）である。
第２の特徴量マップ４０４は、例えば、準備された正解の高解像度のカラー情報についての勾配マップ（以下、真のカラー情報についての勾配マップという）である。
なお、特徴量マップ作成手段４１による勾配マップの作成についての詳細は後記する。
【００２９】
（第１誤差算出手段４２）
第１誤差算出手段４２は、第１の特徴量マップ４０３と第２の特徴量マップ４０４とに対応する画素間の画素値の誤差に基づく勾配マップ間（特徴量マップ間）の誤差を算出するものである。第１誤差算出手段４２は、推定カラー情報についての勾配マップと、真のカラー情報についての勾配マップとを用いて、勾配マップ間の誤差を算出して誤差合成手段４３に出力する。この第１誤差算出手段４２は、第２誤差算出手段５１と比べると入力情報が異なるものの、誤差の計算手法については、第２誤差算出手段５１と同様の手法を適用することができる。
【００３０】
（誤差合成手段４３）
誤差合成手段４３は、第１の画像特徴量４０１と第２の画像特徴量４０２とのカラー情報間（画像特徴量間）の誤差と、第１の特徴量マップ４０３と第２の特徴量マップ４０４との勾配マップ間（特徴量マップ間）の誤差と、を加算し、合成誤差４０５を生成するものである。
誤差合成手段４３は、第２誤差算出手段５１から、推定カラー情報と真のカラー情報とのカラー情報間の誤差を受け付ける。
誤差合成手段４３は、第１誤差算出手段４２から、推定カラー情報についての勾配マップと真のカラー情報についての勾配マップとの勾配マップ間の誤差を受け付ける。
誤差合成手段４３は、第２誤差算出手段５１から取得したカラー情報間の誤差と、第１誤差算出手段４２から取得した勾配マップ間の誤差との和を合成誤差４０５として算出する。誤差合成手段４３は、算出した合成誤差４０５を、最小化手段５２に出力する。
【００３１】
（最小化手段５２）
最小化手段５２は、第１の画像特徴量４０１と第２の画像特徴量４０２との組を順次入力し、入力した画像特徴量の組に応じて、所定演算により合成誤差４０５が小さくなるように学習器６０のパラメータを調整し、調整したパラメータを更新パラメータ４０６（更新用のパラメータ）として学習器６０に供給するものである。
【００３２】
最小化手段５２は、ＳＧＤなどの誤差勾配に基づく最適化手法を用いて、合成誤差４０５が小さくなるように、学習器６０のパラメータを調整する。なお、ＳＧＤについては、次の参考文献に記載されているので説明を省略する。
（参考文献）L. Bottou., ”Stochastic Gradient Descent Tricks.,”Neural Networks: Tricks of the Trade: Springer, 2012.
【００３３】
ここで、従来技術では、不自然な色むらが発生してしまうという問題について説明する。
例えば、雲のない空の風景画像（カラー推定された画像）において、１０個の画素からなる一列の画素領域を想定する。そして、正しい画素値を例えば「Ｂ」とし、この一列の１番目から５番目までの画素についてそれぞれ推定された画素値が「Ｂ＋１０」、６番目から１０番目までの画素についてそれぞれ推定された画素値が「Ｂ−１０」であるとする。
このとき、従来の誤差計算器は、画素ごとに独立に比較する誤差計算を行う。この例では、この一列の画素値は、正しい画素値との差分（絶対値）がすべて「１０」であることから、従来の誤差計算器は、誤差が最小化されたものと判定する場合がある。よって、このような学習をして作成された推定器を用いると、この一列の１番目から５番目までの画素に対して推定される色と、この一列の６番目から１０番目までの画素に対して推定される色と、が異なってしまうことなる。
これに対して、本実施形態の誤差計算器４０は、複数の画素の関係性として、隣接する画素との差分も計算しているので、この一列の５番目の画素値と６番目の画素値との間に、２０もの大きなギャップがあることを検知し、この一列のすべての画素値が「Ｂ＋１０」となるときよりも誤差が大きい、と判定することが期待できる。
つまり、従来技術では、一様に青くなるべき雲のない空の風景が斑になるなど、不自然な色むらが発生するところを、誤差計算器４０は、注目画素とその周辺画素との色の均一性が保存された画像、すなわち、人間の目から見てより正しい画像が出力できるような誤差を計算することができる。
【００３４】
以下、数式を用いて、誤差計算器４０の説明を続ける。
本実施形態では、最小化手段５２は、例えば、次の式（３）で定義された損失関数（Loss）を用いて、学習器６０のパラメータの更新を行う。
【００３５】
【数３】
2019029938.tif 000005
【００３６】
誤差計算器４０は、学習に用いる誤差（合成誤差４０５）としては、従来手法と同様の平均二乗誤差や交差エントロピーに加えて、複数画素から計算する誤差を用いる。式（３）は、従来手法と同様の平均二乗誤差と、複数画素から計算する誤差としての、勾配マップにおける平均二乗誤差と、を用いる場合の例を示している。
【００３７】
具体的には、式（３）の第１項は、従来手法と同様の平均二乗誤差を表している。この式（３）の第１項は、前記した第２誤差算出手段５１の処理に相当する。なお、従来手法は、式（３）の第１項を最小化するように学習器のパラメータの更新を行う。
【００３８】
一方、式（３）の第２項は、複数画素から計算する誤差として、特徴量マップ作成手段４１で作成した勾配マップにおける平均二乗誤差を表している。この式（３）の第２項は、前記した第１誤差算出手段４２の処理に相当する。また、式（３）の第１項と第２項との和は、前記した誤差合成手段４３の処理に相当する。
【００３９】
式（３）の第２項において、αは複数画素から計算する誤差の重み係数である。どのような学習器を作るかにもよるが、αは０．１程度の小さめの値が望ましい。
Ｈgradは、勾配マップの縦方向のサイズ（画素数）であり、Ｗgradは、勾配マップの横方向のサイズ（画素数）である。
Ｋは勾配マップを計算するのに用いるフィルタの個数を表している。
【００４０】
また、式（３）の第２項において、ｇh,w,c,kは、推定カラー情報から作成された勾配マップ上で座標（ｗ，ｈ）に位置する画素のチャンネルｃにおける値（以下、推定カラー情報についての勾配マップの値という）である。
ｇgth,w,c,kは、真のカラー情報から作成された勾配マップ上で座標（ｗ，ｈ）に位置する画素のチャンネルｃにおける値（以下、真のカラー情報についての勾配マップの値という）である。
このうち、推定カラー情報についての勾配マップの値は、特徴量マップ作成手段４１によって、例えば、次の式（４）に基づいて算出される。
【００４１】
【数４】
2019029938.tif 000006
【００４２】
式（４）において、Ｍkは、k番目のフィルタの縦方向のサイズであり、Ｎkは、k番目のフィルタの横方向のサイズである。
ｓ（１≦ｓ≦Ｍk）は、k番目のフィルタの縦方向に配列された各係数の識別子であり、列の上端が１で表される。
ｔ（１≦ｔ≦Ｎk）は、k番目のフィルタの横方向に配列された各係数の識別子であり、行の左端が１で表される。
ωs,t,kはフィルタ係数であり、k番目のフィルタのｓ行ｔ列に配置された係数である。
【００４３】
同様に、真のカラー情報についての勾配マップの値は、特徴量マップ作成手段４１によって、例えば、次の式（５）に基づいて算出される。
【００４４】
【数５】
2019029938.tif 000007
【００４５】
これら式（４）および式（５）は、特徴量マップ作成手段４１の処理に相当する。
特徴量マップ作成手段４１が勾配マップを作成するために、垂直方向のエッジおよび水平方向のエッジをそれぞれ検出するＳｏｂｅｌフィルタを用いる場合、次の条件が設定される。
（条件）
フィルタ数Ｋ＝２
k＝１番目のフィルタに関して縦方向のサイズＭk=1＝３
k＝１番目のフィルタに関して横方向のサイズＮk=1＝３
k＝２番目のフィルタに関して縦方向のサイズＭk=2＝３
k＝２番目のフィルタに関して横方向のサイズＮk=2＝３
k＝１番目のフィルタが、垂直方向のエッジを検出するフィルタの場合、つまり、水平方向の差分（勾配）を検出する場合、そのフィルタ係数ωk=1は、図２（ｂ）で表される。
k＝２番目のフィルタが、水平方向のエッジを検出するフィルタの場合、つまり、垂直方向の差分（勾配）を検出する場合、そのフィルタ係数ωk=2は、図２（ｃ）で表される。
【００４６】
特徴量マップ作成手段４１は、例えば入力する推定カラー情報である第１の画像特徴量４０１として、図２（ａ）に例示するような画素値があったとき、図２（ｂ）に例示する垂直方向のエッジを検出するフィルタを用いて、３×３の領域をスキャンする。例えば、図２（ａ）において２行２列目の画素を注目画素とした場合、その注目画素を中心とする３×３の領域の画素値と、フィルタ係数ωk=1をコンボリューション（畳み込み）した結果は、２０となる。
同様に、２行３列目の画素を注目画素としたときの計算結果は、２０となる。このフィルタ（エッジフィルタ）は、エッジがあるところほど、値が高くなる。
一方、３×３の領域の画素値がすべて等しい領域に、このフィルタを適用すると、値が０となる。つまり、３行２列目の画素や３行３列目の画素を注目画素としたときの計算結果は、共に０となる。
【００４７】
同様に、特徴量マップ作成手段４１は、例えば入力する推定カラー情報である第１の画像特徴量４０１として、図２（ａ）に例示するような画素値があったとき、図２（ｃ）に例示する水平方向のエッジを検出するフィルタ（フィルタ係数ωk=2）を用いて、３×３の領域をスキャンする。特徴量マップ作成手段４１は、このときに得られた計算結果と、垂直方向のエッジを検出するフィルタ（フィルタ係数ωk=1）を用いたときの計算結果とを足し合わせることで、エッジマップ（勾配マップ）を作成する。
【００４８】
こうして作成された勾配マップに対して、第１誤差算出手段４２が、第２誤差算出手段５１と同様の誤差計算を適用することで、勾配マップ間の誤差を算出することができる。なお、第１誤差算出手段４２および第２誤差算出手段５１は、誤差計算式に関して、平均二乗誤差ではなく交差エントロピーなど他の誤差関数を用いてもよい。また、第２誤差算出手段５１が行う式（３）の第２項の演算において、厳密に式（３）の第２項と同じ数式である必要はなく、複数の画素に関連する値の間で所定の演算を行うものであれば構わない。
【００４９】
また、前記した具体例で作成されるエッジマップのサイズ（Ｈgrad×Ｗgrad）は、入力画像のサイズ（Ｈ×Ｗ）よりも縦横２画素ずつ小さくなる。フィルタサイズを一般化して説明すると、エッジマップのサイズは、Ｈgrad＝Ｈ−（Ｍk−１）、Ｗgrad＝Ｗ−（Ｎk−１）となる。ただし、エッジマップのサイズを、入力画像のサイズよりも必ずしも小さくする必要はなく、入力画像と同じサイズのエッジマップを次のように作成してもよい。
【００５０】
例えば、入力画像のサイズを、一時的に、（Ｈ＋（Ｍk−１））×（Ｗ＋（Ｎk−１））のサイズへ拡張することで、入力画像と同サイズのエッジマップが得られる。上記サイズへ拡張するには、補間する画素を、元画像の外周に沿うように並べながら生成すればよい。ここで、サイズ拡張のために一時的に生成された画素の値を決定する方法としては、例えば、生成されるすべての画素に対して元画像の平均画素値を付与する方法や、生成される各画素に対して最も近い元画像の画素の値を付与する方法などを採用することができる。
【００５１】
このうち、平均画素値を付与する方法を用いる場合、図３（ａ）に示すような３×３の画像に対しては、元画像の周囲を埋めるように生成されるすべての画素に対して、画素値「４５」を付与すればよい。
また、最も近い画素の値を付与する方法を用いる場合、例えば、図３（ａ）に示すような３×３の画像に対しては、元画像の周囲を埋めるように生成される各画素には、図３（ｂ）にハッチングで示す画素の値をそれぞれ付与すればよい。
【００５２】
本実施形態に係る誤差計算器４０は、最適化に用いる誤差として、従来使われてきた画素ごとに独立して比較して求める誤差に加えて、複数の画素から求める誤差を用いて行う学習に用いられる。これにより、学習装置Ｓは、画素間の関係性についても考慮した学習が行える。
したがって、誤差計算器４０を、例えばカラー情報を出力するニューラルネットワークにおける学習に用いることで、学習装置Ｓは、訓練データのカラー情報と、推定されるカラー情報との間で画素値の勾配のような、周辺画素との関係性が同じになるよう学習することができる。これにより、学習装置Ｓの学習器６０から、例えば、高精度なカラー推定器やカラー情報拡大器を作成できる。その結果として、カラー推定器やカラー情報拡大器が、不自然な色むらの発生が低減されたカラー画像を生成することができる。
上記の技術により、４Ｋ／８Ｋ画像のような高解像度のモノクロ画像に対しても色むらが少ない自然な色付けが可能になる。
【００５３】
以上、本発明の実施形態について説明したが、本発明はこれに限定されず、その趣旨を変えない範囲で実施することができる。例えば、誤差計算器４０として説明したが、この装置の構成の処理を可能にするように、汎用または特殊なコンピュータ言語で記述した誤差計算プログラムとみなすことも可能である。
【００５４】
また、前記実施形態では、誤差計算器４０は、従来の誤差計算器と同様の構成として、第２誤差算出手段５１と、最小化手段５２と、を備えていることとしたが、第２誤差算出手段５１や最小化手段５２は、誤差計算器とは別体であってもよい。この場合には、例えば、誤差計算器の前段に第２誤差算出手段５１を設けたり、誤差計算器の後段に最小化手段５２を設けたりすることができる。
【００５５】
また、学習装置Ｓは、誤差計算器４０と、例えば、カラー情報を推定する推定器を作成するために準備する学習器６０とによって、カラー情報推定学習装置を構成してもよい。
また、学習装置Ｓは、誤差計算器４０と、例えば、カラー情報を拡大する推定器を作成するために準備する学習器６０とによって、カラー情報拡大推定学習装置を構成してもよい。
さらに、学習装置Ｓは、誤差計算器４０と、例えば、低解像度画像から超解像画像等の高解像度画像を推定する推定器を作成するために準備する学習器６０とによって、超解像画像推定学習装置を構成してもよい。
【００５６】
以下、本発明の実施形態に係る誤差計算器４０を学習に用いるカラー情報拡大器について詳細に説明する。
図４に示す自動色付け装置１は、モノクロ画像からカラー情報を推定することにより、モノクロ画像へ自動的に色付けするものであり、カラー情報拡大器１０を含んでいる。自動色付け装置１は、図４に示すように、主として、カラー情報推定器３と、情報合成器９と、を備えている。
この自動色付け装置１は、例えば一般的なコンピュータで構成され、ＧＰＵ（Graphics Processing Units）等の演算装置と、ＲＯＭ、ＲＡＭ、ＨＤＤや一般的な画像メモリと、入出力インタフェースと、を備えている。
【００５７】
カラー情報推定器３は、入力される高解像度モノクロ画像１０１から、低解像度モノクロ画像１０３および低解像度カラー情報１０５を生成して、これらの情報を用いて高解像度カラー情報１０７を推定するものである。
高解像度モノクロ画像１０１は、第１解像度のモノクロ画像である。この高解像度モノクロ画像１０１は、例えば、過去の白黒フィルムや写真からスキャンによりデジタル化したモノクロ画像である。
低解像度モノクロ画像１０３は、前記第１解像度よりも低い第２解像度のモノクロ画像である。
低解像度カラー情報１０５は、前記第２解像度のカラー情報である。
高解像度カラー情報１０７は、前記第１解像度のカラー情報である。
【００５８】
第１解像度の値（高解像度の値）は、第２解像度の値（低解像度の値）に比較して大きければ特に限定されない。例えば、第２解像度の画像の大きさを２５６×２５６ピクセル、第１解像度の画像の大きさを５１２×５１２ピクセルとしてもよい。また、例えば、第２解像度の画像の大きさを４８０×２７０ピクセル、第１解像度の画像の大きさを４Ｋ（３８４０×２１６０）としてもよい。さらには、第１解像度の画像の大きさを８Ｋ（７６８０×４３２０）としても構わない。
【００５９】
カラー情報推定器３は、図４に示すように、縮小器５と、低解像度カラー情報推定器７と、カラー情報拡大器１０と、を備えている。
【００６０】
縮小器５は、入力される高解像度モノクロ画像１０１を縮小する処理を行って低解像度モノクロ画像１０３を生成するものである。ここで、縮小とは解像度を低減、つまり画素数を減少させることをいう。縮小における縮小率が例えば０．５である場合、縮小画像の水平方向、垂直方向の画素数は、原画像の水平方向、垂直方向の画素数のそれぞれ１／２となる。縮小器５は、生成した低解像度モノクロ画像１０３を低解像度カラー情報推定器７に出力する。
【００６１】
低解像度カラー情報推定器７は、推定を行うための学習により予め決定されたパラメータ群を用いて、縮小器５により生成された低解像度モノクロ画像１０３から、低解像度のカラー情報（画像特徴量）を抽出する。これにより、低解像度カラー情報推定器７は、低解像度カラー情報１０５を推定する。なお、低解像度カラー情報推定器７を作成するための学習の流れは、従来技術と同様であるが、簡単な説明を後記する。
【００６２】
カラー情報拡大器１０は、低解像度カラー情報推定器７により推定された低解像度カラー情報１０５と、縮小器５をバイパスして入力される高解像度モノクロ画像１０１と、を入力として、画像サイズが拡大されたカラー情報（高解像度カラー情報１０７）を推定する処理を行うものである。カラー情報拡大器１０は、低解像度カラー情報１０５を拡大する際に、高解像度モノクロ画像１０１（モノクロ情報）を用いて拡大する。そして、カラー情報拡大器１０は、推定した高解像度カラー情報１０７を情報合成器９に出力する。
【００６３】
情報合成器９は、カラー情報推定器３で推定された高解像度カラー情報１０７と、高解像度モノクロ画像１０１とを合成し、高解像度カラー画像１０９を作成する。情報合成器９は、１チャンネル（以下、１ｃｈと表記する場合もある）のモノクロ情報と、２チャンネル（２ｃｈ）のカラー情報とを単純に合成してカラー画像を生成する。
【００６４】
次に、カラー情報拡大器１０の学習の流れについて、低解像度カラー情報推定器７の学習の流れと対比しながら説明する。
【００６５】
はじめに、低解像度カラー情報推定器７の学習の流れについて図５を参照して説明する。
低解像度カラー情報推定器７は、以下の手順により、予め用意した学習器から生成する。この学習器は、モノクロ画像を入力し、所定の計算処理を行うことによりカラー情報を推定して出力する。図５では、学習器を、学習が終わった状態の低解像度カラー情報推定器７として表記している。そして、大量の学習用のカラー画像を用意し、以下のステップＳ１〜ステップＳ４を十分な回数繰り返す。この学習器がこのパラメータを学習し、適切にパラメータを設定することにより精度の良いカラー情報推定器を作成できる。
【００６６】
（ステップＳ１）
学習用のカラー画像として低解像度カラー画像２０２を用意し、それを低解像度モノクロ画像２０３と真のカラー情報２０４とに分離する。
ここで、低解像度モノクロ画像２０３は、低解像度の学習用モノクロ画像である。
また、真のカラー情報２０４は、低解像度の学習用モノクロ画像と同じサイズの正解カラー情報であって、推定されるカラー情報との誤差計算に用いる。
【００６７】
（ステップＳ２）
次に、学習器（低解像度カラー情報推定器７）は、低解像度モノクロ画像２０３を入力し、現在のパラメータを用いた推定結果のカラー情報として、低解像度カラー情報２０５を出力する。
【００６８】
（ステップＳ３）
次に、従来の誤差計算器８は、低解像度カラー情報２０５（推定カラー情報）と真のカラー情報２０４との誤差を計算する。この誤差としては、各画素値の平均二乗誤差などが用いられる。
【００６９】
（ステップＳ４）
また、従来の誤差計算器８は、計算して得られた誤差から、ＳＧＤなどの誤差勾配に基づく最適化手法を用いて、誤差が小さくなるように、学習器（低解像度カラー情報推定器７）のパラメータを調整し、調整されたパラメータを学習器に出力する。
なお、従来の誤差計算器８は、例えば、図１に示した第２誤差算出手段５１と最小化手段５２とで構成される。
【００７０】
次に、カラー情報拡大器１０の学習の流れについて図６を参照して説明する。
カラー情報拡大器１０は、以下の手順により、予め用意した学習器から生成する。この学習器は、高解像度モノクロ画像３０１および低解像度カラー情報３０５を入力し、所定の計算処理を行うことにより高解像度カラー情報３０７を推定して出力する。図６では、学習器を、学習が終わった状態のカラー情報拡大器１０として表記している。そして、大量の学習用のカラー画像を用意し、以下のステップＳ１０〜ステップＳ１４を十分な回数繰り返す。この学習器がこのパラメータを学習し、適切にパラメータを設定することにより精度の良いカラー情報拡大器を作成できる。
【００７１】
（ステップＳ１０）
学習用のカラー画像として高解像度カラー画像３０９を用意し、それを縮小器５によって単純に縮小して低解像度カラー情報３０５とする。
ここで、高解像度カラー画像３０９としては、古い白黒フィルムをカラー化したものも使用する。この場合、例えば、過去の白黒フィルムや写真からスキャンによりデジタル化したモノクロ画像に対して、人手で色付けしたデジタルデータとする。また、学習用の高解像度カラー画像３０９を大量に準備するために、古い白黒フィルム以外に、カラー撮影された新しい４Ｋ等のカラー画像を用いてもよい。
【００７２】
（ステップＳ１１）
次に、高解像度カラー画像３０９を、高解像度モノクロ画像３０１と高解像度カラー情報（真のカラー情報）３０４とに分離する。
ここで、高解像度モノクロ画像３０１は、高解像度の学習用モノクロ画像である。
また、高解像度カラー情報３０４は、高解像度の学習用モノクロ画像と同じサイズの正解カラー情報であって、推定される高解像度カラー情報との誤差計算に用いる。
【００７３】
（ステップＳ１２）
次に、学習器（カラー情報拡大器１０）は、高解像度モノクロ画像３０１を入力し、現在のパラメータを用いた推定結果のカラー情報として、高解像度カラー情報３０７を出力する。
【００７４】
（ステップＳ１３）
次に、本発明の実施形態に係る誤差計算器４０は、高解像度カラー情報３０７（推定カラー情報）と高解像度カラー情報（真のカラー情報）３０４との誤差（合成誤差）を計算する。この誤差としては、前記したカラー情報間の誤差と、勾配マップ間の誤差とを、を合成した合成誤差４０５（図１参照）を用いる。
【００７５】
（ステップＳ１４）
また、誤差計算器４０は、計算して得られた誤差（合成誤差４０５）から、ＳＧＤなどの誤差勾配に基づく最適化手法を用いて、誤差が小さくなるように、学習器（カラー情報拡大器１０）のパラメータを調整し、調整されたパラメータを学習器に出力する。なお、誤差計算器４０は、学習のときに付加されるが、学習後には接続を解除する。
【００７６】
次に、カラー情報拡大器１０の詳細な構成について図７を参照して説明する。
カラー情報拡大器１０は、図７に示すように、サイズ拡大手段２１と、合成手段２２ａと、高解像度カラー情報推定手段２３と、を備えている。なお、図７のカラー情報拡大器１０は、特徴抽出手段３１，３２，３３を備える形態で図示したが、例えば、すべての特徴抽出手段を省略した構成とすることもできる。なお、以下では、特徴抽出手段について、便宜的に第１の特徴抽出手段３１、第２の特徴抽出手段３２、および第３の特徴抽出手段３３のように呼称する場合もある。
【００７７】
カラー情報拡大器１０は、例えばニューラルネットワークにより構成できる。また、ニューラルネットワークは、例えばＣＮＮ（Convolutional Neural Network）であってもよい。ＣＮＮでは、隠れ層（hidden layer）に、Convolution層（畳み込み層）や、Deconvolution層（逆畳み込み層、または、Transposed Convolution 層）を用いる。よて、ＣＮＮを採用した場合、カラー情報拡大器１０は、各構成要素を、Convolution層またはDeconvolution層を用いて実装可能であり、ＧＰＵを用いて高速に計算できる。
【００７８】
サイズ拡大手段２１は、入力される低解像度の画像特徴量を拡大する処理を行って高解像度の画像特徴量を生成するものである。ここで、低解像度の画像特徴量とは、例えば、低解像度カラー情報１０５のことをいう。なお、図７に示すように、カラー情報拡大器１０が第２の特徴抽出手段３２を備える場合には、第２の特徴抽出手段３２が低解像度カラー情報１０５から抽出した画像特徴量が低解像度の画像特徴量となる。このサイズ拡大手段２１は、生成した高解像度の画像特徴量を合成手段２２ａに出力する。
【００７９】
サイズ拡大手段２１には、例えば、Deconvolution層（ニューラルネットワークを用いた画像拡大層）を用いてもよい。また、一般的な画像拡大アルゴリズムで用いられるパラメータを固定的に用いてもよい。なお、一般的な画像拡大アルゴリズムとしては、例えば、最近傍補間法やBilinear補間法などを用いてもよい。
【００８０】
合成手段２２ａは、例えば、入力される高解像度モノクロ画像１０１と、サイズ拡大手段２１によって生成された高解像度の画像特徴量とを合成するものである。なお、図７に示すように、カラー情報拡大器１０が第１の特徴抽出手段３１を備える場合には、合成手段２２ａは、高解像度モノクロ画像１０１から抽出された画像特徴量と、サイズ拡大手段２１によって生成された高解像度の画像特徴量とを合成する。この合成手段２２ａは、合成した高解像度の画像特徴量を高解像度カラー情報推定手段２３に出力する。
合成手段２２ａは、１ｃｈのモノクロ情報と、このモノクロ情報と同じ大きさの２ｃｈのカラー情報とを単純に合成し、高解像度の画像特徴量を生成する。合成手段２２ａには、例えば、ニューラルネットワークのConvolution層を用いてもよい。
【００８１】
高解像度カラー情報推定手段２３は、合成手段２２ａにより合成された高解像度の画像特徴量から、高解像度カラー情報を推定するための学習により、予め決定されたパラメータ群を用いて画像特徴量を抽出し、高解像度カラー情報１０７を推定するものである。ここで、学習とは、カラー情報拡大器１０を作成するための学習をいう。
【００８２】
高解像度カラー情報１０７は、低解像度カラー情報１０５が拡大されたカラー情報に相当し、高解像度モノクロ画像１０１に対応した解像度を有する。この高解像度カラー情報１０７とは、色空間のチャンネルごとのカラー情報であって、例えば、輝度チャンネル以外の２チャンネルについての画像特徴量をいう。
【００８３】
高解像度カラー情報推定手段２３は、その前段からの複数（３以上）の出力（Output）に対応した複数（３以上）のアウトプットチャンネルについての画像特徴量を、色空間における２チャンネルについての画像特徴量に変換し、カラー情報を推定する。
高解像度カラー情報推定手段２３には、例えば、ニューラルネットワークのConvolution層を用いてもよい。また、Convolution層（隠れ層）が複数あってもよい。つまり、Convolutionを連続的に繰り返し行ってもよい。
高解像度カラー情報推定手段２３の前段からのアウトプットチャンネル数は所望の値に設定できる。例えば合成手段２２ａからのアウトプットチャンネル数は３ｃｈやそれ以上であってもよい。
【００８４】
カラー情報拡大器１０は、図７に示すように、第１の特徴抽出手段３１、第２の特徴抽出手段３２、および第３の特徴抽出手段３３のうちの少なくとも１つの特徴抽出手段を備えてもよい。
【００８５】
第１の特徴抽出手段３１は、高解像度モノクロ画像１０１から、学習により予め決定されたパラメータ群を用いて高解像度の画像特徴量を抽出し、抽出した高解像度の画像特徴量を合成手段２２ａに出力するものである。なお、学習とは、カラー情報拡大器１０を作成するための学習をいう。第１の特徴抽出手段３１は、第１の特徴抽出手段３１に入力される１ｃｈのモノクロ情報を、第１の特徴抽出手段３１のアウトプットチャンネルごとに高解像度の画像特徴量にそれぞれ変換する。
【００８６】
第２の特徴抽出手段３２は、低解像度カラー情報１０５から、学習により予め決定されたパラメータ群を用いて低解像度の画像特徴量を抽出し、抽出した低解像度の画像特徴量をサイズ拡大手段２１に出力するものである。第２の特徴抽出手段３２は、第２の特徴抽出手段３２に入力される２ｃｈのカラー情報を、第２の特徴抽出手段３２のアウトプットチャンネルごとに低解像度の画像特徴量にそれぞれ変換する。
【００８７】
第３の特徴抽出手段３３は、合成手段２２ａで生成された高解像度の画像特徴量から、学習により予め決定されたパラメータ群を用いて高解像度の画像特徴量を抽出し、抽出した高解像度の画像特徴量を高解像度カラー情報推定手段２３に出力するものである。第３の特徴抽出手段３３は、合成手段２２ａからの複数の出力に対応した複数のアウトプットチャンネル（例えば３ｃｈ）についての画像特徴量を、第３の特徴抽出手段３３のアウトプットチャンネルごとに高解像度の画像特徴量にそれぞれ変換する。なお、第３の特徴抽出手段３３のアウトプットチャンネル数は、例えば６４ｃｈ、１２８ｃｈ、２５６ｃｈ等に設定される。
【００８８】
各特徴抽出手段３１〜３３には、例えば、ニューラルネットワークのConvolution層を用いてもよい。また、Convolution層（隠れ層）が複数あってもよい。各特徴抽出手段からのアウトプットチャンネル数は所望の値に設定できる。なお、本明細書では、特徴抽出手段等に入力した画像特徴量をアウトプットチャンネルごとにコンボリューションにかけて得られた画像特徴量のことを、入力から得た特徴という。また、本明細書では、特徴抽出手段等への複数チャンネルからなる入力情報をコンボリューションにかけて、入力した画像特徴量を変換することを、特徴を抽出するという。
【００８９】
図７では、高解像度カラー情報推定手段２３とは別に第３の特徴抽出手段３３を図示したが、高解像度カラー情報推定手段２３が内部に第３の特徴抽出手段３３を備えることとしてもよい。第３の特徴抽出手段３３は、高解像度カラー情報推定手段２３が色空間のチャンネルごとの画像特徴量を抽出する前に、色空間の２チャンネルについての画像特徴量を出力するためのパラメータ群とは異なるパラメータ群を用いて、サイズ拡大手段２１および合成手段２２ａの処理により生成された高解像度の画像特徴量から、複数チャンネル（例えば６４ｃｈ）について高解像度の画像特徴量をそれぞれ生成する。
【００９０】
カラー情報拡大器１０によれば、高解像度モノクロ画像１０１（モノクロ情報）を明示的に用いているので、推定されるカラー情報のぼけを低減し、低解像度カラー情報１０５を精度よく拡大できる。このカラー情報拡大器１０は、例えば４Ｋまたは８Ｋ等の高解像度モノクロ画像１０１への自動色付けをする際に用いるカラー情報を推定するカラー情報推定器３に組み込むことができる。また、カラー情報推定器３は、高解像度モノクロ画像１０１への自動色付けをする際に用いるカラー情報を推定する精度を向上させることができる。
【００９１】
また、高解像度のモノクロ画像のデジタルデータは、例えば物理的フィルムからスキャンすることにより得られるが、従来の色付け技術では、このような高解像度のモノクロ画像に直接色づけすることはできなかった。これに対して、カラー情報推定器３を備える自動色付け装置１は、４Ｋ等の高解像度のモノクロ画像に対する自然な色付けを可能とすることができる。
【００９２】
また、例えば、写真や物理的フィルムからスキャンしたモノクロ画像のデータは存在するが、写真や物理的フィルムが消失してデータしか残っていない状況においても、カラー情報推定器３を備える自動色付け装置１は、当時の色情報を推定して、モノクロ画像に色付けすることができる。
【００９３】
さらに、例えば、低解像度カラー情報１０５が由来するところのカラー撮影された画像では、モノクロ情報チャンネル（色空間における輝度チャンネル）上で境界がはっきりしている領域は、カラー情報チャンネル（例えば、輝度チャンネル以外の２チャンネル）上でも境界がはっきりしているケースが多い。ここで、境界とは、例えばオブジェクトの輪郭線（オブジェクトとその背景との境目）等の線で表される部分である。
そのため、カラー情報拡大器１０のように、高解像度モノクロ画像１０１を用いて、低解像度カラー情報１０５を拡大すると、特に、高解像度モノクロ情報チャンネル（高解像度モノクロ画像１０１）上で境界がはっきりしている領域におけるカラー情報のぼけが低減される効果を奏する。
【００９４】
なお、前記したカラー情報は、色空間における輝度チャンネル以外の２チャンネルとして説明したが、それ以外であっても取り扱うことが可能である。一例としては、ＲＧＢ色空間における３チャンネルすべてをカラー情報として用いてもよい。
【００９５】
また、カラー情報拡大器やカラー情報推定器に対して入力されるカラー情報の形式と、出力するカラー情報の形式とは一致していなくても構わない。一例としては、カラー情報拡大器１０に、高解像度モノクロ画像１０１としてＬａｂ色空間におけるＬチャンネルを入力すると共に、低解像度カラー情報１０５としてＬａｂ色空間におけるａｂチャンネルを入力した場合、高解像度カラー情報１０７としてＲＧＢ色空間におけるＲＧＢチャンネルを出力することもできる。
【００９６】
また、カラー情報拡大器１０は、ニューラルネットワークによる学習に限らず、他の機械学習技術を用いて構成することもできる。誤差計算器４０は、カラー情報拡大器１０の学習に用いるだけではなく、低解像度カラー情報推定器７の学習に用いてもよい。
【実施例】
【００９７】
実施形態に係る誤差計算器の性能を確かめるために、誤差計算器４０を学習に用いたカラー情報拡大器によってカラー情報を拡大する実験を行った。図８は、実験に用いたカラー情報拡大器を模式的に示す説明図である。図８に示すように、実験に用いたカラー情報拡大器は、サイズ拡大手段２１と、合成手段２２ａと、第３の特徴抽出手段３３と、高解像度カラー情報推定手段２３と、を備えている。なお、このカラー情報拡大器において、図７に示すカラー情報拡大器１０と同じ構成には同じ符号を付して説明を省略する。
【００９８】
合成手段２２ａは、高解像度モノクロ画像１０１と、サイズ拡大手段２１によって生成された高解像度の画像情報とを合成して高解像度の合成画像情報を生成する。
【００９９】
高解像度モノクロ画像１０１は、Ｌａｂ色空間におけるＬチャンネルに相当する１ｃｈのモノクロ情報（画像特徴量）である。図８では、１枚の画像として模式的に示した。
また、実験では、高解像度モノクロ画像１０１が９６０×５４０ピクセルの画像であるものとした。なお、高解像度モノクロ画像１０１における画素値をベクトルで表現すると、一般には次の式（６）で示される。式（６）で示すベクトルｘ1は、高解像度モノクロ画像１０１の画素数と同様に５１８４００個の成分を持つ。
【０１００】
【数６】
2019029938.tif 000008
【０１０１】
低解像度カラー情報１０５は、Ｌａｂ色空間におけるａｂチャンネルに相当する２ｃｈのカラー情報（画像特徴量）である。図８では、２枚の小さな画像として模式的に示した。
また、実験では、低解像度カラー情報１０５の解像度が４８０×２７０ピクセルであるものとした。そして、実験では、サイズ拡大手段２１による拡大率を２（垂直方向２倍×水平方向２倍）とした。図８では、２枚の拡大された画像として模式的に示した。
【０１０２】
これら拡大された２ｃｈのカラー情報における画素値をそれぞれベクトルで表現すると、一般には次の式（７）および式（８）で示される。それぞれのベクトルｘ2，ｘ3は、前記した式（６）で示されるベクトルｘ1と同数個の成分を持っている。
【０１０３】
【数７】
2019029938.tif 000009
【０１０４】
【数８】
2019029938.tif 000010
【０１０５】
合成手段２２ａは、各ベクトルｘ1、ｘ2、ｘ3を入力として、それらのベクトル成分を各画素に対応させて並べて、３ｃｈの情報とする。図８では、３枚の画像として模式的に示した。なお、この時点では、例えば３×９６０×５４０個の画素ごとの特徴量に対応したメモリが必要である。
【０１０６】
第３の特徴抽出手段３３は、コンボリューションを行うニューラルネットワークで構成されている。本実験では、２０層のConvolution層を構築した。
また、各Convolution層では、出力としてＮ個の特徴を抽出するものとした。つまり、アウトプットチャンネル数はＮである。この実験ではＮｃｈ＝６４ｃｈとした。
なお、図８では、３層のConvolution層だけを示し、他は省略した。また、６４ｃｈのうち１２のチャンネルだけをＮｃｈとして図示し、他は省略した。
【０１０７】
Convolution層の１層目（１回目）は、入力チャンネルが３ｃｈ（色空間における３チャンネル）であり、この１層目についての６４のアウトプットチャンネルごとに、次の式（９）で表されるコンボリューションを行った。
【０１０８】
【数９】
2019029938.tif 000011
【０１０９】
式（９）において、ωiは重みベクトルである。重みベクトルωiは、このカラー情報拡大器における学習の際に誤差を使ってωiを更新する、という誤差計算で決定する学習パラメータである。重みベクトルωiは、１次元の多数変数のベクトルであって、入力される高解像度モノクロ画像１０１の画素数と同数の成分を持つ。ｂはバイアスである。なお、ｉ＝１，２，３に対応したｘ1、ｘ2、ｘ3は式（６）〜式（８）で定義されている。
なお、この時点では、例えば６４×９６０×５４０個の画素ごとの特徴量に対応したメモリが必要である。
【０１１０】
Convolution層の２層目（２回目）は、入力チャンネルが６４ｃｈ（前段の１層目についてのアウトプットにおける６４チャンネル）であり、２層目についての６４のアウトプットチャンネルごとに、次の式（１０）で表されるコンボリューションを行った。
【０１１１】
【数１０】
2019029938.tif 000012
【０１１２】
式（１０）は式（９）と同様の形式で表されている。なお、ｉ＝１〜６４に対応したｘ1〜ｘ64は、前段の１層目についてのアウトプットにおける６４チャンネルのそれぞれの情報を示しており、式（６）〜式（８）と同様に定義できるので、その詳細は省略する。
【０１１３】
Convolution層の３〜１９層目（３〜１９回目）は、同様に、入力チャンネルが６４ｃｈ（前の層についてのアウトプットにおける６４チャンネル）であり、それぞれ、６４のアウトプットチャンネルごとに、前記した式（１０）で表されるコンボリューションを行った。なお、３〜１９層目においても、ｉ＝１〜６４に対応したｘ1〜ｘ64は、同様に、それらの前の層についてのアウトプットにおける６４チャンネルについての画像特徴量を示している。
【０１１４】
高解像度カラー情報推定手段２３もConvolution層で構成されている。この高解像度カラー情報推定手段２３は、出力として、色空間における２つのチャンネルに対応させた特徴をそれぞれ抽出した。つまり、アウトプットチャンネルは２ｃｈである。
このConvolution層（高解像度カラー情報推定手段２３）は、入力チャンネルが６４ｃｈ（前の層についてのアウトプットにおける６４チャンネル）であり、色空間における２つのチャンネルごとに、前記した式（１０）で表されるコンボリューションを行った。
【０１１５】
前記した式（９）におけるωiと式（１０）におけるωiとはそれぞれ異なっている。また、アウトプットチャンネルごとにωiはそれぞれ異なっている。さらに、前記した２０層のConvolution層には、それぞれ異なる重みベクトルωiを用いた。
【０１１６】
また、実験では、１２８２回（＝６４＋６４×１９＋２）のコンボリューションのすべてを、一例として、以下の同じ条件で、重みベクトルωiを変えながら行った。
カーネル（kernel）：３
パディング（padding）：１
ストライド（stride）：１
【０１１７】
よって、実験で用いた重みベクトルの各成分の個数を総計した個数は、次の式（１１）を演算した結果の個数となる。
３×３×（３×６４＋６４×６４×１９＋６４×２）  …  式（１１）
また、バイアス項の個数の総計はコンボリューションの個数と同じく、１２８２個である。これらの合計が全パラメータ数である。
つまり、実験に用いたカラー情報拡大器において、学習によって予め決定されたパラメータ群の個数は、７０３２９６＋１２８２＝７０４５７８個となる。
【０１１８】
以上の処理により得られた高解像度カラー情報１０７を、図４に示すように、元画像である高解像度モノクロ画像１０１と合成して、高解像度カラー画像１０９を作成した（以下、実施例１）。
また、従来技術の方法で拡大したカラー情報を、元画像である高解像度モノクロ画像１０１と合成して、高解像度カラー画像を作成した（以下、比較例１）。
実施例１は、比較例１と比べて色のぼけが低減されたことを目視で確認できた。
また、式（１）で計算できる誤差が、平均値で７．６６（比較例１）から６．５３（実施例１）と約１７％減少したことを確認できた。
【産業上の利用可能性】
【０１１９】
本実施形態に係る誤差計算器は、カラー情報拡大器やカラー情報推定器を作成する際の学習に利用することができる。
【符号の説明】
【０１２０】
１      自動色付け装置
３      カラー情報推定器
５      縮小器
７      低解像度カラー情報推定器
９      情報合成器
１０    カラー情報拡大器
２１    サイズ拡大手段
２２ａ  合成手段
２３    高解像度カラー情報推定手段
３１〜３３  特徴抽出手段
４０    誤差計算器
４１    特徴量マップ作成手段
４２    第１誤差算出手段
４３    誤差合成手段
５１    第２誤差算出手段
５２    最小化手段
６０    推定器
Ｓ      学習装置
【図１】
2019029938.tif 000013
【図２】
2019029938.tif 000014
【図３】
2019029938.tif 000015
【図４】
2019029938.tif 000016
【図５】
2019029938.tif 000017
【図６】
2019029938.tif 000018
【図７】
2019029938.tif 000019
【図８】
2019029938.tif 000020