Connectivity-Enforcing Hough Transform for the Robust Extraction of Line Segments
IIEEE TRANSACTIONS ON IMAGE PROCESSING 1
Connectivity-Enforcing Hough Transform forthe Robust Extraction of Line Segments
Rui F. C. Guerreiro and Pedro M. Q. Aguiar,
Senior Member, IEEE
Abstract
Global voting schemes based on the Hough transform (HT) have been widely used to robustly detectlines in images. However, since the votes do not take line connectivity into account, these methods donot deal well with cluttered images. In opposition, the so-called local methods enforce connectivity butlack robustness to deal with challenging situations that occur in many realistic scenarios, e.g. , when linesegments cross or when long segments are corrupted. In this paper, we address the critical limitationsof the HT as a line segment extractor by incorporating connectivity in the voting process. This is doneby only accounting for the contributions of edge points lying in increasingly larger neighborhoods andwhose position and directional content agree with potential line segments. As a result, our method,which we call STRAIGHT (Segment exTRAction by connectivity-enforcInG HT), extracts the longestconnected segments in each location of the image, thus also integrating into the HT voting processthe usually separate step of individual segment extraction. The usage of the Hough space mapping anda corresponding hierarchical implementation make our approach computationally feasible. We presentexperiments that illustrate, with synthetic and real images, how STRAIGHT succeeds in extractingcomplete segments in several situations where current methods fail.
Index Terms
Hough transform, line segment detection, connectivity, connected segments, line pattern analysis, edgeanalysis.
EDICS Category: ARS-RBS
The authors are with the Institute for Systems and Robotics / Instituto Superior T´ecnico, Lisboa, Portugal. Contact author:P. Aguiar, Ph.: +351-21-8418283, Fax: +351-21-8418291, e-mail: [email protected].
September 19, 2011 DRAFT a r X i v : . [ c s . C V ] S e p IEEE TRANSACTIONS ON IMAGE PROCESSING
I. I
NTRODUCTION
Line segments are fundamental low-level features for the analysis of many real-life images. In fact,most man-made objects are made of flat surfaces, originating images with edge maps composed by linesegments. Thus, these segments provide important information about the geometric content of the imagedscene. This has been exploited, e.g. , for localizing vanishing points [1] or to match line segments acrossdistinct views [2]. Since more elaborated shapes are often described in an economic way in terms of linesegments, their extraction is often a first step in many other problems, e.g. , rectangle detection [3], theinference of shape from lines [4], map-to-image registration [5], 3D reconstruction [6], or even imagecompression [7].In this paper, we propose a new method to extract line segments from images in an automatic way.Although this problem has been the focus of attention of several researchers in the past decades, currentsolutions do not cope with many challenging situations that arise in practice, as we detail in the sequel.For this reason, the robust detection of line segments remains an open frontier (see [8], [9] for examplesof recent advances).
A. Overview of methods for line segment extraction
The Hough transform (HT) [10], [11] is the most popular method to detect lines in images. Basically,the HT extracts the lines that contain larger number of edge points. The key to an efficient implementationis the usage of the Hough space, a two-dimensional space parameterized in such a way that each pointin this space represents a line in the image. Each edge point in the image is then mapped to the regionof the Hough space that represents the pencil of all the image lines that go through that edge point. Byprocessing all edge points, the votes for each location in the Hough space are accumulated (this spaceis also referred to as the accumulator array) and the locations with larger number of votes correspondto the parameterizations of the predominant lines in the image. Naturally, the success of the HT comesfrom its global nature, since all points in a line contribute to its detection.A strong limitation of the HT comes from the fact that the voting scheme does not take into accountthat lines are alignments of connected points. In fact, since edge points voting for a particular line maybe disconnected from each other, there is not guarantee that parameters receiving large numbers of votescorrespond to long lines in the image (due to textures and/or noise, a peak in the accumulator array mayeven correspond to the parameterization of a “false” line, i.e. , a line that collects many separate pointsbut is not at all perceived as a line in the image). This problem is particularly critical when using theHT to extract a line segment , i.e. , a rectilinear point alignment with length that can be much smaller than DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 3 the image dimensions. In first place, short segments originate small peaks in the Hough space, which arehard to identify [12]; besides, a non-trivial extra step to determine the segment start and end points isrequired, e.g. , the analysis of the shape of the spread of votes in the accumulator array [13].Fig. 1 illustrates the difficulty that may arise when using the HT to detect short line segments. Wecontrast the HT of a synthetic image with long line segments (top left) with the one of a complex realimage (bottom left). In the first case, since the number of lines is not very large and they are very long, theHT accumulator array exhibits the expected peaks (darker points visible in the top middle image), whichare easily detected, and correspond to the correct lines (top right). In the second case, the large numberof edge points in the real image, many of them forming very short segments or only corresponding totexture or noise, originates large numbers of votes for lines that do not correspond to connected segments.As a consequence, the accumulator array does not exhibit prominent peaks (see the smoothness of itsgrey-level representation in the bottom middle image) and its processing originates a poor result (bottomright) that contains spurious short segments and misses several others, including longer ones.
Fig. 1. Top: success of the HT when detecting long lines in a clutter-free image. Bottom: limitation of the HT when detectingshort line segments in a complex image. In each case: on the left, the original image, on the middle, the HT accumulator arrays,and on the right, the detected line segments.
The limitations of the HT have been pointed out by several authors, e.g. , [12], [14], [15], [16] andmany efforts have been made to alleviate its problems. For example, the method in [17] uses the edgedirection to reduce the accumulation of spurious votes in the Hough space and [12] proposes a strategy
September 19, 2011 DRAFT IEEE TRANSACTIONS ON IMAGE PROCESSING that is based on processing a line a time: after detecting the line corresponding to the largest peak inthe accumulator array, the votes of the edge points that belong to this line are removed. Naturally, thesuccess of this approach hinges on the correctness of the first lines detected. As a consequence, in manypractical situations, when facing highly textured images and/or in the presence of noise, these approachesare unable to provide accurate results. In fact, this happens because these improvements do not tacklethe fundamental limitation of the HT: the fact that it does not take into account the required connectivityof the edge points forming a line segment. Other authors addressed storage and computational issues ofthe HT by proposing a hierarchical scheme [18], multiple accumulator resolutions [19], or the usage ofa random sampling of the edge map (probabilistic HT) [20].In spite of these limitations, the global nature of the HT is attractive, since line parameters estimatedfrom the complete data are naturally more accurate than what can be done locally. However, few papershave approached the problem of developing global methods for line segment extraction, i.e. , globalmethods to extract, simultaneously, the line parameters and its extremes. A fruitful example is the methodin [21], which searches among all possible line segment candidates, using a Helmholtz principle forvalidating. Naturally, the good results come at a high computational cost. Other approaches use thewidely known random sample consensus (RANSAC) [22]: basically, two edge points from the edge map,randomly sampled, define a candidate line; then, the consensus of the line is evaluated by counting thenumber of other edge points that fit that line segment, given an error tolerance; for segments with a highconsensus, the parameters are refined by using an iterative expectation-maximization (EM) method [23].Since the success of RANSAC hinges on the usage of a very large number of samples, these approachesresult computationally too complex for many realistic applications.For the reasons above, the majority of methods for line segment extraction rely on local decisions,rather than on global ones, see [24], [25], [14], [26], [16] for examples. These local methods outperformthe HT by taking (local) connectivity into account, and result computationally simple, but lack robustnessto deal with challenging situations, e.g. , when line segments cross. Furthermore, their local nature makelong line segments particularly difficult to extract in many realistic scenarios, because, due to noise andclutter, these segments are interrupted. The majority of local methods use three steps: first, obtaining aregion of connected edge points; then, roughly estimating the line segment direction; and finally, refiningand extending the segment by including new edge points that approximately fit the line. The first stepconsists of chaining edge points [27]. Methods such as the one in [28] even skip the subsequent linefitting and refinement steps by chaining connected edge points into curves and then cutting them intoline segments, using a straightness criterion. Texture, low-contrast regions, crossing segments, and noise
DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 5 make difficult the extraction of large connected regions belonging to a single segment. The second stepconsists of fitting a line to the chain of edge points using, e.g. , total least-squares (TLS) [26]. Naturally,the reliability of the regression depends on the length of the underlying point chain. Some methodsbypass the chaining of edge points: [29] uses the so-called local HT (LHT) [30], roughly estimating thesegment direction from the peaks of local orientation histograms, computed at each edge point; [14], [31]directly fit a line to all edge points inside a sliding window, which only provides reasonable estimatesfor simple scenes, with very small clutter. The final step usually involves alternating between two stagesuntil convergence [26]: inclusion of new edge points that are close to the candidate line, according to adistance measure; and re-estimation of the line segment parameters from the new set of edge points. Asit is typical with this type of methods, a poor initial model for the line segment model may compromisethe final result. Furthermore, the process may terminate too early when attempting to extract a long linesegment, due to the common cluttered nature of the edge maps of real images. Two popular local methodsfor line segment detection are [25] and the LSD (Line Segment Detector) of [16]. The method in [25]coarsely quantizes the local orientation angles, chains adjacent pixels with identical orientation labels,and fits a line segment to the grouped pixels. LSD [16] extends this idea by using continuous angles andeliminates false line segment detections by using the Helmholtz principle of [21].
B. Proposed approach
The key ingredient of our method is the incorporation of connectivity into the HT voting process.This is done by imposing that edge points only vote for lines according to which they are spatiallyconnected to other points. As a consequence, the vast majority of spurious votes are eliminated andpeaks in the accumulator array become prominent and truly correspondent to line segments of maximumlength. Simultaneously, our method, which we call STRAIGHT (Segment exTRAction by connectivity-enforcInG Hough Transform), integrates into the voting process the usually separate step of determiningthe extremes.STRAIGHT starts by computing the prominent directions at each edge point, which will guide thesearch for the orientations of line segments. An image line segment is characterized by a rectilinearalignment of dark-to-light (or opposite) transitions. Our prominent direction detector computes, for eachedge point, the set of directions according to which there is a predominance of those intensity transitions.This is accomplished by extending the LHT [30] to only take into account directionally coherent edgepoints: in a first step, signed directional edge maps are computed; then, orientation histograms are built ateach edge point, by considering the neighboring edge points whose relative positions agree with the angle
September 19, 2011 DRAFT IEEE TRANSACTIONS ON IMAGE PROCESSING of the directional edge map. The histogram accumulates the signed values of the intensity transitions,thus the prominent directions at each edge point are detected by finding large magnitude entries in thecorresponding histogram.After computing the local prominent directions, STRAIGHT extracts line segments using the knowledgethat the edge points forming each of them must be connected. This is done by computing new LHT-like maps (which we will call length maps ) for each edge point, this time taking into account all otheredge points whose position and directional content agree with potential line segments. Position mattersbecause only points that respect connectivity are considered; directional content matters because onlyedge points with prominent direction that agrees with the candidate segment are considered. In practice,for each prominent direction of each edge point, STRAIGHT progressively considers edge points furtheraway until the connectivity criterion is violated. After exploring all candidate directions, the ones thatcollected more distant edge points correspond to the orientations of the longest connected line segmentsgoing through the starting point. Note that allowing a set of prominent directions, rather than a singleone, enables dealing with crossing segments.Our implementation of STRAIGHT incorporates the explicit mapping of uncertainty balls around theedge points into the Hough space, increasing robustness and accuracy, and uses a hierarchical coarse-to-fine strategy to explore candidate directions, leading to a computationally tractable algorithm. We presentillustrative results of experiments that use synthetic and real images to compare STRAIGHT with theHT [11] and the state-of-the-art local method LSD [16]. A preliminary version of this work is in [32].
C. Paper organization
The organization of the remaining of the paper is as follows. Section II describes the computation oflocal prominent directions. Section III details the extraction of line segments by enforcing connectivity.The hierarchical implementation is described in Section IV. Experimental results are reported in Section Vand Section VI concludes the paper.II. C
OMPUTING L OCAL P ROMINENT D IRECTIONS
In terms of image intensities, the existence of a line segment corresponds to the presence of a rectilinearalignment of dark-to-light (or opposite) transitions. Despite the multiple sources of inaccuracies in edgedetection, such as noise and clutter, there should be a predominance of either positive or negativeintensity variations (corresponding to light-to-dark and dark-to-light transitions, respectively) along the
DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 7 line segment. This predominance is what we exploit to compute the prominent directions at each edgepoint, i.e. , the set of possible orientations of line segments going trough that point.We capture the local directional content of an image I by computing its derivatives, through theconvolution with four oriented kernels, ∇ θ I = I ∗ K θ , θ ∈ { ◦ , ◦ , ◦ , ◦ } . (1)Although kernels with a large support would smooth the noise, we use simple standard central differencekernels, since they enable more precise edge localization and angular responses, by minimizing theinfluence of surrounding pixels. Thus, we set K = −
10 0 0 , K = −
10 0 01 0 0 , K = − , K = − . In our case, robustness to noise when extracting line segments comes from the requirement of pointconnectivity, as detailed in the following section.The directional edge maps E θ , θ ∈ { ◦ , ◦ , ◦ , ◦ } , are obtained by thresholding the derivativesand retaining their sign, i.e. , E θ ( x, y ) = if ∇ θ I ( x, y ) ≥ T − if ∇ θ I ( x, y ) ≤ − T otherwise . We call ( x, y ) an edge point when | E θ ( x, y ) | = 1 for at least one value of θ .We extend the LHT [30] to take into account the edge directional content, i.e. , our method builds localorientation histograms by using the neighboring edge points whose direction is coherent with its position.To clarify, when building the histogram for the edge point ( x , y ) , we first compute the directions ofthe segments passing through ( x , y ) and each neighboring edge point ( x, y ) , θ ( x ,y ) ( x, y ) = arctan (cid:18) y − y x − x (cid:19) ∈ [0 ◦ , ◦ ) . Then, for each neighbor ( x, y ) , the histogram count uses only the directional edge map E θ with the valueof θ that is closer to direction perpendicular to θ ( x ,y ) ( x, y ) , i.e. , E ( x, y ) if θ ( x ,y ) ( x, y ) ∈ [0 , . ∪ (155 . , , E ( x, y ) if θ ( x ,y ) ( x, y ) ∈ (22 . , . , E ( x, y ) if θ ( x ,y ) ( x, y ) ∈ (67 . , . , E ( x, y ) if θ ( x ,y ) ( x, y ) ∈ (112 . , . , (2) September 19, 2011 DRAFT IEEE TRANSACTIONS ON IMAGE PROCESSING which just corresponds to the representation in Fig. 2. For example, if ( x , y ) = (0 , and ( x, y ) = (0 , ,we have θ (0 , (0 ,
3) = 90 ◦ , a vertical segment, and the directional edge point that contributes to thehistogram is E (0 , , since K is the kernel that best responds to the horizontal transitions that definevertical edges. Fig. 2. Selection of directional edge map E θ in terms of the relative position between edge points. As usual in the LHT, the number B of histogram bins is fixed ( B = 32 is typical) and each edge pointcontributes to the two bins whose centers approximate the angle θ ( x ,y ) ( x, y ) by excess and default (thecontributions are weighted according to the distance to the bin centers). The signs in the directional edgemaps are taken into account through positive or negative contributions to the histogram bins. This way,we filter out conflicting contributions that may occur due to noise, textures and image clutter. We usea relatively large neighborhood for the local histograms (a -pixel radius circular window) to minimizethe influence of the spurious points in the edge maps. The prominent directions at each edge point arefound by thresholding the magnitude of the corresponding local histogram (we use the threshold of of the number of edge points inside the circular window for each direction, thus a direction is consideredprominent when the majority of the edge points in that direction have the same intensity transition sign).To represent the range of possible directions going through each edge point ( x , y ) , we store the setof prominent bin centers and the corresponding image gradients, i.e. , Θ ( x , y ) = { ( θ , ∇ θ I ( x , y )) , ( θ , ∇ θ I ( x , y )) , . . . , ( θ N , ∇ θ N I ( x , y )) } , where ≤ N ≤ B is the number of histogram bins whose count was above the threshold. If N ≥ , for ≤ n ≤ N , we denote by θ n the central angle of the bin n and by ∇ θ n I ( x , y ) the image gradient (1),with orientation θ that best matches θ n , according to (2). To account for the histogram discretization, i.e. , the nonzero width of the bins, we consider in the sequel as possible directions of line segments allthe orientations θ ∈ [ θ n − ∆ θ , θ n + ∆ θ ] , with ∆ θ = 180 /B/ /B . DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 9
III. E
XTRACTING C ONNECTED L INE S EGMENTS
We now describe the core of STRAIGHT, i.e. , the way we incorporate connectivity into the line segmentextraction. We start by making explicit the parameter search problem that underlies the extraction of eachof the segments, introducing the length map , which plays a similar role of the HT accumulator array. Then,we describe how edge points are sequentially mapped into the length map by taking into account boththe edge point connectivity and the uncertainty due to discretization. Finally, we describe the procedureto extract line segments from the length map.
A. Line segment extraction as a parameter search problem – the length map
Let p = ( x , y ) be an edge point and Θ ( p ) the set of prominent directions of possible line segmentspassing through p , as introduced in the previous section. To accurately detect a line segment in the imageit is necessary to estimate the sub-pixel location of the line, which will be parameterized by its positionand orientation, in a similar way to the HT. The line position is specified in terms of its distance δ p to theedge point p . The line orientation is represented by δ θ , which represents the deviation with respect tothe prominent direction angle θ n in Θ ( p ) . Thus, as illustrated in Fig. 3, any point p = ( x, y ) belongingto the line ( δ p , δ θ ) obeys (cid:104) p , v ⊥ θ n + δ θ (cid:105) = (cid:104) p , v ⊥ θ n + δ θ (cid:105) + δ p , (3)where (cid:104)· , ·(cid:105) is the standard inner product and v ⊥ θ = (sin( θ ) , − cos( θ )) is a unit vector with directionalorthogonal to θ . The candidate line segment is allowed to deviate at most a predefined ∆ p from p , i.e. , δ p ∈ [ − ∆ p , ∆ p ] , (in our experiments, we use ∆ p = 1 ) and ∆ θ from θ n , i.e. , δ θ ∈ [ − ∆ θ , ∆ θ ] ( ∆ θ wasdefined in the previous section). Fig. 3. Edge point p , prominent direction θ n , line segment specified by parameters ( δ p , δ θ ) , and range limits ∆ p and ∆ θ . September 19, 2011 DRAFT0 IEEE TRANSACTIONS ON IMAGE PROCESSING
When the estimate ( δ p , δ θ ) , coincides with the true value of the parameters defining a line segment inthe image, there are several other edge points along the line ( δ p , δ θ ) for which the orientation θ = θ n + δ θ is also prominent (with matching signs of the image gradient), according to the information collectedin { Θ ( · ) } . We call a candidate match to each of these edge points. Besides, due to the connectivity ofthe edge points forming a line, the gap between candidate matches must be smaller than a predefined maximum distance threshold d . Naturally, the closer the estimated line is to the actual one, more distantedge points of the true line segment are captured. This is the key point of our approach, which formalizesthe extraction of a line segment as the search for the parameters ( δ p , δ θ ) that maximize the length of thesegment that can be extracted in the neighborhood of p .To extract the maximum length segments that pass close to each edge point, we borrow inspiration inthe LHT, where local accumulator arrays are used in contrast to the single accumulator array of the HT,which can not discriminate between distinct segments falling in the same line. In our case, we definelocal 2D length maps L : [ − ∆ p , ∆ p ] × [ − ∆ θ , ∆ θ ] (cid:55)→ N . For each edge point, L ( δ p , δ θ ) will contain theinteger length of the line segment ( δ p , δ θ ) . This map can be regarded as an extension of the accumulatorarray of a LHT in order to take line segment connectivity into account. In this scenario, the extraction ofa line segment passing close to p consists of filling L ( · , · ) , obtaining the parameters ( δ p , δ θ ) for which L ( δ p , δ θ ) is maximum, and computing its start and end points.To fill L ( · , · ) through the direct implementation of an exhaustive scanning of the space [ − ∆ p , ∆ p ] × [ − ∆ θ , ∆ θ ] would be computationally unbearable. In fact, the discretization of this space must be veryfine to yield accurate results and, for each location, many edge points have to be processed (possibly,hundreds or thousands). Besides, this approach would use redundant computations, since each edge pointwould be visited several times because it may belong to several candidate line segments. For this reason,as usually done to fill the HT accumulator array, we also adopt a pixel-centered approach, where theedge points are used to fill the length map L ( · , · ) in an efficient way. B. Incorporating uncertainty – the update region
We now show how each individual edge point is processed in our pixel-centered approach. Due tothe pixel grid discretization, we model each edge point by an uncertainty ball, rather than a pointwisefeature. We use the uncertainty ball radius R = 1 , the maximum expected error in the location of eachpixel. Because the uncertainty ball has a non-infinitesimal area, there is a set of parameters { ( δ p , δ θ ) } ,whose corresponding line segments cross it. This is illustrated in the left side of Fig. 4, where the linesformed by all orientations between θ a and θ b cross the uncertainty ball centered at ( x, y ) , for position DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 11 deviation δ p = − α from p . We call update region of the length map domain to the set of positions andorientations { ( δ p , δ θ ) } , whose corresponding line segments cross the uncertainty ball centered at eachedge pixel. The update region for the pixel p = ( x, y ) , in the length map of p , is shown on the rightside of Fig. 4. Fig. 4. The uncertainty ball of an edge pixel (left) and the corresponding update region in the length map domain (right).
To find the analytic expressions for the bounds of update region, we use the line equation (3), nowseen as a condition for line segments rather than points. When computing the length map for the edgepoint p , we see from (3) that any segment ( δ p , δ θ ) that crosses the uncertainty ball of pixel p = ( x, y ) must verify (cid:104) p , v ⊥ θ n + δ θ (cid:105) = (cid:104) p , v ⊥ θ n + δ θ (cid:105) + ( δ p − r ) , (4)where − R ≤ r ≤ R is the distance between the center of the ball and the segment, along vector v ⊥ θ n + δ θ (depicted in Fig. 4). From (4), the line segment position δ p is easily expressed in terms of its orientation δ θ and r : δ p = (cid:104) p − p , v ⊥ θ n + δ θ (cid:105) + r . (5)The update region, which we denote by U , is thus the collection of intervals specified by all possibleorientations δ θ and corresponding positions δ p given by (5), with | r | ≤ R : U = (cid:8) ( δ p , δ θ ) : δ θ ∈ [ − ∆ θ , ∆ θ ] , δ p ∈ (cid:2) δ − p ( δ θ ) , δ + p ( δ θ ) (cid:3) ∩ [ − ∆ p , ∆ p ] (cid:9) , (6)where the limits δ − p ( δ θ ) and δ + p ( δ θ ) are made explicit from (5) by expanding v ⊥ θ n + δ θ : δ − p ( δ θ ) = ( x − x ) sin ( θ n + δ θ ) − ( y − y ) cos ( θ n + δ θ ) − R , (7)
September 19, 2011 DRAFT2 IEEE TRANSACTIONS ON IMAGE PROCESSING δ + p ( δ θ ) = ( x − x ) sin ( θ n + δ θ ) − ( y − y ) cos ( θ n + δ θ ) + R . (8)If the update region of a given pixel is non-empty, we say that the pixel is within the search range . Inthe illustration of Fig. 4, the search range for p is the one limited by the lines labelled with θ n − ∆ θ and θ n + ∆ θ .As geometrically evident, the range of angles of lines that cross an uncertainty ball decreases as thedistance between p and p increases (an approximate expression for this range is R/ (cid:107) p − p (cid:107) ) ,obtained by noting that p , p can be approximated by the hypotenuse of a right-angled triangle of which R is the small cathetus). As a consequence, to enable the extraction of long line segments, i.e. , containingedge points p far from p , the length map must be densely discretized to sample all relevant values of δ θ . We propose an efficient way to deal with this need through the hierarchical coarse-to-fine proceduredescribed in the Section IV.We observe that expressions (7) and (8) are similar to the parameterizing equation of the HT [11], ρ = x cos( θ ) + y sin( θ ) , with p = ( x , y ) as the origin of the coordinate system and θ shifted by ◦ . Thus, the boundaries of the update region resemble the sinusoidal shape of the bundles of votes ofeach edge point in the HT accumulator array (see Fig. 4 where, in fact, only a segment of that shape isseen, due to the length map limits). In what respects to the resolution of the accumulator array, whenusing the HT, the contradictory requirements of accuracy (high resolution) and coping with discretizationerror (low resolution, so that votes of the same line fall within the same bin) makes difficult, if notimpossible, to achieve a good compromise. Strategies that uniformly blur the accumulation array ( e.g. ,by using multiple resolutions [18], [19], or kernels of various sizes [8]) do not change the scenario,since they still neglect the distinct influence of the discretization error of edge points located at differentpositions. In opposition, in our case, the resolution of the length map can be chosen arbitrarily large,since we model the actual discretization error of each individual edge point by using the correspondent(position-dependent) update region, as descibed above. C. Sequential mapping of edge points to the length map
After describing how each pixel maps to a corresponding update region in the length map, we nowshow how to fill this map in a sequential way by processing all image edge points. As before, let usconsider the case the of the edge point p , with prominent direction θ n . When filling the correspondinglength map L , we consider the image divided in two half-planes by the line orthogonal to θ n passingthrough p . In each half-plane, starting from p we circularly scan the image, with progressively larger DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 13 radius, mapping to the corresponding half-plane length map the candidate matches that fall within thesearch range and do not violate the connectivity requirement.Due to the graceful adaptation to the discrete pixel grid, we use the so-called Manhattan distance todefine the equidistant curves as the set of pixels p located at fixed distance e from p ( i.e. , such that (cid:107) p − p (cid:107) ∞ = e ). Fig. 5 illustrates the scenario, with the central edge point p , the equidistant curves,labeled by the distance values, the search range and the half-planes. Fig. 5. Central edge point p , search range, and equidistant curves, each labeled by its integer distance to p . For each half-plane, we scan each equidistant curve, starting with the one closer to p ( i.e. , the curvewith label e = 1 in Fig. 5), looking for candidate matches. Fig. 6 illustrates the scanning pattern foreach equidistant curve. It starts in the center of the search range, i.e. , the pixel labeled with in Fig. 6,and processes each pixel within the curve until reaching the limit of the search range ( i.e. , the pixelslabeled with positive values in Fig. 6, up to label , shown in red). Then, the pixels in the other directionare scanned, until the complete equidistant curve within the search range was processed ( i.e. , the pixelslabeled with negative values in Fig. 6, down to label − , shown in red). Then, the following equidistantcurve is processed.To account for the usage of the Manhattan distance, the discrete pixel [ p ] at the center of the searchrange for the equidistant curve e is given by [ p ] = round (cid:18) p ± e v θ n (cid:107) v θ n (cid:107) ∞ (cid:19) , where v θ = (cos( θ ) , sin( θ )) is a unit vector with angle θ , and the signal ± depends on the half-planebeing considered. September 19, 2011 DRAFT4 IEEE TRANSACTIONS ON IMAGE PROCESSING
Fig. 6. Illustration of the scanning pattern for a single equidistant curve in one of the half planes.
When a candidate match is found in the equidistant curve e , its update region is computed, accordingto (6), (7), and (8), and the corresponding entries of the length map are updated. This updating consistssimply in setting those entries to the value of the equidistant curve number, e . This indicates that thereare valid line segments of (at least) size e with the parameters corresponding to those entries. To capturethe connected nature of the line segments, we first prune the update region, eliminating the locationswhere the difference between the current value of the length map, L , and the equidistance value e islarger than the maximum distance threshold d , i.e. , U ← U \ { [ e − L ( δ p , δ θ )] > d, δ p ∈ [ − ∆ p , ∆ p ] , δ θ ∈ [ − ∆ θ , ∆ θ ] } . (9)Then, we update the length map according to L ← e U + L (cid:12) U , where U is seen as a binary mask and (cid:12) denotes the Hadamard, or elementwise, product. When thedistance between e and all the values in the length map, L ( · , · ) , is larger than d , i.e. , when U = ∅ , thereare not updatable entries in the length map and the scanning stops for the corresponding half-plane. Inthe vast majority of our experiments, we used d = 2 pixels.Alg. 1 synthesizes the procedure just described to compute each half-plane length map. The final lengthmap for each edge point p and prominent direction θ n is obtained by adding the two half-plane lengthmaps. DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 15
Algorithm 1
Filling one half-plane length map L for edge point p and prominent direction θ n . input: p = ( x , y ) , θ n , prominent directions { Θ ( · ) } , maximum distance d , uncertainty radius R L ( · , · ) = 0 , e = 1 repeat for [ p ] = ( x, y ) in the equidistant curve e (as illustrated in Fig. 6) do if [ p ] is a candidate match (according to Θ ( p ) ) then U = ∅ for δ θ ∈ [ − ∆ θ , ∆ θ ] do δ − p = ( x − x ) sin ( θ n + δ θ ) − ( y − y ) cos ( θ n + δ θ ) − R δ + p = ( x − x ) sin ( θ n + δ θ ) − ( y − y ) cos ( θ n + δ θ ) + R U ← U ∪ (cid:8) ( δ p , δ θ ) : δ p ∈ (cid:2) δ − p , δ + p (cid:3) ∩ [ − ∆ p , ∆ p ] (cid:9) end for U ← U \ { e − L ( · , · ) > d } (requirement of line segment connectivity) L ← e U + L (cid:12) U end if end for e ← e + 1 until e − max { L ( · , · ) } > d output: L D. Extracting line segments
As when detecting lines from the peaks of the HT accumulator array, we detect line segments passingthrough p with an orientation close to the prominent direction θ n by simply collecting position-orientationpairs lying in the range ( δ p , δ θ ) ∈ [ − ∆ p , ∆ p ] × [ − ∆ θ , ∆ θ ] that correspond to peaks in the correspondinglength map L ( · , · ) .Whenever a line segment is detected, with position-orientation parameters ( δ p , δ θ ) , we also obtain ina straightforward way the coordinates of its extremes: [ p ± ] = round (cid:18) p + E ± v θ n + δ θ (cid:107) v θ n + δ θ (cid:107) ∞ + δ p v ⊥ θ n + δ θ (cid:19) , (10)where the subscript ± differentiates both extremes and E ± denotes the maximum values of the lengthmap of the corresponding half-planes. September 19, 2011 DRAFT6 IEEE TRANSACTIONS ON IMAGE PROCESSING
To prevent multiple detections of a single line segment, each time a segment is detected for a centralpoint p and prominent direction θ n , we remove that prominent direction from all candidate matches p in the line segment. Multiple crossing segments are naturally extracted by collecting position-orientationpairs in all prominent directions { θ n , ≤ n ≤ N } . To enable the detection of crossing segments withvery close direction angles, a fine discretization of the angle histogram is required. Alternatively, we canuse variable bin sizes for each prominent direction, in which case only (a small length interval around)the angle of an extracted line would be removed from all candidate matches p in the line segment. Inthe latter scenario, the corresponding length map may contain more than one peak, thus each one is dealtwith independently.A final remark regards avoiding that a few edge points of lines with position-orientation parametersoutside the range [ − ∆ p , ∆ p ] × [ − ∆ θ , ∆ θ ] vote for spurious lines inside that range. If fact, this wouldhappen whenever the uncertainty balls of those edge points intersect that range, as illustrated in Fig. 7.We explicitly detect these cases and ignore them by using an orientation limit slightly larger than ∆ θ (say, an increase of ◦ ) and only consider as detected segments those with estimated orientation withinthe original limits, i.e. , δ θ ∈ [ − ∆ θ , ∆ θ ] . Fig. 7. Edge points in a line outside the position-orientation range [ − ∆ p , ∆ p ] × [ − ∆ θ , ∆ θ ] and a spurious line segment, shownin green, that could be erroneously detected inside that range. Alg. 2 synthesizes the procedure to extract line segments, where the usage of non-maxima suppression in line 3 is not detailed, since it is similar to the standard procedure for extracting peaks from theaccumulator array of the HT. The only difference is that, since STRAIGHT has detected all the candidatematches for each line segment, the parameters ( δ p , δ θ ) are more accurately estimated by fitting a lineto the coordinates of the candidate matches with weights proportional to the magnitude of the imagegradients. Naturally, other fitting criteria can easily be adopted in STRAIGHT. DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 17
Algorithm 2
Extracting line segments passing through p with orientation close to θ n . input: p , θ n , half-plane length maps L + ( · , · ) and L − ( · , · ) , prominent directions { Θ ( · ) } , angle rangelimit ∆ θ , uncertainty ball radius R repeat ( δ p , δ θ ) = arg max [ L + ( · , · ) + L − ( · , · )] (find and remove peak using non-maxima suppression ) if | δ θ | ≤ ∆ θ then [ p + ] = round (cid:0) p + L + ( δ p , δ θ ) v θ n + δ θ / (cid:107) v θ n + δ θ (cid:107) ∞ + δ p v ⊥ θ n + δ θ (cid:1) [ p − ] = round (cid:0) p + L − ( δ p , δ θ ) v θ n + δ θ / (cid:107) v θ n + δ θ (cid:107) ∞ + δ p v ⊥ θ n + δ θ (cid:1) for the candidate matches p whose distance to [ p − ][ p + ] is smaller than (or equal to) R , removefrom Θ ( p ) the entry corresponding to θ n end if until there are not prominent peaks in [ L + ( · , · ) + L − ( · , · )] output: extremes of the extracted line segments, (cid:8) [ p − ] , [ p + ] (cid:9) , and updated { Θ ( · ) } IV. H
IERARCHICAL I MPLEMENTATION
Although the computational complexity of the pixel-centered approach described in the previous sectionis much smaller than an intensive approach, there are still some issues that need addressing. Because thediscretization of L ( · , · ) must be fine, every time a new candidate match is found, a very large amountof positions in the length map need to be updated, which is a time-consuming operation. Furthermore,the number of pixels in the equidistant curves that fall within the search range and need to be scannedincreases considerably with the size of the detected segment. Simultaneously, as the scanning of edgepixels proceeds and the corresponding updates are incorporated in the length map, the region of the mapthat remains updatable progressively becomes smaller. This occurs because more distant pixels correspondto smaller angle ranges, as explained in the previous section, and fewer ( δ p , δ θ ) positions still correspondto quasi-connected line segments. Since this narrowing of the updatable area was not taken into accountin the previous section, most pixel checks are unnecessary and further computational cost optimizationsare possible. This motivates the hierarchical implementation of STRAIGHT, as outlined in this section.Our hierarchical approach progressively zooms in on the updatable regions, thus increasing its dis-cretization density. The process starts with a length map that spans the initial wide location and angleranges, as described in the previous section. Every time a set of equidistant curves are processed, therectangular bounding box containing the updatable region (illustrated in the left image of Fig. 8) is September 19, 2011 DRAFT8 IEEE TRANSACTIONS ON IMAGE PROCESSING upscaled, so that it takes up the complete length map (right image of Fig. 8). This way, although the lengthmap has a constant size, it progressively addresses narrower location and angle ranges around ( δ p , δ θ ) ,effectively increasing the resolution of the estimates. Since the resolution can increase indefinitely, acoarse discretization of L ( · , · ) (we use an array of size × ) becomes sufficient to obtain long linesegments and fewer pixels are tested, thus resulting in computationally efficient line segment extractions.Since, as described in the previous section, a length map may contain multiple disconnected updatableregions, corresponding to different line segments passing through p , this process also divides the lengthmap into multiple ones, each focused on a particular updatable region, and each estimation proceedsindependently. Fig. 8. Illustration of the hierarchical implementation of STRAIGHT. Left: length map, with the bounding box of the updatableregion. Right: the same region, after upscaling.
To implement the length map upscaling in the hierarchical STRAIGHT, we use Nearest Neighborinterpolation. V. E
XPERIMENTS
In the absence of an established database for benchmarking the performance of methods for linesegment extraction, we single out demonstrative results of STRAIGHT, contrasting them with the onesobtained with the HT [11] and the state-of-the-art LSD [16] (the superiority of LSD when compared toseveral other methods is thoroughly demonstrated in [16]). We first describe experiments with syntheticimages to illustrate extreme cases that help to characterize the general behavior of STRAIGHT. Then,we present results obtained with several real world images that demonstrate its performance in practice.
DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 19
A. Synthetic images
We start by illustrating that STRAIGHT succeeds in cases tailored to the HT, i.e. , when processingimages for which the HT exhibits clear superiority with respect to local methods. We use again thesynthetic image used in the Section I, reproduced on the left of Fig. 9. This is a binary image usedin a review of several HT-based line segment extraction methods [20]. As we have anticipated in theSection I, and in accordance with the conclusions of [20], the HT succeeds in correctly extracting thelines from this image. In fact, although the multiple crossings make this image visually complex, the HTaccumulator array exhibits the desired prominent peaks (see Fig. 1), capturing the fact that the lines arelong and not in a very large number. In the third image of Fig. 9, we show the results of LSD. That apair of twin segments is extracted for each one in the original image is due to the fact that LSD treats thebinary image as any other, i.e. , as a grey-level one, and both light-to-dark and dark-to-light transitionsare detected. However, what is more important is that the local nature of the LSD limits its performance,particularly in resolving the line intersections, making it fail the extraction of several complete segmentsthat cross each other. The rightmost image displays the result of STRAIGHT, showing that it successfullyextracts the majority of the line segments, regardless of the intersections (to make the comparison fair,we also processed the image as a grey-level one, originating the double-detection effect).
Fig. 9. Clutterless image with prominent lines. From left to right: original binary image, result of the HT [11], LSD [16], andthe proposed method STRAIGHT.
We now illustrate the behavior of the algorithms when dealing with the other extreme of the spectrum, i.e. , with images whose line segments are characterized by being frontiers of differently textured regions,rather than abrupt changes in a very smooth intensity level. We use the synthetic images in the left ofFig. 10, which were generated by adding noise to a piecewise constant map. The top image simulatesa scenario where a textureless objects occludes a textured one ( e.g. , a wall in front of a tree) and
September 19, 2011 DRAFT0 IEEE TRANSACTIONS ON IMAGE PROCESSING the bottom one simulates two textured objects. In both cases, although the line segments that separateregions are perceptually evident, they are not trivially mapped to the edges of the images. In fact, since thetextures produce a large number of spurious edge points and the perceptual segments do not guaranteedlyproduce the corresponding edges, the HT [11] fails to extract them and originates a huge number of falsedetections, as shown in Fig. 10. Differently, LSD [16] succeeds in interpreting the textures as not formingline segments but only captures parts of the real segments for the top image and almost none for thebottom one. This is due to the local nature of LSD, which makes it sensitive to the missing edge pointsin the line segments. The rightmost images of Fig. 10 display the results of STRAIGHT, showing thatit succeeds in extracting the perceptually relevant lines as forming, in both cases, four complete linesegments (the few short segments correspond to accidental connected alignments in the random texture).
Fig. 10. Textured images. From left to right: original image, result of the HT [11], LSD [16], and STRAIGHT.
B. Real images
We start be showing the results obtained with the image used in Section I to clarify the limitations ofthe HT (Fig. 1). This image is challenging due to its dense packing of line segments of multiple lengths.In the top right image of Fig. 11, we display the results of LSD [16], showing that a subset of the linesegments are in fact detected. However, a closer look reveals that those are only the line segments that
DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 21 do not cross other structures and also that several longer segments are detected as fragmented ones. Theresults of STRAIGHT are in the two bottom images of Fig. 11. We see that our method succeeds inextracting the vast majority of the line segments in the image (exceptions are those which exhibit verylow contrast). The fact that the extracted line segments are complete is particularly evident in the bottomright image, which displays only the line segments that have length greater than 50 pixels.
Fig. 11. Top left: image. Top right: LSD [16]. Bottom left: STRAIGHT. Bottom right: STRAIGHT (longer line segments).
To illustrate how the noise affects the extraction of line segments in real images, we report the resultsobtained with noisy versions of the same image. Fig. 12 synthesizes the results for two levels of zero-meanwhite Gaussian noise. We see that, with the increase of the noise level, LSD [16] originates more segmentfragmentations and a progressive failure to detect some line segments. The performance of STRAIGHTdeclines in a less steep way, as expected from its global nature.
September 19, 2011 DRAFT2 IEEE TRANSACTIONS ON IMAGE PROCESSING
Fig. 12. Left: noisy images ( σ = 10 on the top and σ = 20 on the bottom). Center: LSD [16]. Right: STRAIGHT. Fig. 13 presents another illustrative case. It was obtained by processing an image containing a complexscene occluded by a net composed of very long line segments that cross multiple times. The result ofLSD [16] shows the net broken into short line segments (several sections of the net are not even extracted).On the other hand, our method was able to obtain almost all the complete line segments of the net, evenin locations where the background is complex (exceptions are where the net has a very low contrast withrespect to the background). The line segments extracted by our method that have length greater than 50pixels, displayed in the bottom right image of Fig. 13, make this particularly evident.Finally, Fig. 14 presents results of using STRAIGHT with real images of various kinds. As desired,the vast majority of long line segments are extracted without artificial fragmentation, despite the mul-tiple segment crossings. Also note that, although some of these images have edges that form curves,STRAIGHT succeeds in approximating these sections in a piecewise linear way, i.e. , by a sequence ofrectilinear line segments. VI. C
ONCLUSION
We have presented a new method for line segment extraction, which we call STRAIGHT (SegmentexTRAction by connectivity-enforcIng Hough Transform). Our method inherits the global accuracy of
DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 23
Fig. 13. Top left: image. Top right: LSD [16]. Bottom left: STRAIGHT. Bottom right: STRAIGHT (longer line segments). the HT and overcomes its limitations, particularly those that arise from not taking into account that linesegments are connected sets of edge points. Our experiments show that STRAIGHT outperforms currentmethods for line segment extraction in challenging situations, e.g. , when dealing with complex imagescontaining several crossing segments.We end by pointing out that our approach may pave the way to other improvements in HT-like imageedge analysis. In fact, as we saw, the HT leads to erroneous votes, which are eliminated by takingpoint connectivity into account. Thus, the detection of non-rectilinear shapes, e.g. , circles, in challengingscenarios, may also benefit from a similar treatment.A
CKNOWLEDGEMENTS
This work was partially supported by FCT, under ISR/IST plurianual funding, through the PIDDACProgram, and grants MODI-PTDC/EEA-ACR/72201/2006 and SFRH/BD/48602/2008.
September 19, 2011 DRAFT4 IEEE TRANSACTIONS ON IMAGE PROCESSING R EFERENCES [1] J. Kosecka and W. Zhang, “Video compass,” in
Proc. of European Conference on Computer Vision . Copenhagen, Denmark:Springer-Verlag, 2002, pp. 657–673.[2] C. Schmid and A. Zisserman, “Automatic line matching across views,” in
Proc. of IEEE International Conference onComputer Vision and Pattern Recognition , San Juan, Puerto Rico, 1997, pp. 666–671.[3] B. Micusk, H. Wildenauer, and J. Kosecka, “Detection and matching of rectilinear structures,” in
Proc. of IEEE InternationalConference on Computer Vision and Pattern Recognition , Anchorage, Alaska, USA, 2008, pp. 1–7.[4] D. Slater and G. Healey, “3D shape reconstruction by using vanishing points,”
IEEE Trans. on Pattern Analysis andMachine Intelligence , vol. 18, pp. 211–217, 1996.[5] W. Kr¨uger, “Robust and efficient map-to-image registration with line segments,”
Machine Vision and Applications , vol. 13,pp. 38–50, 2001.[6] J. Liu, Y. Chen, and X. Tang, “Decomposition of complex line drawings with hidden lines for 3d planar-faced manifoldobject reconstruction,”
IEEE Trans. on Pattern Analysis and Machine Intelligence , vol. 33, pp. 3–15, 2011.[7] P. Fr¨anti, E. Ageenko, H. K¨alvi¨ainen, and S. Kukkonen, “Compression of line drawing images using hough transform forexploiting global dependencies,” in
Proc. of the Fourth Joint Conference on Information Sciences , vol. 4, Research TrianglePark, North Carolina, USA, 1998, pp. 433–436.[8] R. Dahyot, “Statistical Hough Transform,”
IEEE Trans. on Pattern Analysis and Machine Intelligence , vol. 31, no. 8, pp.1502–1509, August 2009.[9] A. Borkar, M. Hayes, and M. Smith, “Polar randomized Hough Transform for lane detection using loose constraints ofparallel lines,” in
Proc. of IEEE International Conference on Acoustics, Speech, and Signal Processing , Prague, CzechRepublic, 2011, pp. 1037–1040.[10] P. Hough, “Method and means for recognizing complex patterns,” U.S. Patent 3.069.654, December 1962.[11] R. O. Duda and P. E. Hart, “Use of the Hough Transformation to detect lines and curves in pictures.”
Communications ofthe ACM , vol. 15, no. 1, pp. 11–15, 1972.[12] N. Guil, J. Villalba, and E. Zapata, “A fast Hough Transform for segment detection.”
IEEE Transactions on ImageProcessing , vol. 4, no. 11, pp. 1541–1548, 1995.[13] V. Kamat-Sadekar and S. Ganesan, “Complete description of multiple line segments using the Hough Transform,”
Imageand Vision Computing , vol. 16, no. 9-10, pp. 597 – 613, 1998.[14] D. Guru, “A simple and robust line detection algorithm based on small eigenvalue analysis,”
Pattern Recognition Letters ,vol. 25, no. 1, pp. 1–13, 2004.[15] Y. Lee, H. Koo, and C. Jeong, “A straight line detection using Principal Component Analysis,”
Pattern Recognition Letters ,vol. 27, pp. 1744–1754, 2006.[16] R. von Gioi, J. Jakubowicz, J. Morel, and G. Randall, “LSD: A fast line segment detector with a false detection control,”
IEEE Trans. on Pattern Analysis and Machine Intelligence , vol. 32, no. 4, pp. 722–732, 2010.[17] J. Illingworth and J. Kittler, “A survey of efficient Hough Transform methods,” in
Proceedings of Alvery Vision ClubConference , Cambridge, 1987, pp. 319–326.[18] H. Li, M. Lavin, and R. Le Master, “Fast Hough Transform: A hierarchical approach,”
Computer Vision, Graphics, andImage Processing , vol. 36, pp. 139–161, 1986.[19] J. Illingworth and J. Kittler, “The adaptive Hough Transform,”
IEEE Trans. on Pattern Analysis and Machine Intelligence ,vol. 9, pp. 690–698, 1987.
DRAFT September 19, 2011UERREIRO AND AGUIAR: CONNECTIVITY-ENFORCING HOUGH TRANSFORM 25 [20] H. K¨alvi¨ainen, P. Hirvonen, L. Xu, and E. Oja, “Probabilistic and non-probabilistic Hough Transforms: overview andcomparisons,”
Image and Vision Computing , vol. 13, pp. 239–252, 1995.[21] A. Desolneux, L. Moisan, and J. Morel,
Gestalt theory and image analysis, a probabilistic approach , February 2006.[22] M. Fischler and R. Bolles, “RANdom SAmple Consensus: a paradigm for model fitting with applications to image analysisand automated cartography,”
Communications of the ACM , vol. 24, pp. 381–395, 1981.[23] R. Hartley and A. Zisserman,
Multiple View Geometry in Computer Vision , 2nd ed. Cambridge University Press, 2004.[24] R. Nevatia and K. Babu, “Linear feature extraction and description,”
Computer Graphics and Image Processing , vol. 13,no. 3, pp. 257 – 269, 1980.[25] J. Burns, A. Hanson, and E. Riseman, “Extracting straight lines,”
IEEE Trans. on Pattern Analysis and Machine Intelligence ,vol. 8, pp. 425–455, 1986.[26] V. Nguyen, S. G¨achter, A. Martinelli, N. Tomatis, and R. Siegwart, “A comparison of line extraction algorithms using 2Drange data for indoor mobile robotics,”
Autonomous Robots , vol. 23, pp. 97–111, 2007.[27] A. Etemadi, “Robust segmentation of edge data,” in
Proc. of IEEE International Conference on Image Processing and itsApplications , Maastricht, The Netherlands, 1992, pp. 311–314.[28] O. Faugeras, R. Deriche, H. Mathieu, N. Ayache, and G. Randall, “Parallel image processing,” A. Saoudi, M. Nivat,P. Wang, and H. Bunke, Eds. River Edge, NJ, USA: World Scientific Publishing Co., Inc., 1992, ch. The depth andmotion analysis machine, pp. 143–175.[29] L. Wilson, N. Chen, R. Kelley, and J. Birk, “Image feature extraction using diameter limited gradient direction histograms,”
IEEE Trans. on Pattern Analysis and Machine Intelligence , vol. 2, no. 1, pp. 228–235, 1979.[30] J. Xiao and M. Shah, “Two-frame wide baseline matching,” in
Proc. of IEEE International Conference on Computer Vision ,Nice, France, 2003, pp. 603–609.[31] K. Arras and R. Siegwart, “Feature extraction and scene interpretation for map-based navigation and map building,” in
Proc. of SPIE, Mobile Robotics XII , vol. 3210, 1997, pp. 42–53.[32] R. Guerreiro and P. Aguiar, “Incremental local Hough Transform for line segment extraction,” in
Proc. of IEEE InternationalConference on Image Processing , Brussels, Belgium, 2011.
September 19, 2011 DRAFT6 IEEE TRANSACTIONS ON IMAGE PROCESSING