4脚ロボットShelPiにはラズパイのカメラモジュールV2を搭載しています。
slowtech.hateblo.jp
slowtech.hateblo.jp
mjpg-streamerでカメラの映像をストリーミングしているので、
メインPCで画像を取得し、AIによる物体認識をしてShelPiの行動を制御することが可能です。
今回はメインPCでUltralytics YOLOを使用して画像認識ができるかテストしてみました。
使用した言語はPythonです。
環境を汚さないようにvenvで仮想環境を作成します。
python3 -m venv yolo
source yolo/bin/activate
仮想環境下で、YOLOをインストールします。
pip install ultralytics
サンプルコードは以下
from ultralytics import YOLO model = YOLO("yolov8n.pt") # 軽量モデル results = model("test.jpg") results[0].show()
pythonファイルと同じディレクトリに適当な画像をいれ、test.jpgと名前を変更したら実行します。
初回実行時は何かダウンロードが始まりますので少し待ちます。
成功すれば画像がプレビューされます。
今回使用したYOLO8nは軽量モデルで、80種類のオブジェクトを認識できるようです。
from ultralytics import YOLO model = YOLO("yolov8n.pt") print(model.names)
これで、検出可能なリストが出てきます。
0: person 1: bicycle 2: car 3: motorcycle 4: airplane 5: bus 6: train 7: truck 8: boat 9: traffic light 10: fire hydrant 11: stop sign 12: parking meter 13: bench 14: bird 15: cat 16: dog 17: horse 18: sheep 19: cow 20: elephant 21: bear 22: zebra 23: giraffe 24: backpack 25: umbrella 26: handbag 27: tie 28: suitcase 29: frisbee 30: skis 31: snowboard 32: sports ball 33: kite 34: baseball bat 35: baseball glove 36: skateboard 37: surfboard 38: tennis racket 39: bottle 40: wine glass 41: cup 42: fork 43: knife 44: spoon 45: bowl 46: banana 47: apple 48: sandwich 49: orange 50: broccoli 51: carrot 52: hot dog 53: pizza 54: donut 55: cake 56: chair 57: couch 58: potted plant 59: bed 60: dining table 61: toilet 62: tv 63: laptop 64: mouse 65: remote 66: keyboard 67: cell phone 68: microwave 69: oven 70: toaster 71: sink 72: refrigerator 73: book 74: clock 75: vase 76: scissors 77: teddy bear 78: hair drier 79: toothbrush
Raspberry Pi ZERO 2Wや、RaspberryPi5では、処理速度が遅くてあまりリアルタイムで制御することが難しそうでしたので、
メインPCでAIを動かすことにしました。ShelPiは画像を送信し、PCから結果を受け取るだけの簡単なお仕事。
これを使えば、ShelPiが物体認識できるようになりますね。













