라즈베리파이3에서 YOLO를 설치하기 위해 OpenCV 3.2.0를 설치합니다.
기본 (default) OpenCV 제거
Raspbian에는 OpenCV가 기본적으로 제공됩니다. 우리는 OpenCV 3.2.0를 설치하기 때문에 기본적으로 설치되어있는 Opencv를 제거 합니다.
1 2 | sudo apt-get remove libopencv* sudo apt-get autoremove | cs |
Prerequisites 설치
system update & upgrade
1 2 3 4 | sudo apt-get update sudo apt-get upgrade sudo rpi-update sudo reboot | cs |
개발자 도구 설치
1 | sudo apt-get install build-essential cmake cmake-curses-gui pkg-config | cs |
libraries 설치
이미지 처리/컴퓨터 비전 라이브리러인 JPEG, PNG, TIFF 파일 형식 로드를 위해 이미지 I/O 패키지를 설치합니다.
1 | sudo apt-get install libjpeg-dev libjasper-dev libpng12-dev libtiff5-dev | cs |
카메라 스트림으로 작업하고 비디오 파일을 처리 할 수 있도록 비디오 I/O 패키지를 설치합니다.
1 | sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libeigen3-dev libxvidcore-dev libx264-dev | cs |
OpenCV의 GUI 작업을 위해 GTK 라이브러리를 설치합니다.
1 | sudo apt-get install libgtk2.0-dev | cs |
Install v4l library from repository & Enable the kernel module
1 2 | sudo apt-get -y install libv4l-dev v4l-utils sudo modprobe bcm2835-v4l2 | cs |
OpenCV 기능을 최적화 해주는 라이브러리를 설치합니다.
1 | sudo apt-get install libatlas-base-dev gfortran | cs |
Python 설치
Python 헤더와 라이브러리 설치합니다
Numpy는 매트릭스 연산 등을 빠르게 처리할 수 있어 OpenCV에서 사용됩니다.
1 2 | sudo apt-get install python2.7-dev python-numpy sudo apt-get install python3-dev python3-numpy | cs |
OpenCV 설치
OpenCV 다운로드
1 2 3 4 | mkdir /home/pi/opencv cd /home/pi/opencv wget https://github.com/opencv/opencv/archive/3.2.0.zip -O opencv_source.zip wget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip -O opencv_contrib.zip | cs |
opencv와 opencv_contrib의 버전은 같아야한다.
압축 풀기
1 2 3 | cd /home/pi/opencv unzip opencv_source.zip unzip opencv_contrib.zip | cs |
Build & Install OpenCV
working directory 생성
1 2 3 | cd /home/pi/opencv/opencv-3.2.0 mkdir build cd build | cs |
Build 구성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D BUILD_WITH_DEBUG_INFO=OFF \ -D BUILD_DOCS=OFF \ -D BUILD_EXAMPLES=OFF \ -D BUILD_TESTS=OFF \ -D BUILD_opencv_ts=OFF \ -D BUILD_PERF_TESTS=OFF \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.2.0/modules \ -D ENABLE_NEON=ON \ -D WITH_LIBV4L=ON \ ../ | cs |
OpenCV build
※ make -j4를 했을때 virtual memory exhausted: cannot allocate memory 에러가 뜰 수 있어 swap 파일 크기를 변경해줍니다.
1 | sudo nano /etc/dphys-swapfile | cs |
Raspbian 기본 값을 다음과 같이 변경해줍니다.
CONF_SWAPSIZE=100 (변경 전)
CONF_SWAPSIZE=1024 (변경 후)
서비스를 중지하고 다시 시작해줍니다.
1 2 | sudo /etc/init.d/dphys-swapfile stop sudo /etc/init.d/dphys-swapfile start | cs |
swap 양이 변경 되었는지 확인합니다.
1 | free -m | cs |
make 명령을 사용하여 컴파일을 시작합니다.
-j 뒤에 cpu 코어 수를 입력합니다.
(사용 중인 컴퓨터의 cpu 코어수 확인법은 cat /proc/cpuinfo | grep processor | wc-; 입니다.
'머신러닝&딥러닝 > YOLO' 카테고리의 다른 글
6. (Python) 라즈베리파이3 에서 Ubuntu로 webcam 화면 TCP socket 통신 (11) | 2019.01.25 |
---|---|
5. (YOLO) Ubuntu 18.04에 YOLO 설치 (1) | 2019.01.25 |
4. (YOLO) Ubuntu 18.04에 OpenCV 3.4.0 설치 (13) | 2019.01.22 |
3. (YOLO) 라즈베리파이3에 YOLO 설치 (12) | 2019.01.10 |
1. (YOLO) 라즈베리파이3에 Raspbian 설치 (0) | 2019.01.09 |