CS1290 Project 5: High Dynamic Range

Name: Chen Xu
login: chenx

Algorithm Design

This project mainly has two parts: recovering high dynamic range radiance map and tone mapping:

1. To recover high dynamic range radiance map, we need a tile of images for the same objects or scene but under different illumination conditions or different camera exposure time. The idea is pixel value is a function of unknown scene radiance and know exposure duration: Zij = f(Ei Δ tj ). We want to find the radiance E at every pixel i. For this purpose, we need to know pixel values Zi under multiple exposure times, and solve a least square problem.

2. Once we get the recovered radiance map, we need to map that radiance map to the range [0, 1] so that it can be displayed. To do that, we decompose the radiance map into two layers, the detail layer and the base layer, using bilateral filtering. We do some kinds of linear mapping for the base layer and finally reconstruct the image using the detail layer and the mapped based layer. We can also do gamma correction at the end if it's needed. This method can not only keep the details of the image, but also avoid the halo artifacts.

Results of Texture Synthesis

Table 1 shows the g curve and the visualization of radiance map. For the tone mapping part, tuning dR for each test case is a very important thing, and sometimes I feel in this equation O = dR * 2^(B' + D), using dR or not in this equation also makes difference. Through out the project, the Gaussian kernel size of bilateral filtering is set like this: for f, the kernel size is 0.02 of the image size, and for g, the sigma value is 0.4.

I realize the blue g function curve of the chapel example goes to left a little bit at the top, I think this is caused by the blue borders in the original image tiles, those blue borders are introduced by image alignment. And this also causes the resulting tone mapping image a little bluer than it should be.

g curve Radiance Map

Table 2 shows bilateral filtering results

Radiance Map(Log scale) Base Detail

Results of Texture Transfer

Table 3 shows results of tone mapping as well as simple scale and linear compression

Tone Mapping(Durand) Global Scale