NVIDIA社が開発販売しているシングルボードコンピュータ、Jetsonの活用方法について解説します。これからエッジデバイスで機械学習系のアプリケーションを実装してみたい方に参考にして頂けれと思います。
\ 機械学習を学びたい人には自宅で学べるUdemyがおすすめ! /
講座単位で購入できます!
Jetsonとは
NVIDIA Jetsonは、NVIDIA社の組み込みシングルボードコンピュータのシリーズです。Jetsonは、機械学習アプリケーションを目的として設計され、画像認識、機械学習や自動運転などを高速に実行するための、GPUを備えた並列処理用の組込み用コンピューティングボードです。(出典:wikipedia)
中でもJetson Nanoは低価格、コンパクトで個人の電子工作等で機械学習アプリケーションを扱いたい場合に最適です。初期型のA02と、その後継機のB01が販売されており、B01はメモリーが2GB版、4GB版の2種類があります。
セットアップ
Jetson Nanoを使用する前に必要な準備について解説します。
JetPackのインストール
Jetsonシリーズ向けには、開発元のNVIDIA社がJetPackと呼ばれるBSP(ボードサポートパッケージ)を公開しています。このBSPをブート用のSDカードに書き込むことで使用できます。
Jetson NanoのJetPackのセットアップ方法は以下の記事でまとめています。

リモートデスクトップ(VNC)接続環境
Jetson Nano本体にモニターやキーボードを接続せず、他のPCからデスクトップをリモート操作するためのVNCのセットアップ方法について、以下の記事で解説しています。

GPIOを使ったハードウェア制御
Jetson NanoにはGPIOと呼ばれるピンヘッダが搭載されています。このGPIOを使ってハードウェアを制御したり、シリアル通信を行うことができます。

PWM
以下の記事ではJetson NanoのGPIOからPWM信号を出力する方法を解説しています。
モーター等をON/OFFではなくリニアに制御したい場合に使用できます。

デジタルIO
以下の記事ではJetson NanoのGPIOからデジタルのON/OFF信号を出力する方法を解説しています。

モータ制御
以下の記事ではJetson NanoのGPIOからPWMを出力してDCモーター(ブラシモータ)を制御する方法を解説しています。モータードライバにはL298Nを使用しています。

電子工作をする際に揃えておきたいアイテムについても以下の記事で紹介していますので、あわせてご覧ください。

機械学習
JetsonではGPUを活かして機械学習モデルで高速に推論処理を行うことが可能です。
YOLOv4を使った物体検出
以下の記事ではTensorFlowとYOLOv4のモデルを使って物体検出を行う方法を解説しています。

YOLOv5を使った物体検出
以下の記事ではMETA社が公開している機械学習ライブラリPyTorchとYOLOv5のモデルを使って物体検出する方法を解説しています。YOLOv4よりより精度が向上しているようですのでおすすめです。

Intel RealSense D435
Intel社が販売しているRealSense D435をJetson Nano使用する方法について解説しています。
RealSense SDKのインストール
RealSense D435をJetson Nanoで使用するために必要な開発環境、RealSense SDKのインストール方法について、以下の記事で解説しています。

librealsenseのインストール
RealSense D435をJetson NanoのPythonのプログラムから使用するためのライブラリ、librealsenseのインストール方法について、以下の記事で解説しています。

RealSenseのRGBカメラを使った物体検出
Jetson Nanoに接続したRealSense D435のRGBカメラの映像に対して、機械学習ライブラリPyTorchとYOLOv5のモデルを使って物体検出を行う方法を以下の記事で解説してみます。

RealSenseのDepthカメラを使った距離計測
Jetson Nanoに接続したRealSense D435のDepthカメラを使用し、YOLOv5で検出したオブジェクトまでの距離を計測する方法を以下の記事で解説しています。

並列化
multiprocessing
Pythonの標準ライブラリmultiprocessingを使ってJetsonのCPUコアごとにプロセスを割り当て並列実行する方法を以下の記事で解説しています。
Jetsonで制御や機械学習など、複数のアプリケーションを同時に動かしたい時に有効です。

ROS(Robot Operating System)
ROSのインストール
JetPack上でのROSのインストール方法について、以下の記事で解説しています。

まとめ
今回はNVIDIA社のJetsonの活用方法について解説してみました。Raspberry Pi等のマイコンボードでは荷が重い機械学習系のアプリケーションも実装できますので、ぜひ活用してみてください。
機械学習を効率よく学びたい方には、自分のペースで動画で学べるUdemyの以下の講座がおすすめです。数学的な理論からPythonでの実装までを習得できます。(私自身もこの講座を受講しています)

また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。
スキルアップや副業にぜひ活用してみてください。

スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。
講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。

それでは、また次の記事でお会いしましょう。
\ Pythonのプログラミングを学びたい人には自宅で学べるUdemyがおすすめ! /
講座単位で購入できます!