Azure 影像識別 (1)

教學目標

初步了解透過 Azure 雲端服務進行自訂視覺服務的基本概念。

重點概念

首先微軟推出自訂視覺的服務,其主要是一個 Microsoft 認知服務,能夠讓我們可讓您輕鬆快速地建置、部署及改善影像分類器,同時自訂視覺服務提供了 REST API 和 Web 介面供您上傳影像和訓練分類器。

接著我們要如何開始使用呢?一開始我們需要先登入至自訂視覺的服務官方網站,透過試用帳號將能夠免費建立二個專案,每專案 5,000 個訓練影像,以及使用 10,000 次預測影像 API ,但若是我們訓練影像超過 5,000 個或預測影像超過 10,000 次時,則建議使用付費專案

再來我們透過自訂視覺的服務操作主要有四個步驟,分別為:

  1. 上傳影像:上傳我們加上標籤的影像,或者上傳之後快速為無標籤的影像加上標籤。
  2. 訓練:使用我們加上標籤的影像,讓自訂視覺的服務學習我們想要的概念。
  3. 評估:使用簡單的 API 呼叫快速標記新的自訂電腦辨識模型中之影像,或者匯出自訂視覺模型,以利即時理解影像。
  4. 主動式學習:透過我們自訂視覺模型評估的影像會成為持續改進迴圈的一部分,以利我們用於持續改進分類器。

最後我們更能夠透過 Python 使用自訂視覺的服務 API 進行圖片的識別應用,請參考以下程式碼,我們實際上傳二萬張圖片進行另外二萬張圖片的分類預測,很可惜準確率僅能夠達到 80% ~ 90%,但是金額卻高達 1,000 元台幣,還好是試用期有 6,100 元台幣額度,若真的要實務應用可能還是自己建立影像識別模型比較適合吧!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from azure.cognitiveservices.vision.customvision.prediction import prediction_endpoint
from azure.cognitiveservices.vision.customvision.prediction.prediction_endpoint import models
training_key = "Training Key"
prediction_key = "Prediction Key"
project_id = "Project ID"
iteration_id = "Iteration ID"
predictor = prediction_endpoint.PredictionEndpoint(prediction_key)
predict_result = []
for n in range(0,10):
test_img_url = "需要進行進行預測的圖片網址"
results = predictor.predict_image_url(project_id, iteration_id, url=test_img_url)
max = 0
tag = ""
for prediction in results.predictions:
if prediction.probability>max:
max = prediction.probability
tag = prediction.tag_name
print(n)
predict_result.append([str(n),tag])
import pandas as pd
df = pd.DataFrame(predict_result)
df.to_csv("輸出預測結果的檔案路徑")
print("done")

相關資源