見出し画像

古い白黒写真をリアルにカラー化🎨DDColorを試す

学習可能なカラー トークン(つまり、カラー クエリ) を最適化することで、グレースケール画像をリアルなカラー画像をエンドツーエンドで変換する、「DDColor」というモデルが公表されていたので試してみました。

モデル概要

  • まず始めに、画像から重要な情報を抜き出すための「Backbone network」を使い特徴抽出を行います。

  • 次に、この情報を「Pixcel Decoder」に送り、画像の空間構造を復元します。同時に、「Color Decoder」は画像のさまざまな大きさの部分を見て、その意味を理解しながら色をどう付けるかを決定します。

  • その後、「Fusion Module」で、Pixcel DecoderとColor Decoderの結果を合わせて、色の情報を生成します。

Google Colabで試してみます

ランタイムのタイプをT4 GPUに変更して実行します。

!git clone https://github.com/piddnad/DDColor
%cd DDColor
!pip install -r requirements.txt
!python setup.py develop
!pip install "modelscope[cv]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

モデルの読み込み、実行!

import cv2
from modelscope.outputs import OutputKeys
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

img_colorization = pipeline(Tasks.image_colorization, model='damo/cv_ddcolor_image-colorization')
result = img_colorization('https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/audrey_hepburn.jpg')
cv2.imwrite('result.png', result[OutputKeys.OUTPUT_IMG])
https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/audrey_hepburn.jpg
https://publicdomainr.net/images/2021s/2021-11s/2021-11-21s/publicdomainr-0000676jad.jpg
変換後

画像のどの部分がどの色であるべきかを判断することで、自然でいい感じの色味で着色されていますね。Attention機構は、まだまだ色々なタスクに応用できそうです。


この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?