數位學習平台 ↗ EN 聯絡我們

登月小車 AMB82 MINI AI 自駕車(三)資料標註:用 Roboflow 標註與擴增資料集

登月小車 AMB82 MINI AI 自駕車(三)資料標註:用 Roboflow 標註與擴增資料集

本系列使用 登月小車(AMB82 MINI),從硬體安裝、蒐集與標註資料、訓練 YOLOv7-tiny 模型,一路做到能辨識交通標誌的自駕小車。這是第三篇。

標註軟體很多,我們推薦可以使用Roboflow,它提供方便標註的介面,資料集的劃分與資料擴增功能也都有提供。最方便的是輸出資料時可以直接選擇你要的標註格式。

標註軟體很多,我們推薦可以使用Roboflow,它提供方便標註的介面,資料集的劃分與資料擴增功能也都有提供。最方便的是輸…

3-1. 註冊帳號與設定

首先進入Roboflow 這個網站,並點選右上角的「Sign in」。

Roboflow: Computer vision tools for developers and enterprises

它也提供使用第三方帳號登入,可以依照您的喜好自行選擇。

它也提供使用第三方帳號登入,可以依照您的喜好自行選擇。

登入後於左側點選「Projects」,並點選右邊的「New Project」按鈕新增一個專案。

登入後於左側點選「Projects」,並點選右邊的「New Project」按鈕新增一個專案。

接著為您的專案命名,這部份很重要,「Project Name」會自動被作為其中一個標籤,所以為了避免最後標註的標籤數量對不上,請輸入其中一個你要標註的對象名稱,例如道路上的黃線,就請輸入「line」。

接著自行填入對應的說明。Project Type 選擇「Object Detection」,最後於最下方按下「Continue with Public」按鈕。

接著自行填入對應的說明。Project Type 選擇「Object Detection」,最後於最下方按下「Conti…

最後按下「 Use Traditional Model Builder Instead」 按鈕,即可開始您的專案。

最後按下「 Use Traditional Model Builder Instead」 按鈕,即可開始您的專案。

3-2. 開始標註資料

還記得我們上個單元拍攝的照片嗎?請依照網頁上的指示選擇整個資料夾或照片檔案。

還記得我們上個單元拍攝的照片嗎?請依照網頁上的指示選擇整個資料夾或照片檔案。

請將道路與標誌都一起上傳,最後按下「Save and Continue」上傳這些圖片。

請將道路與標誌都一起上傳,最後按下「Save and Continue」上傳這些圖片。

等待所有數據都上傳完畢後,右側會跳出提示視窗,詢問你要如何做標註工作,請按「 Label manually」 。

等待所有數據都上傳完畢後,右側會跳出提示視窗,詢問你要如何做標註工作,請按「 Label manually」 。

接著畫面會顯示部分照片,並且上方會有「Start Annotating」按鈕。你可以直接點選這個按鈕,或是任何一張圖片,即可進去標註工具畫面。

接著畫面會顯示部分照片,並且上方會有「Start Annotating」按鈕。你可以直接點選這個按鈕,或是任何一張圖片,…

請在右側工具列選擇「Bounding Box Tool」,然後透過滑鼠點選目標左上角並拖曳,繪製框選框,然後於彈出視窗中輸入這個目標代表的標籤,最後按下儲存即可。

標籤對應:

  • 停車再開:stop
  • 停車處:park
  • 限速10:speed
  • 黃色線段:line
標籤對應

標籤的部份可以自行設定,只要你知道哪個標籤對應哪個標誌或目標即可。

請依照相同的步驟對每個目標都做框選,框選完畢後即可按下一頁,標註下一張圖片。

請依照相同的步驟對每個目標都做框選,框選完畢後即可按下一頁,標註下一張圖片。

黃色線段的部份我們不用每個都標註,可以偷懶標註最靠近小車自身的那個線段即可。並且如果最靠近的線段太小,你可以選擇下一個。

黃色線段的部份我們不用每個都標註,可以偷懶標註最靠近小車自身的那個線段即可。並且如果最靠近的線段太小,你可以選擇下一個。

等到每張圖片都有標註後,即可離開標註工具頁面回到主頁。

等到每張圖片都有標註後,即可離開標註工具頁面回到主頁。

標註完成後點選「Add images to Dataset」,可以調整資料集的分配比例。圓形圖案可以拖拉,通常是訓練資料占70%,驗證資料20%,測試資料10%。接著按下「Add Images」即可。

