How to color monotone photo with the machine learning
ディープラーニング アプリケーション「Automatic Colorization of Grayscale Images」https://github.com/satoshiiizuka/siggraph2016_colorization
を使って白黒写真をカラー写真にしてみました。
その手順をまとめました。
環境
- Windows 10のVirtualBoxにUbuntu Linux 15.10をインストールした
Linux OSを用意する
Cygwinへのインストールを試みましたがTorch7が「platform not supported, aborting」というエラーでインストールできませんでした。このアプリは
- Ubuntu Linux で開発された
- GPUを使わない
ちなみにCentOSは7のみ、Fedoraは20と22のみをサポートのようです。
インストール
必要なソフトを全てインストールします。gitをインストールする
Torch7をインストールする
最後に
Do you want to automatically prepend the Torch install location to PATH and LD_LIBRARY_PATH
と表示されるので yes と入力します。
これで .bashrc にexportコマンドが追記されるので次のコマンドで環境変数を更新します。
インストール後のソースは不要のようです。ソースを消すコマンドは次の通り。
必要なパッケージ群をインストールする
siggraph2016_colorization をダウンロードする
これで必要なソフトが揃ったはずです。
白黒画像をカラー化する方法
カラー化したい白黒の画像はpngフォーマットだと「Wrong number of input channels!」というエラーに悩まされるのでjpgフォーマットをお勧めします。Ubuntuならconvertコマンドでjpgに変換できます。
また、画像サイズが横512×縦512ピクセルを超えると処理が遅いとのことです。
縦横とも512ピクセル以内なら1秒以内に終わります。
白黒画像をホームディレクトリに
monotoon.jpg
というファイル名で置いた場合、次のようなコマンドを実行すると result.png というファイル名でカラー化されます。
こんな画像を処理したら
こうなりました。
白黒にする前の画像がこちらです。
別の画像ではこうなりました。
上から原画・白黒化画像・カラー化画像の順です。
いろいろ試してみましたがセピア調になることが多いです。
風景写真のカラー化は安定してますが人工物の写真やアニメ調のイラストは苦手のようです。
関連ブログ
[GPGPU] 機械学習で画風を変換する方法Android4.0をVmwareやVirtualBoxで起動する
Windows8をVirtualBoxにインストールする
以上、参考になれば幸いです。