使用 Google 的 Teachable Machine 進行影像分類
在本文中,您將瞭解機器學習、影像分類以及如何使用 Google 的 Teachable Machine 來訓練模型。
機器學習
機器學習是人工智慧 (AI) 的一個子集,用於開發模型和演算法,透過這些模型和演算法,我們可以使我們的計算機學習並做出決策,而無需對其進行顯式程式設計。這是一種有效的方法,可以教會機器從給定資料中學習並隨著時間的推移提高效能。計算機可以透過顯示場景的資料來學習任務並做出預測或找到任何模式,這些資料顯示了我們下一步應該採取什麼措施。
影像分類
影像分類是一種機器學習過程,透過該過程,我們將標籤分配給影像。這在計算機視覺領域非常流行。透過對影像進行分類,我們可以使用模型來識別物體、活動、影像和場景。影像分類用於各種任務,例如人臉識別、物體檢測。您可以在 Kaggle 平臺上檢視一些影像資料集。
Google 的 Teachable Machine
Google 的 Teachable Machine 為我們提供了一個基於 Web 的介面和工具,我們可以使用這些工具來訓練用於影像分類的機器學習模型。
我們使用這些工具來識別物體、影像、場景和聲音分類。此平臺為我們提供了訓練模型的功能,並將其匯出到本地系統中,或者我們也可以免費將其釋出到網上,以使用基於 URL 的伺服器架構。
使用 Google Teachable Machine 建立影像分類專案的步驟
要使用 Teachable Machine,您首先需要建立一個專案。要建立專案,我們將訪問 Google 的 Teachable Machine 網站並點選“開始”。
執行此步驟後,將開啟一個新視窗,其中將顯示三種專案型別:影像專案、音訊專案和姿勢專案。因此,我們想要建立影像分類模型,因此我們將選擇“影像專案”選項。它會詢問我們是否要使用標準影像模型或嵌入式影像模型,因此我們將選擇“標準影像模型”。此處,標準影像模型將建立 TensorFlow 和移動機器學習模型,而嵌入式模型將建立嵌入式系統(如微控制器)的模型。
下一步,我們將建立與我們的分類相關的不同類別。我們將必須為類別新增名稱並提供與該類別相關的影像。例如:我們想要建立“貓”類別,因此我們將提供貓的影像,類似地,對於“狗”類別,我們將提供與狗相關的影像。
在這裡,我們建立了“貓”和“狗”類別,您也可以根據需要新增更多類別。現在,我們將為此模型提供可訓練的影像。對於此模型,我透過瀏覽網站儲存了一些貓和狗的影像,並將其儲存在我的本地計算機的不同資料夾中。
現在,我們將使用“上傳”按鈕並使用該選項從檔案中選擇影像並上傳可用的貓和狗影像,我們將選擇所有影像檔案並上傳該特定類別的所有影像。例如,對於“貓”,我們將僅上傳與貓相關的影像,以便它能夠正確地標記影像。
從下圖中您可以看到,我們透過從檔案中選擇影像,將影像上傳到這兩個類別中。模型將標記在類名中給出的影像。
現在,我們將使用“訓練模型”按鈕開始基於提供的影像訓練模型。Teachable Machine 將自動生成模型。當我們從訓練選項中選擇“高階”下拉選單時,我們也可以單擊並自定義訓練要求,然後它將要求自定義“週期”、“批次大小”和“學習率”。
週期 - 一個週期意味著訓練資料集中每個樣本至少被輸入一次。例如,如果週期為 20,則模型將透過整個資料集訓練 20 次。因此,我們可以說更大的週期將更好地訓練模型以預測影像。
批次大小 - 批次大小是在一次迭代/遍歷中用於訓練的一組樣本影像。例如,我們有 50 張影像,我們的批次大小為 10,那麼它將被分成 50/10=5 次迭代。這意味著在一次迭代中,它將使用 10 張影像來訓練模型。所有 5 個批次完成後,將被視為 1 個週期的完成。
學習率 - 這是一個用於控制神經網路權重的超引數。
之後,我們將點選“訓練模型”選項,它將需要一些時間來開始訓練模型。
現在,它將提供透過將模型匯出到本地檔案來預覽模型的選項。為了檢查模型的工作原理,我們可以使用從檔案中選擇或使用相機選項的選項。因此,我選擇了“檔案”選項並選擇了一張狗的影像,它將預測輸出為“狗”。
從上圖中您可以看到,我們使用“從檔案選擇”選項選擇了狗的影像,它預測輸出為“狗”,置信度為 100%。
注意 - 如果我們對模型的效能不滿意,則可以繼續訓練模型,直到它預測得更好。訓練完成後,我們可以下載模型或使用連結。
以下是一些使用 Teachable Machine 的技巧 -
使用高質量的影像。我們應該為模型提供高質量的影像,影像質量越高,模型的效能就越好。
標記影像。我們應該使用正確的類別仔細標記我們的資料影像。
訓練我們的模型更長時間。正如您所瞭解的,週期數越多,模型的效能就越好。
頻繁測試我們的模型。我們應該執行模型測試以瞭解其效能如何,並且可以根據需要進行調整。
結論
因此,我們瞭解了使我們的計算機學習的機器學習,瞭解了我們可以使用影像分類訓練模型以識別物體的知識,並學習瞭如何使用 Google 的 Teachable Machine。此平臺使構建自定義影像分類的過程變得非常簡單。即使沒有廣泛編碼知識的人也可以建立自己的模型。我們可以標記影像、訓練模型並在 Python 應用程式中使用它來建立非常有效的影像識別系統。我們透過遵循這些過程看到了所有過程。我們建立了我們的模型,並使用一個示例檢查了模型的準確性。您也可以在此專案中新增更多類別,並提供與該特定類別相關的影像,這將作為其他標籤。使用 Google 的 Teachable Machine,我們還可以建立其他模型,例如基於音訊的模型,可用於構建語音識別應用程式,我們還可以建立基於姿勢的模型,可用於識別瑜伽或身體運動等不同的身體姿勢。因此,您學習瞭如何在沒有繁瑣的編碼過程的情況下建立自己的模型。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP