2018 年 8 月

第 33 卷 8

本文章是由機器翻譯。

人工智慧-探索 Custom Vision Service

藉由Frank La La |2018 年 8 月

Frank La Vigne更酷炫的認知服務 Microsoft Azure 中可用的其中一個是自訂視覺服務,可讓使用者輕鬆地建立自訂電腦視覺模型。傳統上,定型的影像分類器需要數千個,如果不是成千上萬個,每個類別產生模型精確度足以供實際使用的映像。此外,您也會需要悉類神經網路的機制。Custom Vision Service 提供簡單易用的 Web UI 遮罩基礎複雜度。

更棒的是,自訂視覺服務可以建立非常精確的自訂映像分類器儘量減少為 15 或 20 個映像,每個類別,雖然文件建議最少的每個類別 50 的映像。一般而言,多個訓練影像改善品質的影像分類器。Custom Vision Service 也會公開透過 REST API 來簡化部署這些模型的定型的模型。

Build 2018 大會的專題演說示範其中牽涉到 unmanned 空照圖車輛或經過一系列的管道來偵測缺失和維護問題要飛往無人機。在示範中,無人機進行串流處理回到膝上型電腦從其攝影機的視訊。膝上型電腦會評估針對定型的自訂視覺模型,警示在管道中看到任何瑕疵品的無人機運算子的映像。在本文中,我將模擬類似的人工智慧 (AI)-擴增維修偵測問題的定型資料軌的模型。若要這樣做,我將探索自訂視覺服務,並示範新增任何應用程式或網站的自訂映像分類是多麼容易。

來源映像上定型

使用 Custom Vision Service 中建立電腦視覺模型牽涉到三個簡單步驟:

  1. 上傳一組映像並將其標記。
  2. 訓練並訓練按鈕上的 [產生模型。
  3. 使用 REST Api 的 Web 介面來評估模型的效能。

它是實際上也容易上手。但是,必須特別注意,當您開始來源上用來定型模型的映像。

最近的客戶示範,我收集一系列的訓練資料軌的映像透過網際網路。這些映像包含一般的定型資料軌以及具有嚴重的缺失。儘量減少為 30 的映像,我才能夠產生的自訂視覺模型,來偵測追蹤缺失,大約 80%的簡報一部分的精確度。為令人印象深刻,在可能是,我很快速地向客戶需要任何用於生產環境映像分類模型定型的影像會追蹤在各種不同的光源狀況,角度,依此類推。此分類資料的多樣性降低隔離訓練映像,就會造成結果的破壞的正確功能的演算法。

沒有傳統,且可能需訓練類神經網路的常識,警告故事。圖例會說明項目在 1980 年代的研究人員所面臨的時機美國軍隊決定訓練類神經網路來偵測槽。根據報導,類神經網路非常適合執行針對測試資料,做為實驗的一部分。不過,類神經網路提供新的映像分類,當它執行太。

研究人員已 dumbfounded,直到他們卻發現,包含槽的所有映像必須已採取 overcast 的天數,而缺乏槽的所有映像進行名的晴天數。類神經網路會分隔兩個類別的相片,並選擇來區別兩個集合根據天空的色彩,而不是一個儲存槽存在。很明顯地,這是不軍隊需要的內容。油槽偵測劇本完整探索,您可以簽出 Neil Fraser 原始寫入向上bit.ly/2llxudb,但他的文章的這個部分是值得加註引號於此處:

「 很完美圖例中的類神經網路背後的最大問題。多個數十個神經元任何自動定型的 net 是幾乎很難分析,並了解。其中一個無法分辨是否 net 已記下輸入,或者 '作弊' 以其他方式。 」

雖然文章上次更新 2003年中,這句話仍會保留,則為 true 今天。若要深入了解複雜的類神經網路的內部運作方式進行工作,但這項工作正在進行中,幾乎不超出其成熟階段。包含定型資料的不同的組的來源資料目前是最佳做法。這有助於區分根據正確的變數的映像的演算法。

若要避免映像著作權的問題,我決定利用本文中我的孩子大型玩具訓練追蹤集合。這也可讓我建立定型集和快速測試影像。我已經採取 34 的映像,並將它們分割成三個名為中斷、 Normal 和測試的資料夾。映像,包含 「 已中斷 」 的定型資料軌會在中斷的資料夾中,並使用連續資料軌的映像位於一般資料夾。我隨機已選擇一系列上測試模型的映像,並且將它們放在 [測試] 資料夾。與我原始碼映像選取],標示為,就可以開始建立模型。

 

