Как перевести евклидово расстояние в процентную достоверность? - PullRequest
0 голосов
/ 17 мая 2019

У меня есть приложение, выполняющее распознавание лиц, которое использует евклидово расстояние для сравнения закодированных массивов лиц. Алгоритм выводит расстояние между двумя изображениями лиц в виде значения с плавающей запятой.

Я могу рассчитать расстояние между изображениями. Однако HTTP API, который оборачивает эту функциональность, должен иметь confidence_percentage. Как мне лучше всего этого добиться?

Я поставил временный хак на место:

    confidence_percentage = float(max(0, 100 - distance))

Взлом не идеален, так как люди будут фильтровать результаты по '99' и получать плохие совпадения, так как это вовсе не реальный процент.

Сравнительный SQL:

SELECT * from my_stored_encodings 
ORDER BY 
      sqrt(
         power(e1 - TEST_ENCODING_VALUE_0_HERE, 2) + 
         power(e2 - TEST_ENCODING_VALUE_1_HERE, 2) + 
         power(..... etc.... 
     )
...