Введение

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

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

История

В конце 1960-х годов компьютерное зрение зародилось в университетах, занимавшихся пионерскими исследованиями в области искусственного интеллекта. Его целью было воспроизвести работу человеческой зрительной системы как шаг к наделению роботов интеллектом, путем подключения камеры к компьютеру и получения от него "описания увиденного". К 1990-м годам некоторые из ранее исследуемых направлений стали более актуальными, чем другие. Исследования в области проективной 3D-реконструкции привели к углубленному пониманию калибровки камер. С появлением методов оптимизации калибровки стало ясно, что многие идеи уже были изучены в теории увязки пакета лучей из области фотограмметрии. Это привело к разработке методов разреженной 3D-реконструкции сцен по нескольким изображениям. Был достигнут прогресс в решении задачи плотной стереокорреспонденции и разработаны более совершенные методы многовидового стереозрения. Одновременно вариации алгоритма разрыва графа использовались для решения задачи сегментации изображений. В этом десятилетии также впервые на практике стали применяться методы статистического обучения для распознавания лиц на изображениях (см. Eigenface). К концу 1990-х годов произошли значительные изменения благодаря усилению взаимодействия между компьютерной графикой и компьютерным зрением. Это включало в себя рендеринг на основе изображений, морфинг изображений, интерполяцию видов, панорамное сшивание изображений и ранние методы рендеринга светового поля. Развитие методов глубокого обучения дало новый импульс развитию компьютерного зрения. Точность алгоритмов глубокого обучения на нескольких стандартных наборах данных компьютерного зрения для задач, таких как классификация, сегментация и оптический поток, превзошла показатели предыдущих методов.

Физика твердого тела

Физика твердого тела – еще одна область, тесно связанная с компьютерным зрением. Большинство систем компьютерного зрения полагаются на датчики изображения, которые обнаруживают электромагнитное излучение, обычно в форме видимого, инфракрасного или ультрафиолетового света. Датчики разрабатываются с использованием принципов квантовой физики. Процесс взаимодействия света с поверхностями объясняется физикой. Физика объясняет поведение оптики, являющейся ключевым компонентом большинства систем визуализации. Для полного понимания процесса формирования изображения даже в современных датчиках изображения требуется квантовая механика. Сеть правильно определяет морскую звезду. Однако слабая ассоциация между кольцевой текстурой и морским ежом также передает слабый сигнал последнему от одного из двух промежуточных узлов. Кроме того, раковина, не включенная в обучающую выборку, генерирует слабый сигнал для овальной формы, что также приводит к слабому сигналу для выходного сигнала, соответствующего морскому ежу. Эти слабые сигналы могут привести к ложноположительному результату для морского ежа. В реальности текстуры и контуры не будут представлены отдельными узлами, а скорее связанными весовыми паттернами множества узлов. Нейробиология оказала значительное влияние на разработку алгоритмов компьютерного зрения. На протяжении последнего столетия проводились обширные исследования глаз, нейронов и структур мозга, отвечающих за обработку зрительных стимулов у людей и различных животных. Это привело к приблизительному, но сложному описанию работы естественных систем зрения при решении определенных задач, связанных со зрением. Эти результаты привели к появлению подраздела в компьютерном зрении, где искусственные системы разрабатываются для имитации обработки и поведения биологических систем на различных уровнях сложности. Кроме того, некоторые методы обучения, разработанные в рамках компьютерного зрения (например, анализ и классификация изображений и признаков на основе нейронных сетей и глубокого обучения), имеют корни в нейробиологии. Неокогнитрон, нейронная сеть, разработанная Куньихико Фукусимой в 1970-х годах, является ранним примером компьютерного зрения, непосредственно вдохновленного нейробиологией, в частности, первичной зрительной корой. Некоторые направления исследований в компьютерном зрении тесно связаны с изучением биологического зрения – подобно тому, как многие направления исследований в области ИИ тесно связаны с исследованиями человеческого интеллекта и использованием накопленных знаний для интерпретации, интеграции и использования визуальной информации. Область биологического зрения изучает и моделирует физиологические процессы, лежащие в основе зрительного восприятия у людей и других животных. Компьютерное зрение, напротив, разрабатывает и описывает алгоритмы, реализованные в программном и аппаратном обеспечении, которые обеспечивают работу систем искусственного зрения. Междисциплинарный обмен между биологическим и компьютерным зрением оказался плодотворным для обеих областей. Для навигации в этих средах требуется детальное понимание их особенностей. Информация об окружающей среде может быть предоставлена системой компьютерного зрения, выступающей в роли визуального сенсора и предоставляющей высокоуровневую информацию об окружающей среде и роботе.

Другие области

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

Приложения

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

Синтеза 3D-форм посредством моделирования многовидовых карт глубины и силуэтов с использованием глубоких генеративных сетей. Обучение 3D-формам долгое время было сложной задачей в компьютерном зрении. Недавние достижения в области глубокого обучения позволили исследователям создавать модели, способные генерировать и реконструировать 3D-формы из одно- или многовидовых карт глубины или силуэтов плавно и эффективно. Управления процессами, например, промышленным роботом; обнаружения событий, например, для визуального наблюдения или подсчета людей, например, в ресторанном бизнесе; взаимодействия, например, в качестве входных данных для устройства для взаимодействия человека и компьютера; моделирования объектов или окружающей среды, например, анализа медицинских изображений или топографического моделирования; навигации, например, автономным транспортным средством или мобильным роботом; организации информации, например, для индексации баз данных изображений и последовательностей изображений. Отслеживания поверхностей или плоскостей в 3D-координатах для обеспечения возможностей дополненной реальности.

Типичные задачи

Каждая из описанных выше областей применения использует ряд задач компьютерного зрения – более или менее четко определенных задач измерения или обработки, которые могут быть решены различными методами. Ниже приведены некоторые примеры типичных задач компьютерного зрения. Задачи компьютерного зрения включают методы получения, обработки, анализа и понимания цифровых изображений, а также извлечение многомерных данных из реального мира для получения численной или символической информации, например, в форме решений. Распознавание объектов (также известное как классификация объектов) позволяет распознать один или несколько заранее заданных или изученных объектов или классов объектов, как правило, вместе с их 2D-позициями на изображении или 3D-положениями в сцене. Blippar, Google Goggles и LikeThat предоставляют отдельные программы, демонстрирующие эту функциональность. Идентификация – распознается отдельный экземпляр объекта. Примеры включают идентификацию лица или отпечатка пальца конкретного человека, идентификацию рукописных цифр или идентификацию конкретного транспортного средства. Обнаружение – данные изображения сканируются на предмет определенных объектов и их местоположения. Примеры включают обнаружение препятствия в поле зрения автомобиля, возможных аномальных клеток или тканей на медицинских изображениях или обнаружение транспортного средства в автоматической системе взимания платы за проезд. Обнаружение, основанное на относительно простых и быстрых вычислениях, иногда используется для поиска небольших областей интересных данных изображения, которые затем могут быть проанализированы более сложными вычислительными методами для получения корректной интерпретации. В настоящее время лучшие алгоритмы для таких задач основаны на сверточных нейронных сетях. Крупномасштабный конкурс ImageNet по визуальному распознаванию служит иллюстрацией их возможностей; это эталон в классификации и обнаружении объектов, в котором используются миллионы изображений и 1000 классов объектов. Производительность сверточных нейронных сетей в тестах ImageNet приближается к человеческой. Распознавание эмоций – подраздел распознавания лиц, относящийся к процессу классификации человеческих эмоций. Однако психологи предостерегают, что внутренние эмоции нельзя надежно определить по выражению лица. Технология распознавания формы (SRT) в системах подсчета людей позволяет различать людей (по контурам головы и плеч) и объекты. Распознавание человеческой деятельности связано с определением действий по последовательности видеокадров, например, поднимает ли человек предмет или идет.

Анализ движения

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

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