Thursday 1:30 p.m.–2 p.m.

Room 203 #pyconjp_203

Pythonで実現する4コマ漫画の分析・評論

Shinji Sato

Audience level:
Novice
Category:
Other
Slide:
slide http://www.slideshare.net/esuji/30-41-66333316
Video:
video https://youtu.be/7EOmp8EcZEc?list=PLMkWB0UjwFGlYvIcvKsGhJ7SJIODj_zJZ

Description

日本に限らず海外でも漫画表現として用いられる「4コマ(yonkoma)」。近年ではアニメの題材にもなることが多く、より良い表現を考慮すべく、その技術解析・分析・評論を行い、読者・漫画家・編集者を含めてその成果を共有することは文化的に大きな価値があると言えます。本Talkでは、その序論として4コマ漫画のデータを抜き出し並びに、統計や機械学習を用いた分析をPythonで一気通貫に行う手法を紹介します。

Abstract

紹介予定のコード: https://github.com/esuji5/yonkoma2data

本Talkの目的

なぜ4コマ漫画なのか

  • ある程度決まった形式の表現なので機械的に処理しやすい
  • WEB上で目にすることの多い漫画表現、アニメ原作に選出される頻度が多くなってきた等の文化的価値

分析結果をどう使うか

  • カメラワーク、キャラクター配置、会話パターンのレコメンド
  • 4コマ漫画をラフネームレベルで自動生成
    • フリー素材のイラストを用いて配置することで自動生成もできるかも?

データを集める

基本データの収集

  • それぞれのコマに切り出す
    • (PDFファイル名を背表紙のバーコードから自動リネーム)
    • PDFからページごとのPNG画像へ
    • PNG画像から1コマ毎の画像へ
    • コマからセリフや人物がはみ出すものが失敗しやすい
  • 扉絵を切り出す
  • 柱ネタ
  • おまけページ
  • 奥付

コマ上に配置されたデータ

  • 人物
    • アニメ顔検出器で正面の顔は結構取れる
      • ↑をベースに発展させた検出器とかつくれないか
      • アニメ顔検出器で取った画像を元に学習させてさらに検出器を…
  • 吹き出し
    • 画像認識ベースである程度できそう?
    • ただの白背景との識別はどうするか
    • 逆に文字を検出してからの吹き出し検出はどうか
    • 赤松健氏のマンガ図書館Zで、自動翻訳のために機械学習で吹き出し検出をやろうとしているらしい
  • セリフを抜き出す
    • 吹き出し検出
    • OCR
      • Google Cloud Vision APIで縦書きも認識できているのでこちらをメインで使う
        • 吹き出し別にセリフが取れるように設定が必要
  • 背景
  • セリフ、人物、状況から該当コマを検索するシステム

データを分析する

人物配置・カメラワークの分析

  • 人物配置のパターン
    • イマジナリーライン超えの率
    • 同ポジション率
    • 他、どんなパターンがあるのか

会話内容の分析

  • 頻出語を調べる
  • 会話遷移のパターン
    • 話を振る、話を広げる、ツッコむ
    • ギャグを言う、受けない、ディスコミュニケーション
      • 助け舟で話を広げる、更に話を広げる、ギャグを再度繰り出す、グッドコミュニケーション

まとめ

  • 泥臭い画像処理が必要
  • etc...
  • まだまだ大変なので、一緒にやってくれる方を募集しています
  • アニメでも色々やりたいのでお待ちしてます