INCREMENTAL HOUGH TRANSFORM: AN IMPROVEMENT ALGORITHM FOR DIGITAL DEVICES IMPLEMENTATION. O.Djekoune* , K. Achour*, M. Halimi** and S. Kahlouche*. * Robotic Laboratory and Artificial Intelligence. ** Architecture Systems Laboratory. Advanced Technologies Development Center. Houch Oukil Baba Hassen, BP17 Baba Hassen, Algiers, Algeria. Tel: 213-021-35-10-21, Fax: 213-021-35-10-39 .
,
Abstract : Hough transform is one of the most common methods for detecting shapes (lines, circles, etc.) in binary or edge images. Its advantage is the ability to detect discontinuous patterns in noisy images, but it requires a large amount of computing power. This paper presents a novel algorithm for computing the Incremental Hough Transform (IHT) that was developed for digital devices implementation. This algorithm does not require any Look Up Table (LUT) and trigonometric calculations at run time. The number of the ρ values generated in parallel is defined at the beginning of this algorithm. This algorithm leads to a significant reduction of the Hough transform (HT) computation time and can be therefore used in real-time applications. This paper also provides some results obtained by this algorithm on several images. Key words: Hough transform, Incremental Hough transform, straight-line segment extraction, FPGA.
1 Introduction The Hough transform has long been recognized as a robust technique for detecting multi-dimensional features in an image and estimating their parameters. It has many applications, as most manufactured parts contain feature boundaries, which can be described by regular curves or straight lines. Its main advantage is that it is tolerant of gaps in feature boundary descriptions and is relatively unaffected by noisy image. Figure 1 explains this transformation. A straight-line in a two-dimensional space can be represented by two parameters, ρ and θ , where ρ is the normal distance between the line and the origin, and θ is the angle of this normal distance with the horizontal axis. A serial algorithm for computing Hough transform has complexity O ( P × nθ ) , where nθ is the number of quantizations in the θ space, and it represents a measure of accuracy desired in the computation, for an
N × N image. P is a fraction of N 2 and represents the number of points of an image where edges exist (or where the pixel value is 1 in a binary image). However, each edge point is independent of any other points for the Hough transform computation. This makes the Hough transform problem suitable for parallel computers, then the Hough transform computation time will be considerably reduced. In this fact, several parallel algorithms for the Hough transform have been developed. Koshimizu et al.in [7] have proposed an algorithm called Fast Incremental Hough Transform 2 (FIHT2) which does not require any trigonometric calculations to generate the Hough distributions, Tagzout et al. in [9] present another IHT algorithm where ρ values are generated two by two at the same time only for the first half of the θ interval, etc.. In this paper, we present a novel algorithm for computing the Incremental Hough Transform. This algorithm is specially
developed for digital devices implementation such as FPGA, ASICs, etc., because it does not require any LUT and trigonometric calculations at run time. The number of the ρ values generated at the same time is defined at the beginning of this algorithm. The ρ generation is made only at a fraction of the θ interval. However, this algorithm leads to a significant reduction of the Hough transform computation time and can be therefore used in real-time applications. As an illustration, we have chosen to generate at the same time four ρ values for the first quarter of the θ interval. This paper is organized as follow. In the section 2, we present briefly some published IHT algorithms and the proposed algorithm in more detail, and its validation. The obtained results by the proposed algorithm on real images can be appreciated in the section 3. Finally, we conclude by giving a conclusion and perspectives of this work.
2 Incremental Hough transform algorithm improvement An incremental Hough transform algorithm has been developed in [7]. It is defined by the following expressions: K 0 ≤ n < −1 ρ n +1 = ρ n + ερ n′ 2 K ρ ′ 1 = ρ ′ − ερ 1 (1) ≤n