📂

Jetson Orin Opencv with CUDA

글종류
Orin
작성 일시
2024/04/18 02:37
먼저, 이 글은 아래의 글을 읽고 정리한 것 임을 밝힙니다.
먼저 실행에 앞서,
처음 설치하였다면, CUDA, cuDDN, OpenCV가 설치 완료 되어있을텐데요.
처음에는 with CUDA가 NO로 출력 될 것 입니다. Jetson을 샀는데 Cuda는 사용하셔야겠죠??
설치 진행하겠습니다.
#먼저 씨메이커를 설치합니다. sudo apt install cmake sudo apt install gcc g++ #필요한 파이썬 delev와 넘파이를 설치합니다. sudo apt install python3-dev python3-numpy #GUI기능과 카메라 기능에 필요한 것들을 설치합니다. sudo apt install libavcodec-dev libavformat-dev libswscale-dev sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev sudo apt install libgtk-3-dev #PNG, JPEG, JPEG2000, TIFF, WebP과 같은 다양한 포멧을 지원하기 위해 설치합니다. sudo apt install libpng-dev libjpeg-dev libopenexr-dev libtiff-dev libwebp-dev #이제 Opencv를 깃을 통해 다운로드 받습니다. git clone https://github.com/opencv/opencv.git #Opencv의 추가 모듈인데, CUDA를 사용하기 위해서 다운로드 받습니다. git clone https://github.com/opencv/opencv_contrib.git #본인의 nvidia GPU를 확인하기 위해 실행합니다. nvidia-smi -L
Bash
복사
저같은 경우에는 Orin NX16GB 보드라 Orin으로 출력됨을 알 수 있습니다.
이제 제품명을 알았으니 해당 사이트에 들어가서 본인의 제품을 찾습니다.
2024/04/28 기준
저는 Orin이므로 8.7이라는 Compute Capability를 확인할 수 있는데요. 이는 아키텍쳐 버전이라고 하며
CMake flag: CUDA_ARCH_BIN=8.7 를 추후 적용해야 하므로 필히 기억해주세요!
# 이제 설치했던 폴더로 들어가 빌드라는 폴더를 만들고 진입합니다. cd ~/opencv mkdir build cd build #이제 Cmake를 실행하여 다음 flag를 따릅니다. #CUDA_ARCH_BIN= 해당 부분을 본인에 맞게 수정합니다. cmake \ -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_CUDA=ON \ -D WITH_CUDNN=ON \ -D WITH_CUBLAS=ON \ -D WITH_TBB=ON \ -D OPENCV_DNN_CUDA=ON \ -D OPENCV_ENABLE_NONFREE=ON \ -D CUDA_ARCH_BIN=8.7 \ -D OPENCV_EXTRA_MODULES_PATH=$HOME/opencv_contrib/modules \ -D BUILD_EXAMPLES=OFF \ -D HAVE_opencv_python3=ON \ ..
Bash
복사
이제 GPU가속을 지원하기 위해 과정이 더 남아있는데요, 터미널에서 lscpu를 입력합니다.
길게 나오는데, 여기서 중요한건 CPU(s): 8 입니다. 이제 최종 컴파일이 남았는데요. 다음을 실행합니다
make -j 8
Bash
복사
이제 마지막으로 설치를 진행합니다.
#build 디렉토리에서 실행합니다. sudo make install sudo ldconfig # 이제 심볼릭 링크를 만들어 전역에서 사용할 수 있도록 합니다. 본인의 파이썬 버전에 맞추어 숫자를 바꿉니다. sudo ln -s /usr/local/lib/python3.10/site-packages/cv2 /usr/local/lib/python3.10/dist-packages/cv2 # Jtop을 실행하여 결과를 봅니다. jtop # 설치가 확인되면 필요없는 폴더를 삭제합니다. cd ~ rm -rf opencv opencv_contrib
Bash
복사