super resolution demoで動画を変換

OpenVINO toolkit内のOpen Model Zooにはsuper resolution demoが含まれています
このデモを使用して、解像度変換を簡易動画に対して行ってみましょう
まずは、super resolutionを動作させてみましょう

cd /opt/intel/openvino/deployment_tools/open_model_zoo/demos
./build_demos.sh

上記のコマンドでホームディレクトリ内のomz_demos_buildディレクトリに~/omz_demos_build/intel64/Release/super_resolution_demo
としてビルドできます

画像のソースは、

この映像を元としました

super resolution demoは対象を静止画としていますので、この映像をffmpegコマンドで一コマずつ切り出していきます

ffmpeg -i test_video.mp4 -r 15 video%05d.png

こちらをconvertコマンドによって、1920×1080サイズに変換し、animation gifに変換します

convert video_000*.png expanded.gif

こちらがそのanimation gifとなります

次に一コマずつ超解像変換を行います

for nm in ../source_video/video_000*.png;
do
  ~/opencv_prog/test/intel64/Release/super_resolution_demo -m  ~/openvino_models/intel/single-image-super-resolution-1032/FP16/single-image-super-resolution-1032.xml -i $nm;
  mv sr_1.png  converted_basename $nm;
done
convert video_000*.png converted.gif

※モデルを読み込む時間を節約するのに複数ファイル指定も使用できます

上記のスクリプトで変換したanimation gifが下記となります

文字の周りにしっかりと変換がかかっているようです

一コマを取り出して、WinMergeで違いを見てみましょう

今回はanimation gifでの単純な変換でしたが、ソースコードを元に動画変換を行えるようにすると面白いかもしれません