danbooruのタグクラウドを表示してみた

danbooruという海外のイラスト転載サイトをクロールしたので、検索結果に対応するタグクラウドを表示するようにしてみました。



やったことは、

  • 元画像のMD5を計算してdanbooruのデータと照合し、一致するものがあればサムネイルにタグを対応づける
  • 検索結果のうちタグがついてるサムネイルからタグの集合を作って2個以上重複するタグについて個数で重み付けてそれっぽく表示する

です。
face-search-v1の元データはdanbooruから取得した画像ではないので、全部の画像にタグが付いているわけではないですが、試したところ4割ほど対応付けられたので(よ、4割も!すごい!)、ちょっと確認するのにはいいかなーと思ってやってみました。
なにを確認したかったかというと、メモリベースの手法でキャラクター推定ができそうかどうか、ということです。
今のface-search-v1は画像を入力できないですが、作っていないだけで作ればできるので、適当に入力した画像から顔を検出して、似たキャラクターの画像を検索→検索結果にはタグが付いているので、キャラクター属性のタグ(タグには属性がついている)で投票すれば、画像に描かれているキャラクターの名前が自動的に判明する、というのがマジでできちゃうのか、マジなのか。というあたりです。
感想としては、

  • わりとできそう
  • TVキャプチャーのような画像はdanbooruにないので、そういうのが結果の大半を占めると見た目うまくいきそうでもうまくいかない(例: おおさか)

で、下のはデータベースをdanbooruの画像に置き換えてしまえば、解決するので、

  1. 顔類似検索で同じキャラクターが多数決に勝てる程度でる
  2. danbooru程度の画像データベース(約70万件のイラストに精度のよいタグが付いている、どんどん新しいキャラクターの画像が追加される)が手元にある

ならできるんじゃないかと思います。
1はもう少しがんばらないといけない。2はデータくれ。

この方法は、データが増えていけば、どんどん新しいキャラクターに対応できるので、運用も楽で現実的だと思っています。データが増えると検索の速度が遅くなっていくという問題もありますが、最近別でやっている画像検索では、100万件のデータベースを20ms程度で検索できているので、そのエンジンに変えればまあ余裕だと思います。
データくれ。