【51CTO.comオリジナル記事】 1. 概要今日、コンピュータービジョンとディープラーニングの急速な発展は、多くの技術分野に破壊的な変化をもたらしています。 顔画像処理はその典型的な例です。インターネット時代において、この技術はさまざまなアプリケーションを通じて人々の生活に利便性、安全性、楽しさをもたらしました。 一方、電子商取引分野は、PCインターネット、モバイルインターネットの時代を経て、インテリジェント時代に入り、膨大な画像や動画データ、豊富な応用シナリオ、高難度の性能課題が、コンピュータービジョン技術、特に顔認識技術が活躍する舞台となっています。 図1. 電子商取引ビジネスにおける顔認識技術のアプリケーションアーキテクチャ 図1に示すように、eコマース業務では顔認識技術を総合的に活用する必要があります。ビジネスの観点から見ると、次の 4 種類のシナリオが考えられます。
アルゴリズム技術の観点から見ると、顔認識技術には次の 3 つの主要モジュールが含まれます。
画像アルゴリズムは、クラウド展開やモバイル展開などのさまざまな操作モデルを使用して実際に実装できます。 クラウド モードでは、アルゴリズムとデータはサーバー上で実行され、画像は集中的に保存する必要があるため、バックエンドのバッチ画像処理に適しています。 モバイル展開は、リアルタイム応答を実現することです。アルゴリズムはモバイル端末 (通常は携帯電話) に展開され、単一のビジネス要求に対するリアルタイム応答に適しています。 電子商取引企業は実際のニーズに基づいて対応するソリューションを採用します。場合によっては、クラウドとモバイル端末を組み合わせて、クラウド + 端末のハイブリッド展開方法を形成することもできます。 さらに、一部の企業は現在、エッジコンピューティングモデルを形成できるチップ上で顔認識アルゴリズムを実行する技術的ソリューションを模索しています。 この記事では、顔画像化技術の原理と、これらの技術を使用して電子商取引のビジネス シナリオのコンテキストでビジネス アプリケーションを構築する方法について説明します。 2. 顔画像の技術的原理研究者たちは何年にもわたるたゆまぬ努力の結果、顔画像技術において急速な進歩を遂げました。これらのテクノロジーには、一般的に、従来の方法とディープラーニングベースの方法の 2 種類があります。 2.1 ディープラーニングに基づく顔検出 (MTCNN) 顔検出技術のマイルストーンは、2000年頃にポール・ヴィオラとマイケル・J・ジョーンズが提案したカスケード顔検出器です。この方法は、高速に計算されるハール特徴を使用し、Adaboostアルゴリズムを通じて有効な特徴と一連の弱い分類器(弱学習器)を選択し、最終的に線形結合方式で強い分類器を取得します。これにより、検出速度と精度が向上し、リアルタイムで実行できます。 近年、ディープラーニングはますます強力になり、顔検出技術を新たなレベルに押し上げ、その結果、ディープラーニングに基づく顔検出アルゴリズムが数多く登場しました。その中でも代表的なものが、中国の学者である張開鵬氏、于喬氏らが提唱したMTCNN法(マルチタスクカスケード畳み込みニューラルネットワークを使用した共同顔検出およびアライメント)です。 この方法は MTCNN (マルチタスク カスケード畳み込みニューラル ネットワーク) と呼ばれ、カスケード検出器のアイデアを活用し、さまざまな CNN 分類器を共同でトレーニングすることで、顔検出と特徴点の位置特定というタスクを組み合わせます。 図2. MTCNNアプローチのシステムアーキテクチャ そのフレームワークは図 2 に示されており、3 つの CNN ネットワーク構造 (P-Net、R-Net、O-Net) が含まれています。 (1)提案ネットワーク(P-Net):顔領域の候補ウィンドウと顔境界ボックスの回帰ベクトルを取得するために使用される完全接続CNNネットワークです。候補ボックスは境界回帰情報に基づいて調整され、重複度の高い候補ボックスは非最大抑制 (NMS) 操作によって結合されます。 (2)ネットワークの改良(R-Net):P-Netステージを通過するすべての候補ウィンドウはR-Netネットワークに入力され、ほとんどの誤検知領域がさらに除外され、境界ボックス回帰とNMS操作が実行されます。 (3)出力ネットワーク(O-Net):この構造はR-Net層に似ていますが、この層は顔領域をより詳細に監視し、5つの特徴点の位置も出力します。このステップでは、最終的な顔のフレームと特徴点の位置 (左目、右目、鼻、口の左隅、口の右隅) を出力します。 具体的なネットワーク構造を図 3 に示します。 図3. ネットワーク構造(P-Net、R-Net、O-Net) トレーニング プロセス中に、MTCNN メソッドは、顔の分類、境界ボックスの回帰、顔の特徴点の位置特定という 3 つのタスクから CNN 検出器を共同でトレーニングします。各タスクに対応する損失関数を総合的に考慮し、複数のタスクの合計損失関数を構成します。 トレーニング プロセスでは、確率的勾配降下法 (SGD) を使用して 3 つの CNN を最適化します。さらに、この方法では、毎回最初の 70% のサンプルの勾配のみを逆伝播するハード サンプル マイニング戦略を採用しているため、トレーニングを自動化し、より優れたトレーニング結果を実現できます。 図4は検出と特徴点の配置の例の図です。
図4. MTCNN法の結果の例 実際のアプリケーションでは、MTCNN メソッドは FDDB および WIDER FACE コレクションで非常に優れた検出結果を達成しており、リアルタイム (GPU 環境) で実行することもできます。 この方法は、Caffe フレームワークに基づいて、GitHub でオープンソース化されています (オープンソースのアドレス: https://github.com/kpzhang93/MTCNN_face_detection_alignment)。多くの研究者がこれに基づいて多くの改良版を提案しており、その中には Mxnet や Windows などのプラットフォーム上の顔検出ランタイム パッケージも含まれ、広く使用されています。 2.2 特徴点の配置MTCNN メソッドは、顔の 5 つの特徴点 (左目、右目、鼻、口の左端、口の右端) の位置を出力できます。 実際、さまざまなアプリケーションに応じて、特徴点の数は数個から数百個まで異なって定義されます。通常、分布する領域には、図 5 に示すように、目、眉毛、鼻、口、顔の輪郭などが含まれます。 図5. 顔の特徴点の定義の模式図 この技術の核となるのは、顔の特徴点の位置を正確に計算する方法です。一般的に、次の 3 種類のアルゴリズムが関係しています。
最初の 2 つの方法は、位置決め効果が高く、検出速度が速い従来の方法です。実際には、両方ともオープンソース パッケージがあります。たとえば、Stam オープンソース パッケージは ASM の実装です。また、Ensemble of Regression Tress (ERT) はカスケード メソッドです。オープンソースの dlib ライブラリ (http://dlib.net/) には、このメソッドの実装コードが含まれています。 ディープラーニングに基づく特徴点の位置特定アルゴリズムは、2013 年に飛躍的な進歩を遂げ始めました。香港中文大学の Tang Xiaoou 教授の研究グループは、DCNN カスケード構造 (顔面点検出のための深層畳み込みネットワーク カスケード) を提案し、特徴点の位置特定で優れた結果を達成しました。 これを基に、Zhou Erjin らは、大まかな顔の特徴点の位置特定から細かい顔の特徴点の位置特定までの広範な顔ランドマーク位置特定法を提案しました。 畳み込みニューラルネットワークを使用して、68 個の顔の特徴点の高精度な位置決めを実現しました。 このアルゴリズムは、顔の特徴点を内部特徴点と輪郭特徴点に分割します。内部特徴点には眉毛、目、鼻、口など合計 51 の位置があり、輪郭特徴点には 17 の特徴点があります。採用された具体的なシステムアーキテクチャとCNNネットワーク構造を図6に示します。 図6. 顔の特徴点の位置決め(a)システムアーキテクチャ 図6. 顔の特徴点の配置 (b) CNNネットワーク構造 2.3 顔認識 顔認識のプロセスは、事前に保存された顔画像データベースを照会して、本人認識の結果を取得することです。最も重要なステップは、顔の特徴を抽出することです。近年のブレークスルーはすべて、ディープラーニング手法を採用しています。 顔検出や特徴点の位置決めなどのモジュールを経て、顔領域の画像サンプルが入力されます。顔認識の一般的なプロセスは次のとおりです。
具体的な手法から見ると、2013年に提案されたDeepFace法は、顔認識におけるCNNの先駆的な成果です。その後もDeepIDやFaceNetなどの手法が提案され、いずれもDeepFaceの存在を反映しています。 顔認識技術の発展を促進する上で重要な役割を果たすもう一つの要素は、技術評価の舞台と基準を提供する顔画像データベースの構築です。現在、よく知られている顔認識評価データベースには、FERET 顔データベース、LFW データベース、Mega Face データベースなどがあります。 3. 顔画像技術の電子商取引ビジネスへの応用上記の 4 つのビジネス アプリケーションから判断すると、美容ショッピング ガイドと顔認証決済は日常生活で比較的一般的です。この記事では、主に画像管理と電子商取引のライブ ストリーミングで顔認証技術を使用する方法を紹介します。 3.1 背景画像の管理 電子商取引の基本的な業務では、肖像権の使用を監視する必要があります。この要求は通常、次の 2 つのシナリオに関連しています。 1 つ目は、広告侵害の検出です。企業によっては、有名人を招いて自社製品の宣伝を依頼するところもありますが、侵害企業の中には有名人が宣伝した製品の写真を盗むところもあるため、有名人の顔認識が必要になります。 2つ目は、店舗の実物写真認証で、写真が店舗の協力モデルによって撮影されたものであるかどうかを判定します。顔のあるモデルの写真は、顔認識によって解決できます。 簡単に言えば、顔認識技術を使用して写真に写っている人物の身元を特定することです。この記事では、広告侵害処理のシナリオを例に、2 つの異なるソリューションを紹介します。 受動的な広告侵害検出 商品画像が著名人の肖像権を侵害しているかどうかをどのように判断するのでしょうか?まず、保護する必要がある人々のポートレート画像を収録した有名人ライブラリを構築します。星の数は、通常、実際のビジネスに関連し、一般的には数百人で、画像の数は限られています。機能比較ステップでは、クイックソート方式を採用できます。具体的なプロセスを図 7 に示します。 図7. 広告侵害検出のフローチャート(パッシブ) 積極的な広告侵害検査 タスクは、有名人の画像を指定して、プラットフォーム上のすべての製品を監査し、著作権を侵害している製品を見つけて対処することです。 まず、顔検出、特徴点の配置、特徴ベクトルの抽出の手順に従って商品画像内の顔オブジェクトを処理し、商品画像内に顔ライブラリを構築する必要があります。 図 8 に示すように、クエリ オブジェクトは製品画像内の大規模な顔データベースであり、その規模は通常数百万に上り、プラットフォームによっては数十億に及ぶものもあります。 図8. 広告侵害検出のフローチャート(アクティブ) したがって、特徴検索ステップでは単純なソート方法を採用することはできず、近似最近傍検索方法を通じて検索タスクを完了するための検索エンジンを構築する必要があります。 検索データベースのサイズが大きいため、各クエリのすべての距離を計算することは非常に困難であり、大量の画像の特徴ベクトルを保存するには膨大な量のストレージスペースが必要です。 これらの問題を解決するために、近似最近傍アルゴリズムにおける局所的に最適化された積量子化アルゴリズム(PQ)を採用し、粗い量子化重心と細かい量子化重心をトレーニングします。粗い量子化の結果は転置インデックスを確立するために使用され、細かい量子化の結果は近似距離を計算するために使用されます。 この方法により、商品写真の顔画像インデックス結果のストレージ要件が合理的であることを保証し、より優れた検索品質と速度を実現できます。 これら 2 つのソリューションの比較は次のようにまとめられます。 3.2 ライブブロードキャストアプリケーション バックエンドの画像管理はクラウドで展開および実行されますが、eコマースのライブ放送における顔認識技術のアプリケーションは携帯電話で実行する必要があります。ライブ放送における顔認識技術の全体的なアーキテクチャを図 9 に示します。 図9. 生放送における顔認識技術の全体アーキテクチャ ライブ ストリーミングに関係する基盤技術 (顔検出、特徴点の配置と追跡) のほとんどは、モバイル フォンでリアルタイムに実行する必要があります。そのためには、速度が十分に速く、モデルが十分に小さく、同時に精度が十分に高くなければならないという新しい要件が必要です。これは妥協を必要とするプロセスです。 現在採用されているソリューションのほとんどは、アルゴリズムの最適化とモデルの最適化というエンジニアリング手段を通じて、アルゴリズムを携帯電話に移植することです。 実際のビジネスでは、顔の特徴点を追跡するための SDK が実装され、モバイル端末に展開され、e コマースのライブ放送シナリオに適用されました。 ディープラーニングベースの顔認識技術は目覚ましい成果を上げていますが、ディープラーニングには大量のコンピューティングリソースが必要であり、モデルも複雑(数十~数百MB)であるため、モバイルデバイスへの適用は困難です。 従来のアルゴリズムはディープラーニングほど効果的ではありませんが、消費するリソースが非常に少なく、モデルがシンプルなため、現在のモバイルデバイスでの使用に適しています。 プロセッサ技術の発展とディープラーニング最適化技術の段階的な成熟に伴い、ディープラーニングに基づく顔認識技術はさらに普及するでしょう。 顔検出アルゴリズム多くの顔検出アルゴリズムを調査した後、最終的にピクセル差異 (PD) 機能に基づく PICO アルゴリズム (決定木で編成されたピクセル強度比較によるオブジェクト検出) を選択しました。この方法では、ピクセル間のグレースケールの差を特徴として使用し、検出速度を向上させることができます。さらに、PD 特徴が正規化され、照明に対する堅牢性を向上させるために正規化ピクセル差 (NPD) 特徴が提案されています。これらの方法は計算リソースの消費が少なく、モデルがシンプルなので、モバイル デバイスでの使用に適しています。 分類器を取得した後も、コードの最適化作業を行う必要があります。モバイルCPUの特性上、固定小数点型となります。ルックアップテーブル方式は、NPD 特徴の事前計算結果を 2 次元テーブルに保存するために使用されます。特徴をリアルタイムで計算するときに、メモリから直接読み取られるため、検出速度が向上します。結果として得られる顔検出 SDK には、次の機能があります。 顔の特徴点追跡アルゴリズムEnsemble of Regression Tress (ERT)アルゴリズムに基づく顔特徴点検出法を採用しています。PD特徴を使用して各特徴点のローカル特徴を学習し、特徴を組み合わせて線形回帰を使用してキーポイントを検出します。検出速度が速く、位置決め効果も良好です。 同時に、次の側面を含む一連の最適化を行う必要があります。
最後に、次の機能を備えた顔の特徴点配置 SDK を取得します。 図10(a)は顔検出と特徴点の位置特定の一例の図です。このアルゴリズムは優れた堅牢性を備えており、さまざまな姿勢や照明条件下でも顔画像を正確に特定でき、その後のライブ放送の基礎を築くことができることがわかります。 これらのアルゴリズムを使用すると、図 10 (b) に示すように、顔の美白や美肌効果、特殊効果など、ライブ放送中にインタラクティブな効果を作成できます。 図10. (a) 顔検出と特徴点の位置の例 図10. (b) 美容画像の例 要約するこの記事のアプリケーション例から、顔認識技術と電子商取引のビジネスシナリオを組み合わせることで、プラットフォームの運用とユーザーエクスペリエンスを保証する新たな価値がもたらされていることがわかります。一方では、顔認識技術を利用して商品画像内の人物を自動的に識別し、背景画像の管理効率を向上させています。また、顔認識技術を電子商取引のライブ放送に応用し、美肌や特殊効果などの機能を実現し、ユーザー体験を向上させています。 ディープラーニング手法は顔認識技術の分野で大きな飛躍をもたらしましたが、従来の手法ではリアルタイム操作の目標を達成するのに十分なパフォーマンスと十分な精度しか保証できませんでした。したがって、開発プロセスでは、特定のニーズに基づいてソリューションを検討して選択する必要があります。 画像アルゴリズム技術の開発には、日常業務における基本モジュールの蓄積、その適用シナリオの段階的な拡大、ビジネス シナリオの変化に応じた継続的な反復によってビジネス ニーズへの保証を提供することが必要です。 【モグジエのシニア技術専門家、張紅明】
張紅明(ニックネーム:ミンダ)は2015年にMogujieに入社し、Meili United Groupの画像技術の研究開発を担当しています。アルゴリズムチームを結成して率い、エンジニアリングチームやビジネスチームと協力して、グループに画像技術サポートを提供しています。主な業務は、画像検索、画像認識、商品画像コンテンツ分析などです。事業内容は、電子商取引のショッピングガイド、ライブ放送などのシナリオです。 Mogujieに入社する前は、NEC中国研究所とアリババグループに勤務し、画像技術と機械学習の研究と応用に従事していました。 AIに関するその他のコンテンツについては、公式アカウント「AI Pusher」をフォローしてください。 [51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください] |
<<: 人工知能と機械学習のための 20 の Python オープンソース プロジェクト
>>: 人工知能は業界の生態系を変え、銀行支店を減らし、スマートカードを活用する
人工知能が私たちの生活にどのような影響を与えているかを示す例は無数にあります。これを「ロボットが悪の...
2021年最後の法定休日に別れを告げ、皆が仕事に戻り、仕事帰りの通勤のリズムが戻りました。北京、上海...
言語モデリングの新しい時代が到来し、大規模言語モデル (LLM) は自然言語を理解するだけでなく、ユ...
[[113040]]コンピューターがまだ十分に機能していない分野がいくつかあります。たとえば、顔認識...
[[273668]] ▲写真:アクアノートロボットがNASAの中立実験室で水中浮遊テストを受けてい...
[[334141]]誰でも編集できるオンライン百科事典である Wikipedia では、各エントリを...
ディープラーニングに関する理論コースを受講した後、多くの人が独自のプロジェクトを構築してみることに興...
この目的のために、市場で一般的なデータ モデルを見つけて整理し、分析することができます。主流のデータ...
ドローンは警報装置、検出器、カメラなどを搭載し、多くの機能を実現でき、セキュリティ監視、スマートビル...
そうです、グラフィックカードを作っている会社、NVIDIA です。 NV はグラフィック カード メ...
[[425799]] Java のガベージ コレクションに関しては、私と同じように、多くの友人が、...
GPT-4 または LLM には推論機能がありますか?これは長年議論されてきた問題です。 LLM は...
「マトリックスシミュレーション」の世界は本当に存在するかもしれない。人間のニューロンをシミュレートし...