$30 off During Our Annual Pro Sale. View Details »

OLM R&D祭 2020 11/25 第二原画からの自動トレースツール / matsuri2020-GengaTrace

OLM R&D祭 2020 11/25 第二原画からの自動トレースツール / matsuri2020-GengaTrace

キャラクタデザインなど線が多いものを清書する時のサポートツールとして、現在自働トレースツールを開発中です。現在の開発状況・課題も含めて紹介いたします。(中辛)

OLM Digital R&D
PRO

December 10, 2020
Tweet

More Decks by OLM Digital R&D

Other Decks in Technology

Transcript

  1. 第二原画からの自動トレースツール
    Arno In Wolde Lubke
    伊東 浩太
    © OLM Digital, Inc. 1

    View Slide

  2. 概要
    1. 手書きアニメの流れ
    2. 線画トレースのサポート
    3. 今後
    2
    ©Project Vanguard2019/Aichi Television
    © OLM Digital, Inc.
    著作権の関係により
    画像を掲載しておりません

    View Slide

  3. 用語
    • 原画
    – キーフレームの絵
    – 右の画像のようなもの
    • 動画
    – 原画の清書及び中割の絵
    © OLM Digital, Inc. 3
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  4. 手書きアニメの流れ
    © OLM Digital, Inc. 4

    View Slide

  5. 原画
    • 影やハイライトあり
    • 領域は必ずしも閉じていない
    • 注釈つきの場合もあり
    © OLM Digital, Inc. 5
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  6. 原画の清書・中割
    • 必要な線のみ描く
    • 線の太さ・色の調整
    • 彩色のために領域はすべて閉じる
    © OLM Digital, Inc. 6
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  7. バケツ塗り
    © OLM Digital, Inc. 7
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  8. 手作業での線画トレース(Speed up ~50x)
    © OLM Digital, Inc. 8
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  9. 線画のクリーンアップの研究
    ラフのクリーンアップ
    [2]
    © OLM Digital, Inc. 9
    [1] Noris, Gioacchino, et al. "Topology-driven vectorization of clean line drawings." ACM Transactions on Graphics (TOG) 32.1 (2013): 1-11.
    [2] Simo-Serra, Edgar, et al. "Learning to simplify: fully convolutional networks for rough sketch cleanup." ACM Transactions on Graphics
    (TOG) 35.4 (2016): 1-11.
    ベクタライズ
    [1]

    View Slide

  10. 線画トレースのサポート
    Topology-driven vectorization of clean line drawings *
    © OLM Digital, Inc. 10
    * Noris, Gioacchino, et al. "Topology-driven vectorization of clean line drawings." ACM Transactions on Graphics (TOG) 32.1
    (2013): 1-11.

    View Slide

  11. なぜこの論文か?
    • 実装が単純
    • ベクタライズできる
    – 任意の絵をベクターに変換可能
    – 編集しやすい
    © OLM Digital, Inc. 11

    View Slide

  12. フレームワーク
    © OLM Digital, Inc. 12
    前処理
    (手動)
    線画抽出
    (自動)
    後処理
    (半自動)
    レンダリング
    (自動)
    画像 画像 画像
    グラフ グラフ

    View Slide

  13. 前処理(手動)
    • 入力を綺麗にする
    – ハッチングなどを取り除く
    – 線を濃くする
    © OLM Digital, Inc. 13
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  14. 線画抽出
    © OLM Digital, Inc. 14
    • 線画をグラフとして表現する
    – 頂点とエッジの集合

    View Slide

  15. 処理の流れ
    1. 頂点候補の抽出
    2. 頂点候補の移動
    3. グラフの構築
    4. グラフから線の再構築
    © OLM Digital, Inc. 15
    * Noris, Gioacchino, et al. "Topology-driven vectorization of clean line drawings." ACM Transactions on Graphics (TOG) 32.1
    (2013): 1-11.
    *

    View Slide

  16. 頂点位置の決定
    © OLM Digital, Inc. 16
    ©Project Vanguard2019/Aichi Television

    View Slide

  17. 頂点位置の決定
    1. 一定以上の勾配を持つピクセルに
    点を配置
    © OLM Digital, Inc. 17
    ©Project Vanguard2019/Aichi Television

    View Slide

  18. 頂点位置の決定
    1. 一定以上の勾配を持つピクセルに
    点を配置
    2. 勾配に沿って動かす
    © OLM Digital, Inc. 18
    ©Project Vanguard2019/Aichi Television

    View Slide

  19. 頂点位置の決定
    1. 一定以上の勾配を持つピクセルに
    点を配置
    2. 勾配に沿って動かす
    © OLM Digital, Inc. 19
    ©Project Vanguard2019/Aichi Television

    View Slide

  20. 頂点位置の決定
    1. 一定以上の勾配を持つピクセルに
    点を配置
    2. 勾配に沿って動かす
    © OLM Digital, Inc. 20
    ©Project Vanguard2019/Aichi Television

    View Slide

  21. 頂点位置の決定
    1. 一定以上の勾配を持つピクセルに
    点を配置
    2. 勾配に沿って動かす
    © OLM Digital, Inc. 21
    ©Project Vanguard2019/Aichi Television

    View Slide

  22. 頂点位置の決定
    1. 一定以上の勾配を持つピクセルに
    点を配置
    2. 勾配に沿って動かす
    3. 反対側の点と交差したら停止
    © OLM Digital, Inc. 22
    ©Project Vanguard2019/Aichi Television
    > 90°

    View Slide

  23. 頂点位置の決定
    1. 一定以上の勾配を持つピクセルに
    点を配置
    2. 勾配に沿って動かす
    3. 反対側の点と交差したら停止
    © OLM Digital, Inc. 23
    ©Project Vanguard2019/Aichi Television
    頂点の範囲

    View Slide

  24. 初期状態
    © OLM Digital, Inc. 24
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  25. 移動後
    © OLM Digital, Inc. 25
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  26. 不適切な頂点位置
    © OLM Digital, Inc. 26
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  27. 初期グラフの構築
    • 近傍の点の間にエッジを張る
    • 頂点の範囲に応じて決定
    © OLM Digital, Inc. 27
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  28. 余分なエッジの削除
    • 最小全域木を構築
    © OLM Digital, Inc. 28
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  29. 最小全域木 (MST)
    • グラフのすべての頂点を含む部分
    木のうち、エッジの重みの和が最
    小のもの
    • 木なのでループをもたない
    © OLM Digital, Inc. 29
    1
    1
    1
    1
    1.5
    1.6
    2
    2

    View Slide

  30. 最小全域木 (MST)
    • グラフのすべての頂点を含む部分
    木のうち、エッジの重みの和が最
    小のもの
    • 木なのでループをもたない
    © OLM Digital, Inc. 30
    1
    1
    1
    1
    1.5
    1.6
    2
    2

    View Slide

  31. 最小全域木 (MST)
    • グラフのすべての頂点を含む部分
    木のうち、エッジの重みの和が最
    小のもの
    • 木なのでループをもたない
    © OLM Digital, Inc. 31
    1
    1
    1
    1
    1.5

    View Slide

  32. 余分なエッジの削除
    • ループのところに穴が開く
    © OLM Digital, Inc. 32
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  33. 余分なパスの削除
    • 短いパスを取り除く
    © OLM Digital, Inc. 33
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  34. ループの復旧
    • 端点を用いる
    © OLM Digital, Inc. 34
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  35. ループの復旧
    • 端点から元のグラフのサブグ
    ラフを取り出す
    © OLM Digital, Inc. 35
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  36. ループの復旧
    • サブグラフで同様の処理
    © OLM Digital, Inc. 36
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  37. ループの復旧
    • サブグラフとMSTをマージ
    © OLM Digital, Inc. 37
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  38. グラフのデータ構造
    • 後処理では高速な検索が必要
    – 例. 一番近い分岐点を探す
    • グリッドにその中の点と隣接情報を保
    持する
    © OLM Digital, Inc. 38

    View Slide

  39. 後処理(半自動)
    • 不要な頂点・エッジの削除
    • グラフのスムージング
    • 分岐点の修正
    • 太さ・色の決定
    © OLM Digital, Inc. 39

    View Slide

  40. 後処理(半自動)
    • 不要な頂点・エッジの削除
    • グラフのスムージング
    • 分岐点の修正
    • 太さ・色の決定
    © OLM Digital, Inc. 40
    ガタガタ

    View Slide

  41. 後処理(半自動)
    • 不要な頂点・エッジの削除
    • グラフのスムージング
    • 分岐点の修正
    • 太さ・色の決定
    © OLM Digital, Inc. 41
    位置がおかしい

    View Slide

  42. 後処理(半自動)
    • 不要な頂点・エッジの削除
    • グラフのスムージング
    • 分岐点の修正
    • 太さ・色の決定
    © OLM Digital, Inc. 42
    閉じていない

    View Slide

  43. 後処理(半自動)
    • 不要な頂点・エッジの削除
    • グラフのスムージング
    • 分岐点の修正
    • 太さ・色の決定
    © OLM Digital, Inc. 43

    View Slide

  44. グラフのスムージング
    • 初期構築グラフはガタついている
    • 法線ො

    上で重心Ԧ

    がある方に移動させる
    © OLM Digital, Inc. 44

    View Slide

  45. グラフのスムージング
    © OLM Digital, Inc. 45

    View Slide

  46. グラフのスムージング
    • ユーザーインタラクション+パスの単位で処理
    © OLM Digital, Inc. 46
    ユーザー入力

    View Slide

  47. グラフのスムージング
    • ユーザーインタラクション+パスの単位で処理
    © OLM Digital, Inc. 47

    View Slide

  48. グラフのスムージング
    • ユーザーインタラクション+パスの単位で処理
    © OLM Digital, Inc. 48

    View Slide

  49. グラフのスムージング
    • ユーザーインタラクション+パスの単位で処理
    • 法線上を重心方向に動かす
    © OLM Digital, Inc. 49

    View Slide

  50. グラフのスムージング
    • ユーザーインタラクション+パスの単位で処理
    • 法線上を重心方向に動かす
    © OLM Digital, Inc. 50
    重心

    View Slide

  51. グラフのスムージング
    • ユーザーインタラクション+パスの単位で処理
    • 法線上を重心方向に動かす
    © OLM Digital, Inc. 51
    法線
    重心

    View Slide

  52. グラフのスムージング
    • ユーザーインタラクション+パスの単位で処理
    • 法線上を重心方向に動かす
    © OLM Digital, Inc. 52
    法線
    移動方向
    重心

    View Slide

  53. グラフのスムージング
    © OLM Digital, Inc. 53
    ©Project Vanguard2019/Aichi Television
    • ユーザーインタラクション+パスの単位で処理
    • 法線上を重心方向に動かす
    適用前 適用後
    著作権の関係により
    画像を掲載しておりません
    著作権の関係により
    画像を掲載しておりません

    View Slide

  54. スムージングの実行例
    © OLM Digital, Inc. 54
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  55. 分岐点の修復
    • 分岐点は不適切な形になりがち
    • 分岐点:3本以上のエッジが接続し
    ている点
    © OLM Digital, Inc. 55
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  56. 分岐点の修復 - 領域の特定
    © OLM Digital, Inc. 56

    View Slide

  57. 分岐点の修復 - 領域の特定
    © OLM Digital, Inc. 57
    1.適当な探索範囲を決定

    View Slide

  58. 分岐点の修復 - 領域の特定
    © OLM Digital, Inc. 58
    1.適当な探索範囲を決定
    2.対象の点を抽出
    – 点のストローク半径(最初の移動距離)と探索範囲
    がかぶるかどうかで決定

    View Slide

  59. 分岐点の修復 - 領域の特定
    © OLM Digital, Inc. 59
    1.適当な探索範囲を決定
    2.対象の点を抽出
    – 点のストローク半径(最初の移動距離)と探索範囲
    がかぶるかどうかで決定
    3.対象点同士の円が被っていなければ終了

    View Slide

  60. 分岐点の修復 - 領域の特定
    © OLM Digital, Inc. 60
    1.適当な探索範囲を決定
    2.対象の点を抽出
    – 点のストローク半径(最初の移動距離)と探索範囲
    がかぶるかどうかで決定
    3.対象点同士の円が被っていなければ終了
    4.探索範囲を広げて2に戻る

    View Slide

  61. 分岐点の修復 - 領域の特定
    © OLM Digital, Inc. 61
    1.適当な探索範囲を決定
    2.対象の点を抽出
    – 点のストローク半径(最初の移動距離)と探索範囲
    がかぶるかどうかで決定
    3.対象点同士の円が被っていなければ終了
    4.探索範囲を広げて2に戻る

    View Slide

  62. 分岐点の修復 - 領域の特定
    © OLM Digital, Inc. 62
    1.適当な探索範囲を決定
    2.対象の点を抽出
    – 点のストローク半径(最初の移動距離)と探索範囲
    がかぶるかどうかで決定
    3.対象点同士の円が被っていなければ終了
    4.探索範囲を広げて2に戻る

    View Slide

  63. 分岐点の修復 - 領域の特定
    1.適当な探索範囲を決定
    2.対象の点を抽出
    – 点のストローク半径(最初の移動距
    離)と探索範囲がかぶるかどうかで
    決定
    3.対象点同士の円が被っていなけ
    れば終了
    4.探索範囲を広げて2に戻る
    © OLM Digital, Inc. 63

    View Slide

  64. 分岐点の修復 - グラフの修正
    1. 特定した領域の点を削除
    © OLM Digital, Inc. 64

    View Slide

  65. 分岐点の修復 - グラフの修正
    1. 特定した領域の点を削除
    2. 端点をつなぐカーブの推定
    © OLM Digital, Inc. 65

    View Slide

  66. 分岐点の修復 - グラフの修正
    1. 特定した領域の点を削除
    2. 端点をつなぐカーブの推定
    3. 曲率の大きな候補を除外
    © OLM Digital, Inc. 66

    View Slide

  67. 分岐点の修復 - グラフの修正
    1. 特定した領域の点を削除
    2. 端点をつなぐカーブの推定
    3. 曲率の大きな候補を除外
    4. 曲率の小さい順に足していく
    – 端点がなくなったら終了
    © OLM Digital, Inc. 67

    View Slide

  68. 分岐点修復の実行例
    © OLM Digital, Inc. 68
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  69. 現在の結果
    © OLM Digital, Inc. 69
    自動抽出の結果 < 5s
    手作業での抽出結果 ~40 minutes
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません
    著作権の関係により
    画像を掲載しておりません

    View Slide

  70. 現状の問題点
    • 入力がある程度きれいな線画でないといけない
    – 線と誤認するようなハッチング
    – 背景色(白)に近い薄い線
    • パラメータが画像の局所的な特徴に依存する
    – エッジを張る範囲など
    © OLM Digital, Inc. 70

    View Slide

  71. 今後
    © OLM Digital, Inc. 71

    View Slide

  72. 半自動の領域閉じ
    • 端点から接続しうる点の候
    補を表示
    • ユーザーによる選択でエッ
    ジを追加する
    © OLM Digital, Inc. 72
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  73. Curve fitting
    • ベジェ曲線などでフィッティングして操
    作しやすいようにする
    • マニュアルの線画トレースのサポートとし
    ても使えるか?
    © OLM Digital, Inc. 73
    * Schneider, Philip J. "An algorithm for automatically fitting digitized curves." Graphics gems. Academic
    Press Professional, Inc., 1990.
    *
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  74. 機械学習
    • 深層学習で漫画のトーンを除去す
    る研究*
    • 理想状態での確認
    – 学習データでの結果
    • 前処理などで使用できるか?
    © OLM Digital, Inc. 74
    *Li, Chengze, Xueting Liu, and Tien-Tsin Wong. "Deep extraction of manga structural lines." ACM
    Transactions on Graphics (TOG) 36.4 (2017): 1-12.
    ©Project Vanguard2019/Aichi Television
    著作権の関係により
    画像を掲載しておりません

    View Slide

  75. 75

    View Slide