Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

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

90143fe200ba565ad20f79c42b62c66f?s=128

OLM Digital R&D
PRO

December 10, 2020
Tweet

Transcript

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

    Inc. 1
  2. 概要 1. 手書きアニメの流れ 2. 線画トレースのサポート 3. 今後 2 ©Project Vanguard2019/Aichi

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

    原画の清書及び中割の絵 © OLM Digital, Inc. 3 ©Project Vanguard2019/Aichi Television 著作権の関係により 画像を掲載しておりません
  4. 手書きアニメの流れ © OLM Digital, Inc. 4

  5. 原画 • 影やハイライトあり • 領域は必ずしも閉じていない • 注釈つきの場合もあり © OLM Digital,

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

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

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

    Television 著作権の関係により 画像を掲載しておりません
  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]
  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.
  11. なぜこの論文か? • 実装が単純 • ベクタライズできる – 任意の絵をベクターに変換可能 – 編集しやすい ©

    OLM Digital, Inc. 11
  12. フレームワーク © OLM Digital, Inc. 12 前処理 (手動) 線画抽出 (自動)

    後処理 (半自動) レンダリング (自動) 画像 画像 画像 グラフ グラフ
  13. 前処理(手動) • 入力を綺麗にする – ハッチングなどを取り除く – 線を濃くする © OLM Digital,

    Inc. 13 ©Project Vanguard2019/Aichi Television 著作権の関係により 画像を掲載しておりません
  14. 線画抽出 © OLM Digital, Inc. 14 • 線画をグラフとして表現する – 頂点とエッジの集合

  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. *
  16. 頂点位置の決定 © OLM Digital, Inc. 16 ©Project Vanguard2019/Aichi Television

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

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

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

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

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

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

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

    Digital, Inc. 23 ©Project Vanguard2019/Aichi Television 頂点の範囲
  24. 初期状態 © OLM Digital, Inc. 24 ©Project Vanguard2019/Aichi Television 著作権の関係により

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

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

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

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

    Television 著作権の関係により 画像を掲載しておりません
  29. 最小全域木 (MST) • グラフのすべての頂点を含む部分 木のうち、エッジの重みの和が最 小のもの • 木なのでループをもたない © OLM

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

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

    Digital, Inc. 31 1 1 1 1 1.5
  32. 余分なエッジの削除 • ループのところに穴が開く © OLM Digital, Inc. 32 ©Project Vanguard2019/Aichi

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

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

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

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

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

    Television 著作権の関係により 画像を掲載しておりません
  38. グラフのデータ構造 • 後処理では高速な検索が必要 – 例. 一番近い分岐点を探す • グリッドにその中の点と隣接情報を保 持する ©

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

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

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

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

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

    OLM Digital, Inc. 43
  44. グラフのスムージング • 初期構築グラフはガタついている • 法線ො 上で重心Ԧ がある方に移動させる © OLM Digital,

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

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

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

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

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

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

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

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

    法線 移動方向 重心
  53. グラフのスムージング © OLM Digital, Inc. 53 ©Project Vanguard2019/Aichi Television •

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

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

    55 ©Project Vanguard2019/Aichi Television 著作権の関係により 画像を掲載しておりません
  56. 分岐点の修復 - 領域の特定 © OLM Digital, Inc. 56

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

  58. 分岐点の修復 - 領域の特定 © OLM Digital, Inc. 58 1.適当な探索範囲を決定 2.対象の点を抽出

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

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

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

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

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

    れば終了 4.探索範囲を広げて2に戻る © OLM Digital, Inc. 63
  64. 分岐点の修復 - グラフの修正 1. 特定した領域の点を削除 © OLM Digital, Inc. 64

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

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

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

    曲率の小さい順に足していく – 端点がなくなったら終了 © OLM Digital, Inc. 67
  68. 分岐点修復の実行例 © OLM Digital, Inc. 68 ©Project Vanguard2019/Aichi Television 著作権の関係により

    画像を掲載しておりません
  69. 現在の結果 © OLM Digital, Inc. 69 自動抽出の結果 < 5s 手作業での抽出結果

    ~40 minutes ©Project Vanguard2019/Aichi Television 著作権の関係により 画像を掲載しておりません 著作権の関係により 画像を掲載しておりません
  70. 現状の問題点 • 入力がある程度きれいな線画でないといけない – 線と誤認するようなハッチング – 背景色(白)に近い薄い線 • パラメータが画像の局所的な特徴に依存する –

    エッジを張る範囲など © OLM Digital, Inc. 70
  71. 今後 © OLM Digital, Inc. 71

  72. 半自動の領域閉じ • 端点から接続しうる点の候 補を表示 • ユーザーによる選択でエッ ジを追加する © OLM Digital,

    Inc. 72 ©Project Vanguard2019/Aichi Television 著作権の関係により 画像を掲載しておりません
  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 著作権の関係により 画像を掲載しておりません
  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 著作権の関係により 画像を掲載しておりません
  75. 75