Streak detection in mottled and noisy images - Semantic Scholar

2 downloads 0 Views 2MB Size Report
A. Rosenfeld and M. Thurston, “Edge and curve detection for visual analysis,” IEEE Trans. ... G. D. Tourassi, E. D. Frederick, M. K. Markey, and C. E. Floyd, Jr.,.
Journal of Electronic Imaging 16(4), 043005 (Oct–Dec 2007)

Streak detection in mottled and noisy images Hector Santos Rosario MKS Instruments 100 Highpower Rd. Rochester, New York, 14623 Eli Saber Rochester Institute of Technology Department of Electrical Engineering Rochester, New York, 14623 E-mail: [email protected] Wencheng Wu Xerox Corporation 800 Phillips Rd. Webster, New York, 14580 Kartheek Chandu Rochester Institute of Technology Department of Electrical Engineering Rochester, New York 14623

Abstract. We describe a method for automatically detecting streaks in printed images using adaptive window-based image projections and mutual information. The proposed approach accepts a scanned image enclosing the defect and computes the projections across the entire image at different window sizes. The resulting traces collected from the projections are analyzed with a peak detection algorithm and subsequently correlated using normalized mutual information to pinpoint the location and width of streak(s). Finally, for a given peak, the window size is changed adaptively to identify and locate the intensity and length of the corresponding streak(s) while maximizing the signal-to-noise ratio. Results on synthetic and real-life images are provided to demonstrate the effectiveness of our proposed technique. © 2007 SPIE and IS&T. 关DOI: 10.1117/1.2816444兴

1 Introduction The standards for image quality have increased significantly over the past decade and will continue to do so for years to come. Present-day print engines are required to meet consistent and stable image-quality requirements as measured by various metrics and ultimately evaluated by customers. Generally speaking, print shops place image quality as one of the most important aspects of any printing system. However, even though the quality of the documents produced using current print engines far exceeds what was generated a decade or two ago, current devices still possess a variety of image-quality defects and artifacts 共e.g., spots, Paper 06172RR received Oct. 5, 2006; revised manuscript received May 30, 2007; accepted for publication May 31, 2007; published online Dec. 6, 2007. 1017-9909/2007/16共4兲/043005/14/$25.00 © 2007 SPIE and IS&T.

Journal of Electronic Imaging

streaks, etc.兲 that often result from a fault or degradation in the underlying imaging and/or electrophotographic processes 共EP兲. These artifacts come in a variety of sizes and shapes and occur at different spatial locations. An operator’s or engineer’s intervention is usually required to visually or instrumentally diagnose the defect and perform corrective action as quickly as possible to minimize downtime. To sustain high standards, current print shops utilize trained quality assurance personnel 共QAP兲 to ensure customer hardcopies are free of artifacts. This is generally done by employing two sampling techniques: 共1兲 Visually inspect a subset of customer collaterals, and 共2兲 visually— and/or with the help of automation if available—analyze a suite of test patterns printed on a predefined sampling interval. The test patterns are designed to provide early warnings of the presence of artifacts of various kinds 共e.g., streaks, mottle, etc.兲, calibration issues, and/or engine drifts. To this effect, streaks “exposing” test patterns tend to be generally structure-less to aid in the identification and diagnosis of streak共s兲 that require service intervention. This is currently done manually, where a QAP is required to visually inspect the specific test pattern for the presence of streak共s兲 and then provide a measure of their length共s兲, width, location on the page, etc. to help in selecting the proper diagnosis procedure. Our aim is to automate this process by providing an online scanner—that is triggered automatically by the digital front end—to capture an electronic scan of the streak test pattern on the fly. This is then utilized as the input to our proposed algorithm to render an objective streak共s兲 evaluation. The artifact’s signature is

043005-1

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

