Hough Transform Circle Detection Reducing Random Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The Hough transform for circle detection in images requires significant execution time and memory, leading to inefficient processing and frequent random accesses, especially in embedded systems, and existing modifications do not adequately address memory requirements or performance when dealing with concentric circles or arcs.
Innovation Solution
A two-stage approach is adopted, where center candidates are first determined by searching the image line by line, and then the radius is estimated using a one-dimensional accumulator array that fits in local memory, reducing random accesses and computations through a filtering step that eliminates unnecessary lines and a voting step that accumulates votes line by line.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a three-dimensional accumulator array is used for Hough transform circle detection, then detection accuracy is improved, but memory requirements and execution time increase significantly
Solution Approach 1:
The patent divides the circle detection process into two separate stages: first detecting line segments using a 2D accumulator array, then detecting circles using a 1D accumulator array. This segmentation reduces the dimensionality of the accumulator arrays from 3D to 1D and 2D respectively, significantly reducing memory requirements while maintaining detection accuracy through the two-stage approach
Solution Approach 2:
The patent transitions from a 3D accumulator array (x, y, r) to a 2D accumulator array for line detection (x, θ) and then to a 1D accumulator array for circle detection (r). This dimensionality reduction is achieved by first detecting lines and then using those line parameters to constrain the circle search space, thereby reducing memory requirements
2Measurement precision
If a three-dimensional accumulator array is used for Hough transform circle detection, then detection accuracy is improved, but processing time increases
Solution Approach 1:
The patent segments the circle detection into two stages: line detection followed by circle detection. This segmentation allows each stage to use optimized accumulator arrays (2D for lines, 1D for circles) rather than a full 3D array, reducing the computational complexity and execution time while maintaining accuracy
Solution Approach 2:
The patent performs preliminary line detection before circle detection. By first identifying line segments and their parameters (x, θ), the algorithm constrains the subsequent circle search space, eliminating the need to search all possible circles in a 3D parameter space and thereby reducing processing time
3Ease of operation
If frequent random accesses to the accumulator array are performed, then circle detection can be implemented, but performance on embedded systems deteriorates
Solution Approach 1:
The patent reduces the accumulator array from 3D to 2D and then to 1D, which significantly reduces the random access memory requirements. The 1D accumulator array for circle detection can be implemented in cache memory or even registers on embedded systems, eliminating frequent external memory accesses and improving processing efficiency
Data Source
Figure 1
Figure 2~3
Figure 4A~5
AI summary
The Hough transform for circles can be implemented in a manner that avoids random access to the Hough accumulator array by successively identifying center candidates in each line of the image based on edge pixels in corresponding lines voting on the line of interest.