caffe installation and opencv demo september,...
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