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.

Improving CodeFormer videos
#13
Hello Selur,

  Usually CodeFormer is used with a Resizer.
  In your example I noted that you used SwinIR, which is a fast and good resizer, but RealESRGAN is better.
  In Hybrid it is possible to apply the RealESRGAN resizer and the CodeFormer.
  But CodeFormer allows to use the RealESRGAN resizer directly in the filter.
  This approach is not supported (are supported only simple resizer like Lanczos).
   I compared the result obtained using RealESRGAN  directly in the filter and the output image is better
   https://imgsli.com/MjM4NTgx 
 
   I used the following script

# Imports import vapoursynth as vs # getting Vapoursynth core import ctypes import os import site core = vs.core # Adding torch dependencies to PATH path = site.getsitepackages()[0]+'/torch_dependencies/bin/' ctypes.windll.kernel32.SetDllDirectoryW(path) path = path.replace('\\', '/') os.environ["PATH"] = path + os.pathsep + os.environ["PATH"] # Loading Plugins core.std.LoadPlugin(path="D:/Programs/Hybrid/64bit/vsfilters/Support/fmtconv.dll") core.std.LoadPlugin(path="D:/Programs/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll") # source: 'E:\VideoTest\CodeFormer\Selur\suzie_lossless.mp4' # current color space: YUV444P8, bit depth: 8, resolution: 176x144, fps: 29.97, color matrix: 470bg, yuv luminance scale: limited, scanorder: progressive # Loading E:\VideoTest\CodeFormer\Selur\suzie_lossless.mp4 using LWLibavSource clip = core.lsmas.LWLibavSource(source="E:/VideoTest/CodeFormer/Selur/suzie_lossless.mp4", format="YUV444P8", stream_index=0, cache=0, fpsnum=30000, fpsden=1001, prefer_hw=0) frame = clip.get_frame(0) # Setting detected color matrix (470bg). clip = core.std.SetFrameProps(clip, _Matrix=5) # Setting color transfer (to 470bg), if it is not set. if '_Transfer' not in frame.props or not frame.props['_Transfer']:   clip = core.std.SetFrameProps(clip, _Transfer=5) # Setting color primaries info (to 5), if it is not set. if '_Primaries' not in frame.props or not frame.props['_Primaries']:   clip = core.std.SetFrameProps(clip, _Primaries=5) # Setting color range to TV (limited) range. clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1) # making sure frame rate is set to 29.97 clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001) clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=0) # progressive from vsrealesrgan import realesrgan as RealESRGAN # adjusting color space from YUV444P8 to RGBH for vsRealESRGAN clipBG = core.resize.Bicubic(clip=clip, format=vs.RGBH, matrix_in_s="470bg", range_s="limited") # resizing using RealESRGAN clipBG = RealESRGAN(clip=clipBG, model=2, device_index=0, trt=True, trt_cache_path=r"E:\VideoTest\CodeFormer\Selur") # 704x576 # changing range from limited to full range clipBG = core.resize.Bicubic(clipBG, range_in_s="limited", range_s="full") clip = core.resize.Bicubic(clip, range_in_s="limited", range_s="full") # adjusting color space from RGBH to RGB24 for vsCodeFormer clipBG = core.resize.Bicubic(clip=clipBG, format=vs.RGB24, range_s="full", dither_type="error_diffusion") clip = core.resize.Bicubic(clip=clip, format=vs.RGB24, range_s="full", dither_type="error_diffusion") # Blind Face Restoration using CodeFormer #clipBG = core.resize.Lanczos(clip, width=704, height=576) # 704x576 from vscodeformer import codeformer as CodeFormer clip = CodeFormer(clip=clip, upscale=4, weight=1.000, only_center_face=False, num_streams=4, bg_clip=clipBG) # 704x576 # changing range from full to limited range clip = core.resize.Bicubic(clip, range_in_s="full", range_s="limited") # adjusting output color from: RGB24 to YUV420P10 for x265Model clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, matrix_s="470bg", range_s="limited") # adjusted resizing to achieve PAR 1:1 for preview # resizing for preview to square pixel to 770x576 clip = core.resize.Bicubic(clip=clip, width=770, height=576) # set output frame rate to 29.97fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001) # Output clip.set_output()


   It is possible to add this type of resize in Hybrid ?

Thanks
Dan

P.S.
Given the special combination of Resizer and CodeFormer, could be better add this capability in the Resizer page of RealESRGAN, because after CodeFormer the video is upscaled
Reply


