Что такое компьютерное зрение? Компьютерное зрение это


Что такое компьютерное зрение? | Rusbase

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

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

Но никто не говорил, что будет легко. Кроме, пожалуй, первопроходца в области ИИ Марвина Минского. В 1966 году он велел одному из выпускников «подключить камеру к компьютеру и сделать так, чтобы тот мог описать, что видит». Прошло уже 50 лет, а мы все еще над этим работаем...

Серьезные исследования в этой области начались в 50-х годах. Было выделено три главные задачи: скопировать принципы работы человеческого глаза (сложно), скопировать устройство зрительной коры головного мозга (очень сложно), сымитировать работу остальных частей мозга (пожалуй, самая сложная проблема).

Видеть

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

vision

Датчик изображения, который есть в любой цифровой камере. Фото: GettyImages

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

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

Описывать

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

Если в нем есть какая-то контрастная линия под определенным углом или быстрое движение в каком-то направлении, нейроны начинают двигаться. Сети более высокого уровня преобразуют распознанные образцы в метаобразцы: например, «круглый объект», «движение вверх». К работе подключается следующая сеть: «круг белый с красными линиями». «Объект увеличивается в размерах». Их этих простых, но дополняющих друг друга описаний складывается вся картина.

vision

«Гистограмма направленных градиентов» находит грани и прочие параметры, работая по такому же принципу, как и области мозга, отвечающие за зрение.

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

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

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

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

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

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

vision

Фото:  E-lab

Глядя на снимок, сторонники метода построения связей «снизу вверх» сказали бы: «Мы ведь вам говорили!».

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

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

Понимать

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

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

vision

Фото: Getty Images

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

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

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

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

Источник.

Материалы по теме:

Ученым удалось обойти одно из главных ограничений нейросетей

Что произойдет с чат-ботами и искусственным интеллектом в ближайшие два года?

Нейронные сети научились распознавать размытые лица на фотографиях

10 самых важных сценариев использования ИИ и машинного обучения

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

rb.ru

Как это работает? | Компьютерное зрение

Как самостоятельная дисциплина компьютерное зрение зародилось в начале 50-х годов прошлого века. В 1951 году Джон фон Нейман предложил анализировать микроснимки при помощи компьютеров путём сравнения яркости соседних частей изображения. В 60-е годы начались исследования в области распознавания машинного и рукописного текста. Тогда же были сделаны первые попытки моделирования нейронной сети. Первым устройством, способным распознавать буквы, стала разработка Фрэнка Розенблатта — персептроном. А в 70-х годах ученые стали изучать зрительную систему человека с целью её формализации и реализации в виде алгоритмов. Такой подход был призван позволить распознавать объекты на изображениях. Как же работает современное компьютерное зрение – об этом в сегодняшнем выпуске.

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

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

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

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

hi-news.ru

Современное компьютерное зрение. Задачи и технологии компьютерного зрения. Программирование компьютерного зрения на Python

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

компьютерное зрение

Что такое компьютерное зрение? Это способность компьютера «видеть»

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

Задача компьютерного зрения может быть сформулирована достаточно нечетко. Что такое «видеть»? Это понимать, что где расположено, просто глядя. В этом и заключены различия компьютерного зрения и зрения человека. Зрение для нас - это источник знаний о мире, а также источник метрической информации – то есть способность понимать расстояния и размеры.

Семантическое ядро изображения

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

компьютерное зрение python

Например, глядя на эту фотографию, мы можем сказать, что это вне помещения. Что это город, уличное движение. Что здесь есть автомобили. По конфигурации здания и по иероглифам мы можем догадаться, что это Юго-Восточная Азия. По портрету Мао Цзэдуна понимаем, что это Пекин, а если кто видел видеотрансляции или сам там побывал, сможет догадаться, что это знаменитая площадь Тяньаньмэнь.

Что мы можем ещё сказать о картинке, рассматривая её? Можем выделить объекты на изображении, сказать, вот там люди, здесь ближе - ограда. Вот зонтики, вот здание, вот плакаты. Это примеры классов очень важных объектов, поиском которых занимаются на данный момент.

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

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

Значение расстояний и длин в компьютерном зрении

Очень важной является метрическая информация в науке про компьютерное зрение. Это всевозможные расстояния. Например, для марсохода это особенно важно, потому что команды с Земли идут порядка 20 минут и ответ столько же. Соответственно, связь туда-обратно - 40 минут. И если мы будем составлять план движения по командам Земли, то нужно это учитывать.

 компьютерное зрение pdf

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

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

