ИИ 101
Что такое компьютерное зрение?

Что такое компьютерное зрение?
Алгоритмы компьютерного зрения являются одними из наиболее трансформативных и мощных систем ИИ в мире, на данный момент. Системы компьютерного зрения используются в автономных транспортных средствах, навигации роботов, системах распознавания лиц и многое другое. Однако, что же такое алгоритмы компьютерного зрения именно? Как они работают? Чтобы ответить на эти вопросы, мы глубоко погрузимся в теорию, лежащую в основе компьютерного зрения, алгоритмов компьютерного зрения и применения систем компьютерного зрения.
Как работают системы компьютерного зрения?
Чтобы полностью понять, как работают системы компьютерного зрения, давайте сначала обсудим, как люди распознают объекты. Лучшее объяснение, которое имеет нейропсихология для того, как мы распознаем объекты, – это модель, которая описывает начальную фазу распознавания объектов как фазу, на которой базовые компоненты объектов, такие как форма, цвет и глубина, интерпретируются мозгом первыми. Сигналы от глаза, которые входят в мозг, анализируются для выделения краев объекта первыми, и эти края объединяются в более сложное представление, которое завершает форму объекта.
Системы компьютерного зрения работают очень похоже на человеческую систему зрения, сначала определяя края объекта, а затем объединяя эти края в форму объекта. Большая разница заключается в том, что поскольку компьютеры интерпретируют изображения как числа, система компьютерного зрения нуждается в некотором способе интерпретации отдельных пикселей, составляющих изображение. Система компьютерного зрения присваивает значения пикселям в изображении, и, анализируя разницу в значениях между одним регионом пикселей и другим регионом пикселей, компьютер может определить края. Например, если изображение вопроса является градацией серого, то значения будут варьироваться от черного (представленного 0) до белого (представленного 255). Внезапная смена диапазона значений пикселей рядом друг с другом будет указывать на край.
Этот базовый принцип сравнения значений пикселей также может быть применен к цветным изображениям, когда компьютер сравнивает различия между разными каналами RGB цвета. Теперь, когда мы знаем, как система компьютерного зрения анализирует значения пикселей для интерпретации изображения, давайте посмотрим на архитектуру системы компьютерного зрения.
Свёрточные нейронные сети (CNN)
Основным типом ИИ, используемым в задачах компьютерного зрения, является тот, который основан на свёрточных нейронных сетях. Что такое свёртка именно?
Свёртки – это математические процессы, которые сеть использует для определения разницы в значениях между пикселями. Если вы представите себе сетку значений пикселей, представьте себе меньшую сетку, перемещающуюся над этой основной сеткой. Значения под второй сеткой анализируются сетью, поэтому сеть анализирует только несколько пикселей одновременно. Это часто называется техникой “скользящего окна”. Значения, анализируемые скользящим окном, суммируются сетью, что помогает уменьшить сложность изображения и сделать его проще для сети, чтобы извлечь закономерности.
Свёрточные нейронные сети разделены на два разных раздела, свёрточный раздел и полностью связанный раздел. Свёрточные слои сети являются извлекателями функций, чья задача – проанализировать пиксели внутри изображения и сформировать представления их, которые плотно связанные слои нейронной сети могут научиться распознавать закономерности. Свёрточные слои начинают с того, что просто анализируют пиксели и извлекают низкоуровневые функции изображения, такие как края. Поздние свёрточные слои объединяют края в более сложные формы. В конце концов, сеть, надеюсь, получит представление о краях и деталях изображения, которое она может передать полностью связанным слоям.
Аннотация изображений
Хотя свёрточная нейронная сеть может извлечь закономерности из изображений самостоятельно, точность системы компьютерного зрения может быть значительно улучшена за счет аннотации изображений. Аннотация изображений – это процесс добавления метаданных к изображению, который помогает классификатору обнаруживать важные объекты в изображении. Использование аннотации изображений важно всякий раз, когда системы компьютерного зрения должны быть высокоточными, такими как при управлении автономным транспортным средством или роботом.
Существуют различные способы, которыми изображения могут быть проаннотированы для улучшения производительности классификатора компьютерного зрения. Аннотация изображений часто выполняется с помощью ограничивающих рамок, рамки, окружающей края целевого объекта, и сообщающей компьютеру сосредоточить свое внимание внутри рамки. Семантическая сегментация – это другой тип аннотации изображений, который работает путем присвоения класса изображения каждому пикселю в изображении. Другими словами, каждый пиксель, который может быть рассмотрен как “трава” или “деревья”, будет помечен как принадлежащий к этим классам. Техника обеспечивает точность пиксельного уровня, но создание аннотаций семантической сегментации более сложно и требует больше времени, чем создание простых ограничивающих рамок. Другие методы аннотации, такие как линии и точки, также существуют.