then employed to automatically search the service manuals for appropriate corrective actions. Hence, our proposed solution provides the following advantages: 共1兲 It can be set up to run automatically on an adaptive predefined sampling interval; and 共2兲 it allows for an objective automated assessment of the streaks instead of having to utilize QAPs or service engineers. We would also like to point out that, even though in some cases, it is just as easy for the operator to “spot” the “streak” defects, it is often important to be able to accurately characterize the defect for repair purposes. Defect analysis algorithms have been explored in the medical and EP literature. Pixel projection is a well-known method used to convert a two-dimensional image into a one-dimensional signal in computed tomography 共CT兲 scans. CT can be defined as the reconstruction of sections of an object from image projections taken at different angles.1 The applications of CT are diverse: medical imaging, airport security, and nondestructive testing in manufacturing. Noise-induced streak artifacts arise in X-ray CT when some or all of the transmission measurements capture relatively few photons due to the attenuation along the projection measurement lines. The high variability of these photon-starved measurements is amplified by the logarithm and amp-filtration steps employed for reconstruction; the resulting inconsistencies produce streaks in the reconstructed image.2 The conventional approach to noise control in CT is a shift-invariant filtration of all projections. Smoothing the photon-starved measurements to eliminate streak artifacts usually results in a degradation of image resolution. More successful strategies involved the use of adaptive filters that attempt to adjust the degree of smoothing to the local noise levels in the measurements.2,3 La Rivière and Billmire4 presented a statistical sinogram smoothing approach for X-ray CT with the intention of reducing noise-induced streak artifacts. In contrast, there have been several studies related to analyzing streaks in EP. The edge and curve detection method proposed by Rosenfeld and Thurston5 can be generalized to detect fairly visible and thick streaks in nonhalftoned images. On the other hand, organic photoconductive drum velocity perturbations that cause line-spacing variations have been shown6–8 to be significant contributors to the generation of streak artifacts across a printed page perpendicular to the process direction. Chen and Chiu9 proposed an improved regulation of the organic photoconductive drum rotational velocity in order to improve stability and reduce the banding artifacts. Rasmussen et al.10 discuss the quantification of image quality in printed documents that contain streaks, bands, and mottle and show how several measurement techniques can be combined to yield effective metrics. However, none of the above techniques analyzes the aforementioned streaks to yield their length, position, width, and intensity. In this paper, we propose a novel automated algorithm for detecting the location of vertical and horizontal streaks in printed and subsequently scanned documents and assessing their corresponding length, width, and intensity. Figure 1 provides an example of synthetic and real-life streak images that were generated by EP engines. The proposed algorithm employs adaptive window-based image projections and mutual information 共MI兲 for detecting “straight-line” Journal of Electronic Imaging

Fig. 1 Example of synthetic and real-life streak images that were generated by EP engines. 共a兲 Synthetic image with multiple streaks; 共b兲 real-life image with wide streak; 共c兲 real-life image with narrow streak.

streaks in noisy and mottled gray-scale and color images. MI was originally introduced by Viola and Wells11 for registering imagery and adapted by Tourassi et al.12 for feature selection in computer-aided diagnosis. The traces, collected from various window sizes, are correlated using normalized mutual information 共NMI兲 to build a confidence vector that indicates the location and width of the streak共s兲. Finally, for a given peak position, the window size is changed adaptively to determine the intensity and length of the corresponding streak, thereby maximizing the underlying signalto-noise ratio 共SNR兲. The effectiveness of our proposed algorithm is demonstrated on a series of images with varying degrees of streak intensity, length, and width. Its strength lies in its ability to automatically detect, localize, and analyze streak attributes in noisy test pattern images. The remainder of this paper is organized as follows. Section 2 discusses the proposed algorithm. The results are presented in Section 3, and conclusions drawn in Section 4.

043005-2

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

Fig. 2 Block diagram of the proposed streak detection algorithm.

2

Proposed Algorithm

A block diagram of our proposed algorithm is shown in Fig. 2. It is divided into four major steps. The first step is dedicated to identifying and descreening the given image in order to minimize the impact of the halftone screen on the proposed algorithm. In step 2, horizontal and vertical projections are computed for a given image using varying window sizes. In step 3, the one-dimensional profiles obtained from the projections are correlated using NMI, yielding a confidence vector that serves to indicate the location and width of the streak共s兲. Finally, in step 4, the length and intensity of each streak are calculated using an adaptive Journal of Electronic Imaging

window size selection technique to maximize the SNR. The steps of the algorithm are discussed in detail in the following subsections. 2.1 Halftone Screen Filtering In general, streaks—present in the image—are embedded in the halftone structure. Hence, it is essential for a given algorithm to be able to identify streaks that result from EP process degradations in the mist of a halftone structure. This underlying structure produces periodic projections with “false” minimum/maximum peaks that need to be eliminated prior to utilizing our proposed algorithm 共see

043005-3

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

Fig. 3 共a兲 Halftone; 共b兲 periodic vertical projection.

