Найти в Дзене
ConnectXT

Как работает детекция объектов: объясняем на простых примерах

Мы уже писали о том, как ИИ отнимает долю рынков у ретейлеров и маркетплейсов. В этой статье рассказываем, что такое детекция объектов с помощью ИИ и как она применяется на практике. Технологии компьютерного зрения уже давно применяются в самых разных областях. Сегодня они помогают контролировать производство, следить за безопасностью и анализировать дорожную обстановку. Один из самых полезных инструментов в этой области – детекция объектов, или object detection. Простым языком, компьютерное зрение —  это технология, которая позволяет системе увидеть объект на изображении, определить, что это за объект и показать, где именно он находится. Вспомните, как вы в последний раз подтверждали, что вы человек, а не робот на любом сайте с помощью капчи (captcha). Например, задание может быть таким: «Выберите все квадраты, в которых изображены светофоры». Когда человек смотрит на фотографию улицы, он сразу замечает машины, людей, дорожные знаки и светофоры. Для нас это естественно, но для компьют
Оглавление

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

Технологии компьютерного зрения уже давно применяются в самых разных областях. Сегодня они помогают контролировать производство, следить за безопасностью и анализировать дорожную обстановку. Один из самых полезных инструментов в этой области – детекция объектов, или object detection.

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

Что такое object detection

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

ReCAPTCHA v2
Изображение: Google
ReCAPTCHA v2 Изображение: Google

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

Чтобы распознать, что на изображении есть человек, светофор и машина, система должна не просто выдать: «На фото что-то есть». Она должна выделить для себя рамкой каждый объект по-отдельности. Обычно такие рамки называют bounding boxes. По сути, это прямоугольники, которые показывают, где именно находится каждый объект.

-2

Таким образом, детекция объектов выполняет сразу две задачи:

  • определяет, что именно изображено;
  • определяет, где именно оно находится.

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

Чем детекция отличается от классификации изображений

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

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

Детекция объектов работает иначе, как уже было описано выше. Она показывает:

  • это человек, он здесь;
  • это велосипед, он тут;
  • это шлем, он там.

Упрощенно, классификация – это ответ на вопрос «что на картинке?», а детекция – это уже ответ на вопрос «что на картинке и где именно?»

-3

Как работает детекция

Алгоритм выглядит так:

-4

Разберем его по шагам.

1.        Система получает изображение

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

2.        Нейросеть анализирует изображение

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

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

3.        Система дает итоговый результат — рамки и подписи

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

YOLO Object Detection

Один из самых известных подходов в области компьютерного зрения – YOLO Object Detection. Аббревиатура в переводится с английского как «You Only Look Once». Смысл этого подхода в том, что модель старается обработать изображение очень быстро, за один проход, а не разбивать задачу на большое количество отдельных этапов.

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

Где используется детекция объектов

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

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

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

Почему это важно

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

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