Raspberry Pi VS Jetson Nano(2GB)

グラフィックボードで有名なNVIDIAから2020年に発売されたJetson Nano 2GBモデル。Jetsonシリーズの中で最も安価なモデルになります。最初に結論から言うと機械学習やGPUを使う用途ならJetson、それ以外ならRaspberry Piをオススメします。

NVIDIA Corporation
  • 読み方はエヌビディア
  • 主に画像処理を担当するGPU(グラフィックボード)の設計で有名
  • GPUは機械学習や仮想通貨マイニング等にも利用される
  • 2020年にARMを買収した
  • Jetsonは2014年に発表
MEMO

Jetson Nano はメモリ2GB/4GBがあり、製造時期によりいくつかのバージョンがあります。また2GB/4GBモデルでは開発ボードの構成が異なります。

Jesonとは何なのか?

Jetsonは小型のエッジコンピューティングデバイスと呼ばれる高性能なシングルボードコンピューターです。

Jetson Nano - https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/

特徴としてハイパフォーマンスGPUが搭載されており、AIなどの機械学習利用を意識したラインナップになっています。そのため、ラズベリーパイでは実現できない速度の画像認識等の処理を行う事が可能です。

例えばGPUを利用したカメラ入力からの物体認識はおよそ24fpsで動作しており、ラズベリーパイでは到底実現することが難しい速度になります。

サンプルのオブジェクト認識をさせてみた例では24FPS出ている

本体はこのようにモジュール化されているため取り外し可能になっています。しかし、ボード単体ではUSBコネクタはおろか電源を接続することもできないため、開発キットと呼ばれるボートに載った状態で利用します。

Jetson Nano 本体のみ
単体利用は可能なのか?

開発キットを利用しない場合は、利用目的に応じて基板を設計しJetsonを利用する必要があるため、あまり個人向けではありません。

現時点ではラズベリーパイ4よりも安く購入出来る場合があり、ハードウェアの性能を考えるとかなり安い印象を受けます。

開発キットを購入すると Jetson Nano はメモリスロットに刺さった状態で箱に入っているので、組み立てる必要はありません。ちなみにスロットへの接続はメモリの取り付けと同じなので簡単に行うことが出来ます。

ナナメにさして、下に倒すメモリの取り付けと同じです。
MEMO

Jetson Nano は単に形状がメモリスロットの型をしているだけのため、メモリとの互換性はありません。

インタフェース

開発キットのボード(開発ボードと呼びます)にはLAN/USB 3.0 x 1/ USB 2 x 2/HDMI/電源用のUSB-Cポート/GPIOヘッダーが用意されており、ケースにさえ入れておけば普通のLinuxPCとして普通に利用できます。

https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-2gb-devkit

しかしGPIOヘッダーはラズベリーパイと同じ40ピンですが、いくつかの部分が異なるため、ラズベリーパイ用に設計されたHATを使うことは出来ません。

MEMO

電源である 5v/3.3vあたりは同じピン配置になっていたりするので、i2cのみしか利用していないHAT等では動作するかもしれません。しかし、壊す可能性があるので事前にピン配置等を確認しましょう。

無線LAN

Jetson Nano はWifiアダプターが同梱されているものとそうでないものがあります。私が購入したものはWifiアダプターが同梱されているものでした。

付属していたWiFiドングル

しかし、このドングルは残念ながら接続が本当によく切れます。本格的に利用する場合はアンテナ付きのWiFiアダプターを購入した方が良いと思います。

どのぐらい接続が切れるのか?

ほとんど同じ位置の置いてあるMacBookはWiFiが切れてしまう事は本当にまれですが、近くに置いているラズベリーパイの内蔵WiFiですら切れない場所でも平気で切れます。この個体が不良品なのかどうかはわかりませんが、このドングルの利用は全然オススメできません。

ストレージ

ストレージにはMicroSDカードが採用されています。MicroSDカードスロットは開発ボード側ではなく、Jetson Nano 基板に用意されています。

カード挿入時はこのように本体を取り外す必要はありません。

公式ページではサイズが 32GB以上(推奨64GB)かつ、高耐久カードが推奨されています。

MEMO

もちろんこのSDカードは同梱されていないため別途購入する必要があります。

電源入力

電源入力はUSB-Cから行います。しかしJetsonではUSBケーブルや電源アダプタは付属していないので、用意する必要があります。

MEMO

