Raspberry Pi 5をYOLO11推論サーバ化|スマホからリアルタイム映像を確認する方法

Raspberry Pi 5をYOLO11推論サーバ化|スマホからリアルタイム映像を確認する方法

こんにちは。AI coordinatorの清水です。今日は雨なので、今までやろうやろうと思っていたラズパイでYOLO11を動かすを試してみたいと思います。しかもスマホでも見れるようにしたいと思います。

https://github.com/ai-coordinator/RaspberryPi_yolo11

いまさらなんだが、ラズパイでYOLOを試したことがなかったので、どのくらい高速に動くのか検証してみました。現時点でYOLO12まであるようですが、まだメインはYOLO11のようなので、こちらをベースに起動してみたいと思います。

ラズパイのセットアップから

まあ、ここのやり方は色々なサイトに紹介があるのでので、適当に参考して頂ければと思います。最近のラズパイは以前と比べて価格が高いので気軽に試せなくなっているのは技術普及の阻害になっていると思っています。私も以前ほど気軽に購入できなくなりました。

環境は

インストールしてラズパイを起動できたら、「Raspberry Piの設定」をすべてオンにしましょう。

Raspberry Pi 5をYOLO11推論サーバ化|スマホからリア 画像1

(写真が雑ですみません。)

SSHやVNCでリモート接続するためです。これはラズパイ本体のキーボードでコマンドを打ち込んだりコードを修正するのがめんどくさいので、windowsPCやmacからコマンドやコード修正できるようするために必要です。

YOLO11のセットアップ

YOLOは”Ultralytics”が滅茶苦茶使いやすく提供してくださっているので楽勝に使えるようになりました。以前のYOLOはdarknetと言ってセットアップが結構大変でしたが、Ultralyticsの登場で一気に物体検出が簡単になりましたね。

今回はこちらのクイックスタートに則ってYOLO11をセットアップしたいと思います。

https://docs.ultralytics.com/ja/guides/raspberry-pi

dokerなしで進めます。

SSHでラズパイに接続しましょう

私はwindowsからラズパイに接続してセットアップしますが、ラズパイ本体からキーボード接続して実施しても同じ結果になります。

とはいえ最初はラズパイの”IP adress”を知る必要があるので、ifconfigコマンドでIP adressを把握しましょー。

把握したらwindowsのターミナルからssh接続します。

コマンドは

ですね。

よくipアドレスを取得している画面ハードコピーを紹介してるサイトがたくさんありますが、このipアドレスにぼかしを付けている人がたくさんいます。

別に意味ないと思うので、私は普通に掲載します。誰もハックしねーだろって毎回思います。笑

Raspberry Pi 5をYOLO11推論サーバ化|スマホからリア 画像2

これでラズパイに接続できました。

YOLO11を起動してみましょー

Ultralyticsのクイックスタートガイド通り進めます。

三行の目のpip処理で以下のエラーが発生しました。

Raspberry Pi 5をYOLO11推論サーバ化|スマホからリア 画像3

If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing –break-system-packages.
hint: See PEP 668 for the detailed specification.

慣れてない方は大体こういうところで引っ掛かりますね。以前は直接グローバル環境にpipでインストール出来ましたが、最近のOSは仮想環境を作らないと環境構築出来ない仕様になっているため、このようなエラーが発生します。

これを解決するには仮想環境を作る必要がありますね。この仮想環境で構築したコードやなんかは、毎回コードを起動するたびにこの仮想環境を起動する必要があるのでめんどくさいです。でもまあしょうがないですね。

とういことで以下の順で仮想環境を作りましょー。

Raspberry Pi 5をYOLO11推論サーバ化|スマホからリア 画像4

画像のようになればOKです。

ではクイックスタートに戻って、

暫く待ちましょー。

インストールできたら、リブートしましょー。

再起動したら、いよいよコードを作成するわけですが、ターミナルからのsshだとコード作成が大変なので、ここからはVS codeから接続します。VS codeに”Remote Development”をインストールすれば、先ほどのSSH接続の要領でラズパイに接続してVS codeが使用できるようになります。

VS codeで先ほど作成した仮想環境myenvディレクトリに接続して、環境を立ち上げましょー

Raspberry Pi 5をYOLO11推論サーバ化|スマホからリア 画像5

このようにコマンド画面の先頭に(myenv)と表示されれば無事に仮想環境が起動しています。

では以下のコードを作成してプログラムを動かしてみます。ファイル目はtest.pyとして

python test.pyで起動しましょー

Raspberry Pi 5をYOLO11推論サーバ化|スマホからリア 画像6

以下のような結果が出ればとりあえず無事動いていることになります。

Raspberry Pi 5をYOLO11推論サーバ化|スマホからリア 画像7

カメラからリアルタイム物体検出を動かしてみよー

ここからが本題です。リアルタイム物体検出をラズパイでやってみます。

カメラを使えるようにするためにopencvをインストールします。

opencv-python-headless flaskをインストールする理由は、windowsPCでラズパイ上で動くYOLOの結果を見たいからです。

コードを作成したら、プログラムを起動してみましょー。ブラウザから映像が見れると思います。素晴らしい。

ブラウザからhttp://127.0.0.1:5000/にアクセスして映像を確認してい見ましょー。スマホからでも見れます。

Raspberry Pi 5をYOLO11推論サーバ化|スマホからリア 画像8

一回試してみたかったので今回出来て良かったです。

ホスト名を決める

IPアドレスが変わると、いちいちラズパイでifconfigでIPを確認しなければいけなくなるため、ホスト名をつけましょー。

これでホスト名が、”aicamera01″になります。以下のURLで起動できますね。

是非参考にしてみてください。

youtubeで紹介しているUIのコードはこちら

この記事の内容について、相談したい方へ

技術選定・実装の進め方・組織での導入など、AI/IoT全般のご相談を受け付けています。

無料相談会(30分・オンライン)

About The Author

Hideki
東京大学発AIスタートアップでロボット開発室室長・画像解析室室長・動画解析室室長を務め、画像認識関連のAI特許を在籍中に3件取得。その後、KDDIグループでプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRIST株式会社の執行役員CTO 兼 VPoEとして、農業の人手不足解決に向けた収穫ロボットの開発組織を統括しています。AI・ハード・エレキ・通信・クラウド・IoTまでを一気通貫で設計できる視点を強みに、性能だけでなく「感動やワクワク体験」までデザインできるロボットの研究を進めています。並行して、AI coordinatorとして企業のAI導入・教育機関のAI授業・地域の技術相談を月額契約で継続伴走しています。

LEAVE A REPLY

*
*
* (公開されません)