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

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

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

ブログ    

推薦する

企業が機械学習で犯す5つの間違い

機械学習技術の発展により、企業内のさまざまな構造化コンテンツや非構造化コンテンツから、より多くの情報...

ファインマン・ラプソディ:体内に入ることができる「外科医」

1959年、ノーベル物理学賞受賞者のリチャード・ファインマンは、カリフォルニア工科大学での「体の底...

...

MIT は Google と提携して 7 台のマルチタスク ロボットをトレーニングし、9,600 のタスクで 89% の成功率を達成しました。

タスクの数が増えるにつれて、現在の計算方法を使用して汎用の日常的なロボットを構築するコストは法外なも...

低品質の AIGC コンテンツがインターネット エコシステムに溢れかえれば、エコシステムは破壊されてしまいます。

少し前、ChatGPT は突然人気を博し、ユーザーベースが急速に増加しました。多くの人が「生成 AI...

ニューヨーク大学のチームは、自然言語を使ってチャットボットChatGPTを使ってマイクロプロセッサをゼロから設計した。

6月19日、生成型人工知能がハードウェア設計などの分野に参入し始めました。最近、ニューヨーク大学の...

...

ディープラーニングアーキテクチャにおける予測コーディングモデルに関しては、PredNetに目を向ける必要があります。

[[434722]] 0. はじめに予測的コーディングは認知科学における仮説です。高レベルの神経活...

...

AI教育を普及させるために「幼少期から始める」という考え方は、学校、親、社会にますます受け入れられつつあります。

[[254737]]小中学生の91.7%が、AI関連のコンテンツについて学ぶことに多少なりとも非常...

スマートワーク: AI がリモートワークをどう変えるのか

AI の出現は雇用者と従業員の両方からさまざまな程度の懐疑と恐怖を招いてきましたが、リモートワークに...

地下鉄乗車時の「顔認識」:AI専門家にとって新たな金鉱

[[276754]]業界のすべての実務者が合意に達することはまれですが、AI業界は例外です。ほぼすべ...

韓国チームはサンプルの引き渡しを拒否し、2本目のLK-99サスペンションビデオを公開しました! HUSTの新論文が初めて反磁性を証明

昨夜、「LK-99は韓国当局により偽物と摘発され、常温超伝導体ではない」というニュースがインターネッ...

34B パラメータが GPT-4 を上回ります! 「数学的普遍モデル」MAmmoTH オープンソース: 平均精度が最大 29% 向上

数学的推論は言語モデルが避けることのできない問題点です。さまざまなブラックテクノロジーのサポートがあ...

Waymo - 自動運転技術の解説

[[437828]]今日は、Google の自動運転車 Waymo がどのようにそれを実現するかを見...