ジブリの公式Webサイトで、過去に映画化された作品の静止画像を無料でダウンロードできます。しかも「常識の範囲でご自由にお使いください。」以外の縛りがありません。さすがジブリ、太っ腹。
https://www.ghibli.jp/info/013344/
そこで公開されている1178枚を自分のパソコンにダウンロードして、これで作品ごとにクラスタリングできないか
やってみることにしました。でも人間の目で見ても、映画を見ていないと、例えば僕は「耳をすませば」と「コクリコ坂から」は画像によっては区別できない(ファンの人ごめんなさい)。
そこで絵のタッチが異なっていて、比較的区別しやすい
・かぐや姫の物語
・天空の城ラピュタ
・となりの山田くん
の3作品を選びました。ちょっと甘すぎかな。
宮崎駿っぽい絵としてラピュタを選んだのは、単に僕が好きな作品というだけの理由です。
画像はすべて同一サイズ(幅300,高さ162)で統一されているので、作業がとても楽です。KMeansは横長配列しか受けつけてくれませんので、この画像データを
300×162×3(カラーなので)=145,800
の横長一列の配列に加工する手間だけで、すぐKMeansに入れることができます。
これでKMeansに3つのクラスターに分類させると、正解率は何と
accuracy:0.8200
8割以上の正解率でした。
では作品ごとに、例えば「実際にラピュタであるもの÷ラピュタと判定したもの」で正解率を求めると、
kaguya acc:0.8286
laputa acc:0.7344
yamada acc:0.9216
「山田くん」に至っては9割以上の正解率となりました。
実際の画像を見るとわかるのですが、「山田くん」の画像だけ白くぼけた感じになっています。これが多分「山田くん」の正解率が高い理由だと想像しています。