DeOldifyのインストール【白黒画像・動画のカラー化AIツール】

DeOldifyのインストール【白黒画像・動画のカラー化AIツール】 ツール

「白黒画像・動画をカラーに変換したい」
「Colabではなくローカル環境でAIツールが動くようにしたい」

このような場合には、この記事の内容が参考になります。
この記事では、ローカル環境にDeOldifyをインストールする方法を解説しています。

本記事の内容

  • DeOldifyとは?
  • DeOldifyのシステム要件
  • DeOldifyのインストール
  • DeOldifyの動作確認

それでは、上記に沿って解説していきます。

DeOldifyとは?

DeOldifyとは、白黒画像・動画をカラー化するAIツールです。
オープンソースであり、無料で利用可能になっています。

DeOldifyを使うと、1925年にパリで撮影された写真が次のようにカラー化されます。

動画に関しても、白黒動画をカラー動画に変換可能です。

DeOldifyの動作環境としては、次の二つが想定されています。

  • Google Colab
  • ローカル環境

Google Colabについて、DeOldify公式では「Easiest Approach」と表現しています。
DeOldifyに限らず、Colab上だと比較的簡単にどんなモノでも動きますね。

それに対しては、ローカル環境は「not as easy」と表現されています。
GPU搭載のマシンを用意するところから、容易とは言えませんからね。

また、公式ではCondaの利用が前提で説明されています。

個人的には、Condaは利用したくありません。
condaコマンドは使わずに、pipコマンドで環境構築できるのがベストだと考えています。

したがって、この記事ではCondaを使わないインストールを目指します。

以上、DeOldifyについて説明しました。
次は、DeOldifyのシステム要件を説明します。

DeOldifyのシステム要件

DeOldifyのシステム要件は、以下がポイントになります。

  • OS
  • GPU
  • FFmpeg
  • PyTorch

それぞれを以下で説明します。

OS

OSについては、Linuxのみで検証していると書かれています。
しかし、Windowsでも動くことが確認できています。

macOSについては、わかりません。

GPU

GPUは、処理によって必要な容量が変わってきます。
動画のカラー化だけであれば、4GBで大丈夫ということです。

4GBであれば、ほとんどのGPUにおいて問題はないでしょう。
ただ、学習も行うとなれば11GB以上が必要になります。

そうなってくると、GPUも限られてきます。
なお、GPUのメモリ容量を調べるには次のコマンドで一撃です。

>nvidia-smi --query-gpu=name,memory.total,memory.free --format=csv,noheader
NVIDIA GeForce RTX 3090, 24576 MiB, 23519 MiB

FFmpeg

FFmpegを動画編集に用いているようです。
そのため、FFmpegをインストールしておく必要があります。

そこまで新しいバージョンである必要はないようです。

PyTorch

DeOldifyは、GPUの利用が前提となっています。
そのため、GPU版のPyTorchが必要となります。

GPU版のPyTorchをインストールする方法は、次の記事で解説しています。

PyTorchのバージョンについては、なるべく新しいモノを利用しましょう。

以上、DeOldifyのシステム要件を説明しました。
次は、DeOldifyのインストールを説明します。

DeOldifyのインストール

DeOldifyのインストールは、Python仮想環境の利用をオススメします。
Python仮想環境は、次の記事で解説しています。

検証は、次のバージョンのPythonで行います。

> python -V     
Python 3.10.4

そして、システム要件を満たしているという状況です。
このような状況において、DeOldifyのインストールを進めます。

まずは、GitHUbからリポジトリをcloneします。

git clone https://github.com/jantic/DeOldify.git DeOldify

ダウンロードできたら、リポジトリルートに移動しましょう。

cd DeOldify

ここで、次のファイルがあることを確認してください。

requirements.txt

wandb
fastai==1.0.60
tensorboardX>=1.6
ffmpeg
ffmpeg-python
yt-dlp
jupyterlab
opencv-python>=3.3.0.10
Pillow==9.1.0
--extra-index-url https://download.pytorch.org/whl/cu113
torch==1.11.0
torchvision==0.12.0
ipywidgets

このファイルを使って必要なモノを一気にインストールします。
ただし、PyTorch関連のモノは除外しておきます。

すでに、各自の環境に適したPyTorchをインストール済みという前提です。
変更後のrequirements.txtは、次のようになります。

wandb 
fastai==1.0.60 
tensorboardX>=1.6 
ffmpeg 
ffmpeg-python 
yt-dlp 
jupyterlab 
opencv-python>=3.3.0.10 
Pillow==9.1.0 
ipywidgets

変更後のrequirements.txtを利用して、一括インストールを行います。
用いるのは、次のコマンドです。

pip install -r requirements.txt

インストールには、そこそこ時間がかかります。
エラーなく終われば、インストール完了です。

以上、DeOldifyのインストールを説明しました。
次は、DeOldifyの動作確認を説明します。

DeOldifyの動作確認

DeOldifyの動作確認を行う前に、動作確認で用いるモデルを手にいれましょう。
まずは、モデルを配置する場所を作成することからです。

リポジトリルートにmodelsディレクトリを作成します。

mkdir models

ダウンロードリンクは、GitHub上のページにあります。
https://github.com/jantic/DeOldify

Artistic

 https://data.deepai.org/deoldify/ColorizeArtistic_gen.pth

Video

 https://data.deepai.org/deoldify/ColorizeVideo_gen.pth

それぞれのファイルは、modelsディレクトリに設置します。

ここまで準備ができたら、次のコマンドでJupyterLabを起動させましょう。

jupyter lab

デモプログラムが、用意されています。
そして、そのデモはJupyterLab上で動きます。

JupyterLabについては、次の記事で説明しています。

JupyterLabを起動させると、次の画面が確認できます。

たくさんのファイルがありますが、次の二つのファイルを利用します。

  • ImageColorizer.ipynb(画像のカラー化)
  • VideoColorizer.ipynb(動画のカラー化)

JupyterLab上の操作は、次の記事をご覧ください。

以下では、それぞれの実行結果を確認します。

ImageColorizer.ipynb(画像のカラー化)

最後に次の画像を確認できれば、処理に成功しています。
白黒画像をカラー化できているということです。

画像を変更したい場合は、「source_url」を変更すればよいでしょう。

VideoColorizer.ipynb(動画のカラー化)

処理を実行していった結果、次の動画をカラーで見れればOKです。

次のような感じの動画を確認できると、処理は成功と言えます。

他の動画を変換したいなら、「source_url」を変更しましょう。
例えば、次の動画のURLに変更することができます。

MoviePyによる動画編集(テキスト追加)

処理が終わると、この動画が次のようにカラー化されています。

以上、DeOldifyの動作確認を説明しました。

タイトルとURLをコピーしました