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

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

顔検出などの物体検出用のディープラーニング ネットワークにとって、誤検出は非常に厄介なものです。犬を猫として検出することは許容されます。結局のところ、一部の犬は猫に似ていますが、壁、電球、拳、衣服を人間の顔として検出することは、明らかにまったく似ていないため、許容されません。少し考えてみると、誤検知の問題は 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 プログラミング スキル - データ構造とアルゴリズム「ソート アルゴリズムの分類と紹介」

ブログ    
ブログ    

推薦する

高等教育における人工知能の3つの革新的な応用

高等教育の専門家は、AI と完全に連携する準備をしなければ、機会を逃したり、学生とのつながりが断たれ...

...

転移学習に関する最先端の研究:低リソース、ドメイン一般化、安全な転移

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

...

「スマートストア」のAIカメラは何ができるのか?

スマートシティが理論的な概念から正式な計画と建設へと進化するにつれて、スマートストアはスマートシティ...

李開復氏独占インタビュー:10年後には人間の仕事の50%がAIに置き換えられる

「人工知能は急速に発展し、10年以内に人間の仕事の50%がAIに置き換えられるだろう」。シノベーショ...

DFSアルゴリズムは5つの島の問題を克服する

[[429450]]この記事はWeChatの公開アカウント「labuladong」から転載したもので...

...

AIチップアーキテクチャは最先端へ向かう

企業は、AI をエッジに押し上げるための最適な武器として、さまざまなチップ アーキテクチャを採用しよ...

...

人工知能技術の発展に関する合理的な見方

[[421597]]社会の生産性が急速に発展するにつれ、文学作品に描かれた未来の技術やより良い生活が...

...

...

人工知能が不動産ビジネスの成長を加速させる方法

人工知能 (AI) は、今後最も期待されるテクノロジーの 1 つです。テクノロジーがビジネスに与える...