Andrew Wilson, Editor, [email protected]
Thanks to advances in the complexity of FPGAs and FPOAs, a number of parallel data-intensive image-processing functions can now be embedded in solid-state cameras. Two functions-flat-field and defective-pixel correction (DPC)-correct for any variation of pixel values across the CCD or CMOS array. By using a known test target of uniform brightness, any variation can be estimated and a pixel map of the sensor used to both flatten the field and compensate for any nonuniform pixels.
“Flat-field correction measures the response of each pixel in the CCD to a known illumination and corrects for any variation in illumination,” says Petko Dinev, chief executive officer at Imperx (Boca Raton, FL, USA; www.imperx.com). “By computing a histogram of the value of each pixel intensity across the array, the percentage difference of each pixel compared with its ideal flat-field value can be determined.” This flat-field-correction file contains coefficients describing these nonuniformities. By uploading the file to a camera’s nonvolatile memory, the camera can use an on-board FPGA to compensate for each individual pixel value as images are captured by the CCD array.
“While the majority of the pixels have similar sensitivity,” says Dinev, “fluctuation in the CCD manufacturing process means that some pixels’ sensitivity will deviate from the average pixel sensitivity.”
Three major types of defective pixels exist. The sensitivity of “dark” pixels will be lower than the sensitivity of adjacent pixels, and in some cases this pixel will be completely dark and have no response. Similarly, the sensitivity of “bright” pixels will be higher than the sensitivity of adjacent pixels and be completely bright having a full response. Last, certain “hot” pixels that may behave normally, having a sensitivity equal to an adjacent pixel, may, during long integration times, produce high-intensity output and be completely bright.
Imperx defective-pixel-correction utility allows developers to capture a uniformly lit image (top left), compute the histogram of the image (bottom right), and determine the average pixel intensity across the array (top right). Once computed, dark and light pixel values can be set as a percentage of this mean deviation. A table is automatically built (bottom) that can be downloaded to the camera for automatic defective-pixel compensation.
To correct for such deviations across the array, DPC is used. In a manner similar to flat-field correction, the camera is subjected to uniform illumination and a defective-pixel map file created. This contains the locations of the defective pixels. Once again this file can be uploaded to the camera’s nonvolatile memory. As images are captured by the CCD array, each pixel is compared with the known value in the table. “Should the pixel be known to be dark, bright, or hot, the camera’s on-board FPGA computes a gray-scale value based on the values of the two adjacent pixels. This interpolated pixel value is then read out with other known good pixel values as a defective-pixel compensated image,” says Dinev.
At present, Imperx has implemented flat-field correction in its IPX-2M30, IPX-2M30H, IPX-4M15, and IPX-11M5 series of Camera Link and GigE cameras. DPC is supported in all of the company’s LYNX Camera Link and GigE cameras and a defective-pixel map preloaded in the company’s IPX-1M48, IPX-2M30, IPX-2M30H, IPX-4M15, and IPX-11M5 cameras.
“Allowing the developer to upload pixel maps for flat-field and defective-pixel correction,” says Dinev, “ensures that the camera will perform optimally in a range of illumination conditions.” This is especially useful in machine-vision applications where illumination intensities of objects being inspected may differ radically.