わずか数行のコードでUltralyticsの物体検出モデルとセグメンテーションモデルを実行
わずか数行のコードで、Ultralytics YOLOv8、RT-DETR、FastSAMの物体検出・セグメンテーションモデルをPythonで実行する方法をご紹介します。
Nuvola Ladi4 分で読めます
この記事では、UltralyticsのYOLOv5モデルとYOLOv8モデルの物体検出とセグメンテーションの機能を紹介します。使いやすいこれらのモデルを、わずか数行のコードでプロジェクトに統合する方法を解説します。初心者でも経験豊富な開発者でも、UltralyticsがさまざまなYOLOバージョンやTransformerベースのモデルを含む多様なモデルとアーキテクチャをサポートしていることがわかります。
動画では、Nicolai Nielsen氏がUltralyticsフレームワーク内でさまざまなモデルを設定して使う手順を紹介しています。手順を一つずつ確認し、これらのツールを使い始める方法を見ていきましょう。
Ultralyticsモデルを使い始める#
Ultralyticsは、複数の物体検出モデルとセグメンテーションモデルに対応する包括的なフレームワークを提供しています。人気のYOLOモデル(YOLOv3からYOLOv8まで。後継としてYOLO26が登場)、YOLO-NAS、SAMモデルが含まれます。これらのモデルは、リアルタイム検出、セグメンテーション、姿勢推定など、さまざまなタスクに対応するよう設計されています。
まず、Ultralyticsのドキュメントページをご覧ください。各モデルの主要な機能やアーキテクチャ、Pythonスクリプトでの使用方法など、詳しい情報を確認できます。
環境のセットアップ#
まず、Ultralyticsがインストールされていることを確認してください。次のコマンドを実行するとインストールできます。
pip install ultralyticsインストールが完了したら、プロジェクトでこれらのモデルを使い始めることができます。例として、Ultralytics YOLOv8モデルから始めましょう。
Ultralytics YOLOv8の主な特徴#
Ultralytics YOLOv8は、旧バージョンから複数の機能が強化されています。高速化と高精度化を目指して設計されており、リアルタイムアプリケーションに適しています。主な機能は次のとおりです。
- 速度と精度の向上
- 複数のタスクに対応した事前学習済み重み
- 物体検出、セグメンテーション、分類に対応
- 性能を向上させるモデルアーキテクチャの改良
PythonでUltralytics YOLOv8を実行する#
わずか数行のコードでUltralytics YOLOv8を使い始める方法をご紹介します。
from ultralytics import YOLO
# 事前学習済みYOLOv8モデルを読み込む
model = YOLO("yolov8n.pt")
# 画像に対して推論を実行する
results = model("path/to/image.jpg")以上で完了です。YOLOv8モデルを使って画像の推論を実行できました。この手軽さが、Ultralyticsモデルを非常に使いやすいものにしています。
ウェブカメラのライブ検出#
ライブのウェブカメラ映像でUltralytics YOLOv8を動かしてみませんか?次の手順で実行できます。
from ultralytics import YOLO
# 事前学習済みYOLOv8モデルを読み込む
model = YOLO("yolov8n.pt")
# ウェブカメラ映像に対して推論を実行(source=0)し、結果を表示する
results = model.predict(source=0, show=True)このスクリプトを実行するとWebカメラが起動し、Ultralytics YOLOv8モデルを使ってリアルタイムで物体を検出します。

図1. Ultralyticsの物体検出・セグメンテーションモデルの実行方法を説明するNicolai Nielsen。
その他のモデルを試す#
Ultralyticsが対応するのはYOLOv8だけではありません。YOLOv5、YOLO-NAS、リアルタイム検出向けのTransformerベースのモデルなど、さまざまなモデルもサポートしています。それぞれのモデルに独自の強みとユースケースがあります。
Transformerモデルとその実行方法#
Baiduが開発し、UltralyticsがサポートするRT-DETRモデルは、リアルタイム性能と高精度を備えた最先端のエンドツーエンド物体検出器です。畳み込みベースのバックボーンと効率的なハイブリッドエンコーダーを採用してリアルタイムの速度を実現し、TensorRTを使ったCUDA上で高い性能を発揮します。また、推論速度を柔軟に調整できます。
RT-DETRモデルを実行する方法は次のとおりです。
from ultralytics import RTDETR
# COCOで事前学習済みのRT-DETR-lモデルを読み込む
model = RTDETR("rtdetr-l.pt")
# 画像に対して推論を実行する
results = model("path/to/image.jpg")Segment Anythingモデル#
Ultralyticsは、セグメンテーションタスク向けにMobileSAMやFastSAMなどのモデルも提供しています。これらのモデルは画像内のあらゆるものをセグメント化し、シーンに関する詳細な情報を提供するよう設計されています。
FastSAMを実行する#
FastSAMはリアルタイムセグメンテーション向けに最適化されています。次の手順で実行できます。
from ultralytics import FastSAM
# FastSAMモデルを作成
model = FastSAM("FastSAM-s.pt") # またはFastSAM-x.pt
# 画像に対して推論を実行する
results = model("path/to/image.jpg", device="cpu", retina_masks=True, imgsz=1024, conf=0.4, iou=0.9)このモデルは、高速かつ高精度なセグメンテーションが必要なアプリケーションに適しています。
パフォーマンスと比較#
Ultralyticsのエコシステムの便利な機能の一つは、複数のモデルを並べて比較できることです。推論速度や平均適合率(mAP)などの性能指標を確認し、特定のアプリケーションに最適なモデルを判断できます。
主なポイント#
Ultralyticsでは、わずか数行のコードで物体検出モデルやセグメンテーションモデルを簡単に実行できます。リアルタイムアプリケーションに取り組む場合も、高精度なモデルが必要な場合も、Ultralyticsがソリューションを提供します。詳しい情報や例については、UltralyticsのYouTubeチャンネルでNicolai Nielsen氏のチュートリアル全編をご覧ください。
Ultralyticsのコミュニティからのチュートリアルや最新情報をお楽しみに!
執筆者
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。










