Машинное обучение на примере анализа грибов

Добавлено: 07/05/2020 17:52 |  Обновлено: 13/05/2020 11:42 |  Добавил: nick |  Просмотры: 3230 Комментарии: 3
Вводная часть
Из материала вы узнаете как использовать нейронные сети для распознавания различных съедобных грибов. В качестве библиотеки машинного обучения используем TensorFlow.js. Так как это js-библиотека, то весь код будет работать прямо в браузере пользователя. Никакого серверного кода не требуется.
Страница анализатора грибов в браузере будет выглядеть следующим образом: Нажав на кнопку, пользователь сможет выбрать фотографию гриба из памяти устройства (компьютера/телефона/планшета) или сделать снимок с камеры (телефона/планшета). После чего данное фото будет проанализировано нейронной сетью (НС). Если НС “не узнает” гриб, то будет показано сообщение, что гриб не определен. Если НС распознает гриб, то будет показано название и описание гриба с картинкой, а также вероятность, с которой НС считает, что это именно этот гриб. Выглядеть это будет следующим образом: Как уже было указано ранее в качестве библиотеки НС будет использоваться TensorFlow.js. Нам не потребуется ставить TensorFlow.js на компьютер (сервер), нужно будет просто добавить ссылку на эту библиотеку в главном html-файле проекта.
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.0.0/dist/tf.min.js"></script>
В данном примере скачаем библиотеку НС в папку с проектом, поэтому скрипт-тег будет выглядеть так:
<script src="./vendor/tf.min.js"></script>
Далее материал будет разбит на несколько разделов. В первом мы обучим НС распознавать грибы, в результате у нас получится так называемая модель, которую можно будет сохранить в файл с проектом. А в следующих разделах разберем содержимое остальных файлов, которые потребуются для работы проекта.

Содержание:

  1. Модель
  2. Файл index.html
  3. Файл index.js

Модель

Для того чтобы создать модель воспользуемся сервисом Teachable Machine (https://teachablemachine.withgoogle.com/). Вот как выглядит главная страница: Нажимаем на ней кнопку “Get Started”. Откроется следующая страница: Выбираем на ней “Image Project”. На следующей странице можно добавить фотографии для обучения модели. Class 1, Class 2 - это множество объектов с одним названием. Например, название Class 1 можно заменить на название “Масленок” или “Белый гриб”... Всего у нас будет 23 класса:
Альбатреллус овечий
Аурикулярия
Белый гриб
Белый степной гриб
Боровик
Вешенка
Волнушка
Гигрофор
Головач
Груздь
Дубовик
Зимний гриб
Зонтик
Калоцибе майский
Лиофиллум ильмовый
Лисичка
Масленок
Мокруха
Моховик
Подберезовик
Подосиновик
Рыжик
Спарассис курчавый
Фотографии для обучения модели можно скачать по ссылке. В архиве в среднем по 200 фото для каждого класса.

Для добавления фотографий к классу используем кнопку “Upload”. Затем нажимаем “Choose images from your files, or drag & drop here”. Для добавления новых классов используем кнопку “Add a class”. Вот как это будет выглядеть: После того как все классы будут добавлены можно нажать на кнопку “Train Model”. Под кнопкой “Train Model” есть вкладка “Advanced” с дополнительными параметрами. Можно поиграться с ними. Например, добавить количество эпох. После того как модель будет создана можно ее экспортировать, нажав на кнопку “Export model”.

Далее в открывшемся окне выбираем “Download” и нажимаем на кнопку “Download my model”. После чего можно будет загрузить архив с моделью к себе на компьютер. В следующих разделах создадим другие файлы проекта для работы с созданной моделью.
К содержанию

Оставьте свой комментарий

Комментарии