GPIOヘッダーの5v(2本あります)からも給電することが可能なようですが、1本のピンに2.5A以上流れないようにしてあげる必要があるようです。

カメラインタフェース

カメラとの接続に利用するCSIインタフェースは1つのみです。

リボンケーブルで接続可能なCSIインタフェース

接続できる代表的なカメラはラズベリーパイ用のカメラ(IMX 219センサー)もしくは Raspberry Pi HQ カメラ(IMX477)を利用することが出来ます。

CSI-カメラ以外でもLinuxが対応しているUSBカメラを利用することも可能です。

Raspbery Pi HQ カメラ

残念ながらRaspberry Pi HQ カメラが利用できるのは Jetson Nano 2GB モデルのみで、他のJetsonシリーズでは利用することができないようです。

オペレーティング・システム

Jetson Nano はNvidiaのサイトから MicroSD カードのイメージをダウンロードし、それを書き込みします。

JETPACK SDK

このOSと各種ソフトウェアの組み合わせでJetPackという名前がつけられているようで、CUDA,TensorRTといった機械学習ライブラリ等が含まれているため開発を簡単に始める事が可能になっています。

JetPack SDK
NVIDIA JetPack SDK is the most comprehensive solution for building end-to-end accelerated AI applications. All Jetson modules and developer kits are supported by JetPack SDK.

Ubuntu がベースになっており、Jetson Nano 2GB モデルではメモリ容量の少なさからデスクトップ環境にはLXDEが採用されています。

ウィンドウのタイトルやボタン等が若干見辛い

そのため非常にサクサクとした動作で、とても8,000円前後で購入できるシングルボードコンピューターとは思えません。

他のOS

Jetsonでは他にも RedHawk Linuxを利用することが可能です。

Jetson 上位機種

Jetsonにはいくつかのバリエーションがあり、ハイエンドモデルはデスクトップPCに匹敵する性能ですが、その分値段もかなり高くなります。

Raspberry Pi の種類

ラズベリーパイにはいくつかの種類があり、一般的にラズベリーパイと言えばModel Bの事を指します。ボート本体のみでも販売されていますが、すぐに使える状態でのキット販売も多くされています。

またキーボード一体型タイプの Raspberry Pi 400 などもあります。

https://www.raspberrypi.org/products/raspberry-pi-400/

ではこの記事執筆時点で最新の Raspberry Pi 4 Model B と比較していきます。

Raspberry Pi 4 Model B と比較

CPU/GPUと価格

ハードウェアの性能としてはCPUではラズベリーパイが、GPUではJetsonが勝っています。

Raspberry Pi 4 Jetson Nano 2GB
CPU 4 core Cortex-A72@1.5GHz 4 core A57@1.43 GHz
GPU Broadcom VideoCore VI 128-core NVIDIA Maxwell™
メモリ 2/4/8GB 2GB
価格 $45(2GB) $59
$55(4GB)
$75(8GB)

ラズベリーパイ4はメモリサイズの違いにより価格が異なり、Jetson Nano と比較すると 4GB モデルがほぼ同等の価格設定となっています。

また現在はすでに販売されていませんが、以前は 1GBメモリ版が $35で販売されていたためラズベリーパイのコストパフォーマンスは高いように思います。

MEMO

Jetson Nano にはメモリ4GB版があり販売価格は $99(アマゾンで15,000円程度) となっています。

サイズとストレージ

Raspberry Pi 4 Jetson Nano 2GB
サイズ 85mm x 56mm x 16mm 100 mm x 80 mm x 29 mm
ストレージ MicroSDカード MicroSDカード
CSIポート
(カメラ接続)
2-lane MIPI CSI 2-lane MIPI CSI

ボードのみのサイズではJetsonが小さいですが、開発ボードを含めるとラズベリーパイより一回り大きめのサイズです。また両者ともにストレージにMicroSDカードを採用しています。

MEMO

Jetson Nano の利用には開発ボードが必要になります。モジュールのみでの利用は開発ボード自体を設計・開発しているユーザー向けです。

外部との接続インタフェース

Raspberry Pi 4 Jetson Nano 2GB
WiFi 2.4/5.0GHz IEEE 802.11ac 無し
(ドングルが付属)
Bluetooth Bluetooth 5.0 無し
USB 2.0 2ポート 2ポート
USB 3.0 2ポート 1ポート
LAN ギガビット・イーサネット ギガビット・イーサネット

