Flat Field Correction (FFC) in cameras for Machine Vision Part 2
Flat field correction is a widely used term as a lot of industrial and machine vision cameras have some form of correction algorithms to overcome image artifacts. However not all forms of flat field correction are the same and with the growing amount of pixels on a sensor, the variations in methods of how a flat field is achieved has only increased. In this article we will clarify the existing correction mechanisms.
The term flat field correction (FFC) is often used for corrections that are related to pixel to pixel variations in sensitivity and dark current, e.g. photo response non uniformities (PRNU) and dark signal non-uniformities (DSNU). However, corrections for artifacts caused by the illumination and illumination optics are said to be FFC related as well. In all cases, what you would like to achieve is a flat camera image, e.g. a flat field.
However, there is an important difference between pixel to pixel variations, like PRNU and DSNU, and distortions in the optical path. The former are often high frequency corrections while the latter are in general low frequency corrections.
For cameras with a low pixel resolution this difference is not extremely important. These cameras are able to perform a pixel to pixel calibration (pixel based FFC) which can correct for both, low and high frequency defects. However high pixel resolution cameras cannot always correct on a pixel to pixel basis as it takes too much storage capacity to store a full correction image in the camera. These cameras often have a column wise correction for PRNU and DSNU instead of a pixel to pixel correction (column based FFC). The column correction is a high frequency correction that does not correct low frequency defects.
To correct for low frequency defects in high resolution cameras, a separate algorithm is used that is not related to the column correction at all. This algorithm divides the sensor in smaller square segments consisting of a bunch of pixels. These segments will be treated as if they are single pixels. Therefore the segments are often referred to as being super pixels. An average value is determined for each super pixel and a model is fitted to describe the low frequency value of all the super pixels together (The quality and choice of model is often proprietary of the camera manufacturer). This model is then used to calculate a correction factor for each pixel such that low frequency variations can be corrected for. This variant of FFC we refer to as low frequency FFC.
To summarize this article, let’s put the different versions of FFC in a table and indicate which artifacts are corrected for. Furthermore we illustrated the differences in a figure.
FFC variant | High frequency (noise) correction | Low frequency (illumination/optics) correction |
Pixel based FFC | YES | YES |
Column based FFC | YES (column wise only) | NO |
Low frequency FFC | NO | YES |
Figure 1. A graphical representation of the differences between the various flat field correction mechanisms. For pixel based FFC (a) a correction value is stored for each pixel. For column based FFC (b) a correction value is stored for each column. For low frequency FFC (c) a value is stored for each superpixel.
Depending on the image sensor used and its resolution, the different types of FFC are applied for the best image quality. The quality of the FFC is dependent on how well the camera manufacturer has implemented the correction algorithm into the camera. This means that the FFC of one camera manufacturer is not the same compared to the FFC of another camera.
Click here if you want to know how to use flat field correction in practice.