nano)Jetson nano에 OpenCV 설치하기.

Wonjun Lee·2024년 5월 15일

친구에게 빌린 jetson nano 장치에 Jetpack 4.6.4를 설치하고 CUDA를 지원하는 OpenCV를 설치하는 방법에 대해서 시행착오를 거치고 그 과정을 정리하고자 한다.

  1. Jetpack 4.6.4
    젯슨 나노에 설치되는 전용 리눅스이다. Ubuntu 기반이며 18.x.x 버전이었다. 설치 과정은 정식 홈페이지를 따랐다.
    1. OS 설치용 SD카드를 포맷한다. 이때 SD Card formatter 프로그램을 사용했다. 아래 사진은 os 설치 및 조작에 필요한 요구사항이다. 클릭하면 설치 가이드 사이트로 이동한다.
    2. SD Card formatter를 이용해 포맷을 수행하고 Balenecher라는 프로그램으로 가이드 사이트에서 제공하는 이미지 파일을 이용해 설치 SD card를 만든다. 모든 과정은 가이드 사이트에 나와있으니 생략하겠다.
    3. jetson nano에 Jetpack을 설치한다.

이후에 lightdm GUI를 사용하게 될 것이다. Opencv 설치에 사용되는 메모리 용량을 절약하기 위한 방법인데 사실 무한 로그인 현상이 발생하기도 한다. 그래서 Jetpack 설치하는 과정에서 자동로그인에 체크를 하는게 좋을 것 같다.(이걸로 해결이 되는지는 모른다. 아직 무서워서 재부팅을 많이 해보지 않았다. 무한 로그인 현상에 대처하는 방법은 그래픽카드 드라이버 재설치인데 Jetson nano용 드라이버를 아직 몰라서 대처방법을 적용하기가 어렵기에 적지 않았다.)

  1. jetson-stats 설치하기.
    jetson nano os를 설치하고나서 설치된 라이브러리, 하드웨어 정보 등을 얻기위해 가장 편한 방법은 jetson-stats을 이용하는 것이다. 우선 pip를 설치한다. upgrade에서 꽤 오랜시간이 소요된다.

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python-pip
$ sudo -H pip install -U jetson-stats
$ sudo reboot

재부팅 후
$ jtop

실행결과 터미널 창에 여러 정보가 출력된다. 숫자 7번 버튼을 눌러 INFO 탭으로 들어가면 python과 opencv 라이브러리 정보를 볼 수 있다.
python은 3.6.9이고 opencv는 4.1.1 with CUDA : NO로 표시된다.

jetpack에는 이미 python과 opencv가 내장되어 있다. 따라서 추가적인 설치가 불필요하다. 하지만 opencv를 이용할 때 NVIDIA GPU를 사용하기 위해선 CUDA가 필요하다. 기본 설치되는 Opencv는 CUDA를 지원하지 않기 때문에 재설치 해야한다.

  1. opencv 4.8.0 with cuda 설치하기
    우선 기본 GUI 환경을 lightdm으로 바꾸자.

    $ sudo apt-get install lightdm
    $ sudo apt-get purge gdm3

후 재부팅 한다. 여기서 무한 로그인 문제가 발생할 수 있으니 혹시 자동 로그인을 해두지 않았다면 opencv를 설치하기 직전에 변경하는게 좋을것 같다.

이 다음과정은 공식 설치과정 문서를 참고해야만 한다.

opencv를 설치하기 위해서는 많은 램을 확보해야 하므로 swapfile을 이용해야하고, 이 밖에 68개 명령어를 실행해야하는 번거로움으로 위 공식 설치과정 문서는 최신 버전의 설치를 위한 명령어 파일을 wget으로 다운로드 할 수 있게 제공한다.

나는 무작정 설치를 시도했었기 때문에 pip3나 apt-get 으로 opencv를 설치하려 시도했다. 하지만 2주에 가까운 시간을 낭비하고 결국 os를 다시 설치해야했다. 상단 공식 설치과정을 꼭 따라야 한다. 가장 시간을 단축할 수 있는 방법이다. 그리고 가능하면 화면보호기를 꺼두기 바란다.

  • 설치하는 과정에서 ram이 부족할 수 있으니 터미널을 제외한 모든 프로그램은 닫아둬야 한다.

0개의 댓글