[Ubuntu] 원하는 QT 버전에 맞게 PCL 설치하기

PCL을 설치할 때 원하는 QT버전으로 지정하여 설치하는 방법에 대해서 설명한다.


원하는 버전의 QT5와 VTK, PCL을 설치하는 방법에 대해 설명한다.

일반적인 방법으로 PCL을 설치할 경우 PCL의 기본 QT의 경로가 /usr/lib/x86_64-linux-gnu/ 로 잡히게 된다.

그러나 일반적으로 QT5를 sudo로 설치할 경우 /opt 에 설치되기 때문에 경로를 설정해줘야 한다.

VTK와 PCL를 제외한 나머지 dependency는 설치 되어 있다고 하자.(openni 등)

만약 dependecy가 설치되어 있지 않다면 이 shell script를 다운받아 실행하자.

chmod 777 essential_install.sh
sudo ./essential_install.sh

위 shell script는 PCL의 dependency와 기타 기본 라이브러리를 설치해준다.

PCL의 dependency설치에 대해서 자세히 보고 싶으면 다음 이 블로그를 참고하자.

이제 기본적인 dependency가 설치되어있는 환경에서 PCL의 dependency인 VTK와 PCL을 원하는 QT버전에 맞게 설치하는 방법에 대해서 설명한다. 이는 QT를 /opt/ 경로에 설치한 경우이다.

1. VTK 설치

git clone으로 VTK를 다운받아 준다

git clone https://github.com/Kitware/VTK.git

그런 다음 build 폴더를 만들어서 build폴더로 이동한 후 다음 옵션으로 cmake해준다. 옵션으로 Qt5의 경로를 지정해준다.

cd build

cmake -DVTK_QT_VERSION:STRING=5 -DQT_QMAKE_EXECUTABLE:PATH=/opt/Qt5.6.1/5.6/gcc_64/bin/qmake -DVTK_Group_Qt:BOOL=ON -DCMAKE_PREFIX_PATH:PATH=/opt/Qt5.6.1/5.6/gcc_64/lib/cmake -DBUILD_SHARED_LIBS:BOOL=ON ..

그다음 설치해준다.

make -j8
sudo make install

2. PCL 설치

git 에서 다운받는다

git clone https://github.com/PointCloudLibrary/pcl.git

PCL의 qt5 경로를 설정해주기 위해서 cmake file에서 prefix 를 설정한다. /pcl/cmake/pcl_find_qt5.cmake 를 열고 최 상단에 아래의 setting을 추가

set(CMAKE_PREFIX_PATH /opt/Qt5.6.1/5.6/gcc_64/lib/cmake)

이제 build 폴더를 만들고 빌드 후 설치한다.

mkdir build
cd build
cmake ..
make -j8
make install



[Jekyll] Jekyll을 이용하여 Github Blog 만들기

Jekyll을 이용한 간편하게 Github에 blog를 만드는 방법 소개


Ruby와 Jekyll 설치

Jekyll을 이용하여 github의 Blog를 만들어보도록 하자. 우선 Jekyll을 설치하기 위해서는 ruby를 설치해야 한다. 아래명령어를 이용하여 ruby를 설치한 후 Jekyll을 설치한다.

sudo apt-get update
sudo apt-get install ruby-full
sudo gem install jekyll

Jekyll이 설치되었으면 설치가 잘 되었는지 확인하기 위해 버전을 확인한다.

jekyll -v

각 blog의 종류에 따라 다르지만 아래의 명령어를 통해 추가 패키지를 설치해주자.

sudo gem install jekyll-sitemap
sudo gem install jekyll-paginate

Github의 Repository를 생성

Github으로 접속 후 새로운 repository 생성. <yourname>.github.io 로 repository 생성 후 로컬에서 home folder로 이동하여 repository 복사.

git clone https://github.com/<yourname>/<yourname>.github.io.git

폴더를 복사 후 그 폴더로 이동한 후 git 을 초기화시킨다. 초기화 시킨 후 git의 폴더에 jekyll의 기본 테마 설치

git init
jekyll new . --force 

Jekyll로 생성된 모든 파일을 git에 add해 준 후 commit, push 를 해서 github에 올려준다.

git add *
git commit -m "first commit"
git push -u origin master

첫 commit 시에 config 파일에 user.email과 user.name을 등록하라고 나오면

git config user.email "이메일주소"
git config user.name "이름"

을 입력하여 이메일과 이름을 등록해 준다.이로써 github에 블로그가 생성되었다!

git을 clone 받은 후 처음에는 git push -u origin master를 모두 입력해야 하지만 한번 한 이후에는 git push만 입력해도 된다.

Blog 작성

블로그 작성 시 입력한 내용이 예상한대로 동작을 하는지 확인 하기 위해서 매번 github에 push하는 것은 매우 힘든 일이다. 작성을 하는 동시에 바로 확인을 하기 위해서 위에서 언급한 것과 같이 jekyll serve를 이용하여 서버를 동작 시킨 후 localhost:4000으로 접속하면 바로 수정된 내용을 확인할 수 있다. 이렇게 수정이 완료된 후 github로 push하면 편하게 포스팅을 수정할 수 있다.


[Ubuntu] Ubuntu NVIDIA Graphic Driver 설치(nouveau kernel 문제 등)

Ubuntu NVIDIA Graphic Driver 설치(nouveau kernel 문제 등)


그래픽 드라이버 설치하기

우분투를 처음 설치하고 나서 NVIDIA 그래픽 드라이버를 설치하는 과정에서 많은 사람들이 다양한 문제를 경험한다.

우선 NVIDA 홈페이지에 들어가서 본인의 시스템에 맞는 그래픽 드라이버를 최근 3가지 종류를 미리 다운받아 놓는것을 추천한다.

