主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

R-CNN、快速R-CNNおよび更快R-CNN入門

“オブジェクトの検出”は,イメージ内のオブジェクトを検出して分類するプロセスです。深層学習アプローチの1つであるR-CNN与卷积神经网络(地区)では,四角形の領域提案を畳み込みニューラルネットワークの特徴と組み合わせます。R-CNNは2段階検出アルゴリズムです。第1段階では,オブジェクトを含んでいる可能性のあるイメージ内の領域のサブセットを特定します。第2段階では,各領域に含まれるオブジェクトを分類します。

R-CNNオブジェクト検出器の応用例は次のとおりです。

  • 自動運転

  • スマート監視システム

  • 顔認識

计算机视觉工具箱™にはR-CNN,快速R-CNNおよび更快R-CNNアルゴリズムのオブジェクト検出器が用意されています。

“インスタンスセグメンテーション”は,オブジェクト検出を拡張して,検出された個々のオブジェクトのピクセルレベルのセグメンテーションを提供します。计算机视觉的工具箱では、Mask R-CNN と呼ばれるインスタンス セグメンテーションの深層学習アプローチをサポートする層を提供しています。詳細は、インスタンスセグメンテーションの面具R-CNN入門を参照してください。

R-CNNアルゴリズムを使用したオブジェクトの検出

R-CNNを使用したオブジェクトの検出用モデルは,次の3つのプロセスに基づきます。

  • オブジェクトが含まれている可能性のあるイメージ内の領域を検出します。これらの領域は"領域提案"と呼ばれます。

  • 領域提案からCNN特徴量を抽出します。

  • 抽出した特徴量を使用してオブジェクトを分類します。

R-CNNには3つのバリアントがあります。各バリアントでは,上記のプロセスの1つ以上の結果の最適化,加速,または強化を試みます。

R-CNN

R-CNN検出器[2]はまず,边缘盒子[1]などのアルゴリズムを使用して領域提案を生成します。提案領域はイメージからトリミングされ,サイズ変更されます。その後,トリミングされてサイズ変更された領域は,CNNによって分類されます。最後に,CNN特徴量を使用して学習したサポートベクターマシン(SVM)によって,領域提案境界ボックスが調整されます。

関数trainRCNNObjectDetectorを使用してR-CNNオブジェクト検出器を学習させます。この関数は,イメージ内のオブジェクトを検出するrcnnObjectDetectorオブジェクトを返します。

快R-CNN

R-CNN検出器と同様に,R-CNN快[3]検出器も边缘盒子などのアルゴリズムを使用して領域提案を生成します。領域提案をトリミングしてサイズ変更するR-CNN検出器とは異なり,快速R-CNN検出器ではイメージ全体を処理します。R-CNN検出器は各領域を分類しなければなりませんが、Fast R-CNN は各領域提案に対応する CNN 特徴量をプーリングします。Fast R-CNN 検出器ではオーバーラップする領域の計算を共有するので、Fast R-CNN は R-CNN よりも効率的です。

関数trainFastRCNNObjectDetectorを使用して快速R-CNNオブジェクト検出器を学習させます。この関数は,イメージからオブジェクトを検出するfastRCNNObjectDetectorを返します。

快R-CNN

快R-CNN[4]検出器では、边缘盒などの外部アルゴリズムを使用する代わりに,領域提案ネットワーク(RPN)を追加してネットワーク内で領域提案を直接生成します。的RPNはアンカーボックスによるオブジェクトの検出を使用します。ネットワーク内で領域提案を生成する方が高速であり,データに合わせてより適切に調整されます。

関数trainFasterRCNNObjectDetectorを使用して更快R-CNNオブジェクト検出器を学習させます。この関数は,イメージからオブジェクトを検出するfasterRCNNObjectDetectorを返します。

R-CNNオブジェクト検出器の比較

このオブジェクト検出器ファミリでは,領域提案を使用してイメージ内のオブジェクトを検出します。提案された領域の数によって,イメージ内のオブジェクトの検出にかかる時間が決まります。快R-CNN検出器と Faster R-CNN 検出器は、領域の数が多い場合に検出のパフォーマンスを向上させるように設計されています。

