Ultralytics YOLO26を使用したVisionEyeビューオブジェクトマッピング 🚀#
VisionEyeオブジェクトマッピングとは何ですか?#
Ultralytics YOLO26 の VisionEye は、人間の目の観察精度を模倣し、コンピューターが物体を識別して正確に特定する機能を提供します。この機能により、人間の目が特定の視点から詳細を観察するように、コンピューターは特定の物体を見分けてそれに焦点を合わせることができます。
YOLO26でオブジェクトをマッピングする#
VisionEye はフレーム内に単一の観察点を固定し、そこから追跡中のすべての物体に向かってレイを描画するため、ある視点からシーンがどのように見えるかを可視化できます。vision_point を観察者のピクセル座標に設定し、Python API または CLI を使用して動画に対してソリューションを実行します。
# Monitor objects position with visioneye
yolo solutions visioneye show=True
# Pass a source video
yolo solutions visioneye source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions visioneye classes="[0, 5]"VisionEyeの引数#
以下はVisionEyeの引数を示す表です。
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
model | str | None | Ultralytics YOLOモデルファイルへのパス。 |
vision_point | tuple[int, int] | (20, 20) | VisionEyeソリューションを使用して、ビジョンが物体を追跡しパスを描画する地点。 |
VisionEye ソリューション内でさまざまな track 引数を利用することもできます。
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | 使用するトラッキングアルゴリズムを指定します。ビルトインオプション: botsort.yaml、bytetrack.yaml、ocsort.yaml、deepocsort.yaml、fasttrack.yaml、tracktrack.yaml。 |
conf | float | 0.1 | 検出の信頼度しきい値を設定します。低い値を設定するとより多くの物体を追跡できますが、誤検知が含まれる可能性があります。 |
iou | float | 0.7 | 重なり合う検出をフィルタリングするためのIntersection over Union (IoU) 閾値を設定します。 |
classes | list | None | クラスインデックスによって結果をフィルターします。たとえば、classes=[0, 2, 3]は指定されたクラスのみを追跡します。 |
verbose | bool | True | 追跡結果の表示を制御し、追跡された物体の視覚的な出力を行います。 |
device | str | None | 推論用のデバイスを指定します(例: cpu、cuda:0、または0)。ユーザーはモデルの実行にCPU、特定のGPU、またはその他の計算デバイスを選択できます。 |
さらに、以下に示すようにいくつかの可視化用引数もサポートされています:
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
show | bool | False | True の場合、注釈付きの画像または動画をウィンドウに表示します。開発やテスト中の即座な視覚的フィードバックに役立ちます。 |
line_width | int or None | None | バウンディングボックスの線の太さを指定します。None の場合、画像のサイズに基づいて線の太さが自動的に調整されます。明瞭さのための視覚的なカスタマイズを提供します。 |
show_conf | bool | True | 各検出の信頼度スコアをラベルと一緒に表示します。各検出に対するモデルの確信度を把握できます。 |
show_labels | bool | True | 視覚的出力において各検出のラベルを表示します。検出されたオブジェクトを即座に理解するのに役立ちます。 |
VisionEyeの仕組み#
VisionEye は、フレーム内に固定の視点を設定し、この点から検出された物体へと線を引くことで機能します。これは、人間の視覚が単一の視点から複数の物体に焦点を合わせる仕組みをシミュレートするものです。このソリューションはオブジェクトトラッキングを使用してフレーム間で物体の一貫した識別を維持し、観察者(視点)とシーン内の物体の空間的関係の視覚的表現を作成します。
VisionEye クラス内の process メソッドは、いくつかの主要な処理を実行します。
- 入力画像からトラック(バウンディングボックス、クラス、マスク)を抽出します
- バウンディングボックスとラベルを描画するためのアノテーターを作成します
- 検出された各オブジェクトに対してボックスラベルを描画し、視点から視線を作成します
- トラッキング統計情報を含むアノテーション済み画像を返します
このアプローチは、監視システム、自律ナビゲーション、インタラクティブなインスタレーションなど、空間認識やオブジェクト関係の可視化を必要とするアプリケーションに特に役立ちます。
VisionEyeの用途#
VisionEyeオブジェクトマッピングには、様々な業界で数多くの実用的な用途があります:
- セキュリティと監視: 固定されたカメラ位置から複数の対象オブジェクトを監視します
- リテール分析: 店舗ディスプレイに関連する顧客の移動パターンを追跡します
- スポーツ分析: コーチの視点から選手の配置や動きを分析します
- 自律走行車: 車両が環境内のオブジェクトをどのように「見て」、優先順位を付けているかを可視化します
- ヒューマン・コンピュータ・インタラクション: 空間的関係に応答する、より直感的なインターフェースを作成します
VisionEye を距離計算や速度推定などの他の Ultralytics ソリューションと組み合わせることで、物体を追跡するだけでなく、その空間的関係や挙動も把握する包括的なシステムを構築できます。
よくある質問 (FAQ)#
Ultralytics YOLO26でVisionEyeオブジェクトマッピングを始めるにはどうすればよいですか?#
Ultralytics YOLO26 で VisionEye オブジェクトマッピングの使用を開始するには、まず pip 経由で Ultralytics YOLO パッケージをインストールする必要があります。次に、ドキュメントに記載されているサンプルコードを使用して、VisionEye による物体検出を設定できます。以下に、開始するための簡単な例を示します。
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("vision-eye-mapping.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init vision eye object
visioneye = solutions.VisionEye(
show=True, # display the output
model="yolo26n.pt", # use any model that Ultralytics supports, e.g., YOLOv10
classes=[0, 2], # generate visioneye view for specific classes
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
results = visioneye(im0)
print(results) # access the output
video_writer.write(results.plot_im) # write the video file
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windowsなぜオブジェクトマッピングとトラッキングにUltralytics YOLO26を使用すべきなのですか?#
Ultralytics YOLO26 は、そのスピード、精度、および優れた統合性で知られており、オブジェクトマッピングとトラッキングに最適な選択肢となっています。主な利点は以下の通りです。
- 最先端のパフォーマンス: リアルタイムのオブジェクト検出において高い精度を提供します。
- 柔軟性: 検出、トラッキング、距離計算などの様々なタスクをサポートします。
- コミュニティとサポート: トラブルシューティングや機能強化のための広範なドキュメントと活発なGitHubコミュニティがあります。
- 使いやすさ: 直感的なAPIが複雑なタスクを簡素化し、迅速なデプロイと反復を可能にします。
アプリケーションと利点の詳細については、Ultralytics YOLO26 ドキュメントをご確認ください。
Comet や ClearML などの他の機械学習ツールと VisionEye を統合するにはどうすればよいですか?#
Ultralytics YOLO26 は、Comet や ClearML などのさまざまな機械学習ツールとシームレスに統合でき、実験の追跡、コラボレーション、再現性を向上させます。YOLOv5 と Comet の使用方法およびYOLO26 と ClearML の統合に関する詳細なガイドに従って開始してください。
さらなる活用と統合の例については、Ultralytics 統合ガイドをご確認ください。