(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-27
(45)【発行日】2024-03-06
(54)【発明の名称】画像処理システム、画像処理方法および画像処理プログラム
(51)【国際特許分類】
H04N 1/46 20060101AFI20240228BHJP
H04N 1/62 20060101ALI20240228BHJP
H04N 1/60 20060101ALI20240228BHJP
G06T 1/00 20060101ALI20240228BHJP
G06T 1/40 20060101ALI20240228BHJP
【FI】
H04N1/46
H04N1/62
H04N1/60
G06T1/00 510
G06T1/40
(21)【出願番号】P 2021577793
(86)(22)【出願日】2020-02-13
(86)【国際出願番号】 JP2020005565
(87)【国際公開番号】W WO2021161454
(87)【国際公開日】2021-08-19
【審査請求日】2022-07-04
【前置審査】
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】戸泉 貴裕
【審査官】豊田 好一
(56)【参考文献】
【文献】特開2019-153917(JP,A)
【文献】特開2019-140538(JP,A)
【文献】特開2019-128889(JP,A)
【文献】特開2019-117558(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/46-62
G06T 1/00
G06T 1/40
(57)【特許請求の範囲】
【請求項1】
写真画像であるモノクロ画像を取得する画像取得部と、
画素値に関連する情報に基づいて、前記モノクロ画像の画素値を補正する画素値補正部と、
機械学習により学習したカラー化予測モデルを用いて、補正された前記モノクロ画像から、前記モノクロ画像に対応するカラー化画像を生成するカラー化生成部と
を備える画像処理システム。
【請求項2】
前記画素値に関連する情報は、前記モノクロ画像に含まれる対象部分の色を示唆する色ヒントを含み、
前記画素値補正部は、
さらに、前記色ヒントに基づいて、前記モノクロ画像の画素値を補正する、
請求項1に記載の画像処理システム。
【請求項3】
前記色ヒントは、前記モノクロ画像に含まれる前記対象部分の1または複数の画素に関連付けられ、
前記画素値補正部は、
前記色ヒントが関連付けられた前記モノクロ画像の前記1または複数の画素の画素値と、前記色ヒントに対応する画素値とに基づいて、前記モノクロ画像に含まれる画素の画素値の補正量を決定する、
請求項2に記載の画像処理システム。
【請求項4】
前記カラー化生成部は、前記カラー化予測モデルを用いて、補正された前記モノクロ画像および前記色ヒントから、前記モノクロ画像に対応するカラー化画像を生成する、
請求項2または3に記載の画像処理システム。
【請求項5】
前記色ヒントは、第1の色ヒントと、第2の色ヒントとを含み、
前記画像処理システムは、
前記対象部分の分類項目と前記第1の色ヒントとを取得するヒント取得部と、
取得した前記分類項目に基づいて、前記第1の色ヒントを、前記第2の色ヒントに変換するヒント変換部と
をさらに備え、
前記画素値補正部は、前記第2の色ヒントに基づいて、前記モノクロ画像の画素値を補正する、
請求項2から4のいずれか一項に記載の画像処理システム。
【請求項6】
前記画素値に関連する情報は、前記モノクロ画像の画素値分布が基準画像の画素値の基準分布に近づくように前記モノクロ画像の画素値を補正する補正モデルのパラメータを含み、
前記画素値補正部は、前記補正モデルを用いて、前記モノクロ画像の画素値を補正する
請求項1に記載の画像処理システム。
【請求項7】
前記画素値に関連する情報は、前記モノクロ画像の輝度値を補正する補正モデルのパラメータを含み、
前記画像処理システムは、学習用のカラー画像の輝度と、前記学習用のカラー画像に対応するモノクロ画像の輝度とを学習データとして学習した輝度予測モデルを用いて、前記補正モデルのパラメータを最適化する補正パラメータ最適化部を備え、
前記画素値補正部は、前記補正モデルを用いて、前記モノクロ画像の輝度値を補正する、
請求項1に記載の画像処理システム。
【請求項8】
写真画像であるモノクロ画像を取得する段階と、
画素値に関連する情報に基づいて、前記モノクロ画像の画素値を補正する段階と、
機械学習により学習したカラー化予測モデルを用いて、補正された前記モノクロ画像から、前記モノクロ画像に対応するカラー化画像を生成する段階と
を備える画像処理方法。
【請求項9】
写真画像であるモノクロ画像を取得する画像取得機能と、
画素値に関連する情報に基づいて、前記モノクロ画像の画素値を補正する画素値補正機能と、
機械学習により学習したカラー化予測モデルを用いて、補正された前記モノクロ画像から、前記モノクロ画像に対応するカラー化画像を生成するカラー化生成機能と
をコンピュータに実現させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この開示は、モノクロ画像をカラー化する画像処理システム、画像処理方法および非一時的なコンピュータ可読媒体に関する。
【背景技術】
【0002】
モノクロ画像をカラー化する画像処理システムが知られている。たとえば非特許文献1には、ユーザが汎用のカラーパレットを用いて指定した色(色ヒント)に基づいて、学習済の予測モデルによりモノクロ画像からカラー化画像に変換する画像処理システムが開示されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Richard Zhang, Jun-Yan Zhu, "Real-Time User-Guided Image Colorization with Learned Deep Priors.", ACM Transactions on Graphics, 2017年5月8日提出
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしカラー化の対象となるモノクロ画像は、階調つぶれまたは撮影時の照明等に起因して実際とは異なる画素値を有する場合がある。上述した画像処理システムにおいては、予測モデルに入力するモノクロ写真の画素値に基づいてカラー化画像を生成するため、このようなモノクロ写真をカラー化する場合に、色を正しく再現することが難しいという問題がある。
【課題を解決するための手段】
【0005】
この開示の目的は、上述した課題を鑑みてなされたものである。
【0006】
この開示の一態様における画像処理システムは、モノクロ画像を取得する画像取得部と、画素値に関連する情報に基づいて、前記モノクロ画像の画素値を補正する画素値補正部と、機械学習により学習したカラー化予測モデルを用いて、補正された前記モノクロ画像から、前記モノクロ画像に対応するカラー化画像を生成するカラー化生成部とを備える。
【0007】
この開示の一態様における画像処理方法は、モノクロ画像を取得する段階と、画素値に関連する情報に基づいて、前記モノクロ画像の画素値を補正する段階と、機械学習により学習したカラー化予測モデルを用いて、補正された前記モノクロ画像から、前記モノクロ画像に対応するカラー化画像を生成する段階とを備える。
【0008】
この開示の一態様における非一時的なコンピュータ可読媒体は、モノクロ画像を取得する画像取得機能と、画素値に関連する情報に基づいて、前記モノクロ画像の画素値を補正する画素値補正機能と、機械学習により学習したカラー化予測モデルを用いて、補正された前記モノクロ画像から、前記モノクロ画像に対応するカラー化画像を生成するカラー化生成機能とをコンピュータに実現させるための画像処理プログラムが格納される。
【図面の簡単な説明】
【0009】
【
図1】実施形態の概要にかかる装置の構成を示すブロック図である。
【
図2】実施形態1にかかる装置の処理の概要を説明するための図である。
【
図3】実施形態1にかかる装置の概略構成図である。
【
図4】実施形態1にかかる装置の画像処理を示すフローチャートである。
【
図5】実施形態1にかかる画素値補正部の第1画素値補正処理を示すフローチャートである。
【
図6】実施形態2にかかる装置の概略構成図である。
【
図7】実施形態2にかかる画素値補正部の第2画素値補正処理を示すフローチャートである。
【
図8】実施形態2にかかる補正パラメータ最適化部の補正パラメータ最適化処理を示すフローチャートである。
【
図9】実施形態3にかかる装置の処理の概要を説明するための図である。
【
図10】実施形態3にかかる装置の概略構成図である。
【
図11】実施形態3にかかる装置の画像処理を示すフローチャートである。
【
図12】実施形態3にかかる画素値補正部の第3画素値補正処理を示すフローチャートである。
【
図13】実施形態4にかかる装置の概略構成図である。
【
図14】実施形態4にかかる装置のユーザインターフェイスの一例を示す図である。
【
図15】実施形態4にかかる装置の画像処理を示すフローチャートである。
【
図16A】実施形態4にかかる第1の変換テーブルのデータ構造の一例を示す図である。
【
図16B】実施形態4にかかる第1の変換テーブルを用いた色ヒント変換処理を示すフローチャートである。
【
図17A】実施形態4にかかる第2の変換テーブルのデータ構造の一例を示す図である。
【
図17B】実施形態4にかかる第2の変換テーブルを用いた色ヒント変換処理を示すフローチャートである。
【
図18A】実施形態4にかかる第3の変換テーブルのデータ構造の一例を示す図である。
【
図18B】実施形態4にかかる第3の変換テーブルを用いた色ヒント変換処理を示すフローチャートである。
【
図19】実施形態5にかかる装置の概略構成図である。
【
図20】実施形態5にかかる装置の画像処理を示すフローチャートである。
【
図21】実施形態5にかかる色ヒント調整処理を説明するための概念図である。
【
図22】実施形態6にかかる装置の概略構成図である。
【
図23】実施形態6にかかる装置の画像処理を示すフローチャートである。
【
図24】実施形態6にかかる装置のユーザインターフェイスの一例を示す図である。
【発明を実施するための形態】
【0010】
以下では、具体的な実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。なお、本明細書で色は、具体的には1976年に国際照明委員会(CIE)によって規格化されたCIE L*a*b*色空間を用いて定義される。しかしこれに限らず、RGB、HSVおよびYCrCb等の他の任意の色空間を用いて定義されてもよい。以下L*、a*、およびb*を、単にL、aおよびbと表記する。
【0011】
まず実施形態を詳細に説明する前に、その概要について簡単に説明する。
図1は、実施形態の概要にかかる画像処理システム(ここでは、単に装置10と呼ぶ)の構成を示すブロック図である。装置10は、画像取得部102と、画素値補正部120と、カラー化生成部130とを備える。
画像取得部102は、モノクロ画像を取得する。
画素値補正部120は、画素値に関連する情報に基づいて、モノクロ画像の画素値を補正する。
カラー化生成部130は、機械学習により学習したカラー化予測モデルを用いて、補正されたモノクロ画像から、モノクロ画像に対応するカラー化画像を生成する。
【0012】
このような構成により、画素値が補正されたモノクロ画像をカラー化することができるため、モノクロ画像のカラー化における色の再現精度を向上させることができる。
【0013】
(実施形態1)
次に
図2~5を用いて、この開示の実施形態1について説明する。
図2は、実施形態1にかかる装置20の処理の概要を説明するためのである。装置20は、モノクロ画像Mから、カラー化予測モデルを用いてモノクロ画像Mを着色し、カラー化画像Cを生成するコンピュータ等である。
【0014】
モノクロ画像Mは、背景色および背景色以外の単一色を用いて描画される画像である。モノクロ画像Mは、画素数に応じた数の画素を有する。モノクロ画像Mの各画素は、背景色と単一色との間の濃淡の段階を示す画素値を有する。モノクロ画像Mの画素値は、色空間の任意の次元の値を含む。本実施形態1でモノクロ画像Mの画素値は、モノクロ画像Mの輝度値、たとえばL値を含む。
モノクロ画像Mは、1または複数の被写体を含む写真画像である。被写体は、一例として人物、空、夕日、木および草等である。本実施形態1でモノクロ画像Mは、背景色として白色と、単一色として黒色とを用いたグレースケール画像であってよい。しかしこれに限らず、モノクロ画像Mは、単一色として黒以外の色を用いた画像であってもよい。また、モノクロ画像Mは、単一色の網点画像に、ガウシアンフィルタおよびメディアンフィルタ等を用いたぼかし処理が施されたものであってもよい。
【0015】
カラー化画像Cは、モノクロ画像Mに対応する、画素数に応じた数の画素を有する。カラー化画像Cの各画素は、色空間の全ての次元の値を含んでよい。本実施形態1ではカラー化画像Cの各画素は、輝度値に加えて補色次元の値を含む。補色次元の値は、たとえばa値およびb値であってよい。
【0016】
カラー化予測モデルは、機械学習により学習した、モノクロ画像Mの画素の色を予測する予測モデルである。カラー化予測モデルは、たとえば入力層、中間層および出力層を含むニューラルネットワークを有する。一例としてニューラルネットワークは、畳み込みニューラルネットワーク(Convolutional neural network,CNN)を含む。なおニューラルネットワークは、オートエンコーダ、特に条件付きオートエンコーダを含んでよい。本実施形態1ではカラー化予測モデルはエンドツーエンドの深層学習により学習したモデルであるが、これに限らない。
【0017】
本実施形態1でカラー化予測モデルは、モノクロ画像Mの画素値に含まれる輝度値(L値)から、モノクロ画像Mの補色次元の値(a,b値)を予測する。
本図に示すように、本実施形態1で装置20は、カラー化の対象となるモノクロ画像M0の画素値(ここでは、輝度値)を補正し、モノクロ画像M1を生成する。そして装置20は、モノクロ画像M1、すなわちモノクロ画像M1の輝度次元のマトリクス
図M1(L)からカラー化画像Cの補色次元の予測マトリクス
図C(a),C(b)を取得する。そして装置20は、取得したC(a),C(b)と、M(L)とを合成し、カラー化画像Cを生成する。
【0018】
このように、装置20は、モノクロ画像Mからカラー化画像Cを生成することができる。
【0019】
図3は、実施形態1にかかる装置20の概略構成図である。装置20は、取得部200と、記憶部210と、画素値補正部220と、カラー化生成部230と、出力部240と、カラー化モデル生成部260とを備える。
【0020】
取得部200は、カラー化予測モデルの入力データに関連する各種データを取得する。取得部200は、取得したデータを画素値補正部220に出力する。これに加えて取得部200は、取得したデータを記憶部210に格納してもよい。ここで取得部200は、画像取得部202を有する。
【0021】
画像取得部202は、カラー化の対象となるモノクロ画像M(すなわち、M0)を取得する。画像取得部202は、学習データとしてモノクロ画像Mおよびこれに対応するカラー化画像Cを取得してもよい。
【0022】
記憶部210は、画素値補正処理およびカラー化予測モデルの学習処理に関連する各種データ等を記憶する記憶媒体である。記憶部210は、学習データベース216を有する。
学習データベース216は、カラー化予測モデルの学習データ等を記憶する。
【0023】
画素値補正部220は、画素値に関連する情報に基づいて、モノクロ画像M0の画素値を補正する。本実施形態1で画素値補正部220は、画素値に関連する情報に基づく補正モデルを用いてモノクロ画像M0の画素値を補正する。
ここで補正モデルは、モノクロ画像M0の画素値分布が基準画像の画素値の基準分布に近づくようにモノクロ画像M0の画素値を補正するアルゴリズムを有するモデルであってよい。本実施形態1で画素値に関連する情報は、1または複数の補正モデルのパラメータ(補正パラメータ)を含む。
たとえば補正パラメータは、基準画像の画素値の基準分布に関連するパラメータであってよい。本実施形態1で補正パラメータは、基準画像の画素値の基準分布の平均および標準偏差を含むが、これに限らず基準分布の最小画素値および最大画素値等を含んでもよい。
【0024】
カラー化生成部230は、カラー化予測モデルを用いて、画素値が補正されたモノクロ画像M(すなわち、M1)から、モノクロ画像Mに対応するカラー化画像Cを生成する。なおカラー化生成部230は、後述するカラー化モデル生成部260のモデル最適化部264から出力されるカラー化予測モデルを用いる。そしてカラー化生成部230は、カラー化画像Cを出力部240に出力する。
【0025】
出力部240は、カラー化生成部230によって生成されたカラー化画像Cを所定の出力形式により出力する。
【0026】
カラー化モデル生成部260は、学習データを用いた機械学習によって、カラー化予測モデルを生成する。カラー化モデル生成部260は、学習処理部262と、モデル最適化部264とを有する。
学習処理部262は、カラー化予測モデルの学習データを管理する。学習処理部262は、学習用のモノクロ画像Mおよびカラー化画像Cを含むデータセット、すなわち学習データを取得し、学習データベース216に格納する。なお学習データベース216に格納される学習データは、学習処理部262が取得部200から取得したデータであってもよく、学習処理部262が任意の通信手段(不図示)を介して他の装置から受信したデータであってもよい。そして学習処理部262は、学習データベース216に格納された学習データをモデル最適化部264に出力する。
モデル最適化部264は、学習データを用いて機械学習によりカラー化予測モデルを最適化する。モデル最適化部264は、最適化したカラー化予測モデルをカラー化生成部230に出力する。
【0027】
次に、実施形態1に係る装置20の画像処理の詳細について説明する。
図4は、実施形態1にかかる装置20の画像処理を示すフローチャートである。
まずS100において、取得部200の画像取得部202は、カラー化の対象となるモノクロ画像M0を取得する。たとえば画像取得部202は、後述するユーザが装置20が備えるユーザインターフェイス(不図示)上で画像入力を選択し、所定のモノクロ画像M0を転送することに応じて、上記処理を行う。そして画像取得部202は、取得したモノクロ画像M0を画素値補正部220に出力する。
【0028】
次にS102において、画素値補正部220は、出力されたモノクロ画像M0に対して第1画素値補正処理を行い、モノクロ画像M1を生成する。本実施形態1では画素値補正部220は、モノクロ画像M0の輝度値(L値)の補正を行い、モノクロ画像M1を生成する。なお第1画素値補正処理の詳細については、後述する。画素値補正部220は、モノクロ画像M1をカラー化生成部230に出力する。
【0029】
次にS104において、カラー化生成部230は、モデル最適化部264からカラー化予測モデルを取得する。
次にS106において、カラー化生成部230は、取得したモノクロ画像M1を入力データとし、カラー化予測モデルを用いてモノクロ画像M1に対応したカラー化画像Cを生成する。本実施形態1では、カラー化生成部230は、モノクロ画像M1の輝度次元のマトリクス
図M1(L)をカラー化予測モデルに入力し、カラー化画像Cの補色次元の予測マトリクス
図C(a),C(b)を取得する。そしてカラー化生成部230は、取得したC(a),C(b)と、M(L)とを合成し、Lab色空間のカラー化画像を生成する。カラー化生成部230は、カラー化画像をLab色空間からRGB色空間に変換し、RGB色空間のカラー化画像Cを生成する。そして、カラー化生成部230は、出力部240にカラー化画像Cを出力する。
【0030】
S108において、出力部240はカラー化画像Cを出力する。たとえば出力部240は、ユーザインターフェイス上にカラー化画像Cを表示させる。また出力部240は、ユーザがユーザインターフェイス上で画像出力を選択したことに応じてカラー化画像Cを所定のデータ形式で出力する。そして出力部240は、処理を終了する。
【0031】
このように本実施形態1によれば、画素値補正部220が補正パラメータに基づいて、モノクロ画像の画素値を補正し、カラー化生成部230が補正されたモノクロ画像M1からカラー化画像Cを生成する。したがって、カラー化における色の再現精度を向上させることができる。
【0032】
なおRGB色空間のモノクロ画像M0,M1を用いる場合は、
図4に示すS102に代えて、画素値補正部220は、モノクロ画像M0のR,G,B次元の画素値を補正し、モノクロ画像M1を生成してよい。そしてS106に代えて、カラー化生成部230は、画素値が補正されたモノクロ画像M1の画素値についての3つの次元のマトリクス図をカラー化予測モデルに入力し、3つの次元に対応する予測マトリクス図を取得してよい。そして装置20は、取得した3つの次元のマトリクス図を合成し、RGB色空間のカラー化画像Cを生成してよい。
【0033】
図5は、実施形態1にかかる画素値補正部220の第1画素値補正処理を示すフローチャートである。
まずS120において、画素値補正部220は、画素値の基準分布を示す基準ヒストグラムを取得する。本実施形態1で基準ヒストグラムは、複数の基準となる画像の各々について画素値に対する画素数を示すヒストグラムを求め、当該複数のヒストグラムを平均化したヒストグラムであってよい。ここで基準となる画像は、任意のカラー画像であってもよく、任意のカラー画像をモノクロ化した画像であってもよい。
【0034】
次にS122において、画素値補正部220は、モノクロ画像M0の画素値を補正する補正モデルの補正パラメータを基準ヒストグラムに基づいて決定する。本実施形態1で画素値補正部220は、基準ヒストグラムの平均および標準偏差を補正パラメータとして決定する。
【0035】
次にS124において、画素値補正部220は、決定した補正パラメータを含む補正モデルに基づいてモノクロ画像M0の画素の画素値補正を実行する。たとえば画素値補正部220は、モノクロ画像M0の画素値ヒストグラムの平均および標準偏差と補正パラメータとの間の誤差が最小になるように、モノクロ画像M0の画素値を補正する。なお誤差は、平均二乗誤差であってよい。このように画素値補正部220は、画素値ヒストグラムが基準ヒストグラムに近づくように画素値が補正されたモノクロ画像M1を生成することができる。
なお、本実施形態1では学習データベース216は、装置20の記憶部210に含まれるが、これに代えて、通信可能に接続された他の装置(不図示)等に含まれていてもよい。このとき学習処理部262は、任意の通信手段(不図示)を介して当該他の装置から学習データを取得し、モデル最適化部264に出力してよい。
【0036】
(実施形態2)
次に
図6~8を用いて、この開示の実施形態2について説明する。実施形態2は、画素値補正に用いる補正モデルのパラメータ(補正パラメータ)を、学習済の輝度予測モデルを用いて最適化することに特徴を有する。なお本実施形態2でモノクロ画像Mの画素値は、モノクロ画像Mの輝度値であり、たとえばL値である。
図6は、実施形態2にかかる装置30の概略構成図である。装置30は、実施形態1の装置20とほぼ同様の構成および機能を有する。ただし装置30は、記憶部210および画素値補正部220に代えて、記憶部310、画素値補正部320および補正パラメータ最適化部350を備える点で装置20と相違する。
【0037】
記憶部310は、記憶部210とほぼ同様の構成および機能を有するが、学習データベース216に代えて学習データベース316を有する。
学習データベース316は、カラー化生成部230が用いるカラー化予測モデルの学習データに加え、画素値補正に係る輝度予測モデルの学習データ(輝度学習データ)を記憶する。
【0038】
補正パラメータ最適化部350は、輝度予測モデルを用いて補正パラメータを予測し、最適化する。ここで補正パラメータは、輝度予測モデルによって予測された輝度分布に関連するパラメータであり、本実施形態2では予測された輝度分布の平均および標準偏差である。しかしこれに限らず、補正パラメータは、予測された輝度分布の最小画素値および最大画素値等であってもよい。
輝度予測モデルは、後述のカラー化処理の色の再現精度を担保するために必要なモノクロ画像Mの輝度分布に関連する補正パラメータを予測する。輝度予測モデルは、ニューラルネットワーク、特にCNNを有してよい。本実施形態2で補正パラメータ最適化部350は、所定の輝度加工処理がなされた加工モノクロ画像MLNを入力とし、このモノクロ画像MLNに対応するカラー画像CLを出力とする学習データによって、カラー化予測モデルの前段の輝度予測モデルを機械学習により学習させる。ここで加工モノクロ画像MLNは、輝度学習用のカラー画像CLに対応する画像である。本実施形態2で加工モノクロ画像MLNは、輝度学習用のカラー画像CLをモノクロ化したモノクロ画像ML0に対して、輝度分布をランダムに変化させた画像である。輝度分布をランダムに変化させる処理は学習中にデータ拡張として行ってもよい。
ここで補正パラメータ最適化部350は、学習処理部352と、モデル最適化部354とを有する。
【0039】
学習処理部352は、輝度学習データを管理する。学習処理部352は、輝度学習用のカラー画像CLおよび加工モノクロ画像MLNを含むデータセット、すなわち輝度学習データを取得し、学習データベース316に格納する。なお学習データベース316に格納される輝度学習データは、学習処理部352が取得部200から取得したデータであってもよく、学習処理部352が任意の通信手段(不図示)を介して他の装置から受信したデータであってもよい。そして学習処理部352は、学習データベース316に格納された輝度学習データをモデル最適化部354に出力する。
【0040】
モデル最適化部354は、輝度学習データを用いて機械学習により輝度予測モデルを最適化し、輝度予測モデルに基づき補正パラメータを最適化する。本実施形態2でモデル最適化部354は、画素値補正部320およびカラー化生成部230に接続される。モデル最適化部354はカラー化生成部230によって出力される情報と学習データに含まれる情報とに基づいて輝度予測モデルを更新し、補正パラメータを学習する。モデル最適化部354は、最適化した補正パラメータを画素値補正部320に出力する。
【0041】
画素値補正部320は、画素値に関連する情報に基づいて、モノクロ画像M0の輝度値を補正する。本実施形態2では画素値に関連する情報は、補正パラメータ最適化部350のモデル最適化部354から出力される、補正モデルの補正パラメータを含む。本実施形態2で画素値補正部320は、補正パラメータを含む補正モデルを有し、補正モデルを用いてモノクロ画像M0の輝度値を補正する。
【0042】
なお、実施形態2の装置30の画像処理は、実施形態1の
図4に示すステップと同様のステップを有するが、S102に示す第1画素値補正処理に代えて、第2画素値補正処理を有する点で実施形態1と相違する。ここで第2画素値補正処理について
図7を用いて説明する。
【0043】
図7は、実施形態2にかかる画素値補正部320の第2画素値補正処理を示すフローチャートである。
S200において、装置30の画素値補正部320は、補正パラメータ最適化部350のモデル最適化部354から補正パラメータを取得する。
そしてS202において、画素値補正部320は、取得した補正パラメータを含む補正モデルを用いて、モノクロ画像M0の輝度値を補正し、モノクロ画像M1を生成する。たとえば画素値補正部320は、モノクロ画像M0の輝度値ヒストグラムを生成し、当該輝度値ヒストグラムから補正パラメータに対応するパラメータ(ここでは、輝度値ヒストグラムの平均および標準偏差)を算出する。そして算出したパラメータの値が、取得した補正パラメータに近づくようにモノクロ画像M0の輝度値を補正し、モノクロ画像M1を生成する。そして画素値補正部320は、モノクロ画像M1をカラー化生成部230に出力する。
【0044】
次に補正パラメータ最適化処理について
図8を用いて説明する。
図8は、実施形態2にかかる補正パラメータ最適化部350の補正パラメータ最適化処理を示すフローチャートである。
まずS210において、補正パラメータ最適化部350のモデル最適化部354は、学習処理部352を介して学習データベース316から輝度学習データを取得する。ここで輝度学習データは、輝度学習用のカラー画像C
Lと、学習処理部352による事前処理により生成された加工モノクロ画像M
LNとを含む。
【0045】
ここで、本事前処理の詳細について説明する。事前処理においては、学習処理部352は、輝度学習用のカラー画像CLを、輝度を残してモノクロ化することによりモノクロ画像ML0を生成する。そして学習処理部352は、モノクロ画像ML0の輝度値ヒストグラムを生成し、当該輝度値ヒストグラムの形状をランダムに変形させることで加工モノクロ画像MLNを生成する。例えば学習処理部352は、画素が有し得る輝度値の最小値および最大値の間で2つの乱数を発生させ、輝度値ヒストグラムの輝度値が2つの乱数の間に含まれるようにモノクロ画像ML0の輝度値ヒストグラムを変換し、加工モノクロ画像MLNを生成してよい。これにより、輝度学習用のカラー画像CLおよびモノクロ画像ML0に対して、輝度において画像を劣化させた加工モノクロ画像MLNを生成することができる。
【0046】
次にS211において、モデル最適化部354は輝度予測モデルの各種パラメータを取得する。
次にS212において、モデル最適化部354は、輝度予測モデルの入力層に加工モノクロ画像MLNを入力し、輝度分布の平均および標準偏差の予測値(補正パラメータ)を取得する。そしてモデル最適化部354は、取得した補正パラメータを画素値補正部320に出力する。
【0047】
そしてS213において、画素値補正部320は、第2画素値補正処理を行い、加工モノクロ画像MLNに対応する補正後のモノクロ画像M1を取得する。そして画素値補正部320は、当該モノクロ画像M1をカラー化生成部230に出力する。
【0048】
S214において、カラー化生成部230は、
図4に示すS104に示す処理と同様の処理を実行し、カラー化予測モデルを取得する。
そしてS215において、カラー化生成部230は、
図4に示すS106に示す処理と同様の処理を実行し、カラー化画像Cを生成する。カラー化生成部230は、出力したカラー化画像Cを補正パラメータ最適化部350のモデル最適化部354に出力する。
【0049】
次にS216において、モデル最適化部354は、損失関数に基づいてカラー化画像Cと輝度学習用のカラー画像CLとの間の誤差を算出し、誤差が閾値未満であるか否かを判定する。本実施形態2では損失関数は、L2ノルムであるが、これに限らずL1ノルムまたは他の任意の距離関数であってよい。モデル最適化部354は、誤差が閾値未満である場合(S216でY)処理をS218に進め、そうでない場合(S216でN)処理をS217に進める。
【0050】
S217において、モデル最適化部354は誤差に基づいて補正パラメータの勾配を算出し、勾配に基づいて輝度予測モデルの各種パラメータを更新する。ここでモデル最適化部354は、誤差逆伝搬法を用いて勾配を算出してよい。しかしこれに代えて、モデル最適化部354は任意の数値計算により直接勾配を算出してもよい。またモデル最適化部354は、確率的勾配降下法(SGD)、Adamまたは任意の最適化手法を用いて、各種パラメータを更新してよい。
なお、このときモデル最適化部354は、カラー化予測モデルのパラメータを更新しない。
【0051】
そしてS218において、モデル最適化部354は、輝度予測モデルを最適化し、輝度予測モデルに基づいて補正パラメータを最適化する。
なお輝度学習データは、訓練データと、テストデータとに分類されてよく、モデル最適化部354は輝度予測モデル生成処理において交差検定に応じた処理を実行してよい。
【0052】
このように実施形態2によれば、装置30は、モノクロ画像M0の輝度分布が実際の輝度分布に近づくように、モノクロ画像M0の輝度値を補正し、補正されたモノクロ画像M1からカラー化画像Cを生成する。したがってカラー化における色の再現精度を向上させることができる。
【0053】
(実施形態3)
次に
図9~12を用いて、この開示の実施形態3について説明する。実施形態3は、色ヒントHに基づいてモノクロ画像Mの画素値を補正することに特徴を有する。
図9は、実施形態3にかかる装置40の処理の概要を説明するための図である。装置40は、実施形態1の装置20とほぼ同様の処理を行う。ただし装置40は、色ヒントHを用いてモノクロ画像M0からモノクロ画像M1を生成する点で相違する。また装置40は、色ヒントHに用いてカラー化予測モデルによりモノクロ画像Mを着色する点でも相違する。
【0054】
ここで本実施形態3において、モノクロ画像M(M0およびM1)に含まれる被写体は、1または複数の対象部分を含む。対象部分は、被写体のうち色が類似する部分である。対象部分は、画素値の差が所定範囲内の複数の隣接する画素を含む画素領域であってよい。対象部分は一例として、人物の肌、人物の目、人物の服、空、夕日、木の幹、木の葉および草等である。
【0055】
また色ヒントHは、対象部分の色を示唆する色の指標である。本実施形態3で色ヒントHは、色空間を用いて定義される色である。色ヒントHは、モノクロ画像Mの画素値補正処理に用いられる画素値に関連する情報に含まれる。また色ヒントHは、カラー化予測モデルに付加される条件である。色ヒントHは、特にニューラルネットワークに含まれるオートエンコーダに付加される条件であってよい。色ヒントHは、モノクロ画像Mの画素の色の予測精度を向上させる。
【0056】
図10は、実施形態3にかかる装置40の概略構成図である。装置40は、実施形態1の装置20とほぼ同様の構成および機能を有する。ただし装置40は、取得部200、画素値補正部220、カラー化生成部230およびカラー化モデル生成部260に代えて、取得部400、画素値補正部420、およびカラー化モデル生成部460を備える点で装置20と相違する。
【0057】
取得部400は、取得部200とほぼ同様の構成および機能を有するが、画像取得部202に加えてヒント決定部404を有する。
ヒント決定部404は、後続の処理(画素値補正処理およびカラー化生成処理)に用いる色ヒントHを決定し、画素値補正部420およびカラー化生成部230に出力する。ヒント決定部404は、ヒント取得部405を含む。
ヒント取得部405は、画像取得部202が取得したモノクロ画像M0の対象位置情報Pと、対象部分の色ヒントHとをユーザからの指定を受け付けることにより取得する。ここで対象位置情報Pとは、対象部分を構成する画素のうち少なくとも一部の画素の位置情報であってよい。
なお本実施形態3では、ヒント決定部404は、ヒント取得部405が取得した色ヒントHを、後続の処理に用いる色ヒントHとして決定する。
【0058】
画素値補正部420は、画素値補正部220と同様に、画素値に関連する情報に基づいて、モノクロ画像M0の画素値を補正する。ただし画素値補正部420は、画素値補正部220が行う処理に加え、画素値に関連する情報として色ヒントHに基づいて、モノクロ画像M0の画素値を補正する。
【0059】
カラー化生成部430は、実施形態1のカラー化生成部230が行う処理に加え、モデル最適化部464から出力されるカラー化予測モデルを用いて、補正されたモノクロ画像M1および色ヒントHから、モノクロ画像Mに対応するカラー化画像Cを生成する。ここで実施形態1において用いられる、色ヒントHを用いないカラー化予測モデルをヒント無カラー化予測モデルと呼び、色ヒントHを用いるカラー化予測モデルをヒント有カラー化予測モデルと呼ぶこととする。
【0060】
カラー化モデル生成部460は、学習処理部462と、モデル最適化部464とを有する。
学習処理部462は、学習処理部262とほぼ同様の構成および機能を有するが、ヒント無カラー化予測モデルの学習データを管理することに加えて、ヒント有カラー化予測モデルの学習データを管理する。学習処理部462は、学習データベース216に格納された学習データをモデル最適化部264に出力する。
モデル最適化部464は、モデル最適化部264とほぼ同様の構成および機能を有するが、ヒント無カラー化予測モデルに加えて、学習データを用いて機械学習によりヒント有カラー化予測モデルを最適化する。モデル最適化部464は、最適化したカラー化予測モデルをカラー化生成部430に出力する。
【0061】
図11は、実施形態3にかかる装置40の画像処理を示すフローチャートである。
図11に示すステップは、実施形態1の
図4に示すステップのS102~106に代えて、S301~305を有する。なお
図4に示すステップと同様のステップについては、同一の記号を付して説明を省略する。
【0062】
S301において、ヒント決定部404のヒント取得部405は、S100においてモノクロ画像M0を取得したことに応じて、対象部分の対象位置情報Pを取得したか否かを判定する。たとえばヒント取得部405は、ユーザが装置40のユーザインターフェイス(不図示)上に表示されたモノクロ画像M0の少なくとも一部の画素をポインティングデバイス等により指定したか否かを判定する。ヒント取得部405は、取得(指定)していれば(S301でY)、処理をS302に進め、そうでなければ(S301でN)、処理をS102に進める。
【0063】
S302において、ヒント取得部405は、対象部分の色ヒントHを取得したか否かを判定する。たとえばヒント取得部405は、ユーザがユーザインターフェイス上に表示されたカラーパレットに含まれる色または色空間の色等を指定したか否かを判定する。ヒント取得部405は、取得(指定)していれば(S302でY)、色ヒントを対象部分の対象位置情報Pに対応する1または複数の画素に関連付ける。そしてヒント取得部405は、ユーザインターフェイス上に表示されたモノクロ画像M0上の、対象位置情報Pに対応する画素に色ヒントHが示す色を重畳的に表示させ、処理をS303に進める。ヒント取得部405は、そうでなければ(S302でN)、処理をS102に進める。
【0064】
S303において、画素値補正部420は、色ヒントHを取得したことに応じて、出力されたモノクロ画像M0に対して第3画素値補正処理を行い、モノクロ画像M1を生成する。なお第3画素値補正処理の詳細については、後述する。画素値補正部420は、モノクロ画像M1をカラー化生成部430に出力する。
【0065】
次にS304において、カラー化生成部430は、モデル最適化部464からヒント有カラー化予測モデルを取得する。そしてカラー化生成部430は、処理をS305に進める。
【0066】
なおS301およびS302においてヒント取得部405が対象位置情報Pおよび色ヒントHのいずれかを取得していないことに応じて、画素値補正部420は、S102において第1画素値処理を実行し、モノクロ画像M1を生成する。そして画素値補正部420は、処理をS104に進める。
【0067】
S104において、カラー化生成部430は、モデル最適化部464からヒント無カラー化予測モデルを取得する。そしてカラー化生成部430は、処理をS305に進める。
【0068】
S305において、カラー化生成部430は、画素値補正部420から出力されるモノクロ画像M1を入力データとし、取得したカラー化予測モデルを用いてモノクロ画像Mに対応したカラー化画像Cを生成する。このときカラー化生成部430は、カラー化予測モデルがヒント有カラー化予測モデルである場合は、色ヒントHを条件としてカラー化画像Cを生成する。そしてカラー化生成部430は、出力部240にカラー化画像Cを出力する。
【0069】
なおヒント取得部405は、S102およびS104に示す処理に代えて、エラーを示す信号を出力し、処理を終了してもよい。
また本実施形態3では、ヒント有カラー化予測モデルとヒント無カラー化予測モデルを区別して説明した。しかし、ヒント有カラー化予測モデルは、ヒント無カラー化予測モデルを含み、色ヒントHが入力されない場合にヒント無カラー化予測モデルと同様の予測処理を行ってよい。この場合画素値補正部420は、S102に示す処理を行った後、処理をS304に進めてよく、S104は省略されてよい。なお、S102に示す処理は省略されてもよい。
【0070】
図12は、実施形態3にかかる画素値補正部420の第3画素値補正処理を示すフローチャートである。
まずS310において、画素値補正部420は、モノクロ画像M0に含まれる複数の画素を、画素値および画素位置に基づいてスーパーピクセルに分解する。たとえば画素値補正部420は、画素値の差が所定閾値以下であって、画素間の距離が所定閾値以下である画素を、1つのスーパーピクセルとしてグループ化する。これにより、画素値および画素が近い画素同士が同一のスーパーピクセルに分類される。
【0071】
次にS312において、画素値補正部420は、スーパーピクセルの画素値の代表値および代表画素位置に基づいて、スーパーピクセルをさらにクラスタリングする。ここでスーパーピクセルの画素値の代表値は、スーパーピクセルに含まれる画素の画素値の平均値であってよい。またスーパーピクセルの代表画素位置は、スーパーピクセルの中心の画素座標であってよい。たとえば画素値補正部420は、これらの値に基づいて、k平均法(k-means clustering)を用いてクラスタリングを行ってよい。これにより、画素値の代表値および代表画素位置が近いスーパーピクセル同士が同一のクラスタに分類される。なおここで分類されたクラスタのそれぞれは、被写体の対象部分を示すものと推定される。
【0072】
次にS314において、画素値補正部420は、色ヒントHが関連付けられた1または複数の画素を含むクラスタの画素値の代表値と、当該色ヒントHが示す色に対応する画素値とに基づいて、当該クラスタの画素値補正量を算出する。ここで、クラスタの画素値の代表値は、クラスタに含まれる画素の画素値の平均値であってもよく、色ヒントHが関連付けられた画素の画素値の平均値であってもよい。
【0073】
そしてS316において、画素値補正部420は、色ヒントHを含むクラスタの画素値補正量を基準に、色ヒントHを含まない他のクラスタの画素値補正量を算出する。
S318において、画素値補正部420は、算出した画素値補正量に基づいて、モノクロ画像M0の画素の画素値を補正する。このとき画素値補正部420は、S314およびS316において算出した画素値補正量に応じた補正を、対応するクラスタに含まれる画素に対して実行してよい。また画素値補正部420は、S314およびS316において算出した画素値補正量の平均値、中間値または中央値等の代表値を算出し、当該代表値を用いてモノクロ画像M0全体の画素値レベルを補正してもよい。このとき画素値補正部420は、代表値の算出のために、S314およびS316において算出した画素値補正量の一部を用いてもよく、全部を用いてもよい。
【0074】
このように画素値補正部420は、モノクロ画像M0に含まれる1または複数の画素の画素値と、1または複数の画素に関連付けられた色ヒントHに対応する画素値とに基づいて、モノクロ画像M0に含まれる画素の画素値の補正量を決定することができる。
【0075】
このように本実施形態3によれば、画素値補正部420が色ヒントHに基づいて画素値を補正し、カラー化生成部430が補正されたモノクロ画像M1からカラー化画像Cを生成する。したがって、カラー化における色の再現精度を向上させることができる。
【0076】
なお、画素値補正処理およびカラー化生成処理に用いる色ヒントHは、写真画像として「好ましい色」、特に人間の知覚に合った色であることが好ましい。本実施形態3の装置40のヒント取得部405は、「好ましい色」を有するカラーパレットをユーザインターフェイス上に表示可能に有してよい。そしてヒント取得部405は、ユーザが当該カラーパレットから「好ましい色」を指定したことに応じて、色ヒントHを取得してよい。
【0077】
なおこのような「好ましい色」は、太陽光および白色光源等の所定の光源下での反射率特性を有するものであってよい。また「好ましい色」は、人間の知覚に基づいて経験的に定められた色であってもよい。
また「好ましい色」は、所定の光源下での物体の色と、所定の表示装置に表示される物体の色との間の色差が小さい(好ましくは、最小の)場合の、後者の色であってもよい。たとえば「好ましい色」は、以下のように求めることもできる。まず物体の色を、第1のイメージセンサで検出し、当該検出した色を所定の表示装置に表示させ、表示された色をさらに第2のイメージセンサで検出する。このとき、第1のイメージセンサの検出色と、第2のイメージセンサの検出色との間の色差が小さくなる(好ましくは、最小となる)場合に、第2のイメージセンサの検出色を、その物体の「好ましい色」とすることができる。
【0078】
(実施形態4)
次に
図13~18を用いて、この開示の実施形態4について説明する。実施形態3では、画素値補正処理およびカラー化生成処理に用いる色ヒントHは、ユーザから指定を受け付けることにより取得した色ヒントHであった。実施形態4では、画素値補正処理およびカラー化生成処理に用いる色ヒントHが、ユーザから取得した色ヒントHを上述の「好ましい色」として変換した色ヒントHであることに特徴を有する。
【0079】
図13は、実施形態4にかかる装置50の概略構成図である。
装置50は、実施形態3の装置40とほぼ同様の構成および機能を有する。ただし装置50は、取得部400および記憶部210に代えて、取得部500および記憶部510を備える点で装置40と相違する。
【0080】
取得部500は、取得部400とほぼ同様の機能および構成を有するが、ヒント決定部404に代えて、ヒント決定部504を有する。
【0081】
ヒント決定部504は、ヒント決定部404と同様に、後続の処理に用いる色ヒントHを取得し、決定する。しかし本実施形態4では色ヒントHは、第1の色ヒントと第2の色ヒントとを含み、ヒント決定部504は、モノクロ画像M0の被写体の対象部分の第1の色ヒントを取得し、第2の色ヒントを決定する。ここで第1の色ヒントは、ユーザが被写体の対象部分の色を示唆する色として指定した色ヒントである。そして第2の色ヒントは、第1の色ヒントに応じた「好ましい色」であり、ヒント有カラー化予測モデルに条件として入力される色ヒントである。ヒント取得部405に代えて、ヒント取得部505およびヒント変換部506を含む。
【0082】
ヒント取得部505は、モノクロ画像Mの対象位置情報Pおよび対象部分の第1の色ヒントに加えて、対象部分の分類項目を取得する。ここで分類項目とは、対象部分の種別を示す情報であり、一例として、「人物の肌」、「人物の目」、「空」、「夕日」、「木の幹」、「木の葉」および「草」等である。
【0083】
ヒント変換部506は、ヒント取得部505が取得した分類項目に基づいて、第1の色ヒントを第2の色ヒントに変換する。ヒント変換部506は、記憶部510に格納される変換テーブルを用いて第1の色ヒントを第2の色ヒントに変換してよい。ヒント変換部506は、第2の色ヒントを画素値補正部420およびカラー化生成部430に出力する。
【0084】
記憶部510は、記憶部210とほぼ同様の機能および構成を有するが、これに加えて色ヒント変換処理に関連する各種データを記憶する。記憶部510は、学習データベース216に加えて、変換テーブルを有する。
変換テーブルは、対象部分の分類項目と、色ヒント変換処理に関連するパラメータ等とを関連付けて記憶するテーブルである。詳細は後述する。
【0085】
なお、画素値補正部420は、画素値に関連する情報として、ヒント変換部506から出力される第2の色ヒントに基づいて、モノクロ画像Mの画素値を補正する。
またカラー化生成部430は、ヒント有カラー化予測モデルを用いて、ヒント変換部506から出力される第2の色ヒントからモノクロ画像Mに対応するカラー化画像Cを生成する。
【0086】
図14は、実施形態4にかかる装置50のユーザインターフェイスの一例を示す図である。たとえばユーザインターフェイスは、モノクロ画像表示部1と、カラー化画像表示部2と、カラーパレット3と、分類項目入力部4と、色空間表示部5と、ヒント表示部6と、画像入力部7と、画像出力部8とを備える。
【0087】
モノクロ画像表示部1は、取得したモノクロ画像M0を表示するとともに、当該モノクロ画像M0の対象部分の対象位置情報Pに対応する画素に第1の色ヒントまたは第2の色ヒントが示す色を重畳的に表示する。なおモノクロ画像表示部1は、ポインティングデバイス等を介してユーザから対象位置情報Pの入力を受け付ける。モノクロ画像表示部1は、ヒント決定部504に含まれ、ヒント取得部505に接続されてよい。
【0088】
カラー化画像表示部2は、生成されたカラー化画像Cの表示を行う。カラー化画像表示部2は、出力部240に含まれる。
【0089】
カラーパレット3は、複数の色を保持する汎用のカラーパレットであり、ユーザから色の指定を受け付ける。指定された色は、第1の色ヒントである。カラーパレット3は、ヒント決定部504のヒント取得部505に含まれる。
分類項目入力部4は、対象部分の分類項目のリストを表示し、ユーザから分類項目の入力を受け付ける。分類項目入力部4は、ヒント決定部504に含まれ、ヒント取得部505に接続されてよい。
【0090】
色空間表示部5は、現時点で選択されている色ヒント(ユーザから指定を受け付けた第1の色ヒントまたは変換後の第2の色ヒント)を色空間で表示する。色空間表示部5は、ポインティングデバイス等を介してユーザから色の指定(つまり、第1の色ヒントの入力)を受け付けてもよい。
ヒント表示部6は、現時点で選択されている色ヒントを色で表示する。
【0091】
画像入力部7は、画像取得部202に含まれ、ユーザからのモノクロ画像Mの入力を受け付ける。
画像出力部8は、出力部240に含まれ、カラー化画像Cを所定のデータ形式で外部に出力する。
【0092】
次に実施形態4にかかる装置50の処理について、
図14を参照しながら
図15を用いて説明する。
図15は、実施形態4にかかる装置50の画像処理を示すフローチャートである。
図15に示すステップは、実施形態3の
図11に示すステップのS302に代えて、S400~404を有する。なお
図11に示すステップと同様のステップについては、同一の記号を付して説明を省略する。
【0093】
S400において、ヒント取得部505は、S301において対象部分の対象位置情報Pを取得したことに応じて、対象部分の第1の色ヒントを取得したか否かを判定する。たとえばヒント取得部505は、ユーザが
図14に示すカラーパレット3に含まれる色または色空間表示部5に表示される色を指定したか否かを判定する。ヒント取得部505は、取得(指定)していれば(S400でY)、
図14に示すようにモノクロ画像表示部1のモノクロ画像M上の、対象位置情報Pに対応する画素に第1の色ヒントが示す色を重畳的に表示させ、処理をS402に進める。ヒント取得部505は、そうでなければ(S400でN)、処理をS102に進める。
【0094】
S402において、ヒント取得部505は、対象部分の分類項目を取得したか否かを判定する。たとえばヒント取得部505は、ユーザが分類項目入力部4に表示された分類項目を指定したか否かを判定する。ヒント取得部505は、取得(指定)していれば(S402でY)、処理をS404に進め、そうでなければ(S402でN)、第1の色ヒントを画素値補正部420およびカラー化生成部430に出力し、処理をS303に進める。
【0095】
S404において、ヒント変換部506は、記憶部510の変換テーブルを参照し、取得した分類項目に応じて、第1の色ヒントを第2の色ヒントに変換する。この色ヒント変換処理についての詳細は、後述する。ヒント変換部506は、画素値補正部420およびカラー化生成部430に第2の色ヒントを出力する。またヒント変換部506は、
図14に示すように、モノクロ画像表示部1のモノクロ画像M上の、対象位置情報Pに対応する画素に第1の色ヒントに代えて第2の色ヒントが示す色を重畳的に表示させる。
【0096】
このように本実施形態4によれば、ヒント変換部506が分類項目に基づいて第1の色ヒントを第2の色ヒントに変換する。このため装置50は、指定された色ヒントの色調整を分類項目に基づいて行い、「好ましい色」として変換された色ヒントを用いて画素値補正処理およびカラー化生成処理を行うことができる。これにより、モノクロ画像のカラー化における色の再現精度をより容易に向上させることができる。
【0097】
次に、ヒント変換部506による変換テーブルを用いた色ヒント変換処理(つまり、
図15のS404に示す処理)について説明する。変換テーブルは、第1の変換テーブル、第2の変換テーブルおよび第3の変換テーブルのうち少なくとも1つを含んでよく、ヒント変換部506は、記憶部510に格納される変換テーブルの種類に応じた変換処理を行ってよい。
【0098】
図16Aは、実施形態4にかかる第1の変換テーブルのデータ構造の一例を示す図であり、
図16Bは、第1の変換テーブルを用いた色ヒント変換処理を示すフローチャートである。
【0099】
第1の変換テーブルは、対象部分の分類項目と、複数の第2の色ヒントの候補とを関連付けて記憶する。
図16Aに示すように、第1の変換テーブルは、対象部分の分類項目と、分類項目に対応する複数の第2の色ヒントの候補の色空間座標とを含んでよい。色空間座標は、色空間の次元に対応した成分(つまり画素値)を含み、本図では輝度次元および補色次元にそれぞれ対応する3つの成分L,a,bを含む。ここで第2の色ヒントの候補は、分類項目に応じて、前述の「好ましい色」として予め定められた色であってよい。
【0100】
図16Bに示すように、まずS410においてヒント変換部506は、第1の変換テーブルを用いて、取得した分類項目に応じた複数の第2の色ヒントの候補の色空間座標を取得する。
次にS412において、ヒント変換部506は、第2の色ヒントの候補の各々と第1の色ヒントとの間の色差、すなわち第2の色ヒントの候補の各々の色空間座標と、第1の色ヒントの色空間座標との間の距離を算出する。ここで距離は、ユークリッド距離、マンハッタン距離,チェビシェフ距離またはその他の任意の距離であってよい。
次にS414において、ヒント変換部506は、第2の色ヒントの候補のうち、第1の色ヒントとの間の色差が最も小さいものを選択し、第2の色ヒントを決定する。
【0101】
このようにヒント変換部506は、第1の変換テーブルを用いることで、分類項目ごとに予め定められた好ましい色のうち、ユーザが指定した色(第1の色ヒント)に最も近い色を第2の色ヒントとして容易に決定することができる。
【0102】
図17Aは、実施形態4にかかる第2の変換テーブルのデータ構造の一例を示す図であり、
図17Bは第2の変換テーブルを用いた色ヒント変換処理を示すフローチャートである。
【0103】
第2の変換テーブルは、第1の色ヒントと、対象部分の分類項目と、第2の色ヒントとを関連付けて記憶する。
図17Aに示すように、第2の変換テーブルは、分類項目ごとに、第1の色ヒントの色空間座標の範囲に応じて割り当てられた色空間座標を第2の色ヒントとして記憶する。ここで第2の色ヒントは、分類項目ごとに、第1の色ヒントの色空間に対応して上述の「好ましい色」として予め定められた色であってよい。
【0104】
図17Bに示すように、まずS420においてヒント変換部506は、第2の変換テーブルを参照する。
次にS422において、ヒント変換部506は、取得した前記分類項目および第1の色ヒントの色空間座標の成分に対応する範囲に関連付けられた第2の色ヒントを取得する。
このようにヒント変換部506は、第2の変換テーブルを用いることで、分類項目ごとに、ユーザが指定した色に対応して予め定められた「好ましい色」を第2の色ヒントとして容易に決定することができる。
【0105】
図18Aは、実施形態4にかかる第3の変換テーブルのデータ構造の一例を示す図であり、
図18Bは、第3の変換テーブルを用いた色ヒント変換処理を示すフローチャートである。
【0106】
図18Aに示すように、第3の変換テーブルは、対象部分の分類項目に応じた、第1の色ヒントから第2の色ヒントに変換する変換パラメータを記憶する。
【0107】
図18Bに示すように、まずS430においてヒント変換部506は、第3の変換テーブルに記憶される、取得した分類項目に応じた変換パラメータを取得する。
次にS432に示すように、ヒント変換部506は、変換パラメータを用いて第1の色ヒントから第2の色ヒントを算出する。
【0108】
このようにヒント変換部506は、第3の変換テーブルを用いることで、分類項目ごとに予め定められた変換パラメータに基づいた演算処理をユーザが指定した色に対して行い、出力結果を第2の色ヒントとして容易に決定することができる。
【0109】
(実施形態5)
【0110】
次に
図19~21を用いて、この開示の実施形態5について説明する。実施形態5は、ユーザから取得した色ヒントHを「好ましい色」として変換し、変換後の色ヒントをさらに色調整することに特徴を有する。
図19は、実施形態5にかかる装置60の概略構成図である。装置60は、実施形態4の装置50とほぼ同様の構成および機能を有する。ただし装置60は、取得部500に代えて、取得部600を備える点で装置50と相違する。
【0111】
取得部600は、取得部500とほぼ同様の構成および機能を有するが、ヒント決定部504に代えてヒント決定部604を有する。
ヒント決定部604は、ヒント決定部504の構成に加えて、ヒント調整部607を含む。
ヒント調整部607は、ヒント変換部506から出力された、変換された第2の色ヒントの色空間座標を、第1の色ヒントの色空間座標との間の距離に基づいて調整する。
【0112】
なお画素値補正部420は、画素値に関連する情報として、ヒント調整部607から出力される調整後の第2の色ヒントに基づいて、モノクロ画像Mの画素値を補正する。
またカラー化生成部430は、ヒント調整部607から出力される調整後の第2の色ヒントに基づいてモノクロ画像Mに対応するカラー化画像Cを生成する。
【0113】
図20は、実施形態5にかかる装置60の画像処理を示すフローチャートである。
図20に示すステップは、実施形態4の
図15に示すステップに加えて、S500を有する。なお
図15に示すステップと同様のステップについては、同一の記号を付して説明を省略する。
S500において、ヒント決定部604のヒント調整部607は、S404においてヒント変換部506から第2の色ヒントが出力されたことに応じて、色ヒント調整処理を行う。そしてヒント調整部607は、画素値補正部420およびカラー化生成部430に第2の色ヒントを出力し、処理をS303に進める。
【0114】
図21は、実施形態5にかかる色ヒント調整処理(つまり、
図20のS500に示す処理)を説明するための概念図である。本図に示す点vは、S400においてヒント取得部505が取得した(つまり、ユーザが指定した)第1の色ヒントの色空間座標である。また点pは、S404においてヒント変換部506が変換した第2の色ヒント(すなわち、「好ましい色」)の色空間座標である。また点Xは、S500においてヒント調整部607が調整した第2の色ヒントの色空間座標である。
【0115】
ヒント調整部607は、点pと点vとを結ぶ直線上に点Xを設定することで、変換後の第2の色ヒントの色を調整する。これによりヒント調整部607は結果的に、第2の色ヒントを、第1の色ヒントから「好ましい色」に所定量近づける、または遠ざける加工処理を行うことが可能となる。
【0116】
たとえば本図は、ヒント調整部607が色空間で点vと点pとの間に点Xを設定する場合、すなわち第2の色ヒントを「好ましい色」に所定量近づける場合の一例を示す。たとえば点vと点pとの間の距離をlとし、点v、pおよびXの色空間座標を、位置ベクトルを用いてそれぞれv、p、Xとする。そして「好ましい色」にどの程度近づけるかを示すパラメータをt(-1≦t≦1)とする。本図では、t>0であり、X=l・t・v+l・(1-t)・pが得られる。
【0117】
またヒント調整部607は、t<0とすれば、色空間で点vと点pとを結ぶ直線上の、点vに対して点pと反対側の位置に点Xを設定することも可能である。すなわちヒント調整部607は、第2の色ヒントを「好ましい色」に所定量遠ざけることが可能である。
【0118】
このように本実施形態5によれば、装置60は予め定められた「好ましい色」を基準としてユーザの好みのテイストで色ヒントHを調整し、調整後の色ヒントHに基づいて画素値補正処理およびカラー化生成処理を実行することができる。
【0119】
(実施形態6)
【0120】
次に
図22~24を用いて、この開示の実施形態6について説明する。実施形態6は、モノクロ画像Mの対象位置情報Pを自動取得することに特徴を有する。
図22は、実施形態6にかかる装置70の概略構成図である。装置70は、実施形態4の装置50とほぼ同様の構成および機能を有する。ただし装置70は、取得部500に代えて、取得部700を備える。
【0121】
取得部700は、取得部500とほぼ同様の構成および機能を有するが、ヒント決定部504に代えてヒント決定部704を有する。
ヒント決定部704は、ヒント決定部504の構成に加えて、対象検出部706と、検出表示部708とを含む。
【0122】
対象検出部706は、モノクロ画像M0から対象部分を自動で検出し、対象位置情報Pを取得する。たとえば対象検出部706は、被写体を検出し、被写体のうち色が類似すると推定される画素領域を対象部分として検出してよい。なお対象検出部706は、被写体に含まれる画素同士の画素値の差および画素の位置に基づいて、色が類似すると推定される画素領域を検出してよい。
そして対象検出部706は、検出された対象部分に基づいて対象部分の分類項目を推定する。対象検出部706は、推定した分類項目をヒント変換部506に出力する。
【0123】
検出表示部708は、検出された対象部分を選択し、表示する。したがってユーザは、対象部分の対象位置情報Pを指定することなく、第1の色ヒントを指定することができる。なお検出表示部708は、対象部分に加えて、検出された被写体も表示してよい。
なお、ヒント取得部505は、表示された対象部分に対応するユーザからの第1の色ヒントの入力を受け付けてよい。
【0124】
本実施形態6によれば、対象検出部706が対象位置情報Pを自動で検出するため、ユーザの対象位置情報Pの指定操作が省略され、利便性が向上する。また当該対象位置情報Pの自動検出に応じて、対象検出部706が対象部分の分類項目を推定するため、対象部分の分類項目を自動で取得することができる。これにより、ユーザの分類項目の指定操作が省略され、利便性がさらに向上する。
【0125】
次に実施形態6にかかる装置70の画像処理について、
図24を参照しながら
図23を用いて説明する。
図23は、実施形態6にかかる装置70の画像処理を示すフローチャートである。また
図24は、実施形態6にかかる装置70のユーザインターフェイスの一例を示す図である。
【0126】
図23に示すステップは、実施形態4の
図15に示すステップのS301に代えて、S600~S604に示すステップを有する。なお
図15に示すステップと同様のステップについては、同一の記号を付して説明を省略する。
S600において、対象検出部706は、S100において画像取得部202がモノクロ画像M0を取得したことに応じて、モノクロ画像M0から被写体および被写体の対象部分を自動で検出することにより、対象位置情報Pを取得したか否かを判定する。
対象検出部706は、対象位置情報Pを取得していれば(S600でY)、処理をS602に進め、そうでなければ(S600でN)、処理をS601に進める。
【0127】
S601において、ヒント取得部505は、
図15のS301に示すステップと同様の処理を行い、対象位置情報Pを取得していれば(S601でY)、処理をS400に進め、そうでなければ(S601でN)、処理をS102に進める。
【0128】
S602において、対象検出部706は、S600で対象位置情報Pを取得したことに応じて、検出した対象部分の分類項目を推定する。そして
図24に示すように、分類項目入力部4上に推定した分類項目を表示する。
【0129】
なお、S600およびS602に示すステップは、並行して実行されてよい。ここで対象検出部706は、機械学習により学習済の所定の物体認識モデルを用いて、被写体および対象部分を検出し、対象位置情報Pを取得し、当該対象部分の分類項目を推定してよい。所定の物体認識モデルは、画像から物体を検出し認識するニューラルネットワーク、特にCNNを含んでよい。
また被写体が人物等である場合は、対象検出部706は、当該所定の物体認識モデルを用いて被写体を検出し、骨格推定技術等を用いて、顔、腕および脚等の位置を推定してもよい。そして対象検出部706は、推定したこれらの位置を対象部分の対象位置情報Pとし、対象部分の分類項目を「人物の肌」と推定してもよい。これにより同一の分類項目の対象部分が互いに分離された状態で存在する場合にも、後続のS400においてユーザが第1のヒントを複数回指定することを回避でき、利便性が向上する。
【0130】
なお本実施形態6で対象検出部706は、モノクロ画像M0から対象部分を、矩形枠を用いて認識し、対象位置情報Pおよび分類項目を取得する。しかしこれに代えて、対象検出部706は、領域分割(Semantic Segmentation)により、モノクロ画像M0の各領域部分がどの分類項目に属するかを推定することで対象位置情報Pの取得を行ってもよい。
【0131】
S604において、検出表示部708は、モノクロ画像表示部1上に検出被写体Fおよび対象部分の対象位置情報Pに対応する画素を表示する。たとえば
図24に示すように、モノクロ画像表示部1は、取得したモノクロ画像M0に、検出被写体Fを示す矩形枠および対象位置情報Pに対応する画素を重畳的に表示してよい。
なお、対象検出部706が領域分割を用いる場合は、検出表示部708は、検出した領域部分の輪郭を囲む枠等を検出被写体Fとしてモノクロ画像Mに対して重畳的に表示させてよい。そして検出表示部708は、処理をS400に進める。
【0132】
なお検出表示部708は、モノクロ画像M0が複数の検出対象部分を含む場合、順番に検出対象部分の表示を行い、ヒント取得部505に対してユーザへ第1の色ヒントの入力を促すように要求してよい。
【0133】
また
図24に示すように、モノクロ画像M0が同一の分類項目を有する対象部分を複数含む場合には、検出表示部708は一度に当該複数の対象部分を選択し、モノクロ画像表示部1に表示させてよい。これにより、後続のS400においてユーザが第1の色ヒントを複数回指定することを回避することができ、利便性が向上する。
【0134】
上述の実施形態ではコンピュータは、パーソナルコンピュータやワードプロセッサ等を含むコンピュータシステムで構成される。しかしこれに限らず、コンピュータは、LAN(ローカル・エリア・ネットワーク)のサーバ、コンピュータ(パソコン)通信のホスト、インターネット上に接続されたコンピュータシステム等によって構成されることも可能である。また、ネットワーク上の各機器に機能分散させ、ネットワーク全体でコンピュータを構成することも可能である。
【0135】
なお上述の実施形態では、この開示をハードウェアの構成として説明したが、この開示は、これに限定されるものではない。この開示は、任意の機能(処理)、特に
図1、4~5、7~8、11~12、15~18、20および23に示す処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
【0136】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0137】
請求の範囲、明細書、および図面中において示した装置および方法における各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのではない限り、任意の順序で実現しうる。請求の範囲、明細書および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順序で実施することが必須であることを意味するものではない。
【0138】
以上、実施形態を参照してこの開示を説明したが、この開示は上記実施形態に限定されるものではない。この開示の構成や詳細には、この開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0139】
1 モノクロ画像表示部、2 カラー化画像表示部、3 カラーパレット、4 分類項目入力部、5 色空間表示部、6 ヒント表示部、7 画像入力部、8 画像出力部、10,20,30,40,50,60,70 装置、102 画像取得部、120,220,320,420 画素値補正部、130,230,430 カラー化生成部、200,400,500,600,700 取得部、202 画像取得部、210,310,510 記憶部、216,316 学習データベース、240 出力部、260,460 カラー化モデル生成部、262,462 学習処理部、264,464 モデル最適化部、350 補正パラメータ最適化部、352 学習処理部、354 モデル最適化部、404,504,604,704 ヒント決定部、405,505 ヒント取得部、506 ヒント変換部、607 ヒント調整部、706 対象検出部、708 検出表示部、M,M0、M1 モノクロ画像、C カラー化画像、H 色ヒント、P 対象位置情報、F 検出被写体