更新日:2023年6月1日
動画は下の方にあるよ
対象読者:Windows環境で【YOLOv8】を使ってリアルタイム検出を試したい人
環境
環境:Winows11、メモリ32GB、GPU GeForce RTX3060 12GB
Python : 3.10.6、CUDA : 11.8、torch : 2.0.1+cu118
webcamera:Logicool(ロジクール) C270n
よくあるWEBカメラです。
2,500円くらいと安いけど使いやすくておすすめです。
後継版C310n ↓↓
概要
①【YOLOv5】で動画からネコ検出(=^・・^=)
②【YOLOv8】をWindowsで動かす手順
③【YOLOv8】WindowsでWEBカメラからリアルタイム物体検出
④【YOLOv8】WindowsでWEBカメラからリアルタイム物体検出してメッセージボックス表示
【プロジェクトにゃーん3】
家の近くを散歩するネコちゃんをリアルタイムで検出して
アラートを飛ばしたい!!
さて、前回は【YOLOv8】を動かす手順を確認しましたので
今回は、WEBカメラを使いリアルタイム検出に挑戦したいと思います!
手順
【YOLOv8】の設定は前回の記事を見てね。
1.リアルタイム検出用のコードを準備
WEBカメラからのリアルタイム検出、すごーーく簡単でした!!
下記コードをpythonスクリプトとして保存
「yolov8_webcam.py」
from ultralytics import YOLO
# モデルを選択
#model = YOLO("yolov8n.pt")
model = YOLO("yolov8x.pt")
#model = YOLO("yolov8x-seg.pt")
model.to("cuda")
# 検出対象ファイル指定
#results = model("https://ultralytics.com/images/bus.jpg", save=True)
#results = model("./images/test2.jpg", save=True)
results = model("./images/test2.mp4", save=True)
# WEBカメラからリアルタイム検出
results = model(0 , show=True)
for i in enumerate(results):
print(i)
results = model(0 , show=True) の「0」はカメラ番号です。
内部カメラがある場合はUSB接続WEBカメラは「1」になっているかもです。
カメラが認識されていないと下記のようなエラーが出ます。
ConnectionError: 1/1: 0... Failed to open 0
2.WEBカメラをPCに接続してコードを実行
python yolov8_webcam.py
起動に1分ほど時間がかかります。
動きだすとこんな感じです。
30msだから0.03 秒で検出を繰り返していますね。
うまくできました!!
こちらの動画はフリー動画をWEBからダウンロードして、PC画面に映っている状態をWEBカメラで撮影してリアルタイム検出しています。
もちろん窓から外を撮影しても同様に検出できます。
フリーの画像は「PAKUTAS」様
動画は「pixabay」様のものを使わせていただきました。
====================================
【おすすめ書籍】
2023年7月発売
鋭い洞察と深みのある言葉がささります。
読み物としてお勧め。なので電子版でもいいです。
2023年10月発売
AI、データ活用が必須の時代に。
豊富な企業事例で自社や自分を俯瞰できると思います。
【お勧めアイテム】
肩こりに悩むエンジニアの皆様へ!!!
私も慢性的な重度の肩こりプログラマですが
数年間いろいろな枕を買っては捨ててを繰り返してきまして
やーーーーっといい枕に出会いました。
朝起きて首が痛くない!すばらしい
横向けでも仰向けでもいい感じに寝ることができています。
ので肩こりが多いエンジニアの皆様にお勧めします。
高価ですが、整体2回分と考えたら安いものですね笑
====================================
以上、【YOLOv8】WindowsでWEBカメラからリアルタイム物体検出でした。
次はこの検出結果を使ってアラートを飛ばしたいですね~ つづく
ではまた。