• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Raspberry pi
      • Raspberry pi pico
      • Raspberry pi server
      • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • ЧПУ
  • 3d печать
  • Умный дом
    • Home Assistant
  • Об авторе

Определение объектов на ESP32-CAM с помощью TensorFlow

Апрель 2, 2021

ESP32-CAM: http://ali.pub/5jykux

FTDI: http://ali.pub/5jykxg

 

В данной статье попробуем определять объекты с помощью камеры на модуле esp32-cam. Делать это будем с помощью библиотеки TensorFlow.

TensorFlow — открытая программная библиотека для машинного обучения, разработанная компанией Google для решения задач построения и тренировки нейронной сети с целью автоматического нахождения и классификации образов, достигая качества человеческого восприятия.

ESP32-cam хоть и довольно мощный микроконтроллер среди других, но он явно не дотягивает до компьютеров для которых предназначен TensorFlow. По этому здесь бует использоваться хитрый метод. А именно, будет использоваться уже специально сгенерированная база с готовыми объектами. Все эти объекты будут находиться в файле index.html. Который в свою очередь находится в папке Data. Которую мы закинем в файловую систему esp32-cam.

Теперь давайте приступим к прошивке.

Схема подключения ESP32-CAM для прошивки:

 

Далее нам нужно закинуть папку DATA в файловую систему esp32-cam. Для этого нам понадобится специальный плагин для arduino ide. Который называется ESP32FS и его можно скачать тут: https://github.com/me-no-dev/arduino-esp32fs-plugin

Скачиваем данный плагин и его нужно закинуть по следующему пути: <home_dir>/Arduino/tools/ESP32FS/tool/esp32fs.jar . Где <home_dir> – это домашняя директория программы arduino ide. Иными словами это место куда установлена программа arduino ide.

После того как это сделали и перезагрузили программу arduino ide. У Вас должен появиться пункт ESP32 Scetch Data Upload во вкладке Инструменты.

 

Теперь качаем архив со скетчем и распаковываем его. Скачать можно с githubа https://github.com/ANM-P4F/ESP32CamClassificationTfjs или тут: https://disk.yandex.ru/d/EyP3ebqYaIoqJQ

 

Запускаем скетч из распакованной папки. Там обязательно со скетчем должна находиться папка DATA.

И в запустившейся программе arduino IDE выбираем Инструменты ->ESP32 Sketch Data Upload. И у нас начнется загрузка содержимого папки DATA в файловую систему микроконтроллера. Но естественно нужно еще предварительно выбрать корректный микроконтроллер в менеджере плат. Как это сделать можно посмотреть тут: http://psenyukov.ru/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0-%D0%BD%D0%B0-esp32/

Теперь после загрузки в файловую систему. Можно загружать скетч. Он загружается как обычно. Но предварительно нужно в нем проставить данные от вашей wi-fi сети.

const char* ssid = “test”;
const char* password = “test”;

И в файле camera_wrap.cpp выбрать корректную камеру:

// Select camera model
// #define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
// #define CAMERA_MODEL_M5STACK_PSRAM
// #define CAMERA_MODEL_M5STACK_WIDE
#define CAMERA_MODEL_AI_THINKER – это ESP32-CAM

 

И все. После загрузки скетча. Отключаем esp32-cam от usb. Снимаем перемычку для программирования. Снова подаем питание и ждем когда законнектится к wi-fi сети. После этого по ip адресу который получила espшка. Подключаемся к ней по web морде. И web интерфейс выглядит следующим образом:

Собственно здесь если нажать на кнопку “OFF” начнется стрим с камеры. И как только мы зафиксиуем нужный нам объект для определения. Нажимаем кнопку “Predict“. После этого начнется определения объекта. Вот например на скрине результат у нас sport car.

Также все данные действия и демонстрацию определения объекта можно посмотреть в видео:

Primary Sidebar

Поиск

Новые записи

  • Вывод картинки на OLED дисплей на микроконтроллере Raspberry pi pico
  • Программирование на raspberry pi pico через Arduino ide
  • Примитивный автопилот для машины на raspberry pi, arduino. OpenCV
  • Определение объектов на ESP32-CAM с помощью TensorFlow
  • Красивый ночник “Электронная свечка”

Подписаться на YouTube!


Secondary Sidebar

Свежие записи

  • Вывод картинки на OLED дисплей на микроконтроллере Raspberry pi pico
  • Программирование на raspberry pi pico через Arduino ide
  • Примитивный автопилот для машины на raspberry pi, arduino. OpenCV
  • Определение объектов на ESP32-CAM с помощью TensorFlow
  • Красивый ночник “Электронная свечка”




Copyright_У Павла! © 2021 ·