Knowledge base

Knowledge base

Close

Классификация изображений

Классификация изображений позволяет отнести изображение к определенному классу. Например, из набора изображений определить какое изображение относится к классу “Кошка” или “Собака”. Сначала в системе создаются папки, которые будут далее пополнены изображениями, классификации которых будет обучаться модель ИИ. Для загрузки в систему могут быть использованы файлы следующих форматов: ‘jpg’, ‘jpeg’, ‘png’. Для каждого класса будет создана отдельная папка, данных из которой будут использованы при построении пайплайна для обучения модели опознавать определенные объекты на изображении.

  1. Загрузка изображений . 
    1. Перейдите в раздел «Данные»
    2. Для создания новой папки нажмите кнопку , после чего откроется форма создания нового типа данных:

  1. В открывшейся в поле «Тип» выберите значение «Категория», в поле «Название» введите название новой группы, например «Данные для классификации изображений», и нажмите кнопку «Создать». Примечание – Здесь под категорией имеется в виду папка, в которую будут складываться данные для решения задачи. 
  1. Далее перейдите в созданную папку «Данные для классификации изображений» и создайте две новые папки внутри – «Animals Train» и «Animals Test». В группу «Animals Train» будут складываться данные для обучения будущей модели машинного обучения, а в группу «Animals Test» – данные для  валидации или проверки ‘качества’ уже обученной модели. При этом для обучения модели необходимо использовать большее количество файлов, в нашем примере пропорция составляет 4 к 1.
  2. В папке «Animals Train» создайте еще две папки, которые и будут определять классы, –  «Dogs» и «Cats». Количество классов равно двум, так как в данном сценарии решается задача бинарной классификации (для многоклассовой классификации создавалось бы больше двух классов). В класс «Dogs» загружаются изображения собак, а в класс «Cats» загружаются изображения кошек. 
  3. Для того чтобы загрузить файлы, перейдите в нужную папку и нажмите кнопку «Загрузить»:

Откроется окно загрузки файлов:

  1. Для выбора файлов кликните на окно «Выберите файлы» или перетащите их по технологии drag and drop. 

Обратите внимание: за раз можно добавить максимум 10 файлов. Соответственно, если нужно загрузить больше файлов, нужно повторить выбор несколько раз.

После того, как все файлы выбраны, вы можете при необходимости удалить ненужные файлы, нажав на крестик в правой части строки с файлом, или нажать «Удалить все», если это требуется. 

  1. Когда все файлы выбраны и готовы к загрузке, нажмите на кнопку «Загрузить»:

В результате загруженные файлы отобразятся в папке:

Вышеописанные действия повторяются для папки «Animals Train» -> «Cats».

  1. Далее по аналогии создайте и заполните папки «Animals Test» -> «Dogs» и «Cats», туда загружаются файлы для валидации модели.

Чтобы удалить группу/класс пользователю достаточно удалить соответствующую папку в разделе Данные, нажав на три точки в строке с этой папкой.

  1. После того, как обучающая и валидационная выборки собраны, для папок «Animals Test» и «Animals Train» добавляется параметр классификация. Для этого в строке с папкой нажмите на три точки и кликните на кнопку «Классификация», после этого содержимое папки будет готово для использования при построении модели:

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

Создание модели классификации

  1. На левой рабочей панели выберете Моделирование->Рабочая область. Нажмите , чтобы добавить новую модель (например, “Animals”) и нажмите кнопку ”Создать”. Чтобы воспользоваться существующими моделями выберете Моделирование->Сохраненная рабочие области. Выберем готовую блок-схему из модели “Animals”. Она состоит из 4 блоков: “Загрузка изображений”, “Классификация”, “Валидация” и “Сохранение”

  1. Настройки блока “Запуск”

На рисунке ниже представлен блок “Запуск”. Нажмите кнопку , чтобы скрыть/раскрыть параметры блока. Используя ползунок можно опционально сформировать отчет после успешного выполнения модели. 

  1. Настройки блока “Загрузка изображений”