標註完成後點選「Add images to Dataset」,可以調整資料集的分配比例。圓形圖案可以拖拉,通常是訓練資料…

3-3. 輸出資料集

接著我們要將資料集輸出,這一步會將其打包成訓練YOLOv7 模型的資料集格式。Roboflow 可以讓你在這一步進行資料擴增,這也是我們推薦它的原因。

點選左側「Versions」選項,可以開啟輸出資料集的頁面。

點選左側「Versions」選項,可以開啟輸出資料集的頁面。

輸出資料集總共五個步驟,前兩個步驟我們已經完成了,分別是標註資料並劃分訓練資料與測試資料。接著我們從第三步設定開始,這一步是可以調整圖片大小,在這邊我們希望是保持原圖大小,所以直接按「Continue」。

輸出資料集總共五個步驟,前兩個步驟我們已經完成了,分別是標註資料並劃分訓練資料與測試資料。接著我們從第三步設定開始,這一…

第四步才是重點,這一步可以選擇資料擴增的手段,按下「Add Augmentation Step」會跳出選擇頁面。

第四步才是重點,這一步可以選擇資料擴增的手段,按下「Add Augmentation Step」會跳出選擇頁面。

這些都是可以選擇的資料擴增手段,我們可以點一個試試看,例如「Brightness」。

這些都是可以選擇的資料擴增手段,我們可以點一個試試看,例如「Brightness」。

畫面中會有一個拉桿可以調整幅度,左側會有效果對照圖可以參考,設定完按「Apply」即可。

畫面中會有一個拉桿可以調整幅度,左側會有效果對照圖可以參考,設定完按「Apply」即可。

比照這樣的設定你可以自由選擇要使用那些擴增手段,完成後按下「Continue」即可完成這個步驟。

比照這樣的設定你可以自由選擇要使用那些擴增手段,完成後按下「Continue」即可完成這個步驟。

最後一個步驟,選擇要用上述的擴增手段,讓現有資料集增加幾倍的資料量,免費用戶最高可以選擇3x,我們就直接選擇最高的選項。可以看到原先我的資料量只有1XX張圖片,擴增後來到389 張。選取倍率後,按下「Create」就完成了。

最後一個步驟,選擇要用上述的擴增手段,讓現有資料集增加幾倍的資料量,免費用戶最高可以選擇3x,我們就直接選擇最高的選項。…

3-4. 分享或下載資料集

完成後的資料集是放在Roboflow,我們需要將它取出,以便後續拿來訓練模型。請點選「Download Dataset」,進入下載資料集視窗。

完成後的資料集是放在Roboflow,我們需要將它取出,以便後續拿來訓練模型。請點選「Download Dataset」…

這邊需要設定資料集輸出格式,我們下個單元會訓練YOLOv7 PyTorch 模型,所以選擇「YOLO v7 PyTorch」。下方有兩個選項,可以選擇下載壓縮檔存在自己電腦,或是選擇下載碼提供給程式碼使用。請選擇下載碼「Show download code」,我們會複製並提供給程式碼處理,最後請按「Continue」。

這邊需要設定資料集輸出格式,我們下個單元會訓練YOLOv7 PyTorch 模型,所以選擇「YOLO v7 PyTorc…

接著會跳出屬於你自己的download code,只要按下右邊的複製按鈕複製起來即可,按下Done 或是X 按鈕都可以關閉視窗。

接著會跳出屬於你自己的download code,只要按下右邊的複製按鈕複製起來即可,按下Done 或是X 按鈕都可以關…

上方的download code 可以看到反黑的地方,這部分是api key,你照剛剛步驟複製整個download code,然後貼上別的地方時就會正確顯示出來。

請不要跟別人分享你的api key,因為其他人就能透過這組key 獲得你的資料集。

結論

download code 複製後請自己保存下來,下個單元我們將會使用它來訓練模型。同學可能會擔心訓練模型時是不是要有NVIDIA GPU 才行?別擔心,我們會使用Google Colab 的雲端服務,只要有Google 帳號即可在一定額度內免費使用它提供的NVIDIA GPU。YOLOv7 使用Google Colab 的雲端服務訓練非常簡單,且不用擔心訓練不完。

系列文章

  1. (一)基礎認識
  2. (二)資料蒐集
  3. (三)資料標註(本篇)
  4. (四)訓練模型與轉換
  5. (五)自動駕駛