過去 10 年間で、ディープラーニングの分野では多くの高度な新しいアルゴリズムと画期的な研究が登場し、新しいコンピューター ビジョン アルゴリズムが導入されました。 すべては2012年のAlexNetから始まりました。 AlexNet は、ImageNet データセット (1,400 万枚を超える画像を含むデータセット) で高い精度を達成したディープ (畳み込み) ニューラル ネットワークです。 人間はどうやって顔を認識するのでしょうか? おそらく、人間の脳のニューロンは、まずシーン内の顔(体の形や背景から)を認識し、次に顔の特徴を抽出し、これらの特徴を使用して人を分類します。私たちは、無限に大規模なデータセットとニューラル ネットワークでトレーニングしました。 機械における顔認識も同様の方法で実装されています。まず、顔検出アルゴリズムを使用してシーン内の顔を検出し、次に検出された顔から顔の特徴を抽出し、最後にアルゴリズムを使用して人物を分類します。 顔認識システムのワークフロー 1. 顔検出 顔検出は、オブジェクト検出の特殊なバージョンです。特別な点は、1 種類のオブジェクト、つまり顔だけを検出することです。コンピュータサイエンスにおいて時間と空間の間にトレードオフがあるのと同様に、機械学習アルゴリズムでも推論速度と精度の間にトレードオフを行う必要があります。利用できるオブジェクト検出アルゴリズムは多数あり、アルゴリズムによって速度と精度のトレードオフが異なります。 この論文では、最先端の物体検出アルゴリズムをいくつか評価します。
強力な顔検出システムを構築するには、GPU とモバイル デバイス上でリアルタイムに実行できる正確で高速なアルゴリズムが必要です。 正確さ ストリーミング ビデオのリアルタイム推論では、人物の顔のポーズ、遮蔽、照明効果が異なる場合があります。したがって、アルゴリズムがさまざまな照明条件やさまざまなポーズで顔を正確に検出できることが非常に重要です。 さまざまなポーズや照明条件での顔検出 OpenCV (ハール・アスケード) まず、C 言語で書かれたオープンソースの画像処理ライブラリである OpenCV の Haar カスケード実装から始めます。 利点: このライブラリは C 言語で記述されているため、リアルタイム システムでの推論が非常に高速です。 欠点: この実装の問題点は、横顔を検出できず、さまざまなポーズや照明条件ではうまく機能しないことです。 MTCNNN について このアルゴリズムはディープラーニング手法に基づいています。顔を検出するために、ディープカスケード畳み込みニューラルネットワークを使用します。 利点: OpenCVのHaar-Cascade法よりも正確です デメリット: 実行時間が長くなります。 ヨロブ3 YOLO(「一度だけ見る」)は、物体検出のための最先端のディープラーニング アルゴリズムです。これは、多くの畳み込みニューラル ネットワークで構成され、深い CNN モデルを形成します (深さは、モデル アーキテクチャの複雑さを意味します)。 オリジナルの YOLO モデルは 80 種類のオブジェクト カテゴリを高精度で検出できますが、このモデルを使用する必要があるのは 1 つのオブジェクト (顔) を検出する場合だけです。私たちは、393,703 個の顔ラベルを含む画像のデータセットである WiderFace データセットでアルゴリズムをトレーニングしました。 YOLO アルゴリズムには、Yolo-Tiny という小型バージョンもあります。 Yolo-Tiny では計算時間は短くなりますが、精度が多少犠牲になります。同じデータセットで Yolo-Tiny モデルをトレーニングしましたが、境界ボックスの結果は一貫していませんでした。 長所: 非常に正確で、欠陥はありません。 MTCNNよりも高速です。 デメリット: 巨大なディープニューラルネットワーク層のため、より多くの計算リソースが必要になります。したがって、このアルゴリズムは CPU またはモバイル デバイス上で非常に遅く実行されます。 GPU では、アーキテクチャが大きくなると、より多くの VRAM を消費します。 ソリッドステートドライブ SSD (Single Shot Detector) も、YOLO に似た深層畳み込みニューラル ネットワーク モデルです。 長所: 精度が良い。さまざまなポーズ、照明、遮蔽を検出できます。推論速度が良好です。 デメリット: YOLO モデルよりも悪い。推論速度は良好ですが、CPU、ローエンドの GPU、またはモバイル デバイスでの実行要件を満たすことはできません。 ブレイズフェイス 名前の通り、Google がリリースした非常に高速な顔検出アルゴリズムです。 128 x 128 次元の画像入力を受け入れ、推論時間は 1 ミリ秒未満で、携帯電話での使用に最適化されています。非常に高速な理由は次のとおりです。
利点: 非常に優れた推論速度と顔検出の高精度。 デメリット: このモデルは、携帯電話のカメラで撮影した画像での顔検出に最適化されているため、顔が画像の大部分を占めると想定され、顔のサイズが小さい場合にパフォーマンスが向上します。そのため、CCTV(閉回路テレビ)カメラで取得した画像に対して顔検出を実行すると、うまく機能しません。 フェイスボックス Faceboxes は私たちが使用する最新の顔検出アルゴリズムです。 BlazeFace と同様に、顔という 1 つのクラスのみを検出するように設計された、小さな深層畳み込みニューラル ネットワークです。推論時間は CPU 上のリアルタイム検出要件を満たすことができます。その精度はYolo顔検出アルゴリズムに匹敵し、画像内の顔の大きさに関係なく正確に検出できます。 利点: 推論速度が速く、精度が優れています。 短所: 評価はまだ進行中です。 2. 特徴抽出 画像内の顔を検出した後、顔を切り抜いて特徴抽出アルゴリズムに入力し、顔の特徴を表す多次元(主に 128 次元または 512 次元)ベクトルである顔埋め込みを作成します。顔の埋め込みを作成するには、FaceNet アルゴリズムを使用します。 埋め込みベクトルは人の顔の特徴を表します。したがって、同じ人物の 2 つの異なる画像の埋め込みベクトル間の距離は比較的近くなりますが、異なる人物の埋め込みベクトル間の距離は比較的遠くなります。 2 つのベクトル間の距離はユークリッド距離です。 3. 顔の分類 顔の埋め込みベクトルを取得した後、埋め込みベクトルに基づいて人物を分類する分類アルゴリズム、つまり K 近傍法 (KNN) アルゴリズムをトレーニングしました。 ある組織に 1,000 人の従業員がいるとします。私たちは全従業員の顔の埋め込みを作成し、その埋め込みベクトルを使用して分類アルゴリズムをトレーニングしました。このアルゴリズムは、顔埋め込みベクトルを入力として受け取り、人物の名前を出力として返します。 画像をオンラインに公開する前に、ユーザーはフィルターを適用して画像内の特定のピクセルを変更できます。この変化は人間の目には認識できないが、顔認識アルゴリズムを混乱させる可能性がある。 —— タレスグループ 現在、顔認識アルゴリズムは大きな進歩を遂げています。しかし、これは技術革命の始まりに過ぎません。将来、顔認識アルゴリズムとチャットボット技術がいかに強力になるか想像してみてください。 |
Huawei Connect 2021では、中国科学技術情報研究所(CITI)、AITISA(新世代...
データの収集、データのクリーンアップ、環境の構築、モデルのトレーニング、モデルの評価とテストに一生懸...
人工知能 (AI) や機械学習 (ML) プロジェクトを適用する組織が増えるにつれて、これらのプロジ...
たとえば、私が 25 年以上携わってきた市場調査業界を考えてみましょう。 AI は、さまざまな方法で...
機械学習開発の分野では、全体像を見て細かい詳細をすべて取り除くと、機械学習開発における不変の 2 つ...
著者: ふす有名な物理学者ホーキング博士はかつて、将来人類は人工知能によって滅ぼされるかもしれないの...
最近、EUの人工知能規制に新たな展開がありました。欧州データ保護委員会(EDPB)と欧州データ保護監...
利用できるアルゴリズムは多数あります。難しいのは、さまざまな種類の方法があり、それらの方法に拡張もあ...
11月15日、OpenAIは突然、ChatGPT Plusの新規ユーザー登録を停止すると発表しました...
画像処理の分野では、AIブラシがますます目立つようになってきています。以前、AIロスレス画像拡大、A...
7月4日、世界初のAI開発者カンファレンス「Baidu Create 2018」が2年目を迎えました...