EasyEdge是百度基於Paddle Mobile研發的端計算模型生成平臺,能夠幫助深度學習開發者將自建模型快速部署到裝置端。只需上傳模型,最快2分種即可生成端計算模型並獲取SDK。本文介紹EasyEdge生成端計算模型,並整合到手機APP的流程。
採用模型:基於MobileNet 的SSD模型
SSD使用一個卷積神經網路實現“端到端”的檢測:輸入為原始影象,輸出為檢測結果,無需藉助外部工具或流程進行特徵提取、候選框生成等。
開啟百度APP,檢視更多高清圖片
採用資料集:PASCAL VOC
PASCAL VOC挑戰賽是視覺物件的分類識別和檢測的一個基準測試,提供了檢測演算法和學習效能的標準影象註釋資料集和標準的評估系統。
PASCAL VOC圖片集包括20個目錄:
人類; 動物(鳥、貓、牛、狗、馬、羊);
交通工具(飛機、單車、船、公共汽車、小轎車、摩托車、火車);
室內(瓶子、椅子、餐桌、盆栽植物、沙發、電視)。
這些類別在label_list檔案中都有列出來,但這個檔案中多了一個類別,就是背景(background)
在AI Studio 進行訓練得到預測模型和引數:
1 EasyEdge端計算模型生成流程
1.1上傳深度學習模型
在目錄【上傳原模型】中:
1) 填寫模型名稱
2) 依次選擇模型型別、模型框架、網路模型
對應關係如下:
網路引數檔案:mobilenet-ssd-final-model
網路結構檔案:mobilenet-ssd-final-params
模型標籤:label_list
4) 自定義分組並描述模型功能
5) 提交上傳
模型上傳成功後,可以在【我的模型】中看到上傳的模型。
1.2 生成端計算模型
成功上傳模型後,在目錄【生成端模型】中:
1) 選擇模型
2) 選擇並新增“晶片/硬體”、“作業系統”的組合,支援新增多種組合
3) 如需SDK支援離線上混合,需勾選同意EasyEdge在雲端加密部署模型
4) 開始生成模型
1.3 獲取離線SDK
1.4 啟用離線SDK
2) 選擇鑑權方式:如需開發APP可選擇按產品線鑑權,否則需按裝置鑑權
按單臺裝置獲得授權並使用SDK時:
Android或iOS作業系統的SDK可以選擇按產品線啟用,序列號與包名(Package Name/Bundle ID)繫結:
4) 用新增的序列號啟用之前下載的SDK
2 整合到手機APP
開發平臺:Android Studio 2.3
安卓虛擬機器:Genymotion 2.7.2
測試平臺:Android 9.0
2.1替換申請的序列號
2.2新增依賴:
執行虛擬機器如報如下錯誤:
解決辦法:
在同個build.gradle(app)頁面,android{}中新增:
splits {
abi {
enable true
reset()
include 'x86','x86_64'
universalApk true
}
}
2.3手機測試效果
3.意見建議
整體效果不錯,優勢在於生成模型非常快捷,整合也很方便。當然也有需要改進的地方,本次採用的物體檢測SSD模型,SDK大小在25M,如生成的SDK能夠進一步壓縮,進而能減少APP的大小。
舉報/反饋