Zhentu - детектор фотомошенничества на основе Milvus
изображение обложки
Эта статья написана Янь Ши и Минвэй Тан, старшими инженерами-алгоритмистами компании BestPay, а переведена Рози Чжан.
В последние годы, когда электронная коммерция и онлайн-транзакции стали обычным делом во всем мире, расцвело и мошенничество в сфере электронной коммерции. Используя сгенерированные компьютером фотографии вместо реальных для прохождения проверки личности на платформах онлайн-бизнеса, мошенники создают массовые поддельные аккаунты и наживаются на специальных предложениях компаний (например, подарках, купонах, жетонах), что приносит невосполнимые убытки как потребителям, так и компаниям.
Традиционные методы контроля рисков перестают быть эффективными перед лицом огромного количества данных. Для решения этой проблемы компания BestPay создала детектор фотомошенничества Zhentu (в переводе с китайского означает "обнаружение изображений"), основанный на технологиях глубокого обучения (DL) и цифровой обработки изображений (DIP). Zhentu может применяться в различных сценариях, связанных с распознаванием изображений, одним из важных ответвлений которых является выявление поддельных бизнес-лицензий. Если фотография бизнес-лицензии, предоставленная пользователем, очень похожа на другую фотографию, уже имеющуюся в фотобиблиотеке платформы, то, скорее всего, пользователь где-то украл фотографию или подделал лицензию в мошеннических целях.
Традиционные алгоритмы измерения сходства изображений, такие как PSNR и ORB, медленны и неточны и применимы только для офлайн-задач. Глубокое обучение, с другой стороны, способно обрабатывать большие объемы данных об изображениях в режиме реального времени и является идеальным методом для сопоставления похожих изображений. Совместными усилиями команды разработчиков BestPay и сообщества Milvus в рамках Zhentu была разработана система обнаружения фотомошенничества. Она функционирует путем преобразования огромных объемов данных об изображениях в векторы признаков с помощью моделей глубокого обучения и введения их в Milvus, векторную поисковую систему. С помощью Milvus система обнаружения способна индексировать триллионы векторов и эффективно находить похожие фотографии среди десятков миллионов изображений.
Перейти к:
Обзор Zhentu
Zhentu - это разработанный BestPay мультимедийный продукт визуального контроля рисков, глубоко интегрированный с технологиями машинного обучения (ML) и нейросетевого распознавания изображений. Его встроенный алгоритм может точно идентифицировать мошенников во время аутентификации пользователя и реагировать на уровне миллисекунды. Благодаря передовой технологии и инновационному решению Zhentu получила пять патентов и два авторских права на программное обеспечение. В настоящее время система используется во многих банках и финансовых учреждениях для заблаговременного выявления потенциальных рисков.
Структура системы
В настоящее время в BestPay хранится более 10 миллионов фотографий бизнес-лицензий, и этот объем продолжает расти в геометрической прогрессии по мере развития бизнеса. Чтобы быстро находить похожие фотографии из такой большой базы данных, Zhentu выбрала Milvus в качестве механизма расчета сходства векторов признаков. Общая структура системы обнаружения фотомошенничества показана на схеме ниже.
img
Процедуру можно разделить на четыре этапа:
Предварительная обработка изображения. Предварительная обработка, включающая шумоподавление, удаление шумов и повышение контрастности, обеспечивает как сохранность исходной информации, так и удаление бесполезной информации из сигнала изображения.
Извлечение вектора признаков. Специально обученная модель глубокого обучения используется для извлечения векторов признаков изображения. Преобразование изображений в векторы для дальнейшего поиска сходства является рутинной операцией.
Нормализация. Нормализация извлеченных векторов признаков позволяет повысить эффективность последующей обработки.
Векторный поиск с помощью Milvus. Вставка нормализованных векторов признаков в базу данных Milvus для поиска векторного сходства.
Развертывание
Ниже приведено краткое описание развертывания системы обнаружения фотомошенничества Zhentu.
Архитектура системы Milvus
Мы развернули наш кластер Milvus на Kubernetes, чтобы обеспечить высокую доступность и синхронизацию облачных сервисов в режиме реального времени. Общие шаги следующие:
Просмотр доступных ресурсов. Выполните команду
kubectl describe nodes
, чтобы увидеть ресурсы, которые кластер Kubernetes может выделить для созданных кейсов.Выделить ресурсы. Выполните команду
kubect`` -- apply xxx.yaml
, чтобы выделить ресурсы памяти и процессора для компонентов кластера Milvus с помощью Helm.Примените новую конфигурацию. Выполните команду
helm upgrade my-release milvus/milvus --reuse-values -fresources.yaml
.Примените новую конфигурацию к кластеру Milvus. Развернутый таким образом кластер не только позволяет нам регулировать мощность системы в соответствии с различными потребностями бизнеса, но и лучше отвечает требованиям к высокой производительности при массовом поиске векторных данных.
Вы можете настроить Milvus на оптимизацию производительности поиска для различных типов данных из разных бизнес-сценариев, как показано в следующих двух примерах.
При построении векторного индекса мы параметризуем его в соответствии с реальным сценарием работы системы следующим образом:
index = {"index_type": "IVF_PQ", "params": {"nlist": 2048}, "metric_type": "IP"}
IVF_PQ выполняет кластеризацию индекса IVF перед квантованием произведения векторов. Он отличается высокой скоростью запроса к диску и очень низким потреблением памяти, что соответствует потребностям реального применения Zhentu.
Кроме того, мы установили оптимальные параметры поиска следующим образом:
search_params = {"metric_type": "IP", "params": {"nprobe": 32}}
Поскольку векторы уже нормализованы перед вводом в Milvus, для вычисления расстояния между двумя векторами выбирается внутреннее произведение (IP). Эксперименты показали, что при использовании IP коэффициент запоминания увеличивается примерно на 15 % по сравнению с евклидовым расстоянием (L2).
Приведенные выше примеры показывают, что мы можем тестировать и настраивать параметры Milvus в соответствии с различными бизнес-сценариями и требованиями к производительности.
Кроме того, Milvus не только интегрирует различные библиотеки индексов, но и поддерживает различные типы индексов и методы расчета сходства. Milvus также предоставляет официальные SDK на нескольких языках и богатые API для вставки, запроса и т. д., что позволяет нашим внешним бизнес-группам использовать SDK для обращения к центру контроля рисков.
Работа в реальных условиях
На данный момент система обнаружения фотомошенничества работает стабильно, помогая компаниям выявлять потенциальных мошенников. В 2021 году она обнаружила более 20 000 поддельных лицензий в течение года. Что касается скорости запросов, то запрос одного вектора среди десятков миллионов векторов занимает менее 1 секунды, а среднее время пакетного запроса составляет менее 0,08 секунды. Высокопроизводительный поиск Milvus удовлетворяет потребности компаний в точности и параллельности.
Ссылка
Aglave P, Kolkure V S. Реализация высокопроизводительного метода извлечения признаков с использованием ориентированного быстрого и вращающегося алгоритма Brief[J]. Int. J. Res. Eng. Technol, 2015, 4: 394-397.
О компании BestPay
China Telecom BestPay Co., Ltd является дочерней компанией China Telecom, находящейся в полной собственности. Она занимается платежным и финансовым бизнесом. BestPay стремится использовать передовые технологии, такие как большие данные, искусственный интеллект и облачные вычисления, для внедрения инноваций в бизнес, предоставляя интеллектуальные продукты, решения для контроля рисков и другие услуги. По состоянию на январь 2016 года приложение BestPay привлекло более 200 миллионов пользователей и стало третьим по величине оператором платежных платформ в Китае, следуя за Alipay и WeChat Payment.
- Обзор Zhentu
- Структура системы
- Развертывание
- Работа в реальных условиях
- Ссылка
- О компании BestPay
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word