Функционалното съпоставяне с помощта на OpenCV ORB не дава задоволителни резултати през цялото време

Използвам OpenCV ORB за проверка дали две изображения са подобни или не. ORB е ефективен и ми дава най-добри резултати през повечето време. Но в някои случаи изходът на ORB не е задоволителен. Използвам параметър distance, получен след KnnMatch, за идентифициране на подобни изображения.

Моята логика - Ако диапазонът на стойността на разстоянието започва от по-малка стойност, тогава изображенията са подобни.

Моят код е достъпен в тази връзка

Изображение1

Изображение2

Изображение3

След сравнението резултатът казва, че Image2 и Image3 са подобни на Image1

Трябва ли да променя тази логика в зависимост от разстоянието? Дали един подход, комбиниран с машинно обучение и OpenCV ORB, ще бъде решение?


person George T Kurian    schedule 11.10.2018    source източник


Отговори (1)


Направих проект, подобен на вашия, и също имах проблеми с ORB. ORB е добър за съпоставяне на ключови точки и открих, че е относително добър в това, докато го използвам по същия начин, както и вие, сортиране по разстояние.

Ако обаче искате да определите колко подобни са изображения вместо само ключовите точки на изображението, тогава вместо да броите колко съвпадения на ключови точки имате в изображенията, опитайте да сравните разстоянието (разстоянията) между различни ключови точки на едно и също изображение към разстоянието (разстоянията) между съответните точки на другото изображение.

person Daniel Kirmani    schedule 12.10.2018
comment
Не можах да разбера какво се опитваш да кажеш. Можеш ли да обясниш? - person George T Kurian; 12.10.2018