1278069232 パターン認識に詳しい方に質問です。


1ページのマンガの白黒画像が与えられたとき、
そのコマ割りを自動的に判別するプログラムを作れたらと考えています。
たとえば右上の図のような感じです。

マンガは、同じ大きさの四角が4つ並ぶ単純な4コママンガではなく、
この質問に示した図のように、コマごとの大きさが異なる、枠線がナナメになっている等、
ある程度、複雑なコマも含まれると思ってください。

そのとき、

[1] どんな方法でコマ割りが実現可能か(必ずしも成功率100%でなくてOKです。支援できればいいので)
[2] すでにそのような研究があるか(ゼロからコマ割りができるマンガ・ワープロの研究は未踏にあるようです)
[3] あなたの考えるところ、有望そうなテクニック(できれば簡単な理由つきで)

のいずれかを、教えていただければと思います。
また、[1]~[3]に関連する、[4] 良さそうな参考文献 もご紹介いただければうれしいです。

なお過去の回答がポイントゲッター的であると判断した場合、回答をオープンしないことがあります。
よろしくお願いいたします。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2010/07/07 18:51:39
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:sibazyun No.1

回答回数1823ベストアンサー獲得回数246

ポイント500pt

【0】以下のような課題設定をしたい。

(a) コマは原則としてコマの端を示す線分(以下、端線)で区切られる。ページの端も端線である。

(b) 端線の外は空白(コマ以外)の場合(例:コマ2の上)と、直接他のコマの場合(例:コマ2の下がコマ3)がある。

(c) 時に端線は分断される(例:コマ4、5)が、これは処理上では無視して可である。

(d) 端線の多くは水平ないし垂直であるが、そうとは限らない。

【3】コマ割とは、端線を過不足なく抽出することとして、次の処理方針をとる。

(1) 端線、すなわち線分の検出はハフ(Hough)変換[*]を用いるが、これは計算量が多いので、あらかじめ(2)(3)で(d)の水平・垂直線分を検出する。

(2) 黒画素の連続長さ(run)を水平、垂直に求め、長いものを端線とする。

(3) 検証で、端線とみなされる線の法線方向にrunをもとめ、白のみ(コマ2の上)、runがあるが、上下が不一致ゆえ区切りの端線とみなされる(コマ2と3の間)などを行う。

(4) 上記検出の端線を除いてハフ変換を行い、これを(3)と同様の手法で検証する。

[*]例えば、http://codezine.jp/article/detail/153

id:lionfan

sibazyun様、完璧な回答、ありがとうございます。

参考文献までご紹介いただき、頭が下がるばかりです。

ポイントはずまさせていただきます。

自分的にはもう大満足ですが、他の方の意見も参考にしたいので、質問自体は継続させてください。

2010/07/03 10:18:23

その他の回答2件)

id:sibazyun No.1

回答回数1823ベストアンサー獲得回数246ここでベストアンサー

ポイント500pt

【0】以下のような課題設定をしたい。

(a) コマは原則としてコマの端を示す線分(以下、端線)で区切られる。ページの端も端線である。

(b) 端線の外は空白(コマ以外)の場合(例:コマ2の上)と、直接他のコマの場合(例:コマ2の下がコマ3)がある。

(c) 時に端線は分断される(例:コマ4、5)が、これは処理上では無視して可である。

(d) 端線の多くは水平ないし垂直であるが、そうとは限らない。

【3】コマ割とは、端線を過不足なく抽出することとして、次の処理方針をとる。

(1) 端線、すなわち線分の検出はハフ(Hough)変換[*]を用いるが、これは計算量が多いので、あらかじめ(2)(3)で(d)の水平・垂直線分を検出する。

(2) 黒画素の連続長さ(run)を水平、垂直に求め、長いものを端線とする。

(3) 検証で、端線とみなされる線の法線方向にrunをもとめ、白のみ(コマ2の上)、runがあるが、上下が不一致ゆえ区切りの端線とみなされる(コマ2と3の間)などを行う。

