СТАТЬЯ

Конвейер компьютерного зрения, часть 1: общая картина

Из книги Мохамеда Эльгенди Глубокое обучение для систем машинного зрения

__________________________________________________________________

Получите скидку 37 % на Глубокое обучение для систем машинного зрения. Просто введите fccelgendy в поле с кодом скидки при оформлении заказа на manning.com.
_______________________________________________________________________

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

Готовы приступить к изучению систем компьютерного зрения? Давайте копать прямо! Системы технического зрения состоят из двух основных компонентов: 1) сенсорного устройства и 2) интерпретирующего устройства.

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

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

Классификатор изображений — это алгоритм, который принимает изображение в качестве входных данных и выводит метку или «класс», который идентифицирует это изображение.

Класс машинного обучения — это выходная категория ваших данных. Вы также можете вызвать эти категории.

Вот как изображение проходит через конвейер классификации:

  1. Во-первых, компьютер получает визуальный вход от устройства обработки изображений, такого как камера. Обычно это захватывается как изображение или последовательность изображений, формирующих видео.
  2. Каждое изображение проходит несколько этапов предварительной обработки, целью которых является стандартизация каждого изображения. Общие этапы предварительной обработки включают изменение размера изображения, размытие, вращение, изменение его формы илипреобразование изображения из одного цвета в другой, например из цветного в оттенки серого. Только стандартизировав каждое изображение, например: сделав их одинакового размера, вы сможете сравнивать их и далее анализировать таким же образом.
  3. Затем мы извлекаем функции. Характеристики — это то, что помогает нам определять определенные объекты, и обычно они представляют собой информацию о форме или цвете объекта. Например, некоторые черты, отличающие форму мотоциклетного колеса, фар, брызговиков и так далее. Результатом этого процесса является вектор признаков, представляющий собой список уникальных фигур, идентифицирующих объект.
  4. Наконец, эти функции включены в модель классификации! На этом этапе рассматривается вектор признаков из предыдущего шага и прогнозируется класс изображения. Представьте, что вы модель классификатора, и давайте пройдемся по процессу классификации: вы просматриваете список признаков в векторном признаке один за другим и пытаетесь угадать, что на изображении.
  5. Во-первых, вы видите особенность колеса – может ли это быть машина, мотоцикл или собака? Ясно, что это не собака, потому что у собак нет колес (по крайней мере, у обычных собак, а не у роботов!). Тогда это может быть изображение автомобиля или мотоцикла.
  6. Затем вы переходите к следующей функции «фары». Вероятность того, что это мотоцикл, выше, чем обычного автомобиля
  7. Следующая особенность — «задний брызговик». Опять же, есть большая вероятность, что это мотоцикл.
  8. У объекта всего два колеса, хм, это ближе к мотоциклу
  9. И вы продолжаете повторять все функции, такие как форма тела, педали и т. д., пока не создадите более точное представление об объекте на изображении.

Результатом этого процесса являются вероятности каждого класса. Как вы можете видеть в приведенном выше примере, собака имеет самую низкую вероятность 1%, тогда как вероятность того, что это мотоцикл, составляет 85%. Вы можете видеть, что, хотя модель смогла предсказать правильный класс с высокой вероятностью, она все же немного запуталась в различении автомобилей и мотоциклов, потому что она предсказала вероятность 14%, что это изображение автомобиля. Поскольку мы знаем, что это мотоцикл, мы можем сказать, что наш алгоритм классификации машинного обучения точен на 85%. Не так уж плохо! Чтобы повысить эту точность, нам может потребоваться выполнить больше шагов 1 (получить больше обучающих изображений), или шагов 2 (дополнительная обработка для удаления шума), или шагов 3 (извлечение лучших признаков), или шагов 4 (изменить алгоритм классификатора и настроить некоторые гиперпараметры). или даже больше времени обучения). Многие различные подходы могут улучшить производительность нашей модели. Все они лежат на одном или нескольких этапах конвейера. И это то, над чем мы будем работать в этой статье.

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

  1. Входное изображение
  2. Предварительная обработка изображения
  3. Извлечение признаков
  4. Классификация

Это все на данный момент. Ждите часть 2. Если вам интересно узнать больше об этой книге, ознакомьтесь с ней на liveBook здесь и посмотрите эту презентацию.

Об авторе:
Мохамед Эльгенди — руководитель отдела разработки Synapse Technology, ведущей компании, занимающейся искусственным интеллектом, которая создает проприетарные приложения компьютерного зрения для обнаружения угроз на контрольно-пропускных пунктах по всему миру. . Ранее Мохамед был техническим менеджером в Amazon, где он разработал и преподавал курс глубокого обучения для компьютерного зрения в Университете машинного обучения Amazon. Он также создал и управлял аналитическим центром Amazon по компьютерному зрению, среди многих других заслуживающих внимания достижений в области машинного обучения. Мохамед регулярно выступает на многих конференциях по искусственному интеллекту, таких как DevCon Amazon, конференция O’Reilly AI и Google I/O.

Первоначально опубликовано на https://freecontent.manning.com.