畳み込みニューラルネットワークのスケール感度


11

例として、人の写真に基づいて年齢推定器を構築しているとします。以下では2人のスーツを着ていますが、最初の人は2番目の人より明らかに若いです。


(ソース:tinytux.com

これを暗示する特徴はたくさんあります。たとえば、顔の構造です。ただし、最も特徴的な特徴は、ヘッドサイズとボディサイズの比率です


(ソース:wikimedia.org

そのため、CNN回帰をトレーニングして、人の年齢を予測したとします。私が試した多くの年齢予測因子では、上記の子供の画像は、スーツのため、そしておそらく彼らが主に顔に依存しているために、予測をだまして彼が年上であると考えさせているようです:

バニラCNNアーキテクチャは、頭と胴の比率をどれだけうまく推測できるのでしょうか。

体と頭の境界ボックスを取得できる地域のRCNNと比較して、バニラCNNは常にパフォーマンスが低下しますか?

バニラCNNのグローバルな平坦化の直前(つまり、すべての畳み込みの直後)、各出力には対応する受容性フィールドがあり、スケール感が必要です。より高速なRCNNは、この段階でバウンディングボックスの提案を正確に行うことでこれを利用するため、以前のすべての畳み込みフィルターがすべてのスケールに自動的にトレーニングします。

では、バニラCNNは頭と胴のサイズの比率を推測できるはずだと思いますか?これは正しいですか?もしそうなら、より高速なRCNNフレームワークを使用して、人の検出について事前にトレーニングされている可能性があるという事実を利用する唯一の利点は何ですか?


1
あなたの年齢認識機能が正確にどこで失敗するか知っていますか?なぜヘッドサイズの比率だと思いますか?中間層の出力を見ましたか?
Aksakal

@Aksakal彼はCNNのトレーニングを実験したとは思いません。私が理解したところによると、彼は既存のWebサービスを使ってテストを行っています。
DeltaIV 2018

回答:


8

まず、非常に興味深い質問を投稿していただきありがとうございます。

まもなくそれに答えるために、バニラconvnet訓練されたエンド2エンドは、あなたが投稿一つとして誤分類画像に、一般的になりやすいだろう写真から年齢を予測します。第二に、人の年齢正確に推定することはほとんど不可能であることに注意してください1

一部のオブジェクト検出器(RCNN、Faster RCNN、YOLO、SSDなど)を使用して提案したアプローチとの主な違いは、モデルのトレーニングに異なる情報を使用していることです。CNNは画像のみでトレーニングされ、必要な機能すべてを見つける必要があります。さまざまな顔の特徴が見つかる可能性が高いですが、衣服やおそらくシーンの特徴にも依存します(子供は多くの場合、おもちゃで写真に写り、大人はオフィス環境にいる可能性が高いなど)。これらの機能は、反例に対して堅牢ではありません。

一方、オブジェクトを「胴体」および「頭」として明示的に検出するようにネットワークをトレーニングすると、これらのオブジェクトがタスクにとって重要であるという追加情報が提供され、問題が単純化されます2

頭と胴体を検出し、境界ボックスのサイズ比を評価するアプローチは興味深いように聞こえますが、いくつかの障害があることがわかります。

  1. データの取得:年齢ボックスと境界ボックスの両方が存在する大規模なデータセットが利用できるかどうかはわかりません。
  2. 不完全なFOV:ほとんどの画像(例、両方の例)では、人物が完全に表示されません。人物の一部が画像内になく、ネットがどれだけ大きな部分が欠けているかをネットが推測する必要があるため、胴体のバウンディングボックスが常に完全であるとは限らないという事実に対処する必要があります(そしてグラウンドトゥルースのバウンディングボックスが最もおそらくこの情報はキャプチャされません)。また、前述のオブジェクト検出器は、部分オブジェクトの予測を常に適切に処理するわけではありません。これにより、モデルに過度のノイズが発生する可能性があります。
  3. さまざまなポーズ:胴体と頭の比率は、正面と横から見た人では大きく異なります。
  4. 大人:この比率は0歳から21歳までの年齢を予測するのにうまく機能しているようですが、大人の年齢を予測するのにどのように役立つかはわかりません(比率が高年齢でも変化しないと思います)。

これらすべての問題は、頭と胴の比率のアプローチも完全には機能しないことを示唆していますが、特定の反例に対してはより堅牢かもしれません。

このタスクを実行する最良の方法は、1)顔を検出し、2)顔の作物からのみ年齢を予測することです(誤解を招く可能性のある情報を削除します)。ROIプーリングを使用する一部のR-CNNのようなアーキテクチャは、これをエンドツーエンドで行うようにトレーニングできることに注意してください。


1非常に高度な医療方法(おそらく人物の写真よりもはるかに有益)を使用しても、正確に行うことはできません。詳細については、このQuoraスレッドを参照してください

2記事に関する知識の重要性:最適化のための事前情報の重要性の記事で、タスクに関するいくつかの中間的な知識を提供することで学習を大幅に簡略化できる例を確認してください。


