Оглавление:

Обнаружение объектов Raspberry Pi: 7 шагов
Обнаружение объектов Raspberry Pi: 7 шагов

Видео: Обнаружение объектов Raspberry Pi: 7 шагов

Видео: Обнаружение объектов Raspberry Pi: 7 шагов
Видео: Система распознавания объектов на Raspberry Pi — Машинное зрение урок 1 2024, Ноябрь
Anonim
Обнаружение объектов Raspberry Pi
Обнаружение объектов Raspberry Pi

В этом руководстве представлены пошаговые инструкции по настройке API обнаружения объектов TensorFlow на Raspberry Pi. Выполнив действия, описанные в этом руководстве, вы сможете использовать Raspberry Pi для обнаружения объектов в реальном времени с веб-камеры Picamera или USB. Ручное машинное обучение не требуется, поскольку оно используется в онлайн-базе данных для обнаружения объектов. Вы можете обнаружить большинство объектов, которые обычно используются во всем мире.

Пожалуйста, обратитесь к моему изображению выше, мы использовали мышь, яблоко и ножницы и отлично обнаружили объект.

В руководстве выполняются следующие шаги:

Обновите Raspberry Pi

Установить TensorFlow Установить OpenCV

Скомпилируйте и установите Protobuf

Настроить структуру каталогов TensorFlow

Обнаруживать объекты

Шаг 1. Обновите Raspberry Pi

Обновите Raspberry Pi
Обновите Raspberry Pi

Ваш Raspberry Pi нуждается в обновлении

Шаг 1:

Введите командный терминал, sudo apt-get update

А затем введите

sudo apt-get dist-upgrade

Это может занять много времени, зависит от вашего Интернета и Raspberry Pi

Это все, что вам нужно, вы завершили обновление Raspberry pi

Шаг 2: установите TensorFlow

Установить TensorFlow
Установить TensorFlow

Теперь мы собираемся установить Tensorflow.

Введите следующую команду, pip3 установить TensorFlow

TensorFlow также требуется пакет LibAtlas, введите следующую команду

sudo apt-get install libatlas-base-dev

И также введите следующую команду:

sudo pip3 установить подушку lxml jupyter matplotlib cythonsudo apt-get install python-tk

На этом мы закончили установку Tensorflow.

Шаг 3: Установите OpenCV

Установить OpenCV
Установить OpenCV

Сейчас мы работаем над установкой библиотеки OpenCV, потому что в примерах обнаружения объектов TensorFlow для отображения изображений используется библиотека matplotlib, но я предпочитаю практиковать OpenCV, поскольку с ней легче работать и с ней меньше ошибок. Итак, нам нужно установить OpenCV. Сейчас OpenCV не поддерживает RPI, поэтому мы собираемся установить более старую версию Verision.

Сейчас мы работаем над установкой нескольких зависимостей, которые необходимо установить через apt-get.

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

sudo apt-get установить libxvidcore-dev libx264-dev

sudo apt-get install qt4-dev-tools libatlas-base-dev

Наконец, теперь мы можем установить OpenCV, набрав, pip3 установить opencv-python == 3.4.6.27

Вот и все, мы установили OpenCV

Шаг 4: Установите Protobuf

Установить Protobuf
Установить Protobuf

API обнаружения объектов TensorFlow использует Protobuf, пакет, который соответствует формату данных буфера протокола Google. Вам нужно скомпилировать из исходников, теперь вы можете легко установить.

sudo apt-get установить protobuf-compiler

Как только это будет сделано, запустите protoc --version. Вы должны получить ответ libprotoc 3.6.1 или аналогичный.

Шаг 5: Настройте структуру каталогов TensorFlow

Настройка структуры каталогов TensorFlow
Настройка структуры каталогов TensorFlow

Мы установили все пакеты, мы хотим создать каталог для TensorFlow. Из домашнего каталога создайте каталог с именем «tensorflow1», Введите следующее, mkdir tensorflow1cd tensorflow1

Теперь загрузите TensorFlow, набрав, git clone - глубина 1

Мы хотим изменить переменную среды PYTHONPATH, чтобы она указывала на некоторые каталоги внутри репозитория TensorFlow. Нам нужно, чтобы PYTHONPATH устанавливался каждый раз. Нам нужно настроить файл.bashrc. Мы должны открыть его, набрав

sudo nano ~ /.bashrc

В конце файла в последней строке добавьте команду, как на верхнем изображении, отмеченном красным цветом.

экспорт PYTHONPATH = $ PYTHONPATH: / home / pi / tensorflow1 / models / research: / home / pi / tensorflow1 / models / research / slim

Теперь сохраните и выйдите. Нам нужно использовать Protoc для компиляции файлов буфера протокола (.proto), используемых API обнаружения объектов. Файлы.proto находятся в / research / object_detection / protos, мы хотим выполнить команду из каталога / research. Введите следующую команду

cd / home / pi / tensorflow1 / models / researchprotoc object_detection / protos / *. proto --python_out =.

Эта команда изменяет все файлы "name".proto на файлы "name_pb2".py.

cd / home / pi / tensorflow1 / модели / исследования / определение_объекта

Нам нужно скачать модель SSD_Lite из зоопарка моделей TensorFlowdetection. Для этого мы хотим использовать SSDLite-MobileNet, которая является самой быстрой моделью, существующей для RPI.

Google бесконечно выпускает модели с повышенной скоростью и производительностью, поэтому почаще проверяйте, есть ли какие-нибудь улучшенные модели.

Введите следующую команду, чтобы загрузить модель SSDLite-MobileNet.

wget

tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz

Теперь мы можем попрактиковаться в моделях Object_Detction!

Мы почти закончили!

Шаг 6: обнаружение объекта

Обнаружить объект
Обнаружить объект

Теперь все настроено для обнаружения исполняемого объекта на Pi!

Object_detection_picamera.py обнаруживает объекты в реальном времени с веб-камеры Picamera или USB.

Если вы используете Picamera, измените конфигурацию Raspberry Pi в меню, как на изображении выше, отмеченном красным цветом.

Введите следующую команду, чтобы загрузить файл Object_detection_picamera.py в каталог object_detection.

wget https://raw.githubusercontent.com/EdjeElectronics/ TensorFlow-Object-Detection-on-the-Raspberry-Pi / master / Object_detection_picamera.py

python3 Object_detection_picamera.py

Введите следующую команду для USB-камеры

python3 Object_detection_picamera.py --usbcam

Выполняется одна команда, через 1 минуту открывается новое окно, в котором начнется обнаружение объектов !!!

Шаг 7. Проблемы и спасибо

Вопросы и спасибо
Вопросы и спасибо

пожалуйста, дай мне знать, если возникнут какие-либо вопросы

Почта: [email protected]

Спасибо, Ритик

Рекомендуемые: