Исследовать простейшие алгоритмы детектирования объектов на изображении.
- Реализовать программу согласно описанию. Можно использовать языки C++ или Python и любые библиотеки, при этом необходимо чтобы вся задача не решалась только с помощью одной встроенной функции (например, lib.detect_template(image, template).
- Сравнить качество работы двух вариантов реализации по точности детектирования.
- Сделать отчёт в виде readme на GitHub, там же должен быть выложен исходный код.
Необходимо реализовать два примитивных детектора объектов на изображении, работающих с помощью поиска эталона на входном изображении.
- Прямой поиск одного изображения на другом (template matching)
- Поиск ключевых точек эталона на входном изображении (например, с помощью SIFT, ORB..)
Программа должна принимать на вход два изображения, эталон и то, на котором будет производиться поиск. На выходе программа должна строить рамку в виде четырехугольника в области, где с наибольшей вероятностью находится искомый объект. Необходимо протестировать оба варианта программы на разных изображениях (например, сначала в качестве эталона использовать вырезанный фрагмент входного изображения, а затем изображение какого-либо предмета сцены, присутствующего на входном изображении, но сфотографированного с другого ракурса или с другим освещением), не менее 10 тестовых примеров.
Template matching — это метод обработки цифровых изображений для поиска небольших частей изображения, которые соответствуют изображению-шаблону. В качестве метрики можно использовать: Sum of Squared Differences (SSD), Cross Correlation (CCORR)
Для детектирования используются:
- CV_TM_SQDIFF — сумма квадратов разности значений пикселей
- CV_TM_SQDIFF_NORMED — сумма квадрат разности цветов (нормированно 0..1)
- CV_TM_CCORR — сумма поэлементных произведений шаблона и сегмента картинки
- CV_TM_CCORR_NORMED — сумма поэлементных произведений (нормированно -1..1)
- CV_TM_CCOEFF — кросс-коррелация изображений без среднего
- CV_TM_CCOEFF_NORMED — кросс-корреляция между изображениями без среднего (нормированно -1..1)
Исследованны простейшие алгоритмы детектирования объектов на изображении. В некоторых вариантах неверно определены границы искомого объекта. С учётом произведения нескольких экспериментов были замечены как погрешности в определении горизонтальной перспективы, так и при добавлении шума. Но данный момент можно списать на высокую детализацию выбраных изображений.
https://habr.com/ru/post/519454/
https://docs.opencv.org/4.x/d4/dc6/tutorial_py_template_matching.html










