2022年4月20日 星期三

使用Edge Impluse build一隻動作分類c/c++ sample

利用Edge Impluse 已有的data set跟training好的model, 產生出c/c++ library, 接著將model include進c/c++ main code, 並帶入一串sensor xyz data來判斷這個動作是左右或上下移動.


0. Windows OS先安裝MinGW

Sourceforge下載來的exe檔常常遇到一個error.








可以直接到這邊抓免安裝包

https://sourceforge.net/projects/mingw-w64/files/mingw-w64/










兩個都可, 下載後unzip到C:\mingw64 , 將C:\mingw64\bin 加到環境變數中.

開cmd測試gcc -v可以正常執行環境就ok.


1. Edge Impluse 專案設定.

使用官方training好的data做範例

https://studio.edgeimpulse.com/public/76063/latest

右上的clone this project, clone到自己的workspace. clone完之後, 選Deployment --> C++ library --> Build

完成之後會自動下載一包my-motion-project-v3.zip


2.  Sample code download

官方sample code
C:

C++:

3. Merge library to sample code

my-motion-project-v3.zip解壓縮後的檔案放到sample code folder中













C++的sample直接build.bat就可以, C的sample要加以下這行在Makefile中

CFLAGS += -DEI_PORTING_MINGW32=1

確認可以正常build完後, 接著帶入要辨識的xyz data. 回到Edge Impluse clone出來的project. Model testing隨意選一筆data show classifiction.
 
進去後會看到連續的raw data, 可以隨意移動框框, 下面的raw features會跟著變化, 都是三個資料為一小組, 直接複製raw features出來.

















C++ sample中, 將資料貼到main.cpp的features array






compile之後run就會看到結果






















C sample使用帶入檔案的方式, 將剛剛copy的raw features另存成一個檔案, 帶入即可























Reference:

沒有留言:

張貼留言