R-CNN検出器 説明
trainRCNNObjectDetector
  • 学習と検出に時間がかかる

  • カスタム領域提案が使用可能

trainFastRCNNObjectDetector
  • カスタム領域提案が使用可能

trainFasterRCNNObjectDetector
  • 実行時のパフォーマンスが最適

  • カスタム領域提案はサポートしない

転移学習

事前学習済みの畳み込みニューラルネットワーク(CNN)をR-CNN検出器の基礎として使用できます。この手法は,"転移学習"とも呼ばれます。事前学習済みの深層ニューラルネットワーク(深度学习工具箱)を参照してください。関数trainRCNNObjectDetectortrainFasterRCNNObjectDetector,またはtrainFastRCNNObjectDetectorと一緒に,次のネットワークのいずれかを使用します。これらのネットワークを使用するには,対応する深度学习工具箱™モデルをインストールしなければなりません。

事前学習済みイメージ分類CNNに基づいてカスタムモデルを設計することもできます。R-CNN R-CNN,快,快R-CNNモデルの設計の節およびディープネットワークデザイナー(深度学习工具箱)アプリを参照してください。

R-CNN R-CNN,快,快R-CNNモデルの設計

事前学習済みイメージ分類CNNに基づいてカスタムR-CNNモデルを設計できます。深層学習ネットワークを構築,可視化および編集するために,ディープネットワークデザイナー(深度学习工具箱)を使用することもできます。

  1. 基本R-CNNモデルは,事前学習済みのネットワークから開始します。最後の3つの分類層は,検出対象のオブジェクトクラスに固有の新しい層で置き換えられます。

    R-CNNオブジェクト検出ネットワークの作成方法の例については,R-CNNオブジェクト検出ネットワークの作成を参照してください。

  2. 快R-CNNモデルは基本R-CNNモデルに基づいています。一連のボックスオフセットを学習してイメージ内のオブジェクトの位置を改善するために,ボックス回帰層が追加されています。各領域提案のCNN特徴量をプーリングするために,ROIプーリング層がネットワークに挿入されています。

    快R-CNNオブジェクト検出ネットワークの作成方法の例については,快R-CNNオブジェクト検出ネットワークの作成を参照してください。

  3. 快R-CNNモデルは快速R-CNNモデルに基づいています。提案を外部アルゴリズムから取得するのではなく,領域提案を生成するために,領域提案ネットワークが追加されています。

    快R-CNNオブジェクト検出ネットワークの作成方法の例については,快R-CNNオブジェクト検出ネットワークの作成を参照してください。

深層学習用学習データのラベル付け

イメージラベラービデオラベラー,またはグラウンドトゥルースラベラー(自动驾驶工具箱)アプリを使用して,対話形式でピクセルにラベル付けし,ラベルデータを学習用にエクスポートできます。アプリは、オブジェクト検出用の四角形の関心領域 (ROI)、イメージ分類用のシーン ラベル、セマンティック セグメンテーション用のピクセルにラベルを付けるためにも使用できます。いずれかのラベラーでエクスポートされたグラウンド トゥルース オブジェクトから学習データを作成するには、関数objectDetectorTrainingDataまたは関数pixelLabelTrainingDataを使用できます。詳細は,オブジェクト検出およびセマンティックセグメンテーション用の学習データを参照してください。

参照

兹特尼克,C.劳伦斯和P. Dollar。边缘框:从边缘定位对象提案。电脑Vision-ECCV。施普林格国际出版。页391 - 4050。2014.

R.格希克、J.多纳休、T.达雷尔和J.马利克。精确目标检测和语义分割的丰富特征层次2014 IEEE计算机视觉与模式识别会议论文集。页580 - 587。2014

[3] Girshick,罗斯。“快速r-cnn。”计算机视觉。2015

任绍庆,何开明,Ross Girshick,孙健更快的R-CNN:面向区域提议网络的实时目标检测神经信息处理系统研究进展。28日,2015卷。

参考

アプリ

関数

関連する例

詳細