[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip / qa] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


[Advertise on 4chan]


File: squid_word.jpg (47 KB, 498x306)
47 KB
47 KB JPG
I FUCKING FIGURED OUT how to use VMAF with AVIF images. For those who don't know Jpeg XL has been caught cheating in DSSIM by using modular encoding which produces nasty pixilation artefacts. VMAF is somewhat resistent to this cheat but nobody could figure out how to use it for images since it only accepts Y4M video.

It turns out VMAF needs many frames to sample from to create a usable score so 1 FPS video is no good. 30 FPS video even of 1 second duration is perfectly okay thoughbeit. This took me weeks to figure out. FUCK. VMAF was primarily trained on a 1080p HDTV so it's most accurate with 1080p images. Only scores of 95 or above seem to correlate with high quality images.


@echo off
for %%s in (*.png) do (
ffmpeg -framerate 1 -i "%%s" -loglevel error -hide_banner ^
-r 30 -pix_fmt yuv444p ref.y4m
)

for %%s in (*.avif) do (
ffmpeg -i "%%s" -hide_banner -loglevel error ^
-pix_fmt rgb24 avif.png

ffmpeg -framerate 1 -i avif.png -loglevel error -hide_banner ^
-r 30 -pix_fmt yuv444p dis.y4m
)

vmaf -r ref.y4m -d dis.y4m
cmd /k


94.94 VMAF 56KB VarDCT Jpeg XL (cjxl -q 70 -m 0 -e 9)
https://files.catbox.moe/dhi7z4.jxl

95.82 VMAF 47KB Modular/SSIM cheat Jpeg XL (cjxl -q 60 -m 1 -e 9)
https://files.catbox.moe/3h7w8q.jxl

95.04 VMAF 29KB AVIF (-d 10 -y 444 -q 60 -s 0 --cicp 1/13/1)
https://files.catbox.moe/fjsxfc.avif
>>
File: in.png (727 KB, 1920x1080)
727 KB
727 KB PNG
Test image used.
>>
File: in.png (741 KB, 1920x1080)
741 KB
741 KB PNG
Another example. Pay close attention to the hair outlines. You can see the pixelation even at 100% zoom.

95.09 VMAF 60KB VarDCT Jpeg XL (cjxl -q 80 -m 0 -e 9)
https://files.catbox.moe/a9mhi3.jxl

95.57 VMAF 58KB Modular/SSIM cheat Jpeg XL (cjxl -q 80 -m 1 -e 9)
https://files.catbox.moe/037f2o.jxl

95.56 VMAF 28KB AVIF (-d 10 -y 444 -q 70 -s 0 --cicp 1/13/1)
https://files.catbox.moe/9xhtif.avif
>>
Has anyone made a simple GUI thing for getting VMAF scores from images/video yet? I don't have time to learn how to be a hacker just to know if quality is dogshit or not.
>>
>>102103492
There's one on github... but you still have to make the Y4M video files first.
>>
>>102102709
VMAF is for video.
>>
>>102103618
Traditionally, yeah. It can still measure distortions of images. Problem was I kept getting 100 VMAF when I fed it 1 FPS Y4M. When I changed it to 30 FPS it was able to generate a sensible score.

I guess vmaf just demands multiple "samples" else it will give you a bullshit score. Anyway the point is it's a breddy good metric that resists Jpeg XL cheating in quality metrics with the modular encoding setting.
>>
>>102103657
It demands multiple samples because it's impossible to measure the video quality of a still image.
>>
isn't this work important
>>
So much yap when jpeg xl rapes your mutilated image format from an already troon video format
Sneed
>>
File: 1723232700704.png (518 KB, 1920x887)
518 KB
518 KB PNG
>>102105842
Yes, BY CHEATING.

That said AVIF only has an edge with speed 0 and mostly at low-medium quality so it's not going to be popular for a while. Webp also suffered similar problems but M6 + yuvsharp now encodes 4K images under 1 second on my 2200G shitbox.
>>
>>102102709
>cheating in DSSIM by using modular encoding
You have no clue what you're talking about. Your reasoning and choices are all baseless. Most of what you're saying is just nonsense.
>>
>>102106861
DSSIM scores are higher but quality is worse so the DSSIM scores become invalid.

Modular causes these strange pixilation artefacts around anime outlines like shown better in >>102103405
>>
>>102106958
You intentionally avoid superior metrics because of FUD reasons that you keep making up. Your reasoning is unscientific and you keep spouting complete and utter nonsense like that Modular mode is cheating rather than that the metric is flawed.
At least your shitposts are contained to /g/, where image format discussions are meaningless anyway.
>>
>>102103673
VMAF as far as I know takes both temporal and spatial information into account so in this case each of the 30 frames in this frankenstein Y4M output would still be judged on the spatial data.

I get higher VMAF scores with quality 80-90 AVIF and lower ones with quality 40-50 so they don't seem like garbage output. That said the usable range becomes much much higher to the point where anything below 90 VMAF for spatial data = ultra dogshit quality.

I plan to do a test with mozJPEG/Webp vs AVIF at multiple quality ranges in the future with VMAF to confirm accuracy. If the mozjpeg and webp file sizes yield similar file sizes for similar scores we'll know it's going to become the next golden standard IMHO.
>>
>>102102709
Why would you want to?
https://github.com/cloudinary/ssimulacra2
>>
>>102106979
Phoneposter here: Even my 500+ PPI phone shows a significant quality difference.