Анализ, распознавание образов – путь к созданию высшего разума

Разберем эти понятия отдельно.

методы компьютерного зрения

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

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

Распознавание образов – это абстрактная математическая дисциплина, которая распознаёт данные в виде векторов. То есть на входе - вектор и нам что-то с ним нужно делать. Откуда этот вектор, нам не так уж принципиально знать.

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

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

Роботы могут «видеть»

И последнее - это машинное зрение. Под машинным зрением подразумевается зрение роботов. То есть решение некоторых производственных задач. Можно сказать, что компьютерное зрение – это одна большая наука. Она объединяет в себе некоторые другие науки частично. А когда компьютерное зрение получает какое-то конкретное приложение, то оно превращается в машинное зрение.

задачи для систем компьютерного зрения

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

На пороге в мир искусственного интеллекта

Плюс области – это сложно! Существенная часть мозга отвечает за зрение и считается, что если научить компьютер «видеть», то есть в полной мере применить компьютерное зрение, то это одна из полных задач искусственного интеллекта. Если мы сможем решить проблему на уровне человека, скорее всего, одновременно мы решим задачу ИИ. Что очень хорошо! Или не очень хорошо, если смотреть «Терминатор 2».

Почему зрение — это сложно? Потому что изображение одних и тех же объектов может сильно разниться в зависимости от внешних факторов. В зависимости от точек наблюдения объекты выглядят по-разному.

К примеру, одна и та же фигура, снятая с разных ракурсов. И что самое интересное, у фигуры может быть один глаз, два глаза или полтора. А в зависимости от контекста (если это фото человека в футболке с нарисованными глазами), то глаз может быть и больше двух.

Компьютер ещё не понимает, но уже «видит»

Ещё один фактор, создающий сложности - это освещение. Одна и та же сцена с разным освещением будет выглядеть по-разному. Размер объектов может варьироваться. Причем объектов любых классов. Ну как можно сказать о человеке, что его рост 2 метра? Никак. Рост человека может составлять и 2.3 м, и 80 см. Как и объектов других типов, тем не менее это объекты одного и того же класса.

примеры компьютерного зрения

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

программа компьютерное зрение

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

Ещё одна проблема – это движение. Объекты в движении претерпевают невообразимые деформации.

Многие объекты очень изменчивы. Вот, к примеру, на двух фото ниже объекты типа "кресло".

программирование компьютерного зрения на python

И на этом можно сидеть. Но научить машину, что такие разные вещи по форме, цвету, материалу все являются объектом "кресло" - очень сложно. В этом и состоит задача. Интегрировать методы компьютерного зрения – это научить машину понимать, анализировать, предполагать.

 различия компьютерного зрения и зрения человека

Интеграция компьютерного зрения в различные платформы

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

Сейчас у компьютерного зрения есть достаточно новое практическое применение - распознавание человека по лицу.

компьютерные поля зрения

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

Требования к паспортным фотографиям во многом обусловлены особенностью алгоритмов распознавания по лицу.

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

Нерешенная задача компьютерного зрения – это способность распознавать произвольный текст

Возможно, кто-то пользовался системой распознавания текста. Одна из таких - это Fine Reader, очень популярная в Рунете система. Есть много форм, где нужно заполнять данные, они прекрасно сканируются, информация распознаётся системой очень хорошо. А вот с произвольным текстом на изображении дело обстоит гораздо хуже. Эта задача пока остаётся нерешенной.

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

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

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

Вот так миллион изображений и неделя счётного времени суперкомпьютера позволили создать алгоритм, который потребляет 12% мощности одного процессора и позволяет воспринимать позу человека в реальном времени. Это система Microsoft Kinect (2010 год).

компьютерная программа для зрения

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

Примеры компьютерного зрения: трёхмерные и двухмерные карты сейчас делаются с его помощью. Карты для навигаторов автомобилей регулярно обновляются по данным с видеорегистраторов.

Существует база с миллиардами фотографий с геометками. Загружая снимок в эту базу, можно определить, где он был сделан и даже с какого ракурса. Естественно, при условии, что место достаточно популярное, что в своё время там побывали туристы и сделали ряд фотографий местности.

Роботы повсюду

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

Современный фотоаппарат — это аналог камеры-обскура

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

компьютерное зрение

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

Ниже вы видите первое цифровое изображение в мире.

компьютерное зрение

Но что на этом изображении отсутствует? Цвет. А что такое цвет?

