物件偵測模型與圖片標籤模型類似 指派標籤給整張圖片,而是為圖片區域指派標籤。你可以 運用物件偵測模型來辨識及定位圖像中的物體, 追蹤物件在一系列圖片中的移動情形。
如要訓練物件偵測模型,您必須提供一組 AutoML Vision Edge 圖像。AutoML Vision Edge 會使用這個資料集在雲端中訓練新模型,而這些模型可以用於 裝置端物件偵測。
,瞭解如何調查及移除這項存取權。事前準備
如果您還沒有 Firebase 專案,請前往 Firebase 控制台。
如果您只想試用 AutoML Vision Edge,而且沒有自己的訓練 請下載下列任一資料的範例資料集:
1. 組合訓練資料
首先,您必須整理一個含有標籤圖片的訓練資料集。保留 以下是一些要點:
圖片必須使用下列其中一種格式:JPEG、PNG、GIF、BMP、ICO。
每張影像的大小不得超過 30 MB。請注意,AutoML Vision Edge 會縮減資源 大部分的圖像。 提供高解析度的圖片
每個標籤至少加入 10 個 (最好有 100 個以上範例)。
為每個標籤加入多種角度、解析度和背景。
訓練資料應儘可能貼近要用來進行預測的資料。舉例來說,如果應用程式的用途需要 低解析度影像 (例如監視攝影機拍攝)、訓練資料 必須由模糊且低解析度的圖像組成。
AutoML Vision Edge 產生的模型已經過最佳化調整, 現實世界中的物體X 光、手繪、 掃描文件、收據等
此外,模型通常無法預測人類無法指派的標籤。所以 如果有人看了 1 到 2 秒的圖片無法指派標籤 可能也無法訓練模型
備妥訓練圖片後,請準備匯入 Google Cloud。您可以採用兩種方法:
選項 1:Cloud Storage 採用 CSV 索引
將訓練圖片上傳至 Google Cloud Storage ,並備妥列出每張圖片網址的 CSV 檔案,並視需要準備 每張圖片的正確物件標籤和邊界區域這個選項 適合使用大型資料集
舉例來說,您可以將圖片上傳至 Cloud Storage,並備妥類似下列的 CSV 檔案: 包括:
gs://your-training-data-bucket/001.jpg,accordion,0.2,0.4,,,0.3,0.5,, gs://your-training-data-bucket/001.jpg,tuba,0.2,0.5,,,0.4,0.8,, gs://your-training-data-bucket/002.jpg,accordion,0.2,0.2,,,0.9,0.8,,
物件定界框會指定為圖片中的相對座標。詳情請見 設定訓練資料 CSV 格式。
圖片必須儲存在 us-central1
區域的值區中,
在您的 Firebase 專案中對應的 Google Cloud 專案中。
選項 2:未加上標籤的圖片
為訓練圖片加上標籤,並在 Google Cloud 控制台。僅建議用於 請參閱下一步。
2. 訓練模型
接著,使用圖片訓練模型:
開啟 Vision 資料集 頁面Google Cloud。系統出現提示時,請選取您的專案。
按一下「新資料集」,提供資料集名稱,然後選取 接著按一下「建立資料集」。
在資料集的「Import」分頁中上傳訓練圖片 (ZIP 封存檔) 或包含 Cloud Storage 的 CSV 檔案 上傳這些地點的目的地詳情請見 組合訓練資料。
匯入工作完成後,請使用「Images」分頁驗證 訓練資料
如未上傳 CSV,請在每張圖片周圍繪製定界框 您想要辨識並加上標籤的物件
點選「訓練」分頁中的「開始訓練」。
為模型命名,並選取「Edge」模型類型。
調整下列訓練設定,控管效能 範例:
針對下列項目最佳化模型... 要使用的模型設定。您可以加快訓練速度,規模更小 較重要、低延遲或小型套件大小的模型; 速度較慢、較大,且準確率為最重要的模型。 節點時數預算 用來訓練 模型訓練時間越長,通常也越準確 模型
請注意,訓練可在指定的範圍內完成 判斷模型經過最佳化調整的時間 額外訓練也無法改善準確度系統會收費 實際使用時數
一般訓練時間 非常小集合 1 小時 500 張圖片 2 小時 1,000 張圖片 3 小時 5,000 張圖片 6 小時 10,000 張圖片 7 小時 50,000 張圖片 11 小時 100,000 張圖片 13 小時 1,000,000 張圖片 18 小時
3. 評估模型
訓練完成後,您可以按一下 [評估] 分頁標籤, 查看模型成效指標
這個網頁很重要的一點,就是要判定可信度門檻 找出模型的最佳選擇可信度門檻是指模型的可信度門檻 才能為圖片指派標籤移動可信度門檻 滑桿即可查看不同門檻對模型成效的影響。 模型效能利用「精確度」和「喚回度」這兩項指標來衡量。
就圖片分類而言,「精確度」是指數字的比率 並正確標示出模型已加上標籤的圖片數量 達到指定閾值如果模型的精確度較高 標籤出現錯誤的頻率降低 (減少偽陽性情形較少)。
喚回度是指正確加上標籤的圖片數量比例 內容中,模型應能加上標籤的內容圖片數量。時間 模型喚回度高,未能降低指派標籤的頻率 。
至於要針對精確度或喚回度進行最佳化,則取決於您的用途。詳情請見 AutoML Vision 初學者指南和 多元包容的機器學習指南 - AutoML,瞭解更多資訊。
發現可信度門檻會產生可接受的指標時, 並記下來請使用可信度門檻來設定模型 應用程式。(你隨時可以使用這項工具取得適當的門檻值)。
4. 發布或下載模型
如果您對模型的成效感到滿意,並想在應用程式中使用, 我們提供三個選項,您可以選擇任意組合: 以便進行線上預測、將模型發布到 Firebase,或是下載 並與您的應用程式整合
部署模型
在資料集的「測試與使用分頁,您就能在線上部署模型 預測模型在雲端執行模型這個選項會在 Cloud AutoML 說明文件。 文件處理其餘兩個選項
發布模型
將模型發布至 Firebase 之後,您就能在不發布的情況下更新模型 新的應用程式版本,且您可以使用 Remote Config 和 A/B Testing 執行下列操作: 為不同的使用者群組動態提供不同的模型。
如果您選擇僅透過 Firebase 託管模型,而非 就能縮減應用程式的初始下載大小。 不過請注意,如果模型未隨附於您的應用程式 您的應用程式必須下載 首次訓練模型
您可以使用下列兩種方法之一來發布模型:
- 從資料集的 Test &網頁使用 Google Cloud控制台,然後將模型上傳到 Firebase 控制台的「自訂模型」頁面。這通常 是發布單一模型的最簡單方法
- 使用以下方式,將 Google Cloud 專案中的模型直接發布至 Firebase Admin SDK您可以使用這個方法批次發布多個模型,或 您可以建立自動化發布管道
使用 Admin SDK 模型管理 API 發布模型的步驟如下:
發布模型。
您必須指定模型的資源 ID,即字串 如下所示:
projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
PROJECT_NUMBER
含有Cloud Storage 模型這可能是你的 Firebase 專案或其他Google Cloud 專案。您可以在 Firebase 控制台或 Google Cloud 控制台資訊主頁。 MODEL_ID
從 AutoML Cloud API 取得的模型 ID。 Python
# First, import and initialize the SDK. # Get a reference to the AutoML model source = ml.TFLiteAutoMlSource('projects/{}/locations/us-central1/models/{}'.format( # See above for information on these values. project_number, model_id )) # Create the model object tflite_format = ml.TFLiteFormat(model_source=source) model = ml.Model( display_name="example_model", # This is the name you will use from your app to load the model. tags=["examples"], # Optional tags for easier management. model_format=tflite_format) # Add the model to your Firebase project and publish it new_model = ml.create_model(model) new_model.wait_for_unlocked() ml.publish_model(new_model.model_id)
Node.js
// First, import and initialize the SDK. (async () => { // Get a reference to the AutoML model. See above for information on these // values. const automlModel = `projects/${projectNumber}/locations/us-central1/models/${modelId}`; // Create the model object and add the model to your Firebase project. const model = await ml.createModel({ displayName: 'example_model', // This is the name you use from your app to load the model. tags: ['examples'], // Optional tags for easier management. tfliteModel: { automlModel: automlModel }, }); // Wait for the model to be ready. await model.waitForUnlocked(); // Publish the model. await ml.publishModel(model.modelId); process.exit(); })().catch(console.error);
下載和並將模型與您的應用程式
將模型與應用程式搭配使用,就能確保應用程式的機器學習功能 Firebase 託管的模型無法使用時仍能正常運作。
如果您同時發布模型並與應用程式組合,應用程式會使用 可以使用最新版本。
如要下載模型,請在資料集的「測試並點擊」部分,點選「TF Lite」用途網頁。
後續步驟
您已發布或下載模型,接下來請瞭解如何使用模型 。iOS+ 和 Android 應用程式。