5 как работает компьютерное зрение, от какой информации оно может защитить пользователя
Обновлено: 21.11.2024
Компьютерное зрение, часто сокращенно CV, определяется как область исследования, целью которой является разработка методов, помогающих компьютерам «видеть» и понимать содержимое цифровых изображений, таких как фотографии и видео.
Проблема компьютерного зрения кажется простой, потому что люди, даже очень маленькие дети, решают ее тривиально. Тем не менее, это в значительной степени остается нерешенной проблемой, основанной как на ограниченном понимании биологического зрения, так и на сложности зрительного восприятия в динамичном и почти бесконечно меняющемся физическом мире.
В этом посте вы найдете небольшое введение в область компьютерного зрения.
Прочитав этот пост, вы узнаете:
- Цель области компьютерного зрения и ее отличие от обработки изображений.
- Что делает проблему компьютерного зрения сложной.
- Типичные проблемы или задачи, решаемые в области компьютерного зрения.
Начните свой проект с моей новой книги Deep Learning for Computer Vision, включающей пошаговые руководства и файлы исходного кода Python для всех примеров.< /p>
Приступим.
Нежное введение в компьютерное зрение
Фото Акселя Кристинссона, некоторые права защищены.
Обзор
- Желание, чтобы компьютеры видели
- Что такое компьютерное зрение?
- Вызов компьютерного зрения
- Задачи в Computer Vision
Желание, чтобы компьютеры видели
Мы купаемся в изображениях.
Смартфоны оснащены камерами, а снимать фото или видео и делиться ими стало как никогда просто, что привело к невероятному росту современных социальных сетей, таких как Instagram.
YouTube может быть второй по величине поисковой системой, и каждую минуту загружаются сотни часов видео, а каждый день просматриваются миллиарды видео.
Интернет состоит из текста и изображений. Индексировать и искать текст относительно просто, но для индексации и поиска изображений алгоритмам необходимо знать, что содержат изображения. В течение долгого времени содержание изображений и видео оставалось непрозрачным, и лучше всего описывать их с помощью метаописаний, предоставленных человеком, который их загрузил.
Чтобы получить максимальную отдачу от данных изображения, нам нужны компьютеры, чтобы "видеть" изображение и понимать его содержание.
Это тривиальная проблема для человека, даже для маленького ребенка.
- Человек может описать содержание фотографии, которую он видел однажды.
- Человек может резюмировать видео, которое он видел только один раз.
- Человек может узнать лицо, которое он видел только однажды.
Чтобы разблокировать наши изображения и видео, нам требуются как минимум такие же возможности компьютеров.
Хотите получить результаты с помощью глубокого обучения для компьютерного зрения?
Пройдите мой бесплатный 7-дневный экспресс-курс по электронной почте прямо сейчас (с образцом кода).
Нажмите, чтобы зарегистрироваться, а также получить бесплатную электронную версию курса в формате PDF.
Нажмите здесь, чтобы подписаться
Что такое компьютерное зрение?
Компьютерное зрение — это область исследования, посвященная проблеме помощи компьютерам в зрении.
На абстрактном уровне цель задач компьютерного зрения состоит в том, чтобы использовать данные наблюдаемого изображения, чтобы сделать вывод о мире.
Это междисциплинарная область, которую можно в широком смысле назвать подобластью искусственного интеллекта и машинного обучения, которая может включать использование специализированных методов и использование общих алгоритмов обучения.
Обзор взаимосвязи искусственного интеллекта и компьютерного зрения
Как междисциплинарная область исследования, она может выглядеть запутанной, с методами, заимствованными и повторно используемыми из целого ряда разрозненных инженерных и компьютерных наук.
Одну конкретную проблему со зрением можно легко решить с помощью статистического метода, созданного вручную, тогда как для другой может потребоваться большой и сложный набор обобщенных алгоритмов машинного обучения.
Компьютерное зрение как область интеллектуального развития. Как и любая граница, она захватывающая и неорганизованная, и часто нет надежного авторитета, к которому можно было бы обратиться. Многие полезные идеи не имеют теоретического обоснования, а некоторые теории бесполезны на практике; застроенные районы разбросаны по разным местам, и зачастую один из них выглядит совершенно недоступным с другого.
Целью компьютерного зрения является понимание содержания цифровых изображений. Как правило, это включает в себя разработку методов, которые пытаются воспроизвести возможности человеческого зрения.
Понимание содержания цифровых изображений может включать в себя извлечение описания из изображения, которое может быть объектом, текстовым описанием, трехмерной моделью и т. д.
Компьютерное зрение — это автоматизированное извлечение информации из изображений. Информация может означать что угодно: от 3D-моделей, положения камеры, обнаружения и распознавания объектов до группировки и поиска содержимого изображения.
Компьютерное зрение и обработка изображений
Компьютерное зрение отличается от обработки изображений.
Обработка изображений – это процесс создания нового изображения из существующего, обычно с упрощением или улучшением содержания. Это разновидность цифровой обработки сигналов, не связанная с пониманием содержания изображения.
Данная система компьютерного зрения может потребовать применения обработки изображения к необработанным входным данным, например. предварительная обработка изображений.
Примеры обработки изображений включают:
- Нормализация фотометрических свойств изображения, таких как яркость или цвет.
- Обрезка границ изображения, например центрирование объекта на фотографии.
- Удаление цифрового шума с изображения, например цифровых артефактов при слабом освещении.
Вызов компьютерного зрения
Помочь компьютерам увидеть очень сложно.
Целью компьютерного зрения является извлечение полезной информации из изображений. Это оказалось удивительно сложной задачей; за последние четыре десятилетия им были заняты тысячи интеллектуальных и творческих умов, и, несмотря на это, мы все еще далеки от того, чтобы построить универсальную «машину-зрение».
Компьютерное зрение кажется простым, возможно, потому, что это так легко для людей.
Изначально считалось, что это тривиально простая задача, которую может решить студент, подключив камеру к компьютеру. После десятилетий исследований «компьютерное зрение» остается нерешенным, по крайней мере, с точки зрения соответствия возможностям человеческого зрения.
В шестидесятых ведущие специалисты в области искусственного интеллекта считали, что компьютер должен видеть, на уровне сложности летнего студенческого проекта. Сорок лет спустя задача все еще не решена и кажется огромной.
Одна из причин заключается в том, что мы плохо понимаем, как работает человеческое зрение.
Изучение биологического зрения требует понимания органов восприятия, таких как глаза, а также интерпретации восприятия мозгом. Был достигнут значительный прогресс как в составлении схемы процесса, так и с точки зрения обнаружения приемов и упрощений, используемых системой, хотя, как и в любом исследовании, в котором задействован мозг, предстоит пройти еще долгий путь.
Психологи восприятия потратили десятилетия, пытаясь понять, как работает зрительная система, и, хотя они могут изобретать оптические иллюзии, чтобы разобрать некоторые из ее принципов, полное решение этой загадки остается недостижимым
цитата>Еще одна причина, почему это такая сложная проблема, заключается в сложности, присущей визуальному миру.
Заданный объект можно увидеть с любой ориентации, при любых условиях освещения, с любым типом окклюзии от других объектов и т. д. Настоящая система технического зрения должна быть способна «видеть» в любой из бесконечного числа сцен и при этом извлекать что-то значимое.
Компьютеры хорошо справляются с задачами с жесткими ограничениями, а не с открытыми неограниченными задачами, такими как визуальное восприятие.
Задачи в компьютерном зрении
Тем не менее, в этой области наблюдается прогресс, особенно в последние годы с массовыми системами оптического распознавания символов и распознавания лиц в камерах и смартфонах.
Компьютерное зрение находится на чрезвычайном этапе своего развития. Сама тема существует с 1960-х годов, но только недавно стало возможным создавать полезные компьютерные системы, используя идеи компьютерного зрения.
Учебник по компьютерному зрению 2010 года под названием "Компьютерное зрение: алгоритмы и приложения" содержит список некоторых проблем высокого уровня, в которых мы видели успех компьютерного зрения.
- Оптическое распознавание символов (OCR)
- Осмотр машины
- Розничная торговля (например, автоматизированные кассы)
- Построение 3D-моделей (фотограмметрия)
- Медицинская визуализация
- Автомобильная безопасность
- Подбор движения (например, объединение компьютерной графики с живыми актерами в фильмах)
- Захват движения (мокап)
- Наблюдение
- Распознавание отпечатков пальцев и биометрия
Это широкая область исследования с множеством специализированных задач и методов, а также специализаций для целевых областей применения.
Компьютерное зрение имеет широкий спектр приложений, как старых (например, навигация мобильных роботов, промышленная инспекция и военная разведка), так и новых (например, взаимодействие человека с компьютером, поиск изображений в цифровых библиотеках, анализ медицинских изображений, и реалистичный рендеринг синтетических сцен в компьютерной графике).
Может быть полезно увеличить некоторые из более простых задач компьютерного зрения, с которыми вы, вероятно, столкнетесь или захотите решить, учитывая огромное количество общедоступных цифровых фотографий и видео.
Многие популярные приложения компьютерного зрения пытаются распознавать объекты на фотографиях. например:
- Классификация объектов. Какая широкая категория объектов относится к этой фотографии?
- Идентификация объекта: какой тип данного объекта изображен на этой фотографии?
- Проверка объекта: есть ли объект на фотографии?
- Обнаружение объектов: где находятся объекты на фотографии?
- Обнаружение ориентира объекта: каковы ключевые точки объекта на фотографии?
- Сегментация объекта: какие пиксели относятся к объекту на изображении?
- Распознавание объектов: какие объекты изображены на этой фотографии и где они находятся?
Другие распространенные примеры связаны с поиском информации; например: поиск изображений, похожих на изображение, или изображений, содержащих объект.
Дополнительная литература
В этом разделе содержится больше ресурсов по теме, если вы хотите углубиться в нее.
Книги
Статьи
Обзор
В этом посте вы нашли небольшое введение в область компьютерного зрения.
В частности, вы узнали:
- Цель области компьютерного зрения и ее отличие от обработки изображений.
- Что делает проблему компьютерного зрения сложной.
- Типичные проблемы или задачи, решаемые в области компьютерного зрения.
Есть вопросы?
Задавайте свои вопросы в комментариях ниже, и я постараюсь ответить.Разработайте модели глубокого обучения для машинного зрения уже сегодня!
Разработайте собственные модели видения за считанные минуты
<р>. всего несколькими строками кода PythonОн содержит учебные пособия для самостоятельного изучения по таким темам, как
классификация, обнаружение объектов (yolo и rcnn), распознавание лиц (vggface и facenet). ), подготовка данных и многое другое.
На протяжении многих десятилетий люди мечтали о создании машин с характеристиками человеческого интеллекта, способных думать и действовать как люди. Одной из самых захватывающих идей было дать компьютерам возможность «видеть» и интерпретировать окружающий мир. Вчерашняя фантастика стала сегодняшней реальностью.
Благодаря достижениям в области искусственного интеллекта и вычислительной мощности технология компьютерного зрения сделала огромный шаг к интеграции в нашу повседневную жизнь. Ожидается, что к 2022 году рынок компьютерного зрения достигнет 48,6 млрд долларов США, что сделает его чрезвычайно многообещающей технологией UX.
В этой статье мы рассмотрим концепцию компьютерного зрения, обсудим, как развивалась эта технология, и поделимся несколькими прекрасными примерами применения этой технологии в нашей жизни.
Компьютерное зрение – это область компьютерных наук, которая занимается созданием цифровых систем, способных обрабатывать, анализировать и понимать визуальные данные (изображения или видео) так же, как это делают люди. Концепция компьютерного зрения основана на обучении компьютеров обрабатывать изображение на уровне пикселей и понимать его. Технически машины пытаются получить визуальную информацию, обработать ее и интерпретировать результаты с помощью специальных программных алгоритмов.
Системы человеческого и компьютерного зрения обрабатывают визуальные данные схожим образом. Изображение предоставлено Мэннингом.
Вот несколько общих задач, для которых можно использовать системы компьютерного зрения:
- Классификация объектов. Система анализирует визуальный контент и классифицирует объект на фото/видео по определенной категории. Например, среди всех объектов на изображении система может найти собаку.
- Идентификация объекта. Система анализирует визуальный контент и идентифицирует конкретный объект на фото/видео. Например, система может найти конкретную собаку среди собак на изображении.
- Отслеживание объектов. Система обработки видео находит объект (или объекты), соответствующие критериям поиска, и отслеживает его перемещение.
Как работает компьютерное зрение?
Технология компьютерного зрения имитирует работу человеческого мозга. Но как наш мозг справляется с распознаванием визуальных объектов? Одна из популярных гипотез гласит, что наш мозг полагается на шаблоны для декодирования отдельных объектов. Эта концепция используется для создания систем компьютерного зрения.
Алгоритмы компьютерного зрения, которые мы используем сегодня, основаны на распознавании образов. Мы обучаем компьютеры на огромном количестве визуальных данных — компьютеры обрабатывают изображения, маркируют объекты на них и находят закономерности в этих объектах. Например, если мы отправим миллион изображений цветов, компьютер проанализирует их, выявит закономерности, похожие на все цветы, и в конце этого процесса создаст модель «цветок». В результате компьютер сможет точно определять, является ли то или иное изображение цветком каждый раз, когда мы отправляем им изображения.
Цветовые значения отдельных пикселей преобразуются в простой массив чисел, используемых в качестве входных данных для алгоритма компьютерного зрения. Изображение предоставлено openframeworks.
Эволюция компьютерного зрения
Компьютерное зрение — не новая технология. первые эксперименты с компьютерным зрением начались в 1950-х годах, и тогда оно использовалось для интерпретации машинописного и рукописного текста. В то время процедуры анализа компьютерного зрения были относительно простыми, но требовали большой работы от людей-операторов, которым приходилось вручную предоставлять образцы данных для анализа. Как вы, наверное, догадались, было сложно предоставить много данных, делая это вручную. Кроме того, вычислительной мощности было недостаточно, поэтому допустимая погрешность для этого анализа была довольно высокой.
Сегодня у нас нет недостатка в мощности компьютеров. Облачные вычисления в сочетании с надежными алгоритмами могут помочь нам решить даже самые сложные проблемы. Но не только новое оборудование в сочетании со сложными алгоритмами (мы рассмотрим их в следующем разделе) двигают вперед технологию компьютерного зрения; впечатляющее количество общедоступных визуальных данных, которые мы генерируем каждый день, отвечает за недавний процесс этой технологии. По данным Forbes, пользователи ежедневно выкладывают в сеть более трех миллиардов изображений, и эти данные используются для обучения систем компьютерного зрения.
Революция в области глубокого обучения
Чтобы понять недавний процесс развития технологии компьютерного зрения, нам нужно углубиться в алгоритмы, на которых основана эта технология. Современное компьютерное зрение основано на глубоком обучении, особом подмножестве машинного обучения, которое использует алгоритмы для извлечения информации из данных. С другой стороны, машинное обучение опирается на искусственный интеллект, который служит основой для обеих технологий (ознакомьтесь с рекомендациями по разработке ИИ, чтобы узнать больше о разработке ИИ).
Глубокое обучение вписывается в машинное обучение, подмножество искусственного интеллекта. Изображение предоставлено Nvidia.
Глубокое обучение представляет собой более эффективный способ компьютерного зрения — в нем используется специальный алгоритм, называемый нейронной сетью. Нейронные сети используются для извлечения шаблонов из предоставленных выборок данных. Алгоритмы вдохновлены человеческим пониманием того, как функционирует мозг, в частности взаимосвязей между нейронами в коре головного мозга.
На уровне ядра нейронной сети находится персептрон, математическое представление биологического нейрона. Подобно биологическим нейронам в коре головного мозга, возможно наличие нескольких слоев взаимосвязанных персептронов. Входные значения (необработанные данные) передаются через сеть, созданную персептронами, и попадают в выходной слой, который является прогнозом или высококвалифицированным предположением об определенном объекте. Например, в конце анализа машина может классифицировать объект с достоверностью X%.
Машинное обучение использует алгоритмы для анализа данных, а глубокое обучение опирается на уровни искусственных нейронных сетей (ИНС). Изображение предоставлено Quora.
Где мы можем применить технологию компьютерного зрения
Некоторые считают, что компьютерное зрение — это нечто из далекого будущего дизайна. Не правда. Компьютерное зрение уже интегрировано во многие сферы нашей жизни. Ниже приведены лишь несколько примечательных примеров того, как мы используем эту технологию сегодня:
Организация контента
Системы компьютерного зрения уже помогают нам систематизировать наш контент. Apple Photos — отличный пример. Приложение имеет доступ к нашим коллекциям фотографий, оно автоматически добавляет теги к фотографиям и позволяет нам просматривать более структурированную коллекцию фотографий. Что делает Apple Photos замечательным, так это то, что приложение создает для вас тщательно подобранный обзор ваших лучших моментов.
В разделе «Для вас» программы «Фото» для iOS вы можете увидеть рекомендуемый контент, созданный приложением, чтобы вы могли просматривать свои любимые моменты. Изображение предоставлено Apple.
Распознавание лиц
Технология распознавания лиц используется для сопоставления фотографий лиц людей с их личностью. Эта технология интегрирована в основные продукты, которые мы используем каждый день. Например, Facebook использует компьютерное зрение для распознавания людей на фотографиях.
Распознавание лиц — важнейшая технология биометрической аутентификации. Многие мобильные устройства, доступные сегодня на рынке, позволяют пользователям разблокировать устройства, показывая свое лицо. Фронтальная камера используется для распознавания лиц; мобильные устройства обрабатывают это изображение и на основе анализа могут сказать, авторизован ли человек, который держит устройство, на этом устройстве. Прелесть этой технологии в том, что она работает очень быстро.
Дополненная реальность
Компьютерное зрение – ключевой элемент приложений дополненной реальности. Эта технология помогает приложениям дополненной реальности обнаруживать физические объекты (как поверхности, так и отдельные объекты в заданном физическом пространстве) в режиме реального времени и использовать эту информацию для размещения виртуальных объектов в физической среде.
Приложение Ikea Place использует дополненную реальность, чтобы помочь пользователям понять, впишется ли мебель, которую они хотят купить, в их интерьер. Изображение предоставлено Wired.
Автономные автомобили
Компьютерное зрение позволяет автомобилям ориентироваться в окружающей среде. У умного автомобиля есть несколько камер, которые снимают видео с разных ракурсов и отправляют видео в качестве входного сигнала в программное обеспечение компьютерного зрения. Система обрабатывает видео в режиме реального времени и обнаруживает такие объекты, как дорожная разметка, объекты рядом с автомобилем (например, пешеходы или другие автомобили), светофоры и т. д. Одним из наиболее ярких примеров применения этой технологии является автопилот в автомобилях Tesla. .
Здоровье
Информация об изображении является ключевым элементом диагностики в медицине, поскольку на нее приходится 90 % всех медицинских данных. Многие диагнозы в области здравоохранения основаны на обработке изображений — рентген, МРТ и маммография, и это лишь некоторые из них. А сегментация изображений доказала свою эффективность при анализе медицинских сканов. Например, алгоритмы компьютерного зрения могут обнаруживать диабетическую ретинопатию — самую быстрорастущую причину слепоты. Компьютерное зрение может обрабатывать изображения задней части глаза (см. ниже) и оценивать их на предмет наличия и тяжести заболевания.
Алгоритмы компьютерного зрения можно использовать для обработки фотографий глазного дна сетчатки для выявления диабетической ретинопатии. Изображение предоставлено ai.googleblog.
Обнаружение рака – еще один примечательный пример. Точность в диагностике различных форм рака жизненно важна. По данным Google, инструменты компьютерного зрения помогают обнаруживать метастазы рака с гораздо большей точностью, чем врачи-люди. Ниже вы можете увидеть крупный план биопсии лимфатического узла. Ткань содержит метастазы рака молочной железы, а также участки, похожие на опухоль, но доброкачественные. Алгоритм компьютерного зрения успешно идентифицирует область опухоли (ярко-зеленый цвет) и не путается с нормальными областями, которые выглядят как опухоли.
Применение технологии компьютерного зрения во время биопсии лимфатического узла может помочь обнаружить область опухоли. Изображение предоставлено Google.
Сельское хозяйство
Многие сельскохозяйственные организации используют компьютерное зрение для наблюдения за урожаем и решения общих сельскохозяйственных проблем, таких как появление сорняков или нехватка питательных веществ. Системы компьютерного зрения обрабатывают изображения со спутников, дронов или самолетов и пытаются обнаружить проблемы на ранней стадии, что помогает избежать ненужных финансовых потерь.
Заключение
Компьютерное зрение — популярная тема в статьях о новых технологиях. Отличительной чертой этой технологии является другой подход к использованию данных. Огромные объемы данных, которые мы ежедневно создаем и которые некоторые считают проклятием нашего поколения, на самом деле используются для нашего блага — данные могут научить компьютеры видеть и понимать объекты. Эта технология также демонстрирует важный шаг, который наша цивилизация делает на пути к созданию искусственного интеллекта, который будет таким же сложным, как человек.
Компьютерное зрение – это область исследования, позволяющая компьютерам воспроизводить зрительную систему человека. Это подмножество искусственного интеллекта, который собирает информацию из цифровых изображений или видео и обрабатывает их для определения атрибутов. Весь процесс включает получение изображений, их просмотр, анализ, идентификацию и извлечение информации. Эта обширная обработка помогает компьютерам понимать любой визуальный контент и действовать в соответствии с ним. Вы также можете бесплатно пройти курс компьютерного зрения, чтобы понять основы области искусственного интеллекта.
Проекты компьютерного зрения преобразуют цифровой визуальный контент в подробные описания для сбора многомерных данных. Затем эти данные преобразуются в машиночитаемый язык, чтобы облегчить процесс принятия решений. Основная цель этой ветви искусственного интеллекта — научить машины собирать информацию из пикселей.
Примеры компьютерного зрения и алгоритмов
С помощью различных систем искусственного интеллекта автомобили с автоматическим управлением призваны снизить потребность в человеческом вмешательстве во время вождения. Компьютерное зрение является частью такой системы, которая фокусируется на имитации логики человеческого зрения, чтобы помочь машинам принимать решения на основе данных. Системы CV будут сканировать живые объекты и классифицировать их, на основе которых автомобиль продолжит движение или остановится. Если машина наткнется на препятствие или светофор, она проанализирует изображение, создаст его 3D-версию, учтет особенности и примет решение о действии — и все это за секунду.
Как работает компьютерное зрение?
Компьютерное зрение в основном опирается на методы распознавания образов для самообучения и понимания визуальных данных. Широкая доступность данных и готовность компаний делиться ими позволили специалистам по глубокому обучению использовать эти данные, чтобы сделать процесс более точным и быстрым.
Хотя алгоритмы машинного обучения ранее использовались для приложений компьютерного зрения, теперь методы глубокого обучения стали лучшим решением для этой области. Например, для методов машинного обучения требуется огромный объем данных и активный человеческий контроль на начальном этапе мониторинга, чтобы гарантировать максимально точные результаты. С другой стороны, глубокое обучение опирается на нейронные сети и использует примеры для решения проблем. Он самообучается, используя размеченные данные для распознавания общих шаблонов в примерах.
Как научиться компьютерному зрению?
В зависимости от использования компьютерное зрение можно использовать следующим образом:
- Закладка фундамента. Вероятность, статистика, линейная алгебра, исчисление и базовые статистические знания являются необходимыми условиями для входа в предметную область. Точно так же знание таких языков программирования, как Python и MATLAB, поможет вам лучше понять концепции.
- Цифровая обработка изображений. Узнайте, как сжимать изображения и видео с помощью файлов JPEG и MPEG. Требуется знание основных инструментов обработки изображений, таких как выравнивание гистограммы, медианная фильтрация и многое другое. Ознакомившись с основами обработки и восстановления изображений, вы будете готовы овладеть более важными навыками компьютерного зрения.
- Основы машинного обучения: для начала работы с компьютерным зрением необходимы знания о сложных нейронных сетях, полностью подключенных нейронных сетях, машинах опорных векторов, рекуррентных нейронных сетях, генеративно-состязательной сети и автоэнкодерах.
- Основы компьютерного зрения. Следующим шагом в этом процессе является декодирование математических моделей, используемых в формулировках изображения и видео. Как только вы поймете, как работает распознавание образов и обработка сигналов, вы сможете перейти к углубленному изучению.
Как стать инженером по компьютерному зрению?
Сегодня инженеры по компьютерному зрению пользуются большим спросом на рынке благодаря огромному количеству визуального контента, над которым необходимо работать.
Чем именно занимается компьютерный инженер?
- Инженер по компьютерному зрению создает и использует алгоритмы зрения для работы с пикселями любого визуального контента (изображений, видео и т. д.).
- Они используют подход, основанный на данных, для разработки решений.
- Обычно они имеют опыт работы с AIML и различными системами, включая сегментацию, машинное обучение и обработку изображений.
Если вы хотите стать инженером по компьютерному зрению, вам необходимо приобрести базовые навыки в этой области и работать над проектами, которые дадут вам практический опыт решения актуальных для отрасли проблем. Сертификационная программа Deep Learning от Great Learning познакомит вас со всеми основами предметной области и направит вас на путь становления инженером по компьютерному зрению.Должностная инструкция инженера по компьютерному зрению
Идеальный кандидат должен хорошо знать алгоритмы, принципы машинного обучения и их применение. Он / она должен иметь опыт работы с архитектурами глубокого обучения, такими как CNN, GAN и другими. Он также должен быть знаком с такими средами глубокого обучения, как TensorFlow и PyTorch. Он / она также должен хорошо разбираться в обнаружении объектов и таких моделях, как YOLO, RCNN, Mask-RCNN и других.
Требования к инженерам компьютерного зрения
- Знания в области автоматизации процессов и разработки конвейера искусственного интеллекта.
- Опыт работы с искусственным интеллектом – более 1 года.
- Навыки программирования (Python, C++, MATLAB) обязательны.
- Способность управлять проектами самостоятельно и в команде
- Навыки работы с такими инструментами, как git, docker и т. д.
- Отличные письменные и устные коммуникативные навыки.
- Высшее образование в области компьютерных наук, электротехники приветствуется.
Какой язык лучше всего подходит для компьютерного зрения?
У нас есть несколько языков программирования для компьютерного зрения: OpenCV с использованием C++, OpenCV с использованием Python или MATLAB. Тем не менее, у большинства инженеров есть личный фаворит, в зависимости от задачи, которую они выполняют. Новички часто выбирают OpenCV с Python из-за его гибкости. Это язык, с которым знакомо большинство программистов, и благодаря своей универсальности он очень популярен среди разработчиков.
Эксперты в области компьютерного зрения рекомендуют Python по следующим причинам:
- Простота в использовании. Python легко освоить, особенно для новичков. Это один из первых языков программирования, выученных большинством пользователей. Этот язык также легко адаптируется для любых задач программирования.
- Самый используемый компьютерный язык. Python предлагает полную учебную среду для людей, которые хотят использовать его для различных экспериментов в области компьютерного зрения и машинного обучения. Его numpy, scikit-learn, matplotlib и OpenCV предоставляют исчерпывающий ресурс для любых приложений компьютерного зрения.
- Отладка и визуализация. В Python есть встроенный отладчик PDB, который упрощает отладку кода на этом языке программирования. Точно так же Matplotlib является удобным ресурсом для визуализации.
- Разработка серверной части веб-сайта. Такие платформы, как Django, Flask и Web2py, отлично подходят для создания веб-страниц. Python совместим с этими фреймворками и может быть легко изменен в соответствии с вашими требованиями.
MATLAB — еще один язык программирования, популярный среди компьютерных экспертов. Давайте рассмотрим преимущества использования MATLAB:- Наборы инструментов: MATLAB имеет один из самых исчерпывающих наборов инструментов; Будь то набор инструментов для статистики и машинного обучения или набор инструментов для обработки изображений, в MATLAB есть набор инструментов для любых нужд. Чистый интерфейс каждого из этих наборов инструментов позволяет реализовать ряд алгоритмов. В MATLAB также есть набор инструментов для оптимизации, который гарантирует, что все алгоритмы работают наилучшим образом.
- Мощная библиотека матриц. Изображения и другой визуальный контент содержат многомерные матрицы вместе с линейной алгеброй в различных алгоритмах, что упрощает работу в MATLAB. Подпрограммы линейной алгебры, включенные в MATLAB, работают быстро и эффективно.
- Отладка и визуализация. Благодаря единой интегрированной платформе для кодирования в MATLAB написание, визуализация и отладка кода становятся простыми.
- Отличная документация: MATLAB позволяет вам адекватно документировать свою работу, чтобы она была доступна позже. Документация важна не только для дальнейшего использования, но и для того, чтобы помочь программистам работать быстрее. Документация MATLAB позволяет пользователям работать в два раза быстрее, чем OpenCV.
Эксперты по компьютерному зрению также тяготеют к OpenCV по следующим причинам:
- Нулевая стоимость: OpenCV предоставляется бесплатно. Что может быть лучше, чем сэкономить немного денег? Вы можете использовать его для коммерческих приложений, даже проверяя источник на наличие исправлений. Наиболее существенное преимущество использования OpenCV заключается в том, что вам не нужно открывать исходный код проекта.
- Исчерпывающая библиотека: OpenCV содержит самую обширную коллекцию алгоритмов. Прозрачный API делает устройства OpenCL совместимыми на устройствах и оптимизирует производительность.
- Платформа и устройства. Ряд встроенных приложений машинного зрения и мобильных приложений предпочитают OpenCV в качестве предпочтительной библиотеки машинного зрения из-за ее ориентированного на производительность дизайна. Вы можете использовать его на всех платформах и устройствах.
- Большое сообщество: OpenCV используют более 9 миллионов человек, которые постоянно обновляются и помогают друг другу через блоги и форумы. Существенным преимуществом использования OpenCV является то, что вы всегда найдете поддержку сообщества. Поскольку такие компании, как Google, Intel и AMD, финансируют его разработку, OpenCV быстро развивается.
Применения компьютерного зрения
- Медицинская визуализация: компьютерное зрение помогает в реконструкции МРТ, автоматической патологии, диагностике, машинных операциях и многом другом.
- AR/VR: окклюзия объектов (плотная оценка глубины), отслеживание снаружи внутрь, отслеживание изнутри наружу для виртуальной и дополненной реальности.
- Смартфоны. Все используемые вами фотофильтры (включая анимационные фильтры в социальных сетях), сканеры QR-кодов, построение панорам, вычислительная фотография, детекторы лиц, детекторы изображений (Google Lens, Night Sight) являются приложениями компьютерного зрения. ли>
- Интернет: поиск изображений, геолокация, субтитры к изображениям, изображения с воздуха для карт, категоризация видео и многое другое.
Будущее компьютерного зрения
Компьютерное зрение — это быстро развивающаяся область, которая привлекла большое внимание представителей различных отраслей. В будущем он сможет работать с более широким спектром контента. Домен уже пользуется стабильным рынком в 2,37 миллиона долларов США, и ожидается, что среднегодовой темп роста в 47% до 2023 года. С учетом того объема данных, который мы генерируем каждый день, вполне естественно, что машины будут использовать эти данные для создания решений.
Как только специалисты по компьютерному зрению смогут решить текущие проблемы домена, мы можем рассчитывать на надежную систему, которая автоматизирует модерацию и мониторинг контента. Поскольку такие корпоративные гиганты, как Google, Facebook, Apple и Microsoft, инвестируют в компьютерное зрение, это лишь вопрос времени, когда оно захватит мировой рынок. Повысьте квалификацию в этой области, чтобы максимально эффективно использовать эту подрывную экономику.Часто задаваемые вопросы о компьютерном зрении
– Как работает компьютерное зрение?
Компьютерное зрение работает, пытаясь имитировать способность человеческого мозга распознавать визуальную информацию. Он использует алгоритмы распознавания образов для обучения машин на большом количестве визуальных данных. Затем машина/компьютер обрабатывает входные изображения, помечает объекты на этих изображениях и находит закономерности в этих объектах.
– Каковы примеры компьютерного зрения?
- Беспилотные автомобили
- Помощь при стихийных бедствиях путем картирования зон повышенной уязвимости
- Методы квалификации изображений для автоматизации контроля качества в сельском хозяйстве.
- Улучшенная диагностика в здравоохранении.
- Распознавание лиц для безопасности
- Управление запасами и размещение товаров в розничной торговле.
- Проверка с помощью распознавания лиц в банковских и финансовых учреждениях.
- Наблюдение за поведением учащихся в классе
- Управление отходами посредством обнаружения объектов
– Каково применение компьютерного зрения?
- Обнаружение дефектов
- Метрология
- Обнаружение злоумышленников
- Проверка сборки
- Программа чтения с экрана
- Считыватель кода и символов (OCR)
- Computer Vision с робототехникой для сбора мусора
– Какая польза от компьютерного зрения?
Компьютерное зрение позволяет компьютерам видеть и анализировать окружающую среду так, как это видят люди. Он используется в различных отраслях, от розничной торговли до сельского хозяйства и безопасности, и имеет различные приложения, такие как беспилотные автомобили, распознавание лиц, обнаружение объектов и многое другое.
– Как научиться компьютерному зрению?
Вы можете пройти бесплатный курс по компьютерному зрению в Great Learning Academy, чтобы начать с основ компьютерного зрения. На канале YouTube Great Learning также есть много видео, которые снова бесплатны и содержат хорошее качество.
– Легко ли компьютерное зрение?
Это субъективный вопрос, и ответ зависит от проницательности, опыта, предварительных знаний и интереса человека к предмету. В целом, компьютерное зрение довольно легко дается и первокурсникам, у которых нет предварительных знаний по этому предмету, но есть базовые знания об искусственном интеллекте и технологиях глубокого обучения. Вы можете начать обучение в Интернете с помощью бесплатных руководств, а если вам нужна дополнительная помощь, вы можете подписаться на программы с пошаговыми инструкциями.
– Точно ли компьютерное зрение?
Сегодняшние системы компьютерного зрения достигли уровня точности 99 %, тогда как десять лет назад этот показатель составлял всего 50 %. Так что да, компьютерное зрение довольно точное.
– Каково будущее компьютерного зрения?
Компьютерное зрение будет играть решающую роль в развитии искусственного общего интеллекта и искусственного сверхразума. Это поможет им обрабатывать информацию так же, как люди, или даже лучше.
Эта статья изначально была опубликована на сайте Algorithimia. Компания была приобретена DataRobot в 2021 году. Эта статья может быть не совсем актуальной или относиться к продуктам и предложениям, которых больше не существует. Узнайте больше о DataRobot MLOps здесь.
Источник: TechCrunch
Использование программного обеспечения для анализа визуального контента со всего мира — это такая же революция в вычислительной технике, как мобильные устройства 10 лет назад, и даст разработчикам и компаниям большое преимущество для создания потрясающих продуктов.
Компьютерное зрение — это процесс использования машин для понимания и анализа изображений (как фотографий, так и видео). Хотя эти типы алгоритмов существуют в различных формах с 1960-х годов, недавние достижения в области машинного обучения, а также скачки вперед в области хранения данных, вычислительных возможностей и дешевых высококачественных устройств ввода привели к значительным улучшениям в том, насколько хорошо наше программное обеспечение можете изучить этот вид контента.
Что такое компьютерное зрение?
Компьютерное зрение — это процесс использования машин для понимания и анализа изображений (как фотографий, так и видео). Хотя эти типы алгоритмов существуют в различных формах с 1960-х годов, недавние достижения в области машинного обучения, а также скачки вперед в области хранения данных, вычислительных возможностей и дешевых высококачественных устройств ввода привели к значительным улучшениям в том, насколько хорошо наше программное обеспечение можете изучить этот вид контента.
Компьютерное зрение — это общее название для любых вычислений, связанных с визуальным контентом, то есть с изображениями, видео, значками и любыми другими пикселями. Но в рамках этой исходной идеи есть несколько конкретных задач, которые являются основными строительными блоками:
- При классификации объектов вы обучаете модель на наборе данных определенных объектов, и модель классифицирует новые объекты как принадлежащие к одной или нескольким обучающим категориям.
- Для идентификации объекта ваша модель распознает конкретный экземпляр объекта, например, анализируя два лица на изображении и помечая одно как Тома Круза, а другое как Кэти Холмс.
Классическим применением компьютерного зрения является распознавание рукописного ввода для оцифровки рукописного контента (ниже мы рассмотрим другие варианты использования). Помимо простого распознавания, к другим методам анализа относятся:
- Анализ движения видео использует компьютерное зрение для оценки скорости объектов в видео или самой камеры.
- При сегментации изображений алгоритмы разбивают изображения на несколько наборов представлений.
- Реконструкция сцены создает трехмерную модель сцены, введенную с помощью изображений или видео.
- При восстановлении изображения с фотографий удаляются такие шумы, как размытие, с помощью фильтров на основе машинного обучения.
Любое другое приложение, которое включает в себя понимание пикселей с помощью программного обеспечения, можно с уверенностью назвать компьютерным зрением.
Как работает компьютерное зрение
Один из основных открытых вопросов как в нейробиологии, так и в машинном обучении: как именно работает наш мозг и как мы можем приблизиться к этому с помощью наших собственных алгоритмов? Реальность такова, что существует очень мало работающих и всеобъемлющих теорий вычислений мозга; поэтому, несмотря на то, что нейронные сети должны «имитировать работу мозга», никто не уверен, что это действительно так. У Джеффа Хокинса есть целая книга на эту тему под названием «Об интеллекте».
Тот же парадокс справедлив и для компьютерного зрения: поскольку мы не решаем, как мозг и глаза обрабатывают изображения, трудно сказать, насколько хорошо алгоритмы, используемые в производстве, соответствуют нашим собственным внутренним мыслительным процессам. Например, исследования показали, что некоторые функции, которые, как мы думали, происходят в мозгу лягушек, на самом деле выполняются в глазах. Мы далеки от земноводных, но аналогичная неопределенность существует и в человеческом познании.
Машины интерпретируют изображения очень просто: как набор пикселей, каждый из которых имеет собственный набор значений цвета. Посмотрите на упрощенное изображение ниже и посмотрите, как значения оттенков серого преобразуются в простой массив чисел:
Подумайте об изображении как о гигантской сетке из разных квадратов или пикселей (это изображение представляет собой очень упрощенную версию того, что выглядит как Авраам Линкольн или дементор). Каждый пиксель изображения может быть представлен числом, обычно от 0 до 255. Серия чисел справа — это то, что программа видит при вводе изображения. Для нашего изображения есть 12 столбцов и 16 строк, что означает 192 входных значения для этого изображения.
Когда мы начинаем добавлять цвет, все становится сложнее. Компьютеры обычно считывают цвет как серию из 3 значений — красного, зеленого и синего (RGB) — по той же шкале от 0 до 255. Теперь у каждого пикселя на самом деле есть 3 значения, которые компьютер должен хранить в дополнение к его положению. Если бы мы раскрасили президента Линкольна (или худший страх Гарри Поттера), это привело бы к 12 x 16 x 3 значениям, или 576 числам.
Чтобы понять, насколько это затратно в вычислительном отношении, рассмотрите это дерево:
- Каждое значение цвета хранится в 8 битах.
- 8 бит x 3 цвета на пиксель = 24 бита на пиксель.
- Изображение нормального размера 1024 x 768 x 24 бита на пиксель = почти 19 Мбит или около 2,36 МБ.
Для одного изображения требуется много памяти и много пикселей для повторения алгоритма. Но для обучения модели со значительной точностью — особенно когда вы говорите о глубоком обучении — вам обычно нужны десятки тысяч изображений, и чем больше, тем лучше. Даже если вы будете использовать трансферное обучение, чтобы использовать данные уже обученной модели, вам все равно потребуется несколько тысяч изображений для обучения своей модели.
Учитывая огромное количество вычислительной мощности и хранилища, необходимых только для обучения моделей глубокого обучения компьютерному зрению, нетрудно понять, почему достижения в этих двух областях привели к такому развитию машинного обучения.
Варианты использования компьютерного зрения в бизнесе
Компьютерное зрение – это одна из областей машинного обучения, основные концепции которой уже интегрированы в основные продукты, которые мы используем каждый день. Google использует карты, чтобы использовать данные своих изображений и определять названия улиц, предприятий и офисных зданий. Facebook использует компьютерное зрение, чтобы идентифицировать людей на фотографиях, и делать с этой информацией ряд действий.
Но не только технологические компании используют машинное обучение для обработки изображений. Ford, американский производитель автомобилей, существующий буквально с начала 1900-х годов, вкладывает значительные средства в автономные транспортные средства (AV). Большая часть базовой технологии в AV основана на анализе нескольких видеопотоков, поступающих в автомобиль, и использовании компьютерного зрения для анализа и выбора пути действий.
Еще одна важная область, в которой может помочь компьютерное зрение, — это медицина. Большая часть диагностики — это обработка изображений, например чтение рентгеновских снимков, МРТ и другие виды диагностики. Google работает с медицинскими исследовательскими группами, чтобы изучить, как глубокое обучение может помочь медицинским рабочим процессам, и добился значительного прогресса с точки зрения точности. Перефразируя страницу их исследования:
«В тесном сотрудничестве с врачами и международными системами здравоохранения мы разработали современную систему компьютерного зрения для считывания изображений глазного дна сетчатки при диабетической ретинопатии и определили, что производительность нашего алгоритма не уступает алгоритму, сертифицированному в США. офтальмологи. Недавно мы опубликовали некоторые из наших исследований в Journal of the American Medical Association и резюмировали основные моменты в сообщении в блоге. .”
Кроме того, этот ролик из Кремниевой долины канала HBO об использовании компьютерного зрения, чтобы отличить хот-дог от всего остального, был довольно популярен в социальных сетях. Но помимо новаторских вещей, становится намного проще интегрировать компьютерное зрение в ваши собственные приложения. Ряд высококачественных сторонних поставщиков, таких как Clarifai, предлагают простой API для маркировки и понимания изображений, а Kairos предоставляет функциональные возможности для распознавания лиц. Ниже мы рассмотрим пакеты с открытым исходным кодом, доступные для использования.
Компьютерное зрение и сверточные нейронные сети
Большая часть прогресса, достигнутого в области точности компьютерного зрения за последние несколько лет, частично связана с особым типом алгоритма.Сверточные нейронные сети — это подмножество глубокого обучения с несколькими дополнительными операциями, и было показано, что они достигают впечатляющей точности в задачах, связанных с изображениями.
Сверточные нейронные сети (CNN или ConvNets) используют те же основные концепции нейронных сетей, но добавляют несколько шагов перед обычной архитектурой. Эти шаги сосредоточены на извлечении признаков или поиске наилучшей возможной версии нашего ввода, которая обеспечит максимальный уровень понимания нашей модели. В идеале эти функции должны быть менее избыточными и более информативными, чем исходный ввод.
CNN использует три типа фильтров для извлечения признаков. Для получения более подробной информации и интерактивных диаграмм отлично подойдет обзорный пост Уджвала Карна по этой теме.
Свертка
Во время свертки (возможно, поэтому она и называется CNN) пиксели входного изображения изменяются фильтром. Это просто матрица (меньше, чем исходная пиксельная матрица), на которую мы умножаем разные части входного изображения. Результат, который часто называют картой объектов, обычно меньше исходного изображения и теоретически более информативен.
Эта футуристически звучащая аббревиатура расшифровывается как Rectified Linear Unit, которая представляет собой простую функцию для внесения нелинейности в карту объектов. Все отрицательные значения просто заменяются на ноль, удаляя весь черный цвет с изображения. Формальная функция: y = max(0, x).
Объединение
При объединении изображение сканируется на заданную ширину в пикселях, и максимум, сумма или среднее значение этих пикселей берется за представление этой части изображения. Этот процесс еще больше уменьшает размер карт объектов в зависимости от того, какой размер объединен в пул.
Все эти операции — Convolution, ReLu и Pooling — часто применяются дважды подряд перед завершением процесса извлечения признаков. Результаты всего этого процесса затем передаются в нейронную сеть для классификации. Окончательная архитектура выглядит следующим образом:
Если вы запутались в деталях, не беспокойтесь. Просто помните:
- Сверточные нейронные сети (CNN) — это особый тип глубокого обучения, который очень хорошо работает в задачах компьютерного зрения.
- На входных изображениях выполняется большая предварительная обработка, чтобы сделать их лучше оптимизированными для полностью связанных слоев нейронной сети.
Компьютерное зрение в DataRobot
DataRobot упрощает развертывание приложений компьютерного зрения в виде масштабируемых микросервисов. На нашей торговой площадке есть несколько алгоритмов, которые помогут выполнить работу:
- SalNet автоматически определяет наиболее важные части изображения.
- Обнаружение наготы обнаруживает наготу на изображениях
- Распознавание эмоций анализирует эмоции, отображаемые на изображениях.
- DeepStyle переносит фильтры следующего уровня на ваше изображение.
- Распознавание лиц… распознает лица.
- Запоминаемость изображения определяет, насколько запоминающимся является изображение.
Типичный рабочий процесс для вашего продукта может включать передачу изображений с камеры наблюдения в распознавание эмоций и поднятие флага при проявлении каких-либо агрессивных эмоций или использование обнаружения наготы для блокировки неприемлемых изображений профиля в вашем веб-приложении.
Для более подробного изучения того, как вы можете использовать платформу DataRobot для реализации сложных и полезных задач визуального ИИ, ознакомьтесь с нашим учебником здесь.
Ресурсы по компьютерному зрению
Пакеты и фреймворки
OpenCV — «OpenCV был разработан для повышения эффективности вычислений и уделения особого внимания приложениям, работающим в реальном времени. Принятый во всем мире, OpenCV насчитывает более 47 тысяч человек в сообществе пользователей и оценочное количество загрузок, превышающее 14 миллионов. Диапазон использования варьируется от интерактивного искусства до осмотра шахт, сшивания карт в Интернете или с помощью передовой робототехники.”
SimpleCV — «SimpleCV — это платформа с открытым исходным кодом для создания приложений компьютерного зрения. С его помощью вы получаете доступ к нескольким мощным библиотекам компьютерного зрения, таким как OpenCV, без необходимости предварительно узнавать о битовой глубине, форматах файлов, цветовых пространствах, управлении буфером, собственных значениях или хранении матриц и растровых изображений.»< /p>
Mahotas — «Mahotas — это библиотека компьютерного зрения и обработки изображений для Python. Она включает в себя множество алгоритмов, реализованных на C++ для повышения скорости при работе с пустыми массивами и с очень чистым интерфейсом Python. В настоящее время Mahotas имеет более 100 функций для обработки изображений и компьютерного зрения, и их число продолжает расти.”
Openface — «OpenFace — это Python и Torch реализация распознавания лиц с помощью глубоких нейронных сетей, основанная на статье CVPR 2015 < em>FaceNet: унифицированное встраивание для распознавания лиц и кластеризации Флориана Шроффа, Дмитрия Калениченко и Джеймса Филбина из Google.Torch позволяет запускать сеть на ЦП или с помощью CUDA.”
Ilastik — «Ilastik — это простой и удобный инструмент для интерактивной классификации, сегментации и анализа изображений. Он построен как модульная программная платформа, которая в настоящее время имеет рабочие процессы для автоматизированной (контролируемой) классификации на уровне пикселей и объектов, автоматического и полуавтоматического отслеживания объектов, полуавтоматического отслеживания объектов. автоматическая сегментация и подсчет объектов без обнаружения. Для его использования не требуется опыта обработки изображений.”
Онлайн-курсы и видео
Введение в компьютерное зрение (Georgia Tech и Udacity) — «Этот курс представляет собой введение в компьютерное зрение, включая основы формирования изображения, геометрию изображения камеры, обнаружение и сопоставление функций, многоракурсную геометрию, включая стерео, оценку движения и отслеживание. и классификация. Мы меньше уделяем внимание аспекту машинного обучения в CV, поскольку на самом деле это теория классификации, которую лучше всего изучать на курсах машинного обучения».
Сверточные нейронные сети (Deeplearning.ai и Coursera) — «Этот курс научит вас создавать сверточные нейронные сети и применять их к данным изображения. Благодаря глубокому обучению компьютерное зрение работает намного лучше, чем всего два года назад, и это позволяет использовать множество интересных приложений, от безопасного автономного вождения до точного распознавания лиц и автоматического считывания рентгенологических изображений».
Введение в компьютерное зрение (коричневый) – «Этот курс представляет собой введение в компьютерное зрение, включая основы формирования изображения, геометрию изображения камеры, обнаружение и сопоставление функций, стерео, оценку и отслеживание движения, классификацию изображений, сцену. понимание и глубокое обучение с помощью нейронных сетей. Мы разработаем базовые методы для приложений, которые включают в себя поиск известных моделей на изображениях, восстановление глубины из стерео, калибровку камеры, стабилизацию изображения, автоматическое выравнивание, отслеживание, обнаружение границ и распознавание.
Кроме того, на YouTube есть несколько хороших сериалов. Два самых популярных варианта – это основы компьютерного зрения и краткое введение в компьютерное зрение.
Книги
Компьютерное зрение: алгоритмы и приложения — «Компьютерное зрение: алгоритмы и приложения исследует множество методов, обычно используемых для анализа и интерпретации изображений. В нем также описываются сложные реальные приложения, в которых зрение успешно используется, как для специализированных приложений, таких как медицинская визуализация, так и для развлекательных задач потребительского уровня, таких как редактирование изображений и сшивание, которые учащиеся могут применять к своим личным фотографиям и видео. .”
Programming Computer Vision with Python (O’Reilly) – «Если вы хотите получить общее представление о теории и алгоритмах, лежащих в основе компьютерного зрения, это практическое введение – идеальное место для начала. Вы изучите методы распознавания объектов, трехмерной реконструкции, стереоизображения, дополненной реальности и других приложений компьютерного зрения, следуя наглядным примерам, написанным на Python.
Изучение OpenCV (O’Reilly) – «Изучение OpenCV помещает вас в центр быстро расширяющейся области компьютерного зрения. Эта книга, написанная создателями бесплатной библиотеки OpenCV с открытым исходным кодом, знакомит вас с компьютерным зрением и демонстрирует, как можно быстро создавать приложения, которые позволяют компьютерам «видеть» и принимать решения на основе этих данных».
Читайте также: