Yolo 深圳
深セン
今すぐ参加

RCNNとその物体検出への影響について学びます。RCNNの主要コンポーネント、アプリケーション、Fast RCNNやYOLOようなテクニックを進化させる役割について説明します。

物体検出は自律走行監視医療用画像処理などの用途において、画像や動画中の物体を認識し、位置を特定することができるコンピュータビジョンのタスクである。Viola-Jones検出器やHOG(Histogram of Oriented Gradients)とSVM(Histogram of Oriented Gradients with Support Vector Machines)のような初期の物体検出法は、手作りの特徴とスライディングウィンドウに依存していました。これらの手法は、様々な形や大きさの複数の物体が存在する複雑なシーンにおいて、物体を正確にdetect ことに苦労することが多かった。

領域ベースの畳み込みニューラルネットワーク(R-CNN)は、物体検出への取り組み方を変えた。これはコンピュータビジョンの歴史における重要なマイルストーンである。このようなモデルを理解するために YOLOv8 のようなモデルが登場したのかを理解するためには、まずR-CNNのようなモデルを理解する必要がある。 

Ross Girshickとそのチームによって作成されたR-CNNモデルアーキテクチャは、領域候補を生成し、事前学習済みの畳み込みニューラルネットワーク(CNN)で特徴量を抽出し、物体を分類し、バウンディングボックスを洗練します。難しく感じるかもしれませんが、この記事を読み終える頃には、R-CNNの仕組みとその影響について明確に理解できるようになるでしょう。それでは、詳しく見ていきましょう。

R-CNNはどのように機能するのか?

R-CNNモデルの物体検出プロセスには、領域候補の生成、特徴量の抽出、物体の分類とバウンディングボックスの洗練という3つの主要なステップがあります。各ステップを順に見ていきましょう。

図1. R-CNNの仕組み。

領域候補:R-CNNのバックボーン

最初のステップでは、R-CNNモデルは画像をスキャンして、多数の領域候補を作成します。領域候補とは、物体が含まれている可能性のある領域のことです。Selective Searchのような手法を用いて、色、テクスチャ、形状など、画像のさまざまな側面を見て、異なる部分に分解します。Selective Searchは、画像をより小さな部分に分割することから始め、類似した部分をマージして、より大きな関心領域を形成します。このプロセスは、約2,000個の領域候補が生成されるまで継続されます。

図2. Selective Searchの仕組み。

これらの領域候補は、オブジェクトが存在する可能性のあるすべての場所を特定するのに役立ちます。以降のステップでは、モデルは画像全体ではなく、これらの特定の領域に焦点を当てることで、最も関連性の高い領域を効率的に処理できます。領域候補を使用することで、徹底性と計算効率のバランスが取れます。

画像特徴抽出:詳細のキャプチャ

R-CNNモデルの物体検出プロセスにおける次のステップは、領域候補から特徴を抽出することです。各領域候補は、CNNが想定する一貫したサイズ(例えば、224x224ピクセル)にリサイズされます。リサイズは、CNNが各候補を効率的に処理するのに役立ちます。ワーピングの前に、各領域候補のサイズはわずかに拡大され、領域周辺の追加コンテキストとして16ピクセルが含まれます。これにより、より良い特徴抽出のために周囲の情報が提供されます。

このCNNは通常、ImageNetような大規模なデータセットで事前に訓練されている。CNNは各領域を処理して、エッジ、テクスチャ、パターンなどの重要な詳細を捉える高次元特徴ベクトルを抽出する。これらの特徴ベクトルは、領域から重要な情報を凝縮したものである。CNNは生の画像データを、モデルがさらなる分析に使用できる形式に変換する。次の段階で物体を正確に分類し、位置を特定できるかどうかは、視覚情報を意味のあるデータに変換できるかどうかにかかっている。

図3. AlexNetを使用して領域候補から特徴を抽出。

オブジェクト分類:検出されたオブジェクトの識別

第3のステップは、これらの領域内のオブジェクトをclassify することである。これは、プロポーザル内で見つかった各オブジェクトのカテゴリまたはクラスを決定することを意味する。抽出された特徴ベクトルは機械学習分類器にかけられる。

R-CNNの場合、サポートベクターマシン(SVM)がこの目的で一般的に使用されます。各SVMは、特徴ベクトルを分析し、特定の領域にそのクラスのインスタンスが含まれているかどうかを判断することにより、特定のオブジェクトクラスを認識するようにトレーニングされます。基本的に、すべてのオブジェクトカテゴリに対して、特定のオブジェクトについて各領域候補をチェックする専用の分類器があります。

トレーニング中、分類器には、正と負のサンプルを含むラベル付きデータが与えられます。

  • 正のサンプル:ターゲットオブジェクトを含む領域。
  • 負のサンプル:オブジェクトを含まない領域。

分類器は、これらのサンプルを区別することを学習します。バウンディングボックス回帰は、最初に提案されたバウンディングボックスを調整して実際のオブジェクトの境界により一致させることにより、検出されたオブジェクトの位置とサイズをさらに調整します。R-CNNモデルは、分類とバウンディングボックス回帰を組み合わせることで、オブジェクトを識別し、正確に配置できます。

図4. バウンディングボックス回帰の例。(出典:towardsdatascience.com)

すべてをまとめるNMS検出の精緻化

