🚀 Zilliz Cloudを無料で試す、完全管理型のMilvus—10倍の高速パフォーマンスを体験しよう!今すぐ試す>>

milvus-logo
LFAI
  • Home
  • Blog
  • Zhentu-milvusをベースにした写真詐欺検出器

Zhentu-milvusをベースにした写真詐欺検出器

  • Scenarios
June 20, 2022
Yan Shi, Minwei Tang

cover image カバー画像

この記事は、BestPayのシニア・アルゴリズム・エンジニアであるYan ShiとMinwei Tangが執筆し、Rosie Zhangが翻訳したものです。

近年、電子商取引やオンライン取引が世界中で一般的になるにつれ、電子商取引詐欺も盛んになった。オンラインビジネスのプラットフォームで本人確認をパスするために、本物の写真ではなくコンピューターで生成した写真を使用することで、詐欺師は大量の偽アカウントを作成し、企業の特別オファー(会員プレゼント、クーポン、トークンなど)を利用して現金化し、消費者と企業の双方に取り返しのつかない損失をもたらしている。

大量のデータを前に、従来のリスク管理手法はもはや有効ではありません。この問題を解決するために、BestPayはディープラーニング(DL)とデジタル画像処理(DIP)技術に基づいて、写真詐欺検出器、すなわちZhentu(中国語で画像を検出するという意味)を作成した。Zhentuは画像認識を含む様々なシナリオに適用可能で、その重要な分岐点の1つが偽の営業許可証の識別である。ユーザーが提出した営業許可証の写真が、プラットフォームのフォト・ライブラリに既に存在する別の写真と酷似している場合、ユーザーがどこかで写真を盗んだか、不正な目的で免許証を偽造した可能性が高い。

PSNRやORBなど、画像の類似性を測定するための従来のアルゴリズムは、速度が遅く不正確で、オフラインのタスクにしか適用できない。一方、ディープラーニングは、大規模な画像データをリアルタイムで処理することができ、類似画像をマッチングする究極の手法です。BestPayの研究開発チームとMilvusコミュニティの共同努力により、写真詐欺検出システムがZhentuの一部として開発された。大量の画像データをディープラーニングモデルによって特徴ベクトルに変換し、ベクトル検索エンジンであるMilvusに挿入することで機能する。Milvusを用いることで、検知システムは何兆ものベクトルをインデックス化し、何千万もの画像の中から類似した写真を効率的に検索することができる。

戻る

Zhentuの概要

Zhentuは、機械学習(ML)とニューラルネットワーク画像認識技術を深く統合した、BestPayが独自に設計したマルチメディアビジュアルリスクコントロール製品です。その内蔵アルゴリズムは、ユーザー認証中に詐欺師を正確に識別し、ミリ秒レベルで応答することができます。業界をリードする技術と革新的なソリューションにより、Zhentuは5つの特許と2つのソフトウェア著作権を取得している。現在、多くの銀行や金融機関で使用されており、潜在的なリスクを事前に特定するのに役立っている。

システム構造

BestPayは現在1,000万枚以上のビジネスライセンス写真を保有しており、ビジネスの成長とともに実際のボリュームは現在も指数関数的に増加している。このような大規模なデータベースから類似写真を迅速に検索するために、BestPayは特徴ベクトルの類似度計算エンジンとしてMilvusを採用しました。写真不正検出システムの一般的な構造を下図に示す。

img img

手順は4つのステップに分けられる:

  1. 画像の前処理。ノイズ除去、ノイズ除去、コントラスト強調などの前処理により、オリジナル情報の完全性と画像信号からの無駄な情報の除去の両方を保証する。

  2. 特徴ベクトルの抽出。特別に訓練されたディープラーニングモデルを使用して、画像の特徴ベクトルを抽出する。さらなる類似性検索のために画像をベクトルに変換することは、日常的な操作である。

  3. 正規化。抽出された特徴ベクトルを正規化することで、その後の処理効率を向上させることができる。

  4. milvusによるベクトル検索。正規化された特徴ベクトルをMilvusデータベースに挿入し、ベクトルの類似検索を行います。

