配套資料在網盤資料的“iTOP-3399 開發板資料匯總(不含光盤內容)\人工智能測試資料\圖像分類配套資料.zip”目錄下。
本章節將在 ITOP-3399 開發板上測試圖像分類 APP,這是 TensorFlow Lite 在 Android 上的示例應用程序 。它使用圖像分類對來自設備后置攝像頭的圖像進行連續分類。使用 TensorFlow Lite Java API 執行推斷,演示應用程序實時對幀進行分類,顯示最可能的分類。它允許用戶在浮點模型或量化模型之間進行選擇 ,選擇線程數,并決定是在 CPU,GPU 還是通過 NNAPI 運行。
此應用程序捆綁的 4 種模型:MobileNetV1(浮動),MobileNetV1(量化),EfficientNetLite(浮動)和 EfficientNetLite(量化)。我們選擇“ mobilenet_v1_1.0_224”和“ efficiencynet-lite0”倆種模型。MobileNets是經典模型,而 EfficientNets 是最新的模型。所選的 EfficientNet(lite0)具有與 MobileNetV1 相當的速度,并且在 ImageNet 數據集上,EfficientNet-lite0 比 MobileNetV1 的精確度高 4%。
31.1 下載示例源碼
如果您沒有安裝 AndroidStudio,請參考本手冊“安裝 AndroidStudio”章節安裝 Android Studio 3.2 或更高版本。您需要最低 API 21 的 Android 設備和開發環境。
TensorFlow Lite 是一種用于設備端推斷的開源深度學習框架,官網提供了現成模型來供開發者使用,輸入網址 hTTps://tensorflow.google.CN/lite/examples?hl=zh-cn 打開中文官網,如下圖所示: ![]()
點擊“圖像分類”框圖中的“在 Android 設備上試試”,會彈出自述文件說明,這個文件會說明如何將APP 在 android 上測試,如下圖所示: ![]()
接下來將 TensorFlow 示例源代碼下載到您的電腦上,下載地址是:https://github.com/tensorflow/examples ,下載完成后得到 examples.zip 文件,迅為配套資料里面有下載好的,大家可以直接拿來用。 ![]()
31.2 構建 Android Studio 項目
在 AndroidStudio 中打開剛剛下載的 TensorFlow 源代碼,打開 AndroidStudio 選擇“Open an existingproject”,依次打開 examples/lite/examples/image_classification/android,如下圖所示:(注意存放源碼的路徑不能帶中文) ![]()
打開工程以后自動開始下載依賴庫,如下圖所示: ![]()
修改完以后,點擊“Sync Now”,如下圖所示: ![]()
編譯會出現如下圖所示的錯誤,這是在 download.gradle 文件中指示 gradle 下載示例中使用的幾個模型失敗,因為從國外下載比較不穩定,我們迅為已經替大家下載好了,大家可以直接使用。 ![]()
下載提供的 modules 文件里面的四個文件。然后將其拷貝到 AndroidStudio 的 assets 目錄下,如下圖所示: ![]()
修改完保存,點擊“Build”->Rebuild Project,重新編譯工程,如下圖所示: ![]()
編譯成功,如下圖所示。特別要注意的是在編譯前要配置好 AndroidSDK,至少需要 SDK 版本為 23。 ![]()
31.3 安裝并運行應用程序
將 ITOP-3399 開發板設備連接到電腦,連接 USB 攝像頭到開發板上,硬件連接如下圖所示: ![]()
我們要確保開發板里面燒寫了 android8 的系統,并且打開了開發者模式,并允許 USB 調試和設置 USB模式為文件傳輸模式(MTP 模式),然后選擇 Run -> Run app。我們在要安裝該應用程序的設備的連接設備中選擇部署目標(ITOP-3399 開發板),這將在設備上安裝該應用程序,首次運行該應用程序時,該應用程序將請求訪問相機的權限。重新安裝該應用程序可能需要您卸載以前的安裝。安裝成功如下圖所示: ![]()
我們以鼠標為例,將攝像頭對準鼠標,顯示已經將物品分類為鼠標,我們上滑箭頭,可以修改參數,如下圖所示: ![]()
![]()
|