Illuminant Estimation with Projections on Planckian Locus
How to use this demo
This demo aims at demonstrating the abilities of the PPL (projections on planckian locus) algorithm.
It allows you to upload an image, set a white reference from a white chart in the picture, remove this white chart,
and finally run several algorithms and compare how well they estimate the illuminant.
All the algorithms rely linear images, which means that we remove the gamma correction before computing the estimation.
Therefore, the errors are as well are computed on linear images.
First upload an image using the file selector in the top left part of this page.
Select a white reference using shift+dragging to select a rectangular area on the image.
The estimation is done by averaging the pixels selected. A corresponding scatter plot will also appeared in the chromaticity diagram.
On the left panel, replace "White patch selection" with "White chart removal" option. Then
using shift+dragging on the image you will be able to remove this white chart to avoid biasing the estimations.
Then you can click on launch the benchmark button. Processing may take up to one minute.
Once it finishes, you can choose the correction to apply on the image via the "Correction done with" selector.
A small log will also be displayed, summing up the errors obtained for each algorithm.
Navigation in the picture may be done using dragging for translation and mouse wheel for zoom in/out.
Click on the image or on the chromaticity diagram will correct the image white balance based either
on the pixel color or the chromaticity selected.
Depending on the Image selection field value, shift+dragging on the image diagram will:
Select a white patch reference by averaging the pixels, and plot the chromaticities into the chromaticity diagram.
Select and remove part of the picture.
Produce a scatter plot of the selected pixels.
Please be careful with large areas selection they can slow down the application significantly..
The option field set allows you to choose in which diagram the chromaticities are displayed. as well as the rendering illuminant.
To prevent browser crashes and reduce the time required, the allowed image size has been restricted to stay in the range 1200x1200.
Note that this demo tested was only Chrome and Firefox web browsers, and might not work with the others.
The code and parameters used to compute grey-world, grey-edge, shades-of-grey and white-patch results results
from an adaptation of a matlab code by Joost Van-de-Weijer that can be found on his webpage.