Messages In This Thread
Improving CodeFormer videos - by Dan64 - 06.02.2024, 19:59
RE: Improving CodeFormer videos - by Selur - 06.02.2024, 20:08
RE: Improving CodeFormer videos - by Dan64 - 06.02.2024, 21:28
RE: Improving CodeFormer videos - by Selur - 07.02.2024, 15:37
RE: Improving CodeFormer videos - by Dan64 - 07.02.2024, 17:01
RE: Improving CodeFormer videos - by Selur - 07.02.2024, 17:04
RE: Improving CodeFormer videos - by Dan64 - 07.02.2024, 17:23
RE: Improving CodeFormer videos - by Selur - 07.02.2024, 17:48
RE: Improving CodeFormer videos - by Dan64 - 07.02.2024, 18:43
RE: Improving CodeFormer videos - by Selur - 07.02.2024, 19:43
RE: Improving CodeFormer videos - by Dan64 - 07.02.2024, 20:18
RE: Improving CodeFormer videos - by Selur - 07.02.2024, 20:20
RE: Improving CodeFormer videos - by Dan64 - 08.02.2024, 00:41
RE: Improving CodeFormer videos - by Selur - 08.02.2024, 05:47
RE: Improving CodeFormer videos - by Dan64 - 08.02.2024, 18:35
RE: Improving CodeFormer videos - by Selur - 08.02.2024, 19:09
RE: Improving CodeFormer videos - by Selur - 08.02.2024, 20:08
RE: Improving CodeFormer videos - by Dan64 - 09.02.2024, 19:04
RE: Improving CodeFormer videos - by Selur - 09.02.2024, 19:20
RE: Improving CodeFormer videos - by Selur - 09.02.2024, 19:44
RE: Improving CodeFormer videos - by Dan64 - 10.02.2024, 00:32
RE: Improving CodeFormer videos - by Dan64 - 10.02.2024, 11:27
RE: Improving CodeFormer videos - by Selur - 10.02.2024, 11:43
RE: Improving CodeFormer videos - by Dan64 - 10.02.2024, 19:21
RE: Improving CodeFormer videos - by Selur - 10.02.2024, 19:37
RE: Improving CodeFormer videos - by Dan64 - 10.02.2024, 20:02
RE: Improving CodeFormer videos - by Selur - 11.02.2024, 16:57
RE: Improving CodeFormer videos - by Dan64 - 12.02.2024, 22:11
RE: Improving CodeFormer videos - by Selur - 13.02.2024, 21:00
RE: Improving CodeFormer videos - by Dan64 - 13.02.2024, 21:51
RE: Improving CodeFormer videos - by Selur - 13.02.2024, 22:31
RE: Improving CodeFormer videos - by Dan64 - 13.02.2024, 23:53
RE: Improving CodeFormer videos - by Dan64 - 14.02.2024, 01:05
RE: Improving CodeFormer videos - by Selur - 14.02.2024, 06:40
RE: Improving CodeFormer videos - by Dan64 - 14.02.2024, 09:26
RE: Improving CodeFormer videos - by Selur - 14.02.2024, 09:37
RE: Improving CodeFormer videos - by Dan64 - 14.02.2024, 09:40
RE: Improving CodeFormer videos - by Selur - 14.02.2024, 09:42
RE: Improving CodeFormer videos - by Dan64 - 14.02.2024, 10:19
RE: Improving CodeFormer videos - by Selur - 14.02.2024, 10:22
RE: Improving CodeFormer videos - by Dan64 - 14.02.2024, 10:24
RE: Improving CodeFormer videos - by Selur - 14.02.2024, 16:40
RE: Improving CodeFormer videos - by Selur - 14.02.2024, 18:52
RE: Improving CodeFormer videos - by Dan64 - 14.02.2024, 21:32
RE: Improving CodeFormer videos - by Selur - 14.02.2024, 21:37
RE: Improving CodeFormer videos - by Dan64 - 14.02.2024, 21:37
RE: Improving CodeFormer videos - by Selur - 14.02.2024, 21:38
RE: Improving CodeFormer videos - by Dan64 - 14.02.2024, 21:40
RE: Improving CodeFormer videos - by Selur - 14.02.2024, 21:45
RE: Improving CodeFormer videos - by Dan64 - 14.02.2024, 21:48
RE: Improving CodeFormer videos - by Dan64 - 15.02.2024, 04:33
RE: Improving CodeFormer videos - by Selur - 15.02.2024, 06:28
RE: Improving CodeFormer videos - by Dan64 - 15.02.2024, 18:44
RE: Improving CodeFormer videos - by Selur - 15.02.2024, 19:02
RE: Improving CodeFormer videos - by Dan64 - 15.02.2024, 22:47
RE: Improving CodeFormer videos - by Selur - 16.02.2024, 05:33
RE: Improving CodeFormer videos - by Dan64 - 16.02.2024, 07:41
RE: Improving CodeFormer videos - by Dan64 - 16.02.2024, 19:01
RE: Improving CodeFormer videos - by Selur - 16.02.2024, 19:15
RE: Improving CodeFormer videos - by Selur - 16.02.2024, 19:31
RE: Improving CodeFormer videos - by Dan64 - 16.02.2024, 21:23
RE: Improving CodeFormer videos - by Selur - 16.02.2024, 21:42
RE: Improving CodeFormer videos - by Dan64 - 18.02.2024, 12:33
RE: Improving CodeFormer videos - by Selur - 18.02.2024, 13:05
RE: Improving CodeFormer videos - by Dan64 - 18.02.2024, 13:28
RE: Improving CodeFormer videos - by Selur - 18.02.2024, 13:38
RE: Improving CodeFormer videos - by Dan64 - 18.02.2024, 20:19
RE: Improving CodeFormer videos - by Selur - 18.02.2024, 20:23
RE: Improving CodeFormer videos - by Dan64 - 25.02.2024, 18:55
RE: Improving CodeFormer videos - by Selur - 25.02.2024, 19:12
RE: Improving CodeFormer videos - by Dan64 - 01.03.2024, 20:20
RE: Improving CodeFormer videos - by Selur - 01.03.2024, 20:24
RE: Improving CodeFormer videos - by Dan64 - 11.06.2024, 19:01
RE: Improving CodeFormer videos - by Selur - 11.06.2024, 19:02
RE: Improving CodeFormer videos - by Selur - 12.06.2024, 06:52

Forum Jump:


Users browsing this thread: 1 Guest(s)