YOLO Vision 2026:
ビジョンAI

R-CNNとは何か?概要解説

RCNNとその物体検出への影響について学びます。主要コンポーネント、アプリケーション、そして Fast RCNN や YOLO などの技術発展における役割について解説します。

ABAbirami Vina6 min read
R-CNNがどのように領域ベースの物体検出を行うか

Object detection is a computer vision task that can recognize and locate objects in images or videos for applications like autonomous driving, surveillance, and medical imaging. Earlier object detection methods, such as the Viola-Jones detector and Histogram of Oriented Gradients (HOG) with Support Vector Machines (SVM), relied on handcrafted features and sliding windows. These methods often struggled to accurately detect objects in complex scenes with multiple objects of various shapes and sizes.

Region-based Convolutional Neural Networks (R-CNN) は、私たちがオブジェクト検出に取り組む方法を変えました。これはコンピュータビジョンの歴史において重要なマイルストーンです。Ultralytics YOLOv8 のようなモデルがどのようにして誕生したのかを理解するには、まず R-CNN のようなモデルを理解する必要があります。

Created by Ross Girshick and his team, the R-CNN model architecture generates region proposals, extracts features with a pre-trained Convolutional Neural Network (CNN), classifies objects, and refines bounding boxes. While that might seem daunting, by the end of this article, you'll have a clear understanding of how R-CNN works and why it's so impactful. Let's take a look!

R-CNNの仕組み#

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

Diagram of how R-CNN works

Fig 1. How R-CNN works.

領域候補:R-CNNの基盤#

最初のステップでは、R-CNNモデルが画像をスキャンして多数の領域候補を作成します。領域候補とは、物体が含まれている可能性のある領域のことです。Selective Searchのような手法を使用して、色、テクスチャ、形状といった画像のさまざまな側面を調べ、画像を異なるパーツに分割します。Selective Searchはまず画像を小さなパーツに分割し、似たものを結合して、より大きな関心領域を形成します。このプロセスは、約2,000個の領域候補が生成されるまで続きます。

Diagram of how selective search works

Fig 2. How Selective Search works.

これらの領域候補は、物体が存在する可能性のあるすべてのスポットを特定するのに役立ちます。その後のステップにおいて、モデルは画像全体ではなく、これらの特定の領域に焦点を当てることで、最も関連性の高い領域を効率的に処理できます。領域候補を使用することで、網羅性と計算効率のバランスが取れています。

画像特徴量抽出:詳細の把握#

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

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

Extracting features from a region proposal using AlexNet

Fig 3. Extract features from a region proposal using AlexNet.

物体分類:検出された物体の識別#

第3のステップは、これらの領域内の物体を分類することです。これは、候補内に見つかった各物体のカテゴリまたはクラスを特定することを意味します。抽出された特徴ベクトルは、次に機械学習の分類器へと渡されます。

R-CNNの場合、この目的のために一般的にSVM(Support Vector Machines)が使用されます。各SVMは、特徴ベクトルを分析して特定の領域にそのクラスのインスタンスが含まれているかどうかを判断することで、特定の物体クラスを認識するように学習されます。本質的に、すべての物体カテゴリに対して、それぞれの領域候補をチェックする専用の分類器が存在します。

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

  • 正解サンプル:対象物体を含む領域。
  • 不正解サンプル:物体を含まない領域。

分類器は、これらのサンプルを区別することを学習します。バウンディングボックス回帰は、最初に提案されたバウンディングボックスを調整して実際の物体の境界に合わせることで、検出された物体の位置とサイズをさらに洗練させます。R-CNNモデルは、分類とバウンディングボックス回帰を組み合わせることで、物体を特定し正確に位置付けることができます。

Example of bounding box regression

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

まとめ:NMSによる検出の精緻化#

分類およびバウンディングボックス回帰のステップの後、モデルは同じ物体に対して重なり合う複数のバウンディングボックスを生成することがよくあります。NMS(Non-Maximum Suppression:非最大値抑制)を適用してこれらの検出を洗練させ、最も正確なボックスのみを保持します。モデルはNMSを適用することで冗長で重なり合うボックスを排除し、最も確信度の高い検出結果のみを残します。

NMSは、すべてのバウンディングボックスの確信度スコア(検出された物体が実際にそこに存在する可能性を示す値)を評価し、スコアが高いボックスと大きく重なっているボックスを抑制する仕組みです。

Example of non-maximum suppression

図5 非最大値抑制の例。(出典: towardsdatascience.com)

NMSのステップの詳細は以下の通りです:

  • 並べ替え: バウンディングボックスは、確信度スコアの降順で並べ替えられます。
  • 選択: 最もスコアの高いボックスが選択され、それと(IoU:Intersection over Unionに基づいて)大きく重なっているすべてのボックスが削除されます。
  • 反復: このプロセスは次に高いスコアのボックスに対して繰り返され、すべてのボックスが処理されるまで続きます。