Fig. 3兲. In order to minimize this effect, the image is first filtered using a Butterworth notch kernel localized at the corresponding halftone frequencies. To this effect, given a gray-scale or color image, where N1 and N2 represent the number of rows and columns, respectively, we start by selecting the highest contrast channel and then filtering the image using our proposed “notch” kernel. The highest contrast channel for color images is chosen as the channel with the maximum variation in intensity values. Let u and v represent the frequency-domain coordinates. The filtering process can then be expressed as G共u , v兲 = H共u , v兲F共u , v兲, where H共u , v兲, F共u , v兲, and G共u , v兲 represent the magnitude spectrum of the notch filter, the input image, and the filtered image, respectively. The notch filter is defined as

H共u, v兲 = 1+

D1共u, v兲 =

D2共u, v兲 =

冋冉 冋冉



1 D20 D1共u, v兲D2共u, v兲



N

,

N1 − u0 u− 2

冊 冉

冊册

N1 u− + u0 2

冊 冉

冊册

2

2

N2 − v0 + v− 2 N2 + v− + v0 2

2

2

1 2

1 2

,

,

共1兲

where D0 is the radius of the filter, u0 and v0 represent the center of the notch filter, and N is its corresponding order.

Fig. 4 共a兲 Magnitude response of the notch filter; 共b兲 Fourier transform of the images shown in Fig. 3共a兲. Journal of Electronic Imaging

043005-4

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

smaller than 8 pixels. For a window size of M 1 ⫻ M 2, the corresponding projections can be expressed mathematically as 1 P共K1,K2;M 1,M 2兲共j兲 = M1 Fig. 5 Projection computation.

An example is illustrated in Fig. 4. It should be noted that our proposed algorithm considers any structure above 150 dpi to be part of the halftone screen and as such is filtered prior to the streak detection process. 2.2 Computation of Horizontal and Vertical Projections Once the image has been filtered to minimize the effect of the halftone screen on the streak detection process, we compute vertical projections for a window of size M 1 ⫻ M 2 initially chosen to equal the entire image 共M 1 and M 2 represent the number of rows and columns, respectively兲. A vertical projection is defined as the average intensity value of all pixels for a given column bounded by the window size. The window size is then reduced vertically by a factor of 2, and projections are computed using the M 1 / 2 ⫻ M 2 window in a sliding fashion starting from the top of the image and moving downward in steps equal to M 1 / 4 共i.e., half of the window size in the vertical direction兲. The process is again repeated using an M 1 / 4 ⫻ M 2 window size and continued until the number of rows in the window is

K1+M 1−1



共2兲

X共i, j兲,

i=K1

where K1 and K2 represent the starting location of the window as shown in Fig. 5, and X共i , j兲 represents the intensity value at location 共i , j兲. The reason for using various window sizes to detect different streaks length is based on the fact that the SNR is increased significantly as the window size gets closer to the length of the streak. Figure 6共a兲 shows a synthetic image of size 128⫻ 128 with several streaks of different lengths and intensity, where the average background value has been set to 128. Gaussian noise with variance equal to 10 was added. The red and blue rectangles indicate the selected 128⫻ 128 and 32⫻ 128 windows used to compute the vertical projections shown in Figs. 6共b兲 and 6共c兲, respectively. Note that the SNR for the smallest streak is significantly increased as the window size is reduced from 128 to 32 in the vertical direction. Low-frequency variations in intensity across the image produce “false” increases/decreases in projection values, yielding false peaks that need to be minimized prior to streak detection. Hence, our proposed algorithm utilizes a notch filter 共see Fig. 7兲 to reduce irregularities and random variations in the signal. An example input to the filter is shown in Fig. 8共a兲, and the corresponding corrected projection profile is displayed in Fig. 8共b兲. The intensity-corrected projections are then utilized collectively to generate the

Fig. 6 共a兲 Image size⫽128⫻ 128; 共b兲 vertical projection, window size⫽128⫻ 128; 共c兲 vertical projection, window size⫽32⫻ 128. Journal of Electronic Imaging

043005-5

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

Fig. 7 Notch filter utilized to reduce the irregularities in the signal.

confidence vector, as described in the following section, in order to pinpoint the location and width of the streak共s兲. Similarly, the above process is also repeated in the horizontal direction, yielding horizontal-type projections. 2.3 Correlation of Projections Using the NMI Once the projections have been collected and corrected for all window sizes as described in the previous section, we proceed to correlate the peaks from each projection by utilizing an MI-based technique. Unlike threshold methods, which tend to be highly dependent on intensity values, MI is independent of the image size, window size, and projection values; hence, it is well suited for correlating peaks from different projections irrespective of the magnitude variations. Let x and y define two random variables. The MI, which is a measure of general interdependence between random variables,13 is defined as

