Предварительно обученная каскадная модель классификации изображений

Создает предварительно обученную модель классификации изображений для распознавания фронтальных видов лица с помощью библиотеки OpenCV

Категория: модули библиотеки OpenCV

Примечание

Применимо к: машинное обучение Studio (классическая модель)

Это содержимое относится только к Studio (классическая модель). Аналогичные модули перетаскивания были добавлены в конструктор Машинное обучение Azure. Дополнительные сведения см. в статье сравнение двух версий.

Обзор модуля

В этой статье описывается, как использовать предварительно обученный модуль классификации изображений в машинное обучение Azure Studio (классическая модель) для обнаружения лиц в образах.

Модель основана на библиотеке opencv . Библиотека OpenCV предоставляет список стандартных моделей, каждый из которых оптимизирован для обнаружения определенного типа объекта.

Дополнительные сведения о предварительно обученной модели

Эта модель распознавания изображений уже обучена для больших совокупности изображений, широко используемых для задач распознавания изображений. Эта конкретная модель классификации оптимизирована для обнаружения лиц и использует алгоритм обнаружения объектов Viola-Jones. Цель модели — выявление изображений, содержащих человека в интерфейсном представлении.

Хотя в настоящее время предоставляется только одна модель классификации изображений OpenCV, дополнительные предварительно обученные модели могут быть доступны в более поздних выпусках.

Использование предварительно обученной модели

Если вы хотите проанализировать набор изображений, укажите их в качестве входных данных для модуля оценки модели , как описано в этом разделе, и присоедините этот модуль, который предоставляет модель предопределенной библиотеки OpenCV.

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

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

Формат, в котором хранится модель, несовместим с модулями обучение модели и Перекрестная проверка модели .

Как настроить предварительно обученную классификацию изображений

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

  1. Подготовьте и импортируйте набор данных изображений, которые планируется использовать в оценке. Как правило, все образы в наборе данных должны иметь одинаковый размер.

    Изображения добавляются в эксперимент с помощью модуля Импорт изображений . Внимательно прочитайте справку по импорту изображений , чтобы убедиться, что используемые образы соответствуют требованиям. Кроме того, необходимо убедиться, что образы доступны в определенном параметре хранилища.

  2. Добавьте предварительно заданный модуль классификации каскадных изображений в эксперимент в студии (классическая модель). Этот модуль можно найти в категории библиотеки OpenCV .

  3. Выберите один из предварительно обученных классификаторов из списка в предварительно обученном классификаторе.

    Сейчас доступен только один классификатор: Передняя поверхность, которая выбрана по умолчанию.

  4. Коэффициент масштабирования. Введите значение, которое указывает, насколько уменьшается размер изображения в каждой шкале изображения.

    В библиотеке OpenCV классификатор разрабатывается таким образом, чтобы его можно было легко "изменить размер", чтобы иметь возможность найти нужные объекты в разных размерах. Это более эффективно, чем изменение размера самого образа. Таким образом, чтобы найти объект неизвестного размера в образе, процедура просмотра должна выполняться несколько раз с различными шкалами.

    Мы рекомендуем использовать различные коэффициенты масштабирования, чтобы увидеть наилучшие результаты классификации изображений.

  5. Минимальное число соседей: Введите целое число, представляющее минимальное число перекрывающихся прямоугольников, необходимых для обнаружения того, что лицевая часть включена в регион.

    В библиотеке OpenCV классификатор обнаруживает объекты различных размеров во входном изображении. Обнаруженные объекты возвращаются в виде списка прямоугольников. Параметр соседи определяет, сколько возможных соответствий необходимо для определения обнаруженного лица или функции. Поэтому увеличение этого значения, как правило, приводит к увеличению точности за счет затрат на покрытие.

    Примеры вычисления соседей см. в этой статье документации по библиотеке OpenCv: еиженфацес in OpenCv

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

    • Минимальная высота: введите высоту наименьшего изображения в пикселях. Если указать значение для этого свойства, изображения меньше этого значения игнорируются.

    • Максимальная высота. Введите ширину самого крупного изображения в пикселях. Если указать значение для этого свойства, изображения, превышающие это, будут игнорироваться.

    • Минимальная ширина: введите ширину наименьшего изображения в пикселях. Если указать значение для этого свойства, изображения меньше этого значения игнорируются.

    • Максимальная ширина: введите ширину наибольшего изображения в пикселях. Если указать значение для этого свойства, изображения, превышающие это, будут игнорироваться.

  7. Подключите набор данных изображений, используемый для оценки.

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

  9. Запустите эксперимент.

