Как работает система
Проект создан для того, чтобы при посещении банка идентифицировать клиента по фото и получить его финансовый профиль. На основании полученной информации о клиенте необходимо предложить максимально подходящие ему продукты. Система распознает не только клиента, но и его примерный возраст, чтобы максимально точно определить его примерные потребности в банковской сфере услуг.Над созданием проекта работают Кристина, Алексей, Анна, Сергей, Виктор .
Для ускорения работы с системой следует нажать на шестеренку в левом нижнем углу экранна и уменьшить значение.
Чтобы ознакомиться с моделью, по которой рассчитывалась рекомендательная система нужно нажать на кнопку Рекомендация Продукта
- Нажимаем на кнопку Добавить ссылки и добавляем профиль пользователя для дальнейшего распознавания.
- Загружаем фотографии человека, перетащив фото или загрузив его с компьютера;
- Чтобы загрузить новое фото пользователя, нужно нажать кнопку Удалить Фото.
- Происходит автоматически после нажатия кнопки Определить.
- Для определения услуг, подходящих пользователю, нажимаем на всплывающем окне с информацией Подобрать Услуги.
Взаимодействия Backend 'a и CV: Для задач CV поднят веб-сервер, который умеет обрабатывать 4 типа запросов:
/add_data
- Добавление данных в базу
- Входные данные json -
{"urls": ["vk.com/id1"],"count": "12"}
- Выходные данные json - "OK" ( информация о том, что профиль добавлен)
/search
- Поиск по базе
- Входные данные json -
{"url":"vk.com/image.jpg","thresh":"0.4"}
- Выходные данные json -
{"id":"12345","count":"10","age":"23"}
- Id - vk_Id
- count - количество фотографий, для которых косинусная метрика превысила порог,
- age - возраст
/get_info
- Получение данных о конкретном пользователе
- Возвращает информации из API VK, API ФСИП + скоринг
- Входные данные json -
{"id":"1"}
- Выходные данные json -
{"data":{...},"bdip":{..},"score":"15"}
/get_recommend
- Получение услуги на основе score
- Входные данные json -
{"score":"value"}
- Выходные данные Json -
{"item":"продукт"}
Действия пользователя оборачивается в методы, которые поддерживает CV-сервер.
Используемые API:
Технонологии:
Нейронные сети :
- Face Detecton - RetinaFace
- Face Alignment - DenseUNet
- Face Recognition + Age - LResNet100E-IR
Получение эмбеддинга :
Face Detecton -> Face Alignment -> Face Recognition
Поиск по выгруженным профилям:
- Получение эмбеддинга входного изображения;
- Вычисление косинусного расстояние между данным эмбеддингом и всеми эмбеддингами для профилей из базы;
- Сравнение полученного значения с пороговым значением, запоминая информация о том, сколько раз для конкретного профиля косинусное расстояние превысило порог;
- Получение информации о профиле, у которого расстояние превысило пороговое значение наибольшее число раз. В случае, если поиск не дал результатов, следует уменьшить пороговое значение.
Frontend
Backend
Дизайн интерфейса создаввался с помощью Figma
Скоринг был использован для расчета уровеня принятия рисков инвестиций (номер от 1 до 10, соответствующий диапазону суммы баллов скоринга) и приближен к модели поведенческого скоринга (используется для выдачи банковских кредитов). Когда ряд параметров финансового профиля клиента добавляют в общую сумму скоринга фиксированное кол-во баллов: от 0 до 15. При этом, чем параметр важнее - тем больше баллов он может добавить (это кол-во баллов также называется весом параметра). Максимальная сумма составляет 121, минимальная - 0 баллов.
Модель рекомендательной системы на базе персонального скоринга физлица
- Добавление внешних API(yandex, facebook и другие сервисы по получению данных);
- Возможное добавление обработки фотографий с их названиями на русском языке;
- Подробный анализ изображения на фото:
- оценка стоимости одежды на человеке,
- поиск автомобильных номеров,
- использование информации о геолокации на фотографии