撮影したままの画像では、岩や水草、魚の形はわかるので、自分が楽しむぶんには十分だと思っていました。しかし、YouTubeにアップロードしたときにこの動画を再生したいかといわれると、いまいちぱっとしないなと思い、色を付けてみようという次第です。
まず、動画を作成する手順は
① 一定時間おきに画像の撮影(参考:Jetson nanoでタイムラプス動画の撮影 – 秋屋)
② VirtualDubで動画化(VirtualDub download (at SourceForge) – virtualdub.org)
③ Wondershare UniConverterで動画サイズを圧縮(【公式】Wondershare UniConverter | 高速・高質・高機能 動画変換ならユニコンバーター)
②で作成した動画サイズが30GBくらいあり再生するにもかくつくので、③で動画を圧縮しています。
以上のような方法をとっています。この画像をカラーにするためにはすべての工程が終わったあとに動画をカラー化する、もしくは、①で撮影した画像を1枚ずつカラー化する方法の2つがあります。今回は以下のサイトを参考にして、画像をカラー化する方法を試してみます。
白黒画像を 畳み込みニューラルネットワーク(CNN)を用いてカラー化する – 株式会社ライトコード
元画像
撮影した画像は一応カラーの画像になるので、まずこれを白黒にします。
白黒にした画像を32×32のサイズにして100枚並べてみました。ディープラーニングで計算するときにメモリの制限が来てしまうので、32ピクセルのサイズにしています。わが家のGPUは8GBのメモリを積んでいるのですが、なかなかメモリを食います。
出力画像
参考サイトのコードをコピペして100枚の画像をカラー化してみました。若干、色がついているように見えるのですが、そもそも画像が小さすぎてわかりませんね。画像サイズを大きくしようとすると、どうしてもメモリの上限に達してしまいます。
次回は、もっと大きな画像サイズでディープラーニングを学習できるよう、ほかのプログラムを試していきたいと思います。