展開

Zhentuの写真詐欺検出システムの導入方法を簡単に説明します。

Milvus system architecture Milvusシステムアーキテクチャ

クラウドサービスの高可用性とリアルタイム同期を確保するため、Kubernetes上にMilvusクラスタをデプロイした。一般的な手順は以下の通りです:

  1. 利用可能なリソースを表示する。kubectl describe nodes コマンドを実行し、Kubernetesクラスタが作成したケースに割り当て可能なリソースを確認する。

  2. リソースを割り当てる。コマンドkubect`` -- apply xxx.yaml 、Helmを使用してMilvusクラスタコンポーネントにメモリとCPUリソースを割り当てます。

  3. 新しい設定を適用します。コマンドhelm upgrade my-release milvus/milvus --reuse-values -fresources.yaml を実行します。

  4. 新しい設定をMilvusクラスタに適用します。このように配置されたクラスタは、さまざまなビジネスニーズに応じてシステム容量を調整できるだけでなく、大量のベクトルデータ検索に対する高性能要件をよりよく満たすことができます。

以下の2つの例に示すように、Milvusを設定することで、異なるビジネスシナリオの異なるタイプのデータに対して検索パフォーマンスを最適化することができる。

ベクトルインデックスの構築では、システムの実際のシナリオに応じて以下のようにパラメータを設定する:

index = {"index_type": "IVF_PQ", "params": {"nlist": 2048}, "metric_type": "IP"}

IVF_PQはベクトルの積を量子化する前にIVFインデックスのクラスタリングを行う。IVF_PQはIVFインデックスのクラスタリングを行ってからベクトルの積を量子化するものであり、高速なディスククエリと非常に少ないメモリ消費量が特徴である。

さらに、最適な探索パラメータを以下のように設定する:

search_params = {"metric_type": "IP", "params": {"nprobe": 32}}

ベクトルはmilvusに入力される前に既に正規化されているので、2つのベクトル間の距離を計算するために内積(IP)が選択される。実験によると、ユークリッド距離(L2)を使用するよりもIPを使用した方が、想起率が約15%向上することが証明されている。

以上の例から、Milvusのパラメータは様々なビジネスシナリオや性能要件に応じてテスト・設定できることがわかる。

また、Milvusは様々なインデックスライブラリを統合しているだけでなく、様々なインデックスタイプや類似度の計算方法をサポートしています。Milvusはまた、複数の言語による公式SDKと、挿入、クエリなどのための豊富なAPIを提供しており、フロントエンドのビジネスグループはSDKを使用してリスクコントロールセンターを呼び出すことができます。

実世界でのパフォーマンス

これまでのところ、写真詐欺検知システムは順調に稼働しており、企業が潜在的な詐欺師を特定するのに役立っている。2021年には、年間を通じて2万件以上の偽造免許証を検出した。クエリ速度に関しては、数千万のベクトルの中から1つのベクトルをクエリするのにかかる時間は1秒未満で、バッチクエリの平均時間は0.08秒未満である。Milvusの高性能検索は、精度と同時実行性の両方に対する企業のニーズを満たしている。

参考文献

Aglave P, Kolkure V S. Oriented Fast and Rotated Brief Algorithmを用いた高性能特徴抽出法の実装[J].Int.J. Res. Eng.Technol, 2015, 4: 394-397.

BestPayについて

China Telecom BestPay Co., Ltd.はチャイナテレコムの完全子会社。決済事業と金融事業を展開している。BestPayは、ビッグデータ、人工知能、クラウドコンピューティングなどの最先端技術を活用し、ビジネス革新に力を与え、インテリジェントな製品、リスクコントロールソリューション、その他のサービスを提供することに尽力している。2016年1月までに、BestPayというアプリは2億人以上のユーザーを集め、アリペイ、WeChat Paymentに次ぐ中国第3位の決済プラットフォーム事業者となった。

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started

Like the article? Spread the word

続けて読む