본문 바로가기
Programming Language/Kinect & PCL

OpenNI, SensorKinect, NITE, PCL 설치

by 민트초코맛꼬깔콘 2014. 6. 27.

Ubuntu 12.04.3 LTS 

OpenNI 1.5.8.5

Sensorkinect 5.1.2.1 

NITE 1.5.2.21

PCL 1.6


- openjdk 설치


$ sudo apt-get install openjdk-6-jdk



- 기타 의존 패키지들 설치 

$ sudo apt-get update 

$ sudo apt-get install mono-complete git-core cmake freeglut3-dev pkg-config build-essential libxmu-dev libxi-dev libusb-1.0-0-dev doxygen graphviz


libudev-dev



- OpenNI 설치 

$ mkdir ~/kinect && cd ~/kinect 

$ git clone -b unstable https://github.com/OpenNI/OpenNI.git 

$ cd OpenNI/Platform/Linux/CreateRedist 

$ ./RedistMaker 

$ cd ../Redist/OpenNI-Bin-Dev-Linux-x86-v1.5.8.5/ 

$ sudo ./install.sh


- SensorKinect 드라이버 설치 

$ cd ~/kinect 

$ git clone https://github.com/avin2/SensorKinect.git 

$ cd SensorKinect/Bin

$ tar xvfj SensorKinect093-Bin-Linux-x86-v5.1.2.1.tar.bz2

$ cd Sensor-Bin-Linux-x86-v5.1.2.1

$ sudo ./install.sh


- NITE 미들웨어 설치

다운로드 (http://www.mira-project.org/downloads/3rdparty/bin-linux/)

$ cd ~/kinect 

$ mkdir NITE && cd NITE 

$ tar -xvjpf nite-bin-linux-x86-v1.5.2.21.tar.bz2
$ cd NITE-Bin-Dev-Linux-x86-v1.5.2.21 

$ sudo ./install.sh


- OpenNI 샘플


$ cd ~/kinect/OpenNI/Platform/Linux/Bin/x86-Release



- PrimeSense 샘플


$ cd ~/kinect/NITE/NITE-Bin-Dev-Linux-x64-v1.5.2.21/Samples/Bin/x86-Release


 


=====================================================


- Point Cloud Library 패키지 설치


$ sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl 

$ sudo apt-get update 

$ sudo apt-get install libpcl-all


=====================================================


- OpenNI 재설치


$ cd ~/kinect/OpenNI/Platform/Linux/Redist/OpenNI-Bin-Dev-Linux-x86-v1.5.8.5 

$ sudo ./install.sh



- SensorKinect 재설치


$ cd ~/kinect/SensorKinect/Bin/Sensor-Bin-Linux-x86-v5.1.2.1 

$ sudo ./install.sh



=====================================================


$ cd ~ 

$ mkdir project && cd project 

$ mkdir point_viewer && cd point_viewer 

$ vi point_viewer.cpp 

$ vi CMakeLists.txt 

$ mkdir build && cd build 

$ cmake ../ 

$ make 

$ ./point_viewer


================================================================


pcl_filters - 3D 점군 데이터에서 이상값과 노이즈 제거 등의 필터링 

pcl_features - 점군 데이터로부터 3D 특징 추정 (feature estimation) 을 위한 수많은 자료 구조와 방법들 (surface normals, curvatures, boundary point estimation, moment invariants, principal curvatures, PFH & FPFH descriptors, spin images, integral images, NARF descriptors, RIFT, RSD, VFH, SHOT 등) 

pcl_keypoints - Keypoint (or interest point) 을 검출하는 알고리즘 구현 (BRISK, Harris Corner, NARF, SIFT, SUSAN 등) 

pcl_registration - 여러 데이터셋을 합쳐 큰 모델로 만드는 registration 작업 (ICP 등) 

pcl_kdtree - 빠른 최근거리 이웃을 탐색하는 FLANN 라이브러리를 사용한 kdtree 자료 구조 

pcl_octree - 점군 데이터로부터 계층 트리 구조를 구성하는 방법 

pcl_segmentation - 점군으로부터 클러스터들로 구분하는 알고리즘들 

pcl_sample_consensus - 선, 평면, 실린더 등의 모델 계수 추정을 위한 RANSAC 등의 알고리즘들 

pcl_surface - 3D 표면 복원 기법들 (meshing, convex hulls, Moving Least Squares 등) 

pcl_range_image - range image (or depth map) 을 나타내고 처리하는 방법 

pcl_io - OpenNI 호환 depth camera 로부터 점군 데이터를 읽고 쓰는 방법 

pcl_visualization - 3D 점군 데이터를 처리하는 알고리즘의 결과를 시각화



PCL 의 내부 알고리즘을 사용하는 프로그램은 일반적으로 다음과 같은 순서로 처리됩니다.


- 처리 객체 생성 (filter, features, segmentation 등) 

- 입력 점군 데이터를 처리 모듈로 전달하도록 setInputCloud 메소드를 사용하여 지정 

- 매개변수 설정 

- 출력을 계산하기 위해 compute 호출


 



# 참고사이트 

- OpenNI 

http://mitchtech.net/ubuntu-kinect-openni-primesense/ 

http://cviz.wordpress.com/2013/05/18/openni-sensorkinect/ 

http://cafe.naver.com/openkinect/1313


- PCL 

http://blog.daum.net/openpcl/6

http://blog.daum.net/openpcl/14 

http://www.pointclouds.org/documentation/tutorials/openni_grabber.php#openni-grabber

'Programming Language > Kinect & PCL' 카테고리의 다른 글

Trouble Shooting  (0) 2014.09.28
PCL 1.7 설치  (0) 2014.09.15
PCL-1.7 설치 참고 사이트  (0) 2014.09.05
TROUBLE SHOOTING  (0) 2014.08.25
PCL 예제 프로그램 짜보기  (0) 2014.07.04