2019 年度情報処理学会関西支部 支部大会

G-102

Deep learning による複数人物画像のヒュージョン
Fusion of Multiple Person Images using Deep learning高木 一宏 †

岡留 剛 †

Kazuhiro Takagi

Takeshi Okadome

概要
画像生成で使われる Generative Adversarial Network(GAN) は，他手法と比較して鮮明な画像を生成する．その欠点として，入力で用いる潜在変数ベクトルの各要素が，生成した画像のどの部分に対応しているのか，人手で調べる必要がある。また，画像処理の分野で，異なる画像同士を合成させる手法は多数存在するが，出力画像がいびつな結果となり成果が出ていない．本研究では，異なる二つの入力画像を写像した 2 つの潜在変数ベクトルの各要素を自動的に明示化し，それらの各要素を組み合わせることで，二つの入力画像を指定通りに融合する手法の構築を目指す．
提案手法から得られた生成画像の結果は，入力画像の特徴を含んだ画像が生成された．ただし，提案手法は，GANと比較して細かな指定が可能になったが，画像内の人や物の形状に関する部分については，まだ細かな指定ができな
いため今後の課題である．

Generative Adversarial Network(GAN) is often used in the field of image generation. This method is able togenerate more photo-realistic images than other methods. As GAN’s disadvantage, it is necessary to manuallycheck that each element of latent variable vector used in GAN’s input correspond to which part of the generated
image. Also, in the feald of image processing, there are many ways to combine diﬀerent images. However, theoutput image becomes an artifact and no results have been obtained. In this study, each element of two latentvariable vectors, which mapped two diﬀerent input images, is automatically clarified, and we aim to build a method
to fuse as specified by combining those elements. The generated image which was obtained from the proposed
method contained the feature of the input image. However, the proposed method can be specified more detailthan GAN, but it is a future task because it is not possible to specify in detail the parts related to the shapes ofpeople and objects in the image.

1.

はじめに

画像生成において，機械が自動的に新しい画像を生成することで，アニメーション作成や動画作成などへの分野の応用に期待されている．

動に頼る必要があり，人手による膨大なコストがかかってしまう．
本研究では，自動で潜在変数ベクトルの各要素を明示化することで，生成したい画像を指定可能にすることを画像生成の分野では，Generative Adversarial Network

目指す．また，潜在変数ベクトルの各要素の明示化は，(GAN) [1] をベースとした手法が大きく成果を出している．GAN は，偽の画像を生成する Generator，真の画各入力画像に対応する各潜在変数ベクトルの要素を組み像と生成された偽の画像を識別する Discriminator，二られる．明示化した潜在変数ベクトルの各要素を組み合

つのニューラルネットで構成される．この手法の学習法

わせることで，異なる画像同士を違和感なく融合する手が，互いのニューラルネットを競わせることから敵対的法を提案する．本論文の貢献は，潜在変数ベクトルの各学習と呼ばれている．利点として，画像が分布に従うと要素を組み合わせることで，異なる画像の指定した部分

直接仮定する必要がないため，画像の表現力を上げ，他を融合可能にしたことである．以下各節で，関連研究，

手法よりも鮮明な画像を生成できる．しかし，この手法

提案手法，予備実験について詳細に述べ，まとめを記す．

の欠点は，生成させる画像を選択できないところである．
なぜなら，Generator の入力である潜在変数ベクトルの各要素が，生成される画像のどの部分に対応しているのかが実験的にしかわからないためである．そのため，手†関 西 学 院 大 学 大 学 院, Kwansei Gakuin University
Graduate

替えることで，2 種類の画像の融合を可能になると考え

2.

関連研究

Style Separation and Synthesis via Generative Adversarial Network (S3-GAN) [2] は，潜在変数ベクトルの要素を Content 要素と Style 要素の 2 種類に分割してdisentangle にする手法である．Content 要素とは，画像

