MATLAB: What is ground truth image? how to create it in matlab?

ground truthground truth image

Hi everyone,
I want to compare PSNR between some edge detection operator and the ground truth image.. But I confuse what the ground truth image is?? and how to create it in matlab?? thanks

Best Answer

"Ground truth" means a set of measurements that is known to be much more accurate than measurements from the system you are testing.
For example, suppose you are testing a stereo vision system to see how well it can estimate 3D positions. The "ground truth" might be the positions given by a laser rangefinder which is known to be much more accurate than the camera system.
Sometimes synthetic data are generated from a model, to test a system whose goal is to estimate parameters of the model. In such cases the "ground truth" is the known parameters of the model. Again stereo vision provides a good example: computer graphics can generate synthetic images from a 3D model, and then a stereo vision system can try to reconstruct the model. The original model is the "ground truth".
In the case of edge detection, it's much less clear what "ground truth" means, and in fact I don't think it's well defined, as edge detection generally involves making some (more or less) arbitrary choices. Nonetheless, I can think of two possible candidates: one is the output of an edge-detector which is generally accepted to be high-quality; the other is the edges drawn by an expert human looking at the image. Neither of these is really ground truth, however, and the term "gold standard" would be more applicable.
This comes down to a question to you: what is your ultimate goal? That is, why do you want "ground truth"?