На рисунке ниже представлен блок “Загрузка изображений”.  Нажмите 

, чтобы редактировать настройки блока “Загрузка изображений”. В поле “Тип функции” выберете “Анализ данных”. В поле “Список функций” выберете “Загрузка изображений для классификации”. 

  1. В окне настройки параметров блока необходимо выбрать в Группе обучающих изображений выборку Animals_Train, а в Группе тестовых – Animals_Test:

  1. В поле “Размер мини-батча” укажите 8 – размер данных (количество изображений), по которым считается функция потерь при градиентном спуске. То есть при обучении на каждом шаге градиентного спуска из всего датасета берется случайным образом 8 объектов. В поле “Высота” и “Ширина” укажите 30, чтобы масштабировать изображение (уменьшить размер). Нажмите кнопку “Сохранить”, чтобы применить настройки. 
  2. Настройки блока “Классификация”. Нажмите, чтобы редактировать настройки блока.
  1. В поле “Тип функции” выберете “Классификация” – “Классификация изображений”. 
  2. В поле “Количество эпох” задайте 60. 
  3. В поле “Метрика для обучения” выберете “Accuracy”. 
  4. В поле “Алгоритм градиентного спуска” выберете “Adam”. 
  5. В поле “Шаг градиентного спуска” укажите null. 
  6. В поле  “Функция потерь” выберете “binary_crossentropy”. 
  7. В поле “Порог классификации” оставьте значение по умолчанию (0,5).
  8. Нажмите “Добавить слой” и заполните значения: Слой: 1.Dense; Число нейронов: 1; Функция активации: 3.sigmoid. 
  9. Нажмите “Добавить слой” еще раз и заполните значения: Слой: 2.Flatten.
  10. Нажмите “Добавить слой” еще раз и заполните значения: Слой: 3.Conv2D; Количество фильтров: 4; Размер ядра свертки: 3,3; Размер шага свертки: 1
  11. Сохраните настройки блока.
  12. Настройки блока “Валидация” Нажмите, чтобы редактировать настройки блока.

В поле “Тип функции” выберете “Глубокое обучение”. В поле “Список функций” выберете “Валидация модели классификации изображений”. В поле “Метрика” выберете “F1”. 

  1. Настройки блока “Сохранение”. Нажмите, чтобы редактировать настройки блока “Сохранение”.

Блок “Сохранение”

  1. В поле “Тип функции” выберете “Управление моделями”. 
  2. В поле “Список функций” выберете “Сохранение модели классификации изображений”. 
  3. В поле “Название модели” укажите название модели (например, “animals”).

Запуск модели классификации и визуализация результатов

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

  1. Графики “История обучения”

Выберете пункт “История обучения”, чтобы оценить качество модели. Мы видим, что с каждым проходом (с каждой эпохой) точность увеличивается (см. рис. Метрика Accuracy), а количество ошибок уменьшается (см. рис. Функция потерь). Можно видеть, что поле “Количество эпох” равное 60 является оптимальным значением, в то время как 20 было бы недостаточно.

  1. Матрица ошибок для мультиклассовой классификации

Выберете пункт “Матрица ошибок для мультиклассовой классификации”, чтобы увидеть числовые показатели. На рисунке видно, что модель распознала 10 из 10 кошек, 8 из 10 собак. Для дальнейшего повышения показателей необходимо добавить новые изображения и перезапустить модель.

  1. Табличные результаты валидации

Нажмите , чтобы ознакомиться табличными результатами валидации. Валидация на тестовой выборке (Метрика F1) и ошибки модели при прогнозирования классов приведены на рисунках ниже. 

  1. Архитектура модели

Нажмите, чтобы посмотреть архитектуру модели. Архитектура модели приведена на рисунке ниже.

In this article: