[RaspberryPi] 라즈베리파이용 객체검출 환경 구축_Tensorflow1

Sireal·2021년 10월 19일
0

Raspberry Pi

목록 보기
9/14
post-thumbnail

Object detect API

  • 구글의 텐서플로우 API 중 손쉽게(?) 딥러닝을 통한 객체검출을 할 수 있게 해주는 API
  • 이것을 응용할수 있도록 EdgeElectonics의 예제코드와 함께 객체검출용으로 텐서플로우1을 설치하도록 하겠음
    • 개발환경을 한번에 설치할 수 있기 때문에 매우 유용하다.
  • 본 글에는 객체검출을 하는 모델이 있다는 전제하에(.pb 혹은 .tflite) 진행함.

따라하기

(putty로 띄워서 복사붙여넣기해서 사용하세요)

  • 라즈베리파이 업데이트하기 ( 처음 실행할땐 20~40분 소요할 수 있음 )
sudo apt-get update
sudo apt-get upgrade

  • Edje아저씨의 라즈베리파이API 받아오기
git clone https://github.com/EdjeElectronics/TensorFlow-Lite-Object-Detection-on-Android-and-Raspberry-Pi.git

  • 예제설정에 맞게 tflite1으로 폴더명변경하겠음(옮기겠음)
mv Tensor(Tab) tflite1
cd tflite1

  • 가상환경을 위해 virtual_env(venv)설치
sudo pip3 install virtualenv
  • 가상환경을 만들어보자 (가상환경이름 : tflite1-env)
python3 -m venv tflite1-env
  • 해당폴더의 가상환경을 실행하자 (가상환경 실행을위해 무조건 이폴더에서 이명령어로 실행해야한다)
source tflite1-env/bin/activate
  • 개발환경을 셸스크립트를 이용해 편하게 다운받자(Edje아저씨👍)
bash get_pi_requirements.sh
  • 좀 오래 기다려야 한다.. 이 셀파일은 따로 백업시켜서 사용해도 좋을듯 하다.

  • 최신텐서가 깔렸기에 텐서1.13.1로 다운그레이드 하자(설치 시간이 좀 걸린다)

    • 텐서2는 텐서1을 지원하지만 텐서1의 코드에 별다른처리를 해야 사용가능하다. 그리고 코드가 하나면 할만한데 여러개일경우 매우매우 번거로워진다.
    • 아래와 같은 오류가 나오면 버전에 맞는 것을 다운받으면 된다.
    • 1.13.1을 설치하였음.
pip3 install tensorflow==1.13.1

  • Edje아저씨의 코드를 사용하고싶으면 이런식으로 코드작성을하면 가능하다.
    • 모델폴더(디렉토리) 지정을 하기만 하면 된다.
python3 TFLite_detection_webcam.py --modeldir=모델디렉토리'
  • 라즈베리파이에서 객체감지환경을(TF1) 매우 간편하고 정확하고 빠르게
    진행하고 완료하였다. 잘 응용 해보자.
    • 구글예제모델
    • 모델디렉토리엔 파일이 이렇게 있어야한다.(detect.tflite, labelmap.txt)

참고

profile
🚄계속 앞으로🚄

0개의 댓글