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

Одним из примеров CV в действии является использование усовершенствованных систем помощи водителю (ADAS) в автомобилях. Эти системы имеют такие функции, как предотвращение лобового столкновения, удержание полосы движения, обнаружение слепых зон и предотвращение наезда на пешеходов, и, по оценкам, они могут предотвратить 40% всех аварий с участием легковых автомобилей, 37% всех травм и 29% аварий. все смертельные случаи в США.

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

Традиционное резюме

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

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

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

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

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

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

Глубокое обучение

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

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

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

Соображения в производстве

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

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

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

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

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

Связаться с нами

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

*Эта статья была впервые опубликована в блоге Strong Analytics здесь.

Strong Analytics создает науку о данных, машинное обучение и искусственный интеллект корпоративного уровня для поддержки продуктов и решений следующего поколения. Наша команда ученых и инженеров, занимающихся полным стеком данных, ускоряет внедрение инноваций благодаря своему опыту в области разработки, научной строгости и глубокому знанию самых современных технологий. Мы работаем с инновационными организациями всех размеров, от стартапов до компаний из списка Fortune 500. Представьтесь в Twitter или LinkedIn или расскажите нам о своих потребностях в науке о данных.