iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0
AI & Data

AI平台初學者工作坊: 從training、tracking到serving系列 第 26

口罩臉孔資料集的標註、資料前處理與資料擴增

我們已將資料集上傳到 nilvana 的 Vision Studio 中, 也知道標註格式的種類與基本內容, 這篇我們來執行標註、資料前處理與資料擴增.

資料標註

標註方式可分為機器標註與人工標註,Vision Studio 的機器標註提供半自動標註及全自動標註兩種

  • 全自動標註: 載入內建或者訓練出來的模型, 就由系統完成所有的標註工作, 適用情境是對該模型的準確度有信心時, 例如在相同情境下已使用過相同模型執行標註且標註的結果符合預期. 全自動標註會直接進行標註作業, 就像親自手工標註一樣.
  • 半自動標註: 載入內建或者訓練出來的模型, 系統會將標註結果以等待確認的方式呈現(以虛線呈現), 然後再由人工方式確認系統所標註的結果(確認後的結果以實線呈現),只需要檢查並點擊進行微調,即可完成標註工作。 適用情境是當資料集或演算法是新採用的情況, 那先由系統做初步的標註再由人工方式確認可以節省時間.
  • 人工標註:不經由機器協助進行標註,以人工方式進行標註,這個方法的標註結果最為準確,但也相對需要耗費較多人力
    • Nilvana 的 Vision Studio 支援多人即時標註,可直接於系統中進行多人協作,省略資料傳遞與合併的流程,管理者能即時掌控所有標註狀況,也能即時與協作者進行討論,更便利於確認標註結果,藉此提升標註品質

接下來回到Nilvana的Dataset頁面, 請點擊下圖的Machine Annotation按鍵
https://ithelp.ithome.com.tw/upload/images/20211009/201407922Xqe05QNd3.png

在下圖中, 我們擇選中間的tabBuilt-in Models, 表示我們要使用內建模型. 內建模型大部份是基於開放資料集,並經過驗證與調教訓練而成,包含:

  • 口罩偵測模型:提供口罩的穿戴驗證,包含有戴口罩沒戴口罩口罩穿戴不正確三種類別。
  • COCO 80 模型:透過 COCO (Common Object in Context) 資料集訓練而成,涵蓋較常使用的 80 種物件類別,例如 car, dog, cat, bus, bicycle, motorcycle 等。

在這個步驟中, 我們選擇Face Mask(口罩偵測模型), 再點擊apply

https://ithelp.ithome.com.tw/upload/images/20211009/20140792g9MwC2wSQV.png

接著要選擇執行全自動標註還是半自動標註, 這裡我們選全自動標註Automatic Annotation
針對Minimum Score Threshlod, 可以左右拉動最小機率門檻值做設定, 數值越大則誤判機會越小, 但可能會漏掉一些物件.
然後進行確認要標註的標籤, 在我們的範例中, 被標註為有戴好口罩的數量有2588, 沒有正確戴口罩的數量有110, 而沒有戴口罩的數量有484, 我們把這三個checkbox都勾起來.

然後也再點擊save

https://ithelp.ithome.com.tw/upload/images/20211009/20140792P3HRiBthHr.png

然後即可看到自動標註後的結果, 如下圖紅框處

https://ithelp.ithome.com.tw/upload/images/20211009/20140792koKP4G73Iw.png

建立版本

完成資枓標註之後, 以目前的圖檔建立一個新的版本, 版本名稱為1.0.0, 圖檔數量為677張, 如下圖所示. 但目前的圖檔版本品質為二格, 品質屬於尚可(fair), 因此接下來我們來(1)加入更多圖檔, (2)使用資料前處理與資料擴增技術增加資料集的品質

https://ithelp.ithome.com.tw/upload/images/20211009/20140792kZH8hNklBc.png

增加圖檔資料

為了增加圖檔品質, 其中一種方式是增加圖檔, 上傳圖檔的方式請參考Day24的內容.
增加圖檔後, 圖檔的數量增加為1112張, 並且將版本命名為2.0.0, 如下圖所示.
但增加了圖檔數量之後並沒有增加圖檔品質, 圖檔品質仍屬於尚可(fair).

https://ithelp.ithome.com.tw/upload/images/20211009/20140792yWZn66yOaC.png

資料前處理與資料擴增

