R-CNNの原則との目標検出アルゴリズムSPPNet

A、R-CNN原則

  R-CNNの略リージョン-CNN対象の検出に深い学習アルゴリズムに適用することが最初であると言うことができます。その後、高速R-CNNを学ぶために、より高速なR- CNNは、すべてのR-CNNに基づいて構築されています。

  伝統的なターゲット検出方法のほとんどは、画像認識に基づきます。一般的なフレームのすべての領域は、オブジェクトを使用して選択することができ、後により、画像認識方法に特徴領域フレームを抽出し、成功したすべての分類領域の分類を使用して、画像の枯渇方法に表示されることがあり、非最大値抑制(非最大抑制、NMS)出力。

  R-CNNアイデアに伝統的なターゲット検出、同じ続く各ブロックの特徴量を抽出する抽出フレーム、画像分類、非最大抑制ターゲット検出のための4つのステップを。このステップでのみ抽出された特徴の深さ畳み込みネットワークに機能(等SIFT、HOGを特徴など)の伝統的な特徴を抽出します。図に示すR-CNNアルゴリズム全体のフレーム。

   

  原画像のために、最初に使用する選択検索存在することができるオブジェクトの領域を検索し。選択的検索は、ヒューリスティック探索領域は、画像からオブジェクトを含むことができます。徹底的な用語を比較すると、計算量の選択的検索部分を低減することができます。次に、抽出中に抽出することができるオブジェクトを含む領域は、CNNネットワークを備えています。CNNは、典型的には、固定サイズの画像を受け入れる抽出された領域の大きさが異なります。この点で、R-CNNのアプローチは、均一な大きさの領域を拡大することであり、その後、CNNを用いて特徴を抽出します。SVM分類を使用した後に抽出し、そして最終的に非抑制出力極大を介しています。

  R-CNNのトレーニングは、以下の4つのステップに分けることができます。

  (1)データセットにCNNを訓練。紙に使用されるR-CNN CNNネットワークがデータImageNet設定、AlexNetあります。
  ターゲット検出データ・セット上の(2)は、CNNのための微調整を行うために訓練を受けました。
  (3)選択検索候補領域、CNNは、これらの領域の特徴、およびストアドを抽出するために使用される統一特徴抽出を示唆しました。
  (4)SVM分類器を訓練するために、格納された特性を使用して。

  フレーム差分を特定のR-CNN従来の方法は素晴らしいが、抽出機能CNNに優れた能力によるものではないが、R-CNN効果がはるかに優れ、従来の方法よりも依然としてあります。VOC 2007データセットとして、従来の方法MAP(平均平均精度)の最も高い平均精度は、R-CNNマップ58.5パーセントが、約40%です!

  R-CNN欠点は、あまりにも、計算です絵には、意味1000年に、より頻繁に選択的検索によって得られた有効面積、千のニューラルネットワーク、非常に時間がかかるよりも、ダブルカウントをまた、訓練フェーズの間に、また、すべての機能を保存する必要があり、その後、非常に時間がかかり、面倒であるSVMによって訓練されました。後で高速R-CNNの高速化R-CNNと改善R-CNN計算集約機能をある程度知るには、だけでなく、多くの高速化、認識精度も向上しています。

二、SPPNet原則

  学習R-CNNは、高速R-CNNのバージョンを改善する前に、事前知識として、SPPNetの原則を学ぶことが必要です。SPPNet英語名を中国語に翻訳、空間ピラミッドプール畳み込みネットワークである「宇宙の畳み込みは、ネットワークをプールピラミッド」です。:それは実際には、原則としては、主に一つのことを行うにSPPNet、単純に言えば、難しいことではない、非常に深遠なサウンドを任意のサイズの固定サイズの改善からのCNNの入力を例えば、CNNは、従来の構造では、入力画像のサイズは、多くの場合(例えば、224x224ピクセル)に固定され、出力は、固定次元のベクトルとみなすことができます。従来のCNN構造に加えSPPNet ROIプーリング層(ROIプーリングは、ROIは、地域関心が速記、「特徴マップブロック上」を意味する)、したがって、入力画像ネットワークは任意のサイズであってもよいことは、出力これは、同じベクトルが固定寸法であり、変更されません。

  ROI細胞層は、一般に、図に示すように、出力は、固定次元のベクトルであり、その入力は、任意のサイズの畳み込みである、畳み込み層が続きます。

   

  ROI細胞層を固定長に変換される任意のサイズの畳み込み特徴ベクトルとすることができる理由高さをh、wはコンボリューション出力層の幅を設定したい場合があり、明確にするために、チャネルは、Cです。かかわらず、入力画像サイズの数、cは定数であると言うことである畳込み層は変更されないチャンネルの数です。hは入力画像サイズの変化に伴って変化するであろう、wが、これは、2つの変数として見ることができます。例えば上記ROI図プール層は、その第一の畳み込み層は4×4のグリッド/ W 4の幅各グリッド、高H / 4に分割され、チャンネル番号は、Cです。ときに割り切れない、それは丸めが必要です。

  接着,对每个网格中的每个通道,都取出其最大值,换句话说,就是对每个网格内的特征做最大值池化(Max Pooling,关于池化可以联系到卷积神经网络中的池化操作)。这个4x4的网格最终就形成了16c维的特征。接着,再把网格划分成2x2的网格,用同样的方法提取特征,提取的特征的长度为4c。再把网络划分为1x1的网格,提取的特征的长度就是c,最后的1x1的划分实际是取出卷积中每个通道的最大值。最后,将得到的特征拼接起来,得到的特征是16c+4c+1c=21c维的特征。很显然,这个输出特征的长度与w、h两个值是无关的,因此ROI池化层可以把任意宽度、高度的卷积特征转换为固定长度的向量

  应该怎么把ROI池化层用到目标检测中来呢?其实,可以这样考虑该问题:网络的输入是一张图像,中间经过若干卷积形成了卷积特征,这个卷积特征实际上和原始图像在位置上是有一定对应关系的。如下图所示。

   

  在上图中,原始图像中有一辆汽车,它使得卷积特征在同样位置产生了激活。因此,原始图像中的候选框,实际上也可以对应到卷积特征中相同位置的框。由于候选框的大小千变万化,对应到卷积特征的区域形状也各有不用,但是不用担心,利用ROI池化层可以把卷积特征中的不同形状的区域对应到同样长度的向量特征。综合上述步骤,就可以将原始图像中的不同长宽的区域都对应到一个固定长度的向量特征,这就完成了各个区域的特征提取工作。

  在R-CNN中,对于原始图像的各种候选区域框,必须把框中的图像缩放到统一大小,再对每一张缩放后的图片提取特征。使用ROI池化层后,就可以先对图像进行一遍卷积计算,得到整个图像的卷积特征;接着,对于原始图像中的各种候选框,只需要在卷积特征中找到对应的位置框,再使用ROI池化层对位置框中的卷积提取特征,就可以完成特征提取工作。

  R-CNN和SPPNet的不同点在于,R-CNN要对每个区域计算卷积,而SPPNet只需要计算一次,因此SPPNet的效率比R-CNN高得多。

  R-CNN和SPPNet的相同点在于,它们都遵循着提取候选框、提取特征、分类这几个步骤。在提取特征后,它们都使用了SVM进行分类。

 

 

おすすめ

転載: www.cnblogs.com/xiaoyh/p/11787239.html