motionでボカシ・モザイクと自動追跡
motionはあまり使っておらず、少し勉強をしてブログにmotionのことも書こうとmotionカテゴリを作ったのですが、最近はmotionを開くことも減ってきてしまいました。そんな中でmotionでボカシ処理をする必要があり、試したことを記載しておきます。
簡単なボカシはFinal Cut Proの「センサー」エフェクトで対応できますが、motionを使うとより細やかな形状でのボカシの適用や追跡が可能なのが魅力です。
INDEX
motionを起動
motionを起動すると、m04_fig_01の画面が表示されます。タイトルテンプレートの作成など様々なモードの中から、「motionプロジェクト」を選択します。
画面右側の設定パネルで、作成する映像に合わせて、
- プリセット
- フレームレート
- 継続時間
を設定します。

motion起動画面で作成プロジェクトの種類を選択し、フレームレートなどを設定する
素材を配置
作成したmotionプロジェクトに、
メニューバー→ファイル→読み込む…→メディア…(ショートカット:command + I)
で素材を読み込みます。
ぼかしを加える素材と、ぼかしを加えない素材の2つを配置します。ぼかしを加えた映像をマスクでくり抜き、通常の画像の上にのせることで部分的にぼかし処理を施す段取りです。そのため、読み込んだ素材をレイヤー画面かタイムラインでコピー&ペーストして、上下に重なるよう配置します。

素材を複製して、2段重ねに配置する
今回の素材
今回、motionのボカシ機能をためすのは、以下の画像の動画です。

動画の動きは、丸数字の順で進行する
「妙法寺」と書かれた看板が写っていて、画面を左にパンすると看板がフレームアウトする映像です。この動画の「妙法寺」という看板部分にボカシ処理をかけてみます。
ボカシの適用
レイヤー上段の素材にボカシを適用します。ボカシを適用する素材を選択して、画面上の「フィルタ」」から「ブラー(ガウス)」を選択します。なお、モザイク処理にしたい場合は、「スタライズ」内の「ピクセル化」を選択します。

ボカシを適用する素材を選択して、画面上の「フィルタ」からブラーを選択
ボカシの強さは、レイヤー画面で「ブラー」を選択し、画面左の「インスペクタ」タグ内の「フィルタ」タグの画面にある「ブラー(ガウス)」設定の「量」のスライダで調節します。

ボカシ量の調節は、フィルタ設定「ブラー」の「量」スライダで調整する
モザイクの場合は、「ピクセル化」の「調整」スライダで設定します。

「ピクセル化」設定画面
マスクの適用
ボカシ、或いはモザイクを適用した素材にマスク処理を加えて、ボカしたい部分のみを切り抜きます。レイヤー上段の素材を選択して、モニタ画面下右側のマスクメニューから「ベジェマスク」(など)を適用します。今回のような複数のポイントを結んだ形状で適当なマスクが作成できる場合は、「ベジェマスク」が妥当だと思います。

モニタ画面下のマスク作成ボタンで、適用したいマスクを選択する
「ベジェマスク」を選択すると、カーソルがペンのアイコンに変化します。ドローツールなどで多角形を描くように、適当なポイントをクリックしてマスクの形状を完成させます。

ペンツールでマスク形状を作成する
マスク作成後に形状を修正する場合は、ポイントをドラッグします。
メニューバー→表示→スナップの解除
でポイントを自由な位置に移動できるようになります。
一旦他の作業を行った場合は、ツールを「ポイントの編集」ツールに戻す必要があります。モニタ画面左下のツールメニューから、「ポイントを編集」を選択して作業をします。

ベジェマスクの形状を修正するには、ツールを「ポイントの編集」にする
ボカシ処理が必要な箇所が複数ある場合は、必要な数だけマスクを作成します。別のマスクを作成するには、読み込んだ映像レイヤーを選択して、マスクレイヤーを選択解除した状態にすることで、画面右下のマスクツールボタンがクリック可能になります。
ポイントを追加するには、「ポイントを編集」ツールの状態でベジェ図形上の適当な場所にマウスカーソルをおき、右クリックで「ポイントを追加」が表示されます。
ベタで塗りつぶす場合
マスクを切ってボカすのではなく、黒塗り文書の黒塗り部分のようにベタで塗りつぶす場合は、モニタ画面下に並ぶボタン群の左から2番目の「ベジェツール」から「ベジェ」を選択して自由なベジェ図形を作成することができます。図形の色彩は、モニタ画面やレイヤー画面で作成したベジェレイヤーを選択し、画面左の「インスペクタ」の「シェイプ」タグで設定します。ポイントの編集や追加は、ベジェマスクの場合と同様です。
マスクの追跡設定
マスクが完成したら、作成したマスクに画面上のボカシを適用したいオブジェクトを追跡するアニメーションを設定します。motionには様々な追跡機能があるようですが、今回の場合は以下の2つの追跡ツールが適当なようです。
1 マッチムーブ
動きに合わせて、位置と回転を調整しながら自動的に追跡する機能のようです。
レイヤー画面で「マッチムーブ」を適用したいマスクを選択し、画面上の「ビヘイビア」から「モーショントラッキング」の「マッチムーブ」を選択します。

