(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-01
(45)【発行日】2024-05-13
(54)【発明の名称】画像変換用ネットワーク学習装置およびそのプログラム、ならびに、画像変換装置およびそのプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240502BHJP
G06T 1/40 20060101ALI20240502BHJP
G06T 15/20 20110101ALI20240502BHJP
【FI】
G06T7/00 350C
G06T1/40
G06T15/20 500
(21)【出願番号】P 2020103756
(22)【出願日】2020-06-16
【審査請求日】2023-05-08
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】盛岡 寛史
(72)【発明者】
【氏名】洗井 淳
【審査官】山田 辰美
(56)【参考文献】
【文献】国際公開第2019/098780(WO,A1)
【文献】特表2020-503075(JP,A)
【文献】特開2019-101519(JP,A)
【文献】米国特許出願公開第2019/0370666(US,A1)
【文献】Sai Bi et al,Deep CG2Real: Synthetic-to-Real Translation via Image Disentanglement,2019 IEEE/CVF International Conference on Computer Vision (ICCV),米国,IEEE,2020年02月27日,2730-2739,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9009005
【文献】Junyu Gao et al,Embedding structured contour and location prior in siamesed fully convolutional networks for road detection,2017 IEEE International Conference on Robotics and Automation (ICRA),米国,IEEE,2017年,219-224,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7989027
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G06T 1/40
G06T 15/20
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
CG画像を疑似実写画像に変換するニューラルネットワークを学習する画像変換用ネットワーク学習装置であって、
実写画像生成ネットワークを用いて、学習データのCG画像から偽実写画像を生成する第1実写画像生成手段と、
CG画像生成ネットワークを用いて、前記偽実写画像から複製CG画像を生成する第1CG画像生成手段と、
前記学習データのCG画像と前記複製CG画像との誤差をCG画像誤差として算出するCG画像誤差算出手段と、
前記CG画像生成ネットワークを用いて、前記CG画像に対応する学習データである実写画像から偽CG画像を生成する第2CG画像生成手段と、
前記実写画像生成ネットワークを用いて、前記偽CG画像から複製実写画像を生成する第2実写画像生成手段と、
前記学習データの実写画像と前記複製実写画像との誤差を実写画像誤差として算出する実写画像誤差算出手段と、
前記学習データのCG画像および実写画像、ならびに、前記偽CG画像および偽実写画像の各画像に、それぞれの画像の予め定めた画像特徴を特徴マップとして付加する特徴マップ付加手段と、
CG画像識別ネットワークを用いて、前記特徴マップが付加された前記学習データのCG画像と前記偽CG画像とについて、それぞれ真のCG画像か否かを示す真偽値を識別結果として算出するCG画像識別手段と、
実写画像識別ネットワークを用いて、前記特徴マップが付加された前記学習データの実写画像と前記偽実写画像とについて、それぞれ真の実写画像か否かを示す真偽値を識別結果として算出する実写画像識別手段と、
前記CG画像識別手段における識別結果、前記実写画像識別手段における識別結果、前記CG画像誤差および前記実写画像誤差に基づいて、前記実写画像生成ネットワーク、前記CG画像生成ネットワーク、前記CG画像識別ネットワークおよび前記実写画像識別ネットワークのパラメータを更新するパラメータ更新手段と、
を備えることを特徴とする画像変換用ネットワーク学習装置。
【請求項2】
前記特徴マップ付加手段は、画像のエッジ、輪郭、色の少なくも一つ以上の画像特徴を前記特徴マップとすることを特徴とする請求項1に記載の画像変換用ネットワーク学習装置。
【請求項3】
前記パラメータ更新手段は、
前記偽実写画像に対する識別結果と真値との差、前記偽CG画像に対する識別結果と真値との差、前記CG画像誤差、および、前記実写画像誤差の和を小さくするように、前記実写画像生成ネットワークおよび前記CG画像生成ネットワークのパラメータを更新するとともに、
前記学習データの実写画像に対する識別結果と真値との差、前記偽実写画像に対する識別結果と偽値との差、前記学習データのCG画像に対する識別結果と真値との差、および、前記偽CG画像に対する識別結果と偽値との差の和を小さくするように、前記実写画像識別ネットワークおよび前記CG画像識別ネットワークのパラメータを更新することを特徴とする請求項1または請求項2に記載の画像変換用ネットワーク学習装置。
【請求項4】
コンピュータを、請求項1から請求項3のいずれか一項に記載の画像変換用ネットワーク学習装置として機能させるための画像変換用ネットワーク学習プログラム。
【請求項5】
CG画像を疑似実写画像に変換する画像変換装置であって、
請求項1から請求項3のいずれか一項に記載の画像変換用ネットワーク学習装置で学習されたCG画像を疑似実写画像に変換するニューラルネットワークで構成された実写画像生成ネットワークを用いて、前記CG画像から前記疑似実写画像を生成する実写画像生成手段を備えることを特徴とする画像変換装置。
【請求項6】
CG画像を疑似実写画像に変換する画像変換装置であって、
請求項1から請求項3のいずれか一項に記載の画像変換用ネットワーク学習装置と、
前記画像変換用ネットワーク学習装置で学習されたCG画像を前記疑似実写画像に変換するニューラルネットワークで構成された実写画像生成ネットワークを用いて、前記CG画像から前記疑似実写画像を生成する第3実写画像生成手段を備えることを特徴とする画像変換装置。
【請求項7】
コンピュータを、請求項5または請求項6に記載の画像変換装置として機能させるための画像変換プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像変換用ネットワーク学習装置およびそのプログラム、ならびに、画像変換装置およびそのプログラムに関する。
【背景技術】
【0002】
近年、実空間計測技術および映像加工技術の発達により、実空間内の被写体を撮影および計測して3Dモデルの再構築を行うことで、自由視点から被写体を観察することが可能になってきている。
この技術によって、例えば、VR(Virtual Reality:仮想現実)、AR(Augmented Reality:拡張現実)、ゲーム等では、空間的に離れた場所にいるプレイヤーを同一の仮想空間内に出現させることができる。また、例えば、テレビ番組では、地理的に離れた場所にいる出演者同士を合成してあたかも同じ場所にいるかのように演出することができる。
さらに、伝送路、端末等のデバイスの発達により、3Dモデルを再構築したデータを直接視聴者の端末上に送ることで、従来は固定されていたカメラワークから独立して、視聴者が自由にカメラワークを行うことができる。
【0003】
このように、実空間計測技術および映像加工技術は、様々な応用が考えられる技術であるが、撮影・計測時、3Dモデルの再構築時等の誤差、情報欠落により、再構築したデータが正確でない場合がある。そのため、3Dモデルを再構築したデータをCGレンダラー上で、自由視点でレンダリングした場合、レンダリング結果に不自然なノイズや歪み(アーティファクト)が発生する。
【0004】
一方、近年の深層学習の発達により、ニューラルネットワークを用いて画像を修正(アーティファクト修正)する手法が様々開示されている。
アーティファクト修正の最も一般的な修正は、欠損の補完であり、その補完手法については、大量のデータを学習することによって、未知の画像の欠損部分を補完する手法が開示されている。その一例としてDeep Fill(非特許文献1参照)が挙げられる。
Deep Fillは、敵対的生成ネットワーク(GAN:Generative Adversarial Network)という手法を用いている。
GANは、Generator(生成ネットワーク)とDiscriminator(識別ネットワーク)とで構成されている。GANは、画像生成を行うネットワークを構築する場合、Generatorによって、Discriminatorが真の画像であると欺くように画像生成のネットワークを学習し、Discriminatorによって、真の画像か偽の画像かを正しく識別するようにネットワークを学習する。
これによって、GANは、真偽の識別が困難な画像を生成するネットワークの構築を可能にしている。
【0005】
また、GANを利用したアーティファクト修正に利用可能なネットワークとしてpix2pix(非特許文献2参照)、cycleGAN(非特許文献3参照)が挙げられる。
pix2pixは、一対一対応する入力画像と教師画像との間で変換を最適化するネットワークである。cycleGANは、一対一対応が存在しない集合同士の間で変換を最適化するネットワークである。
【先行技術文献】
【非特許文献】
【0006】
【文献】Jiahui Yu, et.al,“Generative Image Inpainting with Contextual Attention”, CVPR, 2018.
【文献】Phillip Isola, et.al,“Image-to-Image Translation with Conditional Adversarial Networks”, CVPR, 2017.
【文献】Jun-Yan Zhu, et.al,“Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks”, ICCV, 2017.
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来の手法であるDeep Fillは、マスクと呼ばれる欠損領域を手動で指定する必要があり、かつ、欠損していないが誤ったデータが反映されている部分に関しては修正を行わないという問題がある。
これに対して、pix2pixやcycleGANは、画像領域全体を変換するため、非欠損領域のアーティファクトも修正対象となる。
【0008】
pix2pixは、入力画像と対をなす教師画像を用意してその間の変換を学習する手法であるため、入力画像と教師画像とが厳密に同一の画角で撮影されたものでなければならない。
しかし、3Dモデルの再構築においては、pix2pixの入力画像はCGレンダラー上でレンダリングされたCG画像であり、教師画像は実写画像であるため、入力画像と教師画像とを同一の画角で一対一対応させることは基本的に困難である。
【0009】
cycleGANは、入力画像と教師画像とが一対一対応しない場合でも変換が可能なネットワークである。
しかし、cycleGANは、学習過程で発生する確率的最適化アルゴリズムによって、必ずしも最適解の画像を出力するとは限らないため、教師画像に比べて出力画像の画像特徴であるエッジ等の鮮明さが劣化するという問題が発生する場合がある。
【0010】
本発明は、このような問題に鑑みてなされたものであり、CG画像の画像特徴の劣化を抑え、精度よく疑似実写画像に変換するためのニューラルネットワークを学習する画像変換用ネットワーク学習装置およびそのプログラム、ならびに、ニューラルネットワークを用いてCG画像を疑似実写画像に変換する画像変換装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0011】
前記課題を解決するため、本発明に係る画像変換用ネットワーク学習装置は、CG画像を疑似実写画像に変換するニューラルネットワークを学習する画像変換用ネットワーク学習装置であって、第1実写画像生成手段と、第1CG画像生成手段と、CG画像誤差算出手段と、第2CG画像生成手段と、第2実写画像生成手段と、実写画像誤差算出手段と、特徴マップ付加手段と、CG画像識別手段と、実写画像識別手段と、パラメータ更新手段と、を備える構成とした。
【0012】
かかる構成において、画像変換用ネットワーク学習装置は、第1実写画像生成手段によって、学習対象の実写画像生成ネットワークを用いて、学習データのCG画像から偽実写画像を生成する。そして、画像変換用ネットワーク学習装置は、第1CG画像生成手段によって、学習対象のCG画像生成ネットワークを用いて、偽実写画像から元のCG画像である複製CG画像を生成する。
そして、画像変換用ネットワーク学習装置は、CG画像誤差算出手段によって、学習データのCG画像と複製CG画像との誤差(サイクル誤差)をCG画像誤差として算出する。
【0013】
また、画像変換用ネットワーク学習装置は、第2CG画像生成手段によって、CG画像生成ネットワークを用いて、CG画像に対応する学習データである実写画像から偽CG画像を生成する。そして、画像変換用ネットワーク学習装置は、第2実写画像生成手段によって、実写画像生成ネットワークを用いて、偽CG画像から元の実写画像である複製実写画像を生成する。
そして、画像変換用ネットワーク学習装置は、実写画像誤差算出手段によって、学習データの実写画像と複製実写画像との誤差(サイクル誤差)を実写画像誤差として算出する。
【0014】
また、画像変換用ネットワーク学習装置は、特徴マップ付加手段によって、学習データのCG画像および実写画像、ならびに、偽CG画像および偽実写画像の各画像に、それぞれの画像のエッジ等の予め定めた画像特徴を特徴マップとして付加する。
そして、画像変換用ネットワーク学習装置は、CG画像識別手段によって、学習対象のCG画像識別ネットワークを用いて、特徴マップが付加された学習データのCG画像と偽CG画像とについて、それぞれ真のCG画像か否かを示す真偽値を識別結果として算出する。
また、画像変換用ネットワーク学習装置は、実写画像識別手段によって、学習対象の実写画像識別ネットワークを用いて、特徴マップが付加された学習データの実写画像と偽実写画像とについて、それぞれ真の実写画像か否かを示す真偽値を識別結果として算出する。
CG画像識別手段および実写画像識別手段では、各画像の画像特徴を特徴マップとして付加した画像間で識別を行うため、画像のエッジ等の予め定めた画像特徴に対する重要度を高めて画像識別が行われることになる。
【0015】
そして、画像変換用ネットワーク学習装置は、パラメータ更新手段によって、CG画像識別手段における識別結果、実写画像識別手段における識別結果、CG画像誤差および実写画像誤差に基づいて、実写画像生成ネットワーク、CG画像生成ネットワーク、CG画像識別ネットワークおよび実写画像識別ネットワークのパラメータを更新する。
【0016】
この学習によって、実写画像識別ネットワークは、予め定めた画像特徴に対する重要度を高めて、正しく実写画像の真偽を識別するように学習される。また、実写画像生成ネットワークは、予め定めた画像特徴の劣化を抑えて、実写画像識別ネットワークにおいて真の実写画像と識別を誤るような写実化した画像をCG画像から生成するように学習されることになる。
【0017】
なお、本発明は、コンピュータを、前記画像変換用ネットワーク学習装置として機能させるための画像変換用ネットワーク学習プログラムで実現することもできる。
【0018】
また、前記課題を解決するため、本発明に係る画像変換装置は、CG画像を疑似実写画像に変換する画像変換装置であって、実写画像生成手段を備える構成とした。
【0019】
かかる構成において、画像変換装置は、実写画像生成手段によって、画像変換用ネットワーク学習装置で学習されたCG画像を疑似実写画像に変換するニューラルネットワークで構成された実写画像生成ネットワークを用いて、CG画像から疑似実写画像を生成する。
なお、画像変換装置は、内部に画像変換用ネットワーク学習装置を備え、実写画像生成手段が、画像変換用ネットワーク学習装置で学習した実写画像生成ネットワークを用いて、CG画像から疑似実写画像を生成することとしてもよい。
また、本発明は、コンピュータを、前記画像変換装置として機能させるための画像変換プログラムで実現することもできる。
【発明の効果】
【0020】
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、予め定めた画像特徴の劣化を抑えて、CG画像を写実性の高い疑似実写画像に変換することができる。
これによって、本発明は、変換した写実的な画像を、テレビ番組、ゲーム、VR(仮想現実)/AR(拡張現実)等に幅広く利用することが可能になる。
【図面の簡単な説明】
【0021】
【
図1】本発明の実施形態に係る画像変換用ネットワーク学習装置の処理内容を説明するための説明図である。
【
図2】本発明の実施形態に係る画像変換用ネットワーク学習装置の構成を示すブロック図である。
【
図3】実写画像生成ネットワークの構成例を示すネットワーク図である。
【
図4】実写画像識別ネットワークの構成例を示すネットワーク図である。
【
図5】特徴マップ付加手段が画像に特徴マップを付加する例を説明するための説明図である。
【
図6】本発明の実施形態に係る画像変換用ネットワーク学習装置の動作を示すフローチャートである。
【
図7】本発明の実施形態に係る画像変換装置の構成を示すブロック図である。
【
図8】本発明の実施形態に係る画像変換装置の動作を示すフローチャートである。
【
図9】本発明の実施形態に係る画像変換装置の変形例の構成を示すブロック図である。
【
図10】特徴マップ付加手段が画像に色の画像特徴を特徴マップとして付加する例を説明するための説明図である。
【
図11】特徴マップ付加手段が画像に複数の画像特徴を特徴マップとして付加する例を説明するための説明図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について図面を参照して説明する。
<画像変換用ネットワーク学習装置の処理>
図1を参照して、本発明の実施形態に係る画像変換用ネットワーク学習装置1(
図2)の処理について説明する。
【0023】
画像変換用ネットワーク学習装置1は、CG画像を疑似実写画像に変換するニューラルネットワークを学習するものである。
画像変換用ネットワーク学習装置1は、学習データとして、実写画像IrとCG画像Icgとを用いる。
実写画像Irは、人物等の被写体をカメラで撮影した画像である。なお、実写画像Irは、被写体から背景領域を削除しておく。
CG画像Icgは、実写画像Irに映る人物等の被写体に近似したポーズで3Dモデルをレンダリングした画像である。
なお、実写画像IrおよびCG画像Icgは、モノクロ画像であっても、カラー画像であっても構わない。
【0024】
画像変換用ネットワーク学習装置1は、実写画像生成ネットワークNG1および実写画像識別ネットワークND1で構成されるGAN(敵対的生成ネットワーク)と、CG画像生成ネットワークNG2およびCG画像識別ネットワークND2で構成されるGANとを組み合わせたCycleGANとして機能し、学習データである実写画像IrおよびCG画像Icgを用いて各ニューラルネットワークを順次学習する。
なお、実写画像生成ネットワークNG1およびCG画像生成ネットワークNG2は、GANのGeneratorに相当するものである。また、実写画像識別ネットワークND1およびCG画像識別ネットワークND2は、GANのDiscriminatorに相当するものである。
【0025】
画像変換用ネットワーク学習装置1は、実写画像Irが真の実写画像であると識別するように、また、偽実写画像Ifrが偽の実写画像であると識別するように実写画像識別ネットワークND1を学習する。なお、偽実写画像Ifrは、実写画像生成ネットワークNG1によってCG画像Icgから生成された画像である。
【0026】
また、画像変換用ネットワーク学習装置1は、CG画像Icgが真のCG画像であると識別するように、また、偽CG画像Ifcgが偽のCG画像であると識別するようにCG画像識別ネットワークND2を学習する。なお、偽CG画像Ifcgは、CG画像生成ネットワークNG2によって実写画像Irから生成された画像である。
【0027】
また、画像変換用ネットワーク学習装置1は、偽実写画像Ifrが実写画像識別ネットワークND1において真の実写画像であると識別するように、また、偽CG画像IfcgがCG画像識別ネットワークND2において真のCG画像であると識別するように、実写画像生成ネットワークNG1およびCG画像生成ネットワークNG2をそれぞれ学習する。
さらに、画像変換用ネットワーク学習装置1は、実写画像Irと複製実写画像Ir2との誤差およびCG画像Icgと複製CG画像Icg2との誤差を小さくするように、実写画像生成ネットワークNG1およびCG画像生成ネットワークNG2をそれぞれ学習する。なお、複製実写画像Ir2は、実写画像生成ネットワークNG1によって偽CG画像Ifcgから生成された画像である。また、複製CG画像Icg2は、CG画像生成ネットワークNG2によって偽実写画像Ifrから生成された画像である。
【0028】
なお、実写画像識別ネットワークND1への入力は、実写画像Irについては、実写画像Irに実写画像Irから生成した画像特徴である実写画像特徴マップMrを付加したものとし、偽実写画像Ifrについては、偽実写画像Ifrから生成した画像特徴である偽実写画像特徴マップMfrを付加したものとする。これによって、実写画像識別ネットワークND1は、画像特徴に重みをおいて学習されたものとなる。
【0029】
また、CG画像識別ネットワークND2への入力は、CG画像Icgについては、CG画像IcgにCG画像Icgから生成した画像特徴であるCG画像特徴マップMcgを付加したものとし、偽CG画像Ifcgについては、偽CG画像Ifcgに偽CG画像Ifcgから生成した画像特徴である偽CG画像特徴マップMfcgを付加したものとする。これによって、CG画像識別ネットワークND2は、画像特徴に重みをおいて学習されたものとなる。
【0030】
このように、画像変換用ネットワーク学習装置1は、実写画像生成ネットワークNG1およびCG画像生成ネットワークNG2を経由した際に発生するサイクル誤差を小さくし、画像特徴に着目して、各ニューラルネットワーク(ND1,ND2,NG1およびNG2)を学習することで、精度のよいニューラルネットワークを構築することができる。
【0031】
<画像変換用ネットワーク学習装置の構成>
次に、
図2を参照(適宜
図1参照)して、本発明の実施形態に係る画像変換用ネットワーク学習装置1の構成について説明する。なお、学習データである複数のCG画像Icgおよび複数の実写画像Irは、学習データ記憶装置2に記憶されているものとする。
【0032】
図2に示すように、画像変換用ネットワーク学習装置1は、記憶手段10と、学習データ入力手段11と、実写画像生成手段12(12A,12B)と、CG画像生成手段13(13A,13B)と、実写画像誤差算出手段14と、CG画像誤差算出手段15と、特徴マップ付加手段16と、実写画像識別手段17と、CG画像識別手段18と、パラメータ更新手段19と、を備える。
【0033】
記憶手段10は、画像変換用ネットワーク学習装置1で使用するニューラルネットワークを記憶するものである。記憶手段10は、ハードディスク、半導体メモリ等の一般的な記憶媒体で構成することができる。
記憶手段10は、ニューラルネットワークで構成された実写画像生成ネットワークNG1、CG画像生成ネットワークNG2、実写画像識別ネットワークND1、CG画像識別ネットワークND2および画像特徴抽出ネットワークNFを記憶する。
【0034】
実写画像生成ネットワーク(NW)N
G1は、CG画像から実写画像(疑似実写画像)を生成するニューラルネットワークである。
この実写画像生成ネットワークN
G1の構成は特に限定するものではないが、
図3に示すように、複数の畳み込み層Lを含んだ畳み込みニューラルネットワークとして構成する。なお、畳み込みニューラルネットワークは、画像サイズを縮小して畳み込みを行う畳み込み層L
1と、画像サイズを変えずに畳み込みを行う畳み込み層L
2と、画像サイズを拡大して畳み込みを行う畳み込み層L
3とを、それぞれ複数連結して構成されることが多い。
この実写画像生成ネットワークN
G1のパラメータである層間の重み係数は、予め乱数等の初期値が設定され、実写画像生成手段12(12A,12B)によって参照されるとともに、パラメータ更新手段19によって更新される。
【0035】
CG画像生成ネットワーク(NW)NG2は、実写画像(疑似実写画像も含む)からCG画像を生成するニューラルネットワークである。CG画像生成ネットワークNG2は、複数の畳み込み層を含んだ畳み込みニューラルネットワークとして構成する。
このCG画像生成ネットワークNG2のパラメータである層間の重み係数は、予め乱数等の初期値が設定され、CG画像生成手段13(13A,13B)によって参照されるとともに、パラメータ更新手段19によって更新される。
このCG画像生成ネットワークNG2は、実写画像生成ネットワークNG1と同じネットワーク構成とすることができる。
【0036】
実写画像識別ネットワーク(NW)ND1は、実写画像を入力し、その実写画像が真の実写画像か偽の実写画像かを識別するニューラルネットワークである。ここで、真の実写画像とは、学習データの実写画像Irであって、偽の実写画像とは、実写画像生成ネットワークNG1によってCG画像Icgから生成された実写画像である。
実写画像識別ネットワークND1は、「真値:1」と「偽値:0」を識別する0を超え1未満の確率値を出力データとする。
【0037】
この実写画像識別ネットワークN
D1の構成は特に限定するものではないが、
図4に示すように、予め定めた大きさのカーネルを用いて畳み込み演算を行う複数の畳み込み層Lを接続し、最終段に0を超えて1未満の値に正規化して出力値を出力する活性化関数(シグモイド関数)AFを備えた構成とすることができる。
この実写画像識別ネットワークN
D1のパラメータであるカーネルの重み係数は、予め乱数等の初期値が設定され、実写画像識別手段17によって参照されるとともに、パラメータ更新手段19によって更新される。
【0038】
CG画像識別ネットワーク(NW)ND2は、CG画像を入力し、そのCG画像が真のCG画像か偽のCG画像かを識別するニューラルネットワークである。ここで、真のCG画像とは、学習データのCG画像Icgであって、偽のCG画像とは、CG画像生成ネットワークNG2によって実写画像Irから生成されたCG画像である。
CG画像識別ネットワークND2は、「真値:1」と「偽値:0」を識別する0を超え1未満の確率値を出力データとする。
このCG画像識別ネットワークND2の構成は特に限定するものではないが、実写画像識別ネットワークND1と同じ構成とすることができる。
このCG画像識別ネットワークND2のパラメータであるカーネルの重み係数は、予め乱数等の初期値が設定され、CG画像識別手段18によって参照されるとともに、パラメータ更新手段19によって更新される。
【0039】
画像特徴抽出ネットワーク(NW)NFは、画像(実写画像、CG画像)の予め定めた画像特徴を抽出するニューラルネットワークである。この画像特徴抽出ネットワークNFは、複数の畳み込み層を介して画像特徴を抽出する予め学習された畳み込みニューラルネットワークである。この画像特徴抽出ネットワークNFは、例えば、画像に対応する画像特徴としてエッジ画像を出力するニューラルネットワークとする。画像特徴抽出ネットワークNFは、入力画像と同じ大きさのエッジ画像を教師画像として、入力画像からエッジ画像を抽出するように予め学習しておく。
【0040】
より具体的には、入力画像を256階調のRGB3チャンネルのデータとし、教師画像であるエッジ画像を256階調の1チャンネルのデータとして学習しておく。この場合、例えば、教師画像の各画素は、“0”~“255”までの値で、エッジのない領域は“0”に近い値とし、エッジ近傍ほど“255”に近い値とする。
この画像特徴抽出ネットワークNFのパラメータであるカーネルの重み係数は、特徴マップ付加手段16によって参照される。
【0041】
学習データ入力手段11は、学習データ記憶装置2に記憶されている学習データであるCG画像Icgおよび実写画像Irを入力するものである。
この学習データ入力手段11は、CG画像Icgおよび実写画像Irを、それぞれランダムに入力する。
学習データ入力手段11は、入力したCG画像Icgを、実写画像生成手段12A、CG画像誤差算出手段15および特徴マップ付加手段16に出力する。また、学習データ入力手段11は、入力した実写画像Irを、CG画像生成手段13B、実写画像誤差算出手段14および特徴マップ付加手段16に出力する。
【0042】
また、学習データ入力手段11は、パラメータ更新手段19から、次の学習データの入力を指示された段階で、新たに学習データを入力する。
なお、学習データ入力手段11は、予め定めた学習終了条件に達した段階で、学習データの入力を終了する。例えば、学習データ入力手段11は、予め定めた学習回数だけ、学習データ全体を選択した場合、パラメータ更新手段19から、パラメータ更新の変化量が予め定めた閾値を下回ったことを通知された場合等である。
【0043】
実写画像生成手段12(12A,12B)は、実写画像生成ネットワークを用いて、CG画像から実写画像(疑似実写画像)を生成するものである。
実写画像生成手段12は、記憶手段10に記憶されている実写画像生成ネットワークNG1にCG画像を入力し、学習対象のパラメータであるレイヤ間の重み係数を用いて、ニューラルネットワークの演算を行うことで実写画像に疑似した画像を生成する。
【0044】
実写画像生成手段(第1実写画像生成手段)12Aは、学習データ入力手段11で入力されたCG画像Icgから偽の実写画像(偽実写画像Ifr)を生成する。実写画像生成手段12Aは、生成した偽実写画像Ifrを、CG画像生成手段13Aおよび特徴マップ付加手段16に出力する。
【0045】
実写画像生成手段(第2実写画像生成手段)12Bは、CG画像生成手段13Bで生成された偽のCG画像(偽CG画像Ifcg)から元の実写画像(複製実写画像Ir2)を生成する。実写画像生成手段12Bは、生成した複製実写画像Ir2を実写画像誤差算出手段14に出力する。
【0046】
CG画像生成手段13(13A,13B)は、CG画像生成ネットワークを用いて、実写画像からCG画像を生成するものである。
CG画像生成手段13は、記憶手段10に記憶されているCG画像生成ネットワークNG2に実写画像を入力し、学習対象のパラメータであるレイヤ間の重み係数を用いて、ニューラルネットワークの演算を行うことでCG画像を生成する。
【0047】
CG画像生成手段(第1CG画像生成手段)13Aは、実写画像生成手段12Aで生成された偽の実写画像(偽実写画像Ifr)から元のCG画像(複製CG画像Icg2)を生成する。CG画像生成手段13Aは、生成した複製CG画像Icg2をCG画像誤差算出手段15に出力する。
【0048】
CG画像生成手段(第2CG画像生成手段)13Bは、学習データ入力手段11で入力された実写画像Irから偽のCG画像(偽CG画像Ifcg)を生成する。CG画像生成手段13Bは、生成した偽CG画像Ifcgを、実写画像生成手段12Bおよび特徴マップ付加手段16に出力する。
【0049】
実写画像誤差算出手段14は、学習データ入力手段11で入力された実写画像Irと、実写画像生成手段12Bで生成された複製実写画像Ir2との誤差(実写画像誤差)を算出するものである。
画像誤差の演算手法は、特に限定するものではないが、例えば、画像の各画素値の差の絶対値の和であるL1誤差で求めることができる。あるいは、画像の各画素値の差の二乗和の平方根であるL2誤差としてもよい。
【0050】
ここで、実写画像生成ネットワークNG1による変換をG1、CG画像生成ネットワークNG2による変換をG2、実写画像Irの画像データをIrとしたとき、実写画像誤差算出手段14が算出するL1誤差は、以下の式(1)に示すサイクル誤差(実写画像誤差)Lcyc1を算出することに相当する。なお、||X||1は、L1誤差を示す。
【0051】
【0052】
実写画像誤差算出手段14は、算出した実写画像Irのサイクル誤差Lcyc1をパラメータ更新手段19に出力する。
【0053】
CG画像誤差算出手段15は、学習データ入力手段11で入力されたCG画像Icgと、CG画像生成手段13Aで生成された複製CG画像Icg2との誤差(CG画像誤差)を算出するものである。
画像誤差の演算手法は、特に限定するものではないが、実写画像誤差算出手段14と同じ手法を用いることができる。
【0054】
ここで、実写画像生成ネットワークNG1による変換をG1、CG画像生成ネットワークNG2による変換をG2、CG画像Icgの画像データをIcgとしたとき、CG画像誤差算出手段15が算出するL1誤差は、以下の式(2)に示すサイクル誤差(CG画像誤差)Lcyc2を算出することに相当する。
【0055】
【0056】
CG画像誤差算出手段15は、算出したCG画像Icgのサイクル誤差Lcyc2をパラメータ更新手段19に出力する。
【0057】
特徴マップ付加手段16は、学習データのCG画像および実写画像、ならびに、偽CG画像および偽実写画像の各画像に、それぞれの画像の予め定めた画像特徴を特徴マップとして付加するものである。
この特徴マップ付加手段16は、記憶手段10に記憶されている画像特徴抽出ネットワークN
Fに画像(実写画像、CG画像)を入力し、ニューラルネットワークの演算を行うことで画像特徴を生成し、元の画像に特徴マップとして付加する。例えば、特徴マップ付加手段16は、RGB3チャンネルの画像から1チャンネルのエッジ画像を画像特徴として生成し、
図5に示すように、RGB3チャンネルの画像に4チャンネル目の画像として、特徴マップMを付加する。
【0058】
特徴マップ付加手段16は、学習データ入力手段11から入力した実写画像Irに、生成した特徴マップ(実写画像特徴マップMr)を付加して、実写画像識別手段17に出力する。また、特徴マップ付加手段16は、学習データ入力手段11から入力したCG画像Icgに、生成した特徴マップ(CG画像特徴マップMcg)を付加して、CG画像識別手段18に出力する。
【0059】
また、特徴マップ付加手段16は、実写画像生成手段12Aから入力した偽実写画像Ifrに、生成した特徴マップ(偽実写画像特徴マップMfr)を付加して、実写画像識別手段17に出力する。また、特徴マップ付加手段16は、CG画像生成手段13Bから入力した偽CG画像Ifcgに、生成した特徴マップ(偽CG画像特徴マップMfcg)を付加して、CG画像識別手段18に出力する。
【0060】
実写画像識別手段17は、記憶手段10に記憶されている実写画像識別ネットワークND1を用いて、特徴マップが付加された学習データの実写画像と偽実写画像とについて、それぞれ真の実写画像か否かを示す真偽値を識別結果として算出するものである。
実写画像識別手段17は、実写画像識別ネットワークND1に、特徴マップ付加手段16で実写画像特徴マップMrが付加された実写画像Irを入力し、学習対象のパラメータであるカーネルの重み係数を用いてニューラルネットワークの演算を行い、0を超えて1未満の範囲の識別結果を算出する。
また、実写画像識別手段17は、実写画像識別ネットワークND1に、特徴マップ付加手段16で偽実写画像特徴マップMfrが付加された偽実写画像Ifrを入力し、学習対象のパラメータであるカーネルの重み係数を用いてニューラルネットワークの演算を行い、0を超えて1未満の範囲の識別結果を算出する。
【0061】
なお、
図2では、実写画像識別ネットワークN
D1による変換をD1、実写画像特徴マップMrを付加した実写画像Irの画像データをIr、偽実写画像特徴マップMfrを付加した偽実写画像Ifrの画像データをIfrとしたとき、実写画像Irに対する識別結果をD1(Ir)、偽実写画像Ifrに対する識別結果をD1(Ifr)と表している。
実写画像識別手段17は、実写画像Irに対する識別結果と、偽実写画像Ifrに対する識別結果とを、パラメータ更新手段19に出力する。
【0062】
CG画像識別手段18は、記憶手段10に記憶されているCG画像識別ネットワークND2を用いて、特徴マップが付加された学習データのCG画像と偽CG画像とについて、それぞれ真のCG画像か否かを示す真偽値を識別結果として算出するものである。
CG画像識別手段18は、CG画像識別ネットワークND2に、特徴マップ付加手段16でCG画像特徴マップMcgが付加されたCG画像Icgを入力し、学習対象のパラメータであるカーネルの重み係数を用いてニューラルネットワークの演算を行い、0を超えて1未満の範囲の識別結果を算出する。
また、CG画像識別手段18は、CG画像識別ネットワークND2に、特徴マップ付加手段16で偽CG画像特徴マップMfcgが付加された偽CG画像Ifcgを入力し、学習対象のパラメータであるカーネルの重み係数を用いてニューラルネットワークの演算を行い、0を超えて1未満の範囲の識別結果を算出する。
【0063】
なお、
図2では、CG画像識別ネットワークN
D2による変換をD2、CG画像特徴マップMcgを付加したCG画像Icgの画像データをIcg、偽CG画像特徴マップMfcgを付加した偽CG画像Ifcgの画像データをIfcgとしたとき、CG画像Icgに対する識別結果をD2(Icg)、偽CG画像Ifcgに対する識別結果をD2(Ifcg)と表している。
CG画像識別手段18は、CG画像Icgに対する識別結果と、偽CG画像Ifcgに対する識別結果とを、パラメータ更新手段19に出力する。
【0064】
パラメータ更新手段19は、実写画像誤差算出手段14およびCG画像誤差算出手段15で算出される誤差と、実写画像識別手段17およびCG画像識別手段18で算出される識別結果とに基づいて、予め定めた損失関数の損失値を最小化するように、実写画像生成ネットワークNG1、CG画像生成ネットワークNG2、実写画像識別ネットワークND1およびCG画像識別ネットワークND2のパラメータを更新するものである。
【0065】
パラメータ更新手段19は、損失関数として、実写画像識別ネットワークND1およびCG画像識別ネットワークND2を学習するための損失関数(以下、画像識別用損失関数という)と、実写画像生成ネットワークNG1およびCG画像生成ネットワークNG2を学習するための損失関数(以下、画像生成用損失関数という)と、を用いる。
【0066】
画像識別用損失関数は、実写画像Irに対する識別結果と真値との差、偽実写画像Ifrに対する識別結果と偽値との差、CG画像Icgに対する識別結果と真値との差、偽CG画像Ifcgに対する識別結果と偽値との差との和(損失値)を演算する関数である。なお、画像識別用損失関数は、識別結果と真偽値との交差エントロピーの和としてもよいし、識別結果と真偽値との差の二乗和であっても構わない。ここでは、交差エントロピーを例として説明する。
【0067】
以下の式(3)に示すように、画像識別用損失関数LDは、実写画像生成ネットワークNG1および実写画像識別ネットワークND1で構成されるGANの損失関数Lgan1と、CG画像生成ネットワークNG2およびCG画像識別ネットワークND2で構成されるGANの損失関数Lgan2との和である。
【0068】
【0069】
ここで、実写画像Irに対する識別結果の値をD1(Ir)、偽実写画像Ifrに対する識別結果の値をD1(Ifr)、CG画像Icgに対する識別結果の値をD2(Icg)、偽CG画像Ifcgに対する識別結果の値をD2(Ifcg)とする。また、真値を“Real(=1)”、偽値を“Fake(=0)”とする。また、Lbceを、2値交差エントロピーを演算する関数とする。
この場合、式(3)のLgan1およびLgan2は以下の式(4)となる。
【0070】
【0071】
なお、aは“0”,“1”を両端とする開区間の実数〔a∈(0,1)〕、bは“0”または“1”〔b∈{0,1}〕を示す。
【0072】
画像生成用損失関数は、偽実写画像Ifrに対する識別結果と真値との差、偽CG画像Ifcgに対する識別結果と真値との差、サイクル誤差(実写画像誤差)Lcyc1、サイクル誤差(CG画像誤差)Lcyc2との和(損失値)を演算する関数である。
以下の式(5)に示すように、画像生成用損失関数LGは、実写画像生成ネットワークNG1の損失関数LG1と、CG画像生成ネットワークNG2の損失関数LG2との和である。なお、損失関数LG1と損失関数LG2には、サイクル誤差Lcyc1,Lcyc2が含まれている。
【0073】
【0074】
ここで、偽実写画像Ifrに対する識別結果の値をD1(Ifr)、偽CG画像Ifcgに対する識別結果の値をD2(Ifcg)とする。また、真値を“Real(=1)”、偽値を“Fake(=0)”とする。また、Lbceを、2値交差エントロピーを演算する関数とする。
この場合、式(5)のLG1およびLG2は以下の式(6)となる。
【0075】
【0076】
なお、λは、任意の定数であって、サイクル誤差Lcyc1,Lcyc2の重みを、交差エントロピーと同程度に調整する係数である。
【0077】
パラメータ更新手段19は、式(3)の画像識別用損失関数の値を最小化させるように誤差逆伝播法により、実写画像識別ネットワークND1およびCG画像識別ネットワークND2のパラメータを更新する。
また、パラメータ更新手段19は、式(5)の画像生成用損失関数の値を最小化させるように誤差逆伝播法により、実写画像生成ネットワークNG1およびCG画像生成ネットワークNG2のパラメータを更新する。
そして、パラメータ更新手段19は、パラメータ更新後、次の学習データ入力することを学習データ入力手段11に指示する。また、パラメータ更新手段19は、パラメータ更新の変化量が予め定めた閾値を下回る場合、その旨を学習データ入力手段11に通知する。
【0078】
以上説明したように、画像変換用ネットワーク学習装置1は、実写画像、偽実写画像、CG画像および偽CG画像にそれぞれのエッジ画像を特徴マップとして付加して、画像の真偽を識別するため、学習対象である各ニューラルネットワーク(ND1,ND2,NG1およびNG2)に対して、明示的にエッジの特徴に対する重要度を高めることができる。
【0079】
これによって、画像変換用ネットワーク学習装置1は、エッジの鮮明さの劣化を抑えて、CG画像を写実性の高い疑似実写画像に変換するための実写画像生成ネットワークNG1を学習することができる。
なお、画像変換用ネットワーク学習装置1は、コンピュータを、前記した各手段として機能させるための画像変換用ネットワーク学習プログラムで動作させることができる。
【0080】
<画像変換用ネットワーク学習装置の動作>
次に、
図6を参照(構成については適宜
図2参照)して、画像変換用ネットワーク学習装置1の動作について説明する。なお、学習データ記憶装置2には、学習データである複数のCG画像Icgと、複数の実写画像Irとが記憶されているものとする。
【0081】
ステップS1において、学習データ入力手段11は、学習データ記憶装置2に記憶されているCG画像Icgおよび実写画像Irをそれぞれランダムに入力する。
そして、画像変換用ネットワーク学習装置1は、ステップS1で入力されたCG画像Icgについて、以下のステップS2からS8の動作を行う。
【0082】
ステップS2において、実写画像生成手段12Aは、記憶手段10に記憶されている実写画像生成ネットワークNG1を用いて、ステップS1で入力されたCG画像Icgから偽の実写画像(偽実写画像Ifr)を生成する。
ステップS3において、CG画像生成手段13Aは、記憶手段10に記憶されているCG画像生成ネットワークNG2を用いて、ステップS2で生成された偽実写画像Ifrから元のCG画像(複製CG画像Icg2)を生成する。
ステップS4において、CG画像誤差算出手段15は、ステップS1で入力されたCG画像Icgと、ステップS3で生成された複製CG画像Icg2との画像の誤差を算出する。これによって、CG画像誤差算出手段15は、CG画像Icgに対するサイクル誤差(CG画像誤差)Lcyc2を算出する。
【0083】
ステップS5において、特徴マップ付加手段16は、記憶手段10に記憶されている画像特徴抽出ネットワークNFを用いて、ステップS2で生成された偽実写画像Ifrから画像特徴を生成し、偽実写画像Ifrに特徴マップとして付加する。
ステップS6において、特徴マップ付加手段16は、記憶手段10に記憶されている画像特徴抽出ネットワークNFを用いて、ステップS1で入力されたCG画像Icgから画像特徴を生成し、CG画像Icgに特徴マップとして付加する。
【0084】
ステップS7において、実写画像識別手段17は、記憶手段10に記憶されている実写画像識別ネットワークND1を用いて、ステップS5で特徴マップが付加された偽実写画像Ifrが真の実写画像か否かを識別する。ここで、実写画像識別手段17は、「偽」を“0”、「真」を“1”とする0を超え1未満の範囲で実写画像の識別結果D1(Ifr)を算出する。
ステップS8において、CG画像識別手段18は、記憶手段10に記憶されているCG画像識別ネットワークND2を用いて、ステップS6で特徴マップが付加されたCG画像Icgが真のCG画像か否かを識別する。ここで、CG画像識別手段18は、「偽」を“0”、「真」を“1”とする0を超え1未満の範囲でCG画像の識別結果D2(Icg)を算出する。
【0085】
また、画像変換用ネットワーク学習装置1は、ステップS1で入力された実写画像Irについて、以下のステップS9からS15の動作を行う。
ステップS9において、CG画像生成手段13Bは、記憶手段10に記憶されているCG画像生成ネットワークNG2を用いて、ステップS1で入力された実写画像Irから偽のCG画像(偽CG画像Ifcg)を生成する。
ステップS10において、実写画像生成手段12Bは、記憶手段10に記憶されている実写画像生成ネットワークNG1を用いて、ステップS9で生成された偽CG画像Ifcgから元の実写画像(複製実写画像Ir2)を生成する。
ステップS11において、実写画像誤差算出手段14は、ステップS1で入力された実写画像Irと、ステップS10で生成された複製実写画像Ir2との画像の誤差を算出する。これによって、実写画像誤差算出手段14は、実写画像Irに対するサイクル誤差(実写画像誤差)Lcyc1を算出する。
【0086】
ステップS12において、特徴マップ付加手段16は、記憶手段10に記憶されている画像特徴抽出ネットワークNFを用いて、ステップS9で生成された偽CG画像Ifcgから画像特徴を生成し、偽CG画像Ifcgに特徴マップとして付加する。
ステップS13において、特徴マップ付加手段16は、記憶手段10に記憶されている画像特徴抽出ネットワークNFを用いて、ステップS1で入力された実写画像Irから画像特徴を生成し、実写画像Irに特徴マップとして付加する。
【0087】
ステップS14において、CG画像識別手段18は、記憶手段10に記憶されているCG画像識別ネットワークND2を用いて、ステップS12で特徴マップが付加された偽CG画像Ifcgが真のCG画像か否かを識別する。ここで、CG画像識別手段18は、「偽」を“0”、「真」を“1”とする0を超え1未満の範囲でCG画像の識別結果D2(Ifcg)を算出する。
ステップS15において、実写画像識別手段17は、記憶手段10に記憶されている実写画像識別ネットワークND1を用いて、ステップS13で特徴マップが付加された実写画像Irが真の実写画像か否かを識別する。ここで、実写画像識別手段17は、「偽」を“0”、「真」を“1”とする0を超え1未満の範囲で実写画像の識別結果D1(Ir)を算出する。
なお、ステップS2~S8と、ステップS9~S15とは、並列で処理することができる。
【0088】
ステップS16において、パラメータ更新手段19は、サイクル誤差Lcyc1,Lcyc2と、識別結果D1(Ir),D1(Ifr),D2(Icg),D2(Ifcg)と、に基づいて、実写画像生成ネットワークNG1、CG画像生成ネットワークNG2、実写画像識別ネットワークND1およびCG画像識別ネットワークND2のパラメータを更新する。
【0089】
ここでは、パラメータ更新手段19は、予め定めた画像識別用損失関数(式(3),式(4)参照)により、識別結果D1(Ir)と真値との差(例えば、交差エントロピー、以下同様)、識別結果D1(Ifr)と偽値との差、識別結果D2(Icg)と真値との差、および、識別結果D2(Ifcg)と偽値との差の和を最小化するように、実写画像識別ネットワークND1およびCG画像識別ネットワークND2のパラメータを更新する。
【0090】
また、パラメータ更新手段19は、予め定めた画像生成用損失関数(式(5),式(6)参照)により、識別結果D1(Ifr)と真値との差、識別結果D2(Ifcg)と真値との差、サイクル誤差Lcyc1、および、サイクル誤差Lcyc2の和を最小化するように、実写画像生成ネットワークNG1およびCG画像生成ネットワークNG2のパラメータを更新する。
【0091】
ステップS17において、学習データ入力手段11は、予め定めた学習完了の終了条件を満たしたか否かを判定する。例えば、ここでは、学習データ入力手段11は、予め定めた学習回数だけ、学習データ全体を選択していない場合(ステップS17でNo)、学習が完了していないと判定し、画像変換用ネットワーク学習装置1は、ステップS1に戻って学習を継続する。
【0092】
一方、学習データ入力手段11は、予め定めた学習回数だけ、学習データ全体を選択した場合(ステップS17でYes)、学習が完了したと判定し、画像変換用ネットワーク学習装置1は、動作を終了する。
以上の動作によって、画像変換用ネットワーク学習装置1は、エッジの鮮明さの劣化を抑えて、CG画像を写実性の高い疑似実写画像に変換するための実写画像生成ネットワークNG1を学習することができる。
【0093】
<画像変換装置の構成>
次に、
図7を参照して、本発明の実施形態に係る画像変換装置3の構成について説明する。
【0094】
画像変換装置3は、CG画像を疑似実写画像に変換するものである。なお、CG画像Icgは、3Dモデルをレンダリングした画像である。
図7に示すように、画像変換装置3は、記憶手段30と、画像入力手段31と、実写画像生成手段32と、画像出力手段33と、備える。
【0095】
記憶手段30は、実写画像生成ネットワークN
G1を予め記憶するものである。記憶手段30は、ハードディスク、半導体メモリ等の一般的な記憶媒体で構成することができる。
実写画像生成ネットワーク(NW)N
G1は、CG画像から疑似実写画像を生成するニューラルネットワークである。この実写画像生成ネットワークN
G1は、
図2の画像変換用ネットワーク学習装置1で説明した実写画像生成ネットワークN
G1と同じ複数の畳み込み層を含んだ畳み込みニューラルネットワークである(
図3参照)。
この実写画像生成ネットワークN
G1は、予め画像変換用ネットワーク学習装置1(
図2)で学習したものである。
実写画像生成ネットワークN
G1は、実写画像生成手段32によって参照される。
【0096】
画像入力手段31は、外部から、実写化の対象となるCG画像Icgを入力するものである。
画像入力手段31は、入力したCG画像Icgを、実写画像生成手段32に出力する。
【0097】
実写画像生成手段(第3実写画像生成手段)32は、CG画像から実写画像(疑似実写画像)を生成するものである。
実写画像生成手段32は、記憶手段30に記憶されている実写画像生成ネットワークNG1にCG画像を入力し、学習済のパラメータであるレイヤ間の重み係数を用いて、ニューラルネットワークの演算を行うことで実写画像を生成する。
実写画像生成手段32は、生成した実写画像Irを画像出力手段33に出力する。
【0098】
画像出力手段33は、実写画像生成手段32で生成された実写画像を外部に出力するものである。例えば、画像出力手段33は、外部の記憶媒体に実写画像を記憶する、外部の表示装置に実写画像を表示する等、実写画像の外部出力を行う。
以上説明したように画像変換装置3を構成することで、画像変換装置3は、エッジの鮮明さの劣化を抑えて、CG画像を写実性の高い疑似実写画像に変換することができる。
なお、画像変換装置3は、コンピュータを、前記した各手段として機能させるための画像変換プログラムで動作させることができる。
【0099】
<画像変換装置の動作>
次に、
図8を参照(構成については適宜
図7参照)して、本発明の実施形態に係る画像変換装置3の動作について説明する。なお、記憶手段30には、学習済の実写画像生成ネットワークN
G1が記憶されているものとする。
【0100】
ステップS20において、画像入力手段31は、外部から、実写化の対象となるCG画像を入力する。
ステップS21において、実写画像生成手段32は、記憶手段30に記憶されている実写画像生成ネットワークNG1の学習済のパラメータであるレイヤ間の重み係数を用いて、ステップS20で入力されたCG画像から実写画像(疑似実写画像)を生成する。
ステップS22において、画像出力手段33は、ステップS21で生成された実写画像(疑似実写画像)を外部に出力する
以上の動作によって、画像変換装置3は、エッジの鮮明さの劣化を抑えて、CG画像を写実性の高い疑似実写画像に変換することができる。
【0101】
以上、本発明の実施形態に係る画像変換用ネットワーク学習装置1および画像変換装置3について説明したが、本発明は、この実施形態に限定されるものではない。
<変形例1>
ここでは、画像変換装置3を、
図7の構成としたが、
図9に示すように、画像変換装置3の内部に画像変換用ネットワーク学習装置1を備えた画像変換装置3Bとして構成してもよい。なお、
図9の画像変換装置3Bの内部に備える画像変換用ネットワーク学習装置1は、
図2で説明した構成と同じ構成であるため、内部の詳細な構成は図示を省略している。
この場合、記憶手段10に記憶され、学習される実写画像生成ネットワークN
G1が、実写画像生成手段32によって参照されることになる。
図9に示すように画像変換装置3Bを構成することで、画像変換装置3Bは、画像変換用ネットワーク学習装置1および画像変換装置3の効果に加え、実写画像生成ネットワークN
G1の再学習を容易に行うことができる。
なお、画像変換装置3Bは、コンピュータを、前記した各手段として機能させるための画像変換プログラムで動作させることができる。
【0102】
<変形例2>
ここでは、画像変換用ネットワーク学習装置1(
図2参照)の特徴マップ付加手段16において、画像特徴抽出ネットワークN
Fを用いて、画像特徴を抽出することとした。
しかし、画像特徴の抽出には、一般的なアルゴリズムによる画像変換フィルタを用いてもよい。例えば、特徴マップ付加手段16は、入力した画像をグレースケール化し、ソーベルフィルタ等のエッジ抽出フィルタでエッジを抽出することとしてもよい。ただし、このような画像変換フィルタは、ニューラルネットワークの最適化の過程でバックプロパケーションのネットワーク内に組み込めるものとする。
【0103】
<変形例3>
ここでは、画像変換用ネットワーク学習装置1(
図2参照)の特徴マップ付加手段16において、画像特徴としてエッジを用いた。
しかし、画像特徴は、必ずしもエッジに限定されるものではなく、輪郭、色等を画像特徴としてもよい。
【0104】
例えば、輪郭を画像特徴とする場合、特徴マップ付加手段16は、入力した画像を2値化し、一方の画素値を“0”、他方の画素値を“255”のように、輪郭の内外で急峻に画素値が変化する1チャンネルのデータを特徴マップとして付加すればよい。
これによって、画像変換用ネットワーク学習装置1は、学習対象である各ニューラルネットワーク(ND1,ND2,NG1およびNG2)に対して、明示的に輪郭の特徴に対する重要度を高めることができ、輪郭のボケを抑え、写実性の高い疑似実写画像に変換するための実写画像生成ネットワークNG1を学習することができる。
【0105】
また、例えば、色を画像特徴とする場合、特徴マップ付加手段16は、入力したカラー画像(例えば、RGB)の3チャンネルの各チャンネルにおいて、予め定めた大きさのセグメントに区切った領域ごとに代表値(平均値、最頻値等)を設定した3チャンネルのデータを生成し、
図10に示すように、RGB3チャンネルの画像の4~6チャンネル目に特徴マップMとして付加すればよい。
これによって、画像変換用ネットワーク学習装置1は、学習対象である各ニューラルネットワーク(N
D1,N
D2,N
G1およびN
G2)に対して、明示的に色の特徴に対する重要度を高めることができ、色のボケを抑え、写実性の高い疑似実写画像に変換するための実写画像生成ネットワークN
G1を学習することができる。
【0106】
なお、特徴マップ付加手段16が付加する特徴マップは、必ずしも1つの画像特徴のみを用いたものではなく、エッジ、輪郭、色等の1以上の組み合わせで特徴マップを付加してもよい。
例えば、
図11に示すように、特徴マップ付加手段16は、RGB3チャンネルの画像に、エッジの特徴マップM1、輪郭の特徴マップM2、色の特徴マップM3を付加することとしてもよい。
【符号の説明】
【0107】
1 画像変換用ネットワーク学習装置
10 記憶手段
11 学習データ入力手段
12、12A 実写画像生成手段(第1実写画像生成手段)
12、12B 実写画像生成手段(第2実写画像生成手段)
13、13A CG画像生成手段(第1CG画像生成手段)
13、13B CG画像生成手段(第2CG画像生成手段)
14 実写画像誤差算出手段
15 CG画像誤差算出手段
16 特徴マップ付加手段
17 実写画像識別手段
18 CG画像識別手段
19 パラメータ更新手段
2 学習データ記憶装置
3、3B 画像変換装置
30 記憶手段
31 画像入力手段
32 実写画像生成手段(第3実写画像生成手段)
33 画像出力手段
NG1 実写画像生成ネットワーク
NG2 CG画像生成ネットワーク
ND1 実写画像識別ネットワーク
ND2 CG画像識別ネットワーク
NF 画像特徴抽出ネットワーク