facebookarchive / Surround360

Surround360 is Facebook's open source hardware and software for capturing stereoscopic 3D 360 video for VR. The repo contains hardware designs, as well as software for camera control and rendering.
Other
2.17k stars 580 forks source link

About Colorcalibration #236

Open leonz9 opened 7 years ago

leonz9 commented 7 years ago

Hi, In color calibration, the bezier curve is used to fit the illumination of patch, since illumination on different patches are not the same. But in ISP process, the illumination on the center of camera are almost the same. Will this not cause the RGB values get from ISP be different from the RGB value get from calibration process? We got a delta E value less than 2.0 in color calibration process. But the delta E value become worse when comparing each camera's isp_out.png. From the code we know that there are two major differences between color calibration and ISP, the illuminate scale and the gamma. And the gamma value for all the cameras are same, so we think the difference is caused by the illuminate scale.
Could you please answer the question that why using illuminate scale in Color Calibration, and how to make the RGB values get from ISP closer enough to GroudTrue value?

aparrapo commented 6 years ago

Hi @leonz9, sorry for the late reply. Can you post some example images to fully understand the problem you're facing?

You're right. We use Bezier curves to fit uneven illumination on the chart. I'm not sure I understand the part of the illumination on the center of the camera being almost the same.

If you see a worse deltaE after calibration, try removing the Bezier fit and see if that helps. If you post the actual values you're getting (i.e. the output ISP json file) we can take a look at it and debug further.

To get closer to the ground truth value you may want to optimize in Lab space instead of RGB, and make sure you have the right ground truth values for the chart you're using.