LoginSignup
37

More than 5 years have passed since last update.

白黒写真の色付けについて(1/2)

Last updated at Posted at 2016-11-07

先日の産総研のAIセミナーで、早稲大の飯塚里志先生の「白黒写真の色付け」についての話はめっちゃ面白くて、話の中に紹介された三つのモデルを調べて、使ってみました。

ディープネットワークを用いた大域特徴と局所特徴の学習による白黒写真の自動色付け

一つ目は飯塚先生の研究です。
先生の話により、色付けの難点は
・ セグメンテーションと認識
   つまり画像認識
・ 何色
   認識された物体はどの色を付けば良い
大域特徴は重要
   空、地面など広い範囲の画像特徴
(大域特徴をきちんと学習しないと、広い範囲の色付けは安定しづらいです。)

モデル

先生の研究のキーポイントは大域特徴局所特徴を同時に学習することです。
model.png
モデルは複雑に構築されたCNNモデルです。
上の流れは局所特徴の学習で、下は大域特徴の学習です。
最後に二つの特徴を融合して、色付けの結果になります。

学習用の画像はMIT Places Scene Datasetのシーン分類用のデータセットなので、シーン分類と色を同時に学習することもできます。

結果

results.png
論文の中に書かれた結果はめっちゃいいです。

実際に使ってみよう。
Torchをインストールして、ソースコードをダウンロードすれば、使えます。
画像が大きくなると、メモリエラーの可能性があります。
それでも、メモリは4G以上おすすめです。
実行:th colorize.lua <input_image> [<output_image>]

test1.jpg test1_out.jpg

test2.jpg test2_out.jpg
空、植物はちゃんと色つけましたが、服や特徴なしの背景などの学習はやっぱり難しいですね。
それでもすごいです!

Learning Representations for Automatic Colorization

二番目はシカゴ大学の研究です。

モデル

overview.png

we train our model to predict per-pixel color histograms

VGGモデルでピクセルごとのハイパーコラムを学習させます。

結果

00036694.jpg
なかなかいい結果だそうですが、実際に使ってみたらはどうなりますか。

まず、Caffeをインストールします。
手順はこちらが参考になります。

本体はpipからインストールできます。
pip install autocolorize
実行:autocolorize *.jpg -o output
CPU onlyの場合は -d cpuを付けば良いです。
、、、が、メモリエラーで実行できませんでした。(´;ω;`)ウゥゥ
じゃ、VMのメモリを2Gから4Gに変更して、もう一回やってみます。
今回は無事で行けました。

test1.jpg test1_out2.jpg
test2.jpg test2_out2.jpg
前者と比べると、色付けはやや不十分な感じですね。

実は、APIとオンラインデモがあるので、インストールしなくても使えます。

続きは後編

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37