Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the version of the SSIM library and provide notes about alternative SSIM implementations #233

Open
omnisip opened this issue Aug 20, 2020 · 1 comment

Comments

@omnisip
Copy link
Contributor

omnisip commented Aug 20, 2020

Part 2 of the big performance improvements for jest-image-snapshot's implementation of SSIM.

In the latest release of SSIM (4.2.0) we made some major improvements to the implementation that increased performance drastically. The first is the rounding issue (#232) which was affecting how it did the conversion to grayscale. The second was the implementation of a new SSIM algorithm ('weber'). It's markedly faster than 'fast' and 'original' and is often faster than bezkrovny, while being almost identical to the original SSIM algorithm. The biggest benefit to this library aside from speed is the fact that it generates high quality SSIM maps, which means better quality diffs at the same or better performance the bezkrovny.

I would like to make this a suggested option for anyone who's willing to try it, and potentially a default option in the future. SSIM.JS is expected to make the new algorithm the default at some point after further testing.

To see how this algorithm performs against the test database and against bezkrovny (our current default) see below. You'll notice that it's slightly more aggressive than Bezkrovny. However, both algorithms correlate better with the mean opinion scores (human evaluations) better than the original/fast implementations.

Mean Opinion Score comparison spreadsheet
image

@github-actions
Copy link

This issue is stale because it has been open 30 days with no activity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant