Saturday 10:55 a.m.–11:25 a.m.

Room 201 #pyconjp_201

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

SHINJI KITAGAWA

Audience level:
Novice
Category:
Other
Slide:
slide https://slideship.com/users/@esuji/presentations/2017/08/FSKS46VL9ivVSpUE4Gaamh/
Video:
video https://youtu.be/S70KqdRYJzo

Description

前年は4コマ漫画を対象にコマ毎の画像を切り出す手法までについて発表しました。今年はそれらの画像からデータを抽出して分析・評論を行うまでを発表したいと思います。

Abstract

  • 前回(コマ毎の切り取りまで)の発表:https://www.slideshare.net/esuji/30-41-66333316
  • コードのあるリポジトリ:https://github.com/esuji5/yonkoma2data

導入

日本に限らず海外でも漫画表現として用いられる「4コマ(yonkoma)」。

近年、アニメ原作に選ばれる数も増えており、その技術解析・分析・評論を行い、読者・漫画家・編集者を含めてその成果を共有することは文化的に大きな価値があると言えます。本Talkでは、その序論として4コマ漫画のデータとして扱う手順並びに、統計や機械学習を用いた分析をPythonで一気通貫に行う手法を紹介します。

なぜ4コマ漫画なのか

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

分析結果をどう使うか

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

データを集める

  • それぞれのコマに切り出す(前回までで完了)
  • コマ上に配置されたデータ
    • 人物
    • アニメ顔検出器で正面の顔は結構取れる
    • ↑をベースに発展させた検出器をdlibを用いて作成
    • 検出後、人物の分類はCNNで行う
    • 吹き出し
    • Google Cloud Vision APIでセリフをOCR。縦書きの日本語も認識可能
      • 関係ない線も文字と認識されてゴミになるので取り除く
    • OCRの結果を元に吹き出し領域を検出し、そのコマにおけるセリフの順番を決める
  • データの活用
    • データを分析する
    • 人物配置・カメラワークの分析
    • 人物配置のパターン
    • イマジナリーライン超えの率
    • 会話内容の分析
    • 頻出語を調べる
    • 会話遷移のパターン
      • 誰が話を振り、誰が話を広げ、誰がツッコむのか
      • ギャグを言う、受けない、ディスコミュニケーション
    • セリフ、人物、状況から該当するコマを検索するシステムがあるといいよねえ(優先度低い)
CONTACT