Компьютерное зрение низкого, среднего и высокого уровня

Джозеф Редмон выпустил серию из 20 лекций по компьютерному зрению в сентябре (2018). Поскольку он является экспертом в этой области, я написал много заметок, читая его лекции. Я привожу в порядок свои заметки для использования в будущем, но также опубликую их на Medium, если они будут полезны другим.

Очень рекомендую посмотреть лекции на Youtube-канале Джозефа здесь.

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

Низкий уровень:

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

Изменение размера

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

Например, выборка ближайшего соседа выполняется быстро, но имеет тенденцию к пикселизации, тогда как масштабирование 2 × SaI намного более плавное, но, конечно, медленнее. Ниже приведено изображение, масштабированное с помощью масштабирования ближайшего соседа (слева) и масштабирования 2 × SaI (справа).

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

Оттенки серого

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

Этот процесс, конечно, низкоуровневый, поскольку он выполняется на уровне пикселей и очень часто используется в качестве основного шага в конвейере CV. Например, обнаружение краев происходит намного быстрее при применении к изображению в градациях серого - и обычно не менее точно.

Воздействие:

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

Насыщенность:

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

Оттенок:

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

Края:

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

Ориентированные градиенты:

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

Сегментация:

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

Использует:

Эти низкоуровневые методы компьютерного зрения используются в инструментах обработки фотографий (фильтры Photoshop или Instagram) и извлечения функций, которые, в свою очередь, могут использоваться для машинного обучения.

Средний уровень:

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

Панорамное сшивание:

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

Multi-view Stereo:

Это еще одна техника комбинирования изображений, для которой мы можем использовать наши знания о внешнем мире. Поскольку у нас два глаза, мы видим в 3D и воспринимаем глубину. Сравнивая два изображения, мы можем оценить, какие части изображения двигаются много, а какие меньше, чтобы оценить глубину.

Структурированное световое сканирование:

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

Поиск диапазона:

Как и при сканировании структурированного света, излучатели света можно использовать вместе с камерами для анализа окружающего мира. Разница здесь в том, что определение расстояния нацелено на определение расстояния между камерой и объектом, а не на построение 3D-модели.

Это особенно полезно, например, для использования в беспилотных автомобилях. Излучатели прикреплены к автомобилю, и камера может определять расстояния по времени, которое требуется свету, чтобы отражаться обратно в камеру. Используется лазерный свет, поэтому его обычно называют LaDAR и LiDAR (La ser D etection A nd R anging и Li ght D etection (A и R anging соответственно).

Оптический поток:

Подобно созданию мультиракурсных стереоизображений, различия между изображениями могут использоваться для оптического потока. Вместо использования двух изображений с немного разных позиций используются кадры в видео. Сравнивая, какие части изображения имеют наибольшие различия в кадрах видео, мы можем построить оптический поток. Это чрезвычайно полезно для отслеживания объектов (и, следовательно, маркировки изображений), когда объекты перемещаются между кадрами.

Промежуток времени:

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

Использует:

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

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

Высокий уровень:

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

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

Группирование изображений по категориям называется классификацией изображений. Конвейеру CV предоставляется изображение, которое затем распределяется по сегментам в зависимости от задачи. В случае детектора эмоций корзины будут представлять разные эмоции. Затем каждое изображение маркируется эмоцией, которую предсказывает конвейер, показанная на этом изображении. Другое связанное с этим использование - обнаружение объектов, как показано на изображении и обсуждается ниже.

Обнаружение объекта:

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

Определить, что человек находится перед беспилотным автомобилем через 3 секунды после того, как он встал перед вами, конечно, недостаточно. Джозеф Редмон хорошо известен в этой области, поскольку он разработал YOLO (You Only Look Once), чрезвычайно быстрый алгоритм обнаружения объектов, который вы можете проверить на видео ниже:

Семантическая сегментация:

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

Сегментация экземпляра:

Подобно семантической сегментации, сегментация экземпляра классифицирует пиксели. Разница между ними в том, что при сегментации экземпляров можно распознавать несколько экземпляров одного и того же объекта.

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

Не беспокойтесь о том, чтобы пропустить последние новости машинного обучения. Подпишитесь, и мы найдем это и поделимся с вами (и 14 000 другими) каждую неделю.

Использует:

Если вы будете в курсе последних технологий и исследований, вы увидите множество применений высокоуровневых методов компьютерного зрения. Выше мы рассмотрели автономные транспортные средства, но не упомянули роботов. Помощникам пожилых людей требуется зрение, чтобы обнаруживать падения, подбирать предметы или отвечать на сложные вопросы. Чтобы ответить на вопрос: Мне нужно постирать? требует классификации изображений (как минимум). Таким образом, будущие умные дома будут все больше полагаться на компьютерное зрение. Этот вопрос, конечно, содержит дополнительные проблемы, такие как семантическое значение того, что чисто. Но это может быть лучше для другой статьи.

Другое использование включает в себя игры. Deep Blue победил чемпиона по шахматам среди людей в 1996 году, и с тех пор компьютеры освоили такие игры, как Dota 2. Для победы в реальном времени требуется чрезвычайно быстрая обработка изображений.

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

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

Заключение:

Изменение размера экрана браузера, фильтры Instagram, сшивание панорам, создание 3D-моделей и обнаружение объектов в реальном времени для создания более безопасных автомобилей и домов - все мы используем компьютерное зрение каждый день. По мере того, как наши технологии становятся умнее, нам все больше необходимо улучшать эти конвейеры CV с помощью более сложных методов.

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

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

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

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

Если вы хотите внести свой вклад, отправляйтесь на наш призыв к участникам. Вы также можете подписаться на наши еженедельные информационные бюллетени (Deep Learning Weekly и Comet Newsletter), присоединиться к нам в » «Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов, событий и гораздо больше, что поможет вам быстрее создавать лучшие модели машинного обучения.