UkcheolShin / MS2-MultiSpectralStereoDataset

This is the official GitHub page of the Multi-Spectral Stereo (MS2) dataset described in CVPR 2023 paper.
https://sites.google.com/view/multi-spectral-stereo-dataset
47 stars 4 forks source link

Thermal looks all black #1

Open iamprakhargupta opened 1 year ago

iamprakhargupta commented 1 year ago

Hi I recently downloaded the dataset the thermal image looks all black when you view it in photo viewer can someone tell me how to fix this so i can actually view in a viewer

UkcheolShin commented 1 year ago

Hi, I provide a thermal image as a uint16 data type. You can look around the images using the Python file (demo.py). If you want to view the images with any viewer, you need to convert the datatype and rearrange the value range from uint16 (0-2^16) to uint8 (0-255).

GopiRajuMatta commented 1 year ago

Hello @UkcheolShin,

Thank you for the wonderful dataset!

Can you please provide bit detailed information for the above..

In demo.py, Raw2Celsius was used to display thermal images. It is bringing images to uint8(0-255) range as maximum average temperate is 45, won't this be enough?

I can scale maximum temperature in particular sequence to 255 to visualize it better..

Thank you Gopi

iariav commented 11 months ago

+1 also would like to know how to normalize the thermal images

UkcheolShin commented 9 months ago

Hi, sorry for the late response, I've been extremely busy with my schedule for the past few months.

@GopiRajuMatta , Yes, if you aim for visualization purposes in a specific scenario only, image conversion with a fixed range (e.g., 0-45 temp or min-max temp of the raw image) works fine.

But as asked by @iariav , it is tricky when you use the image in the neural network. The fixed range doesn't handle the whole temperature range, such as winter, fall, spring, summer, indoor, or outdoor. There are numerous options for thermal image normalization. 1) Normalization with uint16 range (0~2^16-1) : the range is too wide, it doesn't provide good generalization performance as usual. 2) Normalization with min-max values of each raw image. : Not bad, but in some cases, the max value and min value are too different compared to most values within images. The edge cases are usually caused by the sun or other heat suppliers. 3) Normalization with x~(100-x) % value of each raw image histogram. : this method I use in practice. I normalize the raw image with 1% and 99% values of the raw thermal image histogram. In my experience, It performed best and fit well in generalization ability across the seasons.

AbbosAbdullayev commented 6 months ago

@UkcheolShin how to recalculate temperature values from raw 16-bit image?