できること

最新作ラズパイ5(Raspberry Pi 5)でエッジAIを動そう!

こんにちは、ヨシケンです!

今回は、ラズパイの最新作ラズパイ5(Raspberry Pi 5)を使って、ラズパイ上でAIを動かしてみたいと思います。これまでのラズパイに比べて、ラズパイ5は大幅に高性能化しているので、画像認識などの動きも良くなっているのではないでしょうか。前作ラズパイ4と比較しながら使っていきたいと思います。

 

今回の記事の流れ

  1. 今回の電子工作に必要な部品群
  2. ラズパイ5(Raspberry Pi 5)について
  3. ラズパイ上で画像認識AIを動かしてみる
  4. まとめ

 

1. 今回の電子工作に必要な部品群

今回必要な機器は、以下のようになっています。

必要な部品群:

名前、説明 デバイス
Raspberry Pi 5 4GB

2023年9月に発表されたラズパイの最新版。ここでは4GB RAMを使っています。

USBカメラ

ラズパイのUSBに接続する小型のUSBカメラ

MicroSDカード、接続するUSBケーブル、ディスプレイケーブルなど 適宜必要に応じて

これらの部品をそろえて、ラズパイ5でAIデバイスを作っていきます。

 

2. ラズパイ5(Raspberry Pi 5)について

ラズパイ5は、ラズベリーパイ財団から2023年9月に発表がありましたが、日本国内では2024年2月から店舗にも出回ってきました。そんなラズパイ5を手に入れて、まずは開封からラズパイOSを動かすための最低限のセットアップをしていきます。

ラズパイ5では、CPUがクアッドコア2.4 GHz Arm Cortex-A76になって高速化しています。ラズパイ公式ページでも、ラズパイ4の2倍以上速いとうたっているほどです。また、GPUも800 MHz VideoCore VIIになって、AI性能も向上しています。

CPUは2,3倍高速に、Power Buttonなども付く

 

さらに、RP1チップというラズパイのIOを司るチップが追加され、データの入出力が強化されています。これにより特にカメラとディスプレイの接続など映像系のパフォーマンスが向上しているとのこと。これは楽しみです。

 

まずは、ラズパイ5を使い始めるために、MicroSDカードにRaspberry Pi OSをインストールしていきます。Macの方は、brewコマンドでraspberry-pi-imagerをインストールします。それ以外の方は、こちらのページから使用環境に応じてインストーラをダウンロードします。

 

Macの人はbrewでイメージャーをインストール

 

ラズパイのインストーラであるイメージャをパソコンに入れたら、それを立ち上げます。このようなストレージやOSを選ぶ画面が立ち上がります。

ストレージはパソコンに差したマイクロSDカード、デバイスはRaspberry Pi 5を選びます。そして最新のRaspberry Pi OS (bookworm)をインストールします。逆にこれまでのラズパイOSは、Legacy(ラズパイ4以前のもの)としてラズパイ5にはインストールできないようになっています。

OSのインストールが終わったら、SDカードをラズパイに差して起動します。あとで画面が必要になるので、HDMIでディスプレイにつなぐか、リモートデスクトップのVNC Viewerなどを入れておきます。ラズパイのRaspi-ConfigのInterface OptionでVNCをEnableにしておきます。

以下のサイトからVNCビューワをお使いの環境に合わせダウンロード、インストールしておきます。
https://www.realvnc.com/en/connect/download/viewer/
そして、パソコン側からVNCビューワでラズパイ5に接続します。

ラズパイ5のデスクトップが立ち上がりました。

手元で確かめてみても、ラズパイ5の起動時間は4と比べて2倍ほど速く、無線接続もかなり速くなっています。

左がラズパイ4の画面、右がラズパイ5の画面

 

それでは次にAI性能を確かめるために、ラズパイにAIを導入し、エッジAIをおこなってみます。

 

3. エッジAIを実行する

エッジAIとは、コンピュータにAIライブラリをインストールし、エッジ(端末)で動かす技術です。いくらラズパイが速くなって来たとはいえ、複雑な処理をするAIをこの小さなコンピュータ上で動かせるでしょうか。ここでは、画像解析のAIライブラリをラズパイ5にインストールし、その処理を見てみます。まず、必要なライブラリをインストールします。

$ sudo apt-get install -y libatlas-base-dev
$ sudo pip3 install -U pip
$ sudo pip3 --default-timeout=1000 install opencv-python==4.7.0.72
$ sudo pip3 install onnxruntime

基本的なライブラリをインストールします。

次に画像処理を行う、OpenCVをインストールします。

さらにTensorflowなどのAIライブラリを使うための、Onnxをインストールします。

これでライブラリの準備はできました。次に画像解析をおこなうためのカメラをUSBにセットし、使えるようにします。

プログラムを流す前に、カメラをラズパイのUSBに差しておきます

 

ラズパイのエッジ画像解析には、YOLOという物体検出AIを使います。ここではそのサンプルプログラムも作ってくれている、Kazuhito00さんのYOLOX-ONNX-TFLiteを使わせてもらいます。

https://github.com/Kazuhito00/YOLOX-ONNX-TFLite-Sample

以下のようにGitからクローンして、ラズパイ5に導入します。

$ sudo git clone https://github.com/Kazuhito00/YOLOX-ONNX-TFLite-Sample.git

クローンできたら、サンプルプログラム sample_omnx.py があるので、それを流してみます。カメラをUSBに差して、ディスプレイ又はVNCビューワ経由で、プログラムを流します。

sample_onnx.pyを実行

 

そうすると画面が立ち上がって、物体検出を始めます。カメラを物体に向けると、リアルタイムにその物体が何であるか読み取ってくれます。この時は読み取り速度は、73ms (0.07秒)でした。

ラズパイ5での画像解析

 

同じことをラズパイ4でもやってみます。同様に、YOLOX-ONNX-TFLiteをラズパイ4に導入し、サンプル・プログラムを流してみます。

プログラムを流すと、同様にリアルタイムの画面が上がってきますが、パフォーマンスが厳しいせいか、カクカクしてしまいます。読み取りはされるものの、推定時間は298ms(約0.3秒)と、ラズパイ5の方が4倍ほど速いですね!

ラズパイ4での画像解析

 

リアルタイムの動画でも、精度も処理時間もラズパイ5でサクサク動くことが確認できました。

 

4. まとめ

今回は最新のラズパイ5を、開封から初期セットアップ、そしてエッジでAIを動かすところまでを紹介してきました。

ラズパイ4と比べても、全体的に2倍ほど速く、AIも問題なく動いているのが驚きでした。ますますAI用途にラズパイを使っていけそうです。ただ、ラズパイ5からOSがバージョンアップし、まだ対応していないライブラリなどもあるのも実情です。物を判別する画像解析だけでなく、体のポーズや動きを検知するPoseNetというのも実行したかったのですが、ライブラリが整備されるまでもう少し待つ必要がありそうです。

これからも、ラズパイ5のパフォーマンスを活かした使い方を考案して、ものづくりをしていこうと思います。お楽しみに!

 

アバター画像

普通の会社に勤めるサラリーマンですが、モノ作りが好きな週末メイカーで、電子書籍MESHBOOKを出したり、ブログを書いたりしています!

http://blog.ktrips.net

学生ロボコン2017 出場ロボット解剖計画