@alekssamos
Программист любитель

Евклидово расстояние: если нет ближайших совпадений чтобы ничего не выдавал?

https://github.com/ageitgey/face_recognition/issue...
Есть вот такой запрос:
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.... 
     )

Полный мой запрос под этим спойлером
SELECT name from faces ORDER BY       sqrt(power(e0 - -0.058757878839969635, 2) + power(e1 - 0.08202210813760757, 2) + power(e2 - 0.08120301365852356, 2) + power(e3 - -0.14567328989505768, 2) + power(e4 - -0.16453322768211365, 2) + power(e5 - -0.028207020834088326, 2) + power(e6 - -0.0011101029813289642, 2) + power(e7 - -0.009499860927462578, 2) + power(e8 - 0.20172275602817535, 2) + power(e9 - -0.10050436854362488, 2) + power(e10 - 0.23921699821949005, 2) + power(e11 - -0.04117730259895325, 2) + power(e12 - -0.25404685735702515, 2) + power(e13 - -0.030718021094799042, 2) + power(e14 - -0.04443284124135971, 2) + power(e15 - 0.2119947224855423, 2) + power(e16 - -0.15480948984622955, 2) + power(e17 - -0.11069554090499878, 2) + power(e18 - -0.14418131113052368, 2) + power(e19 - -0.05545298382639885, 2) + power(e20 - -0.008754253387451172, 2) + power(e21 - 0.0971180722117424, 2) + power(e22 - -0.015254639089107513, 2) + power(e23 - 0.02098940685391426, 2) + power(e24 - -0.10583356767892838, 2) + power(e25 - -0.32913750410079956, 2) + power(e26 - -0.004030960611999035, 2) + power(e27 - -0.10899443179368973, 2) + power(e28 - -0.04009107127785683, 2) + power(e29 - -0.038295939564704895, 2) + power(e30 - 0.02150139957666397, 2) + power(e31 - 0.14897270500659943, 2) + power(e32 - -0.0940895527601242, 2) + power(e33 - -0.04611063748598099, 2) + power(e34 - 0.04807322472333908, 2) + power(e35 - 0.01725597120821476, 2) + power(e36 - -0.10323217511177063, 2) + power(e37 - -0.07815054059028625, 2) + power(e38 - 0.3113420009613037, 2) + power(e39 - -0.019970867782831192, 2) + power(e40 - -0.21352165937423706, 2) + power(e41 - -0.030864395201206207, 2) + power(e42 - 0.10343596339225769, 2) + power(e43 - 0.20735733211040497, 2) + power(e44 - 0.20266222953796387, 2) + power(e45 - -0.006035029888153076, 2) + power(e46 - 0.09419837594032288, 2) + power(e47 - -0.0789768248796463, 2) + power(e48 - 0.1355728954076767, 2) + power(e49 - -0.34714609384536743, 2) + power(e50 - 0.010593093931674957, 2) + power(e51 - 0.15562473237514496, 2) + power(e52 - 0.04002619907259941, 2) + power(e53 - 0.08853879570960999, 2) + power(e54 - 0.11648805439472198, 2) + power(e55 - -0.15510520339012146, 2) + power(e56 - 0.004207571968436241, 2) + power(e57 - 0.12924140691757202, 2) + power(e58 - -0.2446543574333191, 2) + power(e59 - 0.007102531380951405, 2) + power(e60 - 0.06853838264942169, 2) + power(e61 - -0.13385207951068878, 2) + power(e62 - -0.1153358668088913, 2) + power(e63 - -0.08689409494400024, 2) + power(e64 - 0.24589963257312775, 2) + power(e65 - 0.09826686978340149, 2) + power(e66 - -0.145132914185524, 2) + power(e67 - -0.15101081132888794, 2) + power(e68 - 0.21152529120445251, 2) + power(e69 - -0.14584414660930634, 2) + power(e70 - -0.08227428048849106, 2) + power(e71 - 0.09085150808095932, 2) + power(e72 - -0.10083365440368652, 2) + power(e73 - -0.18231865763664246, 2) + power(e74 - -0.2380615621805191, 2) + power(e75 - 0.0732310563325882, 2) + power(e76 - 0.3368750810623169, 2) + power(e77 - 0.1686544269323349, 2) + power(e78 - -0.14122793078422546, 2) + power(e79 - 0.06199885159730911, 2) + power(e80 - -0.02504791133105755, 2) + power(e81 - -0.059989649802446365, 2) + power(e82 - 0.05186689645051956, 2) + power(e83 - 0.0764043927192688, 2) + power(e84 - -0.004615427926182747, 2) + power(e85 - -0.0848599299788475, 2) + power(e86 - -0.04826050251722336, 2) + power(e87 - 0.023694947361946106, 2) + power(e88 - 0.15972347557544708, 2) + power(e89 - -0.09061616659164429, 2) + power(e90 - 0.02226901613175869, 2) + power(e91 - 0.23574291169643402, 2) + power(e92 - 0.060681652277708054, 2) + power(e93 - -0.006967979017645121, 2) + power(e94 - -0.02175423502922058, 2) + power(e95 - 0.0697832927107811, 2) + power(e96 - -0.08059295266866684, 2) + power(e97 - 0.04979628324508667, 2) + power(e98 - -0.10773693025112152, 2) + power(e99 - 0.10535576939582825, 2) + power(e100 - 0.12150944024324417, 2) + power(e101 - -0.021387403830885887, 2) + power(e102 - 0.042315639555454254, 2) + power(e103 - 0.059304215013980865, 2) + power(e104 - -0.10706527531147003, 2) + power(e105 - 0.14218692481517792, 2) + power(e106 - -0.10327351093292236, 2) + power(e107 - -0.03891237825155258, 2) + power(e108 - -0.044097501784563065, 2) + power(e109 - -0.08086911588907242, 2) + power(e110 - -0.04346528649330139, 2) + power(e111 - -0.023280125111341476, 2) + power(e112 - 0.15547749400138855, 2) + power(e113 - -0.21489202976226807, 2) + power(e114 - 0.18440838158130646, 2) + power(e115 - 0.09004199504852295, 2) + power(e116 - -0.047894299030303955, 2) + power(e117 - 0.17128057777881622, 2) + power(e118 - 0.08235049992799759, 2) + power(e119 - 0.07481025159358978, 2) + power(e120 - 0.04400428757071495, 2) + power(e121 - -0.06139522045850754, 2) + power(e122 - -0.1976262480020523, 2) + power(e123 - -0.12048925459384918, 2) + power(e124 - 0.09545028209686279, 2) + power(e125 - 0.009879729710519314, 2) + power(e126 - 0.05329643189907074, 2) + power(e127 - 0.054771874099969864, 2) );


Всё хорошо работает, находит, возвращает.

Но если такого лица нет, он покажет последнее добавленное.
А мне надо, чтобы если такого лица (такой кодировки) нет, не выводил ничего.
Может ещё какой-то фильтр добавить? Или можно ORDER BY заменить чем-нибудь другим?
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
@o5a
Не в курсе особенностей самой задачи распознавания, но насчет самого SQL - ORDER BY не влияет на количество выводимых строк. Если нужно скрывать ненужные строки (с пустыми кодировками), то нужно использовать фильтр, т.е. WHERE

SELECT ...
WHERE TEST_ENCODING_VALUE_0_HERE IS NOT NULL
  AND TEST_ENCODING_VALUE_1_HERE IS NOT NULL
  ...
ORDER BY ...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 22:11
2000 руб./за проект
24 апр. 2024, в 22:00
500 руб./в час
24 апр. 2024, в 21:49
10000 руб./за проект