「白黒写真をカラー化したい」
「ツールを使っても、古い白黒写真を綺麗なカラー写真にはできない・・・」
このような場合には、この記事の内容が参考になります。
この記事では、白黒写真を良い感じにカラー化する方法を解説しています。
本記事の内容
- 白黒写真のカラー化におけるゲームチェンジャー
- 画像生成AIによる白黒写真のカラー化に必要なモノ
- 画像生成AIを用いて白黒写真をカラー化する方法
それでは、上記に沿って解説していきます。
白黒写真のカラー化におけるゲームチェンジャー
白黒写真のカラー化は、結構古い技術です。
「白黒写真 カラー化」と検索すれば、アプリやWebサービスが多く出てきます。
本ブログでも、次のような技術を紹介しています。
したがって、白黒写真のカラー化は枯れた技術と言えます。
そして、多くのWebサービスやソフトが存在しています。
そこで、現時点で検索上位(2サイト)に出てくるWebサービスを試してみましょう。
変換するのは、次のページの画像を用います。
https://www.ndl.go.jp/portrait/datas/160/
カラー化した結果は、以下。
![](https://self-development.info/wp-content/uploads/2023/05/140f6c62-7f86-4a89-81a8-31f4a2659856.jpg)
元の白黒画像は、決して画質の良い状態とは言えません。
そのため、これらのWebサービスもかなり頑張っていると言えます。
では、次の画像をご覧ください。
![](https://self-development.info/wp-content/uploads/2023/05/1111111.jpg)
これらの画像は、画像生成AIを用いてカラー化した画像です。
明らかに、既存の白黒画像のカラー化とはレベルが違います。
これは、ゲームチェンジャーと言ってもよいでしょうね。
以上、白黒写真のカラー化におけるゲームチェンジャーを説明しました。
次は、画像生成AIによる白黒写真のカラー化に必要なモノを説明します。
画像生成AIによる白黒写真のカラー化に必要なモノ
画像生成AIは、Stable Diffusionです。
このStable Diffusionを利用するには、以下のツールをインストールする必要があります。
そして、ControlNetも必須となります。
ここまでは、画像生成AIに興味があれば大丈夫でしょう。
ただ、次のControlNet用モデルは初耳かもしれません。
https://huggingface.co/ioclab/control_v1p_sd15_brightness
輝度をもとに古い写真の色の復元や既存の画像の再カラーリングなどを可能にします。
現時点では、このControlNet用モデルは公式には採用されていません。
つまり、野良モデルです。
ダウンロードは、次のページから行えます。
![](https://cdn-thumbnails.huggingface.co/social-thumbnails/models/latentcat/latentcat-controlnet.png)
![](https://self-development.info/wp-content/uploads/2023/05/image-58.png)
下線をクリックしたら、「control_v1p_sd15_brightness.safetensors」をダウンロードできます。
ダウンロードできたら、通常のControlNet用モデルと同じ場所に保存します。
コンテンツルートから見ると、次の場所ですね。
「extensions/sd-webui-controlnet/models」
![](https://self-development.info/wp-content/uploads/2023/05/image-59.png)
ただし、このモデルファイルを保存するだけではダメです。
「cldm_v15.yaml」をコピーして、「control_v1p_sd15_brightness.yaml」を新たに作成する必要があります。
野良モデルのため、yamlファイルは初めから用意されていません。
そのため、自分で作成する必要があります。
と言っても、コピーして終わりですけどね。
ファイル名だけは注意しましょう。
次のように保存できればOK。
![](https://self-development.info/wp-content/uploads/2023/05/image-60.png)
以上、画像生成AIによる白黒写真のカラー化に必要なモノを説明しました。
次は、画像生成AIを用いて白黒写真をカラー化する方法を説明します。
画像生成AIを用いて白黒写真をカラー化する方法
web UIを起動して、「txt2img」タブを開きます。
そして、ControlNetを開いて白黒画像をアップロードします。
![](https://self-development.info/wp-content/uploads/2023/05/79e90be685cc576985b2724ceebf3521.jpg)
設定するのは、下線の箇所になります。
注目は、「Preprocessor」には「none」を設定するというところです。
「Model」には、ダウンロードしたファイルを選択します。
ControlNetの設定は、これだけです。
本体の設定は、以下。
サイズは、元の画像サイズに合わせています。
![](https://self-development.info/wp-content/uploads/2023/05/4f079bfc8a8e5870966ec04e2266503b.jpg)
サンプラーは、「Euler a」が最も良い結果が出ています。
step数は、20以上なら問題ないでしょう。
CFGは、7以下が良い結果となります。
ただ、これらの数値に絶対はありません。
各自でベストの値を求めましょう。
そして、プロンプトには以下を設定します。
プロンプト
(((Canon EOS 5D Mark4))),masterpiece,best quality,
ネガティブプロンプト
(((monochrome))),
なお、これらも絶対ではありません。
別のカメラを指定したら、もっと良くなるかもしれません。
あとは、利用するモデルですね。
とりあえず、次の二つをオススメしておきます。
- ICBINP
- ReV Animated
これらを用いれば、それなりの結果にはなります。
![](https://self-development.info/wp-content/uploads/2023/05/111111.jpg)
左がICBINP、右がReV Animatedを用いた結果です。
画像によっては、これだけで十分に見れるモノになります。
微調整すれば、よりイメージに沿ったカラー画像になります。
微調整の方法については、長くなるので別の記事で説明します。
以上、画像生成AIを用いて白黒写真をカラー化する方法を説明しました。