Skip to content

1. Požiadavky

Granko15 edited this page Jun 2, 2023 · 12 revisions

Požiadavky, ktoré treba splniť na spustenie ukážok a programov z tohto repozitára.

Predpokladá sa, že máte robot Jupiter od firmy LattellRobotics, Raspberry Pi 4, switch na prepojenie Jupitera a Raspberry.

Najprv si aktualizujeme zoznam balíčkov spustením príkazu v terminále:

sudo apt update

A následne môžeme inštalovať všetky potrebné knižnice a balíčky. Pred samotnou inštaláciou balíčku alebo knižnice je vhodné overiť si či už náhodou v našom systéme nie je nainštalovaná. Stačí si vytlačiť verziu inštalácie danej knižnice alebo balíčka ako je popísané v poslednom kroku každej inštalácie v nasledujúcej sekcii.

Potrebné programy a knižnice

Python

  1. Python si nainštalujeme pomocou príkazu:
sudo apt install python
  1. Inštaláciu si overíme pomocou príkazu, ktorý by mal zobraziť nainštalovanú verziu:
python --version

OpenCV

  1. Najprv si nainštalujeme požadované závislosti na vybudovanie OpenCV:
sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
  1. Nainštalujeme ďalšie knižnice a balíky, ktoré OpenCV požaduje:
sudo apt install python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
  1. Naklonujeme si OpenCV repozitár z GitHubu:
git clone https://github.com/opencv/opencv.git
  1. Presunieme sa do priečinka s repozitárom
cd opencv
  1. Vytvoríme priečinok build a presunieme sa doň:
mkdir build
cd build
  1. Nakonfigurujeme zostavu:
make
  1. Nainštalujeme OpenCV a overíme si inštaláciu vypísaním verzie:
sudo make install
python -c "import cv2; print(cv2.__version__)"

Numpy

  1. Nainštalujeme si manažér balíčkov pre Python:
sudo apt install python-pip
  1. Pomocou pip nainštalujeme Numpy:
sudo pip install numpy
  1. Inštaláciu overíme vytlačením verzie:
python -c "import numpy; print(numpy.__version__)"

Pygame

  1. Pygame nainštalujeme cez pip:
sudo pip install pygame
  1. Inštaláciu overíme vypísaním verzie:
python -c "import pygame; print(pygame.version.ver)"

SpeechRecognition

  1. Nainštalujeme si potrebné závislosti:
sudo apt install portaudio19-dev
  1. Pomocou pip nainštalujeme SpeechRecognition:
sudo pip install SpeechRecognition
  1. Inštaláciu si overíme vypísaním verzie SpeechRecognition:
python -c "import speech_recognition as sr; print(sr.__version__)"

gTTS

  1. gTTS nainštalujeme pomocou pip:
sudo pip install gTTS
  1. Inštaláciu si overíme vypísaním verzie gTTS:
python -c "import gtts; print(gtts.__version__)"

Darknet a YOLOv3

  1. Najprv si nainštalujeme všetky závislosti:
sudo apt update
sudo apt install build-essential cmake
sudo apt install libopencv-dev libopencv-highgui-dev libopencv-legacy-dev
sudo apt install libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
sudo apt install libatlas-base-dev gfortran
  1. Naklonujeme si GitHub repozitár do nášho počítača:
git clone https://github.com/AlexeyAB/darknet.git
  1. Presunieme sa do priečinka repozitára a spustíme cmake:
cd darknet
make
  1. Stiahneme si predtrénované váhy pre model YOLOv3:
wget https://pjreddie.com/media/files/yolov3.weights
  1. Na otestovanie inštalácie spustíme nasledujúci príkaz v priečinku darknet:
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

Edge TPU kompilátor:

  1. Najprv si stiahneme Edge TPU kompilátor:
wget https://dl.google.com/coral/edgetpu_api/edgetpu_compiler_20201211.zip
  1. Extrahujeme balíček:
