用AutoML Vision alpha構建ML模型:識別不同型別的椅子

格伯納發表於2018-07-17

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


本文將會使用AutoML Vision alpha來構建和部署一個機器學習模型,從原始資料收集到服務模型,以及介於兩者之間的一切!該模型可識別不同型別的椅子,以及其他一些專案,以便我們進行更好的測量。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


許多人一直在呼籲要訪問AutoML Vision alpha,我們稍微瞭解一下工作流程,告訴你如何使用它,即使你尚未獲得等候名單。

那麼......什麼是AutoML?

用AutoML Vision alpha構建ML模型:識別不同型別的椅子

Cloud Vision API可以識別椅子,但它在識別別的方面也是通用的

使AutoML如此引人注目的一個原因是自定義模型。現有的模型和服務(如Cloud Vision API)可以識別給定的圖片中是否有一張椅子,但是如果您是設計和製造椅子的,並且需要一種方法來對庫存中各種品牌的椅子進行分類,那該怎麼辦?如果能夠使用“自定義”視覺API,也就是說可以識別特定的椅子,那就完美了。這也是AutoML Vision的目標。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子

這是一個黃色的椅子

用AutoML Vision alpha構建ML模型:識別不同型別的椅子

這張圖片有更多的椅子

AutoML Vision會將許多標記的照片作為輸入。 這時候可能有人要問有多少張照片?理想情況下,每個物件大約有數百個是好的。所以現在可以走出去開始拍照,如果您厭倦了點選該快門按鈕,您可以嘗試我一直在使用的替代方法。

拍照 - 用視訊的那種!

為了更容易為AutoML Vision捕獲資料,我通過捕獲我感興趣的椅子的視訊來收集我的訓練資料,然後使用ffmpeg來提取幀。

作者拍了一些各種不同的戶外椅子的視訊。同時還拍了一些關於它們放置的桌子的視訊,以及一輛自行車,這只是為了讓事情更有趣。

我們一起來看看這段錄影的例子。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


用AutoML Vision alpha構建ML模型:識別不同型別的椅子


在這個視訊裡有不同形狀、風格和顏色的椅子。但沒有視訊長度超過30秒。短片中有一張桌子,還有一個自行車,這是我們將要研究的資料。

拆分視訊

我們想要的最終狀態是一個CSV檔案,每個影像有一行、兩列,第一個用於在Google雲端儲存中定點陣圖像,第二個用於標籤,如“紅色椅子”或“表格” ,或'藍色椅子'。

為了便於整理,將每個視訊都放入自己的資料夾中。然後我們可以依次在每個視訊檔案上執行ffmpeg。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


提取幀後,每個標籤都會有一個資料夾,其中包含該標籤的影像。這是組織影像的一種方便的方法,並且比擁有所有影像的一個大型資料夾更簡單。

接下來,我們可以使用gsutil將影像上傳到Google雲端儲存,每個標籤複製一個資料夾的資料夾結構:

構建資料

AutoML需要一種方法來了解在哪裡可以找到所有照片以及每張照片中的物件。我們需要建立一個CSV檔案,列出希望包含在資料集中的每個影像的標籤。有很多方法可以實現這一點,但這裡選擇啟動本地的Jupyter筆記本並建立一個Pandas資料幀以匯出為CSV檔案。

好的,現在我們有一個CSV檔案描述我們資料集中所有影像的位置和標籤。我們準備訓練我們的模型!

這就是將影像載入到AutoML Vision後的樣子。 CSV檔案已通知平臺每張影像的正確標籤。如果您沒有標記您的影像,那沒關係,UI中內建了工具,可以幫助指導您完成標記過程並顯示哪些影像仍然沒有標記。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


第2部分:訓練和部署AutoML Vision

訓練模型

這就是我們一直在做的所有設定,它使AutoML Vision能夠獲取資料並在最先進的影像模型上訓練您的資料,自動找出適當的超引數,如網路結構。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


但在你開始嘗試更高階的模型之前,我建議先從簡單的模型開始,然後看看它的表現如何。這將為您提供一個基線,您可以根據該基線來比較其他模型的相對效能。

訓練開始後,你可以去散步,或者喝咖啡。至於花費的時間需要具體考慮我們的資料量。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


評估您的模型

一旦訓練完成,您將獲得有關您的模型的各種統計資料,您可以使用它來檢視其執行情況以及是否有一些影像被錯誤標記,或者其他方面是否值得更正,然後進行再訓練。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


在我們的案例中,由於我們通過設計收集了非常具體、乾淨的資料,因此我們得到了一些非常高的指標。然而,真正重要的是它如何在新的、看不見的資料上執行。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


預測時間!

作者拍了一些照片放到模型中,看看他會返回給我們什麼。

讓我們試試這張包含自行車以及黃色和藍色的椅子的圖片。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


結果影像被認為主要是自行車,但它也有一點黃色和藍色的椅子,它們處於背景中,並且在這張照片中的突出特徵不那麼突出。

那我們再試試另一個吧。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


這張照片大多的大部分是黃色的椅子,但也有藍色的椅子的一部分。這個模型判斷它主要是黃色的椅子,還有一把藍色的椅子。

那麼,我們再看看這張主要是藍色椅子的照片怎麼樣?

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


是的,那顯示的主要是藍色的椅子,還有一些桌子,有趣的是,還有一點黃色的椅子,這是意料之外的。並非所有事情都是完美的,但到目前為止,最佳選擇已被證明是非常好的。

最後,這張照片怎麼樣,與最後一張非常相似,但前排座椅是黃色的?模型會如何判別呢?

用AutoML Vision alpha構建ML模型:識別不同型別的椅子


哇,前排的黃色椅子可是佔據了大片時間!嘗試在模型和資料集中找到差距,可以更好地瞭解如何根據您的用例收集更強大、更具代表性的資料,這非常有趣。

結束

值得指出的是,此時,可以通過其REST API呼叫該模型。該服務利用Cloud ML Engine的線上預測功能,提供定製的自動縮放預測服務,並對我們的資料集進行培訓。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子

您可以從任何伺服器或連線網際網路的裝置通過REST API呼叫您的服務

關於這一切的巧妙之處在於,一旦您的資料管道全部完成,那麼訓練和部署機器學習模型的過程完全是免費的!這使您可以專注於使資料處於良好狀態,並避免構建合適的計算機視覺機器學習模型的挑戰。

用AutoML Vision alpha構建ML模型:識別不同型別的椅子

請注意模型名稱下方的自動部署的註釋

現在,如果你能原諒我,我會去拍更多彩色椅子的視訊,這樣我就可以擴充套件我的AutoML Vision模型的資料集了!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31509949/viewspace-2157998/,如需轉載,請註明出處,否則將追究法律責任。

相關文章