I共x,y兲 =

兺 兺 p共x,y兲log2 x苸X y苸Y





p共x,y兲 , p共x兲p共y兲

共3兲

where p共x兲 and p共y兲 are the marginal probability density functions 共PDF兲, and p共x , y兲 is the joint PDF of the random variables x and y. The corresponding entropies are defined as Q1

H共x兲 = − 兺 p共xi兲log2 p共xi兲,

共4兲

i=1

Q2

H共y兲 = − 兺 p共y j兲log2 p共y j兲,

共5兲

j=1

Fig. 8 共a兲 Acquired vertical projection prior to filtering; 共b兲 acquired vertical projection after filtering. Journal of Electronic Imaging

043005-6

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

Fig. 9 Spatial correlation of vertical projections.

Q2 Q1

H共x,y兲 = − 兺 兺 p共xi,y j兲log2 p共xi,y j兲,

共6兲

j=1 i=1

where Q1 and Q2 represent the number of states for the variables x and y. Hence, the MI between the two random variables x and y can be expressed in terms of the entropies as

I共x,y兲 = H共x兲 + H共y兲 − H共x,y兲 ⱖ 0.

共7兲

The value of MI is zero if x and y are statistically independent and increases monotonically as they become more statistically dependent. We normalize I共x , y兲 by dividing it by with the sum of individual entropies to yield a score between 0 and 1:

Fig. 10 The confidence vector for the projections obtained in Fig. 9. Journal of Electronic Imaging

043005-7

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

Fig. 11 共a兲 Input image; 共b兲 technique 1 confidence vector; 共c兲 technique 2 confidence vector.

NMI共x,y兲 =

I共x,y兲 . H共x兲 + H共y兲

3. For a given peak at position i:

共8兲

a.

The projections, collected above from the various window sizes, are correlated using the NMI to yield a confidence vector that indicates the location and width of the streak共s兲 in the image for both horizontal and vertical directions, respectively. A window centered on the peak of size of + / −w pixels—defined as the neighborhood of a peak—is utilized to achieve the above. Figure 9 illustrates the correlation among various vertical projections taken at different windows sizes ranging from 128⫻ 128 to 8 ⫻ 128 for a synthetic, noise-free 128⫻ 128 image that contains several streaks. The windows and their corresponding projections are clearly indicated using different colors. Note the horizontal correspondence in the peak locations for the different windows. On the other hand, the height of the peak in the projection profile for a given streak changes drastically as a function of the window size, as shown for the smallest streak in Fig. 9. Hence, the spatial correlation is carried out as follows: 1. Select the first smallest projection window of size M min ⫻ N2, where M min is the minimum number of rows 共e.g., M min = 8 in Fig. 9兲 and N2 is the number of columns of the image. 2. Detect the peaks of the projections in the selected window. Journal of Electronic Imaging

Compute NMIi 共xi , y i兲 关see Eq. 共8兲兴, where xi is a vector containing the neighborhood of a peak at position i in the selected window, and y i is a vector containing the neighborhood of the projection value at position i at a larger window. Hence, xi and y i are defined as xi = P共K1,K2;M min,M 2兲共i − w:i + w兲

and

共9兲

y i = P共K1,K2;M 1,M 2兲共i − w:i + w兲. b.

c.

If NMIi 共xi , y i兲 is greater than a user-specified threshold T, then assign ␭ to that location i in the confidence vector. ␭ is a constant defined as 1 divided by the total number of projections. Repeat steps a and b for the remaining peaks.

4. Select the next-smallest window and repeat the above process 共e.g., repeat steps 2 and 3兲 until all windows have been correlated. Locations that exhibit a confidence value greater than a user-specified threshold are selected as streak共s兲 共see Fig. 10兲. The width of the streak is defined by the width of the peak in the confidence vector.

043005-8

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

Fig. 12 Determination of length of the streak: 共a兲 spanning window; 共b兲 initial vertical position profile; 共c兲 final position profile.

