CHAPTER 3 AUTOMATIC MURA DETECTION ALGORITHMS
3.2 I NSPECTION OF C LUSTER M URA
Cluster Mura usually appears as a cluster of bright or dark points in a localized area [13]. Generally speaking, there are two types of Cluster Mura: round-type Cluster Mura and line-type Cluster Mura, as shown in Figure 3-5(a) and (b). A major cause of Cluster Mura is due to dust or particles coming into some layers of LCD panel. Poor LCD manufactory process may also produce this type of defects. We started to research the Cluster Mura detection because the Cluster Mura is the basis of Mura and the research is also partial applicable to other kinds of Mura. For example, Light Leak Mura and Around Mura can be applying the method to detect Cluster Mura.
(a) Round-type Cluster Mura (c) Line-type Cluster Mura
(b) Detection result of (a) (d) Detection result of (c) Figure 3-5. Cluster Mura
In our approach, we proposed a 2-D LOG (Laplacian of Gaussian) filters The LOG filter to detect Cluster Muras. The LOG filter is designed to match the shapes of Cluster Mura, with the optimal threshold being determined based on the SEMU formula [2]. To detect round-type Cluster Muras, the round-type LOG filter is chosen to be
( ) ( , ; 0 , , )
function with zero mean and standard deviations σx and σy, respectively. If we choose σx = σy = σ, then there is only one parameter to be assigned by the users. On the other hand, to detect a horizontal line-type Cluster Mura, the LOG filter is chosen to be
( )
( , ; , , )If the ratio of is fixed, there is only one parameter left. Similarly, to detect a vertical line-type Mura, we can use an operator similar to (2) with ∇yy being replaced by ∇xx.
Figure 3-6 shows these two types of LOG operator and Figure 3-5(c).
y x
σ
σ /
Figure 3-6. (a) Round-type LOG operator;(b) Line-type LOG operator.
The area size of LOG filter is proportional to the standard deviation of Gaussian function. The following is the threshold selection formula used in [13]. According to SEMU [2], the Mura area is proportional to the human sensitivity of Mura. Also, the contrast between background and Mura is proportion the human eye’s sensitivity.
;
Here, S means the selected Semu value and Std_dev means the standard deviation of the LOG. operator. The following is the SEMU formula [2].
)
Cx means the average contrast of the Mura (unit: % relative to background = 100%), Sx means the area of Mura (unit: mm2), Cjnd means the contrast of Mura at JND (unit: % relative to background = 100%).
The threshold value mentioned above will change for the LOG operators with different standard deviations. To formulate the LOG operation, we assume the intensity values of a point Mura looks like a Gaussion function. Without loss of generality, we assume the height of the Gaussian function to be 1. On the other hand, the Laplacian of
Gaussian (LOG) operator is the second derivative of a Gaussian function.
Gaussian Mura: )
2
After convolution, we have
2
where the standard deviation of LOG filter is σ and the standard deviation of the Gaussian Mura is K×σ.
At the center of the convolution result, we have the value
2
Moreover, the maximum value will appear at the places where f’ = 0. Hence,
) 0
The result indicates that f(x,y) reaches its maximum value at k = 1. This means when the standard deviation of the LOG filter is the same as the standard deviation of the Gaussian Mura, the convolution result has the maximum output. Hence, if the filter size can be matched to the size of the Cluster Mura, there will be a maximum response. On the other hand, an unmatched LOG filter will generate a response with a lower magnitude.
Let LOG std = σ and the Gaussian Mura std = σ. The maximum convolution value
will be:
Hence, the convolution result will change as the standard deviation of the LOG filter changes. However, ff we divide the convolution result by an appropriate normalization factor, the maximum convolution value may get fixed no matter how the standard deviation of the LOG filter changes. That is, after adding the normalization factor, we have
where the normalize factor is the value used to normalize the positive summation of the LOG operator to 1.
Figure 3-7shows the example of convolving Gaussian Mura with a normalized LOG filter. The Gaussian Mura which matches the size of the LOG filter will have the maximum response and the maximum response value is always equal to 0.6735.h, where h is the strength of the Gaussian Mura.
(a)
(b) A
B smaller
C
Gaussian Mura LOG filter
0.6735.h (Gaussian)
*
smaller σ1
σ2
σ3
σ1
convolution result
smaller
*
smaller 0.6735*
h Gaussian) A
B
C
Gaussian Mura
σ1
σ2
σ3
LOG filter
σ2
convolution result
(c)
Figure 3-7 example of convolving Gaussian Mura with a normalized LOG filter (a) a normalized LOG filter with a small σ.
(b) a normalized LOG filter with a median σ.
(c) a normalized LOG filter with a large σ.
Figure 3-8 Example of threshold selection (a) the original pseudo Cluster Mura;
(b) matching size LOG filter (c) convolution result (d) illustration of thresholding position (e) threshold result
smaller
The threshold of convolution result is decided by the height of the Gaussian Mura
The convolution result is shown in the above formula. With matching filter, k will be 1 and the maximum response will appear in x=0 and y=0. Thus, welet x= y0, =0, the convolution result will be 2
8 1 σ
= ⋅ . We select the standard deviation smaller than 1 to be the detected location of the convolution result. Thus, welet x=σ,y =0, the
convolution result will be 4
-1
4 2
1 ⋅e
= ⋅
σ .The ratio the matching maximum is
0.3894
0.6735.h =0.2623.h. In our approach, we choose h to be 0.05, which corresponds to 4-bit difference in the intensity values could be detected. Figure 3-8 shows an example of the threshold selection result.
After thresholding, the detection result will be a binary image. Some times false detection appears and we need to eliminate these falsely detected results. Figure 3-13 illustrates the example of false detection elimination based on Semu threshold. Figure 3-13 (a) show two pseudo Gaussian Muras, one in the upper-left corner, while the other in the lower-right corner. Figure 3-13 (b) shows the detection result after LOG convolution and thresholding. We can see the false detection occurs in the lower-right corner. In Figure 3-13 (d)(e)(f), the detection results are grouped into different blobs.
For each blob, we evaluate its Semu value. For this example, the results are 31.6239 and
12.5487 and 1.1009, respectively. Here, we set the threshold of Semu value to be 3.
Hence, these detection results with Semu value less than 3 will be removed. The final detection result is then shown in Figure 3-13 (c).
Figure 3-9 Example of Semu value thresholding. (a) original test image; (b) detection result; (c)final detection result after thresholding (d)(e)(f) evaluation of Semu value for each blob.
As mentioned before, there may be Muras of different sizes in a single LCD panel.
It is not possible to detect all these Muras by using a single LOG filter. Hence, we propose the use of a bank of LOG filters of different sizes to detect Muras of different scales. In Figure 3-10, we shows five LOG filters of different sizes.
Area = 2449 Cx = 12.7787 Semu = 12.5487
Area = 4152 Cx = 1.1009 Semu = 1.1994 Area = 3801
Cx = 30.9296 Semu = 31.6239
threshold2 = 3 Semu
(a) (b) (c)
(d) (e) (f)
Figure 3-10 Five LOG filters of different sizes
To detect Cluster Muras of different scales, we adopt a multi-resolution approach.
All these convolution results are then merged in a proper way to generate the final results. Figure 3-11 illustrates an example for the proposed multi-resolution Cluster Mura detection. Figure 3-11 (a) contains 8 synthesized Muras, with radius being 5, 10, 15, 20, 25, 30, 35, and 40, respectively. The luminance of the background is zero. For this example, we apply two LOG filters with σ = 10 and 30, respectively. As mentioned above, for each LOG filter, the convolution result will reach its maximum magnitude when the size of Mura matches to the size of the LOG filter. Figure 3-11 (b) shows the convolution result by using the LOG filter with σ = 10. It can be seen that the convolution result does reach its maximum magnitude (represented in red) at the Mura with radius 10. Figure 3-11 (c) shows a similar result when we use the LOG filter with σ = 30. Moreover, as mentioned before, both LOG filters are normalized to have their positive parts summed to 1 and negative parts summed to -1. With this normalization, when the intensity difference between the Mura and the surrounding background is kept the same, the maximum magnitude of the convolution result for different LOG filters will also be normalized to be the same.
After performing multiple convolutions with LOG filters of different scales, we merge all convolution results by calculating at each pixel the maximum magnitude of all convolution results. That is, we calculate
( )
, max(result ( , ),result ( , ),....)result x y = 1 x y 2 x y (35)
where resulti(x,y) denotes the convolution result at (x,y) with the use of the ith LOG std_dev = 1 std_dev = 2 std_dev = 3 std_dev = 4 std_dev = 5
filter. Figure 3-11(d) shows the final result based on (5). Figure 3-11(e)~(g) show the detection results of Figure 3-11 (b)~(d) by setting the threshold to be 100. As expected, it can be seen that the smaller LOG filter detects only small Muras, while the larger LOG filter detects only large Muras. However, with the proposed multi-resolution approach, all sizes of Mura defects can be correctly detected.
Figure 3-11 Multi-resolution Cluster Mura detection
(a) test image; (b) result by using an LOG filter with σ =10; (c) result by using an LOG filter with σ =30; (d) maximization of (b) and (c); (e)~(g) detection results of (b)~(d), respectively, with threshold =100.
Figure 3-12 shows the multi-resolution detection result of Cluster Mura. It can be seen that the detection results are pretty consistent with respect to the original image.
(a)
(c)
(b) (d)
(e) (f) (g)
Figure 3-12 Multi-resolution detection result of Cluster Mura
Even though the method proposed here is quite effective in detecting Cluster Muras, the execution time of spatial convolution could be a problem. In the detection of Cluster Muras, we need to inspect Muras of different sizes. As we increase the size of the LOG operator to detect Cluster Muras of larger size, the computation load of the convolution operation increases exponentially. To deal with this kind of problem, we convert the operation from spatial domain to frequency domain. In theory, convolution of two digital patterns in the spatial domain is equivalent to multiplication of their counterparts in the frequency domain. More explicitly, we have
)}
where * denotes the spatial convolution operation and ℑ{.} denotes the Fourier transform operation. Hence, to perform the convolution operation, we may compute the Fourier transforms of the original image and the LOG operator first, multiply their transforms together, and then perform inverse Fourier transformation over their multiplication product to get the final convolution result. Note that we only need to perform the Fourier transform of the original image once. To detect Cluster Muras of different sizes, we only need to multiply the Fourier transform of the original image with the Fourier transforms of different LOG filters. These multiplication products are then converted back to the spatial domain, respectively.
Figure 3-13 illustrates an example of this process. Figure 3-13 (a) shows the FOS image of an LCD panel and Figure 3-13 (b) shows its Fourier transform. Here, we apply FFT (Fast Fourier Transform) for the computation of Fourier transform. Figure 3-13(c) shows the Fourier transform of a round-type LOG filter with σx = σy= σ = 1. Figure 3-13(d) shows the product of Figure 3-13(b) and (c). After computing the multiplication product, we perform inverse Fourier transform to get the corresponding convolution result. A threshold is then selected to detect Cluster Muras. Figure 3-13(e) shows a zoomed image of the red rectangle area marked in Figure 3-13(a). Figure 3-13(f) shows the corresponding detection result. These detected pixels are grouped into blobs. Based on the Semu formula [2], we further check the semu value of these detected blobs to determine whether these blobs are perceivable to human eyes.
Figure 3-13 Example of Cluster Mura detection; (a) original image; (b) FFT of the original image; (c) FFT of an LOG filter; (d) product of (b) and (c); (e) zoomed image of the original image; (f) detection result