(4) 上記検出の端線を除いてハフ変換を行い、これを(3)と同様の手法で検証する。

[*]例えば、http://codezine.jp/article/detail/153

id:lionfan

sibazyun様、完璧な回答、ありがとうございます。

参考文献までご紹介いただき、頭が下がるばかりです。

ポイントはずまさせていただきます。

自分的にはもう大満足ですが、他の方の意見も参考にしたいので、質問自体は継続させてください。

2010/07/03 10:18:23
id:matane No.2

回答回数40ベストアンサー獲得回数2

ポイント100pt

下のリンクの「輪郭処理(cvFindContours)を使ったラベリング処理」の辺りのサンプル

絵的に、参考になりそうな気がするんですが、どうですか?

 http://imagingsolution.blog107.fc2.com/blog-date-201003.html

見当違いだったらごめんなさい。

OpenCVは、C言語のライブラリですね。本いろいろ出てます。

 http://amzn.to/952xRN

id:lionfan

matane様、ありがとうございます!!

現実のマンガ画像は、スキャナでスキャンして取り込むことになりますので、

かなり汚い画像となることが予測されるため、

おそらくは提案いただいた手法だけではなく、前処理も必要になると思いますが、参考にさせていただきます。

2010/07/03 11:44:30
id:ey272 No.3

回答回数10ベストアンサー獲得回数1

ポイント80pt

sibazyun様の方法で完璧だと思いますが、私の考えた雑な方法。

(1)コマの個数については、カメラで読者の視点と視点の静止時間を計測して、1コマを見る平均的時間でコマ数を割り出す。

静止していた視点周辺をコマと見なし、sibazyun様記載の端線検出方法で、そのコマ周辺の端線で囲われた部分を切り出す。

(半自動化ですね。誰かに読んでもらう必要があります)

(2)上記の他に、漫画を顔認識にかけ、顔が検出された部分と端線で囲われた部分、検出されなかった部分と端線で囲われた部分を切り出す。

(3)Amazonのメカニカルタークみたいに、海外の何千人もの人にコマ分けをお願いする。

意外にプログラムを作るより安く済むかもしれません。


※なぜ、半自動化をおすすめするかというと、漫画のコマ割りは、今後10年経っても必要な技術ではありません。

電子化に伴い、今後はコマごとに作者がパソコンで書けばよいんです。

ということはコマ割り判別を必要とするのは、過去に書かれた漫画であり、過去に書かれた漫画をすべてコマ割りしてしまえば、

コマ割り自動化プログラムの役目は終わります。

そのため、困難な完全自動化プログラムを作る必要があるかどうかは良く考えられた方が良いかもしれません。

id:lionfan

ey272様、ありがとうございます。

[1]のアイカメラが使えるとは思えないのですが、その代案として、各マスの中央付近をユーザにクリックしてもらう、というのは自分も考えました。

研究+趣味でやるので、失敗してもOKだと思ってます。ありがとうございます!!

