2023-04-03 13:44:21
В последнее время активно занимаюсь сбором лиц через Толоку для разных задач по биометрии: антиспуфинг, liveness, face detection, re-identification.
В таких задачах крайне важно создать чистый и качественный датасет.
При этом, важным условием становится отсутствие дубликатов данных.
Если в датасете будет большое кол-во дублей лиц, то одно и тоже лицо может оказаться как в и обучающей выборке, так и в валидационной. Из-за этого алгоритмы переобучаются, а метрики получаются недостоверными.
К сожалению, в Толоке достаточное кол-во людей имеют по несколько аккаунтов.
Это и понятно: больше аккаунтов - больше заработок у толокеров.
Но для нас становится критично, когда один и тот же человек отсылает нам свое лицо с разных логинов.
Первым делом мы внедрили проверку по md5 по нашей базе и автоматическое отклонение, если такое фото у нас уже есть.
Но md5 ловит полное совпадение фотографий, и бессилен в кейсах, когда человек снимает свое фото в другой локации, с другим освещением. Поэтому md5 не решал на 100% нашу проблему.
Следующей идеей было разделить инхаус валидаторов по странам: Петя проверяет задания из Африки, Вика страны СНГ, Света Латинскую Америку. На начальных этапах такое разделение давало хороший результат.
Но когда кол-во лиц по каждому региону перевалило за несколько тысяч, стало не реально всех запомнить.
Добили нас и фродеры на Толоке. Так как задания у нас сложные, то и оплата за них у нас выше среднего, а следовательно мотивация сжульничать возрастает.
Один толокер был на столько усердным, что его лицо, присланное с разных аккаунтов мы отклоняли раз 10.
11-й его раз поразил всю нашу команду.
Парень прислал свое фото в парике, с бусами, в женской кофте и неплохо сделанным макияжем
Такой уровень наглости заставил нас серьезно задуматься над проблемой.
И мы решили внедрять нейронку на проект, и уже проверять не по md5 хешу, а по дескрипторам лиц, которые хранятся у нас в базе. В качестве нейронки мы рассмотрели несколько вариантов:
- deepface - open source, но качество не ок
- нейронки на rapidapi - не стабильно работают, ограниченная база для лиц
- нейронки от вендоров из РФ - дорого, продают лицензии на год
Поэтому пока остановились на варианте rapidapi.
А как вы отлавливаете дубли, какие нейронки используете, что порекомендуете?
762 viewsRoman Kucev, 10:44