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

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

Вы узнаете:

  • Что такое компьютерное зрение?
  • Как компьютерное зрение применяется в современном мире?
  • Как реализовать компьютерное зрение с помощью машинного обучения?

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

Краткое путешествие во времени

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

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

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

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

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

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

- Из "Практического введения в компьютерное зрение с помощью OpenCV" Кеннета Доусона-Хау

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

Понимание, какая проблема решается

Но зачем нам другое средство, если наши человеческие глаза и мозг уже обладают такими мощными возможностями?

Это потому, что компьютеры очень хорошо справляются с одной задачей, очень быстро, не отвлекаясь, как человек. За последние десятилетия сверточные нейронные сети продемонстрировали точность распознавания объектов лучше или сопоставимую с человеческой. Например, в 2015 году глубокая сеть PReLU-Net стала первой компьютерной моделью, которая превзошла человеческую точность в наборе данных ImageNet 2012. .

Впечатляющий! Но какую проблему это все равно решает для бизнеса? Что ж, позвольте мне объяснить.

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

Как компьютерное зрение применяется в современном мире?

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

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

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

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

Как реализовать компьютерное зрение с помощью машинного обучения?

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

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

1-й подход: традиционное машинное обучение (ML)

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

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

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

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

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

2-й подход: глубокое обучение

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

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

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

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

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

Куда мы отправимся отсюда?

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

Эти громкие имена, связанные с вышеупомянутыми вариантами использования, также не означают, что вы должны быть Tesla или Walmart, чтобы узнать, как компьютерное зрение может помочь нам работать более эффективно. Благодаря различным предварительно обученным моделям машинного обучения на основе облака, таким как Google Cloud Vision, Amazon Rekognition, Azure Computer Vision и другим существующим на рынке решениям, возможности для изучения и экспериментов с компьютерным зрением поистине безграничны. Поэтому, если ваша команда в настоящее время регулярно имеет дело с большим количеством изображений или видео, никогда не поздно переосмыслить, как компьютерное зрение может помочь в выполнении работы без особых усилий. Путешествие к открытиям имеет свою цену, но также и отказ от экспериментов, неудач, обучения и развития.

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

использованная литература

  1. Краткая история компьютерного зрения
  2. «Что такое компьютерное зрение и как оно работает? Введение"
  3. Глубокое обучение для чайников
  4. Практическое введение в компьютерное зрение с помощью OpenCV

Первоначально опубликовано на http://thedigitalskye.com 15 февраля 2021 г.