建立模型

在瀏覽器中,我會移至 customvision.ai,然後按一下 [登入] 按鈕,以我的 Microsoft 帳戶登入。登入之後,我按一下新的專案,以建立新的自訂辨識專案。

在接下來對話方塊中,我輸入 「 玩具 Train"專案名稱和專案的簡短描述。我保留為有限的試用版,預設值的下拉式清單中的資源群組,並確定選項按鈕適用於專案類型,分別設定為分類 」 和 「 一般 」 網域。接下來,我按一下 [建立新的自訂辨識專案的 [建立專案] 按鈕。[圖 1會顯示這些設定。

建立新的 [專案] 對話方塊
[圖 1 建立新的 [專案] 對話方塊

上傳影像

一旦建立專案時,網站會提示您上傳映像。我按一下 [新增映像,並在下列對話方塊中按一下 [瀏覽本機的檔案,以找出要上傳的映像。首先,我將影像上傳中斷的資料夾中選取 [全部瀏覽對話方塊中按一下 [開啟。在影像下方文字方塊中,我可以輸入詞彙中斷,再按一下藍色的加號,以中斷的標籤為映像。然後,我會按一下 [上傳] 按鈕上, 傳 15 的映像。此步驟中所示**[圖 2**。接下來,我按一下 [完成] 以完成此步驟。

已加上標籤的中斷的追蹤映像
[圖 2 標記中斷的追蹤映像

既然中斷的定型資料軌的映像上傳時,就可以上傳的正常資料夾中的映像。若要這樣做,我可以按一下左上方的窗格上的圖示,以在其上的加號。此按鈕會反白顯示**[圖 3**。我可以重複上述步驟來上傳輸入映像,不過這次我選擇映像中的一般資料夾和標籤標籤標準映像。我按一下 [上傳] 按鈕,將此映像,然後按一下 [完成] 以關閉對話方塊。

定型資料中加入更多的影像
[圖 3 定型資料中加入更多的影像

這些範例映像上傳和標記,它是以定型和測試模型的時間。

定型模型

頁面頂端沒有 gears 在其上的綠色按鈕。我按一下它來定型模型,以與目前標記的映像。需要一點時間之前完成定型且網頁傳回的模型中所示的效能度量**[圖 4**。

定型的結果和效能計量
[圖 4 訓練結果及效能計量

顯示的兩個主要度量是模型的精確度與回收。有效位數表示頻率為預測的結果正確,而重新叫用測量的情況下,預測的標籤是正確的頻率百分比。換句話說,重新叫用指示當正確的答案是 「 中斷,"頻率的模型會預測 「 中斷 」。 如混淆矩陣術語的進一步說明,請在讀取 < 簡單指南來混淆矩陣詞彙 」 bit.ly/2IbRoAi

測試模型

現在就可以開始測試以查看模型程度將會執行當您看到新的映像的映像上測試模型。立即綠色訓練] 按鈕的右邊,沒有標記為快速測試的按鈕。按一下這個以顯示 [測試] 對話方塊,然後按一下 [瀏覽本機檔案按鈕,以顯示檔案上傳] 對話方塊。我可以使用此對話方塊來選取映像,在 [測試] 資料夾,然後按一下 [上傳檔案的開啟。隨後,演算法會在評估映像之後顯示其結果。[圖 5顯示此映像已正常的追蹤,以及正在損毀的機率約為 60.2%機率約為 79.2%。請記住,此專案中,一般表示追蹤記錄是不中斷,或連續。

一組連續的追蹤記錄的快速測試對話方塊
[圖 5 快速測試對話方塊中的一組連續的追蹤

我再次執行測試使用另一個映像的中斷的追蹤,再按一下 [瀏覽本機檔案] 按鈕。這次我選擇中斷的一份追蹤的映像。模型報告 95.9 的機會是百分此中斷的追蹤和只 11.2%正在正常播放軌的機會。在 [測試] 資料夾,以了解此模型也會在其中執行的才能夠識別追蹤的正確狀態的問題中測試出模型檔案的其餘部分。

進行進一步的實驗,我可以在網際網路上執行映像搜尋和複製映像 URL 並將它貼到文字方塊中,測試 UI 上。這些映像到底在說明從不同角度和光源狀況與定型集中的映像不同的是不同的介面上的定型資料軌。這會提供如何類神經網路工作的觀點以及各式各樣的範例資料為何如此重要的生產就緒模型成功。下列三個 Url 指向我在線上找到一些範例映像 (請注意,模型如何分類每個映像):

此外,最好了解分類器時指定映像,其範圍外的行為。比方說,如何將此分類器,可用來判斷玩具訓練追蹤的狀態、 指定 neon 正負號的映像時,運作?這就是負的映像處理,以及有效的模型有預測接近零,在這些情況下的值。若要測試看看,我必須輸入下列 URL 在文字方塊中: http://datadriven.tv/wp-content/uploads/2018/05/50k.png。我的預測模型產生 1.7%,適用於標準和中斷的 0%的結果。

再進一步…

基於此範例的詳細資訊,我建立了兩個類別的影像分類系統,其中模型只需要為中斷的 「 玩具 」 訓練追蹤或標準模式的標籤映像。不過,我可以建立更複雜的模型。目前,自訂視覺服務 S0 (標準) 層可支援最多 250 個唯一的標記,這表示它可以在分類 250 不同的標籤進行訓練。此外,服務可以處理最多 50,000 個映像,每個專案。

此外,Custom Vision Service 所產生的模型可以匯出,以在邊緣運算裝置,而且不會依賴雲端服務的存取權。這表示我可以載入到裝置上的模型,分類在離線映像。目前,Custom Vision Service 支援三種格式匯出模型:TensorFlow 適用於 Android 的裝置,CoreML,為 iOS 裝置和 ONNX 的 Windows 裝置。此外,Custom Vision Service 可以建立 Windows 或 Linux 的容器,其中包含 TensorFlow 模型和程式碼來呼叫 REST API。如需匯出模型,以在邊緣裝置上執行的更多詳細資料請務必參考文件,網址bit.ly/2K4ibjL

在本文中,我示範了開始使用 Custom Vision Service,並使用一組有限的定型資料的電腦視覺模型建置是多麼容易。這項技術的潛在的用途之一就是壅塞的從流量相機存取影像資料,並定型模型來偵測不同層級僅根據該資料。先前,自動化這類工作會令人怯步,因為它需要專業的知識和大量加上標籤的定型資料。不過,Custom Vision Service 會將最新的類神經網路技術結合簡單易用介面來建立一種工具,會開啟到更廣泛使用的機器願景。


Frank La Vigne適用於在 Microsoft 擔任他能協助公司 AI 技術解決方案專業人員達成更充分運用其資料與分析和 AI。他也共同主機何處播客。定期在他的部落格FranksWorld.com您可以觀賞他在他的 YouTube 頻道,"Frank 的世界電視 」 (FranksWorld.TV)。

感謝閱本篇文章的下列技術專家:Andy Leonard 和 Jonathan Wood


MSDN Magazine 論壇中的這篇文章的討論