# Data Preparation Using Roboflow ###### tags: `Object Detection` ## Register Roboflow 1. Roboflow[官網](https://roboflow.com/)>Signup ![](https://i.imgur.com/kPGZ2ZB.png) 2. [登入頁面](https://app.roboflow.com/login)>Sign in with Github (用Email也行) ![](https://i.imgur.com/dDeudXm.png =300x) 3. 登入Gitlab帳號後,記得給予roboflow讀取email的權限 ![](https://i.imgur.com/3AiBT8D.png =300x) 4. 依需求選取目的:e.g. School Projects,並且同意所有使用條款 ## Create Project 1. 點選Create a Public Workspace ![](https://i.imgur.com/2TklIB3.png =200x) 2. 進入到Workspace中,左側可以看到已有的workspace列表,數字代表該space中有多少Project ![](https://i.imgur.com/CNAFtP2.png =200x) 3. 在一個space中點選Create New Project ![](https://i.imgur.com/6czuAEp.png =300x) 4. 要你選data來源,這邊可以自己做也可以跑右邊Tutorial試試 ![](https://i.imgur.com/VvGroQq.png =300x) 5. 根據需求填寫Project Name, Type, Output ![](https://i.imgur.com/B5pRnSc.png =300x) 6. 如果要找dataset可以去它公開的[網頁](https://public.roboflow.com/) ![](https://i.imgur.com/hbpGHQG.png =400x) 7. 我用的是這個[水族館資料集](https://public.roboflow.com/object-detection/aquarium) 8. 其中右上角有一個fork dataset可以直接inport這些資料到自己的project中 ![](https://i.imgur.com/LQlu9er.png) 9. 按下去Fork Dataset,自動跳轉到project頁面 ![](https://i.imgur.com/IADdOaq.png =300x) 10. 若不是這樣也可以先download下來再上傳上去(不過有點多此一舉) ## New Version of Dataset 上傳完資料(image+label)就開始創資料集,創完才能下載,其中頁面上會顯示基本資料: train/ test split中 image, class ,label的數量等等 ![](https://i.imgur.com/r6UM5TH.png) ### 1. Source Image * 預覽部分圖片,Add More Images點下去可以多加圖片 ![](https://i.imgur.com/Aooh1FM.png =500x) ### 2. Train/Test Split * 很重要,可以重新分配train/test/val ![](https://i.imgur.com/qhLwXjQ.png =500x) * 拉下面的圓圈可以調整train/test/val圖片量 ![](https://i.imgur.com/j8c3pqp.png =300x) ### 3. Pre-Processing * 做一些前處理,有一大堆東西可以做,點右邊的X可以刪除process ![](https://i.imgur.com/enLCBrl.png =300x) * 點Add Preprocessing Step可以看到有很多前處理可以做,這邊就不贅述,點進去有圖可以看 ![](https://i.imgur.com/CCivQ4I.png =300x) ![](https://i.imgur.com/R93QoWK.png =300x) * 其中Isolate Objects可幫助我們裁切資料下來,以便用來當support data ![](https://i.imgur.com/mLNL8LA.png =300x) ### 4. Augmentation * 資料擴充,可以對每張圖片做指定事情 ![](https://i.imgur.com/jrl2eyb.png =300x) * 點Add Augmentation Step也有一堆選項 ![](https://i.imgur.com/UWu13hy.png =300x) ### 5. Generate * 若前面有做Augmentation就可以選倍數,數量會增加 ![](https://i.imgur.com/yzkHitz.png =300x) * 按下continue就開始跑處理了,這時也可以修改資料集名稱 ![](https://i.imgur.com/SkkzYMX.png =300x) ## Download Dataset 1. 到自己的dataset頁面>Export ![](https://i.imgur.com/lCEa3z8.png) 2. 這邊可以直接輸出一堆種類的annotation style,這邊我們選coco ![](https://i.imgur.com/PjfXJLn.png =300x) 3. 下面兩個選項:下載zip、show download code(直接在server上下載用) ![](https://i.imgur.com/3hHQIiY.png =300x) 4. 如果是download code的話可以不要自找麻煩用Jupyter格式,因為還要API key,直接選terminal並且copy那串文字 ![](https://i.imgur.com/iAjjmlZ.png =300x) e.g. ``` # Terminal curl -L "https://universe.roboflow.com/ds/0DY7KpffKr?key=Oafpowa4Jc" > roboflow.zip; unzip roboflow.zip; rm roboflow.zip # Colab !curl -L "https://universe.roboflow.com/ds/0DY7KpffKr?key=Oafpowa4Jc" > roboflow.zip; unzip roboflow.zip; rm roboflow.zip ``` 5. 這串code可以用在Colab或者自己server上,只要有terminal就可以直接使用來下載dataset