本記事では、AMTと呼ばれる機械学習手法を用いて2画像間の中間画像を生成するVideo Frame Interpolation技術をご紹介します。
AMT
概要
All Pairs Multi Field Transforms(AMT)は、2つのフレーム画像から中間画像を生成するVideo Frame Interpolation技術です。
AMTでは、入力フレームが相関エンコーダー(Correlation encoder)に送信されて特徴が抽出され、これを使用して双方向相関ボリュームが構築されます。
次に、コンテキストエンコーダ(Context encoder)は、可視フレームのピラミッド特徴を抽出し、初期の双方向フローと補間された中間特徴を生成します。
次に、双方向フローを使用して、フローと各レベルの中間特徴を共同更新するための双方向相関を取得します。
最後に、中間フレームを補間するための粗い推定に基づいて、フローフィールド、オクルージョンマスク、および残差の複数のグループを生成します。
AMTは、これらの設計により、様々なベンチマークでSOTAを達成しています。
詳細はこちらの論文をご参照ください。
本記事では上記手法を用いて、Video Frame Interpolationを動かしていきます。
デモ(Colaboratory)
それでは、実際に動かしながらVideo Frame Interpolationを試していきます。
ソースコードは本記事にも記載していますが、下記のGitHubでも取得可能です。
GitHub - Colaboratory demo
また、下記から直接Google Colaboratoryで開くこともできます。
なお、このデモはPythonで実装しています。
Pythonの実装に不安がある方、Pythonを使った機械学習について詳しく勉強したい方は、以下の書籍やオンライン講座などがおすすめです。
おすすめの書籍
[初心者向け] Pythonで機械学習を始めるまでに読んだおすすめ書籍一覧
本記事では、現役機械学習エンジニアとして働く筆者が実際に読んだ書籍の中でおすすめの書籍をレベル別に紹介しています。
おすすめのオンライン講座
[初心者向け] 機械学習がゼロから分かるおすすめオンライン講座
本記事では、機械学習エンジニアとして働く筆者が、AI・機械学習をまったく知らない方でも取り組みやすいおすすめのオンライン講座をご紹介しています。
環境セットアップ
それではセットアップしていきます。 Colaboratoryを開いたら下記を設定しGPUを使用するようにしてください。
初めにGithubからソースコードを取得します。
次にライブラリをインストールします。
最後にライブラリをインポートします。
以上で環境セットアップは完了です。
学習済みモデルのセットアップ
ここでは、論文発表元が公開する学習済みモデルをダウンロードしていきます。
Video Frame Interpolation
それでは、スクリプトを使用してVideo Frame Interpolationを実行します。
推論結果を表示して確認します。
また、任意のフレーム画像からVideo Frame Interpolationを実行したケースは以下の通りです。
コードはGoogle Colabをご参照ください。
まとめ
本記事では、AMTを用いたVideo Frame Interpolationをご紹介しました。
部分的に欠損したフィルムタイムのビデオの修復などに活用されることが想定されます。
また本記事では、機械学習を動かすことにフォーカスしてご紹介しました。
もう少し学術的に体系立てて学びたいという方には以下の書籍などがお勧めです。ぜひご一読下さい。
また動かせるだけから理解して応用できるエンジニアの足掛かりに下記のUdemyなどもお勧めです。
参考文献
1. 論文 - AMT: All-Pairs Multi-Field Transforms for Efficient Frame Interpolation
0 件のコメント :
コメントを投稿