ぼでーが何かをしようとする墓場

アイドルマスターシンデレラガールズの櫻井桃華を、自分なりの愛情表現で愛するいわゆる自慰的ブログ

MVから最高の瞬間を撮るために努力をする

この記事はアイドルマスター Advent Calendar 2016 - Adventarの8日目の記事になる。
昨日は、@dcnmaskさんのアイマスから広がる音楽体験 - ながたつにっきであった。

なお、記事中には著者の歪んだ愛と性癖がふんだんに含まれている。
なので深呼吸した後、カフェインを摂取し、桃の缶詰を食べてから読むのを推奨する。基本的にネタばかりである。

ちなみにこの記事はシリーズ化する(完結未定)。

Agenda

アイドルマスターシンデレラガールズ スターライトステージのMVの中から、自分にとって一番最高と思える瞬間を撮ろうと努力をする話

Motivation

アイドルマスターシンデレラガールズ スターライトステージスマートフォン向けのアプリである。
最近では、言わずともしれたあの某大型国民的アイドルがCMをした事で一躍話題になり、
アイドルマスターをよく知らない人でも、「取り敢えずやってみようかな」などと始めた人は数知れないだろう。

さて、このアプリ、魅力的な機能のうちの一つに「MV鑑賞」という機能がある。
ゲームに登場するアイドルには全員3Dモデルが用意されている。
Pは自分のプロデュースしたキャラなら、任意の楽曲で、任意の5人組を組み合わせてMVを鑑賞することが出来る。
その完成度たるや、MV鑑賞だけで一日が過ぎていた、などという事もザラにあるほどにPを没入させる。
嬉しいことにその表現方法は今も進化しており、Pは新たな楽曲によってアイドル達の新たな可能性をまだまだ開くことが出来る。

ところで、誰もがMVの中の良いと思う瞬間をSSとして残し、それをずっと舐め回して眺めていたいと思うかもしれない。
自分もそのうちの一人で、MVを再生し、一時停止してSSを撮り、0.1秒再生してはまた一時停止してSSを撮り...とする事は日常茶飯事である。
(そのせいでタブレットの写真フォルダが大変な事になり人に見せられなくなってしまった)
しかし、一度望んだSSの瞬間を逃すと、またMVを再生し直し、その瞬間をぐっとまた無くてはならない。
Pなら何度でも挑戦すべきなのかもしれない。しかし、時間は有限である。あっという間に寝る時間になってしまい、泣き寝入りする日も少なくない。
そこで、ここではMV中で、自分にとって一番最高と思える瞬間を撮る為に色々努力をしてみようと思う。
この記事中の目標は、自分が最高と思える瞬間を撮ることが出来ることである。
なお、著者はいわずとも櫻井桃華Pである。なので、記事中では桃華をひたすら撮り続ける。

Approach

~The Chikarawaza is strongest~

力技は偉大である。この世にある事象全ては力技で解決できると言っても過言ではない(要出典)。
なので力技で最高の瞬間を撮ることにする。

最初にSSを撮るためにMVを録画した動画を用意する。
(おいおいSSって言ってるのに動画なんて用意しないといけないのかとんだタイトル詐欺だな)
次にこの動画から、OpenCVの画像認識を用いて、顔部分を切り出す。
以下のようになった。

f:id:bode_mmk:20161208181749p:plain

切り出した顔画像から、色素分布を元に特徴ベクトルを作成する。
その特徴ベクトルから桃華だけを認識するためのニューラルネットワークを構築する。
OpenCVに内蔵されているものを利用して以下のような学習データを作成する。

f:id:bode_mmk:20161208182353p:plain

ニューラルネットワークを構築したら一旦テストしてみる。
学習で使ったデータとは別のデータを用意し、幾つかテスト検査してみる(結果を撮り忘れた)。

多少の分類誤差はあるものの、許容範囲と取れる。
ここからが力技の真髄である。もう迷うことは何もない。
MVの動画の中から桃華と認識できる顔が映っているフレームを切り出す。
3フレームごとに画像から認識できる顔の中に、桃華がいるかを認識させる。
認識すれば対象のフレームを保存する。認識しなければ保存せず3フレーム後へ進む。

そうやって出来た画像フォルダがこちらである。

f:id:bode_mmk:20161208182705p:plain

ファイル数2210個、サイズにして約3.98GB。
機械学習の成果によって余すとこなく全ての保存Frameにおいて、我が担当アイドルである櫻井桃華が映っているのが見て取れる。
もはや芸術である。この力技によって好きなシーンのSSをよりどりみどりである。

In Conclusion

と言うか、Pにとって"最高の瞬間"とは、自分の担当アイドルが映っている全てのフレームではないだろうか。
少なくとも、著者ぼでーは、自分の担当アイドルである櫻井桃華が映っている瞬間は、無条件で全て保存したくなる。
すると、当初の目標であった、"最高の瞬間を撮ること"とはいかに。ここに目標が達成されたように思う。

今日から毎日、SSを撮ろうぜ

そして本日はめでたい事に我が担当アイドルである櫻井桃華デレステに実装されて一周年になる。
また、明日は彼女がモバマスに登場して五周年だ。
ぼでーはデレステ先行のPなので、新人Pらしく彼女のスターライトステージへの記念を、この記事をもって祝いたいと思う。
おめでとう、桃華ちゃま。

f:id:bode_mmk:20161208183212p:plain
f:id:bode_mmk:20161208184151p:plain

Next Approach & Introspection

シリーズ化するといったのは、何かきっかけがないと勉強しない自分への戒めの意味もある。
画像認識の、特にOpenCVを利用した世界に深くハマりたいので、この記事をシリーズ化すると言った。
次回の目標は
・インペインティングを用いて、複数人映っている画像から桃華のみの画像を作り出す(出来ればMVも)
とする。

次のアイドルマスター Advent Calendar 2016 - Adventar9日目の記事は、アイマスハッカソン2016 - connpassの主催、@trebyさんのアイマス界隈のコミュニティである。

......

反省点がいくつかある。
・VS2015でのOpenCV環境構築にNugetを使って楽をしようとしたらハマった。
・OpenCV2.4以前と3.0以降の仕様変更に戸惑って、とてもじゃないが人に見せられるコードじゃなくなった
・桃華力が足りない

猛省したい。