Предлагаю создать постоянную ветку, в которой собирать предложения по совершенствованию системы распознавания лиц.
Сейчас я предлагаю первые нововведения.
1) Программа должна более активно использовать знания пользователя, который заведомо лучше знает, какие люди у него в альбоме.
Для начала процесс распознавания надо разбить на несколько этапов. Я предлагаю создать нечто вроде Wizardа для того, чтобы пользователь шел по порядку. Я вижу такие этапы:
Этап 1. Выбор папок, которыми нужно ограничиться (сейчас программа активно ищет мою бабушку в папках 1991-2024, хотя бабушка скончалась в 1989. Было бы неплохо пометить папки, в которых искомый персонаж присутствует в обязательном порядке или даже абсолютно на всех фото (папка “бабушка”).
Также была бы крайне полезна кнопка “Стоп”. Хватит искать.
Этап 2. Программа просит выбрать 1 или 5-6 (10-20) наиболее удачных фото, которые характеризуют текущего человека. Количество зависит от того, какие параметры идентификации использует ИИ (анфас/профиль, возраст, очки и т.п.)
Этап 3. Далее программа работает в фоновом режиме и по завершению работы выдает массив предложений - 100-200-300+ фото, которые в наибольшей степени соответствуют критериям поиска. Это первый этап отбора. Пользователь подтверждает/отклоняет.
Этап 4. Программа оценивает эффективность своей работы и предлагает пользователю продолжить поиск, изменив настройки поиска (предлагать больше/меньше, охватить больше папок и т.п.). Дальше программа снова работает сколько хочет в фоновом режиме, а потом выдает пользователю массив 1000+ фото для его проверки.
Пользователь плюсует/минусует. Если результат его устраивает, то он жмет “Завершить”.
Если не устраивает, то программа предлагает ему еще раз изменить критерии поиска и запустить поиск еще раз.
Как мне видится, проблема не в том, что нужный человек не находится на фото, а в том, что программы опознавания предлагают пользователю тысячи бессмысленных фото, не имеющих никакого отношения к лицу бабушки (памятники, мужики с бородой, морды лошадей и дети на рекламных плакатах). Я не знаю, как это должно работать, поэтому не буду тут это обсуждать. Но совершенно ясно, что можно сделать обратную связь, чтобы улучшить результаты поиска.
А именно:
1) Предложить пользователю все схожие объекты, которые он запретит раз и навсегда, чтобы они не предлагались при поиске последующих лиц (памятники, собаки, лошади, полностью размытые лица, слишком мелкие лица, лица на плакатах и т.п.) В чем тут суть? Мне программа при поиске лица бабушки подсовывает уличные фото, на которых сотни людей, лица которых неразличимы. А все равно подсовывает их! Давайте пользователь решит - хочет ли он искать свою бабушку на улице и готов ли посмотреть 30 000 размытых лиц, или он просто отменит все неразличимые мелкие лица раз и навсегда.
2) Если это действительно ИИ, то логично бы, чтобы он учился. Т.е. спрашивал бы первое время на минусование пользователя причину минусования: Это не бабушка? Это не женщина? Это не человек? Это не живое существо? Это не изображение человека? Ну или как-то иначе.
3) Также логично было бы не игнорировать папку с фото. Обычно фото в папке относятся к какому-то периоду, какому-нибудь событию и т.п. Т.е. человек на фото внутри этой парки будет максимально похож сам на себя (бороду не успел сбрить, очки надел, костюм тот же, прическа та же…) Поэтому логично предлагать фото на оценку пачками по папкам, т.е. осмысленными группами.
И в этом случае не надо заставлять пользователя ставить 300 плюсиков. Ему достаточно поставить 20 минусов, а все остальные фото заплюсовать нажатием одной кнопки.
Пока прервусь, вдохновение иссякло..