前述增加圖檔數量之後並沒有增加圖檔品質, 因此接下來要執行資料前處理與資料擴增, 預期資料品質會提高.

  • 資料前處理
    一般來說,模型學習時的圖片尺寸大小與推論時的尺寸一致,會有較好的辨識結果。但搜集資料的過程中,往往會因為擷取影像的設備、環境等不同原因,導致蒐集到的每張圖片大小、長寬比例都不一樣。而且適當的調整圖片尺寸,也有助於減少訓練的時間以及提升推論的速度。
    Nilvana Vision Studio 提供 Resize 與 Modify Classes 等項目,在進行圖片尺寸及類別格式統一更便利,能為模型訓練及模型推論帶來許多幫助
  • 資料擴增
    當擁有的資料有限時,可以透過資料擴增的方式增加資料的多樣性及數量,較常見的方式是將資料進行左右翻轉、色調調整、角度調整等等,舉例來說,圖片中的鳥做了左右翻轉或色調調整後,依舊還是圖片中的鳥,但對於演算法來說,調整過後的資料都是新的資料,等於是提供了更多資料讓機器進行學習,可以為訓練模型時帶來幫助,增加訓練出來的模型可用性。順帶一提,進行資料擴增時,較少使用上下翻轉的方式,因為上下顛倒的影像於現實世界中較少出現,因此這種方法對於訓練模型時較無幫助

資料前處理與資料擴增是OpenCV的專長

資料前處理

接下來我們使用Nilvana來做resize. 首先在下圖中選擇Versions頁籤, 然後點擊Preprocessing的Add

https://ithelp.ithome.com.tw/upload/images/20211009/201407926THaRln4oI.png

然後在下圖選擇Resize, 並且在右側的下拉式選單選擇Black Edge, 表示我們要影像檔固定為同一個size(288x288), 如果有多出來的部份以黑底填滿. 最後再將Resize切換為enabled.
這裡將資料的尺寸及類別格式統一的好處是可以幫助你減少模型訓練所要花費的時間.

https://ithelp.ithome.com.tw/upload/images/20211009/20140792P6pXzbaVCg.png

設定好的畫面如下圖所示:

https://ithelp.ithome.com.tw/upload/images/20211009/201407924lSpu8QUAF.png

資料擴增

接下來我們要做資料擴增, 請點擊下圖的Add

https://ithelp.ithome.com.tw/upload/images/20211009/20140792b9ON2gcpso.png

Nilvana提供多種方式, 透過小幅度的改動資料, 可以為你優質的資料增加多樣性以及降低過度擬合的現象, 提高資料集整體品質. Nilvana提供以下演算法輔助你增強圖像,包含:Noise, Saturation, Brightness, Hue, Flip, Exposure, Shear, Rotation, Blur, Grayscale 等。

在我們的範例中, 選擇左右翻轉(Flip)

https://ithelp.ithome.com.tw/upload/images/20211009/20140792lizLew4iCP.png

再選灰階(Grayscale)

https://ithelp.ithome.com.tw/upload/images/20211009/20140792Tf1DYBSOSj.png

再選旋轉(Rotation)

https://ithelp.ithome.com.tw/upload/images/20211009/20140792OHGCgjB6FB.png

再改變色調(Hue)
https://ithelp.ithome.com.tw/upload/images/20211009/20140792EGntQb5XH0.png

再選變亮(brightness)

https://ithelp.ithome.com.tw/upload/images/20211009/20140792KGG6LcsIlg.png

這時就可以看到我們把五種資料擴增機制加進來了. 同時再把output數設定為3. 這時可以看到資料集的圖片張數增加到4448張

https://ithelp.ithome.com.tw/upload/images/20211009/20140792L6WJt5uD4j.png

為資料集定義版本

當完成資料前處理與資料擴增之後, 就要把這組資料集給定一個版本, 這樣之容易界定不同的資料集的差別, 也易於之後執行訓練時選擇不同版本名稱就可以選到不同的資料集.

請點下圖的Generate

https://ithelp.ithome.com.tw/upload/images/20211009/20140792r5HehKsKix.png

輸入版本編號

https://ithelp.ithome.com.tw/upload/images/20211009/20140792ShUgjdye2d.png

完成了之後, 可以看到Dataset版本已建立, 如下圖. 在這個版本, 影像張數為4448張, 而且資料品質增加為三格(Good),可見資料擴增功能已有效增加dataset張數與品質.

https://ithelp.ithome.com.tw/upload/images/20211009/20140792xNydFvd5Qj.png

到這裡我們使用使用機器標註中的全自動標註功能完成了口罩臉孔資料集的標註, 也完成資料前處理、資料擴增與版本建立, 下一篇我們就來執行訓練


上一篇
標註格式與標註工具
下一篇
口罩臉孔資料集的訓練(Training)
系列文
AI平台初學者工作坊: 從training、tracking到serving30

尚未有邦友留言

立即登入留言