4コマ漫画の画像管理✨
NEW GAME! のコマ検索 - みずぴー日記で作っていたソフトウェアのうち、画像以外の部分を公開した。
レポジトリ
https://github.com/mzp/EagleJumpSystem
検索機能
NEW GAME! のコマ検索 - みずぴー日記で述べたように
- 台詞
- 登場キャラクター
によって該当するコマを検索できる。
入力補助機能
検索機能を実現するために、各コマにはメタデータ(台詞、登場キャラクター)を入力する必要がある。 このメタデータの入力を補助する機能もいくつか実装した。
コマ分割
ページを取り込む際に、画像をコマごとに分割する。これはゆゆ式を無限に楽しみたかった話 〜 ゆゆ式 Advent Calendar 2014 20日目 〜 - non117's diaryのツールをほぼそのまま利用している。
テキストの自動認識
Google CloudVisionAPIによりコマ中のテキストを自動で認識する。
ただし利用には別途APIキーの取得が必要である。APIキーの取得方法はCloud Vision APIの使い方まとめ (サンプルコード付き)が分かりやすかった。
キャラクターの半自動認識
ある程度の量のキャラクターの分類を手動で行なえば、残りの画像については機械学習により自動でタグづけが行なえる。
ただし、登場回数の少ないキャラクターは学習データが少ないので、そこは手動でタグをつける必要がある。また、顔認識をした上でキャラクターの分類をしているため、「手のみ登場している」といったコマについては対応できない。
この部分のコードはTensorFlowでアニメゆるゆりの制作会社を識別する - kivantium活動日記をかなり参考にしている。
その他
既知のバグ
もしくは面倒で直してない箇所リスト。
- コマごとの分割の際に、まれに0バイトの画像が生成される。 今は、定期的に手動で
find . -size 0 -exec rm {} \;
を実行して削除しているが、そもそも生成されないようにしたい。 - 素朴なデータの格納方法をしているため、画像が増えるとどんどん遅くなっていく。
名前
レポジトリ名のEagleJumpSystemはNEW GAME!に登場するイーグルジャンプ社に由来する。