作者:曾成訓(CH.Tseng)
Orange Pi(中文譯為香橙派),由位於中國深圳的迅龍軟件所研發,算是目前眾多的類樹莓派開發板中較知名的廠牌之一,不過不像樹莓派僅有數種型號可選, Orange Pi 洋洋灑灑擁有超過二十種不同的型號版本(截至今日網頁上目前有有 23 種):
Orange Pi Zero LTS、Orange Pi 3、Orange Pi AI Stick、Orange Pi 3g-iot-B、Orange Pi 3g-iot-A、Orange Pi 4G-IOT、Orange Pi RK3399、Orange Pi R1、Orange Pi Zoro Plus、Orange Pi I96、Orange Pi Prime、Orange Pi Win Plus、Orange Pi 2G-IOT、Orange Pi Zero Plus2、Orange Pi Plus 2E、Orange Pi PC Plus、Orange Pi PC2、Orange Pi PC、Orange Pi Lite 2、Orange Pi Lite、Orange Pi One Plus、Orange Pi One、Orange Pi Zero
請參考下方圖表,不同的型號之間有些微的硬體功能差異,在採購前必須要斟酌考量:

(圖片來源:Orange Pi Models)
Orange Pi One
今天主要針對 Orange Pi One 的安裝與設定做介紹,它是一款僅具備 512 MB、RJ45 網路及 HDMI 輸出,無 WiFi、Bluetooth 等無線功能的開發板,其硬體規格如下:

(圖片來源:Orange Pi)
(註:網路上有些心得評語指出 Orange Pi 的網路功能不是很穩定,我試用後發現的確有此現象,以 Orange Pi One 而言,使用 putty 透過 ssh 連上使用,感覺網路速度不是很穩,尤其在執行像 pip install、wget 或 git push 等指令時,經常有 hang 住無反應的現象,需重下 command 後才回復正常。)
OS 系統安裝
推薦使用 armbian(我在 Orange Pi 官方下載的反而無法開機使用),這是專為 ARM 系列的 CPU 所打造的 OS,進入 https://www.armbian.com 後,在 Download 頁面即可看到支援相當多的開發板,請選擇Orangepi。

(圖片來源:曾成訓提供)
Buster 是 Debian 的版本、Bionic 是 Ubuntu 的版本,請選擇一種下載。

(圖片來源:曾成訓提供)
下載後,將 image 檔燒錄到 SD 卡上,Orange Pi 便能透過該卡片開機了。
執行環境安裝
1. Swap 調整
(1) 目前的 swap size
pi@orangepione:~$ sudo swapon –show
NAME TYPE SIZE USED PRIO
/dev/zram1 partition 230.3M 15M 5
(2) 增加 swap space
pi@orangepione:~$ sudo fallocate /var/swap.file –length 8GB
pi@orangepione:~$ sudo chmod 0600 /var/swap.file
pi@orangepione:~$ sudo mkswap /var/swap.file
Setting up swapspace version 1, size = 7.5 GiB(7999995904 bytes)
no label, UUID=ba11a1f4-e9a8-4b0b-b976-9fc6a3eb5379
pi@orangepione:~$ sudo swapon /var/swap.file
(3) 檢視增加後的 swap size
pi@orangepione:~$ sudo swapon –show
NAME TYPE SIZE USED PRIO
/dev/zram1 partition 230.3M 14.8M 5
/var/swap.file file 7.5G 0B -2
2. 基本套件
Armbian 預設只有安裝 python 3,對於習慣使用 python 2 的網友來說可能不太方便,需要手動額外安裝(本文以 Python 3 示範)。
(1) mkdir works; mkdir envs
(2) 安裝 virtualenv:sudo apt-get install virtualenv
(3) 建立一個虛擬環境 AI
cd ~/envs/
virtualenv –p python3 AI
(4) 啟用 AI 環境(建議可將此行放在~/.bashrc):source envs/AI/bin/activate
(5) 安裝 numpy:pip install numpy
如果出現下方的 error,表示需要手動安裝下方的 package:sudo apt-get install python3-dev