8

CNNはモデルのクラスが大きすぎて、この質問に答えることができません。LeNet、AlexNet、ZFNet、およびVGG16は、R-CNNのほとんどのことをCNNアーキテクチャで行うために特別に構築されたGoogLeNetとは非常に異なる動作をします(厳密に言えば、インセプションは単にGoogLeNetが構築される基本ユニット(サブネットワーク)。最後に、ResNetの動作は異なります。これらのアーキテクチャはすべて、年齢クラスを分類するために構築されたのではなく、人間の年齢クラスを含まない1000のImageNetクラスです。転移学習を使用することができます(十分なトレーニング画像がある場合)上記の広く利用可能なトレーニング済みモデルの1つをトレーニングし、それらのパフォーマンスを確認します。ただし、一般に、特に古いアーキテクチャ(VGG16までとしましょう)では、「グローバル機能」を学習するのが難しく、「ヘッド」(すでに複雑な機能)、「胴体」(別の複雑な機能)、およびそれらの機能について学ぶ必要があります。比率(2つのフィーチャが特定の空間関係にあることも必要です)。この種のものは、Capsule Networksができるはずだったものです。

Convnetは、正反対のことを行うために生まれました。局所的な特徴に敏感であり、相対的な位置/スケールには比較的鈍感です。優れたConvnetは、写真がクローズアップかアメリカンショットかを問わず、「白猫」を認識する必要があります。畳み込みレイヤー(ローカルフィーチャに敏感)とプーリングレイヤー(画像のスケールや変換の変化に対する感度の一部を削除する)を組み合わせると、最も基本的な形式では空間の種類の学習が得意ではないアーキテクチャが得られますあなたが探しているオブジェクト間の関係。どこかに例がありました(しかし、私はそれをもう見つけることができません)。猫の画像をさまざまな長方形の重なり合っていないタイルに分割し、それらをランダムな順序でまとめた後、CNNは画像を次のように識別し続けます。cat。これは、CNNが高レベルのフィーチャ間の空間関係よりもローカルフィーチャ(テクスチャなど)に敏感であることを示しています。これに関する議論については、Capsuleネットワークのペーパーも参照してください。ヒントンはまた、convnetの制限についてのビデオでこの例を示しました。

最近のアーキテクチャの1つは、男性から子供を見分けるのに十分な(十分なデータを与えられた)能力があると思いますが、「頭」や「胴体」などの高レベルの機能間のメトリック関係の「しきい値」のためではありません。それは、いくつかの統計的規則性を学習し、おそらく人間にはまったく気付かないかもしれません。それは、トレーニングセットで大人の画像を子供の画像から分離します。


お返事ありがとうございますが、納得できません。RCNNアーキテクチャのフィルター構造は、VGGやResnetなどのオブジェクトconvnetと基本的に同じです。また、RCNNはスケールと相対位置を検出できるため、VGGとResnetもスケールを検出できるはずです。ただし、RCNNアーキテクチャはボックスプロポーザルに依存しています。ボックスプロポーザルはイメージごとに数千を作成し、その後各ボックスプロポーザルが評価されます。したがって、これらのボックスの提案の少なくとも一部を組み込んだ場合、バニラCNNはより適切にスケールを検出するはずです。それが必要かどうか、私にはわかりません。
Alex R.

RCNNはCNNではありません。バウンディングボックスの選択的な検索に失敗するだけでなく、線形SVMとバウンディングボックスのリグレッサステージにも失敗します。また、AlexNet(元のRCNN論文で使用されていたCNN)のスケールを検出する機能、またはVGGとGoogLeNetまたはResNetの機能との間には大きな違いがあります。GoogLeNetは、RCNNが行うことを正確に行うために開発されました。私はGoogLeNetとResNetの両方で年齢を分類できると思いますが、私たちにとって意味のある機能(頭と胴の比率)を使用して、または統計的1 /
DeltaIV

2 /人間が気づくことのない規則性。試してみることをお勧めしますが、残念ながら、画像データベースの構築のみがそれ自体の研究プロジェクトになります(ファッション会社で働いている場合を除く)。
DeltaIV 2018

1
混乱をお詫びします。20種類の異なるRCNNアーキテクチャがあり、それぞれが他のアーキテクチャは廃止されていると主張しています。
Alex R.

1
blog.piekniewski.info/2016/12/29/can-a-deep-net-see-a-catまた、別の問題ですが、テクスチャマッチングに関連しており、より尊敬される研究者から、arxiv.org / pdf / 1703.06857
DeltaIV

0

まあ、それはすべてあなたのデータセットがどのように構築されたかに依存します。私の経験から、ニューラルネットワークは最も単純な説明を求める傾向があります。そして、衣装から年齢を推測することは、実際には頭と体の比率を使用するよりも簡単です。これを念頭に置いてデータセットを拡張できれば、CNNは期待どおりに機能するはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.