1. 시스템 재부팅

sudo reboot

명령어를 이용하여 시스템을 재 부팅해준다.

2. 터미널 모드로 진입

로그인 화면이 나타나게 되면 ctrl+alt+F1 버튼을 눌러 터미널 모드로 진입한다.

3. lightdm 끄기

NVIDA 드라이버 설치에 앞서 화면출력을 제어하는 Lightdm을 꺼줘야 한다.

sudo /etc/init.d/lightdm stop

위의 명령어로 lightdm 을 꺼준다

참고 페이지 http://askubuntu.com/questions/295772/sudo-service-lightdm-stop-will-go-into-a-blank-screen

4. 드라이버 설치

Download 폴더에 드라이버가 저장되어 있는 경우 해당 폴더로 이동하여 설치한다.

sudo ./NVIDA*.run

그래픽 드라이버 실행 시 관리자 권한으로 실행해야 설치가 된다.

만약 다운받은 드라이버가 실행파일로 되어 있지 않은 경우

chmod 777 ./NVIDIA*.run

을 실행하여 실행가능한 파일로 바꿔준다.

5. nouveau 끄기

경우에 따라서 nouveau kernel이 실행중이라서 설치를 할수 없다는 경고 메세지가 나오는 경우가 있다.

이런 경우는 아래의 사이트를 참고하자 https://altinukshini.wordpress.com/2011/07/28/how-to-install-nvidia-drivers-in-ubuntu-linux/

우선 /etc/modprobe.d/blacklist.conf 파일을 열어

blacklist nouveau

를 가장 아래에 추가해준다.

그다음 다음의 명령어로 nouveau를 비활성화 시킨다.

echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
update-initramfs -u

여기까지 진행한 후 재부팅하고 다시 sudo 권한으로 그래픽 드라이버를 설치하면 설치가 될 것이다.

위의 사이트에서는 위에 언급한 과정 말고 다른 부가적인 과정이 서술되어 있으나

본인은 이정도로도 설치가 되었다. 만약 안된다면 위의 사이트를 좀더 자세히 참고하길 바란다.


[Ubuntu] 그래픽 카드별 CUDA 및 Opencv 설정

그래픽 카드별 CUDA 및 Opencv 설정


현재 github의 fast rcnn 을 사용하면서 부딛히는 문제점들을 정리해본다.

현재 사용하고 있는 PC는 2대로 한대는 GTX760, 다른 한대는 GTX1060을 사용하고 있는데

그래픽카드가 다르기 때문에 setting또한 달라서 복잡하다.

1. GTX760 PC

GTX760은 CUDA7.5와 Oepncv 2.4조합으로 잘 세팅이 된다.

2. GTX1060 PC

CUDA 8.0

다른 gtx1080을 사용하는 친구는 CUDA7.5로 fast rcnn 및 caffe세팅이 된다는데 나는 계속 오류가 나서 CUDA8.0 RC버전으로 올려서 설치하니까 caffe 오류는 잡을 수 있었다. 하지만 CUDA8.0으로 올리면서 Opencv와의 호환에 문제가 발생한다.

OPENCV3.0 혹은 3.1

CUDA8.0을 설치하고 Opencv3.0을 build하면 오류가 나는데, opencv에서 graphcut알고리즘이 cudalegacy 모듈을 사용하는데 CUDA8.0에서 이 legacy를 삭제한것 같다. 현재 이 문제는 github의 opencv에는 해결되어 있으므로 github의 opencv를 사용하면 해결된다.

문제해결 포스팅 관련 URL

https://github.com/opencv/opencv/pull/6510

문제 해결된 opencv github

https://github.com/opencv/opencv

추가적인 문제

1. thrust

추가적으로 CUDA8.0RC에 thrust관련 문제가 있다.

문제해결 포스팅 관련 URL

https://github.com/thrust/thrust/issues/800

thrust github URL

https://github.com/thrust/thrust

위의 포스팅에 글처럼 github에서 git clone을 받은 후 기존의 /usr/local/cuda8.0/thrustthrust_old로 바꾸고 다운받은 thrust폴더의 링크를 넣어준다.

2. Opencv3.0 features2D error

Opencv3.0 을 build하다보면 features2d.hpp에서 error가 발생한다.

위의 문제와 관련된 post는 다음에 있다

http://stackoverflow.com/questions/33050599/opencv-3-0-features2d-hpp-error-unknown-algorithminfo

vector관련 에러는 using std::vector를 넣어주고

AlgorithmInfo 관련 에러는 AlgorithmInfoAlgorithm으로 바꾸어 준다.

기타 fast rcnn 설정을 위한 참고 URL

http://m.blog.daum.net/goodgodgd/27


[Ubuntu] Pycaffe importerror문제

Pycaffe importerror문제


Pycaffe를 사용하면서 import error를 자주 만나게 되는데

아무리 구글링을 해도 해결이 안될때가 있다.

이런 경우는 그냥 python을 이용하는 경우가 아닌 anaconda를 사용하는 경우이다.

일반적으로 구글링으로 나오는 방법은 python을 이용할 때이기 때문에 다른 방법을 사용해야 한다.

예를들어 protobuf의 import error가 발생했을 경우

일반적으로

sudo apt-get install protobuf 혹은 sudo pip install protobuf로 설치를 하라고 하지만

이렇게는 해결되지 않는다.

이럴때는

conda install protobuf

로 설치해야 한다.

sudo로 실행할 경우 conda를 찾을 수 없다고 나온다고 한다.

protobuf이외에 다른 import 문제도 비슷하게 해결 가능하다.

참고URL

http://jangjy.tistory.com/210


Pagination