質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

2166閲覧

YOLOv8での画像がうまく読み込めない

chem_search

総合スコア30

YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2023/01/16 13:59

前提

YOLOv8のクイックスタート
(https://docs.ultralytics.com/quickstart/)
に従って、実際に動かしてみようと考えました。

実現したいこと

クイックスタートに記載されているモデルコードのように動かしたいのですが、
現状ではファイルが見つからないとエラーになってしまいます。
しかし、後述の通り別のコードで試すと問題無くファイルを認識します。

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

python

1AssertionError Traceback (most recent call last) 2Cell In[2], line 1 3----> 1 results = model("https://ultralytics.com/images/bus.jpg",save=True, task="segment") 4 5File D:\Anaconda_envs\envs\yolov8_env\lib\site-packages\ultralytics\yolo\engine\model.py:58, in YOLO.__call__(self, source, **kwargs) 6 57 def __call__(self, source, **kwargs): 7---> 58 return self.predict(source, **kwargs) 8 9File D:\Anaconda_envs\envs\yolov8_env\lib\site-packages\torch\autograd\grad_mode.py:27, in _DecoratorContextManager.__call__.<locals>.decorate_context(*args, **kwargs) 10 24 @functools.wraps(func) 11 25 def decorate_context(*args, **kwargs): 12 26 with self.clone(): 13---> 27 return func(*args, **kwargs) 14 15File D:\Anaconda_envs\envs\yolov8_env\lib\site-packages\ultralytics\yolo\engine\model.py:131, in YOLO.predict(self, source, return_outputs, **kwargs) 16 129 predictor.args.imgsz = check_imgsz(predictor.args.imgsz, min_dim=2) # check image size 17 130 predictor.setup(model=self.model, source=source, return_outputs=return_outputs) 18--> 131 return predictor() if return_outputs else predictor.predict_cli() 19 20File D:\Anaconda_envs\envs\yolov8_env\lib\site-packages\ultralytics\yolo\engine\predictor.py:220, in BasePredictor.predict_cli(self, source, model, return_outputs) 21 218 def predict_cli(self, source=None, model=None, return_outputs=False): 22 219 # as __call__ is a genertor now so have to treat it like a genertor 23--> 220 for _ in (self.__call__(source, model, return_outputs)): 24 221 pass 25 26File D:\Anaconda_envs\envs\yolov8_env\lib\site-packages\torch\autograd\grad_mode.py:43, in _DecoratorContextManager._wrap_generator.<locals>.generator_context(*args, **kwargs) 27 40 try: 28 41 # Issuing `None` to a generator fires it up 29 42 with self.clone(): 30---> 43 response = gen.send(None) 31 45 while True: 32 46 try: 33 47 # Forward the response to our caller and get its next request 34 35File D:\Anaconda_envs\envs\yolov8_env\lib\site-packages\ultralytics\yolo\engine\predictor.py:169, in BasePredictor.__call__(self, source, model, return_outputs) 36 167 model.eval() 37 168 self.seen, self.windows, self.dt = 0, [], (ops.Profile(), ops.Profile(), ops.Profile()) 38--> 169 for batch in self.dataset: 39 170 self.run_callbacks("on_predict_batch_start") 40 171 path, im, im0s, vid_cap, s = batch 41 42File D:\Anaconda_envs\envs\yolov8_env\lib\site-packages\ultralytics\yolo\data\dataloaders\stream_loaders.py:225, in LoadImages.__next__(self) 43 223 self.count += 1 44 224 im0 = cv2.imread(path) # BGR 45--> 225 assert im0 is not None, f'Image Not Found {path}' 46 226 s = f'image {self.count}/{self.nf} {path}: ' 47 228 if self.transforms: 48 49AssertionError: Image Not Found C:\Users\○○○~~\yolov8\bus.jpg 50

該当のソースコード

python

1from ultralytics import YOLO 2 3model = YOLO("yolov8n.pt") 4 5results = model("https://ultralytics.com/images/bus.jpg",save=True, task="segment")

試したこと

Image Not Foundとなっており、エラーに該当している部分が
cv2.imread(path)となっていたため、その方式で画像が読み込めていないのかと思い、
(上記のコードによって既にバスの画像ファイルはダウンロードされていたため)
下記のコードを実行した結果、問題無く読み込めていました)

python

1import cv2 2img = cv2.imread("./bus.jpg") 3print(img) 4 5#出力 6[[[122 148 172] 7 [120 146 170] 8 [125 153 177] 9 ... 10

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

python 3.9.15
ultralytics 8.0.6
opencv-python 4.7.0.68

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PondVillege

2023/01/16 16:11 編集

pathの「○○○~~」の箇所,ユーザ名のところなど全角だったりしませんか?
chem_search

2023/01/17 12:27

ご指摘ありがとうございます。 たしかに全角のフォルダを経由していて、 パスを半角のみにしたところ無事に読み込むことができました。
jbpb0

2023/01/22 10:40

> パスを半角のみにしたところ無事に読み込むことができました。 解決したのなら、質問を「解決済」にしてください
chem_search

2023/01/22 12:20

>jbpb0様 コメントありがとうございます。 処理を忘れており、申し訳ありません。 状態を解決済みにします。
guest

回答1

0

自己解決

>ps_aux_grep様のご指摘で解決しました。
ありがとうございました。

投稿2023/01/22 12:20

chem_search

総合スコア30

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問