Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New One Euro Filter Feature #172

Open
wants to merge 15 commits into
base: dev
Choose a base branch
from
Open

New One Euro Filter Feature #172

wants to merge 15 commits into from

Conversation

kalwalt
Copy link
Member

@kalwalt kalwalt commented May 16, 2022

I started to add the OEF into the WebARKitLib core. I think that the filtering process should be done inside the worker to improve fps performances.
The C++ code is a single header library, in this way it's not necessary to add to the source and compile into libar.bc.
I'm still testing the code so things could changes frequently. Anyway if you are interested i'm using emsdk 3.1.9.
For anyone interested, you can find the original code at this address: http://www.lifl.fr/~casiez/1euro/OneEuroFilter.cc

@kalwalt
Copy link
Member Author

kalwalt commented May 18, 2022

I implemented a new filterMat2 function and testing inside the getNFTmarkerInfo function. When the marker is detected i receive an error that alpha should be in [0.0, 1.0] that sound strange because i have added the arController.setOEF(120, 0.1, 0.1, 10); inside the worker. And after the app crash...

@kalwalt
Copy link
Member Author

kalwalt commented May 25, 2022

values passed to the filter function (internally in filterMat2) are not in the range 0.0f - 1.0f that's why the error alpha should be in [0.0, 1.0]. I suppose that arUtilQuatNorm doesn't normalize in the term i aspect, so i need to normalize all the values in the correct range.

@kalwalt
Copy link
Member Author

kalwalt commented May 26, 2022

Testing without FILTERING enabled, so trans values passing only to OEF. In the log console pose matrix is a series of NaN values, that confirm values(quaternions and positions) need to be in range 0.0-1.0.

@kalwalt
Copy link
Member Author

kalwalt commented Sep 30, 2022

I will try to implement a simpler function with resetted time values in Rangers between 0.0 and 1.0?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant