@AlessandrIT

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

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

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

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

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

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

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

Каким образом можно отсеять неверные эмбэддинги, если
  1. Доподлинно известно что наибольшее число похожих эмбэддингов это нужное лицо
  2. Неизвестно, на какой позиции находится первый верный эмбэддинг
  • Вопрос задан
  • 80 просмотров
Решения вопроса 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


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

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

Похожие вопросы