Как использовать компьютерное зрение в бизнесе: алгоритмы детекции
Эксперт Денис Стенюшкин об алгоритмах обнаружения объектов и способах их применения

Опыт работы в IT – более 13 лет. Страстный любитель темы искусственного интеллекта. Специалист по компьютерному зрению и машинному обучению ИТ-компании SimbirSoft
В предыдущей статье мы рассмотрели алгоритмы классификации в компьютерном зрении и то, в каких задачах они могут применяться. Сегодня мы поговорим о следующей области компьютерного зрения — детекцию объектов.
Что такое детекция объектов
Алгоритмы детекции позволяют определить наличие на изображении тех или иных объектов, а также уточнить их местоположение. Таким образом, их отличие от алгоритмов классификации заключается в двух основных пунктах:
- Алгоритмы детекции имеют на выходе не только классы объектов, но и их координаты. Как правило, это координаты углов ограничивающей рамки объекта;
- Алгоритмы детекции естественным образом работают с множеством объектов на изображении: если на изображении есть и котик, и собачка, алгоритм детекции обнаружит их обоих.
На рисунке ниже наглядно представлено отличие классификации изображений от детекции объектов.

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

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

Анализ выкладки продуктов на полках супермаркетов
В подобных задачах алгоритмы детекции объектов можно применять напрямую, чтобы обнаружить пустые полки, ошибки выкладки, а также бракованный товар. Основная идея остается такой же: сначала обнаруживаем и классифицируем товары, а затем по необходимости уточняем их характеристики другими алгоритмами.
Такие решения можно интегрировать с другими системами. Например, настроить автооповещение персонала при обнаружении пустых мест, несоответствии ценников выкладке товара, выявлении бракованной упаковки. И снова получаем выгоду для бизнеса: ускорение проверок выкладки, снижение пустых полок.
Контроль дорожного движения
Алгоритмы детекции позволяют обнаруживать автомобили, пешеходов, элементы дорожной разметки и инфраструктуры, а также анализировать их поведение. Полученные данные могут использоваться для контроля безопасности дорожного движения, выявления правонарушений, анализа загруженности дорог и прочих целей.
В целом алгоритмы детекции объектов применяются в случаях, когда необходимо обнаруживать на изображениях или видео один или несколько объектов, и одновременно уточнить их местоположение с помощью ограничивающих рамок. Эмпирическое правило такое: если объекты можно увидеть на изображении невооруженным взглядом, то и алгоритмы детекции, скорее всего, сработают
Если положение уточнять не требуется, а объект на изображении всегда только один или их число известно заранее, то можно воспользоваться алгоритмами классификации изображений. Если требуется более точное, чем ограничивающая рамка, определение границ объектов, то следует рассмотреть один из вариантов сегментационных алгоритмов, которым будет посвящена одна из наших следующих статей.
Особенности алгоритмов детекции объектов
Задачи детекции объектов решаются тем же подходом, что и рассмотренные в прошлый раз задачи классификации изображений. Этапы работы включают сбор и предварительную обработку данных, выбор и обучение моделей, их тестирование, оптимизацию и деплоймент. Однако, детекция в некотором смысле сложнее классификации, а потому при работе с ней следует учитывать ряд особенностей.
Во-первых, алгоритмы детекции требуют больше данных для обучения. В случае детекции относительно простых объектов, размер датасета должен начинаться от полутора-двух тысяч изображений. В сложных случаях, при наличии разнообразных объектов, сложных условиях съемки требуемый объем данных может составлять около десяти тысяч изображений и более.
Во-вторых, алгоритмы детекции требуют более сложных подходов к оценке качества. Понятия точности и полноты расширяются для поддержки изображений с объектами разных классов, кроме того, вводятся дополнительные метрики для оценки точности ограничивающих рамок. Также, в задачах детекции объектов часто встает вопрос баланса между ложными срабатываниями и пропуском объектов, что также отражается на выборе метрик и оценке их значений.
В-третьих, алгоритмы детекции часто применяются в анализе видео, что усложняет систему:
- Требуются дополнительные алгоритмы трекинга для сопоставления детекций одного и того же объекта на разных кадрах;
- Накладываются ограничения на скорость работы алгоритмов, что требует дополнительных усилий по их оптимизации;
- Может потребоваться сопоставление детекций одного и того же объекта не только на разных кадрах одного видеопотока, но и между видеопотоками, что приводит к необходимости разработки алгоритмов ре-идентификации объектов.
Однако для большинства сценариев уже разработаны качественные алгоритмы и подходы, которые позволяют решить возникающие проблемы и построить систему, работающую с требуемым качеством.
Резюме
Алгоритмы детекции объектов представляют собой более развитое по сравнению с классификацией семейство алгоритмов компьютерного зрения, позволяющее решать сложные задачи в сценариях реального мира. Детекция применяется в производстве для контроля качества сырья и готовой продукции, в ритейле, в медицине, в обеспечении техники безопасности и охране общественного порядка, а также в других областях.
Несмотря на некоторые особенности работы, в настоящее время существует множество сценариев применения алгоритмов детекции.
Сфера применения растет, и в ближайшем будущем мы можем узнать о новых кейсах использования компьютерного зрения в повседневной жизни.
Источники изображений:
Shutterstock.com, Unsplash.com, Ambolt.io, Viso.ai
Рубрики
Интересное:
Новости отрасли:
Все новости:
Публикация компании
Рубрики


