在研究所之後就沒有碰過 AI 影像處理的任務跟工作,近期工作需要又重新接觸,這篇主要紀錄一下 Dataset 建立的紀錄。 與之前研究所建立 Dataset 的方式相比,現在的建立方式因為工具多樣,操作跟執行上比之前方便很多。 ## Roboflow 比起之前手動標記並做各種處理紀錄,Roboflow 在做影像的標記上容易上手,操作介面的相關功能也簡單,這邊就記錄目前我用過的一些功能。 註冊可以直接連動 Google ![image](https://hackmd.io/_uploads/ryt1y-25ye.png) 登入後的介面如下,後續只會針對使用到的項目解釋操作,其餘的功能可能後續持續更新 ![image](https://hackmd.io/_uploads/H1vUk-hqke.png) ### Search Dataset 要自己找圖片、拍照、建立檔案、做標記等等太麻煩,如果要進行標記的物件是常見的,基本上都有相關的 Dataset 可以找的到,只是要注意有沒有什麼是標記上不適合的標記。 搜尋相關 Dataset 的位置如下,叫做 "Universe" ![image](https://hackmd.io/_uploads/Sya0yWh51x.png) 點擊後會自動跳出新的頁面,可以直接做關鍵字搜尋,我們以 "screw" 進行搜尋 ![image](https://hackmd.io/_uploads/By4Ue-29ke.png) 可以看到有許多已經開源的 Dataset 可以選擇,有做過訓練的也會提供模型讓你可以進行測試。 ![image](https://hackmd.io/_uploads/Sk9Kxb2qJl.png) 下方 Dataset 可以藉由使用者提供照片進行測試,讓你直觀的觀察訓練出來模型的準確度,紅框位置上傳圖片進行測試 ![image](https://hackmd.io/_uploads/rkZGbZ3cJx.png) 測試的狀況如下,並不是每個都可以被模型標註到,雖然不是說預測準確度低就是 Dataset 不好,至少這個是一個比較直觀,透過已完成的模型確認效果如何。 ![image](https://hackmd.io/_uploads/SkELWWn5ye.png) 點擊左方 " Images " 可以看到 Dataset 的所有標註照片以及照片中的標註,點開照片可以看到照片中的標註框以及類別名稱。 ![image](https://hackmd.io/_uploads/S19WGWhqJe.png) ![image](https://hackmd.io/_uploads/rJJ4f-29yg.png) 如果檢查過該 Dataset 可以使用,要將 Dataset 進行後續處理或者調整、下載,需要將 Dataset 載入到自己的空間,點擊 "Fork Dataset" ![image](https://hackmd.io/_uploads/rkF0Gbn5yl.png) 回到 Project 可以看到每個載入的 Dataset ![image](https://hackmd.io/_uploads/SJpDmbhqyl.png) ### Dataset Check 通常載入 Dataset 後,我們需要進行更詳細的確認跟檢查,第一種情況是標記名稱並不是我們想要的名稱,可以在 Dataset >> Classes & Tags 進行更改或者刪除 ![image](https://hackmd.io/_uploads/Hyuv4-h5Je.png) 如果要檢查照片跟標記,以及相關的調整可以在 Dataset 分頁進行,這個分業也會顯示每個照片被歸屬於哪種類別 ( train / valid / test ),標註是在每個照片右下角的小圖示 ![image](https://hackmd.io/_uploads/SyceB-n5Je.png) ### Dataset Version 完成整體確認跟調整後,我們想要進行資料下載方便執行後續的訓練,在這個階段我們要進行相關的設定,產出訓練版本的 Dataset,這個階段還可以針對不同條件,針對影像做資料增強或者前處理等等。 介面主要分成 5 個階段,前 2 個可以看個人有沒有想要再新增照片或調整資料類別的比例 ( 通常 train / valid / test 會以 0.7:0.1:0.2 進行設定 ) ![image](https://hackmd.io/_uploads/SyjgI-n5ye.png) 第 3 階段是前處理 ![image](https://hackmd.io/_uploads/SyFt8-hc1e.png) 第 4 階段是資料增強 ![image](https://hackmd.io/_uploads/rJraIbh5yg.png) 前面都處理設定完成,就可以產出 ![image](https://hackmd.io/_uploads/Sk5yv-n91x.png) ### Dataset Download 完成後的版本會在左方,可以點擊下載將 Dataset 下載到本機端 ![image](https://hackmd.io/_uploads/SJwXw-35ke.png) 下載的相關設定主要看目的,如果你要用現有的模型,他可以根據你選擇的模型下載對應的格式,這個功能倒是蠻方便的 下載前記得要注意相關的勾選,最下面項目會在下載時也訓練一個模型,因為使用免費會員所以會有扣打的限制 ![image](https://hackmd.io/_uploads/BySjDW2q1l.png) 下載後的壓縮檔案內會有包含原始照片、標記資料,最方便的是有提供可以直接餵入模型的 .yaml 檔案 ![image](https://hackmd.io/_uploads/SJXUubn9Je.png) ### Conclusion Roboflow 確實在資料開源跟標記上方便很多,也提供資料增強、標記檔案設定的功能,讓後續訓練模型、調整資料內容提供一個簡單、方便、快速的操作。 需要注意的是,使用免費會員的問題在於 Dataset 都需要進行開源,所以對於機密資料無法使用,後續可能針對這部分找找有沒有其他解決方案。 整體而言如果只是要進行通俗物件非機密資料的標記跟建立 Dataset,使用 Roboflow 快速且簡單。