Real-Time Straight-Line Detection for XGA-Size Videos by Hough Transform with Parallelized Voting Procedures

Jungang Guan, Fengwei An, Xiangyu Zhang, Lei Chen, Hans Mattausch
2017 Sensors  
The Hough Transform (HT) is a method for extracting straight lines from an edge image. The main limitations of the HT for usage in actual applications are computation time and storage requirements. This paper reports a hardware architecture for HT implementation on a Field Programmable Gate Array (FPGA) with parallelized voting procedure. The 2-dimensional accumulator array, namely the Hough space in parametric form (ρ, θ), for computing the strength of each line by a voting mechanism is mapped
more » ... on a 1-dimensional array with regular increments of θ. Then, this Hough space is divided into a number of parallel parts. The computation of (ρ, θ) for the edge pixels and the voting procedure for straight-line determination are therefore executable in parallel. In addition, a synchronized initialization for the Hough space further increases the speed of straight-line detection, so that XGA video processing becomes possible. The designed prototype system has been synthesized on a DE4 platform with a Stratix-IV FPGA device. In the application of road-lane detection, the average processing speed of this HT implementation is 5.4 ms per XGA-frame at 200 MHz working frequency. On the other hand, hardware implementations for highly complex algorithms can improve the computational performance, by exploiting parallelism, which is a well-known popular approach for achieving real-time implementations. In the literature, the Coordinate Rotational Digital Computer (CORDIC) algorithm [8] [9] [10] [11] [12] is often used in hardware implementations for the HT, when no hardware multiplier is available. CORDIC is a simple and efficient algorithm to calculate trigonometric functions, as well as, can transform rectangular to polar coordinates. The CORDIC-based HT increments the angle of the coordinate of a potential line to find all corresponding distance parameters. For each computation of given angles θ, to find related radii ρ, a series of convergent micro-rotations is executed [9] . It is worthwhile pointing out that accuracy losses of CORDIC depend not only on the number of fractional bits but also on the number of iterations. As one of the best hardware platforms, Field Programmable Gate Arrays (FPGAs) were used for HT implementation in [8, 13] . However, insufficient processing speed is still a challenge for implementation of straight-line detection by Hough transform in real-time applications. Fortunately, the research efforts to improve the HT towards better suitability for real-time applications have intensified. In recent years, many improvements or optimization algorithms were proposed, which focus on the operational process and the voting procedure of HT. A survey of the HT method [14] summarizes these HT-variants and modifications made to overcome the existing limitations. Major variants of HT for straight-line detection include the Probabilistic Hough Transform (PHT), Randomized Hough Transform (RHT) and Digital Hough Transform (DHT) approaches. Both PHT and RHT aim at increasing the operation speed of HT by the way of randomly selecting certain portions (choosing a subset) of the object points (edge pixels) to approximate the complete Hough transform with a small as possible error for extraction of straight lines more quickly. However, in the PHT algorithm, one object point maps into many parameter values (ρ, θ) (one-to-many mapping), while RHT uses many object points to define a straight line (many-to-one mapping) [15, 16] . Although these proposed alternative algorithms could reduce resource consumption and processing time, they do not consider the location errors (errors between the actual line coordinates and digital image coordinates) [17] , so that the accuracy is compromised. In order to solve this problem, DHT adopts a pattern of judging whether a given set of object points has the digital straight-line (DSL) property [18] . The DSL property is determined by a deviation value between the actual line coordinates and the digital image coordinates, which means that when the deviation value is less than a fixed threshold the object points are considered to have the DSL property. This variant of HT can significantly improve the accuracy when processing low-resolution images, but it does not have an advantage for dealing with high-resolution images or noisy images. To increase speed, many researchers investigated other algorithms or solutions in combination with HT, such as the combination with neural networks. M. W. Spratling et al. [19] proposed a new method for implementing the voting process of the HT, which employs a competitive neural-network algorithm to perform a form of probabilistic inference known as "explaining away". This method could achieve straight-line identification that is more accurate when compared with the standard voting process of the HT. In [20] , the authors reported similar improvement characteristics for the modified Hough transform (MHT) and the windowed random Hough transform (WHT), employing the "many-to-one" mapping and a sliding window neighborhood technique to alleviate the computational and the storage complexities. The main limitation of the HT-based line-detection algorithms is the high computational burden. Gradient-based line-detection methods were mainly developed for fulfilling the speed requirements of practical applications. In 1976, O'gorman et al. [21] used the gradient direction to improve the efficiency of the HT, where the accumulator of the voting process is extended with the magnitude of the gradient orientation of each edge pixel. Bonci et al. [22] proposed a method on the basis of an error propagation technique for avoid the noise effects in [21] . In [22] , a Bayesian probabilistic scheme is used for efficient consideration of the probability of each edge pixel and calculating the straight-line feature probability. Furthermore, a progressive PHT (PPHT) algorithm was propose in [23] where all edge pixels assigned to the line or added to the accumulator are removed for computing 1. Initialized Hough space with zeros. 2. Select coordinates (x i , y i ) from an edge pixel of the processed image [27] .
doi:10.3390/s17020270 pmid:28146101 pmcid:PMC5336043 fatcat:gxpywvgahzc3jaqnwnfuni7bvq