ESP32 + MLX90640: тепловизор с искусственным интеллектом |
||
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ Атаки на ИИ Внедрение ИИИИ теория Компьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Промпты. Генеративные запросы Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2025-12-01 11:38 Сегодня я хочу показать и рассказать вам, как, подключив к ESP32-S3 тепловизионную матрицу MLX90640,можно запустить веб-сервер для стриминга теплового изображения с определением в реальном времени того, какие сущности попали в поле зрения тепловизора. В моём случае была обучена свёрточная нейронная сеть для классификации трёх сущностей в инфракрасном спектре: кошки, человека или же отсутствия двух предыдущих. Данная система является полностью автономной, и инференс TensorFlow Lite-модели происходит прямо на борту микроконтроллера. Демонстрация работы + исходный код: VK: https://vkvideo.ru/video-229753773_456239024?GitHub: https://github.com/DenissStepanjuk/ESP32.MLX90640.Classification_with_TensorFlowLite Сбор датасета Первый этап - собрать набор данных, на котором будет обучена нейросеть для классификации сущностей. Тепловизионная матрица MLX90640 представляет собой матрицу 24?32 пикселя из 768 инфракрасных датчиков. Каждый из датчиков измеряет температуру в своей точке поля зрения, благодаря чему два раза в секунду от MLX90640 по интерфейсу I2C можно получить полноценное тепловое изоброжение окружающего пространства. В репозитории на GitHUB реализован скетч "01_MLX90640_collect_dataset", который реализует стриминг теплового изображения с матрицы MLX90640, благодаря чему тепловизор можно корректно навести на интересующий обьект и прозвести захват изображения. Для обучения свёрточной нейросети потребуется собрать как минимум около 50 снимков на каждую категорию: человек, кошка и пустота. Обучение свёртончной нейронной сети В репозитории на GitHUB есть ноутбук "MLX90640-CNN-TFL.ipynb", в котором полностью реализован процесс обучения нейросети средствами библиотеки глубокого обучения TensorFlow, тут же давайте разберём ключевые этапы. 1) Загрузка данных 2) Масштабирование данных 3) Визуализация данных Этот этап помогает выявить ошибки: неправильный формат данных, перепутанные метки или некорректное чтение файлов. 4) Прописать структуру модели средствами TensorFlow 5) Обучение модели Квантование модели Квантование - это процесс преобразования весов модели из формата float32 в формат int8. Это уменьшает размер модели и ускоряет инференс модели в десятки раз. Такой формат значительно экономит память, что критично для микроконтроллеров. В итоге получается лёгкая и быстрая модель, пригодная для запуска прямо на ESP32. После квантования модель сохраняется в формате TensorFlow Lite, а затем конвертируется в C-массив, который в свою очередь можно загрузить в память ESP32 и после компиляции и загрузки прошивки получить полностью автономную систему для стриминга теплового изображения с определением в реальном времени того, какие сущности попали в поле зрения тепловизора. Данный скетч можно найти в репозитории на GitHUB "02_MLX90640_CNN_TFL". Источник: habr.com Комментарии: |
|