語雀知識庫:https://www.yuque.com/seanyu/azure/customvision
公眾號:
什么是自定義視覺(Custom Vision)什么是自定義視覺(Custom Vision)
自定義視覺是一種認知服務,用於生成、部署和改進自己的圖像分類器。自定義視覺允許你確定要應用的標簽,比如要對一組水果進行識別,你需要對待檢測的水果打上諸如“蘋果”“香蕉”“草莓”的標簽。
作用
自定義視覺服務使用機器學習算法為圖像應用標簽。 你作為開發人員必須提供多組圖像(例如蘋果,香蕉,草莓),其中包含或缺少相關的特征。 請在提交時自行標記圖像(標記該水果是香蕉還是蘋果), 然后,此算法會針對該數據進行訓練並計算其自己的准確度,方法是針對這些相同的圖像自行進行測試。 訓練算法以后,即可對其進行測試、重新訓練,並最終使用它根據應用的需求對新圖像分類。 也可導出模型本身,方便脫機使用。
分類和對象檢測
可以將自定義視覺功能分為兩種功能。 圖像分類可將一個或多個標簽應用到圖像。 對象檢測與之類似,但還在圖像中返回坐標,坐標中可以找到應用的標簽。
優化
自定義視覺服務經過優化,可以快速識別圖像之間的主要差異,因此你可以使用少量數據開始原型制作。 開始時,每個標簽通常可以包含 50 個圖像。 此服務不適用於檢測圖像中的細微差異(例如,在質量保證方案中檢測細微裂紋或凹陷)。
另外,可以從多種自定義視覺算法中進行選擇,這些算法已針對包含某些主題內容(例如特征點或零售商品)的圖像進行了優化。
案例-使用自定義視覺實現識別是否戴口罩
1.在Azure Portal創建自定義視覺
選擇自定義視覺進行創建,注意,目前自定義視覺僅在Global Azure可用。
訓練和預測盡量選擇最靠近最終使用位置的區域。
2.在自定義視覺門戶創建“對象檢測”項目
創建完成后,點擊自定義視覺門戶進入控制台。
點擊新建項目,創建一個“對象檢測類型的項目”
3.在自定義視覺的Portal上傳大於100張圖片,其中50張戴口罩,50張不戴口罩
注: 本案例中的圖像均來自互聯網。
對圖像的一些基本要求:
為了有效地訓練模型,請使用具有視覺多樣性的圖像。 選擇在以下方面有所不同的圖像:
- 照相機角度
- 照明
- background
- 視覺樣式
- 個人/分組主題
- size
- type
此外,請確保所有訓練圖像滿足以下條件:
- .jpg、.png、.bmp 或 .gif 格式
- 大小不超過 6 MB (預測圖像不超過 4 MB)
- 最短的邊不小於 256 像素;任何小於此像素的圖像將通過自定義影像服務自動縱向擴展
4.在Portal上對圖片進行標記,標記為戴口罩和不戴口罩
添加“mask”和“nomask”兩個Tag
依次點擊未標記的圖像,在口罩部位(建議保留耳朵,眼睛,鼻子等特征)標記“mask”或“nomask”;
標記完成一張后,點擊右側的翻頁箭頭直至所有圖像都標記完成。
5.進行訓練
點擊訓練按鈕,開始訓練。
評估檢測器
完成訓練后,將計算並顯示模型的性能。 自定義視覺服務使用提交用於訓練的圖像來計算精度、召回率和平均精度。 精度和召回率是檢測器有效性的兩個不同度量值:
- 精確度(Precision )表示已識別的正確分類的分數 。 例如,如果模型將 100 張圖像識別為狗,實際上其中 99 張是狗,那么精確度為 99%。
- 召回率(Recall )表示正確識別的實際分類的分數 。 例如,如果實際上有 100 張蘋果的圖像,並且該模型將 80 張標識為蘋果,則召回率為 80%。
概率閾值
請注意“性能”選項卡左窗格上的“概率閾值”滑塊 。這是預測被視為正確時所需具有的置信度(用於計算精度和召回率)。
當使用較高的概率閾值來解釋預測調用時,它們往往會以高精度返回結果,但以召回率為代價 — 檢測到的分類是正確的,但許多仍未被檢測到。 使用較低的概率閾值則恰恰相反 — 實際分類會被檢測到,但該集合內有更多誤報。 考慮到這一點,應該根據項目的特定需求設置概率閾值。 稍后,在客戶端接收預測結果時,應使用與此處所用概率閾值相同的概率閾值。
管理訓練迭代
每次訓練檢測器時,都會創建一個新的迭代,其中包含其自身的已更新性能指標 。 可以在“性能”選項卡的左窗格中查看所有迭代 。在左側窗格中,還可以找到“刪除”按鈕,如果迭代已過時,可以使用該按鈕刪除迭代 。 刪除迭代時,會刪除唯一與其關聯的所有圖像。
6.測試訓練結果,如果不滿意,適當增加圖片進行標記后訓練
7.發布
選擇預測資源進行發布
8.使用Postman測試
獲取預測資源信息
在Postman中測試
檢查預測結果