ラズベリーパイは無線LANやBluetoothをそのまま利用することが出来ますが、Jetson Nano にはついていない上にUSBポートが3つしか無いため、Bluetoothドングルの接続にはUSBハブが必要になる場合があります。

オペレーティング・システム

Raspberry Pi 4 Jetson Nano 2GB
OS Raspberry Pi OS
(Debian)
Jetpack
(Ubuntu)

ラズベリーパイの標準OSは Debian ベースとなる Raspberry Pi OS です。慣れの部分もありますが、個人的には使いやすいように思います。

MEMO

Raspberry Pi OS は Linux を初めて触るユーザーでも比較的簡単に利用することができるようになっています。

対して、Jetson では Ubuntu がベースとなっており、あきらかにラズベリーパイよりキビキビとした印象を受けます。

しかし、Jetson Nano では 2GBというメモリ制限からデスクトップ環境に低消費メモリのデスクトップ環境であるLXDEが採用されています。

私が単純に慣れていないという部分もあると思いますが、通常のUbuntuほど良い印象は受けませんでした

美しい表示よりは軽さが意識されているLXDE

OSは好みの部分も大きいですが、LXDEはフォントのサイズ感やボタンサイズなど正直使いづらい印象を受けました。

Raspberry Pi が向いている用途

学習用途

これからシングルボードコンピューターや、勉強してみようかなと思っている場合はラズベリーパイがおすすめです。

Jetsonは資料がそれほど多い状況とは言えず、チュートリアル通りにやったのに動作しないという事が多々あります。また日本語の情報はラズベリーパイと比較し相当に少ないです。

Raspberry Pi でもバージョン違いやOS更新により、チュートリアル通りに出来ない場合もありますが、Jetsonはそんな比ではありません。Linux初心者は手を出すべきではないレベルと思います。

その都度ググって解決できる中級以上のユーザーであればJetsonも選択肢に入れてもかまいませんが、初心者にはかなりハードルが高いように思います。

MEMO

例えば接続されているカメラを確認するためには v4l2-ctl というコマンドで確認するとチュートリアルには書かれていますが、実際にそのコマンドを実行するとエラーとなります。
これは元々そのコマンドがインストールされていないためで、知っている方ならaptコマンドでどのパッケージに含まれているか探してインストール出来ますが、そのあたりまで細かく書かれているようなドキュメントはほぼありません。

Jetsonが向いている用途

機械学習(AI)

ぶっちぎりでJetsonが向いています。ラズベリーパイのGPUはJetsonとは比べ物になりません。

ちなみに私はこの目的のためだけにJetsonを購入しました。Jetsonの低コスト、低消費電力、パフォーマンスは比較対象が存在しないぶっちぎりレベルです。

この分野はラズベリーパイの完敗なので、次バージョンのラズベリーパイに期待するしか無い・・・

そして両者を比較した場合、勉強用に割り切って作るということであれば意味はあるかもしれませんが、速度差がありすぎるためラズベリーパイを選択するメリットはありません。

動画再生

ラズベリーパイでのYouTubeの再生は若干カクついてしまう場合もありますが、JetsonではGPUのおかげかそのような事は全くありませんでした。

動画を延々と再生するような使い方であればJetsonの方が向いてます。

ただしラズベリーパイにはついているオーディオジャックはJetsonにはついていないため、HDMIからの出力で利用しました。

まとめ

Jetsonの方が早い
値段差や採用しているデスクトップ(LXDE)の影響も否めませんが、明らかにJetsonの方がキビキビとした動きです。しかし普段使いするにはLXDEは若干使いづらい印象を受けるので、値段はラズべリーパイの2倍にしますが、Jetson Nano 4GBの方がおすすめです。
ラズベリーパイの方が初心者にやさしい
初心者にオススメできるかどうかは情報量の多さとイコールになりますが、ラズベリーパイの方が圧倒的に情報量が多く日本語でもそれなりに探すことが出来ます。それに対しJetsonでは日本語の情報は相当少ないように感じます。
またnvidiaが公開しているチュートリアルも完全な初心者を意識したものではなく、ある程度の経験者を想定して作っているように思います。
機械学習ならJetson
値段、消費電力そしてパフォーマンスを考えるとJetson Nano は機械学習用途に絞り込んだマシンであると言えます。利用方法は決して初心者向きとは言えませんが、パフォーマンスはラズベリーパイより明らかに高いため機械学習目的ならJetson一択です。

あまり初心者に手放しでオススメできる製品とは思えませんが、パフォーマンスは最高です。興味がある方は是非どうぞ!