Orange pi 5 に Joshua Riek Ubuntu 24.04 を使ってみた。
いままで、Orange pi 5 Armbian をずっと使っていたが、今回、上記を使ってみた。
と言うのも、Orange pi 5 Armbian 24.04 だと、 NPU のデバイスドライバーが、標準で入っていないのが、問題でした。
Joshua Riek Ubuntu 24.04 だと、そこらへんが、標準で入っているので、使ってみました。
大元は、
Joshua-Riek/ubuntu-rockchip
ダウンロードは、
Joshua Riek Ubuntu download
-> Orange Pi 5
-> Ubuntu 24.04 LTS Desktop with Linux 6.1
ダウンロードして、dd で書き込み。
$ xz -dc ubuntu-24.04-preinstalled-desktop-arm64-orangepi-5.img.xz | sudo dd of=/dev/sdb bs=4M status=progress
$ sync
あとは、 Orange pi 5 で立ち上げて、初期設定で、OK でした。
Orange PI 5の最近のブログ記事
Transformers Object detection - detr の転移学習とONNX変換と実行。#2
Transformers Object detection - detr の転移学習とONNX変換と実行。
の続きです。
ONNX -> rknn に変換して、 Orange pi 5 armbian(22.04) で、NPU で動かしてみました。
USB Camera -> predict -> Open cv 表示
rate: 10[fps] 前後 みたいです。
model 単体ベンチマーク: 0.1[sec] 前後
cpu 負荷は、all core 23[%] 前後みたい。 c++ で行えばもっと、良いかも。
体感は、なんとかつかそう。ただ、実際のアプリでは、Open CV で表示などせずに、
プログラムの中で使うのであれば、もっと早いかも?
orange pi 5 x 1 で、同時に、ROS2 で、ロボットを動かせるかも?
でも、2 台構成が無難かもしれない。
開発環境:
Ubuntu 24.04 PC and GTX 1070
torch 2.6.0+cu126
torchaudio 2.6.0+cu126
torchvision 0.21.0+cu126
実機環境:
Orange pi 5 armbian(22.04)
注) armbian(22.04) でないと、NPU ドライバーが入っていないので、注意!!
最新の armbian(24.04 以降) だと、自分でドライバーをソースbuild して追加しないと、できましぇん!!
python 3.10
RKNNLite
USB カメラ
実機環境2:
Joshua Piek ubuntu 24.04
こちらが、今は良いみたい。
USB Camera -> predict -> open cv 表示
fps: 12 - 13 [Hz] みたいです。
検出精度、良好!! by nishi 2026.3.29
1. 転移学習
雑草 3class(実際は、4 class になった) の転移学習を行う。
今までは、学習データを、アスペクト比を無視して、480x480 にリサイズしていましたが、
今回は、画像のアスペクト比を維持して、480x480 にリサイズして、余白は、黒埋めします。
実際の学習用 コードは、github に公開しました。
github@tosa-no-onchan/transform_object_detection
zasou_train_3class.ipynb
学習は、2回にわけて行いました。
1 回め
165 エポック
7800 0.304700
2 回め。続きから。
46 エポック
で、 train loss 0.19 になりました。
多分、huging face にアップロードされているでは?
tosa-no-onchan/detr-resnet-50_finetuned_zasou
おんちゃんの Tips.
image_processor に、size={"shortest_edge": 480,...
を渡して、入力サイズを、480x480 にすると良いみたい。
これだけで、 rknn での実行速度が改善されるみたいじゃ。--> 実際は、変わらない!!
Orange pi 5 Armbian で NPU を使って、yolo を試す。
Orange Pi5のNPUを使用してyolo(高速?)を動かしてみる(rknn-toolkit2) と言うのがあったので、これを参考に、NPU yolo を試してみた。
大元のクイックスタートの方が参考になるみたい。
github.com/airockchip/rknn-toolkit2
1. 環境の構築。
Armbian 上に構築します。
Python 3.10.6
tensorflow 2.8.0 (最新は、2.12.0 )
1) python3 をインストール。
$ sudo apt install python3 python3-dev python3-pip
2) 必要、ライブラリーのインストール。
$ sudo apt-get install libxslt1-dev zlib1g zlib1g-dev libglib2.0-0 libsm6 \
libgl1-mesa-glx libprotobuf-dev gcc
3) virtualenv を用いて、Tensorflow2 環境を、Armibian 上に作ってみます。
$ pip3 install virtualenv ---user
4) kivy_env と言う仮想環境(名称は、なんでもOK) を作ります。
$ python3 -m virtualenv kivy_env
仮想環境を有効化
$ source ~/kivy_env/bin/activate
5) 仮想環境に、tensorflow をインストール。
(kivy_env) :$ python -m pip installl tensorflow==2.8.0
チェック。
(kivy_env) :$ python
>>> import tensorflow as tf
>>> print(tf.reduce_sum(tf.random.normal([1000,1000])))
tf.Tensor(-390.70236, shape=(), dtype=float32)
>>> exit()
Orange pi 5 で Armbian を試してみた。
Orange pi 5 Ubuntu 22.04 だと、linux header ファイルが見当たらないので、不便。
なので、armbian orangepi 5 を試してみました。
Desktop 版を、インストールしました。
Desktop GUIは、Ubuntu 22.04 と同じ、Gnome みたい。
だけど、なぜか、軽そうに感じるのは、おんちゃんの錯覚か。
初期設定は、こちらが参考になりました。
Armbianの初期設定 令和5年(2023年)4月版
1. armbian-config が、orangepi-config と同じように使えます。
$ sudo armbian-config
2. WiFi ドングルを試す。
1) tp-link Archer T3U Nano (rtl88x2bu) が、なにもせずに繋がった。
なんじゃ、こりゃ!!
Orange Pi 5 Ubuntu 22.04 の苦労は、一体なんだたんだろうか!!
2) tp-link TL-WN725N (rtl8188eus) は、相変わらず、LEDランプは点かない。
USB に挿すと、エラー吐いている(dmesg で確認できる)。
Orange pi 5 で、 Ubuntu 22.04 Gnome Desktopを試してみた。
結論を先に言と、ROS2 向けなら、NG です。ROS2 向けなら、Orange pi 5 で Armbian がおすすめぞね!!
1. Orange Pi 5 を手に入れた。by nishi 2023.3.22
今日、Orange Pi 5 (8G) が、届いたので、早速、 Ubuntu 22.04 Gnome Desktop を、Micro SD カードに書き込んで、起動してみた。
なんとも、速い。Jetson Nano 2G とは、比較も出来ない。
2. ユーザを追加して、GUI ログインしようとしたら、失敗しました。
色々調べて、みて、どうやら、 /etc/group に、登録したユーザID が、必要なグループに入っていないのが、原因のようです。
$ cd /etc
$ grep orangepi group
ここで、orangepi が登録されているグループに、同じ様に登録されていないのが問題でした。
取り敢えず、 video、 input には、自分で追加しました。
$ sudo usermod -aG video nishi
$ sudo usermod -aG input nishi
さらに、tty、dialout も追加します。Micro-ROS Agent とのSerial 通信に必要みたい。
$ sudo usermod -aG tty nishi
$ sudo usermod -aG dialout nishi