内の形や輪郭などを表し，Style 要素は，画像全体の色あいである．S3-GAN は，二つの異なる入力画像の潜在変数ベクトルの Content 要素と Style 要素を，入れ替え
る．片方の画像の Content 要素を持ち，もう片方の画像の Style 要素を持った，新たな画像が生成できる．しかし，この手法は，潜在変数ベクトルを二つの要素でしか明示化していないため，画像生成のために，より細かな指定をするのは困難である．

Suzuki ら [3] は，学習済みの GAN の Generator を使用することで，ある画像の指定した部分を，別の画像の指定した部分に貼り付けることで，2 種類の異なる画像

図 1: 入力画像 A，入力画像 B の，各潜在変数ベクトルの部位を融合した新たな画像を生成させることを可能に

ZA , ZB の要素の割合を，超パラメータ Λ を調整して足した．融合の行い方は，ある画像を生成する学習済みのし合わせた式 (1) の潜在変数ベクトルから，画像 C を生Generator の特徴 map の指定した部分に該当するとこ成する提案モデル

ろを 0 にし，その部分に別の画像の特徴 map の値を加算する．しかし，この手法は，特徴 map の値の部分は手動で指定する必要がある．
本研究では，潜在変数ベクトルの要素を詳細に明示化
し，画像同士の融合も自動化する手法を提案する．

3.2

Loss 関数提案モデルを学習するためには，図 2 に示されている Discriminator と Perceptual Network という二つのニューラルネットを導入する．Discriminator は，Gen-

erator から生成された画像が偽，真の画像が真である

3.

提案手法

と，識別するためのニューラルネットである．Percep-

3.1

提案モデル

tual Network は，画像を入力して，画像を表すラベルを

ここでは，異なる入力画像同士から融合した画像を生出力する分類のためのニューラルネットであるが，本研成させるモデルについて説明する．図 1 は，提案モデル

究では，このニューラルネットの各層の特徴 map を使を表現するグラフである．入力画像を A，B とおき，生用する．Discriminator と Perceptual Network の構造に成される画像は C とする．入力画像を潜在変数ベクトル

ついては，後に 4.2 節で詳細を述べる．また，Encoder，に写像するニューラルネットは Encoder，潜在変数ベク

Generator，Discriminator，Perceptual Network を，最トルから画像を生成するニューラルネットを Generator

適化するために，目的関数には，5 つの誤差関数を用いと呼ぶ．Generator，Encoder の構造については，後にる．各誤差関数は，Adversarial loss，Content Percep-

4.2 節で詳細に述べる．入力画像 A から Encoder により{}A写像された潜在変数ベクトル ZA = zA
1 , . . . , zN ，入力

tual loss，Style Perceptual loss，Reconstruction loss，
Total Variation Loss である．Adversarial loss は，より

画像 B から Encoder により写像された潜在変数ベクト{}
B
ル ZB = zB
1 , . . . , zN とする．Λ = {λ1 , . . . , λN } は，写実的で鮮明な画像を生成するために用いる．Content

Perceptual loss は，入力画像の形状を，生成画像に反潜在変数ベクトル Z と Z の各要素の足し合わせた方映させるために用いる．Style Perceptual loss は，入力を調整する超パラメータとする．超パラメータ Λ の値

画像の色合いなどを，生成画像に反映させるために用いは，ユーザ指定である．この超パラメータ Λ の値による．Reconstruction loss は，生成画像が乱れないように，り，画像の融合度合いが調整される．入力画像 A，B のGenerator に入力画像と同じ画像を，正確に再構成させ各潜在変数ベクトルを，超パラメータ Λ により，調整しるために用いる．Total Variational loss は，画像同士がて足し合わせた ZC を以下の式とする．

不連続になりすぎて，突飛な歪さが生じるのを防ぐため

ABに用いる．各誤差関数の詳細については，以下に述べる．

ZC = Λ ◦ ZA + (1 − Λ) ◦ ZB

(1)

生成画像 C は，ZC を Generator に入力することで得られる．生成画像 C を生成する潜在変数ベクトル ZC ={ C}
z1 , . . . , zC
N とする．

また，超パラメータ λ の値が，全て 1 なら，画像 C は画
像 A に再構成される．全て 0 なら，画像 C は画像 B に再構成される．以下の節から，簡略化のため，Encoder，Generator，Discriminator，Perceptual Network は，E，G，D，P と呼ぶ．