Результаты

Выходные данные модели оценки включают имя изображения, метку оценки и показатель вероятности для метки (0 или 1). Классификатор выводит "1", если изображение, скорее всего, показывает объект (лицо), и "0" в противном случае. Пример.

Имя образа Оцененные метки Оцененные вероятности
MAN001.png TRUE 1
TABLE001.PNG Ложь. 0
CHAIR001.PNG Ложь. 0

Совет

Выходные данные также содержат значения RGB для всех цветовых каналов в наборе данных. Поэтому для более простого просмотра данных мы рекомендуем использовать в эксперименте Выбор столбцов в наборе данных для вывода только результирующих столбцов.

Технические примечания

Модель распознавания лиц, предоставляемая этим модулем, основана на алгоритме обнаружения лиц Viola-Jones. Для получения дополнительных сведений см. следующие ресурсы.

  • В этом видео объясняются основные понятия распознавания лиц, включая определение функций Хаар и их использование в обнаружении лиц: обнаружение лиц. часть 1

  • В этой статье Википедии описывается метод, используемый для классификатора, основанный на документе Навнит Далал and Bill Триггс: гистограмма ориентированных градиентов .

  • Документацию по алгоритму распознавания лиц, предоставляемым в библиотеке OpenCV, см. в разделе CASCADE классификатор.

Примечание

Этот модуль не выводит полный набор сведений, созданных библиотекой OpenCV. В частности, этот модуль выводит только сведения о том, имеется ли в наличии лицо или нет, и не включает координаты лица или другие сведения.

Если вам нужны эти дополнительные сведения, рассмотрите возможность использования других библиотек, например API распознавания лиц , предоставляемых Microsoft Cognitive Services.

Параметры модуля

Имя Диапазон Тип По умолчанию Описание
Предварительно обученный классификатор Список PretrainedClassifier Фронтальное лицо Предварительно обученный классификатор из стандартного набора OpenCV.
Масштаб >= 1,0000000000000002 Float 1,1 Параметр, указывающий, насколько уменьшается размер изображения при каждом масштабировании.
Минимальное число соседей >= 0 Целое число 3 Параметр, указывающий, сколько соседей должно быть у каждого возможного прямоугольника для сохранения.
Минимальная высота >= 1 Целое число 100 Минимально возможная высота объекта (в пикселях). Объекты с меньшей шириной игнорируются.

Это необязательный параметр.
Минимальная ширина >= 1 Целое число 100 Минимально возможная ширина объекта (в пикселях). Объекты с меньшей шириной игнорируются.

Это необязательный параметр.
Максимальная высота >= 1 Целое число 200 Максимально возможная высота объекта (в пикселях). Объекты с большей шириной игнорируются.

Это необязательный параметр.
Максимальная ширина >= 1 Целое число 200 Максимально возможная ширина объекта (в пикселях). Объекты с большей шириной игнорируются.

Это необязательный параметр.

Выходные данные

Имя Type Описание
Обученная модель Интерфейс ILearner Обученная двоичная модель классификации

Исключения

Исключение Описание
Ошибка 0005 Исключение возникает, если параметр меньше определенного значения.

Список ошибок, относящихся к модулям студии (классическая версия), см. в разделе машинное обучение коды ошибок.

Список исключений API см. в разделе Машинное обучение REST API коды ошибок.

См. также раздел

Импорт изображений
Предварительно обученная каскадная модель классификации изображений