Flat field correction on CMOS cameras – for better or for worse?

Posted by Gretchen Alper on Thu, Mar 6, 2014

Flat-Field Correction (FFC) can be done with both CCD and CMOS-based cameras to correct for sensor artifacts, lens artifacts, and illumination artifacts (shading).  The purpose of flat field correction is to ensure image uniformity regardless of exposure.  


With CMOS sensor-based cameras, FFC is especially important to minimize or even remove sensor artifacts and improve the image uniformity, as there are often performance discrepancies between pixels. Flat field Correction can be done right in the camera or elsewhere in the system such as on the frame grabber or CPU/GPU.  This function can impact the size of the camera so is often done off camera with general-purpose cameras.  But, it is done more accurately on camera, which saves processing power and time required in the system so it is a trade-off to consider.  The main reason it is more accurate to do FFC in the camera is because image processing is done in 12 bits inside the camera rather than 10 bits or 8 bits later in the imaging chain.

When done in the camera, “image-maps” are created and stored in the camera to calibrate the image sensor for equal response of all of the pixels.  For some cameras, there is an automatic loop to adjust the calibration for temperature changes since imperfections are temperature dependent.  A few machine vision cameras contain algorithms for in-field FFC as well.  This is done to compensate for imperfections in the optics and lighting set-up in system, like shading effects. These cameras may also enable storage of multiple calibration set-ups so the user can switch instantly during operation between different lighting-optics, optical filters and other setups when required.  

However, FFC is not necessarily THE cure for all non-uniformities and be cautious assuming all flat field corrections have the same result!  FFC is a coarse way to deal with non-uniformity and blemishes by applying offset and gain corrections to each pixel.  But a penalty will be paid to noise and dynamic range when tuning of the sensor performance and inaccurate definitions of the FFC correction set(s) is not done carefully. For instance, excessive gain correction not only smoothens the brightness levels in FFC, it also enhances noise locally in the images, which in fact is counteractive to uniformity.  Flattening the offset (due to signal generation in dark) limits all of the pixels to the performance of those with the highest offset for example.  With an over compensation of offset, the effective dynamic range is reduced.

When the image sensor is not optimized first, there will be a loss of details possible to the extent less or not at all usable for application processing.  A more accurate approach is to first program and control the sensor to minimize the number of uniformities coming out in the first place and then apply the correct FFC controls.  This can be achieved by understanding what needs to be compensated for with each image sensor model.  The goal is to tune the image sensor to minimize what needs to be corrected with flat field correction to minimize increasing noise and limiting dynamic range.  As vision application builder you want to increases spatial uniformity without increasing the noise or losing dynamic range. 


For more information, click below:



Related Blogs:

Flat field correction improves machine vision camera uniformity

In-field calibrations for optimal machine vision image accuracy

Advantages of in-camera image processing, how camera technology makes a better picture

Topics: Image Quality Improvements

Previous blog:

Next blog: