摘要:隨着AI的快速發展,如何快速準備大量高質量的數據已經成爲AI開發過程當中一個極具挑戰性的問題!
本文分享自華爲雲社區《如何快速準備高質量的AI數據?》,原文做者:徐波。html
1、背景
一般來說,AI人工智能的三要素是數據、算法和算力。這三要素缺一不可,都是人工智能快速發展的必備條件。這一輪AI熱潮得以快速發展,也正是得益於這三個要素已經準備就緒。數據的質量會影響模型的精度,通常來講,大量高質量的數據更有可能訓練出高精度AI模型。如今不少算法使用常規數據能將準確率作到85%或者90%,而商業化應用每每要求更高,若是將要模型精度提高至96%甚至99%,則須要大量高質量的數據,這個時候也會要求數據更加精細化、場景化、專業化,這每每也成爲了AI模型突破瓶頸的關鍵性條件。算法
而在大多數人工智能和機器學習項目中,數據準備和工程任務佔了80%以上的時間,其中數據清洗和數據標註佔了整個項目的50%左右。而數據準備很是消耗人力,如何快速準備大量高質量的數據已經成爲AI開發過程當中一個極具挑戰性的問題。機器學習
ModelArts是面向AI開發者的一站式開發平臺,可以支撐開發者從數據到AI應用的全流程開發過程,包含數據處理、算法開發、模型訓練、模型部署等操做。而且提供AI Gallery功能,可以在市場內與其餘開發者分享數據、算法、模型等。爲了能幫用戶快速準備大量高質量的數據,ModelArts數據管理提供瞭如下主要能力:工具
- 提供了數據預覽和多維篩選等功能方便AI開發者快速識別數據;
- 提供了數據校驗、自動分組等數據處理功能加速數據清洗;
- 提供了12種以上的標註工具來幫助用戶標註各個場景的數據;
- 提供了智能標註、團隊標註等功能加速標註、保障標註質量。
更多功能請見ModelArts數據管理:學習
ModelArts數據管理爲準備高質量的AI數據提供的能力編碼
本案例將以交通標誌識別原始數據集爲基礎,將使用ModelArts爲您演示:人工智能
- 如何使用數據校驗功能快速對數據進行清洗;
- 如何使用自動分組功能從衆多數據中選出想要的數據;
- 如何使用標註工具快速完成標註;
- 如何使用智能標註等功能加速數據標註。
用戶只須要進行確認或者稍做調整便可完成標註,能夠大大提升數據標註效率,節省用戶標註時間。url
當您完成這個案例,您將掌握如何使用ModelArts快速準備大量高質量的數據。spa
2、準備
在開始以前,您須要進行相關的準備工做,包括註冊華爲雲帳號、實名認證、ModelArts全局配置和OBS相關操做,詳細請參考此文檔。.net
3、操做
本次案例主要分爲如下幾個步驟:①從AI Gallery下載數據集到ModelArts數據管理,② 數據校驗:處理非法數據, ③自動分組:刪除不想要的數據,④數據標註:對數據打標註,⑤智能標註:使用AI技術加速數據標註,⑥發佈數據集:共享數據。
操做流程圖
1. 下載數據集
該案例的數據集名稱爲「交通標誌識別原始數據集」,已經上傳到AI Gallery, AI Gallery地址爲https://marketplace.huaweicloud.com/markets/aihub/datasets/list/。進入AI Gallery後須要選擇數據欄,而後在AI Gallery搜索數據集名稱「交通標誌識別原始數據集」,或者點擊數據集連接下載。
搜索數據集名稱「交通標誌識別原始數據集」
「交通標誌識別原始數據集」 詳情
選擇該數據集進行下載,配置數據集的目標位置(須要如今OBS建立桶和目錄),修更名稱爲「交通標誌識別」,能夠根據本身的狀況加上描述。點擊確認下載後,頁面會跳轉到「個人數據」頁面,這個時候能夠點擊「個人下載」頁面查看下載進度。
下載「交通標誌識別原始數據集」
下載進度
數據集詳情
2. 數據清洗
1)數據識別
當完成數據下載後,通常須要先進行數據識別,查看數據的大體狀況,好比有多少數據、數據是什麼樣的、是否須要清洗等。這個時候能夠點擊「開始標註」,能夠對數據進行預覽,能夠看到數據集樣本列表。總共706張圖片:交通標誌識別數據500張,其中100張已標註,400張未標註;植物200張;其餘數據6張。樣本列表中的圖片也會展現標籤信息,右側有該數據集的所有標籤信息。目前已有的標籤爲:
標籤信息
數據集樣本列表
2) 數據篩選
進行數據查看時每每數據對數據進行篩選,選擇本身想看的數據。這個時候能夠點擊篩選條件右側的展開,選擇相關條件進行篩選。ModelArts數據管理支持對標籤名稱、文件名稱、標註人、樣本屬性、難例信息等進行篩選。也能夠選擇多個篩選條件同時進行篩選。
數據篩選
好比想查看標籤名爲「green_go」的樣本列表信息,則能夠直接選擇標籤名進行查看。
標籤名爲「green_go」的樣本列表。
實際應用場景中數據每每夾雜着非法數據,須要對數據進行清洗。該數據集也有相關非法數據:編碼錯誤2張(badencode1.jpg,badencode2.jpg)、圖片後綴錯誤2張(badsuffix1.png,badsuffix2.png)、單通道2張(badchannel1.jpg,badchannel2.jpg)。好比根據文件名「badencode1.jpg」查看非法數據,能夠看到圖片加載異常,由於圖片編碼有問題。
根據文件名「badencode1.jpg」查看非法數據
3) 建立「數據校驗」類型的數據處理做業
ModelArts數據處理提供了「數據校驗」功能,能夠對數據進行檢查。能夠去ModelArts主頁下的數據處理頁面建立數據處理做業。
數據處理頁面
建立數據處理做業時能夠修改做業名稱爲「datavalidate」,選擇場景類別「物體檢測」,數據處理類型爲「數據校驗」,輸入爲數據集「交通標誌識別」的V001版本,數據爲數據集「交通標誌識別」V002版本。
建立「數據校驗」類型的數據處理做業
4)查看數據校驗做業結果
數據校驗結果確認:等待數據處理做業完成,預計須要幾分鐘。等待做業「datavalidate」完成後能夠查看數據,選擇輸出數據集爲「交通標誌識別」V002版本,這個時候會提示是否切換版本,點擊是,會切換版本,而且跳轉到數據集頁面,展現數據集詳情。若是不切換版本,數據集展現的仍是數據校驗前的數據,可能會致使後面的步驟失敗。查看結果,能夠看到只有704張圖片,2張編碼格式有問題的已刪除,後綴不對的2張和單通道的2張圖片已修改。即已經對數據集完成數據清洗。
選擇查看輸出數據集版本
根據文件名「badencode1.jpg」查看,非法數據已被清洗
3. 自動分組
1) 啓動任務
在對數據校驗以後,發現數據中有500張交通標誌的圖片,200張植物的圖片,4張其餘的圖片。若是前面數據未順利獲取到,能夠直接選擇從AI Gallery下載已進行數據校驗的數據集: 交通標誌識別已校驗數據集 。 可參考下圖下載對應階段已處理好的數據:
對應階段已處理好的數據
這個時候若是一張一張去挑本身想標註的數據,或者刪除不想要的數據,會很慢很耗時。 這個時候能夠選擇啓動自動分組功能,對交通標註數據和植物數據進行分組。進入頁面爲所有,而後點擊自動分組就能夠啓動任務。
啓動自動分組任務進行數據選擇
啓動自動分組任務時填入分組數爲3,屬性名稱爲group(也能夠自定義),點擊確認,等待任務執行。自動分組任務會在右上角展現。
啓動自動分組任務,填入參數
自動分組進展查看
2) 任務結果查看
自動分組運行完後,能夠在所有頁籤展開篩選條件,選擇樣本屬性「group」,再選擇屬性值來查看結果:樣本屬性爲「group」,值爲0和1的基本爲交通標誌識別數據,區分在於兩個拍攝場景不同。樣本屬性爲「group」,值爲2的基本爲植物數據。
樣本屬性爲「group」,值爲0的篩選結果
樣本屬性爲「group」,值爲1的篩選結果
樣本屬性爲「group」,值爲2的篩選結果
3) 刪除數據
這樣數據就已經完成分組,並且分組結果比較準確。咱們能夠根據結果,將植物數據進行批量刪除。點擊圖片列表右上角的「選擇當前頁」,選擇全部數據,而後瀏覽一遍數據,若是發現已選的數據中有想要的數據,能夠取消選擇該圖片,處理完後再點擊「刪除圖片」,便可完成批量圖片刪除。刪除完成後,基本只剩交通標誌識別的數據了。
批量刪除不想要的圖片
4. 數據標註
在完成數據清洗,刪除不想要的數據後,須要對數據進行標註。此時數據還剩大概500張圖片。若是前面數據未順利獲取到,能夠直接選擇從AI Gallery下載已進行數據清洗的數據集: 交通標誌識別已清洗數據集
在數據集樣本列表頁面,點擊「未標註」頁籤,篩選條件中樣本屬性爲「group」,值爲0,便可看到交通標誌數據數據集中第一個場景的數據。 更多使用信息能夠查看用戶指南。
「未標註」頁籤樣本屬性爲「group」,值爲0的樣本列表
標註工具說明
點擊任意一張圖片便可進入樣本詳情頁面進行標註,標註頁面會有標註工具欄、圖片詳情展現、圖片列表、標籤列表、圖片切換等功能,以下圖所示。
圖片標註頁面
選擇矩形框,左擊繪製選擇標註位置,而後選擇標籤,便可完成標註,點擊下一張會自動保存標註結果。也可使用快捷鍵N切換到下一張。
進行數據標註
5. 智能標註
使用過程當中能夠感受到物體檢測任務的標註工做量很大,並且手動標註效率不高,這個時候就可使用智能標註功能來加速。
智能標註會對用戶未標註的數據進行自動標註,用戶只須要進行確認或者稍做調整便可完成標註。
智能標註主動學習的原理是使用已有的部分數據和ModelArts內置算法來訓練一個模型,而後使用模型對剩下未標註的圖片進行預測。其中快速型是監督算法,使用的是已標註數據進行訓練,精準型爲半監督算法,使用的是已標註和未標註的數據進行訓練。用戶也能夠選擇本身的模型進行智能標註,這個時候能夠選擇智能標註的預標註功能,一樣能獲得自動標註的預測結果。預測完成後,人只須要對預測結果進行準確性的檢查,預測準確的圖片就直接使用算法標註的結果,預測不許確的就人工修正一下標註,這種人機協做的方式,就能大幅度提高標註效率,節省用戶標註時間。
1) 啓動智能標註
啓動智能標註前,建議每一個標籤標15張以上,這樣進度會更高。點擊樣本列表的右上角「啓動智能標註」,使用默認選項便可,點擊提交便可開始智能標註。
啓動智能標註入口
肯定啓動智能標註
2) 查看智能標註進展
提交智能標註任務以後即會跳轉到智能標註進展頁面,也能夠點擊「待確認」頁籤查看任務進度。
智能標註任務進展
3) 確認智能標註結果
智能標註運行完成後,能夠在「待確認」頁籤看到智能標註結果。
智能標註結果列表
未標註402張,智能標註結果也是402張。點擊具體的圖片進入詳情頁面確認。確認標籤準確性,若是準確,直接能夠點擊「確認標註」,若是發現不對,能夠調整標註結果再點擊「確認標註」。
確認智能標註結果
6. 發佈數據集
1) 發佈數據集版本
完成數據標註以後能夠發佈數據集版本,能夠選擇數據切分和寫入描述,也能夠不選。
發佈數據集版本
發佈完成以後會生產固定化的版本,記錄總共多少樣本,已標註多少樣本。也會生成manifest文件。Manifest裏面會記錄全部樣本信息及其標註文件存儲信息,對於物體檢測,標註未見爲Pascal VOC形式的XML文件, 詳細描述請見官方文檔。
版本詳情
2) 發佈數據集版本到AI Gallery
在發佈完數據集版本後,能夠在ModelArts訓練中選擇該版本進行訓練,也能夠將該數據集發佈到AI Gallery,共享給其餘用戶。 進入AI Gallery下的數據頁面, 點擊「發佈」按鈕,填寫發佈數據集的名稱,好比「HDC2021--交通標誌識別數據集」,選擇數據集名稱「交通標誌識」和版本「V003」,選擇數據類型爲圖片,選擇許可類型。點擊發布便可。
AI Gallery發佈數據集
發佈數據集到AI Gallery
發佈完數據集以後能夠點擊編輯按鈕,完善數據集信息,包括數據集首頁
點擊編輯完善數據集信息
至此,本案例完成。