Сортировщик огурцов на Arduino, Raspberry Pi 3 и TensorFlow


Японец решил помочь своим родителям в сортировке огурцов, согласно принятым в Японии 9 классам (согласно форме, размеру и т.п.).
Для этого, он использовал Arduino Micro, Raspberry Pi 3 и open-source разработку от Google — TensorFlow.
Raspberry Pi, используется для работы с камерой и отсылки изображений в Google Cloud, где происходил анализ информации, а контроллер Arduino управляет выполнением сортировщики (при помощи сервоприводов).

Блок-схема сортировщика:
Сортировщик огурцов на Arduino, Raspberry Pi 3 и TensorFlow

Для получения фотографий (более 7000 снимков) огурцов разных классов, которые сортировала его мать, японец потратил около трёх месяцев, но даже этого оказалось недостаточно: при тестировании точность распознавания составляла 95%, но при работе с реальными огурцами, точность уменьшилась до 70%.

Для тренировки нейронной сети используется обычный ПК с Windows, но даже при преобразовании полученных фотокамерами снимков в изображения с разрешением 80×80 пикселей — обучение системы занимает 2-3 дня.

TensorFlow — open-source библиотека для машинного обучения от компании Google. Была представлена 9 ноября 2015 года.

Код системы написан на языках С++ и Python и распространяется под лицензией Apache.

TensorFlow предоставляет библиотеку готовых алгоритмов численных вычислений, которые реализованы через графы потоков данных (data flow graphs), где:
узлы графа — реализуют математические операции или точки входа/вывода,
рёбра графа — представляют многомерные массивы данных (тензоры), передающиеся между узлами.
Причём, узлы могут быть закреплены за разными вычислительными устройствами и выполняться асинхронно, параллельно обрабатывая все приходящие тензоры.

далее: Программа с нейросетью для закрывания окон на компьютере при приближении начальника

Ссылки
How a Japanese cucumber farmer is using deep learning and TensorFlow

TensorFlow
TensorFlow
TensorFlow: машинное обучение от Google, теперь – умнее и для всех
Hello, TensorFlow. Библиотека машинного обучения от Google
https://github.com/tensorflow/tensorflow
http://playground.tensorflow.org

По теме
Нейронная сеть — введение
Принцип обучения многослойной нейронной сети с помощью алгоритма обратного распространения
Пример работы самоорганизующейся инкрементной нейронной сети SOINN
Сортировка мусора при помощи игры
Автоматизация выращивания грибов на базе Raspberry Pi
Arduino для автоматизации снекового автомата
Автоматический открыватель пивных бутылок на базе Arduino


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение