@AlessandrIT

Каким образом среди списка эмбеддингов отыскать непохожие?

Заранее прошу извинить за кривые формулировки, но тем не менее.

Я пытаюсь сделать поиск эмбэддинга лица с фотографий ВК.

Алгоритм таков:
  • Сначала (по одной) скачиваются фотографии с профиля
  • Если на фото только одно лицо - высчитывается эмбэддинг
  • Затем он сохраняется в список

Такова процедура для N фотографий профиля.

На выходе имею список с эмбэддингами.
Вопрос в том что лишь группа из списка похожи друг на друга (являются искомым лицом).А вот некоторая часть M - является всяким мусором (анимированные картинки, ошибки детектора лиц и т.д.)

Есть смутное представление о решении но не могу обернуть это в псевдокод

Каким образом можно отсеять неверные эмбэддинги, если
  1. Доподлинно известно что наибольшее число похожих эмбэддингов это нужное лицо
  2. Неизвестно, на какой позиции находится первый верный эмбэддинг
  • Вопрос задан
  • 79 просмотров
Решения вопроса 2
adugin
@adugin Куратор тега Python
Скалярное произведение векторов в N-мерном пространстве и пороговая фильтрация по результату.
Ответ написан
Комментировать
@AlessandrIT Автор вопроса
Псевдо-код
for i in listok:
		for j in listok:
			distance = np.linalg.norm(i - j)
			pp.pprint(distance)
		print("--------------------")


Получил
0.0
0.7254836570289817
0.061657901382796504
0.043964488622758764
--------------------
0.7254836570289817
0.0
0.7212297627045093
0.7293569116908897
--------------------
0.021657901382796504
0.7212297627045093
0.0
0.039753586757735654
--------------------
0.053964488622758764
0.7293569116908897
0.059753586757735654
0.0


Второй блок цифр - там расстояние до прочих от неверного эмбэддинга.Судя по большому значению дистанции, нужно откинуть ошибку.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы