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での単純な変換でしたが、ソースコードを元に動画変換を行えるようにすると面白いかもしれません
産業用画像処理装置開発、
ゲームコンソール開発、半導体エンジニアなどを経て、
Webエンジニア&マーケティングをやっています
好きな分野はハードウェアとソフトウェアの境界くらい