(圖片來源:曾成訓提供)
(6) 安裝 Tensorflow
pip install tensorflow-1.14.0-py3-none-any.whl
Tensorflow 安裝過程會頻繁出現 error,像是 pip install cython、pip install grpcio==1.20.1、pip install h5py、pip install tensorflow-1.14.0-cp37-none-linux_armv7l.whl 等,需要先依次排除並手動安裝有問題的 modules。
3. OpenVINO
(1) cd ~/
(2) wget https://download.01.org/opencv/2019/openvinotoolkit/R2/l_openvino_toolkit_runtime_raspbian_p_2019.2.242.tgz
(3) ln -s l_openvino_toolkit_runtime_raspbian_p_2019.2.242 openvino
(4) nano /home/pi/openvino/bin/setupvars.sh
(5) sudo apt-get install libgtk2.0-dev
(6) sudo apt install libgtk-3-0
(7) cd ~/envs/AI/lib/python3.7/site-packages/
ln -s /home/pi/openvino/python/python3/cv2.abi3.so
(8) nano ~/.bashrc
add 🡪
source ~/envs/AI/bin/activate
source ~/openvino/bin/setupvars.sh
sh ~/openvino/install_dependencies/install_NCS_udev_rules.sh
4. X Window
Armbian 預設只有文字模型並沒有圖形介面,如果需要安裝,可透過 sudo apt-get -y install xorg lightdm xfce4 tango-icon-theme gnome-icon-theme 安裝 Xfce 桌面系統。
安裝完成後重新開機,便會進入視窗模式如下:

(圖片來源:曾成訓提供)
5. YOLOV3-Tiny
如果單純透過 OpenCV DNN 模組執行我們於前文所訓練的 YOLOV3-Tiny model,執行速度約 0.3 FPS,亦即每個 frame 需要 3.3 秒的時間,而 相同的程式碼於樹莓派 3B 執行,則速度為 0.5 FPS。

(圖片來源:曾成訓提供)
但若使用 NCS2 硬體加速,Orange Pi One 的速度可提升六倍以上,達到 2 FPS,亦即每個 frame 僅需要 0.5 秒的時間,這個成績比起樹莓派 3B+ 的 1.9 FPS 相近,甚至還快一些。

(圖片來源:曾成訓提供)
6. SSD-MobilenetV2
直接透過 Tensorflow for python 執行手掌偵測 model,Orange Pi One 的 FPS 約 1.0,相同的程式碼執行於樹莓派 3B+,速度為 0.9 FPS,兩者的表現相當接近。

(圖片來源:曾成訓提供)
如果改使用 OpenCV 的 DNN 模組,Orange Pi One 的 FPS 約 0.9,而樹莓派 3B+ 的表現為 1.1 FPS。

(圖片來源:曾成訓提供)
透過 OpenVINO+NCS2 加速,Orange Pi One 的 FPS 可加快到 6.0 FPS,約提升近七倍的速度,至於樹莓派 3B+,速度提升為 5.3 FPS,約快了 3.8 倍。

(圖片來源:曾成訓提供)
綜合比較

(圖片來源:曾成訓提供)
使用心得
本文使用的程式及訓練好的 model 皆置於 https://github.com/ch-tseng/orangepi_palm。
Orange Pi One 優點:
- 體積小
- 價格僅樹莓派 3B+ 的不到一半
- 執行效能相較於樹莓派 3B+ 差不多
- 與硬體加速的 NCS2 結合,效能明顯提升
Orange Pi One 缺點:
- 僅支援 Ethernet RJ45
- 從官網下載的 OS image 無法開機,需使用第三方的 armbian OS
- 透過 pip 安裝 Tensorflow 或 OpenCV 時會有相容問題,需手動安裝
- RJ45 網路功能不是很穩定
- 電源 input 為 110 V 的 1.7 mm 獨立的圓孔,使用上不比 Micro USB 線方便
- RAM 僅有 512 MB。
小結
如果想要找一款低價的類樹莓派開發板,OrangePi 是個好選擇,且值得一提的是,它與 NCS2 硬體加速搭配地很好,效能提升相當明顯。
(本文經作者同意轉載自 CH.TSENG 部落格、原文連結;責任編輯:賴佩萱)
- 【模型訓練】訓練馬賽克消除器 - 2020/04/27
- 【AI模型訓練】真假分不清!訓練假臉產生器 - 2020/04/13
- 【AI防疫DIY】臉部辨識+口罩偵測+紅外線測溫 - 2020/03/23
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!