作成したマスクに「マッチムーブ」を適用
「マッチムーブ」を適用すると、マスクの周辺にグリットが表示されます。グリットの周囲などにあるハンドルでサイズや向きを変更できます。解析のエリアを設定するのだと思いますが、デフォルトのままで問題ないようです。

「マッチムーブ」を適用すると、マスクの周囲に解析用のグリットが表示される
追跡に関する設定は、レイヤー画面で「マッチムーブ」が選択された状態で、画面左の「インスペクタ」ウインドウの「ビヘイビア」タグで設定をします。マスクのサイズが変化する場合は、設定画面中央付近の「調整」という項目も選択しておきます。

「マッチムーブ」の設定画面
「解析」というボタンを押すと、動画の動きを解析してマスクにアニメーション処理が加えられます。レイヤー画面でマッチムーブを選択すると、タイムラインには自動的に作成されたキーフレームが並びます。

「マッチムーブ」の解析で作成されたキーフレーム
今回のようにボカシをかけたいオブジェクトがフレームアウトする場合、追跡は途中までしかできないようです。

追跡は途中で終わり、ボカシ用のマスクがフレームアウトするところまではアニメーション処理されない
マスクが画面の端まで行ってフレームアウトするまでの部分は、手動でキーフレームを作成します。再生ヘッドの位置を数フレーム進めては、
- Transform.Position.X
- Transform.Position.Y
- Transform.Rotation
- Transform.Scale.X
- Transform.Scale.Y
の値を調整してキーフレームを追加していきます。ここまでのフレームに既にキーフレームが作成されているので、それぞれの値部分をマウスでドラッグして数値を修正すれば、自動的にキーフレームが作成されます。マスクの形状変化が大きくなければ、位置・回転・スケールの5項目の調整で比較的正確なマスクを作成することができます。
なお、この時にTransform.Scaleの値を調整するには、解析時に「調整」の項目が選択されている必要があるようです。

オブジェクトがフレームアウトする場合、解析は途中で終わってしまうので、続きは手動でキーフレームを作成していく
自動で作成されたキーフレームの動きが気に入らない場合も、キーフレームを修正していきます。
数フレームおきにキーフレームを追加した場合、キーフレームとキーフレームの間の補間方法によっては、動きが不自然になる場合があります。各キーフレーム項目の右端に表示される下向きの矢印「∨」ボタンでキーフレームの補間方法を設定します。「直線状」か「連続的」が無難な動きになるようです。

キーフレームの補間方法の設定
2 ポイントのトラック
数個のポイントで作成した矩形などの多角形のマスクならば、「ポイントをトラック」が画面上のオブジェクトの形状に対して正確にマスクの形状を変形させつつ追跡することができます。
レイヤー画面で適用したいマスクを選択し、画面上部の「ビヘイビア」から「シェイプ」の「ポイントをトラック」を選択します。

マスクに「ポイントのトラック」を適用
「ポイントをトラック」を適用すると、モニタ画面上のマスクの各ポイントには赤いマーカーが表示されます。

「ポイントをトラック」の設定画面は、画面左のインスペクタウインドウのビヘイビアタグに表示されます。特に変更の必要がある項目はなさそうで、デフォルトのままで比較的良好にトラッキング可能なようです。

「ポイントのトラック」の設定画面
設定画面の「解析」ボタンをクリックすると、動きの解析が開始されます。解析が終了すると、マーキングされたそれぞれのポイントにキーフレームが作成されます。

「ポイントのトラック」の解析により作成されたキーフレーム
「マッチムーブ」と同様に、追跡している画面上のオブジェクトがフレームアウトする場合、トラッキングは途中で終わってしまいます。自動トラッキングが途切れるあたりは、オブジェクトを見失って迷ったようなキーフレームが生成されているので、その部分は範囲選択で削除します。

追跡が途切れる寸前は、オブジェクトを見失ったような動きになっているため、不要部分のキーフレームを削除する
続きは、手動でキーフレームを打つしかありません。フレームを送りながら、タイムラインのアニメーションウインドウの各座標の値をドラッグして数値を修正していきます。この時、タイムラインのキーフレームやモニタ画面のキーフレームの軌跡を見ると、滑らかな動きを作成できているかをある程度確認することができます。
4つのポイントを解析した場合、1つのポイントにつきX座標・Y座標の2つの値を設定するので、合計8つの値を設定していく必要があり、結構面倒です。ただし、元の動画の動きにもよりますが、数フレームおきにキーフレームを打ち込んでも、比較的良好な動きが得られる場合が多いです。

数フレームおきにキーフレームを打てば、比較的滑らかな動きが再現できる
数フレームおきにキーフレームを打つ場合は、キーフレームの補間方法を指定した方が無難です。タイムラインのキーフレーム欄各値左側の下向きの矢印「∨」で補間方法を設定します。「直線状」か「連続的」が無難な動きになるようです。

数フレームおきにキーフレームを打った場合、キーフレームの補間方法を設定する
自動追跡が途切れる場合や、追跡結果が好ましくない場合は修正が必要になり、手間がかかります。しかし、各ポイントごとに動きを解析して追跡するので、映像に対する形状の追従性は抜群です。
まとめ
Final Cut Proでも、「センサー」エフェクトでボカシ処理を加えることができます。しかし、motionを使うことで、より細やかな形状の追跡が可能になります。
今回記載した方法よりも、もっと効率的だったり精度の高い方法を見つけたら、別途記載します。