2.3.1 Correlation of traces We propose two techniques to correlate the traces collected from different window sizes to obtain the confidence vector: 共1兲 In technique 1, for a given window size and direction 共i.e., horizontal or vertical兲, the traces are correlated by computing the NMI between the neighborhood of peaks in two consecutive projections to obtain an intermediate confidence vector. We then correlate the intermediate confidence vectors from the various window sizes to yield a final confidence vector. Locations that exhibit a confidence value greater than a user-specified threshold are selected as streak共s兲. 共2兲 In technique 2, we used correlation of traces from windows that spatially contain streak共s兲 共see Fig. 9兲. For a given location and direction 共horizontal or vertical兲, we correlate the traces by computing the NMI between the neighborhood of peaks from each of the smallest window size projections and those from the larger window sizes. Locations that exhibit a confidence value greater than a user-specified threshold are selected as streak共s兲. In our experiments, the spatial correlations of traces as discussed in technique 2 offered better results than technique 1. This is due to the fact that technique 1 correlates all the traces for a given window size. If the streak does not extend across the entire image 共as is often the case in practice兲, the spatial correlation of the entire window may lead to false peak detection 共see Fig. 9兲. Hence, technique 2 offers better detection for small streaks because it is less sensitive to random alignment of noise that might be seen as “streaks” by the algorithm. This is illustrated in Fig. 11 for both techniques. Figures 11共b兲 and 11共c兲 show the output confidence vector from technique 1 and technique 2, respectively. As can be seen from Fig. 11共b兲, the peak corresponding to the smallest streak cannot be distinguished in the presence of noise using technique 1. Journal of Electronic Imaging

The confidence vector represents the NMI contained in the projections obtained from different window sizes. Its corresponding peaks provide information about the horizontal position and width of the streaks for a specified threshold. The longer the streak, the higher the peak in the confidence vector due to its presence in multiple projection traces 共see Fig. 9兲. 2.4 Computation of Intensity and Length of Streaks To compute the length and intensity of a given vertical streak, we start by constructing a window that spans the streak horizontally and extends vertically to the full image height 关see Fig. 12共a兲兴. The width of the window is defined by the width of the peak in the confidence vector. We then compute the vertical projection of the streak of interest for the selected window size. The height of the window is then reduced sequentially and the above process is repeated, in a sliding scenario, yielding a set of projections as a function of vertical window size 关see Figs. 12共b兲 and 12共c兲兴. The projection that yields the maximum or minimum value 共depending on whether the streak intensity is greater or smaller than the surrounding background兲 is utilized to determine the length and intensity, thereby maximizing the SNR. The height and average projection value of the window employed to compute the selected vertical projection are selected as the length and intensity of the streak, respectively. Let S and E be the initial position and final position of the streak, respectively. The intensity and length of the streak are given by E

1 Intensity = 兺 X共i, j兲, E − S + 1 j=S

k−

⌿ ⌿ ⬍ i ⬍ k + , 共10兲 2 2

where

043005-9

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

Fig. 13 共a兲 Synthetic image with streaks of different length and intensity; 共b兲 detected streaks for ␴2 = 20; 共c兲 confidence vector.

• • • • • •

length of the streak= E − S + 1, k⫽horizontal position of the streak, ⌿⫽width of the streak, i = 1 , 2 , 3 , 4 , . . . , N1 共number of rows in the image兲, j = 1 , 2 , 3 , 4 , . . . , N2 共number of columns in the image兲, X共i , j兲: pixel intensity value at position 共i , j兲.

This focused approach is selected to minimize the number of computations that would be required for sliding window projections. The process is repeated, in a similar fashion, for horizontal type streaks. 3 Results We tested the performance of our proposed algorithm on two sets of images. The first set consists of synthetic images that are constructed with various streak locations, lengths, width, and intensities in order to test and quantify the robustness of our algorithm in the presence of noise. The second set encompasses several scanned images that contain varying degrees of streaks, noise, mottle, luminance gradient, and halftone periodic structure. These “real-life” images were acquired from several electrophotographicbased print engines. All hardcopies were scanned at 600 dpi, yielding RGB color images. In the following section, we will demonstrate the performance of our proposed approach for detecting vertical streaks since the detection of horizontal streaks is identical assuming the image is prerotated by 90°. The error is calculated as the absolute difference between the manually identified parameters 共i.e., length, Intensity, width兲 of the streaks and the parameter values obtained from the proposed algorithm.

