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

Обновлено: 05.07.2024

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

Привет! Этот блог состоит из почти 2000+ слов, и его прохождение может занять около 8 минут. Мы понимаем, что у вас может не быть столько времени.

Именно поэтому мы сняли короткое видео на эту тему. Это менее 2 минут, и в нем кратко рассказывается, как можно использовать машинное обучение в повседневной жизни? Мы надеемся, что это поможет вам узнать больше и сэкономить ваше время. Ура!

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

Что такое машинное обучение?

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

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

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

Типы машинного обучения

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

1. Обучение под наблюдением

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

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

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

2. Обучение без учителя

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

Как это работает?

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

3. Обучение с подкреплением

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

Как это работает?

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

9 реальных проблем, решаемых с помощью машинного обучения

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

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

Здесь мы обсуждаем девять вариантов использования машинного обучения —

1. Определение спама

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

Но как они узнают, что письмо является спамом?

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

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

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

2. Рекомендации по продуктам

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

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

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

3. Сегментация клиентов

Сегментация клиентов, прогнозирование их оттока и прогнозирование общей ценности клиентов (LTV) — основные проблемы, с которыми сталкивается любой маркетолог. У компаний есть огромное количество релевантных маркетинговых данных из различных источников, таких как кампании по электронной почте, данные о посетителях веб-сайта и данные о потенциальных клиентах.

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

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

4. Распознавание изображений и видео

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

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

Подобно распознаванию изображений такие компании, как Shutterstock , eBay , Salesforce , Amazon и Facebook, используют машинное обучение для распознавания видео, когда видео разбивается на кадр за кадром и классифицируется как отдельные цифровые изображения.

5. Мошеннические транзакции

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

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

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

6. Прогнозирование спроса

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

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

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

7. Виртуальный личный помощник

От Alexa и Google Assistant до Cortana и Siri, у нас есть несколько виртуальных личных помощников, которые с помощью наших голосовых инструкций находят точную информацию, например, о звонке кому-либо, открытии электронной почты, назначении встречи и т. д.

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

8. Анализ тональности

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

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

9. Автоматизация обслуживания клиентов

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

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

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

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

Подведение итогов

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

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

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

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

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

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

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

Начните свой проект с моей новой книги Deep Learning for Computer Vision, включающей пошаговые руководства и файлы исходного кода Python для всех примеров.< /p>

Приступим.

Обзор

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

  1. Классификация изображений
  2. Классификация изображений с локализацией
  3. Обнаружение объектов
  4. Сегментация объектов
  5. Перенос стиля изображения
  6. Раскрашивание изображения
  7. Реконструкция изображения
  8. Сверхвысокое разрешение изображения
  9. Синтез изображений
  10. Другие проблемы

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

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

Каждый пример содержит описание проблемы, пример и ссылки на документы, демонстрирующие методы и результаты.

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

Классификация изображений

Классификация изображений включает присвоение метки всему изображению или фотографии.

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

Некоторые примеры классификации изображений включают:

  • Пометка рентгеновского снимка как рака или нет (бинарная классификация).
  • Классификация рукописных цифр (мультиклассовая классификация).
  • Присвоение имени фотографии лица (мультиклассовая классификация).

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

Пример рукописных цифр из набора данных MNIST

Пример рукописных цифр из набора данных MNIST

Популярной реальной версией классификации фотографий цифр является набор данных Street View House Numbers (SVHN).

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

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

Пример фотографий объектов из набора данных CIFAR-10

Пример фотографий объектов из набора данных CIFAR-10

The Large Scale Visual Recognition Challenge (ILSVRC) – это ежегодное соревнование, в котором команды соревнуются за лучшую производительность в ряде задач компьютерного зрения на основе данных, взятых из базы данных ImageNet. Многие важные достижения в классификации изображений были получены благодаря статьям, опубликованным по задачам этой задачи или посвященным им, в первую очередь ранним работам по задаче классификации изображений. Например:

Хотите получить результаты с помощью глубокого обучения для компьютерного зрения?

Пройдите мой бесплатный 7-дневный экспресс-курс по электронной почте прямо сейчас (с образцом кода).

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

Нажмите здесь, чтобы подписаться

Классификация изображений с локализацией

Классификация изображений с локализацией включает в себя присвоение изображению метки класса и отображение местоположения объекта на изображении с помощью ограничительной рамки (рисование рамки вокруг объекта).

Это более сложная версия классификации изображений.

Некоторые примеры классификации изображений с локализацией включают:

  • Отметить рентгеновский снимок как рак или нет и нарисовать рамку вокруг раковой области.
  • Классификация фотографий животных и рисование прямоугольника вокруг животного в каждой сцене.

Классическим набором данных для классификации изображений с локализацией являются наборы данных PASCAL Visual Object Classes или сокращенно PASCAL VOC (например, VOC 2012). Это наборы данных, которые использовались в задачах компьютерного зрения на протяжении многих лет.

Пример классификации изображений с локализацией собаки из VOC 2012

Пример классификации изображений с локализацией собаки из VOC 2012

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

Пример классификации изображений с локализацией нескольких стульев из VOC 2012

