
【Python】YOLOv8をWindows10に導入する方法(画像付き)
はじめに
YOLOv8の導入テストがしたい!
多くの記事がgoogle colaboratoryを使用しているが、
ノートPCでも使えるか確認したいgit非搭載のPCでも簡単に導入したい
使用するPCのスペックとOSのバージョン

0. 仮想環境の作成(pyenv+venv)
※仮想環境使わない人は、そのまま1.へ進んで下さい
Pythonは3.7.9にしてます

1. YOLOv8の導入
なんと、pipで導入できます。 便利!!
これなら、gitを入れてない人でも簡単に導入できますね!!
念のためpipの更新もお忘れなく!
pip install --upgrade pip
pip install ultralytics

2. 学習済みモデルの入手
学習済みモデルをダウンロードします
(3/16追記)YOLOコマンド実行時にptファイルがなかった場合、自動でダウンロードされるようです…この手順不要じゃん…

ダウンロード先
GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite
3. 推論を実行する
まず前提知識ですが、YOLOv8は3つのタスクができます
detection : 画像の「どこに」「何が」映っているか?
segmentation : 画像の「どの領域に」「何が映っているか?
classification : この画像は「何の画像」だと予想されるか?
順番に実行して、結果を確認していきましょう!
3.1 detection
Web上のbus.jpgの画像に対して、detectionを実行します
※ここでエラーが出た人は、ex.推論実行時にエラーが出た場合 を参照下さい
yolo task=detect mode=predict model=yolov8x.pt source="https://ultralytics.com/images/bus.jpg" save=True save_txt save_conf



3.2 segmentation
task=segment, model=yolov8x-seg.pt(セグメンテーション用のモデル)を指定する
(sourceでPC内の画像PATH(./bus.jpg)を指定することで、PC内の画像を判定できる)
yolo task=segment mode=predict model=yolov8x-seg.pt source="./bus.jpg" save=True save_txt save_conf

label.txtはクラス番号, 画像領域のxy座標(たくさんある), 信頼度が出力される
3.3 classification
クラス分類もtask=classify, model=yolov8x-cls.pt(クラス分類用モデル)を指定すれば、実行できます。
yolo task=classify mode=predict model=yolov8x-cls.pt source="./" save=True save_txt save_conf

「label.txt」には、確率値とクラス名の対が出力される
まとめ
YOLOv8の導入を行った
3つのタスク(detection, segmentation, classification)を実行し
それぞれの出力画像とlabel内容を確認したPC環境によってはVC_redistの導入が必要な場合がある(後述)
ここまで小1時間程度でできたため、ほんとに手軽になりましたね!!
今度は各モデルの学習・評価や、python上でimportしての使い方についてまとめたいと思います
参考URL
GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite
YOLOv8でDetection, Classification, Segmentationモデルを学習してみた - Qiita
ex. 推論実行時にエラーが出た場合…
PCの環境によっては、エラーで落ちます

エラー文を読むと、『Microsoft Visual C++ Redistributable』なるものを入れろと書かれている(丁寧にURLまで記載されておる…)
VC_redistの導入
というわけで、エラー文に記載されたURLへアクセスすると、『VC_Redist.x64.exe』が自動でダウンロードされるので、実行します
https://aka.ms/vs/17/release/vc_redist.x64.exe



導入できたら、3. 推論を実行する へ戻って実行してみてください。
以上。