caffe installation and opencv demo september, 2015 · libopencv-dev opencv libprotobuf-dev protocol...
TRANSCRIPT
Caffe installation and OpenCV demo
September, 2015
JETSON TK1 세계 최초 임베디드 슈퍼컴퓨터
Tegra K1 개발 키트
CUDA
VisionWorks
필요한 모든 것이 갖춰진 개발 툴 모음
유용한 명령어디폴트 사용자명: ubuntu
디폴트 암호: ubuntu
Start terminal from keyboard : Ctrl + Alt + t
NVCC 컴파일러 버전 확인 : nvcc --version
Searching PCI device : lspci
Check ip address : ifconfig
Reboot system : sudo reboot
Power off system : sudo poweroff
유용한 명령어디폴트 사용자명: ubuntu
디폴트 암호: ubuntu
Start terminal from keyboard : Ctrl + Alt + t
NVCC 컴파일러 버전 확인 : nvcc --version
Searching PCI device : lspci
Check ip address : ifconfig
Reboot system : sudo reboot
Power off system : sudo poweroff
패키지인덱스인덱스정보를업데이트 : apt-get은 인덱스를 가지고 있는데 이인덱스는 /etc/apt/sources.list에 있습니다. 이곳에 저장된 저장소에서 사용할패키지의 정보를 얻습니다.sudo apt-get update
sudo apt-get upgrade
패키지설치sudo apt-get install 패키지이름
패키지재설치apt-get --reinstall install 패키지이름
설정파일까지 모두 지움sudo apt-get --purge remove 패키지이름
UBUNTU 패키지 관리
패키지 소스코드 다운로드sudo apt-get source 패키지이름
위에서 받은 소스코드를 의존성있게 빌드sudo apt-get build-dep 패키지이름
패키지 검색sudo apt-cache search 패키지이름
패키지 정보 보기sudo apt-cache show 패키지이름
apt를 이용해서 설치된 deb패키지는 /var/cache/apt/archive/ 에 설치가 됩니다.
UBUNTU 패키지 관리
CAFFE ?
필수패키지설치- apt-get install default-jre default-jre-headless fonts-dejavu-extra ……
Nouveau Blacklist 추가- etc/modprobe.d/blacklist-nouveau.conf 수정
blacklist nouveau
options nouveau modeset=0
CUDA SDK 설치- /etc/init.d/lightdm stop
- Nvidia Driver 설치 (sh ./cuda-7.0~~~~~.run)
Cuda 환경변수설정PATH=$CUDA_HOME/bin:$PATH
LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
CAFFE INSTALLATION ON JETSON TK1
필수 패키지 설치- sudo apt-get install python-numpy python-scipy python-dev python-pip\
python-nose g++ libopenblas-dev git libopenblas-dev
Caffe 설치 준비- wget https://github.com/BVLC/caffe/archive/master.zip
- wget http://developer.download.nvidia.com/~~~cudnn-6.5-linux-x64-v2.tgz
options nouveau modeset=0- libcudnn, cudnn.h 각각 cuda의 lib와 include에 복사
Caffe 설치- pip install -r /home/digits/scr/caffe/caffe-master/python/requirements.txt- Makefile.config 수정
CAFFE INSTALLATION ON JETSON TK1
libatlas-base-dev 선형 대수학 알고리즘libboost-all-dev C++ source librarieslibopencv-dev openCVlibprotobuf-dev Protocol Buffers compiler for C++ headers and libraries.
libgoogle-glog-dev 애플케이션 레벨의 라이브러리 구현libgflags-dev commandline flags module for C++ libhdf5-dev 과학적 데이터 저장 하는 포맷libleveldb-dev google의 가벼운 유 라이브러리liblmdb-dev Memory-Mapped Database development fileslibsnappy-dev 압축 / 압축 해제 라이브러리
CAFFE INSTALLATION ON JETSON TK1
소개
컴퓨터 비전, 이미지 프로세싱 및 기계 학습(machine learning) 을 위한 오픈 소스 라이브러리
BSD 라이선스 사용허가
무료로 사용 가능: www.opencv.orgwww.opencv.org
호환성
실시간 컴퓨터 비전 (x86 MMX/SSE, ARM NEON, CUDA)
C (11년전부터), 현재 C++ (3년전부터, v2.0), 파이썬 및 자바
윈도우, OS X, 리눅스, 안드로이드 및 iOS
용도
스트릿 뷰 영상정합(image stitching)
자동 검사 및 감독
로봇 및 운전자가 필요 없는 자동차 네비게이션과 컨트롤
의학영상분석
비디오/이미지 검색 및 수집
영화 – 모션에 기반한 3D 구조
OPENCV 소개
각기 다른 기능을 위한 복수 모듈
각 모듈에 헤더와 라이브러리를 포함시켜야 함.
일반적으로 항상 core와 highgui 모듈을 사용하게 됨.
Namespace
기능과 오브젝트 명 간의 충돌을 막기 위해 cv namespace 사용:
using namespace cv;
Mat object
비디오 프레임 또는 이미지의 정보와 데이터를 CPU에 저장
MOG2
가우스 혼합모델 기반 Background/Foreground 분절 알고리즘
OPENCV 기초
Command 창 띄우기 (CTRL + ALT + t)
cd ~/opencv-2.4.10/samples/cpp
ls
edge.cpp compile
g++ edge.cpp –lopencv_core –lopencv_imgproc –lopencv_highgui –o edge.cpp
Esc : 빠져 나오기
CPU VERSION
cd ..
cd gpu
g++ hog.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect-lopencv_gpu -lopencv_video -o hog
./hog –-video 768x576.avi
GPU VS CPU
GPU VS CPU