オプティカルフローを用いたアニメーション制作における原画の補間

スタジオゴルゴンゾーラ制作部の藤田です．
ゴルゴンゾーラではアニメーション制作を主に行っています．担当は動画でした．アニメーションはよくパラパラ漫画と言われます．原画というものが設計図として存在しており，動画はその間を埋めるものです．
動画の作業は辛く厳しいものでした．原画間の動きを予測した上で，原画に似せた絵を描くことは非常に難しいのです（つまり，絵心が無かった）．

今回は，そんな過酷な動画作業を少しでも楽にするため，物体追跡アルゴリズムで用いられるオプティカルフローを使って，原画の自動補間を試みました．実験の結果，概ね動画の下書きとして十分な精度の画像が得られました．これを使うことで，動画作業の負荷が軽減できると考えています．

[![紹介動画](http://img.youtube.com/vi/o0ugTTQIcco/0.jpg)](http://www.youtube.com/watch?v=o0ugTTQIcco)

(論文も書きました．ダウンロードは[コチラ](https://yaeca-my.sharepoint.com/personal/fujita_gorgonezola_com/_layouts/15/guestaccess.aspx?docid=1cd95fe7e4f0b478ba8e2a60d409db98a&authkey=ATJqVIVSWE5tXP5BTF157AU "Drawing complementation by optical flow for handwritten animations")から)
![paper_e00101.png](https://qiita-image-store.s3.amazonaws.com/0/161109/084cac49-1434-0d9a-43fd-d577b8e72873.png)


# 背景
## ゴルゴンゾーラとは
アニメ作ってます．食レポとガジェット集めが主な日課．
![あいかの手帳.png](https://qiita-image-store.s3.amazonaws.com/0/161109/d8f4f93f-6f8d-2ba7-2ac9-281796f7419d.png)



## 動画とは
下絵である**原画**をクリーンナップし，動作を滑らかにするために作成されるものです．原画間の動きを，アニメーターが予測して描く必要があります．これには専門的な知識や経験が必要です．そのため，アニメーション制作には一定のハードルがあります．

![f1.png](https://qiita-image-store.s3.amazonaws.com/0/161109/7eafc8cd-7080-ed3a-fd82-afe989445f02.png)

Figure 1に実際のアニメーション制作で用いた素材を示します．まず，映像の設計図となる絵コンテ(Figure 1A)から，カットの設計図であるレイアウト(Figure 1B)を描き起こします．次に，動きの設計図である原画(Figure 1C)，原画を繋ぐものである動画(Figure 1D)を作成します．動画は中割りとも呼ばれます．動画に着色し(Figure 1E)，効果などを適用すると，完成映像(Figure 1F)となります． 

# 提案手法
今回の検証実験では，物体追跡アルゴリズムで用いられるオプティカルフローを利用して，原画間の補間をすることで，動画の下書きを作成することを試みます．

## オプティカルフローとは
> "オプティカルフロー（英: optical flow）とは、視覚表現（通常、時間的に連続するデジタル画像）の中で物体の動きをベクトルで表したものである。"
[オプティカルフロー - Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%97%E3%83%86%E3%82%A3%E3%82%AB%E3%83%AB%E3%83%95%E3%83%AD%E3%83%BC "オプティカルフロー")

オプティカルフローは，あるピクセルの色や輝度を元に，比較画像内でのピクセルの動きを表したものです．
滝の画像についてのオプティカルフローを以下に示します(Figure 2)．

![f2.png](https://qiita-image-store.s3.amazonaws.com/0/161109/24c870d0-656b-e86f-85b5-aa704fd5f97f.png)

ピクセルの変化している滝の部分で，動きが検出されていることがわかります．
比較元(Figure 2A)と比較先(Figure 2B)で，変化している箇所が赤く検出されています(Figure 2C)．

今回の提案手法ではオプティカルフローを基に，原画を変形します．変形した原画を動画の下書きとします．
実際の結果は，以下の通りです(Figure 3)．

![f3.png](https://qiita-image-store.s3.amazonaws.com/0/161109/4644dc51-a3ab-1610-435b-8ddc3ab2f772.png)

検出されたベクトル(Figure 3A)を元に，その中間部分の形へと画像を変形させます(Figure 3B)．
自動で動画を作成する機能を持ったソフトには，[CACANi](https://cacani.sg/ "2D Animation & Inbetween SoftwareCACANi")などがあります．しかし，これらのソフトには描き順を揃えなければならないという難点があります．絵心の乏しい者としては，これは非常に大変なことです．

今回の提案手法では，画像を変形するため，描き順を気にする必要はありません．加えて，アナログ・デジタル関係なく用いることができます．

# 実験結果
実際の制作データを用いて，提案手法が有効であるか，検証しました．

![f4.png](https://qiita-image-store.s3.amazonaws.com/0/161109/61553c58-7f5c-181e-3046-5c42dd2e12a0.png)

実験結果(Figure 4)では，原画A1(Figure 4A)と原画A2(Figure 4C)を比較したオプティカルフローを基に，A1を変形した画像(Figure 4B)を出力しました．この補間した画像は，確かに2枚の中割りとなっています．

次に別のカットの素材で実験した結果を示します．

![result.gif](https://qiita-image-store.s3.amazonaws.com/0/161109/49df43bb-875c-1136-8bd0-0f1ed54b6cc7.gif)

左が原画のみ，右が原画と補間した画像を組み合わせたものです．
動画にしても，自然な結果が得られていることがわかります．

# おわりに
本稿では，オプティカルフローを用いたアニメーション制作における原画の補間手法を提案しました．また，提案手法が有効かどうか検証するため，実際の制作データを用いて実験を行いました．
実験結果から，提案手法によって，十分に自然な画像が得られることがわかりました．

しかし，得られた画像の中には，一部不自然なものがありました．その例を以下に示します．

![f5.png](https://qiita-image-store.s3.amazonaws.com/0/161109/4122d3dc-63f1-1731-cd2f-4d142a3e95a1.png)

この例では，基になった原画(Figure 5A)と，これを変形して得られた画像(Figure 5B)を示しました．
画像を変形して結果を得るため，検出したオプティカルフローによっては，画像が大きく乱れる場合があります．これはオプティカルフローが大きい場合に顕著です．

この画像の乱れを補正するため，機械学習によるパターンマッチングの手法を用いることを検討中です．

# Acknowledgement
本研究で用いた素材はすべてスタジオゴルゴンゾーラの著作物です．
おまけ:http://blog.gorgonezola.com/2017/01/222332/