美少女融合理論 -MakeGirlsMoeで疑似融合を行うMGMFSの仕組み

今回は自作したmakegirlsmoeで擬似的に融合するためのプログラム、「MGM-Fusion-System」についての中身の解説です。

 まず、MakeGirlsMoeがどのように画像を生成しているのかを軽く説明します。なお、論文を流し読んだだけなので、間違ってたらごめんなさい。
 MakeGirlsMoeの出力は、訓練済みモデルを呼び出し、それにノイズを加えることによって出力画像の属性を制御しています。つまり、同じ学習済みモデルを利用する場合、ノイズパターンで大幅に出力の傾向を制限できます。(ノイズパターンに保存されない情報もあるため、完全に1つには絞れない)

 「MGM-Fusion-System」(以下MGMFS)は、2つのノイズパターンを加工し、組み替えることによって新しいノイズを生成しています。
大まかな働きとしてはこれだけで、あとはMakeGirlsMoe側に全部任せています。

では、実際にどのような操作をしているのかを見ていきましょう。
まず、2つのノイズの画像データをプログラム上で読み込みます。
このとき、ノイズを「Fathernoise」と「mothernoise」の2つのフォルダに1つづつ入れますがこれの入れるフォルダには意味があります。
MGMFSでは、新しいノイズへの組み込み順は決まっていて、Father,mother,Father,Motherの順で組み込みます。
fatherとmotherを入れ替えるだけで融合後のノイズが変わるので試してみるといいでしょう。

画像データを読み込んだ後、それぞれのノイズの切断ポイントを決定しています。内部ではそれぞれ、cp1,cp2,cp3で処理されています。切断する長さは乱数で決定されるので、同じノイズ、同じ入れ方でも融合後のノイズは微妙に異なります

その後、実際にノイズを分割していきます。
Fathernoiseに入れたノイズの先頭と3番目のエリア、Mothernoiseに入れたノイズの2番目と4番目のエリアを作成します。これらはすべてnoise/frag内に保管されます。(触ること必要がないので放置してます。)

最後は、ノイズを接続していきます。
先頭からcp1までの長さのFathernoise,cp1~cp2までの長さのMother,cp2~cp3はfather,cp3~最後まではmotherのノイズと順に並べてくっつけています。
これによって2つのノイズの要素を持った新しいノイズを生成することに成功しています。

プログラムを変更すると、融合結果に影響を及ぼします。
例えば、cp1,cp2,cp3の乱数範囲(randintの後ろの括弧内)を変更することでそれぞれのノイズの長さを変更できます。
ただし、128×34のサイズを守らないとMakeGirlsMoe側で弾かれるので注意しましょう。
また、少しコードに変更が必要ですが、4つのノイズを元に合成することも可能です。
組み込み順を変更すると生成パターンは増えますが、不正なノイズと判定される可能性も高いです。

MakeGirlsMoeのノイズはまだわかってないことが多く、試してみることで得られる情報が多いと思われます。
MGMFSで疑似融合したり、他の方法でいじってみることでよりよい出力を得られる可能性はあります。いろいろ試してみてください。

PS.疑似融合と呼ぶ理由
 毎度MGMFSを擬似融合という理由ですが、やはり融合はCrypkoのようなタイプの融合こそ融合だと思っているからです。Crypkoは情報を内部に保管しているので、ノイズのような本体以外のものを確認せずに融合できます。(なお、Crypkoの融合システムは不明です。たぶん公開もされないと思います。)対してMGMFSはノイズを必要とするので、直接融合している感が少し薄いです。どちらかというと、DNAをいじっている感じがします。(実際にやっていることも同じで、MGMFSは遺伝的アルゴリズムの交叉過程のみを行っています)
いつか画像のみで融合できるようになったら、融合と呼びたいと思います。

この記事が気に入ったらサポートをしてみませんか?