Психологическое восприятие цвета

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

технологии компьютерного зрения

Программирование компьютерного зрения на Python с помощью библиотек

Если вы решили всерьёз заняться изучением компьютерного зрения, стоит сразу приготовиться к ряду трудностей, наука эта не самая лёгкая и прячет в себе ряд подводных камней. Но "Программирование компьютерного зрения на Python" в авторстве Яна Эрика Солема - это книга, в которой все излагается максимально простым языком. Здесь вы познакомитесь с методами распознавания различных объектов в 3D, научитесь работать со стереоизображениями, виртуальной реальностью и многими другими приложениями компьютерного зрения. В книге достаточно примеров на языке Python. Но пояснения представлены, так сказать, обобщённо, дабы не перегрузить слишком научной и тяжелой информацией. Труд подойдёт студентам, просто любителям и энтузиастам. Скачать эту книгу и другие про компьютерное зрение (pdf-формата) можно в сети.

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

Компания "Майкрософт" предоставляет свои Api-сервисы, способные обучить нейросети для работы именно с изображениями лиц. Есть возможность применять также компьютерное зрение, Python использующее в качестве языка программирования.

fb.ru

Компьютерное зрение / Наука / Лента.co

   Читать оригинал публикации на postnauka.ru   

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

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

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

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

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

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

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

В середине 2000-х алгоритмы высокоуровневого зрения работали плохо. Компьютер не мог отличить фотографию кошки от фотографии собаки, то есть самые лучшие алгоритмы работали почти как подбрасывание монетки. Десять лет спустя студент, прошедший курс компьютерного зрения и глубинного обучения, сможет за несколько дней создать систему, натренировать ее, и эта система будет отличать снимок кошки от снимка собаки с точностью до 99%. Это происходит за счет того, что теперь у нас есть программы, называемые сверточными нейронными сетями, которым можно подать на вход изображение, и эта программа с очень хорошей точностью скажет, изображение это кошки или изображение собаки и даже, если нужно, какая порода кошки или собаки на этом изображении.

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

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

Все это очень заметно. Скажем, в середине 2000-х годов на главную конференцию по компьютерному зрению приезжало меньше тысячи человек, все они были из университетов. А в 2016 году на конференции было три с половиной тысячи исследователей, и по ощущениям большая часть из них была из компаний, причем самого разного размера — от стартапов до главных софтверных корпораций.

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

Во-вторых, это системы, связанные с интернетом и с так называемыми Big Data. И тут мы уже видим, что главные игроки в области компьютерного зрения — это большие корпорации, такие как Google и Facebook, которым нужно обрабатывать, понимать, распознавать, индексировать огромное количество изображений, скажем миллиард или даже десятки миллиардов ежедневно. В-третьих, это медики, ученые — тут тоже все понятно. Изображений у них все больше и больше, и человеческих глаз, человеческого времени на них не хватает. В-четвертых, это индустрия развлечений: компьютерные игры, виртуальная реальность, расширенная реальность — тут все тоже будет очень интересно, много всего будет связано с компьютерным зрением. И в-пятых, конечно, системы видеонаблюдения, биометрии, распознавания лиц и так далее — все, что связано с Большим Братом. Но тут я хочу подчеркнуть, что приложения, связанные с Большим Братом, — это только небольшая часть приложения компьютерного зрения.

lenta.co

Компьютерное зрение — WiKi

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

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

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

  1. Системы управления процессами (промышленные роботы, автономные транспортные средства).
  2. Системы видеонаблюдения.
  3. Системы организации информации (например, для индексации баз данных изображений).
  4. Системы моделирования объектов или окружающей среды (анализ медицинских изображений, топографическое моделирование).
  5. Системы взаимодействия (например, устройства ввода для системы человеко-машинного взаимодействия).
  6. Системы дополненной реальности.
  7. Вычислительная фотография, например для мобильных устройств с камерами.

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

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

Современное положение

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

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

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

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

Связанные области

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

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

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

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

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

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

Примеры применения компьютерного зрения

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

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

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

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

Другие области применения включают:

  • Поддержку создания видеоэффектов для кино и телевидения
  • Наблюдение

Типичные задачи компьютерного зрения

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

Распознавание

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

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

В литературе описано различное множество проблем распознавания:

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

Существует несколько специализированных задач, основанных на распознавании, например:

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

Движение

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

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

Восстановление сцены

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

Восстановление изображений

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

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

