Обнаружение объектов — это задача компьютерного зрения и обработки изображений, которая связана с обнаружением объектов на изображениях или видео. Сейчас решения подобного рода задач актуальны в самых разных реальных приложениях, включая видеонаблюдение, беспилотные автомобили, отслеживание объектов и т. д.
Например, для того, чтобы автомобиль был действительно автономным, он должен понимать и отслеживать окружающие его объекты (такие как автомобили, пешеходы и светофоры), и основным источником информации для этого является камера. Более того, чтобы автомобиль мог безопасно перемещаться по улице, очень важно, обнаруживать объекты в режиме реального времени.
Обнаружение объектов — это компьютерная технология, связанная с компьютерным зрением и обработкой изображений, которая занимается обнаружением экземпляров семантических объектов определенного класса, например, человеческие лица, автомобили, фрукты и т. д., в цифровых изображениях и видео.
В этом уроке мы будем создавать простой скрипт Python, который занимается обнаружением человеческих лиц на изображении, мы будем использовать два метода из библиотеки OpenCV. Во-первых, мы собираемся использовать каскадные классификаторы Хаара, что является простым (и не очень точным), но наиболее удобным способом для новичков.
После этого мы погрузимся в использование детекторов Single Shot Multibox (или коротко SSD), которые представляют собой метод обнаружения объектов на изображениях с использованием одной глубокой нейронной сети.
Примечание: стоит упомянуть, что вам нужно различать обнаружение объекта и классификацию объекта, обнаружение объекта — это обнаружение объекта и его расположение на изображении, а классификация объектов — это распознавание того, к какому классу принадлежит объект. Если вас интересует классификация изображений, перейдите к этому уроку.