Image Processing Quiz 1
What are the advantages of HSI?
Advantage: It is user oriented which makes it easy for users to select a color and its saturation. Based on how human beings perceive and describe colors; easier to associate colors with their HSI values than RGB values. You can separate intensity from color information.
What is optimal/iterative thresholding?
Alternative segmentation approach that seeks to model a histogram of the image using weighted sum of two or more probability densities with normal distribution. The threshold is set as the gray-level closest to the minimum probability between the maxima of the normal distributions.
What is histogram equalization?
An automatic contrast enhancement algorithm which aims to create an image with equally distributed brightness over all intensity levels.
Weighted smoothing
Apply different weights to the pixels in the selected window for averaging; pixels closer to the pixel being modified are more important; average by sum of weights
How does weighted median filtering work?
Weighted median filtering places more significance on the middle row of the window which makes the median more likely to be a value from that row.
Gaussian smoothing
Weighted smoothing with more significance placed on the pixel in the center; values in the kernel are normally distributed; better approximates the properties of noise with a Gaussian distribution; user only provides theta, how much smoothing is done; Gaussian smoothing is separable
Edge preserving
When image smoothing, the average is only computed from points in the neighborhood which have similar properties to the point being processed
Advantages of YIQ color space?
Y component provides all that is necessary for a monochrome display. Exploits advantageous properties of the human visual system, in particular our sensitivity to luminance, the perceived energy of a light source.
YIQ and YUV
Y describes intensity and I, Q represent color; corresponds closely to YUV television models
Adaptive thresholding: Which are the possible ways to find the local threshold (T) in adaptive thresholding with an NxN window (W)? (a) T=mean(W), (b) T=the intensity of a randomly selected pixel in W, (c) T=median(W), (d) T=the intensity of the center pixel in W, (e) T=k1*mean(W)+k2*standard_deviation(W) a. (a)(c) b. (a)(c)(e) c. (a)(d) d. (b)(d)(e)
b
Uniform smoothing: About 2D uniform smoothing, which statement is NOT correct? a. The new intensity is the average from the pixels in the convolution window. All pixels in the convolution window are equally important. b. The computed intensity is used to update the pixel at top left cell of the convolution window. c. Larger window size produces larger blurring effect on the image. d. The time complexity is O(N2M2) and can be reduced to O(N2M) with 1D uniform smoothing. N is the image size and M is the window size.
b
Color space: About color space, which one is correct? a. YIQ color space is used in printing processes. b. YIQ and HSI color spaces both separate the intensity component from the color. I component in both color spaces describe the intensity (brightness). c. In color conversion from RGB to HSI, If R=G=B, S=0. d. None are correct
c
Color space: Color model was established by three type of sensors, which are for short-range wavelength, medium-range wavelength, and long-range wavelength. There are two statements about the relative sensitivity of human eye and different range of wavelength. Which one is correct? (a) Everyone has different relative sensitivity of different range of wavelength (color). (b) In general, human eye has lower relative sensitivity on short-range wavelength a. (a) is correct b. (b) is correct c. (a) and (b) are correct d. (a) and (b) are NOT correct
c
Uniform smoothing: What is the time complexity of 1D uniform smoothing using incremental implementation on an image of size NxN with window size M? a. O(N2M2) b. O(N2M) c. O(N2) d. None are correct
c
Gaussian smoothing: Window size selection is important in Gaussian smoothing. Which window size is appropriate for the Gaussian smoothing with sigma=2 to cover 99% of the area under the curve? a. 5 b. 9 c. 13 d. 17
c; 3 sigma rule. 2 * 3 = 6 on each side => 13
Histogram stretching: Consider contrast clipping which stretches from [C,D] to [0,255], which of the following is NOT correct? (I is the input image and I' is the output image) a. If I(i,j) < C, I'(i,j) = 0. b. If I(i,j) > D, I'(i,j) = 255. c. If C ≤ I(i,j) ≤ D, I'(i,j) = I(i,j) * [255/(D-C)] d. None are incorrect
c; = (I(i,j)) - C * ...
Median filter: About median filter, which one is NOT correct? a. It is a non-linear noise reduction method. b. It can be speedup by using histogram array and incremental implementation. c. The 2D median window can be separated to two 1D median windows. d. None are incorrect.
c; median filter is non-separable
Segmentation
Dividing an image into parts that have a strong correlation with objects or areas of the real world contained in the image
What are some issues with histogram equalization?
Does not perform well on images where the intensity values are concentrated at either end of the grayscale.
What is histogram specification?
For cases where values are concentrated at either end of the grayscale, we want to specify what the output image histogram should look like.
What is basic thresholding?
Given image f and threshold T: If f(i, j) >= T: object pixel otherwise: background pixel
Difference between grayscale and color images?
Grayscale has single intensity value from 0 to 255 and are considered single channel images. Color images generally known as RGB images are 3 channels: red, green, blue. Color images are 3 images overlayed on each other, one for each color channel, and within each of the 3 images, you have intensity values ranging from 0 to 255.
RGB or HSI for color histogram equalization?
HSI: We only want to change the INTENSITY and leave the color aspect alone. Histogram modification to color images doesn't work well in RGB color space.
HSI
Hue, saturation, intensity
HSV
Hue, saturation, value (brightness in HSB)
RGB
Red, green, blue; R(i,j), G(i,j), B(i,j) Uses additive color mixing to inform what kind of light needs to be emitted to produce given color Value of particular color is expressed as vector of three elements Expressed by 3x3 matrix
What is multiple thresholding?
Reduces the number of grey levels by splitting them into subsets. Decides new intensity of each pixel depending on which subset it falls into.
How does optimal thresholding work?
Select initial threshold value (practice quiz question!!) [Loop] Divide image pixels into background or foreground (<= T : background, > T : foreground) Find average values of the two new images Calculate new threshold by averaging the two means If the difference between the previous threshold and new threshold are below a specified limit, you are finished. Otherwise, apply the new threshold to the original image and continue the loop.
How can we reduce computational cost of 2D filters?
Separable filters
In general, the human eye has lower relative sensitivity on short-range or long-range wavelength?
Short-range
How is image processing on RGB images different from grayscale?
Similar, except you must apply the processing to all 3 RGB channels to obtain the desired output.
What is the idea behind directional smoothing?
Smooth near the edges but not over the edges.
What does the "ideal" or "best" histogram look like?
Straight, constant horizontal line where all intensity values are the same.
What is median filtering?
Takes median of neighborhood and replaces center value with it Non-linear smoothing method that reduces the blurring of edges, in which the idea is to replace the current point in the image by the median of the brightnesses in its neighborhood. The median is not affected by individual noise spikes so median smoothing eliminates impulse noise quite well. Run time: O(N^2*M^2*lgn(M^2)) where N is image size and M is filter size.
True or false: Everyone has different relative sensitivity of different range of wavelength (color).
True
Image smoothing
Use redundancy in image data to suppress noise
How can we reduce the effect of blurring when smoothing?
Using threshold, average only if the computed brightness change of a pixel is in some pre-defined interval Using directional smoothing Increase or reduce window size Using a rotating mask
How is the histogram of an image with L gray-levels represented?
1D array with L elements
How is a digital image represented?
2-D array of intensity values; scalar function f(x, y) of two variables which give coordinates in a plane
How do you decide on a window size for Gaussian smoothing?
3 sigma rule!! Takes the entire bell curve into account when making window weights.
What is Otsu's algorithm?
A popular approach to automatic threshold detection. Automatically finds the optimal threshold intensity. Optimal threshold maximizes the between class variances between the foreground and background. The underlying idea is to test each possible threshold and compute gray-level variances of the foreground and background each one implies. For an image I on G gray-levels, compute the gray-level histogram H(0), H(1),...,H(G-1). Normalize the histogram so that it represents the probability of each gray-level. For each possible threshold, t=0,...G-2, partition the histogram into background and foreground based on threshold. Compute the variances of the background and foreground level, and then compute the probability of each pixel being in the background or foreground. Choose the threshold that yields the min value for prob(B)var(B) + prob(F)var(F).
Why do we perform gray-level thresholding?
Many objects or image regions are characterized by constant reflectivity or light absorption of surfaces so a brightness constant or threshold can be determined to segment objects and background
What is averaging with limited data validity?
Methods that average with limited data validity try to avoid blurring by averaging only those pixels which satisfy some criterion
What is a brightness transformation?
Modifies pixel brightness depending on the properties of the pixel and the type of brightness transformation
What is a pixel position dependent brightness transformation?
Modifies pixel brightness taking into account its original brightness and position in the image; brightness corrections
What are properties of median filter?
Nonlinear/non-separable Good for removing isolated noise pixels Preserves edges Problem with corners Creates "flats"
RBG to HSI
Normalize RGB values Obtain HSI values from equations
What is one advantage of variable thresholding in comparison to fix thresholding?
Performing thresholding at a more local level accounts for changes in the image and yields a more complete segmentation.
How is a 2D image formed?
Projection of a 3D scene into 2D
Brightness histogram h(z)
Provides the frequency of the brightness value z in the image
What is a pixel independent brightness transformation?
Changes brightness without regard to position in image; gray-scale transformations
XYZ
Color standard given by three imaginary lights X = 700.0nm, Y = 546.1nm, Z = 435.8nm and the color matching functions X(lamba = freq),..., that can be characterized as RGB. Fulfills three requirements: - Matching functions are non-negative - Value of Y(lambda) should coincide with the brightness (luminance) - Normalization is performed to assure that the power corresponding to the three color matching functions is equal (the area under all three curves is equal)
What is pseudo-coloring?
Coloring a grayscale image by mapping each grayscale intensity value from 0 to 255 to some other color. Can be accomplished by some function (T) or by a lookup table. Used to provide more detailed information about the textures and contours of an image. Popular for depth maps.
What is the downside of basic thresholding? What is a better approach?
Complete segmentation is unlikely due to variations in lighting and other factors. Adaptive thresholding is a better approach is to vary the threshold value through the image based on local characteristics.
Advantages of RGB color space?
Convenient for image acquisition and display
CMY
Cyan, magenta, yellow; used in printers; K added at the end for pure black bc it is cheaper than using CMY to represent black
Noise
Degradation of a real image due to random errors in image capture, transmission, or processing
What is saturation?
Describes how polluted the color is with white; the lower the saturation the lighter the color will look. Ranges from 0 to 1 1 is the brightest, 0 is the lightest
What is hue?
Describes the color itself, represented by an angle from 0 to 360.
How do humans perceive color?
Human color perception is a subjective psycho-physical layer on top of underlying objective physical properties - the wavelength of electromagnetic radiation. Humans have three types of sensors receptive to the wavelength of incoming irradiation. Color sensitive receptors on the human retina are cones. The retina also has rods which are dedicated to sensing monochromatically in low ambient light conditions. Cones are categorized into three types based on the sensed wavelength range, approximately corresponding to red, green, and blue.
Point operation
I'(i, j) = function(I(i, j)); thresholding, arithmetic operations like addGrey
Local operation
I'(i, j) = function[neighbor of I(i, j)]
Global operation
I(i, j) = function(the whole image)
How does histogram compression/stretching work during equalization?
If slope < 45 degrees => compression If slope > 45 degrees => stretching There is a possible information loss if compression
Separable filters
In 2D, this means that the convolution kernel can be factorized as a product of two 1D vectors which improves computational complexity
Reduction via averaging
In a 3x3 image, a_i + noise = b_i Within 3x3 window / neighborhood, b'_mid = 1/9 * sum of neighborhood This works assuming noise distribution is zero-mean, or identically distributed
How does histogram equalization work?
It enhances contrast for brightness values close to the histogram maxima and decreases contrast near minima. The idea is to find a pixel brightness transformation such that the desired output histogram is uniform over the whole output brightness scale.
Contrast
Local change in brightness; ratio between average brightness of an object and the background
Optimal thresholding: The followings are the steps of optimal thresholding algorithm. Which step(s) are NOT correct? (a) Select the initial threshold value, and set it as current threshold (CT) (b) Separate the pixels into two background (B) and foreground (F) using CT (c) Calculate uB=(max(B)+min(B))/2 and uF=(max(F)+min(F))/2 (d) The new threshold NT = (uB+uF)/2 (e) If the difference between NT and CT is below a specified limit, finish the step and NT is the optimal threshold. Otherwise, CT = NT and go back to step (b) a. (a) b. (b) c. (c) d. (d) e. (e)
c; should be uB = mean(b) and uF = mean(F)