Issue with Third party feature extraction
kanlions opened this issue · 7 comments
I was attempting to use the STTRED feature by running as given in the Git instructions as below
matlab -nodisplay -nosplash -nodesktop -r "run_strred('../../python/test/resource/yuv/src01_hrc00_576x324.yuv', '../../python/test/resource/yuv/src01_hrc01_576x324.yuv', 576, 324); exit;"
But I find 1200 frames in STRRED as compared to 600 frames in the VMAF for same set of videos. What is the correct way of running STRRED ?
I can share test outputs if required?
Hi @kanlions, can you please share the outputs? I was under the impression that the src01_hrc00_576x324.yuv file should only have 48 frames...
Apologies for confusion. I had run on a custom video. I am sharing the vmaf and strred generated from this github for the same reference-target pair, I am having difficulty in understanding how twice number of frames are coming for STRRED in comparison to VMAF.
Just a guess since we don't have access to the source video, but is it possible that VMAF and STRRED are using different bit depths? I'm assuming this video has 600 frames, so it is STRRED that is wrong. If the video was 10-bit and STRRED was interpreting it as 8-bit, it would find 2x the frames, but its input would be nonsense.
I am not familiar with this Matlab code but looking here, it seems to be hardcoded to 8-bit, yuv420p inputs. If your video is 10b, maybe the easiest way forward is to downscale it to 8b with ffmpeg, although there will be information loss. You can choose to use dithering to mitigate some artifacts that can appear when downscaling bit depth, such as banding artifacts.
Thanks for your reply. Yes the bit depth is indeed 10 bit. I will try changing to 8bit and rerun and see what happens
Great, please let me know if that didn't work.
@nilfm Thanks for all the support the 8 bit version works fine. But now I have run into challenges https://github.com/Netflix/vmaf/blob/master/python/vmaf/core/matlab_quality_runner.py it may be due to environment clash but I couldnot find any test case for matlab_quality_runner in the test folder. Was there any test case for these features?
@kanlions I believe you're looking for this:
vmaf/python/test/extra/feature_extractor_extratest.py
Lines 25 to 44 in e698b4d
This is not present in master because it was removed 1.5 years ago in this commit, @li-zhi do you know why those tests were removed? Note that they are mentioned in CONTRIBUTING.md
here.
Hopefully that test helps you understand how to call the quality runner. I believe you can use your original 10b file and add "workfile_yuv_type": "yuv420p"
to asset_dict
to have an automatic conversion but I'm not sure the Matlab-related components are set up correctly for that.