であると，きちんと判別できるようにするために LA を最大化する．LA により，鮮明な生成画像 G(ZC ) が得られるようになる．

3.2.2

Content Perceptual loss

入力画像 A と入力画像 B を要素ごとに融合した画像

C が，画像 A や画像 B の形状を残したい場合，Content
Perceptual LossLc を用いる．通常，融合生成した画像
C の教師データは存在しない．そのため，P を使用し，
図 2: 提案モデルの学習のためには，Encoder，Genera-

融合生成した画像 C の特徴が，入力画像の形状の特徴

tor のは他に，Discriminator，Perceptual Network を用に近くなるように誤差を最小化する [5, 6]．超パラメー

いる．目的関数には，5 つの誤差関数 Adversarial loss，タ Λ の要素 λn が 1 の時は，入力画像 A の特徴の形状にContent Perceptual loss，Style Perceptual loss，Recon-

近付ける．0 の時は，入力画像 B の特徴の形状に近付け

struction loss，Total Variation Loss を用いる．また，る．ある入力画像 I ∼ pM を P に入力したときの，P のContent Perceptual loss，Style Perceptual loss は，超パラメータ λ の値により，画像 C を入力したときの Per-

ceptual Network の特徴 map が，画像 A，画像 B の各
Perceptual Network の特徴 map のどちらと比較するか決まる．

l 層の特徴 map は，Pl (I) とする．Lc は，特徴間の平均2 乗誤差で表される．
∑
∥Pl (C) − Pl (A)∥22 , λn = 1.

Lc (E, G) = l∈F∑c∥Pl (C) − Pl (B)∥22 , λn = 0.



(4)

l∈Fc

3.2.1

Adversarial loss

ここで，Fc とは，Lc で使われる P の特徴 map の集合

E，G，D の 3 つのパラメータを最適化するために，の事である．

Adversarial loss LA を用いる．通常，GAN [1] で用いられLc で使われる P の特徴 map は，P の深い層の特徴

る Adversarial loss は，Jensenn-Shannon divergence を

map である．P の深い層には，画像の形状に関する特徴用いる．しかし，それを用いると，勾配消失を引き起こし，

map が保存されているためである [6]．

Generator のパラメータの勾配が 0 になり，Generatorの重みパラメータの学習が上手く進まず，学習が失敗す

3.2.3

Style Perceptual loss

ることがある．そのため，Jensenn-Shannon divergenceには学習の安定性がない．そこで，勾配消失を防ぎ，学

入力画像 A と入力画像 B を要素ごとに融合した画像

習を安定化させるために，Wasserstein divergence [4] をC が，画像 A や画像 B の色合いを残したい場合，Style

用いる．

Perceptual LossLs を用いる． Lc と同様の理由から，P多様体 M 上の訓練データの分布を pM とする．pM
からデータをサンプリングする過程を I ∼ pM とする．

Adversarial loss は以下の式になる．

の各層から出力した，融合生成画像 C の特徴が，入力画像の色合いの特徴に近くなるように，入力画像の特徴との誤差を最小化する．もし，画像 I を入力したときの，P の l 層の特徴 mapPl (I) が，Cl × Hl × Wl の型を持つ
LA (E, G, D) = EI∼pM [D(I)]なら，Lc は，グラム行列のフロベニウス距離の 2 乗誤

−EA,B∼pM [D(G(Z ))],C

(2)

ZC は式 (1) から得られる．最大最小目的関数は，LA を最適化するために用いられる．

arg min max LA (E, G, D).
E,G

D

(3)

ここで，E と G は，生成画像 G(ZC ) が訓練データの画像と類似した画像を生成するために，LA を最小化する．

D は，生成画像 G(ZC ) は偽で，訓練データの画像は真差で以下のように表される．
∑∥ψl (C) − ψl (A)∥2F ,
Ls (E, G) = l∈F∑s∥ψl (C) − ψl (B)∥2F ,λn = 1.
(5)λn = 0.

l∈Fs

