Sting removal solution
- Previously we found that irregular groove edges would cause significant distortion in the differentiation phase of audio extraction. They therefore have to be cleaned up beforehand.
- About 12 algorithms were tried, and a relatively good-enough solution was found.
- Basic idea: Detect radius differences that represent skewing of groove shape symmetry, which is derived from stylus shape, and then shift the offensive edge points towards the direction that would restore the symmetry.
- Fact: Radius differences of edge series measured at a distance corresponds to the location of the "stings". An optimal difference interval can be found, which ensures that the stings show sufficient distinction in the FOV-local edge series. Under our current settings (10X magnification), 10-point-interval makes the sting location most obvious. Intervals smaller or greater than 10 show less promises. See figures below:
- Groove edge with a convex sting: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/edge-sting-r669-c245-i1-e2.png
- Radius difference at interval 3: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/radiusdiff-fov669-245-1-2_difforder-3.png
- Interval 5: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/radiusdiff-fov669-245-1-2_difforder-5.png
- Interval 7: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/radiusdiff-fov669-245-1-2_difforder-7.png
- Interval 10: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/radiusdiff-fov669-245-1-2_difforder-10.png
- Interval 15: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/radiusdiff-fov669-245-1-2_difforder-15.png
- Interval 20: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/radiusdiff-fov669-245-1-2_difforder-20.png
- As seen in the above figures, intervals below 10 give less obvious radius difference for stings, yet those higher than 10 start to show great difference across the signal range. 10 gives the best signal-to-noise ratio.
- According to my experiement, it is rather difficult to to wipe off all the stings in one pass along a groove edge series. After a lot of trial-and-errors, the final solution is a recursive algorithm contains three major step:
- Remove any overlapped pixels at each azimuth.
- Detect stings by measuring radius difference a large azimuthal interval (default to 10 points), treat the detected locations of significant radius discontinuity as stings, recursively remove the front one and remeasure until no new stings are detected.
- Perform post-processing radius-diff at interval 1 to smooth out possible remaining edge irregularities.
- Remove any overlapped pixels at each azimuth.
- About #5.2, look at the edges as flattened 1D signal. Because the start and/or end of the target diff interval usually lie somewhere in the middle of the sting-part of the signal but not exactly the opening or the closing point so that we don't know , we then adjust the edge point's radius so that the updated radius diff at the same interval gets down to the median level of the groove in the FOV, that is, to "wipe it flat". Note, we also linearly flatten the points within the interval when the slope is detected.
- Because each detected interval correspondes to a radius ramp. In order to minimize the difference in such an interval, it's necessary to have a reference point and shift the other points against the reference point. However, both convex and concave irregularities can be seen in the edge. The relation between reference and target and the shifting direction thus can become quite complicated. We thus introduce the groove shape, i.e., the symmetry nature of its left/right half, as heauristics on the shifting of edge points for restoring the grooves. Assume the left/right half of the groove cross-section are of a constant ratio across a local range and a sting tends to distort such a symmetry. Then any shifting that can reduce the distortion to the symmetry is good. Note that this only serves as a sanity check after a shifting iteration, not main heuristics, because this feature relies on three noisy signal: inner edge, outer edge and the bottom, and thus less accurate than the radius difference of either edge.
- We also make sure we don't re-visit what's alrady processed.
- Example of sting and fixed groove edges
- Before fixing: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/edge-Stings%20before%20fixing-r354-c502-i1-e2.png
- After #5.1: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/usting-354-502-1-2.png
- After #5.3: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/sting-354-502-1-2-fix.png
- Another example
- Before fixing: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/edge-Stings%20before%20fixing-r354-c502-i3-e1.png
- After #5.1: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/usting-354-502-3-1.png
- After #5.3: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/sting-354-502-3-1-fix.png
- Another example
- Before fixing: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/edge-Stings%20before%20fixing-r354-c502-i3-e2.png
- After #5.1: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/usting-354-502-3-2.png
- After #5.3: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/sting-354-502-3-2-fix.png
- Another example
- Before fixing: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/edge-Stings%20before%20fixing-r354-c502-i5-e1.png
- After #5.1: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/usting-354-502-5-1.png
- After #5.3: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/sting-354-502-5-1-fix.png
- Groove symmetry feature of the groove in Example 10 and 11: http://kakyoism.webhop.net/~kakyo/0.report/39.remove_sting/centroid-rci354-502-3.png
- The next step would be to perform resampling and differentiation after fully applying this to the grooves before they are flattened.
Labels: MItAC, sting, stylus shape


0 Comments:
Post a Comment
Links to this post:
Create a Link
<< Home