Crosswalk project)SSD-Mobilenet-v2

Wonjun Lee·2024년 5월 6일

횡단보도 상에서 사람을 객체 탐지하기 위해서 Jetson nano 디바이스에 SSD-Mobilenet-v2 모델을 구동시키려 하였다. 아직 프로그램이 완성되진 않았으나 지금까지의 경과에서 얻은 것들을 기록하고자 한다.

  1. SSD-Mobilenet-v2 학습
    다음 유튜브 동영상에서 제공하는 소스와 가이드라인들을 따라서 SSD-Mobilenet-v2 모델을 학습시키고 Tensorflow lite 포맷으로 변환하였다. 구동환경은 구글의 Colab이었다.

    [Youtube source] How to Train TensorFlow Lite Object Detection Models Using Google Colab | SSD MobileNet

    코랩에서 학습을 수행할 때 학습시간이 길어지며 런타임이나 세션이 강제종료되는 불상사가 발생한다. 더구나 유료 결제를 한다고 해도 요령을 몰라 계속 런타임만 낭비하면 어느새 컴퓨팅 자원이 고갈되며 추가 결제해야하는 지경이 된다. 학습이 진행되는 동안에는 자바스크립트를 이용해서 런타임이 계속 유지되도록 해야한다.

    다음 블로그 글을 참고하였다.
    코랩 세션 유지

  2. Jetson nano에서 VS Code 설치하기
    위의 유튜브 영상을 따라하기만 하면 학습은 무리없이 진행된다. 다음은 Jetson nano에서 파이썬 코드를 작성하기 위한 IDE를 설치해야 하는데, 이전에 Ubuntu에서 사용했던 방식으로 설치하려니 의존성 문제가 발생하였다. 다행하게도 설치를 위한 명령어를 찾아냈다. 다음 페이지를 참고하였다.
    https://github.com/jugfk/installVSCode

  3. Jetson nano에서 USB 카메라 확인하기
    나는 프로젝트에서 USB 타입의 Night vision 기능이 있는 카메라를 구매했었기 때문에 Jetson nano에서 USB로 카메라를 사용할 필요가 있었다. USB 포트에 연결한 이후 장치가 연결된 것을 확인해야 했다. 다음 명령어들을 입력하였다.

    $ sudo apt install v4l-utils

    이 명령어 입력후에 의존성 문제가 발생하였는데 다음 명령어로 해결하였다.

    $ sudo apt --fix-broken-install

    v4l 패키지가 설치되고 난 후엔 다음 명령어를 실행하여 현재 연결된 웹캠 리스트를 관찰했다.

    $ v4l2-ctl --list-devices

    웹캠이 연결된 것을 확인하고 웹캠으로부터 송출되는 영상을 확인하기 위해서 cheese를 설치했다.

    $ sudo apt install cheese
    $ cheese

  4. Open cv에러 (illegal Instruction (Core dumped))
    이 에러는 왜 발생하는지 모르겠다. Python 파일에서 cv2를 import하려고 시도하니 생기는 문제였다. 아래 명령어를 해당 파이썬 파일을 실행하는 프롬프트에서 실행시켰다.

    export OPENBLAS_CORETYPE=ARMV8 python

0개의 댓글