はじめに
こんにちは、技術開発ユニットの伊藤です。
ラズパイ3, 4の基本的な仕様の比較(担当: 矢澤)と 実際に物体検出を行った際の性能の比較(担当: 伊藤)を行いました。
仕様比較
初めに、Web上の情報などを基に、ラズパイ3(モデルB+)とラズパイ4の基本的な仕様を比較しました。
両者の大きな違いとして、まずコアとなるCPUの種類が違うということが挙げられます。 ラズパイ4では、より新しいチップである「BCM2711」(CPU:Cortec-A72)が使われているため、ラズパイ3と比較して処理速度が2~4倍となっています。 その代わりに消費電力や排熱量が多くなっており、CPU負荷の高い処理を実行する場合などには、冷却対応が必要になります。
メモリについては、ラズパイ3の1GBに対し、ラズパイ4では1GB, 2GB, 4GBの3つの製品が販売されており、用途に応じて使い分けられるようになっています。 さらに、つい先日8GB版も登場し、それに合わせて標準OSが「Raspbian」から64ビット対応の「Raspberry Pi OS」に変更されました。
USBの規格について、ラズパイ4ではUSB3.0に対応しているため、より高速なデータ転送や外付けのアクセラレーター(後述)を接続することが 可能です。 電源ポートのUSBもmicro-BからType-Cに変わり、そのため従来のケースは使用できなくなりました。
またラズパイ3では、内部でUSB 2.0接続をしている都合上、ギガビットイーサネットワークの性能を発揮しきれないという問題がありましたが、ラズパイ4では1Gbpsまで出るようになりました。 Bluetoothの対応バージョンについても、4.2から5に上がっています。
映像出力端子は、HDMI Type-Aが1つ付いていたのに対し、HDMI Type-Dが2つになりました。 ビデオデコーダについても、4K 60FPSと非常に高解像度、高速な動画表示が可能となりました。
このようにラズパイ4には様々な優位性があるにも関わらず、ラズパイ3と同じ1GBモデルの場合、現時点ではほとんど同じ価格のようです(ただし、今後ラズパイ3の値段が下がることは考えられます)。 2GB, 4GBの場合は多少価格が上がりますが、それでも6,600円程度とのことで、比較的安価なのではないかと思います。 ラズパイ3に関しては、ラズパイ4の発売と同時に製品自体が入手しづらくなっているようで、今後ラズパイ4をメインに売っていくのかもしれません。
周辺機器
ラズパイ4に接続可能な周辺機器の一つとして、「Coral USB Accelerator」というものがあります。
これは、Edge TPUを内蔵した機械学習用のアクセラレーターで、画像処理などのモデル推論を高速、低電力で実行することができます。 Coral USB AcceleratorはUSB 3.0接続を想定しているため、ラズパイ3では使用できませんが、ラズパイ4ではUSB 3.0に対応しているため使用可能です。
動作検証
環境
- ラズパイ3(モデルB)
- ラズパイ4(4GB)
- SDカード(32GB)
仕様の比較ではラズパイ3(モデルB+)について書きましたが、 手元にあったラズパイ3はモデルBだったので、 ラズパイ3(モデルB)とラズパイ4(4GB)を比較しました。 OSはRaspbianをインストールし、 SSD、MaskRCNNを実際に動かしてみました。
SSD
- https://github.com/balancap/SSD-Tensorflow
- SSD300モデル(checkpointsディレクトリの事前学習済みモデル)
MaskRCNN
- https://github.com/matterport/Mask_RCNN
- cocoデータセットによる事前学習済みモデル
方法
SSD, MaskRCNNのリポジトリ内の デモ用ノートブックのコードを改変し、 実行にかかった時間を計測しました。 入力画像はMaskRCNNのリポジトリに含まれていた 空港の画像(640x425)を使用しました。 モデル、画像の読み込みは事前に行い、 推論(resize含む)と推論+マスク画像の表示 までの時間を計測しました。
結果
ラズパイ3 | ラズパイ4 | |
---|---|---|
推論(SSD)[s] | 9.09 | 4.32 |
推論+bbox画像表示(SSD)[s] | 11.4 | 7.18 |
推論(MaskRCNN)[s] | - | 52.7 |
推論+マスク画像表示(MaskRCNN)[s] | - | 69 |
ラズパイ3でSSDを動かすとたまにフリーズしますが、 成功したとき9.09[s]でした。 MaskRCNNはフリーズしてしまうので スワップ領域を4GiBに拡張して実行し10分放置しましたが、 結果が返って来ないので計測を断念しました。
計測は一度しか行っていないのですが、 ラズパイ4ならMaskRCNNを1分程で実行できる ということが分かりました。
所感
上記の仕様比較、動作検証の結果を踏まえると、実際にデバイスを選定する際の方針は以下のようになると思います。
ラズパイ3とラズパイ4(1GB)の比較
ラズパイ4がほぼ上位互換であり、今後も安定供給されると思われるため、消費電力や排熱量を気にする場合以外はラズパイ4を使うのが良いラズパイ4のメモリ(1GB, 2GB, 4GB, 8GB)の比較
エッジ側で高度な画像処理(セマンティックセグメンテーションなど)を行いたい場合は4-8GBのモデルを使用し、それ以外の場合はより安価な1-2GBモデルを使用する周辺機器の有無
リアルタイムで画像処理を行う必要がある場合、Coral USB Acceleratorなどの外付けアクセラレータを使用可能
おわりに
Raspbianの64bit化やモデルの軽量化など 試せていない部分はありますが、 ラズパイ購入時の参考になればと思います。