本期課程,小編將以計算機視覺領(lǐng)域的圖像識別任務(wù)為目標,帶領(lǐng)大家動手實現(xiàn)在樹莓派的虛擬設(shè)備上部署基于 Paddle Lite 的圖像識別模型,以及如何將在 Arm 虛擬硬件 (Arm Virtual Hardware, AVH) 上開發(fā)測試完成的應用快捷地移植到實體樹莓派開發(fā)板上。
項目概述
1.1 目標任務(wù):圖像識別
圖像識別是利用計算機對圖像進行處理、分析和理解,以識別各種不同模式的目標和對象的技術(shù),是應用深度學習算法的一種實踐應用。圖像分類是根據(jù)圖像的語義信息對不同類別圖像進行區(qū)分,是計算機視覺的核心,是物體檢測、圖像分割、物體跟蹤、行為分析、人臉識別等其他高層次視覺任務(wù)的基礎(chǔ)。圖像識別與分類在許多領(lǐng)域都有著廣泛的應用,包括安防領(lǐng)域的人臉識別和智能視頻分析等,交通領(lǐng)域的交通場景識別,互聯(lián)網(wǎng)領(lǐng)域基于內(nèi)容的圖像檢索和相冊自動歸類,醫(yī)學領(lǐng)域的圖像識別等[1]。
1.2 推理框架:Paddle Lite
Paddle Lite 是百度飛槳推出的端側(cè)和邊緣側(cè)輕量化推理引擎,可幫助開發(fā)者在移動設(shè)備、邊緣設(shè)備和 loT 設(shè)備上運行模型,以便實現(xiàn)設(shè)備端機器學習。Paddle Lite 支持多語言、多平臺運行,并針對移動端和邊緣側(cè)設(shè)備的機器學習進行了優(yōu)化,旨在為這些場景的 AI 應用提供更高效輕量的推理能力,有效解決端側(cè)和邊緣側(cè)設(shè)備算力和內(nèi)存限制等問題。開發(fā)者可以輕松的通過 Paddle Lite opt[3]工具將 Paddle 模型轉(zhuǎn)換為 Paddle Lite 模型,更多詳細信息,可查看 Paddle-Lite 完整文檔[4]。
1.3 部署平臺:Arm 虛擬硬件
作為 Arm 物聯(lián)網(wǎng)全面解決方案 (Arm Total Solution for IoT[5]) 的核心技術(shù)之一,AVH 很好地解決了實體硬件所面臨的難擴展、難運維等痛點。AVH 提供了簡單便捷并且可擴展的途徑,讓 IoT 應用的開發(fā)擺脫了對實體硬件的依賴并使得云原生開發(fā)技術(shù)在嵌入式物聯(lián)網(wǎng)、邊緣側(cè)機器學習領(lǐng)域得到了應用。尤其是在芯片供應鏈緊張的當今時代,使用 AVH 開發(fā)者甚至可以在芯片 RTL 之前便可接觸到最新的處理器 IP。
目前 AVH 提供兩種形式供開發(fā)者使用。一種是托管在 AWS 以及 AWS China 上以亞馬遜機器鏡像 AMI 形式存在的 Arm Corstone 和 Cortex CPU 的虛擬硬件,另外一種則是由 Arm 以 SaaS 平臺的形式提供的 AVH 第三方硬件。本期課程我們將使用第二種由 Arm 以 SaaS 平臺的形式提供的 AVH 第三方硬件中的虛擬樹莓派 4 作為硬件部署平臺。除樹莓派外,該 AVH 平臺目前還提供另外 2 塊開發(fā)板的虛擬硬件:恩智浦的 i.MX 8M 以及意法半導體的 STM32U5 Discovery Kit。同時,我們也在持續(xù)增加所支持的開發(fā)板數(shù)量,敬請期待!
* 我們會在收到您的申請后盡快處理您的請求,建議使用公司/學校郵箱注冊可加快審批流程并獲得更及時的試用支持。
部署實戰(zhàn)
本次圖像識別應用部署工程示例代碼位于 Paddle-Lite-Demo GitHub 倉庫[7]。
2.1虛擬硬件創(chuàng)建與配置
賬號審批通過后 (注冊方式參考 1.3 節(jié)),訪問https://app.avh.arm.com/login并使用該郵箱所注冊的 Arm 賬號登入 AVH 第三方硬件 SaaS 平臺。
a. 在設(shè)備選項頁面,點擊創(chuàng)建設(shè)備 (CREATE DEVICE)
b. 在設(shè)備選擇頁面,選擇樹莓派設(shè)備 (Raspberry Pi 4)。創(chuàng)建該設(shè)備需要消耗 4 個 CPU 核數(shù),可在設(shè)備選項頁面查看當前可使用 CPU 核數(shù)
c. 點擊下一步 (NEXT) 進入設(shè)備配置頁面
d. 選擇官方提供的Raspberry Pi OS Desktop (11.2.0)作為操作系統(tǒng),并點擊選擇 (SELECT) 進入配置確認頁面
e. 配置確認頁面可以自定義設(shè)置設(shè)備名稱以及選擇是否需要設(shè)置高級啟動選項 (勾選該選項將進入高級啟動項配置頁面),本示例無需配置高級啟動選項,因此直接點擊創(chuàng)建設(shè)備 (CREATE DEVICE) 按鍵進行設(shè)備創(chuàng)建
f-g. 設(shè)備創(chuàng)建過程可以實時查看設(shè)備創(chuàng)建進程。當提示Device is ready時,說明設(shè)備已經(jīng)創(chuàng)建完成
h. 點擊控制臺 (CONSOLE) 按鍵,輸入 pi 作為用戶名,raspberry 作為密碼即可成功登入該設(shè)備??梢酝ㄟ^輸入uname -a查看當前系統(tǒng)基本信息??蛇x地,也可以直接使用樹莓派桌面 (位于左側(cè)顯示區(qū)) 上的終端完成后續(xù)操作
* 友情提示:可以通過紅色標記處的符號將顯示區(qū)域放大便于后續(xù)觀看和操作
2.2運行環(huán)境準備
在創(chuàng)建好的虛擬樹莓派控制臺終端依次輸入以下代碼完成相應依賴項 (主要包括:gcc, g++, opencv, cmake) 的安裝與配置。
$ sudo apt-get update
$ sudo apt-get install gcc g++ make wget unzip libopencv-dev pkg-config
$ wget https://www.cmake.org/files/v3.10/cmake-3.10.3.tar.gz
$ tar -zxvf cmake-3.10.3.tar.gz
$ cd cmake-3.10.3
$ ./configure
$ make
$ sudo make install
2.3部署圖像分類應用
a. 克隆示例代碼并切換到 master 分支
$ cd ~
$ git clone https://github.com/PaddlePaddle/Paddle-Lite-Demo
$ cd Paddle-Lite-Demo
$ git checkout master
b. 下載模型和預測庫,當提示Download successful!,說明已經(jīng)下載完成
$ cd PaddleLite-armlinux-demo
$ ./download_models_and_libs.sh
c. 編譯與運行
為更直觀的查看結(jié)果,建議直接使用樹莓派桌面上的終端來編譯和運行代碼 (可選地,通過右側(cè)控制端中的終端來編譯和運行程序)。打開桌面的終端并切換至圖像分類應用路徑下 (位于 Paddle-Lite-Demo/PaddleLite-armlinux-demo/image_classification_demo 目錄)。該圖像識別應用旨在識別該目錄下 images 文件夾中的 tabby_cat.jpg 圖片。
$ sh run.sh # build and run image classification application
注意:由于 opencv 4.x 和 3.x 版本兼容問題,若使用 opencv 4.x 版本 (按照上述步驟默認安裝),請將 image_classification_demo.cc 中的以下幾處代碼進行兼容性修改,確保編譯成功。
Line 70: CV_BGRA2RGB
改為cv::COLOR_ BGRA2RGB
Line 259 & 260: CV_CAP_PROP_FRAME_WIDTH
改為cv::CAP_PROP_FRAME_WIDTH
d. 查看運行結(jié)果
運行結(jié)果示意圖如下,該圖片成功地被識別為虎斑貓 tabby (置信度最高)。
2.4虛擬樹莓派 vs 實體樹莓派
在 2.1-2.3 節(jié)中,我們完成了在 AVH 的虛擬樹莓派 4 開發(fā)板上完成基于 Paddle Lite 的圖像識別應用的部署。為了讓各位開發(fā)者更直觀地感受在虛擬樹莓派 4 和在實體樹莓派 4 開發(fā)板上進行開發(fā)部署的差異,我們使用樹莓派 400 開發(fā)套件[8](鍵盤內(nèi)部集成有樹莓派 4 的大部分組件) 作為實體樹莓派硬件平臺進行該 Paddle Lite 圖像識別應用的部署。同樣地,需要安裝 Raspberry Pi OS with desktop 操作系統(tǒng) (64 位)[9]。各位開發(fā)者可以選用單獨的樹莓派 4 開發(fā)板進行同樣的體驗和測試。
各位開發(fā)者可以將 2.3 節(jié)中兼容性修改后的代碼上傳至 GitHub 等代碼倉庫并直接在實體樹莓派 4/400 開發(fā)板上下載和使用該代碼。按照 2.1-2.3 節(jié)中相同的命令操作完成實體樹莓派開發(fā)板上環(huán)境的運行配置以及應用的部署,其結(jié)果與虛擬樹莓派 4 上的運行結(jié)果一致,對比示意圖 (圖 5) 所示??梢?,在確保結(jié)果準確性的情況下,在虛擬樹莓派上的 Processing Time 更短,其獲得推理測試結(jié)果的速度更快。
圖 5:運行對比結(jié)果示意圖
* 注:虛擬硬件顯示界面的色差將會在后續(xù)版本更新中修復
小結(jié)
本期課程,小編帶領(lǐng)大家學習了解了如何在 Arm 虛擬硬件的虛擬樹莓派 4 上完成圖像識別應用的部署,并將其結(jié)果與實體硬件開發(fā)板上的運行結(jié)果進行了對比。不難看出,AVH 有效地解決了實體硬件所面臨的種種痛點問題,開發(fā)者無需再受硬件資源的約束,可以隨時隨地的開始軟件開發(fā)之旅。
-
ARM
+關(guān)注
關(guān)注
134文章
9342瀏覽量
376392 -
硬件
+關(guān)注
關(guān)注
11文章
3473瀏覽量
67366 -
圖像識別
+關(guān)注
關(guān)注
9文章
526瀏覽量
39028 -
樹莓派
+關(guān)注
關(guān)注
121文章
1985瀏覽量
107260
原文標題:AVH 動手實踐 (四) | 在 Arm 虛擬硬件 (樹莓派) 上部署 Paddle Lite 圖像識別模型
文章出處:【微信號:Arm軟件開發(fā)者,微信公眾號:Arm軟件開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
請問樹莓派可以用于工業(yè)監(jiān)控嗎?
【NXP IMX6UL開發(fā)板申請】基于IMX6UL的圖像識別
樹莓派部署LabVIEW程序并開機自啟
【瑞芯微RK1808計算棒試用申請】圖像識別以及芯片評測
Arm Virtual Hardware 3rd Party Hardware評估示例
如何用Arm虛擬硬件在Arm Cortex-M上部署PaddlePaddle
在Arm虛擬硬件上部署PP-PicoDet模型
使用Arm虛擬硬件進行Matter開發(fā)和Wi-Fi控制
Arm虛擬硬件用戶指南
如何在APT-Pi上實現(xiàn)圖像識別功能

評論