Системы компьютерного зрения

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

  • Получение изображений: цифровые изображения получаются от одного или нескольких датчиков изображения, которые помимо различных типов светочувствительных камер включают датчики расстояния, радары, ультразвуковые камеры и т. д. В зависимости от типа датчика, получающиеся данные могут быть обычным 2D изображением, 3D изображением или последовательностью изображений. Значения пикселей обычно соответствуют интенсивности света в одной или нескольких спектральных полосах (цветные или изображения в оттенках серого), но могут быть связаны с различными физическими измерениями, такими как глубина, поглощение или отражение звуковых или электромагнитных волн, или ядерным магнитным резонансом.
  • Предварительная обработка: перед тем, как методы компьютерного зрения могут быть применены к видеоданным с тем, чтобы извлечь определённую долю информации, необходимо обработать видеоданные, с тем чтобы они удовлетворяли некоторым условиям, в зависимости от используемого метода. Примерами являются:
    • Повторная выборка с тем, чтобы убедиться, что координатная система изображения верна
    • Удаление шума с тем, чтобы удалить искажения, вносимые датчиком
    • Улучшение контрастности, для того, чтобы нужная информация могла быть обнаружена
    • Масштабирование для лучшего различения структур на изображении
  • Выделение деталей: детали изображения различного уровня сложности выделяются из видеоданных. Типичными примерами таких деталей являются:
    • Линии, границы и кромки
    • Локализованные точки интереса, такие как углы, капли или точки: более сложные детали могут относиться к структуре, форме или движению.
  • Детектирование/Сегментация: на определённом этапе обработки принимается решение о том, какие точки или участки изображения являются важными для дальнейшей обработки. Примерами являются:
    • Выделение определённого набора интересующих точек
    • Сегментация одного или нескольких участков изображения, которые содержат характерный объект
  • Высокоуровневая обработка: на этом шаге входные данные обычно представляют небольшой набор данных, например набор точек или участок изображения, в котором предположительно находится определённый объект. Примерами являются:
    • Проверка того, что данные удовлетворяют условиям, зависящим от метода и применения
    • Оценка характерных параметров, таких как положение или размер объекта
    • Классификация обнаруженного объекта по различным категориям

Программное обеспечение

  1. OpenCV Библиотека алгоритмов компьютерного зрения с открытым исходным кодом.
  2. PCL Открытая библиотека для работы с трехмерными облаками точек.

См. также

Литература

  • Л. Шапиро, Дж. Стокман. Компьютерное зрение = Computer Vision. — М.: Бином. Лаборатория знаний, 2006. — 752 с. — ISBN 5-94774-384-1.
  • Дэвид Форсайт, Жан Понс. Компьютерное зрение. Современный подход = Computer Vision: A Modern Approach. — М.: «Вильямс», 2004. — 928 с. — ISBN 5-8459-0542-7.
  • А.А. Лукьяница ,А.Г. Шишкин. Цифровая обработка видеоизображений. — М.: «Ай-Эс-Эс Пресс», 2009. — 518 с. — ISBN 978-5-9901899-1-1.
  • Желтов С.Ю. и др. Обработка и анализ изображений в задачах машинного зрения. — М.: Физматкнига, 2010. — 672 с. — ISBN 978-5-89155-201-2.

ru-wiki.org

Компьютерное зрение Википедия

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

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

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

  1. Системы управления процессами (промышленные роботы, автономные транспортные средства).
  2. Системы видеонаблюдения.
  3. Системы организации информации (например, для индексации баз данных изображений).
  4. Системы моделирования объектов или окружающей среды (анализ медицинских изображений, топографическое моделирование).
  5. Системы взаимодействия (например, устройства ввода для системы человеко-машинного взаимодействия).
  6. Системы дополненной реальности.
  7. Вычислительная фотография, например для мобильных устройств с камерами.

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

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

Современное положение

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

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

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

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

Связанные области

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

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

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

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

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

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

Примеры применения компьютерного зрения

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

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

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

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

Другие области применения включают:

  • Поддержку создания видеоэффектов для кино и телевидения
  • Наблюдение

Типичные задачи компьютерного зрения

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

Распознавание

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

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

В литературе описано различное множество проблем распознавания:

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

Существует несколько специализированных задач, основанных на распознавании, например:

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

Движение

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

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

Восстановление сцены

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

Восстановление изображений

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

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