unzip edgetpu_compiler_20201211.zip
  1. Presunieme sa do priečinku a nainštalujeme kompilátor:
cd edgetpu_compiler_20201211
sudo dpkg -i edgetpu_compiler_20201211.deb

Konfigurácia Raspberry Pi

V ukážke recognize-clothing potrebujeme nastaviť statickú IP adresu na Raspberry Pi, aby sme sa naň mohli z Jupitera pripojiť cez eternetový kábel. A takisto potrebujeme nainštalovať TensorFlow, PyCoral (na spustenie neurónovej siete na USB urýchľovači od Google) a nahrať do Raspberry Pi aj našu natrénovanú neurónovú sieť spolu so štítkami.


Raspberry Pi

Súbor s konfiguráciou eth0 nájdete aj TU Statickú IP adresu nakonfigurujeme nasledovne:

  1. Otvoríme konfiguračný súbor sieťových pripojení v editore s právami administrátora:
sudo nano /etc/network/interfaces
  1. Najprv musíme zakomentovať riadky obsahujúce eth0:
#auto eth0
#iface eth0 inet dhcp
  1. Pridáme si vlastnú konfiguráciu eth0 a súbor uložíme:
#OPTION7: Jupiter Robot Connection
auto eth0
iface eth0 inet static
address 192.168.8.5
netmask 255.255.255.0
gateway 192.168.8.1
  1. Raspberry reštartujeme a spojenie môžeme vyskúšať nasledovne:
ping 192.168.8.5

alebo

ssh 192.168.8.5 -X -l pi

Základné Raspberry Pi heslo pre pi používateľa je "raspberry".


TensorFlow Lite

Ďalej si potrebujeme nainštalovať TensorFlow Lite:

  1. Najprv si nainštalujeme všetky závislosti:
sudo apt update
sudo apt install -y libatlas-base-dev
  1. Naklonujeme si GitHub repozitár do nášho počítača:
git clone https://github.com/AlexeyAB/darknet.git
  1. Nainštalujeme pip a pomocou neho nainštalujeme TensorFlow Lite:
sudo apt install -y python3-pip
sudo pip3 install --upgrade tflite_runtime

Nasledujúce inštalácie nájdete detailnejšie aj TU.

Edge TPU runtime

  1. Pridáme do systému Debian balíčkový repozitár:
echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-get update
  1. Nainštalujeme EdgeTPU:
cd edgetpu_runtime
sudo bash install.sh
  1. Pripojíme cez Google Coral cez USB 3.0

PyCoral

  1. Nainštalaujeme PyCoral jedným z týchto spôsobov:
sudo apt-get install python3-pycoral

alebo

python3 -m pip install --extra-index-url https://google-coral.github.io/py-repo/ pycoral~=2.0

Test USB urýchľovača

Google Coral otestujeme nasledovne.

  1. Stiahneme si kód s príkladom z GitHubu:
mkdir coral && cd coral
git clone https://github.com/google-coral/pycoral.git
cd pycoral
  1. Stiahneme si model, štítky a fotku papagája:
bash examples/install_requirements.sh classify_image.py
  1. Spustíme klasifikáciu obrázku:
python3 examples/classify_image.py \
--model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--labels test_data/inat_bird_labels.txt \
--input test_data/parrot.jpg

TensorFlow lite predtrénovaný model

  1. Na Raspberry Pi si musíme presunúť náš predtrénovaný model aj so štítkami. Všetky potrebné súbory nájdete TU.

Ethernetový switch na robotovi slúžiaci na prepojenie Raspberry Pi 4 s Jupiterom.

switch

Raspberry Pi 4 pripevnené na Jupiterovi.

rpi

Google Coral USB akcelerátor pripevnený na robotovi Jupiter.

coral_robot

Batéria z ktorej je napájaný switch a Raspberry Pi 4.

bateria

Ak sa všetko podarilo nainštalovať, môžeme sa presunúť ku konkrétnym ukážkam.