3.1 Analysis on Synthetic Images Figure 13共a兲 shows a synthetic image created with a background gray value equal to 128 and different streaks lengths and intensity values as shown in Table 1. The streaks are numbered from left to right. Gaussian noise with different variances ranging from 1 to 40 共see Table 1兲 was added. In EP processes, the variance of the noise ␴2 is typically ⱕ20. Our proposed algorithm was applied to the image shown in Fig. 13共a兲. The resulting streaks and the final confidence vector for ␴2 = 20, are shown in Figs. 13共b兲 and 13共c兲, respectively. The length of the detected streaks using our proposed algorithm and the corresponding percentage of error between the detected and manually segmented streaks are displayed in Table 1. Note that our algorithm was able to detect the location of the streaks effectively with the exception of streak 6, which is 5 pixels in length. Hence, our ability to detect streaks is inversely proportional to the level of noise added, as seen in Table 1, and depends heavily on the streak length. The longer the streak, the more likely it is to be detected in the presence of noise due to the increase in the SNR. Similarly, Figure 14 shows a synthetic image created with a background gray value equal to 128 and different streaks lengths, widths, and intensity values as shown in Table 2. Once again, the streaks are numbered from left to right. Our proposed algorithm was applied to the image shown in Fig. 14共a兲. The resulting streaks and the final confidence vector for ␴2 = 20 are shown in Figs. 14共b兲 and 14共c兲, respectively. The output widths of the detected streaks using the proposed algorithm are compared to the streaks manually segmented by a human operator, and the

Fig. 14 共a兲 Synthetic image with streaks of different length and intensity; 共b兲 detected streaks for ␴2 = 20; 共c兲 confidence vector. Journal of Electronic Imaging

043005-10

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

Fig. 15 共a兲 Synthetic image with streaks of different length and intensity; 共b兲 detected streaks for ␴2 = 20; 共c兲 confidence vector.

percentage of error for various noise levels 共␴2 ranging from 1 to 40兲 is shown in Table 2. Similar results were observed in this experiment with one exception. The widths of the streaks increased the likelihood of detection in the presence of noise, as observed from Table 2. Figure 15 shows a synthetic image created with a background gray value equal to 128 and streaks of fixed length and width, and varying intensity values ranging from 134 to 150. The intensity values are shown in Table 3. Once again, the streaks are numbered from left to right, and Gaussian noise was added with variances ranging from 1 to 40. Our proposed algorithm was applied to the image shown in Fig. 15共a兲. The resulting streaks and the final confidence vector for ␴2 = 20, are shown in Figs. 15共b兲 and 15共c兲, respectively. The output intensity values of the detected streaks using the proposed algorithm are compared to their manually identified counterpart by a human operator, and the percentage error of the intensity values is displayed in Table 3. The results indicate that the probability of detection increased with the increase in intensity 共see Table 3兲. Additional tests were conducted on several synthetic images with different streak profiles that consist of various lengths, width, and intensities as a function of noise. The results are summarized in Fig. 16. From the figure, it can be easily seen that the overall accuracy of our proposed algorithm decreased as the noise level increased, consistent with our prior results.

nance gradient, and varying degrees of streaks length, width, and intensity. The optimum threshold, whose value is equal to 0.6, utilized to detect the location of the streaks was derived using a receiver operating characteristic 共ROC兲 curve scenario as described in detail in Ref. 14. In summary, we selected a set of training images and varied the threshold from 0.2 to 1.0. For each threshold value, we computed the probability of detection and false alarm, respectively. The optimum threshold value was chosen to maximize the probability of detection while simultaneously minimize the probability of false alarm between the automatically detected streaks and the corresponding human segmented gold standard, as shown in Fig. 17. Figures 18–20 show the results obtained using different real-life images. In the figures, we show the highest contrast channel 关Figs. 18共a兲, 19共a兲, and 20共a兲兴, the descreened image 关Figs. 18共b兲, 19共b兲, and 20共b兲兴, and the resulting detected streak共s兲 关Figs. 18共c兲, 19共c兲, and 20共c兲兴. The superimposed white lines indicate the location of the major streaks found on each image. The results display two different major types of streaks: 共1兲 a single streak 共see Fig. 18兲, and 共2兲 several narrow streaks 共see Figs. 19 and 20兲. The results clearly show that the algorithm was able to detect streaks on images that contain different degrees of mottle, noise, halftone structures, gradient in luminance,

3.2 Analysis on Real Electrophotographic Images In addition to the synthetic images discussed above, we tested our algorithm on several real-life RGB scanned images that contain mottle, noise, halftone structures, lumi-

Fig. 16 Accuracy of the algorithm on synthetic images for different Gaussian noises. Journal of Electronic Imaging

Fig. 17 Receiver operating characteristic 共ROC兲 curve to calculate optimal threshold for streak detection.

043005-11

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

Fig. 18 共a兲 High-contrast channel; 共b兲 descreened; 共c兲 output image.

