블로그 이미지
devtang
Instagram : @taebr0 devtaehyeong@gmail.com

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

'젯슨나노'에 해당되는 글 2

  1. 2020.02.28 [OpenCV] Jetson nano에 OpenCV 3.4 설치
  2. 2020.02.28 [NVIDIA]Jetson nano OS 설치8
2020. 2. 28. 16:51 Jetson Nano

제 나노 보드에 설치된 Jetson Nano Developer Kit image, CUDA 10.0, Jetpack 4.3 버전 기준으로 작성하였습니다.

 

우선 OpenCV 설치 전에 필요한 라이브러리 들을 설치해줍니다.

 

(참고) - pkg-config나 unzip 또는 cmake 같은 기본 도구들은 설치가 되어있는 상태에서 진행하였습니다.

위와 같은 문제는 구글 검색하면 쉽게 찾을수 있어요.

필요한 라이브러리

·pkg-config

·unzip

·cmake

·build-essential

 

버전 업데이트 및 업그레이드 설치를 해줍시다.

sudo apt-get update
sudo apt-get upgrade

OpenCV는 C++에비해 비교적 간결한 코드를 사용할 수 있는 python 을 지원합니다.

기본적으로 2.7이 설치되어있지만, numpy와 3버전대를 설치해줬습니다.

sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy

  OpenCV에 필요한 라이브러리를 설치해줍니다.

sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev v4l-utils 
sudo apt-get install libxvidcore-dev libx264-dev libxine2-dev
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev
sudo apt-get install libatlas-base-dev gfortran libeigen3-dev

한번에 설치하면 안되는 경우도 있어서 혹시나 오류가 발생하면 

sudo apt-get install libjpeg-dev

sudo apt-get install libpng-dev 

이렇게 하나하나씩 직접 설치하셔도 괜찮습니다.

 

다 설치가 완료되면 본격적인 OpenCV 설치를 진행합니다.

mkdir opencv
cd opencv
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.0.zip

opencv라는 폴더를 만들고 폴더안에 opencv.zip 과 opencv_contrib.zip 을 다운받아줍니다.

중요한것은 opencv 와 opencv_contrib 버전이 동일해야 합니다. (3.4.0)

 

설치가 완료되면 압축을 풀기위해 아래와 같은 명령어를 입력해줍니다.

unzip opencv.zip
unzip opencv_contrib.zip

이제 빌드 및 설치를 위해 build폴더를 생성하여 빌드 준비를 합니다.

cd opencv-3.4.0
mkdir build
cd build

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 WITH_QT=OFF \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.0/modules \
-D WITH_V4L=ON  \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D PYTHON2_INCLUDE_DIR=/usr/include/python2.7 \
-D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ \
-D PYTHON2_PACKAGES_PATH=/usr/lib/python2.7/dist-packages \
-D PYTHON2_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
-D PYTHON3_INCLUDE_DIR=/usr/include/python3.6m \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/  \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \
-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
../

이후 make 를 해줘야되는데 -j숫자(원하는 코어사용갯수)를 입력해줍니다.

-j4를 입력하게되면 코어4개를 다사용하므로 발열이 상당히 심합니다. (오류가 날 수도 있음)

쿨러나 보드를 식힐 수 있는 선풍기가 있을때 사용하는걸 추천합니다.

make -j4
make -j2

이과정에서 꽤 걸립니다!! 저는 -j4로 코어 다사용해서 돌렸는데도 50분정도 걸렸습니다.

발열도 심하고 굉장히 오래걸리니까, opencv 빌드중에는 보드 사용을 자제하는게 좋을것 같아요.

물론 엄청 느려져서 원활한 구동도 어렵습니다.

 

OpenCV 컴파일 결과물

sudo make install
sudo sh -c 'echo '/usr/local/lib' > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

이렇게 해서 OpenCV가 설치가 완료됬습니다.

다음 게시물은 YOLO설치 및 구동을 올릴 예정입니다.

posted by devtang
2020. 2. 28. 14:43 Jetson Nano

NVIDIA에서 수백만개의 지능형 시스템 구축을 할수 있는 초소형 컴퓨터 Jetson nano를 출시했습니다.

Jetson nano

 

Bringing the Power of AI to Millions of Devices

NVIDIA Jetson Nano enables the development of millions of new small, low-cost, low-power AI devices.

www.nvidia.com

가격은 99달러로 우리나라에서 약 12~13만원에 구매가 가능합니다.

학생들이나, 개발자, 발명가들이 합리적인 가격으로 최신 AI를 구동할 수 있게 됬습니다.

 

라즈베리파이와 마찬가지로 SD카드에 이미지를 구워 구동시킬 수 있으며,

기본적인 사양은 라즈베리파이보단 성능이 조금 뛰어납니다.

사양은 1.4GHz 쿼드 코어 ARM A57 CPU, 128 코어 NVIDIA Maxwell GPU 및 4GB RAM를 갖추고 있습니다.

 

 

또한 Jetson nano에는 40개의 GPIO핀이 있어서 LED,모터,센서 등과 연결할 수 있습니다.

단점으로는 와이파이가 지원이 안되서 동글을 사용하거나 랜카드를 사용해야합니다.

라즈베리파이와 마찬가지로 sd카드에 os를 갖추어 꽂아서 사용하게 되어있습니다.

OS를 설치하기 위해서는, 아래 사이트에서 Jetson Nano Developer Kit SD Card Image 를 설치해야합니다.

https://developer.nvidia.com/embedded/downloads

 

Jetson Download Center

Get downloadable documentation, software, and other resources for the NVIDIA Jetson ecosystem.

developer.nvidia.com

이미지 파일을 다운받아서 압축을 풀고 난후, Win32DiskImager를 이용하여 os 세팅을 해줍니다.

sd-blob-b01.img 

sd 카드리더기를 이용하여 Write 버튼을 눌러줍니다.

100%될때까지 기다려줍니다.

끝나고 완료되고 나면 왼쪽하단에 Done. 표시와 함께 디스크를 사용하기 전에 포맷해야 한다는 문구가 열개이상 뜨는데

이때 모두 취소버튼을 눌러줍니다.

 

이렇게 하면 SD카드에 우분투가 세팅이 완료됩니다. 이제 SD카드를 Jetson nano에 부착시켜줍시다.

 

마이크로 USB로도 전원 연결을 할 수 있지만, 전력이 낮아 꺼지게 될 가능성이 높습니다.

저는 무선 마우스,키보드, 와이파이 동글을 이용하고 있으므로 전력소모가 커 5V DC어댑터를 전원으로 연결시켰습니다.

 

초록색 NVIDIA 문구와 함께 부팅이 시작됩니다.

우분투 기본 환경 설정중입니다.

자 모든설정이 완료가되고 정상적으로 Jetson nano에 OS를 깔았습니다.

다음엔 OpenCV를 설치하는 포스팅을 게시하겠습니다.  

posted by devtang
prev 1 next