Deoldify Vapoursynth filter - Printable Version +- Selur's Little Message Board (https://forum.selur.net) +-- Forum: Talk, Talk, Talk (https://forum.selur.net/forum-5.html) +--- Forum: Small Talk (https://forum.selur.net/forum-7.html) +--- Thread: Deoldify Vapoursynth filter (/thread-3595.html) |
RE: Deoldify Vapoursynth filter - Dan64 - 08.03.2024 Compared to SimpleMerge RE: Deoldify Vapoursynth filter - Selur - 08.03.2024 Did a few tests, can't beat the cv2 version in speed. AdaptiveMerge3 can be speed up a bit by using something like def AdaptiveMerge3(clipa: vs.VideoNode = None, clipb: vs.VideoNode = None, clipb_weight: float = 0.0, luma="limited") -> vs.VideoNode: Side note: AdaptiveMerge4 uses different values. it uses: hsv[:,:, 2] = value of 'V from HSV' = max(R, G, B) vs. PlaneStats(yuv, plane=0) = luma value Y from YUV = 0.299R + 0.587G + 0.114B. Both are describes as brightness, but represent different things. Cu Selur RE: Deoldify Vapoursynth filter - Selur - 08.03.2024 btw. I missed that dd_model only supports using ddcolor and deoldify: "deoldify: only dd_method=0 is supported" Why remove the option to only use deoldify? Send you a link to a dev version which restricts dd_method to 0. Cu Selur RE: Deoldify Vapoursynth filter - Dan64 - 08.03.2024 I added dd_method to left room to add more Merge algorithms, SimpleMerge was simple and was the first, in the next release I will add AdaptiveMerge (dd_method = 1) and I hope to be able to add a TemporalChromaMerge (dd_method = 2). It was not my intention to remove the DeOldify only version. But given the good results obtained by merging the models, I proposed to define this setup as the default setup for Deoldify. Thanks, Dan RE: Deoldify Vapoursynth filter - Selur - 08.03.2024 Quote:It was not my intention to remove the DeOldify only version.then how about: 0: no merge 1: Simple Merge 2: ... or -1: no merge 0: Simple Merge 1: ... and keeping 1 as default? The problem is not that 0 is SimpleMerge, but that this is the only option. Cu Selur RE: Deoldify Vapoursynth filter - Dan64 - 08.03.2024 (08.03.2024, 19:03)Selur Wrote:Quote:It was not my intention to remove the DeOldify only version.then how about: I prefer this solution. But please wait, before implement this list, that I have time to release a new version, consider that the AdapativeMerge will require 2 additional parameters: the scale_factor (in the code was = 1.2) and the min_weight (in the code was 0.15). RE: Deoldify Vapoursynth filter - Selur - 08.03.2024 Quote:It was not my intention to remove the DeOldify only version.+ Quote:I prefer this solution.=> How to use only DeOldify? (only thing, I can think of, would be to set the dd_weight=0, but that seem rather ugly). Cu Selur RE: Deoldify Vapoursynth filter - Dan64 - 08.03.2024 (08.03.2024, 20:21)Selur Wrote:Quote:It was not my intention to remove the DeOldify only version.+ I do agree with you, it is better to use dd_method. Before release a new version in github I will send you the draft version, so that we can finalize all the necessary parameters. Thanks, Dan RE: Deoldify Vapoursynth filter - Dan64 - 08.03.2024 I developed another type of Merge. The idea behind is to use the stable values provided by DeOldify, to force DDColor to don't generate an image with colors too different from DeOldify. In the example below I set the threshold to 10%. def AdaptiveMerge3(clipa: vs.VideoNode = None, clipb: vs.VideoNode = None, clipb_weight: float = 0.0) -> vs.VideoNode: Unfortunately Pillow is unable to work with YUV colors, so I must work with RGB colors and then transfer the changes to YUV. Do you have any idea on how it is possible to speed up the code ? also the clamping to 10% is not given the expected results and I don't understand way. Now I'm too tired to think something useful. Any idea is welcome. Thanks, Dan RE: Deoldify Vapoursynth filter - Selur - 08.03.2024 Hmm, about speed up for chroma_smoother: From the looks of it, it might be faster to first convert to numpy array, work on array and then convert back to image. |