jueves, 1 de diciembre de 2016

Kinect v2 en Linux con CUDA 7.5


  • Descargar los fuentes

$ git clone https://github.com/OpenKinect/libfreenect2.git
$ cd libfreenect2


  • Herramientas para compilar

$ sudo apt-get install build-essential cmake pkg-config

Dependencias

$ sudo apt-get install libusb-1.0-0-dev
$ sudo apt-get install libturbojpeg libjpeg-turbo8-dev
$ sudo apt-get install libglfw3-dev

Problema: OpenCL con beignet-dev elimina opencl de nvidia-opencl-dev => no instalar, instalar el de nvidia

Para generar la documentación es necesario tener también:

$ sudo apt-get install doxygen

de lo contrario se marcará el error:
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
al configurar con cmake.

  • Habilitar driver de nvidia

$ sudo apt-get install nvidia-cuda-toolkit

  • Descargar el .deb para Ubuntu 15.04 de la página oficial y extraer el .deb con los ejemplos (samples), sale un data.tar.gz, extraerlos de ahí e instalar ejemplos

[No recuerdo para qué utilizé la linea siguiente, pero en instalaciones siguientes no la he necesitado]
$ grep -rl "CUDA_PATH ?= /usr/local/cuda" ./ | xargs sed -i 's:CUDA_PATH ?= /usr/local/cuda:CUDA_PATH ?= /usr:g'


$ sudo apt-get install libva-dev libjpeg-dev
$ sudo apt-get install libopenni2-dev

No logreé que funcionara el código para OpenNI.

Build


  • Modificar en CMakeLists:

CUDA_INCLUDE_DIRECTORIES(
      "${MY_DIR}/include/"
      "[path_to]/CudaSamples/NVIDIA_CUDA-7.5_Samples/common/inc"    #"${CUDA_TOOLKIT_ROOT_DIR}/samples/common/inc"
      "${NVCUDASAMPLES_ROOT}/common/inc"
    )

$ mkdir compile
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/Programacion/libfreenect2/build/freenect2 -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES"
$ make
$ make install
$ make doc

Copiar las reglas de udev:

sudo cp platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/

Probar con los demos, como Protonect, sí funciona.

OpenCV

$ sudo apt install libav-tools

$ cmake -D PYTHON3_INCLUDE_DIR=/usr/include/python3.5m -DPYTHON3_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.5m -D PYTHON3_NUMPY_INCLUDE_DIRS=/home/blackzafiro/.local/lib/python3.5/site-packages/numpy/core/include -DINSTALL_PYTHON_EXAMPLES=ON -DCMAKE_INSTALL_PREFIX=/home/blackzafiro/Descargas/Programacion/opencv/opencv-3.1.0/build ..

No hay comentarios.: