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

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

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

Человеческий мозг обладает огромным преимуществом перед тем, как делать то, что он делает без особых усилий. Когда вы ведете машину, найдите минутку, чтобы количественно оценить сотни входных сигналов, которые получают ваши глаза, и долю времени, которая уходит на принятие решений без особых усилий. Если бы компьютер обрабатывал все эти данные, это означало бы захват всех этих данных в качестве входного изображения, идентификацию дорог и переулков, объектов и препятствий, оценку расстояния, семантическую сегментацию, распознавание дорожных знаков, все сразу. Объем вычислений, необходимых для эффективного выполнения этой задачи, составляет около 250 триллионов операций в секунду (TOPS), в то время как самые совершенные беспилотные автомобили в настоящее время выполняют около 10 TOP. Опять же, это не означает, что мы безнадежно отстали в технологиях автономного вождения; напротив, если закон Мура является каким-либо показателем, это означает, что мы находимся всего в паре лет от полной системы автономного вождения.

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

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

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

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

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

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

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

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

Внутренности

Нейронная сеть (Convolutional Neural Network, CNN) — это прежде всего сеть с множеством узлов и ребер. С каждым узлом и ребром связано число, которое описывает его «вес». Вход в сеть — это сериализованное представление изображения, выходом сети могут быть ограничивающие прямоугольники различных объектов, которые мы хотим, чтобы эта сеть идентифицировала. Между ними есть несколько скрытых слоев: их задача — преобразовать входное изображение в желаемый результат.

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

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

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

Какую пользу может принести решение Computer Vision для вашего бизнеса?

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

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

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

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

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

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

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

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

Для обрабатывающей промышленности ниже приведены некоторые варианты использования Computer Vision:

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

Следующие шаги

Мы создаем комплексные решения Computer Vision. Это включает в себя все, от компьютерного зрения, встроенных систем, интеграции в реальном времени и серверной части полного стека. Мы следуем оптимизированному процессу, который начинается с процесса обнаружения и быстро создает доказательство концепции (пилотное решение), а затем расширяет его до готовой к производству системы. Пилотный этап обычно занимает около 3–4 недель.

Если вы обдумываете решение Computer Vision для своего бизнеса, сделайте следующий шаг вместе с нами. Вы можете связаться с нами по адресу [email protected] для получения подробной информации о режиме. Спасибо, что нашли время, чтобы прочитать эту статью, и я очень ценю любой отзыв!