Пример классификации изображений с локализацией нескольких стульев из VOC 2012

Набор данных ILSVRC2016 для классификации изображений с локализацией — это популярный набор данных, состоящий из 150 000 фотографий с 1000 категорий объектов.

Некоторые примеры работ по классификации изображений с локализацией включают:

Обнаружение объектов

Обнаружение объектов — это задача классификации изображений с локализацией, хотя изображение может содержать несколько объектов, требующих локализации и классификации.

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

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

Некоторые примеры обнаружения объектов включают:

  • Рисование ограничивающей рамки и маркировка каждого объекта на уличной сцене.
  • Рисование ограничивающей рамки и маркировка каждого объекта на фотографии в помещении.
  • Рисование ограничивающей рамки и маркировка каждого объекта в ландшафте.

Наборы данных PASCAL Visual Object Classes, или сокращенно PASCAL VOC (например, VOC 2012), являются общим набором данных для обнаружения объектов.

Еще один набор данных для нескольких задач компьютерного зрения — набор данных Common Objects in Context от Microsoft, часто называемый MS COCO.

Пример обнаружения объектов с помощью Faster R-CNN в наборе данных MS COCO

Пример обнаружения объектов с помощью Faster R-CNN в наборе данных MS COCO

Некоторые примеры документов по обнаружению объектов включают:

Сегментация объектов

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

Обнаружение объектов также иногда называют сегментацией объектов.

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

В более общем смысле под «сегментацией изображения» может пониматься сегментация всех пикселей изображения на разные категории объектов.

Опять же, наборы данных VOC 2012 и MS COCO можно использовать для сегментации объектов.

Пример сегментации объектов в наборе данных COCO

Пример сегментации объектов в наборе данных COCO
Взято из «Mask R-CNN».

KITTI Vision Benchmark Suite — еще один популярный набор данных для сегментации объектов, предоставляющий изображения улиц, предназначенные для обучения моделей беспилотных транспортных средств.

Некоторые примеры документов по сегментации объектов включают:

Перенос стиля

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

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

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

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

Пример нейростиля переноса известных произведений искусства на фотографию

Пример переноса нейронного стиля с известных произведений искусства на фотографию
Взято из «Нейронного алгоритма художественного стиля»

Некоторые документы включают:

Раскрашивание изображения

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

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

Примеры включают раскрашивание старых черно-белых фотографий и фильмов.

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

Примеры раскрашивания фотографий

Примеры раскрашивания фотографий
Взято из раздела «Цветное раскрашивание изображений»

Некоторые документы включают:

Реконструкция изображения

Реконструкция изображения и закрашивание изображения — это задача заполнения отсутствующих или поврежденных частей изображения.

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

Примеры включают восстановление старых, поврежденных черно-белых фотографий и фильмов (например, восстановление фотографий).

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

Пример фоторисовки

Пример закрашивания фотографии.
Взято из статьи «Закрашивание изображения для отверстий неправильной формы с использованием частичных сверток»

Некоторые документы включают:

Суперразрешение изображения

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

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

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

Пример результатов различных методов сверхвысокого разрешения

Пример результатов различных методов сверхвысокого разрешения.
Взято из статьи «Фотореалистичное сверхвысокое разрешение одного изображения с использованием генеративно-состязательной сети»

Некоторые документы включают:

Синтез изображений

Синтез изображений – это задача создания целевых модификаций существующих изображений или совершенно новых изображений.

Это очень обширная область, которая быстро развивается.

Это может включать небольшие модификации изображения и видео (например, перевод изображения на изображение), например:

  • Изменение стиля объекта в сцене.
  • Добавление объекта на сцену.
  • Добавление лица в сцену.

 Пример оформления зебр и лошадей

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

Это может также включать создание совершенно новых изображений, например:

  • Создание лиц.
  • Создание ванных комнат.
  • Создание одежды.

Пример сгенерированных ванных комнат

Пример сгенерированных ванных комнат.
Взято из статьи «Неконтролируемое репрезентативное обучение с помощью глубоко сверточных генеративно-состязательных сетей»

Некоторые документы включают:

Другие проблемы

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

Примечательные примеры преобразования изображения в текст и преобразования текста в изображение:

    Подпись к изображению: Генерация текстового описания изображения.
      , 2014.
      , 2015.
      , 2017.

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

    Дополнительная литература

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

    Анкеты

    Наборы данных

    Статьи

    Ссылки

    Обзор

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

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

    Есть вопросы?
    Задавайте свои вопросы в комментариях ниже, и я постараюсь ответить.

    Разработайте модели глубокого обучения для машинного зрения уже сегодня!

    Глубокое обучение для компьютерного зрения

    Разработайте собственные модели видения за считанные минуты

    <р>. всего несколькими строками кода Python

    Он содержит учебные пособия для самостоятельного изучения по таким темам, как
    классификация, обнаружение объектов (yolo и rcnn), распознавание лиц (vggface и facenet). ), подготовка данных и многое другое.

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

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

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

    Прочитав этот пост, вы узнаете:

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

    Начните свой проект с моей новой книги Deep Learning for Computer Vision, включающей пошаговые руководства и файлы исходного кода Python для всех примеров.< /p>

    Приступим.

     Нежное введение в компьютерное зрение

    Нежное введение в компьютерное зрение
    Фото Акселя Кристинссона, некоторые права защищены.

    Обзор

    1. Желание, чтобы компьютеры видели
    2. Что такое компьютерное зрение?
    3. Вызов компьютерного зрения
    4. Задачи в Computer Vision

    Желание, чтобы компьютеры видели

    Мы купаемся в изображениях.

    Смартфоны оснащены камерами, а снимать фото или видео и делиться ими стало как никогда просто, что привело к невероятному росту современных социальных сетей, таких как Instagram.

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

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

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

    Это тривиальная проблема для человека, даже для маленького ребенка.

    • Человек может описать содержание фотографии, которую он видел однажды.
    • Человек может резюмировать видео, которое он видел только один раз.
    • Человек может узнать лицо, которое он видел только однажды.

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

    Хотите получить результаты с помощью глубокого обучения для компьютерного зрения?

    Пройдите мой бесплатный 7-дневный экспресс-курс по электронной почте прямо сейчас (с образцом кода).

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

    Нажмите здесь, чтобы подписаться

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

    Компьютерное зрение — это область исследования, посвященная проблеме помощи компьютерам в зрении.

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

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

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

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

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

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

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

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

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

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

    Компьютерное зрение и обработка изображений

    Компьютерное зрение отличается от обработки изображений.

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

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

    Примеры обработки изображений включают:

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

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

    Помочь компьютерам увидеть очень сложно.

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

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

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

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

    Одна из причин заключается в том, что мы плохо понимаем, как работает человеческое зрение.

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

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

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

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

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

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

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

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

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

    • Оптическое распознавание символов (OCR)
    • Осмотр машины
    • Розничная торговля (например, автоматизированные кассы)
    • Построение 3D-моделей (фотограмметрия)
    • Медицинская визуализация
    • Автомобильная безопасность
    • Подбор движения (например, объединение компьютерной графики с живыми актерами в фильмах)
    • Захват движения (мокап)
    • Наблюдение
    • Распознавание отпечатков пальцев и биометрия

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

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

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

    Многие популярные приложения компьютерного зрения пытаются распознавать объекты на фотографиях. например:

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

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

    Дополнительная литература

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

    Книги

    Статьи

    Обзор

    В этом посте вы нашли небольшое введение в область компьютерного зрения.

    В частности, вы узнали:

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

    Есть вопросы?
    Задавайте свои вопросы в комментариях ниже, и я постараюсь ответить.

    Разработайте модели глубокого обучения для машинного зрения уже сегодня!

    Глубокое обучение для компьютерного зрения

    Разработайте собственные модели видения за считанные минуты

    <р>. всего несколькими строками кода Python

    Он содержит учебные пособия для самостоятельного изучения по таким темам, как
    классификация, обнаружение объектов (yolo и rcnn), распознавание лиц (vggface и facenet). ), подготовка данных и многое другое.

    Если бы я попросил вас назвать предметы на картинке ниже, вы, вероятно, составили бы список таких слов, как «скатерть, корзина, трава, мальчик, девочка, мужчина, женщина, бутылка апельсинового сока, помидоры, листья салата». , одноразовые тарелки…» недолго думая. Теперь, если бы я попросил вас описать изображение ниже, вы, вероятно, снова сказали бы: «Это изображение семейного пикника», не задумываясь.

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

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

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

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

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

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

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

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

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

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

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

    3D-рендеринг сети двоичного кода данных научной технологии. Компьютерный двоичный код синего цвета с глубиной резкости

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

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

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

    Компьютерное зрение используется в самых разных отраслях: от энергетики и коммунальных услуг до производства и автомобилестроения, и рынок продолжает расти. Ожидается, что к 2022 году он достигнет 48,6 млрд долларов США. 1

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

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

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

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

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

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

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

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

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

    В 1974 году была представлена ​​технология оптического распознавания символов (OCR), позволяющая распознавать текст, напечатанный любым шрифтом или гарнитурой. (3) Точно так же интеллектуальное распознавание символов (ICR) может расшифровывать рукописный текст с помощью нейронных сетей. (4) С тех пор OCR и ICR нашли свое применение в обработке документов и счетов, распознавании автомобильных номеров, мобильных платежах, машинном переводе и других распространенных приложениях.

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

    К 2000 году основное внимание уделялось распознаванию объектов, а к 2001 году появились первые приложения для распознавания лиц в реальном времени.Стандартизация того, как наборы визуальных данных помечаются и аннотируются, появилась в 2000-х годах. В 2010 году стал доступен набор данных ImageNet. Он содержал миллионы помеченных изображений в тысячах классов объектов и обеспечивает основу для CNN и моделей глубокого обучения, используемых сегодня. В 2012 году команда из Университета Торонто представила CNN для участия в конкурсе по распознаванию изображений. Модель под названием AlexNet значительно снизила количество ошибок при распознавании изображений. После этого прорыва количество ошибок снизилось до нескольких процентов. (5)

    Читайте также: