2017年10月17日火曜日

OpenCV master の DNN の Coloriozation を試してみた。(I tried the Coloriozation sample program of DNN of OpenCV master.)

着色画像

はじめに

今週リリースが予定されている OpenCV 3.3.1 相当のmaster ブランチの dnn モジュールには
Darknet の Yoloが追加されたことがメインの話題と思われが、caffe をベースとした、転移学習の結果と思われる colorization のデモも追加されている。

残念ながらくわしい情報はないが、サンプルソースを手がかりに試してみた。
なお、サンプルはC++ではなくパイソンである。

事前準備

モデルの構成ファイル、 weight に加えて追加で学習したweightのファイル(npyフォーマット)の3つのデータが必要である。

このデータは、オリジナルのGitHubにアクセスしここからダウンロードすることになる。
なお、サンプルでは、 models/colorization_release_v2.prototxt と記載されているがこのようなファイルはないので、 models/colorization_deploy_v2.prototxt を代わりに使用している。

実行

3つのファイルをサンプルプログラムと同じフォルダーに保存し、以下のコマンドを実行する

python colorization.py --input p30.png

結果

3枚の画像が表示される。

1枚目 オリジナル
2枚目 白黒画像

3枚目は 着色画像である(表題)

補足

このモデルでは入力画像は一旦224x224にリサイズされ着色処理が行われる。

その後、オリジナルの画像サイズに戻して表示するのが正しい方法と思われるが、固定サイズになっているので修正が必要である。


C++に同等の関数が準備されているので、これをベースに書き直すことは可能かと思われる。
以上

0 件のコメント:

コメントを投稿