「白黒画像・動画をカラーに変換したい」
「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に変更することができます。
処理が終わると、この動画が次のようにカラー化されています。
以上、DeOldifyの動作確認を説明しました。