2016-01-18[n年前へ]
■「坂本龍馬」の白黒写真を機械学習でカラフルに眺めてみよう!?
CNN(Convolution Neural Network)機械学習による自動彩色(Google発のtensorFlowで実装した Automatic Colorization)に、約150年前に撮影された江戸時代末期の土佐藩志士「坂本龍馬」の白黒写真を入力させてみました。その結果得られた画像は、カラフルで生き生きとした…けれど少し昔の青年の顔です。(添付画像は彩度を上げたもの)
色情報を全く含まないはずの白黒フィルムに焼き込まれた風景や人の姿を、今やカラフルに「それっぽく」眺めることも簡単な時代です。たとえば、歴史の教科書に載っていたような白黒写真で覚えた人たちや風景を、カラフルに眺めてみるのも面白いような気がします。
そしてまた、こうした機械学習による「自動彩色」の例を眺めていると(たとえば自動彩色した「七人の侍」など)、手作業で行う最適化の苦労なんて、もう20年近く前に終わったはずの20世紀に置いてこないとダメな過去の遺物なんだった…ということを強く意識させられます。
2017-10-27[n年前へ]
■スマホの1ショット撮影でHDR(ハイダイナミックレンジ)画像を作り出してみる!?
機械学習を使った「単一露光画像からのHDR(ハイダイナミックレンジ)画像生成」の Paper PDF が出ていて、プロジェクトページ には Tensorflow / Pythonによるコードが公開されていた。
そこで、まずは iPhone 6s で撮影した1ショット RAW(DNG)画像(右)から、詳細がわかるように…というかGPUメモリが許す画像サイズに切り抜いた上で、HDR画像を生成してみました。それが下の結果です。下左側画像が(1ショット単一露光画像)入力画像で、下右側が機械学習が出力したHDR画像です。相対的に明るすぎて白飛びしている箇所が、それっぽくHDR生成されていることがわかります。
最近のスマホなら、高速連写機能を使ったHDR撮影が普通にできる時代です。とはいえ、動画撮影をするときは、そんなHDR処理が働かないもの。…ということは、撮影した「動画」が白飛びしていたりしたら、こんな機械学習による単一露光条件動画からのHDR動画を作り出してみるのも良いかもしれません。
ところで、下に貼り付けた画像は、全天周カメラ Ricoh Theta で撮影した単一露光条件の低解像度画像から生成してみたHDR画像です。…こうした全天周画像に対して機械学習で使われるCNN(Convolutional Neural Network)処理を掛けようとすると、XY座標系の2次元画像ではなく、曲率を持つ球表面に適用可能なCNN画像処理を掛けたくなります。…そんな全天周画像処理を探す旅に出たくなります。