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

Is there a way to prevent jittering during video pose estimation using DWPose? #70

Open
MoonEese opened this issue Jan 25, 2024 · 9 comments

Comments

@MoonEese
Copy link

Is there a way to prevent jittering during video pose estimation using DWPose?
Frequent jittering occurs even when standing still.

@TZYSJTU
Copy link

TZYSJTU commented Feb 3, 2024

Yes, I meet this problem, too. How ho make it smooth, are there any post-processing algrithms?

@ailingzengzzz
Copy link
Collaborator

Hi @MoonEese @TZYSJTU ,

Please refer to this repo: https://github.com/cure-lab/SmoothNet. This is a plug-and-play smooth model in the post-process stage. You can simply input the 2d pose sequences, and output the smooth sequences.

BTW, if you do not need to use a network, you can try simple filters: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.savgol_filter.html.
There are two parameters: window_length (you can try 7), polyorder (you can try 2).

@MoonEese
Copy link
Author

MoonEese commented Feb 6, 2024

@TZYSJTU
I have used simple average filtering, and it was little bit simple and effective for me

@ailingzengzzz
Thanks for great work and help!

@learnuser1
Copy link

@TZYSJTU I have used simple average filtering, and it was little bit simple and effective for me

@ailingzengzzz Thanks for great work and help!
Does simple average filtering not result in blurred video?

@MoonEese
Copy link
Author

@learnuser1
I used each coordinate from n, n+1, n+2, n+3, n+4 frame for averages, and start/end 2frames were original coordinates.

@learnuser1
Copy link

@MoonEese Thank you for your answer.

@ry555555
Copy link

ry555555 commented Mar 25, 2024

@learnuser1 I used each coordinate from n, n+1, n+2, n+3, n+4 frame for averages, and start/end 2frames were original coordinates.

dyikeua0gr8v_27.mp4

@MoonEese My result has a bad ghosting. Could you provide the specific implementation?🙏

@MoonEese
Copy link
Author

MoonEese commented Mar 26, 2024

@ry555555

I can't view your result video, but I believe the term 'bad ghosting' arose because you averaged the frames of the DWPose result video itself. The method I mentioned earlier involves averaging the coordinate values extracted from DWPose, rather than directly averaging the result video frames. This means that the coordinate of, say, keypoint 1 in frame 1 is replaced by the average of keypoint 1's coordinates in frames 1, 2, 3, 4, 5. While this approach reduces jitter, it may cause issues with actions such as waving hands back and forth in greeting.

@ry555555
Copy link

@MoonEese Got it, Thx!

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

No branches or pull requests

5 participants