Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol...

16
Caffe installation and OpenCV demo September, 2015

Transcript of Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol...

Page 1: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

Caffe installation and OpenCV demo

September, 2015

Page 2: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

JETSON TK1 세계 최초 임베디드 슈퍼컴퓨터

Tegra K1 개발 키트

CUDA

VisionWorks

필요한 모든 것이 갖춰진 개발 툴 모음

Page 3: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현
Page 4: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

유용한 명령어디폴트 사용자명: 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

Page 5: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

유용한 명령어디폴트 사용자명: 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

Page 6: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

패키지인덱스인덱스정보를업데이트 : 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 패키지 관리

Page 7: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

패키지 소스코드 다운로드sudo apt-get source 패키지이름

위에서 받은 소스코드를 의존성있게 빌드sudo apt-get build-dep 패키지이름

패키지 검색sudo apt-cache search 패키지이름

패키지 정보 보기sudo apt-cache show 패키지이름

apt를 이용해서 설치된 deb패키지는 /var/cache/apt/archive/ 에 설치가 됩니다.

UBUNTU 패키지 관리

Page 8: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

CAFFE ?

Page 9: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

필수패키지설치- 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

Page 10: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

필수 패키지 설치- 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

Page 11: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

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

Page 12: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

소개

컴퓨터 비전, 이미지 프로세싱 및 기계 학습(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 소개

Page 13: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

각기 다른 기능을 위한 복수 모듈

각 모듈에 헤더와 라이브러리를 포함시켜야 함.

일반적으로 항상 core와 highgui 모듈을 사용하게 됨.

Namespace

기능과 오브젝트 명 간의 충돌을 막기 위해 cv namespace 사용:

using namespace cv;

Mat object

비디오 프레임 또는 이미지의 정보와 데이터를 CPU에 저장

MOG2

가우스 혼합모델 기반 Background/Foreground 분절 알고리즘

OPENCV 기초

Page 14: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

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

Page 15: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

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

Page 16: Caffe installation and OpenCV demo September, 2015 · libopencv-dev openCV libprotobuf-dev Protocol Buffers compiler for C++ headers and libraries. libgoogle-glog-dev 애플케이션레벨의라이브러리구현

GPU VS CPU