This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

[Feature Request] Add support to vs-ddcolor
#1
Hello Selur,

  I noted that recently HolyWu added the vs-ddcolor filter: vs-ddcolor
  Since colorize images can be view as a special case of image restoration, it would be very nice if you can add the support of this filter in Hybrid.

Thanks,
Dan
Reply
#2
Hybrid already has support for it. (since Sat, 2 Dec 2023)

Cu Selur
Reply
#3
Sorry, I found it in the page Vapoursynth->Color->Basic.
In Hybrid there are so many filters that it is not easy to check all of them, moreover in the change log this filter was not included.
Also is not listed in the Hybrid startup-log as available filter.

Anyway I tried to use it using the last dev version "2024.01.05.1", but is not enabled.
I checked the filter "DDColor", but in the generate script the filter is not included.
Moreover it is not possible to select the model (for movies the model "modelscope" should be the most appropriate).

Could you check ?

Thanks,
Dan
Reply
#4
Are you using the latest torch addon download?
Does 'Hybrid\64bit\Vapoursynth\Lib\site-packages\vsddcolor' exist?

I just checked, here:
Avisynth+ is available,..
    DGDecNV available,..
   Vapoursynth is available,..
    DGDecNV available,..
    VSGAN available,..
    vsDPIR available,..
    vsRIFE (torch) available,..
    vsGMFSS fortuna available,..
    vsBasicVSR++ available,..
    vsRealESRGAN available,..
    vsSwinIR available,..
    vsHINet available,..
    vsAnimeSR available,..
    vsFeMaSR available,..
    vsSCUNet available,..
    vsCodeFormer available,..
    vsGRLIR available,..
    vsDDColor available,..
    VSMLRT available,..
    vsRIFE (mlrt) available,..
    vsDPIR (mlrt) available,..
    vsSAFA (mlrt) available,..
and here it is listed as "vsDDColor available,.." and does work.
# adjusting color space from YUV420P8 to RGBH for vsDDColor
clip = core.resize.Bicubic(clip=clip, format=vs.RGBH, matrix_in_s="470bg", range_s="limited")
# adding colors using DDColor
from vsddcolor import ddcolor
clip = ddcolor(clip=clip, model=1)

Ah, the UI elements do not get removed if ddcolor isn't present. => I will fix that. (fixed locally)

Cu Selur
Reply
#5
I noted that in Hybrid the DDColor filter has the option to enable FP16 computation. 
When I check the FP16 option, the encoding speed increase by about 60%.

I noted that by enabling FP16 computation the conversion of color space applied is RGBH, while when FP16 is uncecked is applied RGBS.

Do you know if there is other significant difference is using the 2 color spaces in terms of final image quality ?
Reply
#6
Quote:I noted that by enabling FP16 computation the conversion of color space applied is RGBH, while when FP16 is uncecked is applied RGBS.
Yes, that is the difference between FP16 and FP32. One works with 16bit precision (RGBH) and the other works with 32bit precision (RGBS).
Only RGBH and RGBS formats are supported. RGBH uses the bfloat16 data type for inference while RGBS uses the float32 data type.
source: https://github.com/HolyWu/vs-ddcolor/blo...C54-L28C99

Quote:Do you know if there is other significant difference is using the 2 color spaces in terms of final image quality ?
Usually, the difference between using 16bit and 32bit is minimal at best.

Cu Selur
Reply
#7
Hello Selur,

   I tried to apply "ddcolor" filter to colorize a BW movie.
   But sometime in the movie the filter provides flashing colors, and I'd like to find a way to reduced this effect.
  
   At the following link you can find a sample, that once has been colorized with "ddcolor" will have the reported problem

   https://filebin.net/yf0on2jxae90ip19

   Do you know if there is a filter in Hybrid that can be used to reduce the flashing color effect ?  

Thanks,
Dan

P.S.
The movie will be deleted after 6 days
Reply
#8
short: no clue
longer:
I only used ddcolor so far on a few small samples.
I saw such flickering with other colorization methods (like deoldify) too.
Given that ddcolor is rather slow (at least on my system), I would recommend to:
1. first try to find good ddcolor settings
2. export to a lossless format
3. take that as source and try to stabilize
No clue how to stabilize these flickering, I would be surprised if any of the filters currently in Hybrid could really help with this.
Maybe looking the output in 'splitYUV' can give some inspiration.
First thing is probably trying to get a feel for what triggers the flickering. (if smoothing the source strongly before applying ddcolor would help, one could later write something to take the UV channels from a smoothed source and Y from a sharper version,..)
-> no clue,.. Angel

Cu Selur

Ps.: main problem is that all the coloring stuff I'm aware of is meant for images and thus has no temporal awareness and the used models are not trained on much data.
PPs.: compression artifacts might also improve the problem, looking at your file with retinex enabled, it's quite blocky.
PPPs.: attached a colorized version (script used: https://pastebin.com/qHnpa81b), I doubt that this can be really color stabilized.


Attached Files
.zip   Video.720p.ddcolor.mp4.zip (Size: 14,4 MB / Downloads: 14)
Reply
#9
Hello Selur,

   thanks for your suggestion. In my experience "ddcolor" is faster than "deoldify" (with render factor > 20). In "deoldify" using a high render_factor it is possible to reduce the flashing, but in any case has the same problem of "chameleon effect", especially on clothes, shown in "ddcolor". At the moment the best solution that I found is to "merge" ddcolor with deoldify, but the flashing effect introduced is still visible. Unfortunately for "deoldfy" is missing a Vapoursynth implementation.

Dan
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)