分類とバウンディングボックス回帰のステップの後、モデルはしばしば同じオブジェクトに対して複数の重複するバウンディングボックスを生成する。非最大抑制NMS)は、これらの検出を洗練し、最も正確なボックスを保持するために適用される。このモデルは、NMS 適用することにより、冗長で重複するボックスを排除し、最も信頼できる検出のみを保持します。 

NMS 、すべてのバウンディングボックスの信頼度スコア(検出されたオブジェクトが実際に存在する可能性を示す)を評価し、より高いスコアのボックスと大きく重なるものを抑制することで機能する。 

図5. Non-Maximum Suppressionの例。(出典:towardsdatascience.com)

NMSステップの内訳は以下の通り:

  • ソート:バウンディングボックスは、信頼性スコアによって降順にソートされます。
  • 選択: 最も高いスコアを持つボックスが選択され、(Intersection over Union,IoU)そのボックスと大きく重なるボックスはすべて取り除かれる。
  • 反復:このプロセスは、次に高いスコアのボックスに対して繰り返され、すべてのボックスが処理されるまで続行されます。

まとめると、R-CNNモデルは、領域プロポーザルを生成し、CNNで特徴を抽出し、バウンディングボックス回帰で物体を分類し、位置を絞り込み、非最大抑制NMS最も正確な検出だけを維持することで物体を検出する。

R-CNNは物体検出におけるマイルストーン

R-CNNは、精度とパフォーマンスを大幅に向上させる新しいアプローチを導入したため、物体検出の歴史における画期的なモデルです。R-CNN以前は、物体検出モデルは速度と精度のバランスを取るのに苦労していました。R-CNNの領域候補を生成し、CNNを使用して特徴を抽出する方法により、画像内のオブジェクトの正確なローカリゼーションと識別が可能になります。 

R-CNNは、Fast R-CNN、Faster R-CNN、Mask R-CNNといったモデルの先駆けとなり、これらのモデルは効率と精度をさらに向上させました。深層学習と領域ベースの分析を組み合わせることで、R-CNNはこの分野に新たな基準を打ち立て、さまざまな現実世界のアプリケーションへの可能性を切り開きました。

R-CNNによる医療画像処理の変革

R-CNNの興味深い使用例は、医療画像処理である。R-CNNモデルは、MRIやCTスキャンなどの医療スキャンにおいて、脳腫瘍などの異なるタイプの腫瘍をdetect ・classify するために使用されている。医療用画像診断にR-CNNモデルを使用することで、診断精度が向上し、放射線科医が悪性腫瘍を早期に発見することができる。R-CNNの小さな腫瘍や早期の腫瘍をdetect する能力は、がんなどの病気の治療や予後に大きな違いをもたらす可能性がある。

図6. RCNNを使用した脳腫瘍の検出。

R-CNNモデルは、腫瘍検出だけでなく、他の医療画像処理タスクにも適用できる。例えば、骨折を特定したり、眼球スキャンで網膜疾患をdetect したり、肺炎やCOVID-19のような状態について肺画像を分析したりすることができる。医学的な問題にかかわらず、早期発見は患者の予後改善につながる。R-CNNの精度を異常の特定と局在化に応用することで、医療提供者は医療診断の信頼性とスピードを向上させることができる。物体検出が診断プロセスを合理化することで、患者はタイムリーで正確な治療計画の恩恵を受けることができる。

R-CNNの限界と後継モデル

R-CNNは素晴らしい成果を上げましたが、高い計算複雑性や遅い推論時間など、いくつかの欠点があります。これらの欠点により、R-CNNモデルはリアルタイムアプリケーションには適していません。領域の提案と分類を別々のステップに分離すると、パフォーマンスが低下する可能性があります。

長年にわたり、これらの懸念に対処するさまざまな物体検出モデルが登場しました。Fast R-CNNは、領域の提案とCNN特徴抽出を単一のステップに統合し、プロセスを高速化します。Faster R-CNNは、領域提案ネットワーク(RPN)を導入して提案生成を効率化し、Mask R-CNNは、より詳細な検出のためにピクセルレベルのセグメンテーションを追加します。

図7. R-CNN、fast R-CNN、faster R-CNN、mask R-CNNの比較。

Faster R-CNNと同じ頃、YOLO (You Only Look Once)シリーズがリアルタイムの物体検出を進歩させ始めた。YOLO モデルは、バウンディングボックスとクラス確率を、ネットワークを通過する1回のパスで予測する。例えば Ultralytics YOLOv8は、多くのコンピュータビジョンタスクのための高度な機能を備え、精度とスピードを向上させています。

主なポイント

RCNNは、ディープラーニングが物体検出をどのように変えることができるかを示し、コンピュータビジョンのゲームを変えた。その成功は、この分野における多くの新しいアイデアに刺激を与えた。Faster R-CNNやYOLO ような新しいモデルがRCNNの欠点を修正するために登場したとはいえ、その貢献は忘れてはならない大きなマイルストーンだ。

研究が進むにつれて、さらに優れた、より高速な物体検出モデルが登場するでしょう。これらの進歩は、機械が世界を理解する方法を改善するだけでなく、多くの産業の進歩にもつながります。物体検出の未来はエキサイティングです!

AIについてもっと知りたいですか?Ultralytics コミュニティの一員になりませんか?GitHubリポジトリで最新の人工知能イノベーションをご覧ください。農業や 製造業など様々な分野にまたがる当社のAIソリューションをご覧ください。私たちと一緒に学び、前進しましょう!

AIの未来を
共に築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。

無料ではじめる