【AI】画像/動画を高画質化するCodeFormerを使ってみます。

画像や動画の高画質化ってAIでできるの?
AIだとCodeFormerっていうのがあるよ。

この記事では画像や動画を高画質化すべくCodeFormerというものを使っていきます。

記事の内容
  • CodeFormerで画像を高画質化する
  • CodeFormerで動画を高画質化する

    AIを使ってどんな風に画像や動画を高画質化することができるのか参考にしてみてください。

    画像や動画を高画質化していこう。

    CodeFormerとは

    CodeFormerはぼやけてしまったような画像や動画を良い感じに高画質にしてくれるものです。左側が処理前で右側が処理後。

    かなり綺麗になっているね。
    そうだね、CodeFormer通すだけでこうなるから凄い。

     

    どこまで元画像を再現できるかわからないけど、ここまで元画像から修復しようとしてくれるのはやりますよね。

    今回はこのCodeFormerを使って画像や動画を高画質化していきたいと思います。

    CodeFormerで画像を高画質化する

    コードを実行してもいいんですが、HuggingFaceでデモを試すことができるのでそこから実行してみましょう。

    画像をアップロードしてやれば簡単に綺麗にしてくれます。

    人物画像を高画質化する

    処理前

    処理後

    かなり綺麗になりましたね。ただ目元あたりはちょっと変わってしまったので、やっぱり復元というわけにはいきません。綺麗に補完してくれているような感じでしょうか。

    複数人が写っている画像を高画質化する

    元画像

    処理後

    これはかなり良い感じな気がします。それぞれの人物の顔がくっきりしました。

    人以外の画像を高画質化する

    CodeFormerってあくまで人物が写っている画像に対して強いイメージがあるけど、こういう画像に対してもやってみるとどうでしょう。

    元画像

    処理後

    これもくっきりするじゃん
    看板の文字とか人混みとかみるとかなり綺麗になったね。

    こういう画像でも綺麗にできるとなるとかなり多くの写真を綺麗にできそうな気がします。ぼやけてしまった画像でもこうやって綺麗になればかなり嬉しいですよね。

    CodeFormerで動画を高画質化する

    CodeFormerは画像だけじゃなくて動画も同じように高画質にしてくれるんだけど、HuggingFaceからはできなかったです。

    なのでコードを実行してやろうと思います。CodeFormerのGithubに以下のように書かれているので参考にしつつやりましょう。

    2022.10.05: Support video input --input_path [YOUR_VIDOE.mp4]. Try it to enhance your videos! 🎬

    # For video clips
    # Set frame rate of saved video via '--save_video_fps 24'
    python inference_codeformer.py --bg_upsampler realesrgan --face_upsample -w 1.0 --input_path video path --save_video_fps 24

    GoogleColaboratoryから動画の高画質化を行う

    CodeFormerのGoogleColaboratoryからコードを実行して動画を高画質化していきます。

    順番に上から2つ目まで実行して、[inputs→user_upload]に動画をアップロードしたら以下のようなコードを実行します。

    !python inference_codeformer.py --bg_upsampler realesrgan --face_upsample -w 1.0 --input_path /content/CodeFormer/inputs/user_upload/xxx.mp4 --save_video_fps 24

    (動画ファイルは自分がアップロードしたものにする)

    これを実行して処理が終わるとresultsはいかに作成されたものが出力されます。

    処理される前と処理された後の動画

    コードを実行する前と後の動画を確認してみるとこんな感じになりました。上が処理前で下が処理後です。

    かなり綺麗になってて笑っちゃうわ。
    動画もここまで綺麗になるなんて驚きしかないよね。

    動画も1フレームごとの画像の集まりと考えれば、そりゃあ画像と同じように綺麗にできるんだろうけど、実際にこんな綺麗になってしまうとびっくりしますね。

    ちょっとぼやけたような動画を綺麗にしたかったら実際に使ってみるとかなり良さそうです。

    まとめ

    CodeFormerを使って画像と動画を高画質にするっていうことをやってみたけど、どちらも良い感じにすることができました。

    高画質化を試したい場合には画像と動画で以下の方法をとるといいでしょう。

    • 画像を綺麗にしたい場合はHuggingFaceから実行
    • 動画を綺麗にしたい場合はGoogleColaboratoryから実行

    個人的には動画がここまで綺麗になるのに驚きました。技術の進歩は凄いな。