ディープラーニングに基づくターゲット検出ネットワークが誤検出を起こす可能性がある理由と、ターゲット検出の誤検出問題を最適化する方法について説明します。

ディープラーニングに基づくターゲット検出ネットワークが誤検出を起こす可能性がある理由と、ターゲット検出の誤検出問題を最適化する方法について説明します。

顔検出などの物体検出用のディープラーニング ネットワークにとって、誤検出は非常に厄介なものです。犬を猫として検出することは許容されます。結局のところ、一部の犬は猫に似ていますが、壁、電球、拳、衣服を人間の顔として検出することは、明らかにまったく似ていないため、許容されません。少し考えてみると、誤検知の問題は 2 つの側面から説明できると思います。

画像コンテンツの問題

顔検出ネットワークをトレーニングする場合、通常、データの拡張を実行して、画像のさまざまな姿勢やさまざまな照明などの複雑な状況をシミュレートします。これにより、顔の画像が過度に明るくなる可能性があります。「過度に明るい」顔は、光る電球のように見えます。 。 。ネットワークによって抽出された光る電球の特徴と、ネットワークによって抽出された明るすぎる顔の特徴との類似性が臨界値に達した場合、ネットワークが光る電球​​を顔として検出しても不思議ではありません。

同様に、ネットワークのトレーニングに使用される顔データセットにマスクやスカーフを着用した顔画像がいくつかある場合、ネットワークはマスクとスカーフの特徴を「記憶」する可能性が非常に高くなります。予測段階で、マスクやスカーフのように動作するオブジェクト(衣服など)がある場合、ネットワークはそのオブジェクトを顔として検出する可能性が高くなります。

もちろん、上記の議論はすべてインスピレーションのみを目的としており、この記事では当面それらを議論の焦点とはしません。

ターゲット bbox 範囲の問題

現在非常に人気のあるディープラーニングターゲット検出ネットワーク (SSD、YOLO、RetinaFace など) のトレーニング段階では、画像内のターゲットの bbox を提供する必要があります。いわゆる bbox は、実際には主にターゲットの外側の四角形を指します。このようにトレーニングされたネットワークは、通常、予測段階でターゲットの境界四角形を提供します。

問題は bbox にあります。以下の説明では顔検出を例に挙げます。次の図をご覧ください。

これは典型的なターゲット bbox です。 bbox は基本的に長方形ですが、通常、ターゲット (顔) は長方形ではなく、bbox には顔以外のコンテンツが含まれます。これらの顔以外のコンテンツが誤検出の原因の一部になっていると思います

一般的に使用される顔検出ネットワークは、通常、多数の畳み込み層を使用して画像の特徴を抽出します。取得される特徴マップのサイズは、通常、元の入力画像よりも数倍小さくなります (ストライドやパディングなどの畳み込みパラメータによって異なります)。ネットワークは、特徴マップ内の各「ピクセル ポイント」に対してバイナリ分類 (顔クラスまたは背景クラス) を実行します。このバイナリ分類プロセスで「誤検出」が生成されます。

数倍小さい特徴マップの「ピクセル ポイント」は、元の画像の小さな長方形領域内のピクセルに対応します。このように、特徴マップの各「ピクセル ポイント」は bbox と見なすことができますが、これらの bbox の一部は背景クラスに属し、一部は顔クラスに属します。

簡単にするために、顔検出ネットワークのバイナリ分類ブランチを抽出し、それを p_{\theta } として設定します。x は特徴マップの「ピクセル ポイント」を表し、q はピクセル ポイントのラベルを表します。p_{\theta } をトレーニングする一般的な方法は、次の目的を最適化することです。

  1. \underset{\theta}{argmax}{\mathbb{E}_{x \sim p_{\theta}(x)}}\frac{p_{\theta}(y|x)}{q(y|x)}

ここで、y は 0 (背景クラス)/1 (顔クラス) のラベルです。顔クラスの場合、理想的には x が顔データになることが望まれますが、現実には x は小さな長方形領域内のすべての画像データであり、顔以外のデータが含まれることがよくあります。したがって、最適化される実際の目標は次のとおりです。

  1. \underset{\theta}{argmax}{\mathbb{E}_{x \sim p_{\theta}(x+\Delta x)}}\frac{p_{\theta}(y|x+\Delta x)}{q(y|x+\Delta x)}

上記の式では、x は顔データを表し、\Delta x は顔以外のデータを表します。通常、q(y|x+\Delta x) は手動で注釈が付けられたラベルなので、\Delta x は q の結果に影響を与えず、次の目標を最適化できます。

  1. \underset{\theta}{argmax}{\mathbb{E}_{x \sim p_{\theta}(x+\Delta x)}}\frac{p_{\theta}(y|x+\Delta x)}{q(y|x)}

トレーニングから p_{\theta}(y|x) を取得したと思っていましたが、実際には p_{\theta}(y|x+\Delta x) を取得しました。\Delta x の存在が誤検出の主な原因の 1 つであると考えられます。

誤検出の問題の最適化

\Delta x の存在は誤検知を引き起こす可能性があるため、この問題を最適化する直感的な方法があります。

  • \Delta x \rightarrow 0とします。
  • p_{\theta}(y|x+\Delta x) \rightarrow p_{\theta}(y|x) とします。

残念ながら、これらのアプローチはどちらも実際に直接実装するのは困難です。労力コストを考慮せずに、大まかな顔の bbox をより細かいポリゴンに置き換えることもできますが、複数回スケーリングされた畳み込み特徴マップ自体も「長方形の枠」を暗示します。また、人間の目が「顔」と見なすものが、ネットワークが「顔」と見なすものとは異なる場合があります

