Yolo 深圳
深セン
今すぐ参加
用語集

Two-Stage物体検出器

二段階オブジェクト検出器の仕組みを探求し、領域提案と分類に焦点を当てます。Ultralytics のような現代モデルが現在リードしている理由を学びましょう。

二段階物体検出器は、コンピュータビジョンにおいて画像内の物体を識別・位置特定するために用いられる高度な深層学習(DL)アーキテクチャの一種である。 単一パスで検出を行うワンステージ型とは異なり、 これらのモデルはタスクを領域提案と物体分類という 二つの段階に分割する。この二分化された手法は 高い位置特定精度を優先するために考案され、 人工知能(AI)の進化において歴史的に重要な 検出器となっている。 「どこにあるか」と「何であるか」を分離することで、二段階検出器は特に小型または遮蔽された物体において高い精度を達成することが多い。ただし、これは通常、計算リソースの増加と推論遅延の増加を代償とする。

2段階プロセス

二段階検出器のアーキテクチャは、人間が注意深く情景を精査する方法を模倣した 順次的なワークフローに基づいている。

  1. 領域提案:最初の段階では、モデルが入力画像をスキャンし、物体が存在する可能性のある領域を特定します。領域提案ネットワーク(RPN)と呼ばれるコンポーネントが、候補となるボックスの疎な集合(しばしば関心領域(RoI)と呼ばれる)を生成します。この段階では背景の大部分がフィルタリングされ、ネットワークが関連領域に処理能力を集中させることが可能になります。
  2. 分類と精緻化:第二段階では、モデルはこれらの候補領域から畳み込みニューラルネットワーク(CNN)を用いて特徴を抽出する。その後、各領域に特定のクラスラベル(例:「人物」、「車両」)を割り当て、境界ボックスの座標を精緻化して対象物を厳密に囲むようにする。

このアーキテクチャの代表的な例として、R-CNNファミリー、特に Faster R-CNNと Mask R-CNNが挙げられ、これらは数年にわたり学術的なベンチマークの基準を確立した。

単段検出器との比較

二段階モデルと、シングルショットマルチボックス検出器(SSD)Ultralytics YOLO のような単一段階物体検出器を区別することは有用である。二段階モデルは領域を個別に処理することで精度を優先する一方、単一段階モデルは検出を単一の回帰問題として捉え、画像ピクセルを直接バウンディングボックス座標とクラス確率にマッピングする。

歴史的に、これはトレードオフを生み出してきた:二段階モデルは精度が高いが処理が遅く、一方、単段階モデルは処理が速いが精度が低い。しかし、近年の進歩によってこの境界線は曖昧になった。YOLO26のような最先端モデルは、エンドツーエンドアーキテクチャを採用しており、リアルタイム推論に必要な速度を維持しながら、二段階検出器に匹敵する精度を実現している。

実際のアプリケーション

精度 と再現率を重視するため、 安全性と詳細性が処理速度よりも重要となるシナリオでは、 二段階検出器がしばしば好まれる。

  • 医療画像診断: 医療分野におけるAIでは、診断の見落としは致命的となり得る。X線やMRIスキャンにおける腫瘍などのdetect するため、医療画像解析では二段階構造が頻繁に用いられる。この多段階プロセスにより、複雑な組織背景の中で小さな病変を見逃すリスクが低減され、放射線科医に高信頼性の自動支援を提供する。
  • 高精度産業検査: スマート製造において、自動視覚検査システムはこれらのモデルを活用し、組立ライン上の微細な欠陥を識別します。例えば、タービンブレードの微細な亀裂を検出するには、二段階検出器が提供する高い交差率(IoU)精度が必要であり、これにより欠陥のない部品のみが次の生産段階へ進むことが保証されます。

最新の検知技術の導入

二段階検出器が高精度ビジョン技術の基盤を築いた一方で、現代の開発者はしばしば、同等の性能を提供しながら導入ワークフローを大幅に簡素化する先進的な単段階モデルを活用している。Ultralytics 、これらのモデルのトレーニングと導入を簡素化し、データセットと計算リソースを効率的に管理する。

Python 、最新の物体検出ワークフローを使用して、モデルを読み込み、推論を実行する方法を示しています。 ultralytics従来の二段階アプローチと同等の高精度な結果を達成しつつ、より高い効率性を実現する:

from ultralytics import YOLO

# Load the YOLO26 model, a modern high-accuracy detector
model = YOLO("yolo26n.pt")

# Run inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")

# Process results (bounding boxes, classes, and confidence scores)
for result in results:
    result.show()  # Display the detection outcomes
    print(result.boxes.conf)  # Print confidence scores

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加