and varying degrees of streak length, width, and intensity. The algorithm detects larger streak共s兲 in the presence of noise, mottle, and changes in luminance, due to the fact that these streak共s兲 possess larger SNR. On the other hand, detection of small streaks is more challenging due to low SNR. The performance of our algorithm was also demonJournal of Electronic Imaging

Fig. 19 共a兲 High-contrast channel; 共b兲 descreened; 共c兲 output image.

strated on a database of real-life EP streak images provided by the Xerox Corporation, yielding results similar to the ones described above. 4 Conclusion This paper presented a new method for automatically detecting streaks in mottled and noisy images by utilizing

043005-12

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images Table 1 Length vs. noise variance. Error Percentage 共%兲 as a Function of Noise Level 共␴2兲

Streak Information No.

Length

Intensity

Width

1

10

20

30

40

1

110

136

1

0

0

0.9

0.9

0.9

2

80

120

1

0

0

2.5

1.2

2.5

3

60

136

1

0

0

3.3

3.3

3.3

4

40

120

1

0

0

7.5

7.5

7.5

5

20

136

1

0

0

0





6

5

120

1











共—兲 indicates that the streak was not detected.

Table 2 Width vs. noise variance. Error Percentage 共%兲 as a Function of Noise Level 共␴2兲

Streak Information No. Length Intensity Width

1

10

20

30

40

1

110

136

25

0

0

0

0

0

2

80

120

15

0

0

0

0

0

3

60

136

10

0

0

0

10

10

4

40

120

5

0

0

0

20

20

5

20

136

2

0

50







6

5

120

1











共—兲 indicates that the streak was not detected.

Table 3 Intensity vs. noise variance. Error Percentage 共%兲 as a Function of Noise Level 共␴2兲

Streak Information Fig. 20 共a兲 High-contrast channel; 共b兲 descreened; 共c兲 output image.

adaptive window-based image projections and mutual information. The traces collected from the projections are correlated using normalized mutual information to compute the position and width of the streak共s兲. For a given peak in the confidence vector 共position and width兲, an adaptive window-based technique is utilized to find the corresponding length and intensity while maximizing the SNR. The proposed algorithm has been successfully demonstrated on Journal of Electronic Imaging

No. Length Intensity Width

1

10

20

30

40

1

55

134

1

0

0.74

0.74

1.15



2

55

138

1

0

0

0

1.45

1.45

3

55

142

1

0

0

0

0.7

1.4

4

55

146

1

0

0

0

0.68

0.68

5

55

150

1

0

0

0

0.66

0.66

共—兲 indicates that the streak was not detected.

043005-13

Oct–Dec 2007/Vol. 16(4)

Santos Rosario et al.: Streak detection in mottled and noisy images

