Лабораторная 11. Поиск объекта на изображении с помощью ключевых точек
Требуемые условия завершения
Открыто с: вторник, 10 декабря 2024, 00:00
Срок сдачи: пятница, 27 декабря 2024, 23:00
Если имеется фотография искомого объекта, на остальных фотографиях можно найти его местоположение с помощью ключевых точек.
Пример реализации метода для решения данной задачи описан в документации к библиотеке OpenCV. Но у данного подхода есть существенный недостаток, если требуется найти не одно вхождения объекта, а несколько, то данный метод не подходит.
Для реализации алгоритм поиска множества вхождения объекта предлагается два варианта:
1. (Менее надёжный) Построить множество ключевых точек по изображению с искомым объектом и сопоставить их с множеством ключевых точек изображения, на котором ищется объект. При успешном матчинге сохранять 4 точки объекта (см. пример из документации к OpenCV). Далее необходимо удалить точки, которые участвовали в матчинге из множества точек изображения по которому происходит поиск и повторить матчинг заново с этим набором. Повторять поиск до тех пор, пока происходит успешный матчинг.
2. (Более надёжный) Для изображения с искомым объектом построить множество ключевых точек. Построить ключевые точки для изображения на котором ищутся вхождения объекта и кластеризовать данное множество точек по координатам. Причём необходимо использовать алгоритм кластеризации с автоматическим определением количества кластеров (например MeanShift или DBSCAN). Далее произвести матчинг ключевых точек изображения объекта с точками каждого кластера. При успешном матче сохранять 4 точки объекта (как в примере из документации к OpenCV).
Для выполнения лабораторной работы необходимо реализовать оба подхода и сравнить результаты их работы. Для визуализации нужно отрисовать найденные вхождения объектов 4-х угольниками (по аналогии с документацией, только использовать зелёный цвет). Для второго метода требуется дополнительно отрисовать ключевые точки поверх изображения с разделением по кластерам (каждый кластер отрисовать разным цветом).
В качестве изображения объекта использовать приложенное изображение src.png. Поиск необходимо производить на следующих изображениях: dst_1.png, dst_2.png.
Пример реализации метода для решения данной задачи описан в документации к библиотеке OpenCV. Но у данного подхода есть существенный недостаток, если требуется найти не одно вхождения объекта, а несколько, то данный метод не подходит.
Для реализации алгоритм поиска множества вхождения объекта предлагается два варианта:
1. (Менее надёжный) Построить множество ключевых точек по изображению с искомым объектом и сопоставить их с множеством ключевых точек изображения, на котором ищется объект. При успешном матчинге сохранять 4 точки объекта (см. пример из документации к OpenCV). Далее необходимо удалить точки, которые участвовали в матчинге из множества точек изображения по которому происходит поиск и повторить матчинг заново с этим набором. Повторять поиск до тех пор, пока происходит успешный матчинг.
2. (Более надёжный) Для изображения с искомым объектом построить множество ключевых точек. Построить ключевые точки для изображения на котором ищутся вхождения объекта и кластеризовать данное множество точек по координатам. Причём необходимо использовать алгоритм кластеризации с автоматическим определением количества кластеров (например MeanShift или DBSCAN). Далее произвести матчинг ключевых точек изображения объекта с точками каждого кластера. При успешном матче сохранять 4 точки объекта (как в примере из документации к OpenCV).
Для выполнения лабораторной работы необходимо реализовать оба подхода и сравнить результаты их работы. Для визуализации нужно отрисовать найденные вхождения объектов 4-х угольниками (по аналогии с документацией, только использовать зелёный цвет). Для второго метода требуется дополнительно отрисовать ключевые точки поверх изображения с разделением по кластерам (каждый кластер отрисовать разным цветом).
В качестве изображения объекта использовать приложенное изображение src.png. Поиск необходимо производить на следующих изображениях: dst_1.png, dst_2.png.