まとめると、R-CNNモデルは、領域候補の生成、CNNによる特徴量抽出、物体の分類とバウンディングボックス回帰による位置の洗練、そしてNMSを使用して最も正確な検出結果のみを残すことで物体を検出します。

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

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

R-CNNは、効率と精度をさらに高めたFast R-CNN、Faster R-CNN、Mask R-CNNなどのモデルへの道を開きました。深層学習と領域ベースの分析を組み合わせることで、R-CNNはこの分野で新たな基準を打ち立て、さまざまな実世界での応用の可能性を広げました。

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

An interesting use case of R-CNN is in medical imaging. R-CNN models have been used to detect and classify different types of tumors, such as brain tumors, in medical scans such as MRIs and CT scans. Using the R-CNN model in medical imaging improves diagnostic accuracy and helps radiologists identify malignancies at an early stage. R-CNN's ability to detect even small and early-stage tumors can make a significant difference in the treatment and prognosis of diseases like cancer.

Detection of brain tumors using R-CNN

Fig 6. Detection of brain tumors using RCNN.

The R-CNN model can be applied to other medical imaging tasks in addition to tumor detection. For instance, it can identify fractures, detect retinal diseases in eye scans, and analyze lung images for conditions like pneumonia and COVID-19. Regardless of the medical issue, early detection can lead to better patient outcomes. By applying R-CNN's precision in identifying and localizing anomalies, healthcare providers can improve the reliability and speed of medical diagnostics. With object detection streamlining the diagnosis process, patients can benefit from timely and accurate treatment plans.

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

R-CNNは優れていますが、計算の複雑さや推論速度の遅さといった欠点も抱えています。これらの欠点により、R-CNNモデルはリアルタイムのアプリケーションには不向きです。領域候補の生成と分類を別々のステップに分けているため、パフォーマンスの効率が低下する可能性があります。

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

Comparison of R-CNN, Fast R-CNN, Faster R-CNN, and Mask R-CNN

図7. R-CNN、Fast R-CNN、Faster R-CNN、およびMask R-CNNの比較。

Around the same time as Faster R-CNN, the YOLO (You Only Look Once) series began advancing real-time object detection. YOLO models predict bounding boxes and class probabilities in a single pass through the network. For example, the Ultralytics YOLOv8 offers improved accuracy and speed with advanced features for many computer vision tasks.

重要なポイント#

R-CNNはコンピュータビジョンに革命をもたらし、深層学習が物体検出をどのように変えられるかを示しました。その成功は、この分野における多くの新しいアイデアのきっかけとなりました。Faster R-CNNやYOLOといった新しいモデルがR-CNNの欠点を解決するために登場しましたが、その貢献は決して忘れてはならない大きなマイルストーンです。

研究が続くにつれて、さらに優れた、より高速な物体検出モデルが登場するでしょう。これらの進歩は、マシンが世界を理解する方法を改善するだけでなく、多くの業界で進歩をもたらします。物体検出の未来は期待に満ちています。

Want to keep exploring about AI? Become part of the Ultralytics community! Explore our GitHub repository to see our latest artificial intelligence innovations. Check out our AI solutions spanning various sectors like agriculture and manufacturing. Join us to learn and advance!

Explore solutions

Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。
詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。
詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。
詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。
詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。
詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。
詳細はこちら
Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。
詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。
詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。
詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。
詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。
詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。
詳細はこちら
Real-time AI that works with your team

ロボティクスにおけるAI

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律航行、認識、物体追跡、リアルタイム制御を推進します。
詳細はこちら
Real-time AI that works with your team

物流におけるAI

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物の検査、仕分け、車両追跡、リアルタイムの倉庫安全モニタリングが可能になります。
詳細はこちら
Real-time AI that works with your team

小売業界におけるAI

Ultralytics YOLOモデルで小売を再定義しましょう。ビジョンAIは、在庫追跡、棚のモニタリング、キュー管理、そしてより賢明な顧客インサイトを促進します。
詳細はこちら
Real-time AI that works with your team

ヘルスケアにおけるAI

Ultralytics YOLOモデルを使用してヘルスケアソリューションを構築しましょう。ヘルスケア分野におけるビジョンAIは、より高速な医療画像診断、よりスマートな診断、患者モニタリングを推進します。
詳細はこちら
Real-time AI that works with your team

製造におけるAI

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPEコンプライアンス、組立ラインの自動化を促進します。
詳細はこちら
Real-time AI that works with your operation

自動車におけるAI

Ultralytics YOLOモデルを使用して、自動車分野にコンピュータビジョンを適用しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳細はこちら
Real-time AI tailored to your operation

農業におけるAI

Ultralytics YOLOモデルを使用して、スマート農業にビジョンAIを導入しましょう。作物モニタリング、家畜のトラッキング、精密農業を強化し、より高くスマートな収穫を実現します。
詳細はこちら

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

機械学習の未来とともに旅を始めましょう