Системы компьютерного зрения

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

  • Получение изображений: цифровые изображения получаются от одного или нескольких датчиков изображения, которые помимо различных типов светочувствительных камер включают датчики расстояния, радары, ультразвуковые камеры и т. д. В зависимости от типа датчика, получающиеся данные могут быть обычным 2D изображением, 3D изображением или последовательностью изображений. Значения пикселей обычно соответствуют интенсивности света в одной или нескольких спектральных полосах (цветные или изображения в оттенках серого), но могут быть связаны с различными физическими измерениями, такими как глубина, поглощение или отражение звуковых или электромагнитных волн, или ядерным магнитным резонансом.
  • Предварительная обработка: перед тем, как методы компьютерного зрения могут быть применены к видеоданным с тем, чтобы извлечь определённую долю информации, необходимо обработать видеоданные, с тем чтобы они удовлетворяли некоторым условиям, в зависимости от используемого метода. Примерами являются:
    • Повторная выборка с тем, чтобы убедиться, что координатная система изображения верна
    • Удаление шума с тем, чтобы удалить искажения, вносимые датчиком
    • Улучшение контрастности, для того, чтобы нужная информация могла быть обнаружена
    • Масштабирование для лучшего различения структур на изображении
  • Выделение деталей: детали изображения различного уровня сложности выделяются из видеоданных. Типичными примерами таких деталей являются:
    • Линии, границы и кромки
    • Локализованные точки интереса, такие как углы, капли или точки: более сложные детали могут относиться к структуре, форме или движению.
  • Детектирование/Сегментация: на определённом этапе обработки принимается решение о том, какие точки или участки изображения являются важными для дальнейшей обработки. Примерами являются:
    • Выделение определённого набора интересующих точек
    • Сегментация одного или нескольких участков изображения, которые содержат характерный объект
  • Высокоуровневая обработка: на этом шаге входные данные обычно представляют небольшой набор данных, например набор точек или участок изображения, в котором предположительно находится определённый объект. Примерами являются:
    • Проверка того, что данные удовлетворяют условиям, зависящим от метода и применения
    • Оценка характерных параметров, таких как положение или размер объекта
    • Классификация обнаруженного объекта по различным категориям

Программное обеспечение

  1. OpenCV Библиотека алгоритмов компьютерного зрения с открытым исходным кодом.
  2. PCL Открытая библиотека для работы с трехмерными облаками точек.

См. также

Литература

  • Л. Шапиро, Дж. Стокман. Компьютерное зрение = Computer Vision. — М.: Бином. Лаборатория знаний, 2006. — 752 с. — ISBN 5-94774-384-1.
  • Дэвид Форсайт, Жан Понс. Компьютерное зрение. Современный подход = Computer Vision: A Modern Approach. — М.: «Вильямс», 2004. — 928 с. — ISBN 5-8459-0542-7.
  • А.А. Лукьяница ,А.Г. Шишкин. Цифровая обработка видеоизображений. — М.: «Ай-Эс-Эс Пресс», 2009. — 518 с. — ISBN 978-5-9901899-1-1.
  • Желтов С.Ю. и др. Обработка и анализ изображений в задачах машинного зрения. — М.: Физматкнига, 2010. — 672 с. — ISBN 978-5-89155-201-2.

wikiredia.ru

Компьютерное зрение Википедия

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

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

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

  1. Системы управления процессами (промышленные роботы, автономные транспортные средства).
  2. Системы видеонаблюдения.
  3. Системы организации информации (например, для индексации баз данных изображений).
  4. Системы моделирования объектов или окружающей среды (анализ медицинских изображений, топографическое моделирование).
  5. Системы взаимодействия (например, устройства ввода для системы человеко-машинного взаимодействия).
  6. Системы дополненной реальности.
  7. Вычислительная фотография, например для мобильных устройств с камерами.

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

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

Современное положение[ | код]

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

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

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

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

Связанные области[ | код]

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

ru-wiki.ru


Читайте также
  • Гиперскоростная звезда – более 1.000.000 миль в час
    Гиперскоростная звезда – более 1.000.000 миль в час
  • Астрономы обнаружили самую большую спиральную галактику
    Астрономы обнаружили самую большую спиральную галактику
  • Млечный путь содержит десятки миллиардов планет, схожих с Землей
    Млечный путь содержит десятки миллиардов планет, схожих с Землей
  • Млечный путь разорвал своего спутника на четыре отдельных хвоста
    Млечный путь разорвал своего спутника на четыре отдельных хвоста
  • Найден источник водородных газов для нашей Галактики
    Найден источник водородных газов для нашей Галактики