Modular jpeg xl getting better scores across multiple quality metrics is pretty SUS in my opinion. Even in AVIF it's able to fudge the numbers somewhat. More importantly it really fucks with the numbers in the jewish ssimulacra2 metric which the jew himself claimed was going to be the best quality metric until the end of time.
>>
>>102107164
Sorry forgot to quote you, see post below you.

Picrel is AVIF output.
>>
>>102107178
>pretty SUS in my opinion
>jewish ssimulacra2
>the jew himself
>the best quality metric until the end of time
Yeah, you're completely deranged. Good luck having a constructive discussion this way anywhere outside of here.
>>
>>102107178
>even in AVIF
even in VMAF*
>>
>>102107213
>"He cries out in pain as he strikes you."
>>
>>102107213
ssimulacra2 was created by the same person who created jpeg xl so he would have been the FIRST person to notice the failure of DSSIM to pick up on modular jpeg xl pixelation artefacts.

Of course instead of playing fair he chose to conveniently not fix this problem.
>>
>>102102709
VMAF is for fucking video and it favors the kind of blurring/smearing artifacts AV1 creates, you mouthbreathing mongoloid retard. You couldn't have chosen a better OP image.
>>
>>102108601
No, it's just optimized better for video. It can still give you a score for images but the real problem is the range becomes limited. Scores below 90 VMAF for images don't really mean anything useful. Only scores of 95 or higher are relevant.

Not sure if it's optimized for AVIF like you assume but the close to 100 the more likely someone is to fail ABX testing. If that's 97/98/99, I have no fucking idea thoughbeit.
>>
>>102108710
Still, it's meant as a perceptual comparison and the models are based on the kind of artifacts you see in motion - of which you'll have none...
I don't think an equivalent model has been developed for still images but I honestly haven't looked into it much.
Doesn't elGoog resort to having people just A/B rate things when they test image codecs? Y'know, with their eyeballs?
>>
>>102102709
just use jpg
>>
>>102102709

use PNG if you don't want artifacts, retard. jpeg is a social media format designed to sacrifice quality for scalablity.
>>
>>102102709
english please
>>
>>102102709
Okay now do a transparent one without losing the alpha channel and you win me
>>
>>102102709
Not using a video codec for storing images.
Fuck off with your retarded webp3

sage
>>
>>102108710
It is FOR VIDEOS.
I am not comparing images with your video bullshit.
>>
>>102108710
Motion blur is a thing, so of course an algorithm for videos will be more acceptable of blurry mosh, which is what AVIF produces. It isnt optimized for AVIF, it is optimized for videos and AVIF is a video codec.

It is completely useless for images.

Stop cheating and don't pretend that a picture is a video.
>>
File: 1441937843831.jpg (100 KB, 483x316)
100 KB
100 KB JPG
>>102111194
>"VMAF is NOT for images!"
>"AVIF is NOT an image codec it's a video codec!"

Huh, so which one is it?
>>
>>102111081
You can trick VMAF into scoring how good or bad images look now but the scores normally used for video don't correlate with scores used for images.

For example regarding video VMAF 80-90 means "good" quality BUT an image that scores 90 VMAF already looks "low" quality.
>>
>>102111194
The design of AVIF (AV1) is explicitly optimized for VMAF, though.
>>
File: 1724644771567476.png (1.66 MB, 1998x1998)
1.66 MB
1.66 MB PNG
BUMP

Come defend your cheating image codec you fags. I trusted DSSIM like a brother.
>>
>>102112400
There's nothing to defend. There's not even anything to discuss here. These threads are half FUD shitposting and half pure nonsense. If I wanted to talk about image formats, I'd do it somewhere else.
>>
>>102112400
>1.9 MiB PNG
Congrats, all the saved bandwidth from your teeny tiny very compressed looking samples, out the window.

JPEG-XL is still the only new image format that can take the q90 JPEG that already looks "good" to me and make it half the size. With no other input, no color fuckery, no special switches, and no bullshit. If my JPEG was 4:4:4 then the JXL will be too. And it will give me the exact same JPEG out the other end too.

AVIF is a fucking meme and I don't care about images that look "OK" at 10 KiB - I care about taking something already perceptually transparent and just making it smaller.
Lossy video compression of an already lossy image can NEVER acheive that.
>>
>>102102717
Right.
Now use something photorealistic.
Not something literally designed as a motion picture to be used on an image format derived from a video codec designed to do, you guessed it, compress motion pictures.

But, of course, we all know you're here to shill AVIF.

Also, surprised it took you this long to 'discover' VMAF (lol nooob), ffmpeg has had a VMAF filter since forever, by now.
>>
>>102112985
*Also, you're omitting the fact AVIF takes 5x as long to compress it, bump up the effort on JXL or lower it on AVIF.
>>
>>102102709
kk
I'll stick to .jpg .png and .tif, thanks.
>>
File: ssim.png (1.45 MB, 1920x1080)
1.45 MB
1.45 MB PNG
AV1/AVIF with --tune=ssim at 12630 bytes.


[Parsed_libvmaf_0 @ 0x738fc0002a40] VMAF score: 81.156089
>>
File: vmaf.png (1.34 MB, 1920x1080)
1.34 MB
1.34 MB PNG
>>102113811
AV1/AVIF with --tune=vmaf at 12666 bytes.

[Parsed_libvmaf_0 @ 0x718828002a40] VMAF score: 91.280158
>>
>>102107178
>>102107198
Then try butteraugli or XPSNR.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.