Соответствие функции ORB и «вырожденное» расстояние Хэмминга - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь найти совпадающие элементы в двух больших изображениях (ортофотопланы, охватывающие сотни акров с разрешением 5 см), чтобы я мог их зарегистрировать.Я нахожу многие тысячи ключевых точек на двух изображениях, а затем нахожу перекрестные проверки совпадений, сортирую их и беру лучшие ~ 30% совпадений.Географически спички не очень хорошие.Вот код:

def find_matches(key1, dsc1, key2, dsc2):

#Match features - this uses the BFmatcher class, I use it to take advantage of crossCheck
matcher = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches = matcher.match(dsc1, dsc2)


# Sort matches by score
matches.sort(key=lambda x:x.distance, reverse=False)

# Remove not so good matches Is this needed when we do geo sort?
print("cross-check matches = ", len(matches))
numGoodMatches = int(len(matches) * GOOD_MATCH_PERCENT)
matches = matches[:numGoodMatches]

# Draw top matches
imMatches = cv2.drawMatches(refimgGray, key1, imgGray, key2, matches, None, flags=4,)
cv2.imwrite(r"C:\AV GIS\matches.jpg", imMatches)

return matches

Когда я смотрю на график расстояния, связанного с отсортированными совпадениями, я вижу много значений расстояния Хэмминга одного и того же значения: График расстояний совпадений - ось Xотсортированный номер совпадения, ось Y - расстояние Хэмминга.Это похоже на лестничные ступени, с множеством спичек на одном и том же расстоянии Хэмминга.

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

Здесьмой вопрос: может ли кто-нибудь объяснить, как решаются совпадения, когда нужно оценить только один балл, а он не уникален?Я попробовал то же самое с изображением с одной камеры (на порядок меньше по количеству пикселей), и даже тогда оценки расстояния не были уникальными.Я неправильно понимаю, как найти и использовать эти совпадения?

ДОБАВЛЕНО - вот график наилучших совпадений ключевых точек, окрашенных по географическим расстояниям. график наилучших совпадений ключевых точек в цвете по географическим расстояниям

...