この論文では、ピクセルレベルのセマンティックセグメンテーションタスクは考慮していません。

もう少し考えてみると、上記の理論では x と \Delta x を独立したピクセルの集合として扱っていますが、理論をもう少し一般化して、x を bbox 内のすべてのピクセルとして扱い、\Delta x を誤った顔検出を妨げる bbox 内のピクセルの差として扱うと、理論がより有用になることが簡単にわかります。

顔検出ネットワークの誤検出問題を最適化する理論的構築を完了しました。この理論は、後続のネットワークとそれに対応する損失関数の設計を導きます。

ディープラーニングネットワークの構築

s_w を構築する方法はたくさんあります。以下は、実験中に私が単純に構築したネットワークの主要部分の概略図です (この構築は少し大まかですが、理論をほぼ検証できます)。

従来の方法では、特徴マップ x_f + \Delta x_f を取得すると、それが背景/顔のバイナリ分類ネットワークブランチに直接送信され、分類されます。上記のネットワーク アーキテクチャでは、特徴マップ x_f + \Delta x_f から同じサイズの 1 チャネルの顔特徴確率マップを取得する追加のブランチを追加しました。特徴確率マップに x_f + \Delta x_f を掛けて、x_f + \Delta x'_f を取得します。このようにして、2 つの分類結果を得ることができます。

  • p_{\theta}(x_f + \Delta x_f)
  • p_{\theta}(x_f + \Delta x'_f)

次に、以前の理論分析から得られた s_w 最適化方法に従って、\theta と w を同時に最適化してトレーニングを完了できます。

いくつかの視覚トレーニング効果

ここではあまり詳細なテストは行いませんでした。上記の構造を手元の RetinaFace ネットワークに追加し、10 エポックにわたってトレーニングして、いくつかの視覚効果を生成しただけです。

左: 元の画像と bbox ラベル。中央: 顔の特徴確率マップ。右: s_w によって処理された画像。

ラベルは長方形の bbox ですが、トレーニング ブランチを追加するだけで、セマンティック セグメンテーションと同様の効果が得られることがわかります。

また、効果図 2 から、ネットワークによって認識される顔の領域は人間の目で認識される領域と完全に一致しているわけではありませんが、主要な特徴は概ね保持されていることがわかります。下記に同様の写真があります。

誤検出の最適化効果

私はまだ怠け者なので、あまり詳細なテストはしていません。非常に小さなデータセット (1,000 枚の画像) でのみテストしましたが、偽陽性率は 5.2% 減少しました。比較対象は次のとおりです。

  • p_{\theta}(x_f + \Delta x_f)
  • p_{\theta}(x_f + \Delta x'_f)

もちろん、これは私の厳しいトレーニングとテストの結果にすぎません。後で時間があるときに、ネットワーク設計とトレーニングを慎重に構築し、公開データセットのテスト結果の比較を補うように努めます。

<<:  OpenAI CEO サム・アルトマン: AI革命が到来、新たなシステムが必要

>>:  Java プログラミング スキル - データ構造とアルゴリズム「ソート アルゴリズムの分類と紹介」

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

スマート病院: 将来の医療技術のガイドラインとトレンド

スマート病院とは何ですか?最も伝統的な病院でさえ、人、プロセス、資産の広大なネットワークを持つ複雑な...

...

マイクロソフトがCopilot for Financeをリリース、AIでスプレッドシートに革命を起こすことを目指す

Microsoft が新たにリリースした AI アシスタントは、増え続ける財務データの中から適切な情...

プログラマーの 90% が職を失いつつあり、Google AI によって書かれた機械学習コードはプログラマーよりも優れている!

ロボットはいくつの業界を置き換えることができるでしょうか? 初期の介護士から、後の編集者 (静かに悲...

セキュリティとインテリジェンス: 銀行における IoT の導入と応用

人工知能 (AI) 対応ソリューションの機能からスマート デバイスによるモビリティの向上まで、コネク...

2021 年の AI サイバーセキュリティ開発の動向

AI の安全性は、サイバーセキュリティの脅威やデータ侵害を阻止する上でさらに重要であることが証明され...

視覚慣性走行距離計のIMU事前統合モデルについてお話しましょう

エンジニアリングの実践では、単に視覚オドメトリ (VO) を使用するのではなく、視覚と IMU を組...

ITリーダーはAIパワーの変化する需要とトレードオフを乗り切る

2023 年は世界中の IT 部門に多くの変化をもたらしました。これまでのところ、最大の驚きは Ge...

AI天気予報には依然として人間の介入が必要

業界では、デート、マーケティング、ソーシャルメディアから宇宙探査、医療の進歩に至るまで、人工知能とそ...

AAAI2018にはアリババからの11の論文が収録され、6人の著者がメインカンファレンスでプレゼンテーションを行うよう招待されました。

2018年の初め、アリババは人工知能の分野での最新の成果を発表しました。人工知能に関するトップ学術...

JavaScript ChatGPT プラグインの構築、学習しましたか?

チャット プラグイン システムは、ChatGPT の機能を拡張し、独自のビジネス データを組み込み、...

機械学習における欠損値に対処する9つの方法

データサイエンスはデータに関するものです。これは、あらゆるデータ サイエンスや機械学習プロジェクトの...

ブックマークにおける不正行為の特定におけるグラフィカル モデルの応用

概要グラフィカル モデルは通常、問題自体に複数の相互に関連する変数があるシナリオで使用され、これらの...

人工知能は鉄道の乗客の安全を守ることができるか?

高速鉄道網がますます充実するにつれ、列車は人々が長距離を移動する際に好まれる交通手段となってきました...