LoginSignup
5
2

More than 3 years have passed since last update.

インド人になる(Cycle-GANによるドメイン変換)

Posted at

はじめ
インドで本場のカレーを堪能したいのですが、コロナ渦で中々それが叶わず。なので現地に行けないのなら、せめてインディアンスの顔がインド風になればそのカレー欲が満たされるのでは(?)と思いその仮説を検証することにしました。

なかみ
CycleGANでインド人の顔と日本人の顔のドメイン変換器を作ります。
以下を参考に実装しました。
CycleGANをpytorchで実装してみた

学習に必要なインド人の顔の画像と日本人の顔の画像は以下を参考に取得しました。
API を叩かずに Google から画像収集をする

image_collector.py
class Google(object):
    def __init__(self):
        self.GOOGLE_SEARCH_URL = "https://www.google.co.jp/search"
        self.session = requests.session()
        self.session.headers.update(
            {
                "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) \
                    Gecko/20100101 Firefox/10.0"
            }
        )

self.GOOGLE_SEARCH_URL"http://www.google.co.jp/search"
に変えました。SSLの認証がうまく通らなかったようです。

蛇足ですが”日本人 男”などのワードで検索しても外人女性などの写真が多く紛れていて除去作業が大変でした。”海外女性と結婚する日本人男性の特徴5選!”のような記事の画像を入手していたっぽいです。
"indian men"とか"indian male"だとインド人男性と思われる顔を多く入手できるのですが。

顔の切り出しについてはopenCVのカスケード分類でやりました。
PyTorchを使って日向坂46の顔分類をしよう!

こんな感じの画像(128*128)がそれぞれ400枚ほど集まりました。

0_287_1.jpg

a_190_3.jpg

こちらを学習させていきます。
200epochsほど学習させた生成器の出力はこちら

インディアンインディアンス
A2B_2.png

A2B_17.png

目的とは逸脱しますが、

インディアン菅総理大臣
A2B_2.png

A2B_7.png

インド人の色合いとテカリ、髭と目元のホリの深さ辺りのドメインは変換できていそうです。少しインド欲が満たされたような気がします。

さいご
データ量もepoch数も少なかったようで生成器から出力される画像が粗めでした。もう少し取り組もうかと思いましたが、お昼にもうやんカレーを食べることで当初の目的が達成されそうなので、雑多ではありますがひとまずここで終わらせていただきます。

ここまで読んでくださった皆様ありがとうございました。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2