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

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


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


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

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

Где и зачем это хотят применять

Массовые мероприятия

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

В московском метро тестируют камеры с распознаванием лиц. Они просматривают лица 20 человек в секунду и сверяют их с базами данных людей в розыске. Если есть совпадение, камеры отправляют данные полицейским. За 2,5 месяца система , которые были в розыске. Известно, что такие камеры есть , но, возможно, их установили и на других станциях.

Банк «Открытие» в начале 2017 года запустил систему распознавания лиц . Она сравнивает лицо посетителя с фотографией в базе данных. Система нужна, чтобы обслуживать клиентов быстрее, как именно - не уточняется. В будущем «Открытие» хочет использовать систему для удаленной идентификации. В 2018 году подобная система, но разработки «Ростелекома» должна появится .

Главное - алгоритм

Какая технология позволяет машинам узнавать лица

Сергей Миляев

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

Камера с алгоритмом компьютерного зрения OpenCV следит за детьми на игровой площадке

Все работает на основе нейросетей

Как именно устроено распознавание лиц, с примером

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

Компьютерное зрение не воспроизводит зрительную систему человека, а только выполняет моделирование некоторых аспектов для решения различных задач

Сергей Миляев

Ведущий исследователь компании VisionLabs

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

Пример

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

Алгоритм компьютерного зрения OpenCV определяет, сколько пальцев ему показывают

Компьютер знает, когда его обманывают

Может ли человек обмануть очень умный компьютер, три примера

Олег Гринчук

Ведущий исследователь VisionLabs

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

Фотография, видео другого человека или распечатанная маска

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

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

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

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

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

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

Большие темные очки, кепка, шарф, закрыть лицо рукой

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

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

В чем именно и почему, с примером

Юрий Минкин

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

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

Юрий Минкин

Руководитель департамента Cognitive Technologies

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

Пример

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

Может ли компьютер свидетельствовать против человека

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

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

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

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

Вероника Елкина

1. Беспилотные автомобили

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

Продукты компании NVIDIA, которая уже сделала большие шаги в области глубинного обучения, используются во многих беспилотных автомобилях. Например, суперкомпьютер NVIDIA Drive PX 2 уже служит базовой платформой для беспилотников , Volvo, Audi, BMW и Mercedes-Benz.

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

3. Интерфейсы

Технологии отслеживания движения глаз с помощью компьютерного зрения используется не только в игровых ноутбуках, но и в обычных, и корпоративных компьютерах, для того чтобы ими могли управлять люди, которые не могут воспользоваться руками. Tobii Dynavox PCEye Mini представляет собой устройство размером с шариковую ручку, которое станет идеальным и незаметным аксессуаром для планшетов и ноутбуков. Также эта технология отслеживания движения глаз используется в новых игровых и обычных ноутбуках Asus и смартфонах Huawei.

Тем временем продолжает развиваться жестовое управление (технология компьютерного зрения, которое может распознавать особые движения руками). Теперь оно будет использоваться в будущих автомобилях BMW и Volkswagen.

Новый интерфейс HoloActive Touch позволяет пользователям управлять виртуальными 3D-экранами и нажимать кнопки в пространстве. Можно сказать, что он представляет собой простую версию самого настоящего голографического интерфейса Железного человека (он даже точно так же реагирует легкой вибрацией на нажатие элементов). Благодаря таким технологиям, как ManoMotion , можно будет легко добавить жестовое управление практически в любое устройство. Причем для получения контроля над виртуальным 3D-объектом с помощью жестов ManoMotion использует обычную 2D-камеру, так что вам не понадобится никакое дополнительное оборудование.

Устройство eyeSight’s Singlecue Gen 2 использует компьютерное зрение (распознавание жестов, анализ лица, определение действий) и позволяет управлять с помощью жестов телевизором, «умной» системой освещения и холодильниками.

Hayo

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

4. Бытовые приборы

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

Элегантное устройство FridgeCam от Smarter крепится к стенке холодильника и может определять, когда истекает срок годности, сообщать, что именно находится в холодильнике, и даже рекомендовать рецепты блюд из выбранных продуктов. Устройство продается по неожиданно доступной цене - всего за $100.

5. Цифровые вывески

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

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

6. Смартфоны и дополненная реальность

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

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

На выставке CES Asus впервые представила ZenPhone AR - смартфон с поддержкой Tango и Daydream VR от Google. Смартфон не только может отслеживать движения, анализировать окружение и точно определять положение, но и использует процессор Qualcomm Snapdragon 821, который позволяет распределять загрузку данных компьютерного зрения. Все это помогает применять настоящие технологии дополненной реальности, которые на самом деле анализируют обстановку через камеру смартфона.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

компьютерного зрения - это способность распознавать произвольный текст

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Close