Image Averaging and Noise Removal - Java Tutorial
Random noise is a problem that often arises in fluorescence microscopy due to the extremely low light levels experienced with this technique, and its presence can seriously degrade the spatial resolution of a digital image. To remedy the situation, an image averaging algorithm can often be applied to digital images in order to enhance spatial resolution while sacrificing a small degree of temporal resolution.
This interactive tutorial explores various aspects of the image averaging algorithm, which is widely utilized for removing random noise from digital images. The tutorial initializes with a randomly selected specimen image (captured in the microscope) appearing in the left-hand window entitled Averaged Image. Each specimen name includes, in parentheses, an abbreviation designating the contrast mechanism employed in obtaining the image. The following nomenclature is used: (FL), fluorescence; (DF), darkfield; (PC), phase contrast; (DIC), differential interference contrast (Nomarski); (HMC), Hoffman modulation contrast; and (POL), polarized light. Visitors will note that specimens captured using the various techniques available in optical microscopy behave differently during image processing in the tutorial.
In the tutorial, each of the image frames used to compute the averaged image has been artificially contaminated by equal amounts of random noise. The number of image frames used to compute the averaged image is indicated in parentheses at the top of the window. An RGB Histogram window is displayed to the right of the Averaged Image window, and illustrates the red, green, and blue histograms of the averaged image. To operate the tutorial, select a specimen image from the Choose A Specimen pull-down menu, and choose an arbitrary noise level using the radio buttons located near the bottom of the applet window. The choices are None (no noise added), Low, Moderate, or High noise levels. The number of image frames employed to compute the averaged image may be increased either manually or automatically by clicking on the Manual button or the Auto button, both of which are located beneath the RGB Histogram window. When the Auto button is depressed, the number of image frames used to compute the averaged image will be increased automatically until the maximum number available in the tutorial (16) is reached. Visitors should observe the degree of improvement in visual quality of the averaged image under various levels of noise and with increasing numbers of image frames used to compute the averaged image. This improvement can also be seen in the red, green, and blue histograms of the averaged image. The histogram peaks will grow increasingly narrow as the number of frames increases and noise is reduced.
Image averaging is a digital image processing technique that is often employed to enhance video images that have been corrupted by random noise. The algorithm operates by computing an average or arithmetic mean of the intensity values for each pixel position in a set of captured images from the same scene or viewfield. Each corrupted image has a stable signal component and a random noise component. In the averaging process, the signal component of the image remains the same, but the noise component differs from one image frame to another. Because the noise is random, it tends to cancel during the summation. When the averaged image is computed, the image signal component has a stronger influence over the summation than does the noise component. The result is an enhanced signal component, while the noise component tends to be reduced by a factor approximately equal to the square root of the number of images averaged.
As an example, if the average of N image frames is to be computed, then intensity values A(N, x, y) of pixels located at coordinates (x, y) in the averaged digital image will be expressed by the equation:
where the sum is taken over I(i, x, y), which is the pixel intensity value of the ith frame from the N set of image frames. This form of the algorithm requires that all of the N image frames be available simultaneously, which typically requires a considerable amount of computer memory (RAM). In order to reduce the algorithm memory requirements, it is possible to instead compute a running average of a continuous image stream by applying the following equation:
A(N, x, y) = [I(x, y) + (N - 1) • A(N - 1, x, y)] / N
where I(x, y) represents the intensity value of a pixel at the location (x, y) in the image frame, and A(N - 1, x, y) represents the average pixel intensity value from the previous N - 1 image frames. This form of the algorithm is especially useful for implementation of image averaging in video hardware devices, because it requires memory storage for only two image frames and has the additional benefit of enabling user adjustment of the number of image frames to
average. The algorithm also allows for continuous display of the averaged image during the averaging process, even before the entire set of N image frames has been received.
When utilized in the processing of video images, the image averaging technique improves image spatial resolution (visual quality) at the cost of temporal resolution (a decrease in the number of image frames that can be displayed per second). This is usually an acceptable tradeoff, because averaging more than 30 image frames typically results in little additional reduction of noise or enhancement of signal.
このページはお住まいの地域ではご覧いただくことはできません。