Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|
Thread Tools | Search this Thread | Display Modes |
16th August 2014, 23:27 | #1 | Link |
Formerly davidh*****
Join Date: Jan 2004
Posts: 2,496
|
Deshaker3D - experimental 3D image stabiliser (VDub Deshaker required)
Deshaker3D download
Well, I've been threatening to do this for years, but I've finally gone and done it. This Avisynth filter can be used in place of pass 2 of guth's VirtualDub filter, Deshaker. It implements deshaking in 3D (treating each frame as a plane in 3D space) which eliminates (or at least mitigates) the distortion that occurs when using a purely 2D process (as Deshaker does): YouTube video Calling the filter requires a log file created by Deshaker pass 1 (probably to be found at C:\Users\[username]\AppData\Local\Deshaker\Deshaker.log). Parameters are as follows: Code:
deshaker3d(clip, int fov, string log_file, int x, int y, int z) # fov - horizontal FOV of the image (non-constant FOV clips may not work well) # log_file - path to Deshaker pass 1 log file # x - amount of horizontal smoothing # y - amount of vertical smoothing # z - amount of rotational smoothing Omitting the y and z parameters will cause all smoothing to use the x parameter. If you don't want a particular kind of smoothing, set to 0. Smoothing parameter values don't match those used by Deshaker, but higher numbers=smoother. The maximum effective value is approximately num_frames/2. Deshaker3D doesn't implement a lot of Deshaker's functionality for now, but may implement more in future. Last edited by wonkey_monkey; 16th August 2014 at 23:43. |
17th August 2014, 07:31 | #3 | Link |
͡҉҉ ̵̡̢̛̗̘̙̜̝̞̟̠͇̊̋̌̍̎̏̿̿
Join Date: Feb 2009
Location: No support in PM
Posts: 712
|
Nice. No source code?
__________________
dither 1.28.1 for AviSynth | avstp 1.0.4 for AviSynth development | fmtconv r30 for Vapoursynth & Avs+ | trimx264opt segmented encoding |
17th August 2014, 08:27 | #4 | Link | ||
Formerly davidh*****
Join Date: Jan 2004
Posts: 2,496
|
Quote:
Quote:
|
||
21st August 2014, 01:56 | #5 | Link |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Thanks, nice to see another stabilization plugin for Avisynth. I quickly played around with this but did not get to work right. Output seems similar to the input . What are the defaults (or recommended values) for "fov" and "x"? I know VDub Deshaker requires RGB32 but is there any possibly of adding support for YV12 in Deshaker3D?
|
21st August 2014, 09:45 | #6 | Link |
Formerly davidh*****
Join Date: Jan 2004
Posts: 2,496
|
I can add "support" in the sense of internally calling ConvertToRGB32 when required, and calling ConvertToYV12 at the end
FOV for a "normal" camera would be somewhere around 45-60 degrees. x depends on how much smoothing you want - you should certainly see some difference with x=100. If not, can you post your script and your Deshaker logfile? |
21st August 2014, 14:21 | #7 | Link | ||
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Quote:
Quote:
|
||
13th July 2015, 20:24 | #11 | Link |
Registered User
Join Date: Mar 2015
Posts: 775
|
Hi, I am actually making similar thing as a VirtualDub filter.
I have thoughts about rolling shutter compensation. This thing is quite subtle and Deshaker motion estimation does not seem to be accurate with wide angle material. So I have doubts whether it is worth the attempt. Ideally it needs dedicated motion estimation which can handle camera model, but this is so much more work to do. |
20th November 2015, 14:29 | #12 | Link |
Registered User
Join Date: Mar 2015
Posts: 775
|
Just begin to post about it here: http://forum.doom9.org/showthread.ph...68#post1747268
|
22nd August 2017, 10:36 | #13 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
++ on that, Pretty Please David Oops, Yeshua was addressing Shekh, I was addressing David. Yeshua, Shekh posted link to source in earlier Shekh linked thread.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 22nd August 2017 at 13:05. |
22nd August 2017, 11:49 | #14 | Link | |
Registered User
Join Date: Mar 2015
Posts: 775
|
Quote:
The estimation is not big problem. What I tried and it was good: step 1: (same as 2d case) collect motion vectors grid step 2: find rotation quaternion that resolves motion vectors (It is trivially derived by gradient descent method)
__________________
VirtualDub2 |
|
9th September 2019, 10:25 | #18 | Link |
Suspended for forum rule violations
Join Date: Mar 2018
Location: Germany
Posts: 216
|
Hi shekh.
I would like to ask if there is an up-to-date version of your plugin. (Only the plugin and the needed files for ini etc. for use in VDub2) I use DeShaker for a long time, but had to make the experience that with large FOV it produces "wobbling" results (due to the lack of taking perspective into account) that make the result worse than the shaking version. In Deshaker - as a first step - a simple option for FOV (wide-angle, normal, tele) would be fantastic. But ... sadly ... DeShaker isn't improved anymore. As far as I understand the matter, BEFORE phase 1 in DeShaker there would have to be the perspective correction (panotools etc.?) and after that to calculate the motion vectors etc. But maybe your plugin works well enough already? Greetings! :-) |
9th September 2019, 11:20 | #20 | Link |
Suspended for forum rule violations
Join Date: Mar 2018
Location: Germany
Posts: 216
|
Hi wonkey_monkey.
Thankyou for your reply. Actually I posted to the right addressee (shekh), but into the wrong thread. I meant the VDub plugin (https://forum.doom9.org/showthread.php?t=172886). I'm sorry. |
Thread Tools | Search this Thread |
Display Modes | |
|
|