Компьютерное зрение и искусственный интеллект: трансформация визуального понимания
Опубликовано: 2025-01-15Компьютерное зрение — одна из фундаментальных подобластей искусственного интеллекта (ИИ). В этом руководстве объясняется компьютерное зрение, как оно работает, где применяется, а также его преимущества и недостатки.
Оглавление
- Что такое компьютерное зрение?
- История и эволюция компьютерного зрения
- Как работает компьютерное зрение
- Применение компьютерного зрения
- Преимущества компьютерного зрения
- Недостатки компьютерного зрения
- Заключение
Что такое компьютерное зрение?
Область компьютерного зрения охватывает все методы искусственного интеллекта, которые используют компьютерные системы для анализа визуальных данных, таких как данные в видео и фотографиях. Эта область официально существует с 1960-х годов, и первые приложения компьютерного зрения использовали сопоставление образов и другие эвристики для улучшения изображений в биомедицине, современной физике и других передовых областях исследований. Почти все современные системы компьютерного зрения в своей работе полагаются исключительно на алгоритмы машинного обучения (ML) (точнее, на алгоритмы глубокого обучения), поскольку они гораздо более эффективны, чем старые методы.
История и эволюция компьютерного зрения
Компьютерное зрение уходит своими корнями в эксперименты, проведенные нейрофизиологами, которые стремились понять, как изображения, создаваемые глазом, обрабатываются в мозгу. В течение первых нескольких десятилетий своего развития компьютерное зрение во многом основывалось на исследованиях в области зрения человека и животных и вдохновлялось ими.
Хотя трудно определить точный год начала, 1959 год часто считается началом этой области. В том же году были установлены две основные концепции анализа изображений: (1) анализ изображения должен сначала сосредоточиться на идентификации подкомпонентов изображения и (2) эти компоненты должны затем анализироваться иерархически.
В приведенном ниже списке показаны некоторые основные вехи между открытием этих основополагающих концепций и недавним взрывным развитием компьютерного зрения. Сегодня системы компьютерного зрения полагаются на сложные алгоритмы глубокого обучения для обработки, понимания, редактирования и создания реалистичных изображений в реальном времени.
Основные вехи развития компьютерного зрения
1959:Исследования мозга животных показали, что простые компоненты изображения (такие как края и линии) сначала обнаруживаются, а затем обрабатываются иерархически. Эти идеи стали двумя фундаментальными концепциями компьютерного зрения и признаны официальным началом этой области.
1960-е:начались первые официальные разработки в области искусственного интеллекта и компьютерного зрения. Достижения включали системы, которые автоматически преобразовывали части фотографий в эквивалентные трехмерные объекты.
1970-е годы:Акцент на исследованиях и образовании в области компьютерного зрения привел к появлению множества основных алгоритмов компьютерного зрения, которые используются до сих пор, в том числе для обнаружения образов, оценки движения, обнаружения краев, маркировки линий и геометрического моделирования компонентов изображения.
1980-е:Сверточные нейронные сети (CNN) получили значительное развитие на протяжении десятилетия. В 1989 году первая CNN была успешно применена для решения проблем со зрением, автоматически обнаруживая почтовые индексы на изображениях.
1990-е годы:«умные» камеры становились все более популярными и широко использовались в промышленности. Растущий спрос на инструменты для обработки больших объемов цифровых изображений привел к взрывному росту коммерческих инвестиций, что привело к дальнейшему развитию этой области. Зародилась индустрия компьютерного зрения и были разработаны формальные методы оценки качества систем компьютерного зрения.
2000:В конце 1990-х и начале 2000-х исследователи разработали концепцию слепоты к изменениям. Они продемонстрировали, что люди часто упускают существенные изменения при наблюдении визуальных данных. Это открытие помогло утвердить еще одну пару концепций — идеи внимания и частичной обработки — в качестве основных элементов компьютерного зрения.
2011:Впервые команда из Швейцарии продемонстрировала, что CNN, применяемые на графических процессорах, являются абсолютно эффективной системой машинного обучения компьютерного зрения. Эти системы были революционными, побив многочисленные рекорды по зрению и впервые превзойдя людей. Системы компьютерного зрения начали переходить на реализации на основе CNN.
2015:Реализация CNN с глубоким обучением впервые выиграла конкурс ImageNet, ознаменовав начало современной эры компьютерного зрения.
Как работает компьютерное зрение
Работа по компьютерному зрению обычно состоит из трех частей, которые мы опишем ниже. Детали реализации нижнего уровня могут быть очень сложными и часто включать повторяющиеся этапы, как описано в третьей части ниже. Даже если детали реализации сложны, работа обычно следует этим шаблонам.
1 Получение изображения
Как и другие системы ML, системы обработки визуальных данных зависят от количества и качества данных, к которым они могут получить доступ. При проектировании системы компьютерного зрения пристальное внимание уделяется тому, когда и как получаются исходные данные и изображения, чтобы улучшить качество обработки. Необходимо учитывать и оптимизировать различные факторы, в том числе:
- Датчики:количество и типы используемых датчиков. Системы компьютерного зрения используют датчики для получения данных из окружающей среды, включая видеокамеры, лидары (обнаружение света и определение дальности), радары и инфракрасные датчики.
- Развертывание:расположение и ориентация датчиков для минимизации слепых зон и оптимального использования информации датчиков.
- Данные датчиков.Различные типы и количества данных должны обрабатываться и интерпретироваться по-разному. Например, данные МРТ, рентгеновских снимков и видео имеют особые требования к обработке, хранению и интерпретации.
В идеале система компьютерного зрения должна иметь доступ к достаточному количеству данных изображения. Если данных слишком мало, он не сможет увидеть достаточно информации для решения проблем, для решения которых он предназначен. Слишком много ненужных данных приведет к максимальному использованию ресурсов системы, замедлению ее работы и увеличению затрат на ее эксплуатацию. Тщательная оптимизация этапа получения изображений имеет решающее значение для создания эффективных систем компьютерного зрения.
2 (предварительная) обработка изображений
Одни и те же визуальные данные из двух разных источников могут означать разные вещи. Подробности о контексте, в котором было снято изображение (например, окружающее освещение, температура и движение камеры), также могут указывать на то, что изображение следует интерпретировать по-разному.
Предварительная обработка изображений требует много работы, чтобы облегчить понимание и анализ изображений. Например, изображения могут быть нормализованы, то есть такие свойства, как размер, цвет, разрешение и ориентация, настраиваются так, чтобы они были одинаковыми для всех изображений. Другие свойства также можно настроить во время предварительной обработки, чтобы помочь алгоритмам машинного зрения обнаружить особенности предметной области. Например, можно усилить контраст, чтобы сделать некоторые объекты или особенности более заметными.
Могут быть внесены пользовательские настройки для компенсации различий в датчиках, повреждений датчиков и связанных с ними работ по техническому обслуживанию. Наконец, можно внести некоторые корректировки для оптимизации эффективности и стоимости обработки с учетом конкретных деталей того, как изображения будут анализироваться.
3 Обработка и анализ изображений: извлечение признаков, распознавание образов и классификация
Современные системы компьютерного зрения являются иерархическими, рассматривая части каждого изображения независимо. Каждый уровень иерархии обычно специализируется на выполнении одной из трех задач:
- Извлечение объектов:слой извлечения объектов находит интересные компоненты изображения. Например, он может определить, где на изображении можно найти прямые линии.
- Распознавание образов.Уровень распознавания образов смотрит на то, как различные функции объединяются в шаблоны. Например, он может определить, какие комбинации линий на изображении образуют многоугольники.
- Классификация:после достаточного количества повторений извлечения признаков и распознавания образов система могла бы узнать достаточно о данном изображении, чтобы ответить на вопрос классификации, например: «Есть ли на этом изображении автомобили?» Уровень классификации отвечает на такие вопросы.
На диаграмме ниже показано, как это реализовано в архитектуре системы компьютерного зрения, построенной с использованием CNN. Входные данные (обычно изображение или видео), которые анализирует система, находятся в крайнем левом углу диаграммы. CNN, реализованная как глубокая нейронная сеть, чередует сверточные слои, которые превосходны в извлечении признаков, со слоями пула, которые превосходны в распознавании образов. Детали изображения обрабатываются слева направо, и повторений двух слоев может быть гораздо больше, чем показано ниже.
После завершения достаточно глубокого анализа полностью связанный слой нейронов рассматривает все шаблоны и признаки данных в совокупности и решает задачу классификации (например, «Есть ли на фотографии машина?»).
Применение компьютерного зрения
Компьютерное зрение применимо повсеместно. Поскольку системы стали более мощными и простыми в применении, количество приложений резко возросло. Вот некоторые из наиболее известных приложений.
Распознавание лиц
Одно из наиболее распространенных и продвинутых приложений компьютерного зрения включает в себя обнаружение и распознавание лиц. Смартфоны, системы безопасности и устройства контроля доступа используют комбинацию датчиков, камер и обученных нейронных сетей, чтобы определять, когда изображения содержат лица, и преобразовывать любые найденные лица для их анализа.
Система распознавания лиц регулярно сканирует лица поблизости. Данные от дешевых и быстрых датчиков, таких как источник инфракрасного света и камера с низким разрешением, но с высокой контрастностью, передаются через модель машинного обучения, которая определяет наличие лиц.
Если будут обнаружены какие-либо потенциальные лица, на них можно направить более медленную, более дорогую камеру с более высоким разрешением, а затем сделать короткую запись. Затем система визуальной обработки может превратить запись в 3D-реконструкцию, чтобы подтвердить присутствие лица. Классификатор лиц затем может решить, являются ли люди на изображении частью группы, которой разрешено разблокировать телефон или получить доступ к зданию.
Автономные транспортные средства
Трудно создать систему, которая сможет управлять транспортным средством, ориентироваться в мире и реагировать в режиме реального времени на изменения в окружающей среде. Системы компьютерного зрения — это лишь одна из основных технологий, позволяющих использовать автономные транспортные средства.
Эти системы машинного зрения учатся распознавать дороги, дорожные знаки, транспортные средства, препятствия, пешеходов и большинство других объектов, с которыми они могут столкнуться во время вождения. Прежде чем они смогут стать эффективными, они должны проанализировать большие объемы данных, полученных при любых условиях вождения.
Чтобы быть полезными в реальных условиях, системы компьютерного зрения, используемые для автономных транспортных средств, должны быть очень быстрыми (чтобы у автономного транспортного средства было максимальное время для реагирования на изменяющиеся условия), точными (поскольку ошибка может поставить под угрозу жизнь) и мощными (поскольку проблема сложна — система должна идентифицировать объекты при любой погоде и освещенности). Компании, производящие автономные автомобили, вкладывают значительные средства в экосистему. Доступные объемы данных растут в геометрической прогрессии, а методы их обработки быстро совершенствуются.
Дополненная реальность
Умные очки и современные камеры телефонов полагаются на системы компьютерного зрения, чтобы предоставить своим пользователям возможности дополненной реальности. Хорошо обученные системы, подобные тем, которые используются для управления автономными транспортными средствами, идентифицируют объекты в кадре камеры или набора умных очков, а также положение объектов относительно друг друга в трехмерном пространстве.
Усовершенствованные системы генерации изображений затем подключаются к этой информации, чтобы различными способами дополнить то, что камера или очки показывают пользователю. Например, они могут создать иллюзию того, что данные проецируются на поверхности, или показать, как такие объекты, как мебель, могут вписаться в трехмерное пространство.
Преимущества компьютерного зрения
Системы компьютерного зрения могут помочь улучшить человеческое зрение, улучшить системы безопасности и анализировать данные в больших масштабах. К основным преимуществам их использования относятся следующие:
Скорость и масштаб распознавания объектов
Передовые системы компьютерного зрения могут идентифицировать объекты гораздо быстрее и в гораздо большем объеме, чем люди. Например, сборочная линия будет двигаться быстрее, если ее руководителю будет помогать автоматизированная система компьютерного зрения. Беспилотные автомобили могут работать в режиме помощи водителю, помогая водителям узнавать информацию из своего окружения, которую они не смогут быстро обнаружить. Они также могут полностью взять на себя управление и принимать решения быстрее и безопаснее, чем человек без посторонней помощи.
Точность
Хорошо обученные системы компьютерного зрения более точны, чем люди, при решении задач, которым они обучены. Например, они могут более точно выявлять дефекты объектов или раньше обнаруживать раковые новообразования на медицинских изображениях.
Большой объем обработки данных
Системы технического зрения могут выявлять аномалии и угрозы в больших объемах изображений и видеопотоков гораздо быстрее и точнее, чем люди. Их способность обрабатывать информацию коррелирует с доступной вычислительной мощностью и может масштабироваться бесконечно.
Недостатки компьютерного зрения
Высокопроизводительные системы компьютерного зрения создать сложно. Некоторые из проблем и недостатков включают следующее:
Переобучение
Современные системы компьютерного зрения построены на алгоритмах и сетях глубокого обучения. Они зависят от доступа к большим массивам аннотированных данных во время обучения. В настоящее время данные для визуального обучения недоступны в больших объемах, которые можно увидеть в других приложениях, а их создание является сложной и дорогостоящей задачей. В результате многие системы компьютерного зрения обучаются на недостаточном количестве данных и будут переобучаться — им потребуется помощь в обобщении новых и невидимых ситуаций.
Конфиденциальность сложно гарантировать в больших масштабах
Системы компьютерного зрения могут наблюдать и учиться на больших объемах частных или защищенных данных. Оказавшись в полевых условиях, они также могут наблюдать произвольные данные в своей среде. Трудно гарантировать, что данные обучения не содержат частной информации, и еще труднее не допустить, чтобы система на местах включала частную информацию в свое обучение.
Вычислительно сложный
Системы, использующие компьютерное зрение, как правило, применяются для решения некоторых из наиболее сложных задач в области искусственного интеллекта. Как следствие, они дороги и сложны, и их может быть сложно правильно построить и собрать.
Заключение
Многие из наиболее интересных и сложных проблем в области машинного обучения и искусственного интеллекта связаны с использованием и применением систем компьютерного зрения. Они полезны повсеместно, в том числе в системах безопасности, беспилотных транспортных средствах, анализе медицинских изображений и т. д. Тем не менее, системы компьютерного зрения дороги и сложны в создании.
Они зависят от трудоемкого сбора данных в больших масштабах, требуют специальных или дорогостоящих ресурсов, прежде чем их можно будет эффективно использовать, и вызывают проблемы конфиденциальности. В этой ключевой области ML проводятся обширные исследования, которые быстро развиваются.