2010/07/04 22:08:04
  • id:sibazyun
    ●文献も紹介しておきます。
    http://secure1.gakkai-web.net/gakkai/ieice/gakusei/14pr/pdf/143.pdf
  • id:sibazyun
    No.1です。実はこのデータの前処理で、方針を立てられないのは、
    ハーフトーンを表すスクリーントーンがどうなるかがよく分からないのです。スキャンする画素が細かければ、はっきり白と黒に分かれるかもしれないが、一度コピーされていたりすると、スクリーントーンがつぶれてしまっているかも知れない。

    私が業務でこの画像を扱うとしたら、そういう画像の実際の状況を見極めてからにすると思います。
  • id:lionfan
    sibazyun様、細かいところまでフォローありがとうございます!! 大感謝です。
  • id:ey272
    とりあえず、思いついたアイデアを記載しました。
    もし為にならなければポイント0で良いです。
  • id:sibazyun
    まあ、実際の業界だと、「手書き伝票の自動入力」で同じ課題がある。そしてey272さんがいうように「どうせ電子伝票になる前の伝票さえ入力すれば終わり」ということになる。そこで、大多数を占める水平線、垂直線の検出までやって、あとはユーザインタフェースによる半自動になるかも。どうせ全自動でやったって、誤りをユーザインタフェースで修正する必要がある。
  • id:espresso3389
    私も以前、全く同じことについて研究した(とはいえ、とある会社の一部門でなので、論文を書いたとか言うわけではありませんが)ことがあります。
    基本的には、上記にあるようなアプローチ(ノイズ除去、ハフ変換による直線検出、その他)である程度の精度を上げることは出来ると思いますが、一方で、最近の漫画には、コマが明確でないものや、ページにまたがるコマなど様々な問題があります。具体的には、私は、「北斗の拳」を裁断、スキャンし、サンプルとして利用していましたが、結局、この漫画をコマ割りするのは凄く難しいなぁということで、そのプロジェクトはそのままお蔵入りになりました。
  • id:lionfan
    espresso3389様、体験談、ありがとうございます。
    もともと難しい問題のようで、ちょっとホッとしました。じゃあ自分が必ずしも成功しなくてもいいと思えますので・・・。
    こちらは、ものすごく基本的なパターン認識の本を買ってきました。すこしずつ勉強を進めていきたいと思います。

  • id:ey272
    ちょっと雑談ですが、
    大脳新皮質を模擬する研究はされています。besomというものを一杉さんが研究しています。同様にジェフホーキンスがヌメンタプロジェクトをやっています。
    これが出来れば完璧ですね!

    また、もし本気で自動プログラムを作るなら、ある程度実際の漫画でコマ割りを学習してコマ割りの確率モデルを獲得させて確率判定させる機械学習的なものになるはずです。
  • id:ey272
    本ならば
    パターン認識と機械学習
    prml
    とかおすすめです。
    難しいかもしれませんが
  • id:Beirii
    画像処理の雰囲気を掴むのなら、NationalInstruments社のVision Builder AIというツールがいいかなと思います。
    30日間無料の評価版があります。
    http://www.ni.com/vision/ja/vbai.htm

    対話式に機能を選択し、画像を見ながら実行可能です。
    機能としてはおおよそ一般的な工業系の画像処理は揃っています。
    (エッジ検出関数にはハフ変換が使われています)

    カメラはUSB以外であればアナログ、Cameralink等(要フレームグラバ)接続が可能です。
    フレームグラバ無しの構成であれば、IEEE1394、GigEが可能。
    もちろん画像ファイルからの読み込みも可能。

    初心者向け技術資料として、上記ツールの機能に沿った形ではありますが、画像処理の基本的な機能についてわかりやすく説明されています。
    NI Vision コンセプトマニュアル
    http://www.ni.com/pdf/manuals/372916g_0112.pdf
  • id:kuro-yo
    > 最近の漫画には、コマが明確でないものや、ページにまたがるコマなど様々な問題があります。

    あの、

    私、しばしば、どこがコマの切れ目かわからなくなるんですが(笑)

    一応断っておきますが、私は人間です(少なくとも自分ではそう信じてます)。
  • id:kia_44
    コメント汚し失礼します。

    発想を変えて、人がやっても苦にならない=コストを下げられると考えて。

    新刊が誰よりも早く見れる特権。
    コマを指でなぞってもらうことで次のページが読める。
    といったトレードができないだろうか。なんて思いました。

    ブラックジャックぐらい昔の漫画でもコマの壁ぶち破ってますし、システムでやるとなると業界でのルール作りが必要そう。
    線の種類変えるとか。



    作家が紙を意識して作ったものですから、同じレイアウトじゃないといけないはず。
    それを崩すということは、作家にそれを認識してもらう必要が出てくるかも。

    たまに、部分見開きといった具合で、次どこ?ってことがありますもんね。

    iPhone用に自炊したことがあるんでわからないわけではありませんが。





この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません