370 likes | 551 Vues
BARCODE RECONITION TEAM. Christine Lew Dheyani Malde Everardo Uribe Yifan Zhang Supervisors: Ernie Esser Yifei Lou. UPC Barcode. What type of barcode? What is a barcode? Structure? Our barcode representation? Vector of 0s and 1s . Mathematical Representation.
E N D
BARCODE RECONITION TEAM Christine LewDheyaniMaldeEverardo UribeYifan ZhangSupervisors:Ernie EsserYifei Lou
UPC Barcode What type of barcode? What is a barcode? Structure? Our barcode representation? • Vector of 0s and 1s
Mathematical Representation Barcode Distortion Mathematical Representation: What is convolution? • Every value in the blurred signal is given by the same combination of nearby values in the original signal and the kernel determines these combinations. Kernel • For our case, the blur kernel k, or point spread function, is assumed to be a Gaussian Noise • The noise we deal with is white Gaussian noise
Deconvolution What is deconvolution? • It is basically solving for the clean barcode signal, . Difference between non-blind deconvolution and blind deconvolution: • Non-blind deconvolution: we know how the signal was blurred, ie: we assume k is known • Blind deconvolution: we may know some or no information about how the signal was blurred. Very difficult.
Simple Methods of Deconvolution Thresholding • Basically converting signal to binary signal, seeing whether the amplitude at a specific point is closer to 0 or 1 and rounding to the value its closer to. Wiener filter • Classical method of reconstructing a signal after being distorted, using known knowledge of kernel and noise.
Wiener Filter We have: The Wiener Filter solves for: Filter is easily described in frequency domain. Wiener filter defines , such that x = , where is the estimated original signal: Note that if there is no noise, r =0, and So reduces to.
Non-blind Deblurring using Yu Mao’s Method By: Christine Lew Dheyani Malde
Overview • 2 general approaches: • -Yifei (blind: don’t know blur kernel) • -Yu Mao (non-blind: know blur kernel • General goal: • -Taking a blurry barcode with noise and making it as clear as possible through gradient projection. • -Find method with best results and least error
Data Model • Method’s goal to solve • Convex Model • K: blur kernel • U: clear barcode • B: blurry barcode with noise • b = k*u + noise • Find the minimum through gradient projection • Exactly like gradient descent, only we project onto [0,1] every iteration • Once we find min u, we can predict clear signal
Classical Method • Compare with Wiener Filter in terms of error rate • Error rate: difference between reconstructed signal and ground truth
Comparisons for Yu Mao’s Method Yu Mao’s Gradient Projection Wiener Filter
Comparisons for Yu Mao’s Method (Cont.) Wiener Filter Yu Mao’s Gradient Projection
Jumps • How does the number of jumps affect the result? • What happens if we apply the amount of jumps to the different methods of de-blurring? • Compared Yu Mao’s method & Wiener Filter • Created a code to calculate number of jumps • 3 levels of jumps: • Easy: 4 jumps • Medium: 22 jumps • Hard: 45 jumps (regular barcode)
What are Jumps • Created a code to calculate number of jumps: • Jump: when the binary goes from 0 to 1 or 1 to 0 • 3 levels of jumps: • Easy: 4 jumps • Medium: 22 jumps • Hard: 45 jumps • (regular barcode)
Analyzing Jumps • How does the number of jumps affect the result (clear barcode)? • Compare Yu Mao’s method & Weiner Filter
Comparison for Small Jumps (4 jumps) Yu Mao’s Gradient Projection Wiener Filter
Comparison for Hard Jumps (45 jumps) Yu Mao’s Gradient Projection Wiener Filter
Wiener Filter with Varying Jumps - More jumps, greater error - Drastically gets worse with more jumps
Yu Mao's Gradient Projection with Varying Jumps - More jumps, greater error - Slightly gets worse with more jumps
Conclusion Yu Mao's method better overall: produces less error from jump cases: consistent error rate of 20%-30% Wiener filter did not have a consistent error rate: consistent only for small/medium jumpsat 45 jumps, 40%- 50% error rate
Blind Deconvolution Yifan Zhang Everardo Uribe
Derivation of Model We have: For our approach, we assume that , the kernel, is a symmetric point-spread function. Since its symmetric, flipping it will produce an equivalent: We flip entire equation and began reconfiguration: Y and N are matrix representations
Derivation of Model Signal Segmentation & Final Equation: • Middle bars are always the same, represented as vector [0 1 0 1 0] in our case. We have to solve for x in:
Gradient Projection • Projection of Gradient Descent ( first-order optimization) • Advantage: • Allows us to set a range • Disadvantage: • Takes very long time • Not extremely accurate results • Underestimate signal
Least Squares • estimates unknown parameters • minimizes sum of squares of errors • considers observational errors
Least Squares (cont.) Advantages: return results faster than other methods easy to implement reasonably accurate results great results for low and high noise Disadvantage: doesn’t work well when there are errors in
Total Least Squares • Least squares data modeling • Also considers errors of • SVD (C) • Singular Value Decomposition • Factorization
Total Least Squares (Cont.) Advantage: works on data in which others does not better than least squares when more errors in Disadvantages: doesn’t work for most data not in extremities overfits data not accurate takes a long time x