Edge Impulse 小技巧 - Crop sample(裁剪)與 Split sample(分割)
前言
在使用 Edge Impulse 來建立感測器資料集時,以往的做法是建議您一次上傳一筆長度為1秒鐘的資料,但這樣反覆操作下來實在有點煩,有沒有更方便的操作方式呢?有!本文將為您介紹如何一次上傳較長秒數的資料,再從 Edge Impulse (本文後簡稱 EI) 中來裁剪 (crop ) 或分割 (split)。| 撰寫/攝影 | 邱柏憲 | ||
| 時間 | 0.5 小時 (包含 Arduino IDE 下載與設定) | 材料表 |
|
| 難度 | 1(滿分5) | ||
使用 Edge Impulse 來裁剪與分割資料
註冊與登入 EI 的方式在先前的文章已經說明,在此不再贅述,也歡迎看看阿吉老師的 Wio Terminal X TinyML 系列影片,帶您輕鬆完成一個光感測器手勢辨識專案! [embedyt] https://www.youtube.com/watch?v=sGpRnlGPapY[/embedyt] 以加速度感測器為例,下圖是一筆長度為10秒 (100 Hz,總共 1000 筆特徵點) 的加速度感測器資料,定義 label 為 Shake。 由於一開始開發板是靜置於桌面,因此加速度沒有明顯變化,三秒左右才開始搖晃,如果直接把這資料拿去訓練 , 或許前面靜止的部分會被神經網路視為特徵點而影響模型辨識。 這時候就可以用到 EI 中的內建功能:Crop sample(切除範例)和 Split sample(分割範例)
在 EI 左側的 Data Acquisition 標籤中,這裡會看到您已經上傳的所有資料。每一筆資料的最右端會有三個點,點擊後會出現一串選項,其中有本文要介紹的 Crop sample (裁剪樣本) 和 Split sample (分割樣本) 等兩個功能,接下來將分段說明 。
裁剪樣本
Crop Sample 是捨棄選取範圍之外的資料,選擇 windows 大小時會在右上角看到其時間長度(單位為毫秒)。請注意這個數字請與後續的推論時間相符,因此建議都選定為 1000 ms,這也是 TinyML 專題常見的設定。點選右下Crop 之後就裁剪完成。別擔心,後續還是可以回溯到最初的未修改狀態。
分割樣本
Split sample 是將一筆時間長度較長的資料分為多筆相同長度的資料,但原始資料在分割之後就無法再回復成原始資料。 請在 Split 畫面中點選左上角的Add Segment 來新增多個 window,彼此可以重疊也可以調整 window 寬度。首次進入時,EI 會自動判斷哪些段的資料是值得被留下來的,如下圖有四個 window。
按下 Split 之後就會把這筆資料分割成多筆小片段,可由分割後的時間長度來判斷。
透過這兩個功能,您可以將比較明顯的加速度值改變的位置以週期為單位框取並分割。這樣就能收集一筆時間較長的資料再分割,也可以手動檢查資料來裁剪,避免多餘或錯誤的資料來影響神經網路訓練結果。
對於AI而言,資料集品質的重要性應該不需要再強調了吧?高品質的訓練資料最終才能產生好的模型。希望以上的教學可以讓各位在收集資料方面更方便快速,最後祝大家都能成功訓練出自己所要的模型!
留言 💬 (0)
還沒有留言,來當第一個。