ここで，Fs とは，Ls で使われる，P の特徴 map の集合の事である．ψl (I) は Cl × Cl のグラム行列であり，Clは，特徴 mapPl (I) のチャネル次元である．グラム行列′

ψl (I) の要素 ψlc,c (I) は，以下の式で表される．
′

ψlc,c (I) =1
Cl Hl Wl

∑ h,w,c′pl(I)ph,w,c
(I).
l

学習手順

この節では，提案モデルを学習するための手順について紹介する．提案モデルは，入力画像の潜在変数ベクト

(6)

h,w

ルの各要素を，超パラメータ Λ の要素を調節して足し合わせることで融合画像を生成する．そのためには，入力グラム行列は，式 (6) からわかるように，特徴 map の縦，横の空間情報を加算して消去し，チャネル同士で相関を取る行列にしている [5]．

Ls で使われる P の特徴 map は，P の浅い層の特徴
map である．P の浅い層には，画像の色や質感に関する特徴 map が保存されているためである [6]．

3.2.4

3.3

画像が，E により潜在変数ベクトルへ写像し，G により
きちんと画像を再構成させる必要がある．そのため，Eと G に関しては，図 3 の Auto Encoder で事前学習を行う．また，第 3.2 節で定義した Loss 関数で，最初から学習するよりも，事前学習済みの方が学習を高速化できると考えられる．

Reconstruction loss

Reconstruction lossLR は，E と G が正確に，入力画像と同じ画像を，再構成させるために必要である．また，
入力画像 A と入力画像 B の融合する要素を調整するた
めに，式 (1) の超パラメータ Λ の要素が，全て 1 のとき

図 3: 入力画像がきちんと再構成されるように，E と G

入力画像 A を，全て 0 のとき入力画像 B を再構成させで事前学習を行う．入力が画像 A の場合である．

る必要がある．LR は以下の式で表される．

LAE (E, G) = ∥A′ − A∥1 = ∥G(E(A)) − A∥1 .

LR (E, G) = ∥A′ − A∥1 + ∥B ′ − B∥1 + R(I)= ∥G(E(A)) − A∥1 + ∥G(E(B)) − B∥1 + R(I), (7)(10)

Auto Encoder の学習には，式 (10) の絶対値誤差を使用する．式でも入力画像が A の場合である．

R(I) =
∥G(Λ ◦ E(A) + (1 − Λ) ◦ E(B)) − I∥1
R(A), Λ = 1.

= R(B), Λ = 0.



0,
Λ ̸= 1 ∩ Λ ̸= 0.

事前学習済みの E と G を使用して，第 3.2 節で定義した式 (2)，式 (4)，式 (5)，式 (7)，式 (9) を，重みづけ和
して学習を行う．重みづけ和した目的関数を LO とする．

LR には，L1 誤差関数を使用する．L2 誤差関数を使用

LO (E, G, D) = w1 LA (E, G, D) + w2 Lc (E, G)

した場合と比較して，画像がより鮮明になるためであ+w3 Ls (E, G) + w4 LR (E, G) + w5 LT V (E, G),

る [2]．

(11)
ここで，式 (11) の，重み w1 , w2 , w3 , w4 , w5 を調節することで，各 Loss 関数の重要度を調節する．以下の minmax

3.2.5

Total Variation loss

問題を解くことで、提案モデルの E と G を学習するこ

Total Variation loss LT V は，生成した画像の，隣りとができる．

合う画素値間の差分を少なくします．そのため，生成画

E ⋆ , G⋆ = arg min max LO (E, G, D).
E,G像は，とても滑らかになり，いびつな不連続性を減らし

D

(12)

ます．LT V の式は，再構成画像と融合生成した画像のどちらにも適用する．
∑
ϕ(X) =((xi,j+1 − xi,j )2 + (xi+1,j − xi,j )2 ),

(8)

i,j

4.

予備実験

4.1

使用したデータセット

今実験で使用したのは，有名人の顔画像データセット

LT V (E, G) = ϕ(C) + ϕ(A′ ) + ϕ(B ′ )である，CelebA dataset [7] を使用した．データセット= ϕ(G(Λ ◦ E(A) + (1 − Λ) ◦ E(B)))

