Pages

Showing posts with label python. Show all posts
Showing posts with label python. Show all posts

Friday, August 18, 2017

Realtime depth estimation using monocular camera

Just for playing around, I did a small modification to the monodepth_simple.py from the github of CVPR 2017 paper "Unsupervised Monocular Depth Estimation with Left-Right Consistency" (original source code: https://github.com/mrharicot/monodepth), so that it takes input image directly from a camera. To retrieve images from the camera without losing much performance, I refer to the articles from here and here.

I used i7 6700K + Nvidia GTX 970 + Logicool webcam C910:


It appears that although the trained model was Kitti, which is quite different from the scene from my apartment window, it still worked to a certain extent. If you are interested, you can download the modification: monodepth_opencv3.py and a small utility for retrieving the image:util.py.

To run the modification, download the original code and the ready-to-use model by following the instruction from the original Author ( here ). Then copy monodepth_opencv3.py and util.py to the same folder as the monodepth_simple.py. Finally, execute:
$ python ./monodepth_opencv3.py --checkpoint_path ./model/model_kitti

Note that it requires Python 2.7, TensorFlow 1.x, OpenCV >= 2.4 (I used OpenCV 3.2), and of course, a camera.

That's all :) Updated 2022/2/9: I put the files monodepth_opencv3.py and util.py in https://github.com/chnd/monodepth. And beware, the codes tested using old version of libraries: Python 2.7., TensorFlow 1.x, OpenCV 3.2. That's all :)

Tuesday, August 15, 2017

TensorFlow: could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

When running the TensorFlow's object-detection model inference with my own dataset, I got the following error (with Nvidia GTX 970, CUDA 8, TensorFlow 1.2.1 through pip, and Ubuntu 16.04):
2017-08-15 21:18:06.254989: E tensorflow/stream_executor/cuda/cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR 2017-08-15 21:18:06.255027: E tensorflow/stream_executor/cuda/cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM 2017-08-15 21:18:06.255036: F tensorflow/core/kernels/conv_ops.cc:671] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
Solution from https://github.com/tensorflow/tensorflow/issues/6698, by enabling the GPU's allow_growth flag, solved my problem:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
That's all :)

Monday, May 22, 2017

Tensorflow 1.1 (GPU) on Windows with cuDNN 6.0: No module named '_pywrap_tensorflow'

Short notes: if you got trouble importing tensorflow 1.1 (GPU) on Windows with cuDNN 6.0, try to use cuDNN 5.1 and ensure that the MSVC++2015 redistributable has been installed.

Reference: https://github.com/tensorflow/tensorflow/issues/7705

That's all :)

Saturday, May 13, 2017

Update Anaconda Navigator 1.5.0

I had trouble updating Anaconda Navigator from 1.5.0 to 1.5.2 in Windows 10. While there was a message indicating that the update was successful, the version remains. Gladly found the solution here: https://github.com/ContinuumIO/anaconda-issues/issues/1583 :
  1. Open command prompt
  2. Execute:
    C:¥> conda update --all --prefix <path_to_the_installed_conda>
That's all :)