본문 바로가기

Capstone design/Theft Chaser

Theft Chaser : Yolo를 활용한 도둑탐지 - 개발환경 구축(가상머신, opencv)

앞서 도둑탐지를 주제로 채택하게된 이유에 대해 설명했고 지금부터는 개발에 관한 이야기입니다.

 

Yolo를 활용해 이미지를 학습시켜야 하지만 윈도우 환경의 컴퓨터와 그래픽카드 성능의 한계로 학습용 컴퓨터의 사용을 허가받아 Portainer를 통해 Docker에 접근하여 학습을 진행하였습니다.

(학습용 컴퓨터엔 RTX-2080Ti 2장이 장착되어 있습니다.)

 

Portainer를 통해 작업을 하면 GUI가 지원이 되지 않아 라벨링 및 코딩을 위해 컴퓨터에 virtual machine을 설치해서 사용했습니다. 그러므로 가상머신 화면으로 개발환경 구축과정을 설명드리겠습니다.

(리눅스 환경을 사용중이라면 밑으로 가서 바로 opencv 설치부터 진행하시면 됩니다.)

 

 

가상환경 설정

https://www.vmware.com/kr/products/workstation-player/workstation-player-evaluation.html

저는 Oracle의 VirtualBox와 Workstation Player중 Workstation을 택했습니다.

작업을 여러 환경에서 하다보니 파일 이동이 간편한 위 프로그램이 저에게 더 편하다 느껴져서입니다.

먼저 위의 홈페이지에서 프로그램을 다운받고 설치해줍니다.

 

 

https://ubuntu.com/download

그 다음은 리눅스 환경에서 작업하기 위해 우분투를 설치했습니다.

Ubuntu Desktop을 클릭하여 LTS버전을 다운받아둡니다.

 

 

Workstation을 설치하고 처음 실행한 화면

Workstation을 처음 실행하고 나면 'Create a New Virtual Machine'을 클릭해 우분투 환경을 설정해줍니다.

 

 

여기서 iso 항목을 선택하고 방금 전 다운받은 우분투 디스크 파일을 선택해줍니다.

 

 

이름과 비밀번호를 입력해주고 넘어갑니다.

 

 

가상머신 이름과 설치경로입니다.

굳이 바꿀 필요가 없어 바로 넘어갔습니다.

 

 

가상머신에 할당할 디스크 용량을 설정해주고 넘어갑니다. 전 권장용량인 20GB로 설정 변경없이 진행했습니다.

 

 

설정 항목들을 다시 보여줍니다. Finish를 눌러 설치를 시작합니다.

 

 

우분투가 설치되고 켜질때까지 기다려줍니다.

 

 

개발환경 구축

우분투 설치가 완료되었거나 이미 리눅스 환경이라면 본격적으로 개발환경 구축을 해줍니다.

 

먼저 image processing 라이브러리인 opencv를 설치하기위해 필요한 패키지들과 기본 프로그램들을 설치해줍니다.

sudo apt-get install g++
sudo apt-get install cmake
sudo apt-get install vim / nano
sudo apt-get install unzip
sudo apt-get install wget
sudo apt-get install git

(vim과 nano는 둘 중 취향에 맞는것으로 설치하시면 됩니다. 저는 개인적으로 nano로 파일을 수정하는게 편하더군요.)

sudo apt-get install build-essential cmake pkg-config libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev libv4l-dev v4l-utils libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libqt4-dev mesa-utils libgl1-mesa-dri libqt4-opengl-dev libatlas-base-dev gfortran libeigen3-dev python2.7-dev python3-dev python-numpy python3-numpy

 

패키지들을 설치하다 libjasper-dev 요녀석을 찾을 수 없다고 설치가 안될경우

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

위와같이 해주시면 됩니다.

 

혹시.. repository를 추가하다 잘못입력해서 update마다 에러가 날 경우

저같은 경우엔 오타를 내서 에러가 발생했었습니다.

 

sudo add-apt-repository --remove <잘못 입력한 부분>

이렇게 --remove 를 추가해서 지워주고 진행합니다.

 

설치가 완료되었으면 본격적으로 opencv를 설치해줍니다.

(제가 사용한 버전은 opencv-3.2.0 버전입니다.)

opencv를 설치할 폴더로 이동한 후 opencv 압축파일을 두개 받아 압축을 풀어줍니다.

wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip
unzip opencv.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.2.0.zip
unzip opencv_contrib.zip

그 후 opencv를 빌드해줍니다.

cd opencv-3.2.0
mkdir build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=OFF -D WITH_IPP=OFF -D WITH_1394=OFF -D BUILD_WITH_DEBUG_INFO=OFF -D BUILD_DOCS=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D ENABLE_NEON=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.2.0/modules -D WITH_V4L=ON -D WITH_FFMPEG=ON -D WITH_XINE=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D PYTHON_INCLUDE_DIR=/usr/include/python2.7 -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python2.7 -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so ../
make
sudo make install

 

빌드까지 완료했다면 opencv가 설치되었는지 확인해줍니다.

pkg-config --modversion opencv
pkg-config --libs --cflags opencv

 

위 명령어를 입력했을때 사진과 같이 뜬다면 opencv 설치가 완료된겁니다.

 

 

 

 

참고 사이트

개발자 이상현 https://pgmrlsh.tistory.com/3?category=766787