は，10K の属性で分類された，202599 枚の有名人の顔画+ϕ(G(E(A))) + ϕ(G(E(B))).

(9)

像データで構成されている．顔画像データの型は，(縦，横，チャネル数) = (178，218，3) である．提案モデル

化して学習を行う方法は，学習時間を大幅に減らすことの学習の時は，(128，128，3) へ型変換を行う．学習のができるので使用した．

ための，訓練データを 200000 枚使用し，バッチサイズ

P には，ImageNet dataset [8] で事前学習された VGG-

を 100 枚とし，訓練データからランダムに取り出す．テ

19network [9] を使用した．他にも，事前学習されたニューストデータを残りの 2599 枚とした．

ラルネットは存在するが，構造が複雑になり正確な特徴

4.2

使用したニューラルネットの構造

表 1: E，G，D の構造，BN: Batch Normalization

map を抽出するのが困難になる．そのため，高い精度を持ち，構造が浅い層から深い層へ直線につながった簡単な構造を持つ，VGG-19 を用いた．

4.3

実装の詳細について

1 節で定義した，各潜在変数ベクトル ZA ，ZB の型は，
}
} { B
{
B
A
[1024，4，4] となる． zA
1 , . . . , zN ， z1 , . . . , zN の要}{
Aの各要素の型は
素数は，N = 5 とする． zA
1 , . . . , z4[204，4，4] とし，zA
5 の要素の型は [208，4，4] とする．
ZB ，Λ の各要素の型も同様とした．
3.2.2 節の content perceptual loss，3.2.3 節の styleperceptual loss で使う特徴 map は，conv1 1，conv2 1，
conv3 1，conv4 1，conv5 1 からの出力を用いた．3.2.2
節の content perceptual loss では conv4 1，conv5 1 の出力，3.2.3 節の style perceptual loss では conv1 1，

conv2 1，conv3 1 の出力をそれぞれ用いた． 式 (11) の各重みの値は，w1 = 1, w2 = 10−6 , w3 = 5 × 10−5 , w4 =30, w5 = 1 とした．3.2.2 節の content perceptual loss と3.2.2 節の content perceptual loss は，他の loss 関数と比較して大きな値になるので，重みの値は他の loss 関数と比較して小さな値にし，桁数がそろうようにした [2]．

E，G，D，P のネットワークの学習には，Adam 法を最適化手法として用いた．学習率は 0.001 とし，minibatch
は 100 として実装した．各ネットワークの学習と推論は，

1 台の NVIDIA Tesla V100 GPU 上で実装した．
4.4

実験結果

学習済みの提案モデルから，以下の図 4 で示されているように入力画像同士の融合が成功していることがわかった．Λ の各要素の値を調節して，入力画像の融合度

E，G，D の構造の詳細は，表 1 で示されてい合いを調節しながら，表示した．Λ の各要素が全て 1 のる．また，構造の作成は [2] を参考にした．E，D は，ときは，入力画像 A が再構成され，全て 0 のときは，入Convolution，Batch Normalization，Leaky ReLU を一
つのブロックとして，5 ブロック使用する．しかし，D の出

力画像 B が再構成される．0〜1 の値では，1 に近い値は
入力画像 A に寄った融合，0 に近い値は入力画像 B に

力は完全結合を使用する．G は，Deconvolution，Batch

寄った画像となる．課題としては，形状の異なる画像でNormalization，ReLU を一つのブロックとして，4 ブロッ

は，融合がうまくいかないところである．例えば，正面ク使用する．G の出力ブロックは，Deconv，tanh とすを向いた画像同士の融合は成功するが，横に向いた画像

る．Batch Normalization を含まない層があるのは，サと正面に向いた画像の融合はうまくいかない．また，潜ンプリングの振動とモデルの不安定性が生じるのを防ぐ

在変数ベクトルの各要素に関しても，Λ の各要素の値をためである．G の出力に tanh を用いたのは，E と G の動かしても変化がとれない要素が出てきた．

入力の前に入力画像の画素を [-1，1] に正規化し，G が生成する画像も [-1，1] に正規化された画像にするためである．表示の際には，[0，255] に戻す．[-1，1] に正規

[4] Arjovsky, M., Chintala, S. and Bottou, L. Wasserstein Generative Adversarial Networks. Proceedingsof the 34th International Conference on Machine
Learning , Vol. 70, pp. 214–223, 2017.
[5] Johnson, J., Alahi, A. and Fei-Fei, L.

Percep-tual Losses for Real-Time Style Transfer and SuperResolution. European Conference on Computer Vision , Vol 9906, pp. 694–711, 2016.
[6] Johnson, J., Alahi, A. and Fei-Fei, L. Visualizing
図 4: 一行目の，左が入力画像 A，右が入力画像 B であand Understanding Convolutional Networks. Euro-る．二行目の画像は提案モデルから得られた生成画像でpean Conference on Computer Vision , Vol 8689,

ある．生成画像は，Λ の全要素を，左から右まで 1〜0

pp. 818–833, 2014.

の値を 0.2 ずつ動かして表示した．

[7] Liu, Z., Luo, P., Wang, X. and Tang, X. Deep
Learning Face Attributes in the Wild. IEEE International Conference on Computer Vision, pp.
3730–3738, 2015.

5.

まとめ

本稿では，指定した異なる入力画像同士を融合する手法を提案した．また，潜在変数ベクトルの演算に超パラメータを導入したことで，生成する画像の融合度合いの調節も可能にした．予備実験において，超パラメータの[8] Deng, J., Dong, W., Socher, R., Li, L., Li, K. and
Li, F. ImageNet: A large-scale hierarchical image
database. IEEE Conference on Computer Vision
and Pattern Recognition., 2019.

値が 1 のときは入力画像 A が得られ，0 のときは入力画[9] Simonyan, K. and Zisserman, A. Very Deep Con-像 B がきちんと生成された．超パラメータの値が 1〜0

volutional Networks for Large-Scale Image Recog-のときは，融合生成された画像が生成可能であることもnition. . arXiv preprint arXiv:1409.1556, 2014.

わかった．ただし，形状の異なる画像同士の融合がうま
くいかないのは今後の課題である．目だけ融合させたいなど，より細かな融合の操作を可能にするためには，モデルの改良も必要だと考えられる．

参考文献[1] Goodfellow, I., Pouget-Aradie, J.,Mirza, M., Xu,
B., Warde-Farley, D., Ozair, S., Courville, A. andBengio, Y. Generative Adversarial Nets. Advancesin Neural Information Processing Systems , Vol. 2,
pp. 2672–2680, 2014.
[2] Zhang, R., Tang, S., Li, Y., Guo, J., Zhang, Y., Li,
J. and Yan, S. Style Separation and Synthesis via
Generative Adversarial Networks. The 26th ACM
international conference on Multimedia , pp.183–
191, 2018.
[3] Suzuki, R., Koyoma, M., Miyato, T., Yonetsuji,
T. and Zhu, H.

Spatially Controllable Image

Synthesis with Internal Representation Collaging.
arXiv:1811.10153

6.

付録

形状の異なる画像同士を融合させた場合の生成画像の結果は，図 6 で示されているように，融合画像がいびつになる．

図 5: 一行目の，左が入力画像 A，右が入力画像 B である．二行目の画像は提案モデルから得られた生成画像である．生成画像は，Λ の全要素を，左から右まで 1〜0の値を 0.2 ずつ動かして表示した．

P の各層から抽出される特徴 map は画像の様々な特徴を保持している．深い層の特徴 map では画像の輪郭に該当する特徴を保持している．浅い層の特徴 map では，画像の色合いに該当する特徴を保持している．

図 6: 一行目が入力画像 A．二行目の画像は P から抽出された特徴 map を全て表示している．三行目は二行目の各列の特徴 map の一部を表示している．二行目，三行目の各列に該当する特徴 map の抽出された層は，
一列目:conv1 1，二列目:conv2 1，三列目:conv3 1，四列目:conv4 1，五列目:conv5 1 である．