сортировка по вхождению
каждая из найденных SIFT точек имеет некоторый список возможностей. если мы создадим гистограмму этих объектов (посчитаем, сколько сходных или идентичных точек есть), то мы можем сгруппировать точки с одинаковым вхождением. Идея состоит в том, что если мы получили n
размещений объектов на изображении, то каждая из его ключевых точек должна быть n
раз дублирована в конечном изображении.
Таким образом, если у нас есть много точек с n
раз, это намекает на то, что мы получили n
похожих объектов на изображении. Из этого мы выбираем только эти ключевые точки для следующего шага.
поиск объектов
каждый объект может иметь разный масштаб, положение и ориентацию. Предположим, они получили одинаковое соотношение сторон. Таким образом, соответствующие ключевые точки в каждом объекте должны иметь одинаковые относительные свойства между объектами (например, относительный угол между ключевыми точками, нормализованное расстояние и т. Д.).
Таким образом, задача состоит в том, чтобы перегруппировать наши ключевые точки в каждый объект, чтобы все объекты имели одинаковые ключевые точки и одинаковые относительные свойства.
Это может быть сделано методом грубой силы (тестирование всей комбинации и проверка свойств) или RANSAC или любым другим способом.
Обычно мы выбираем одну первую ключевую точку (независимо от того, какая) и находим 2 другие, которые образуют одинаковый угол и относительное расстояние (во всех объектах)
, поэтому угол такой же, а |p1-p0| / |p2-p0|
такой же или близкий. При группировке понимают, что ключевые точки внутри объектов с большей вероятностью ближе друг к другу ... поэтому мы можем расширить наш поиск по расстоянию от первой выбранной ключевой точки ...., чтобы решить, к какому объекту ключевая точка вероятно, принадлежит (если попробовать те, которые у нас есть, мы получили высокую вероятность, что быстро нашли нашу комбинацию). Все остальные пункты pi
мы можем добавить аналогично по одному (используя p0,p1,pi
)
Итак, я бы начал с ближайших 2-х ключевых точек ... (иногда это может быть загрязнено перекрытием или касанием зеркальных изображений), поскольку ключевая точка от соседнего объекта иногда может быть ближе, чем от собственной ...
После такой перегруппировки просто проверьте, имеют ли все найденные объекты одинаковые свойства (соотношение сторон) ... для их визуализации вы можете найти OBB (Oriented Bounding Box) ключевых точек (которые могут использоваться также для проверки)