a series of synthetic and real-life images that contain varying degrees of noise, mottle, and streaks. From the experimental results, we can conclude the following: 1. Streak detection is inversely proportional to the level of noise added and depends heavily on the streak length. As the noise increases, smaller streaks tend not to be detected by the algorithm 共see Table 1兲. 2. The widths of the streak increase the likelihood of detection in the presence of noise 共see Table 2兲. 3. The probability of detection increased with the increase in intensity 共see Table 3兲. These conclusions are based on the fact that longer, wider, and higher-intensity streaks have a larger signal-to-noise ratio. Acknowledgments This work was supported by the Center for Electronic Imaging Systems 共CEIS兲, a NYSTAR-designated Center for Advanced Technology, Xerox Corporation, and the Electrical Engineering Department at the Rochester Institute of Technology. References 1. A. C. Kak and M. Slaney, Principles of Computerized Tomographic Imaging, IEEE Press, New York 共1988兲. 2. J. Hsieh, “Adaptive streak artifact reduction in computed tomography resulting from excessive X-ray photon noise,” Med. Phys. 25, 2139–2147 共1998兲. 3. M. Kachelriess, O. Watzke, and W. A. Kalender, “Generalized multidimensional adaptive filtering for conventional and spiral singleslice, multi-slice, and cone-beam CT,” Med. Phys. 28, 475–490 共2001兲. 4. P. J. La Rivière and D. M. Billmire, “Reduced of noise-induced streak artifacts in X-ray computed tomography through spline-based penalized-likelihood sinogram smoothing,” IEEE Trans. Med. Imaging 24共1兲, 105–111 共2005兲. 5. A. Rosenfeld and M. Thurston, “Edge and curve detection for visual analysis,” IEEE Trans. Comput. 20共5兲, 562–569 共1971兲. 6. R. P. Loce, W. L. Lama, and M. S. Maltz, “Modeling vibrationinduced halftone banding in a xerographic laser printer,” J. Electron. Imaging 4共1兲, 48–61 共1995兲. 7. H. Kawamoto, K. Udagawa, and M. Mori, “Vibration and noise induced by electrostatic force on a contact charger roller of electrophotography,” J. Imaging Sci. Technol. 39共6兲, 477–480 共1995兲. 8. H. Kawamoto, “Chatter vibration of a cleaner blade in electrophotography,” J. Imaging Sci. Technol. 40共1兲, 8–13 共1996兲. 9. C. L. Chen and G. T. Chiu, “Banding reduction in electrophotographic process,” IEEE/ASME Int. Conf. Adv. Intell. Mechatronics Proc. 共2001兲. 10. D. R. Rasmussen, E. N. Dalal, and K. M. Hoffman, “Measurement of macro-uniformity: Streaks, bands, mottle, and chromatic variations,” PICS 2001: Image Processing, Image Quality, Image Capture Systems Conference, pp. 90–95, Canada 共2001兲. 11. P. A. Viola and W. M. Wells, “Alignment by maximization of the mutual information,” Int. J. Comput. Vis. 24, 137–154 共1997兲. 12. G. D. Tourassi, E. D. Frederick, M. K. Markey, and C. E. Floyd, Jr., “Application of the mutual information for feature selection in computer-aided diagnosis,” Med. Phys. 28, 2394–2402 共共2001兲. 13. C. O. Daub, R. Steuer, J. Selbig, and S. Kloska, “Estimating mutual information using B-spline functions—an improved similarity measure for analyzing gene expression data,” BMC Bioinf. 5, 118 共2004兲. 14. E. Saber, A. M. Tekalp, R. Eschbach, and K. Knox, “Automatic image annotation using adaptive color classification,” Graph. Models Image Process. 58共2兲, 115–126 共1996兲.

Journal of Electronic Imaging

Hector Santos Rosario received his BS and MS degrees in electronic and telecommunications engineering from Pontificia Universidad Catolica Madre y Maestra, Santiago, Dominican Republic, in 1993 and 2004, respectively. He also received his MS degree in electrical engineering from the Rochester Institute of Technology, Rochester, NY in 2006. From 1993 to 2004, he worked for the Civil Aviation Administration as a radar and communications system engineer. From 1998 to 2000, he was a communications engineer for Micro-Ondas Nacionales. From 2000 to 2002, he was a project manager in the Santiago International Airport responsible for the installation of the runway lighting systems and Precision Approach Path Indicators. From 1997 to 2004, he was an adjunct professor of electrical engineering at Pontificia Universidad Catolica Madre y Maestra. He is currently employed as a sustaining engineer at MKS Instruments Medical Division, in Rochester, NY. Eli Saber is an associate professor in the Electrical Engineering Department at the Rochester Institute of Technology 共RIT兲. Prior to that, he worked for Xerox Corporation from 1988 until 2004 in a variety of positions, ending as Product Development Scientist and Manager at the Business Group Operations Unit. He received his BS degree in electrical and computer engineering from the University of Buffalo in 1988, and his MS and PhD degrees in the same discipline from the University of Rochester in 1992 and 1996, respectively. From 1997 until 2004, he was an adjunct faculty member at the Electrical Engineering Department of RIT and at the Electrical & Computer Engineering Department of the University of Rochester. His research interests are in the areas of digital image and video processing, including video segmentation, object tracking, content-based video analysis and summarization, multicamera surveillance video processing, and image understanding. Wencheng Wu received his PhD degree in electrical engineering from Purdue University, West Lafayettes, IN, in 2000. He is currently a member of the Wilson Center for Research and Technology at Xerox Corporation working on the development of print quality metrics, image simulation, and modeling for print quality evaluation, etc. He is a member of the IEEE, the Phi Tau Phi Scholastic Honor Society, and the Imaging Science and Technology Society. He was also the section chair of IEEE Signal Processing Society, Rochester, NY, in 2006.

043005-14

Kartheek Chandu is currently pursuing his MS degree in electrical engineering at the Rochester Institute of Technology 共RIT兲, Rochester, NY. He obtained his BS degree in electronics and communication engineering from the Nagarjuna University, A.P., India, in 2005. He is currently working as a research assistant in the Electrical Engineering Department of RIT. He is a member of the IEEE.

Oct–Dec 2007/Vol. 16(4)