Имя — главный аргумент фильтра однофамильцев, но на многих аккаунтах его нет: только ник и аватар. Если лицо на аватаре то же, что на подтверждённом профиле человека, это сильный довод, что аккаунт его. Если лицо другое — сильный довод против.
Как это работает
Oracul скачивает аватары найденных аккаунтов, находит на них лица моделью OpenCV YuNet и превращает каждое лицо в числовой отпечаток моделью SFace. Отпечатки сравниваются между собой; порог сходства — 0,5. Аккаунты с одним лицом собираются в группу «человек».
Эталон
Сравнивать нужно с чем-то надёжным. Эталоном становятся аккаунты исходных ников с высокой уверенностью или аккаунты, которые аналитик отметил «это он». Их лица — образец, с которым сверяются остальные.
- Лицо как у эталона — аккаунт принят, даже если имени на нём нет.
- Другое лицо в дальнем круге поиска — аккаунт отклонён.
- Эталона нет, а в дальних кругах разные лица — их нельзя приписать цели, они отклоняются.
Есть исключение: если у дальнего аккаунта лицо другое, но интересы совпадают с исходными, он не выбрасывается — люди меняют аватары.
Фото не уходят с сервера
Обе модели работают локально. Аватары не отправляются во внешние сервисы распознавания и не ищутся по базам лиц. Oracul не определяет, кто изображён на фото, — только совпадают ли два лица из найденных аккаунтов.
Где сравнение бессильно
- На аватаре нет лица: логотип, мем, котик.
- Лицо слишком маленькое, в профиль или в очках на пол-лица.
- Человек сменил внешность за годы между аватарами.