読者です 読者をやめる 読者になる 読者になる

ayuge-sunのブログ

トライアスロン、娯楽、たまに研究する男のブログ

点群処理の救世主!! ubuntuでPCL1.8 を使う

学習

やりたいこと

  • ubuntuでPCL(point cloud library)1.8をbuildする(目的1)
  • HDL-64E(HDL-32E)から得られるpcapファイルを処理する(目的2)
  • ライブラリに実装されているGPUの機能を用いて点群処理を高速化する(目的3)

動作環境

ubuntuでPCL(point cloud library)1.8をbuild

0) apt-get でインストールできるPCLの削除

以下のコマンドでPCLをインストールした場合、PCLのversionは1.7となる。また、どれだけ頑張ってもpcapファイルを扱うことができない。

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all

上記の方法でPCLをインストールしていた場合、それを消す必要がある。以下のコマンド

sudo apt-get purge libpcl*

でPCLがらみは消える。

1) cudaのインストール

参考:http://ry0.github.io/blog/2015/08/12/ubuntu-nvidia-cuda-7.0/

まず、下記のサイトから自分の環境にあうパッケージをダウンロードする。

https://developer.nvidia.com/cuda-downloads#linux

以下のコマンドでインストールする。

sudo dpkg -i cuda-repo-ubuntu1404-8-0-local_8.0.44-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

次に、.bashrcに以下を追記

#CUDA
export CUDA_HOME=/usr/local/cuda-8.0

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CUDA_HOME}/lib64
export PATH=$PATH:${CUDA_HOME}/bin

※『2行目のcudaのバージョンに注意!!!』と参考サイトの筆者から念押されました。しっかり自分のインストールしたcudaのversionを入れることが重要とのことです。

以上でcudaのインストールは終了。ここで一旦再起動する。

2) その他のパッケージの準備

PCLのbuildに必要なものをインストールする。(参考:PCL 1.8: Ubuntu 14.04 Installation Guide · hsean/Capstone-44-Object-Segmentation Wiki · GitHub)

sudo apt-get install g++ 
sudo apt-get install cmake cmake-gui 
sudo apt-get install doxygen   
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common   
sudo apt-get install libflann1.8 libflann-dev 
sudo apt-get install libeigen3-dev 
sudo apt-get install libboost-all-dev 
sudo apt-get install libvtk5.8-qt4 libvtk5.8 libvtk5-dev 
sudo apt-get install libqhull* 
sudo apt-get install libusb-dev 
sudo apt-get install libgtest-dev 
sudo apt-get install git-core freeglut3-dev pkg-config 
sudo apt-get install build-essential libxmu-dev libxi-dev  
sudo apt-get install libusb-1-0-dev graphviz mono-complete 
sudo apt-get install qt-sdk openjdk-7-jdk openjdk-7-jre

3) pclのソースコード(zip)のダウンロード

以下のサイトからダウンロードする。PCAPの扱いに関してはversionは1.7でも1.8でも関係ないと思われる。ただし、GPU(CUDA)を用いたい場合は、1.8である必要がある。いずれのバージョンも以下のページからrelease版をダウンロード可能である。 https://github.com/PointCloudLibrary/pcl/releases

4) ソースコードの解凍

ダウンロードしたソースコードを解凍し、任意の場所に展開する。「pcl-pcl-1.8.0」や「pcl-pcl-1.7.2」などといったフォルダ名になると思う。

5) libpcapのインストール

これは、linuxでpcapを扱うライブラリ。以下のコマンドでインストールを行う。これを行った上でPCLのbuildが完了すると、pcapファイルがPCLで扱えるようになる。

sudo apt-get update
sudo apt-get install libpcap-dev

6) cmake

4)の手順で展開したフォルダに移動してbuildフォルダを作成。その中でcmakeを行う。cmake時にはcmake-guiを用いると追加のオプションをつけるのに好都合である。以下のコマンドを実行する。

cd pcl-pcl-1.8.0
mkdir build
cd build
cmake-gui

cmake-guiが起動。

6-1) cmake-gui

Where is the source codeWhere to build the binariesを以下のように設定する。

  • source code ダウンロードして展開したPCLのソースを指定
  • build the binaries PCLのソースの中に自分が作成したbuildフォルダ

以下にその例を示す。

f:id:ayuge-sun:20161218072651p:plain

その後、Configureボタンを押す。

6-2) optionをどうするか

cmake-guiでさまざまなoptionが付けられる。今回の目的から絶対に外せないのが以下のものである。

  • BUILD_CUDA
  • BUILD_GPU
  • WITH_CUDA
  • WITH_PCAP

また、PCAP_INCLUDE_DIRとPCAP_LIBRARYがNOTFOUNDになっていないことを確認する。NOTFOUNDであれば、5)の手順を再度試みる。

CUDA_ARCH_BIN, CUDA_ARCH_PTXは自分が使う予定のGPUに合わせたものを打つと良い。例えば、Quadro K2200 であれば 3.0である。(参考:https://developer.nvidia.com/cuda-gpus)

その他、必要そうなものにチェックを入れてGenerateボタンを押すとcmakeが行われる。

参考までに、実験者の設定を表示する。

f:id:ayuge-sun:20161218074207p:plain

f:id:ayuge-sun:20161218074226p:plain

f:id:ayuge-sun:20161218074239p:plain

6-3) make

buildフォルダに移動し以下のコマンドでmakeを行う。

cd <pcl>/build
make -j4

7) install

以下のコマンドを入力して終わり

sudo make install

次回、動作チェック。次の投稿に乞うご期待!!!

広告を非表示にする