yolov8で取得したbboxの座標と確信度をペアにしたリストを作成したい

実現したいこと

前提

python、機械学習ともに初心者です。
python、VScodeを使用し、上記のリストをfor文を使用して作成しようとしていたところ以下のエラーメッセージが発生しました。
無知な質問で恐縮ですが、ご教授いただけないでしょうか。

発生している問題・エラーメッセージ

IndexError: index 19 is out of bounds for dimension 0 with size 5

該当のソースコード

python

1from ultralytics import YOLO 2 3model = YOLO('yolov8s.pt')4 5results = model('/Users/ユーザー名/Yolov8/img',project='/Users/ユーザー名/runs/detect', name='predict', exist_ok=True, save=True, save_txt=True, save_conf=True)6 7#結果の確信度を取得8conf = results[0].boxes.conf 9 10#結果のbboxの位置情報を取得11xyxy = results[0].boxes.xyxy 12 13#各bboxと確信度をペアにしたリストを作成14bbox_and_scores = []15i = 016j = 017for i in xyxy:18 for j in conf:19 xyxy[i.long()].append(conf[j.long()])20 bbox_and_scores.append(xyxy[i.long()])21 22print(bbox_and_scores)

試したこと

IndexError: tensors used as indices must be long, int, byte or bool tensors

当初はi,jに.long()はつけずに実行しましたが、その際上記のエラーメッセージが表示され、調べたところ解決法として.long()を使用している方がいらっしゃったため、現在の状況に至っています。

補足情報(FW/ツールのバージョンなど)

Windows 11
Python 3.8.18

コメントを投稿

0 コメント