Python ディープラーニング 画像処理

ディープラーニングの単眼画像Depth推定を試す

投稿日:

前々から気になっていた写真から立体を推定するCNNのディープラーニングの技術をオープンソースになっているコードで試してみました。OSはWindows10です。

環境構築

ソースコード

 ソースコートは「FCRN-DepthPrediction」のtensorflow版を使わせていただきました。任意のフォルダでcloneしてきます。

git clone https://github.com/iro-cp/FCRN-DepthPrediction.git

Anaconda環境構築

 AnacondaでPythonのバージョンは3.5とした仮想環境を新規に作成して、次のコマンドでtensorflowの環境を準備しました。バージョンの指定は見当たらなかったので指定はしませんでしたがちゃんと動きました。とりあえずトレーニングはしないのでCPU版をインストール。私は今回Anacondaを使いましたが、ここは各々好きにしてください。

pip install numpy
pip install matplotlib
pip install tensorflow

Anacondaの仮想環境は以前にも利用したことがあるので、もしわからなければこちらを参考にしてみてください。

モデルファイルダウンロード

 学習済みモデルとなるNYU_FCRN.ckptはGithubのreadmeのModelsの「TensorFlow model (.ckpt)」からダウンロードできます。NYU_FCRN-checkpoint.zipを解凍すると以下のファイルが出てきますのでそれらを先ほどクローンしてきた「FCRN-DepthPrediction/tensorflow」に移動します。

NYU_FCRN.ckpt.data-00000-of-00001
NYU_FCRN.ckpt.index
NYU_FCRN.ckpt.meta

実行

 tensorflowのフォルダへ移動してpredict.pyに学習済みモデルパスと画像ファイルパスを指定して実行します。モデルのパスはpredict.pyと同層であれば以下のようになります。

cd FCRN-DepthPrediction/tensorflow
python predict.py NYU_FCRN.ckpt [画像ファイルパス]

 tensorflowはほとんど使ったことがなかったので知らなかったのですが、NYU_FCRN.ckptというファイルはありませんが、predict.pyに指定するパスは「NYU_FCRN.ckpt」でOKです。

結果

元画像

デプス推定画像

なんとなくちゃんとデプスが推定できました。

まとめ

 オープンソースコードを利用することでただの写真(RGB画像)からデプスを推定することができました。次はこの結果がどのくらいの出来なのかある程度分かるようにしたいと思います。

次→「2D写真から立体視画像を作成してみた

スポンサードリンク

-Python, ディープラーニング, 画像処理

Copyright© めめんと , 2019 All Rights Reserved Powered by AFFINGER5.