7-9 画像分類

学習目標

画像分類は、コンピュータビジョンにおける最も基本的かつ一般的なタスクの一つです。その目的は、コンピュータが「画像がどのカテゴリに属する​​か」を判定できるようにすることです。

入力画像に対して、以下の出力が得られます。

- 画像が属するカテゴリ

- 各カテゴリの信頼度スコア

Pythonと事前学習済みモデルを用いて画像分類を行います。

 

画像に対して画像分類を行い、上位5件の結果を出力してください。

import torch
from ultralytics import YOLO

model = YOLO("yolo11n-cls.pt")

results = model.predict("https://ultralytics.com/images/bus.jpg")
for result in results:
    print(f'top 5: {[result.names[cls.item()] for cls in torch.topk(result.probs.data, 5)[1].detach().cpu().numpy()]}')

すると、最も可能性の高い上位5つのカテゴリを示す結果が表示されます。

ウェブカメラを使用してリアルタイムで画像分類を行い、結果を可視化する

import cv2
from ultralytics import YOLO

model = YOLO("yolo11n-cls.pt")

video_path = 0
cap = cv2.VideoCapture(video_path)

while cap.isOpened():
    success, frame = cap.read()
    if success:
        results = model.predict(frame)
        annotated_frame = results[0].plot()
        cv2.imshow("YOLO Inference", annotated_frame)

        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        break

cap.release()
cv2.destroyAllWindows()

すると結果が表示されます。画像には、「聴診器」など、最も可能性の高い上位5つのカテゴリと、それぞれのスコア(例:0.09)が表示されます。

 

 

Copyright © 2026 YUAN High-Tech Development Co., Ltd.
All rights reserved.