On a fast discrete straight line segment detection

Similar documents
Types of Edges. Why Edge Detection? Types of Edges. Edge Detection. Gradient. Edge Detection

Anno accademico 2006/2007. Davide Migliore

Outline 7/2/201011/6/

Pattern recognition systems Lab 3 Hough Transform for line detection

Edge and local feature detection - 2. Importance of edge detection in computer vision

COMPUTER AND ROBOT VISION

Edge detection. Convert a 2D image into a set of curves. Extracts salient features of the scene More compact than pixels

Morphological Image Processing

Multimedia Computing: Algorithms, Systems, and Applications: Edge Detection

Fast pattern recognition with the ATLAS L1Track trigger for the HL-LHC

Edge Detection (with a sidelight introduction to linear, associative operators). Images

FPGA IMPLEMENTATION FOR REAL TIME SOBEL EDGE DETECTOR BLOCK USING 3-LINE BUFFERS

Capturing, Modeling, Rendering 3D Structures

HOUGH TRANSFORM CS 6350 C V

Lecture 4: Image Processing

Edge detection. Gradient-based edge operators

Morphological Image Processing

CHAPTER 1 Introduction 1. CHAPTER 2 Images, Sampling and Frequency Domain Processing 37

Automated Detection for Baseball Batter Analysis Using Image Processing and Segmentation Methods

ECG782: Multidimensional Digital Signal Processing

Multi-Scale Kernel Operators for Reflection and Rotation Symmetry: Further Achievements

Filtering Images. Contents

FPGA Implementation of a Memory-Efficient Hough Parameter Space for the Detection of Lines

Part-Based Skew Estimation for Mathematical Expressions

Edge Detection. CSE 576 Ali Farhadi. Many slides from Steve Seitz and Larry Zitnick

Comparison between Various Edge Detection Methods on Satellite Image

Computer Vision. Image Segmentation. 10. Segmentation. Computer Engineering, Sejong University. Dongil Han

Feature Extraction and Image Processing, 2 nd Edition. Contents. Preface

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

Image processing. Reading. What is an image? Brian Curless CSE 457 Spring 2017

Augmented Reality VU. Computer Vision 3D Registration (2) Prof. Vincent Lepetit

Detecting Printed and Handwritten Partial Copies of Line Drawings Embedded in Complex Backgrounds

Object Shape Recognition in Image for Machine Vision Application

Biomedical Image Analysis. Point, Edge and Line Detection

Translation Symmetry Detection: A Repetitive Pattern Analysis Approach

Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation

Lecture 15: Segmentation (Edge Based, Hough Transform)

UPEM Master 2 Informatique SIS. Digital Geometry. Topic 3: Discrete straight lines: definition and recognition. Yukiko Kenmochi.

Edge Detection. Announcements. Edge detection. Origin of Edges. Mailing list: you should have received messages

Research on an Adaptive Terrain Reconstruction of Sequence Images in Deep Space Exploration

HOUGH TRANSFORM. Plan for today. Introduction to HT. An image with linear structures. INF 4300 Digital Image Analysis

Edges and Lines Readings: Chapter 10: better edge detectors line finding circle finding

Coarse-to-Fine Search Technique to Detect Circles in Images

Lecture 7: Most Common Edge Detectors

EE 584 MACHINE VISION

y s s 1 (x,y ) (x,y ) 2 2 B 1 (x,y ) (x,y ) 3 3

Detecting Multiple Symmetries with Extended SIFT

Digital Image Processing Fundamentals

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

Computer and Machine Vision

Digital Image Processing COSC 6380/4393

Image Processing: Final Exam November 10, :30 10:30

Lecture 18 Representation and description I. 2. Boundary descriptors

CSE152 Introduction to Computer Vision Assignment 3 (SP15) Instructor: Ben Ochoa Maximum Points : 85 Deadline : 11:59 p.m., Friday, 29-May-2015

Edge linking. Two types of approaches. This process needs to be able to bridge gaps in detected edges due to the reason mentioned above

RANSAC and some HOUGH transform

SHAPE ENCODING FOR EDGE MAP IMAGE COMPRESSION. Demetrios P. Gerogiannis, Christophoros Nikou, Lisimachos P. Kondi

Computer Vision I - Filtering and Feature detection

UPEM Master 2 Informatique SIS. Digital Geometry. Topic 2: Digital topology: object boundaries and curves/surfaces. Yukiko Kenmochi.

E0005E - Industrial Image Analysis

Schedule for Rest of Semester

EXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,

Edge Detection. CS664 Computer Vision. 3. Edges. Several Causes of Edges. Detecting Edges. Finite Differences. The Gradient

Chapter 11 Representation & Description

CS6640: Image Processing Project 4 Hough Transform

Lecture 9: Hough Transform and Thresholding base Segmentation

Feature Detectors and Descriptors: Corners, Lines, etc.

A Robust Method for Circle / Ellipse Extraction Based Canny Edge Detection

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

Real-time Corner and Polygon Detection System on FPGA. Chunmeng Bi and Tsutomu Maruyama University of Tsukuba

An Extension to Hough Transform Based on Gradient Orientation

Digital Image Processing

EE795: Computer Vision and Intelligent Systems

Assignment 3: Edge Detection

Broad field that includes low-level operations as well as complex high-level algorithms

GENERALIZING THE HOUGH TRANSFORM TO DETECT ARBITRARY SHAPES. D. H. Ballard Pattern Recognition Vol. 13 No

Adaptative Elimination of False Edges for First Order Detectors

Topic 6 Representation and Description

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

A Vertex Chain Code Approach for Image Recognition

Generalized Hough Transform, line fitting

Practical Image and Video Processing Using MATLAB

Robot vision review. Martin Jagersand

Comparison of Some Motion Detection Methods in cases of Single and Multiple Moving Objects

Tutorial: calculating field stress on a high-voltage insulator with HiPhi

Practical Image and Video Processing Using MATLAB

CS 664 Image Matching and Robust Fitting. Daniel Huttenlocher

Sobel Edge Detection Algorithm

Digital Image Processing

Image Processing Fundamentals. Nicolas Vazquez Principal Software Engineer National Instruments

DIGITAL IMAGE PROCESSING

Simulation of Zhang Suen Algorithm using Feed- Forward Neural Networks

04 - Normal Estimation, Curves

Tracking facial features using low resolution and low fps cameras under variable light conditions

Blob-Representation of Multidimensional Objects and Surfaces

CIRCULAR MOIRÉ PATTERNS IN 3D COMPUTER VISION APPLICATIONS

SIMULATION OF ARTIFICIAL SYSTEMS BEHAVIOR IN PARAMETRIC EIGHT-DIMENSIONAL SPACE

Edge and corner detection

COMPUTER AND ROBOT VISION

Increasing interconnection network connectivity for reducing operator complexity in asynchronous vision systems

Transcription:

On a fast discrete straight line segment detection Ali Abdallah, Roberto Cardarelli, Giulio Aielli University of Rome Tor Vergata Abstract Detecting lines is one of the fundamental problems in image processing. In addition for real time applications, detection should be achieved in real time. In this paper we investigate the use of fast trigger processor technology used in high energy physics experiments. We propose a method for detecting discrete straight lines segments in binary images based on a simple resistor network trigger processor. I. Introduction Detecting lines is one of the fundamental problems in image processing. For real time applications there is an additional computational time constraint. A fast straight line segments detection is essential in these applications. For example in augmented reality (AR) systems, augmentation of artificial information is conventionally in real time in order to provide real time vision for Human-Computer interaction. The weighting resistor matrix (WRM) is developed as a fast trigger processor in high energy physics [1], where detecting signal (pattern) in data at high speed is crucial. A first parallel test processor have been developed and tested. It consists on 7 interconnected boards, where each board is able to detect segment lines of a certain slope. The main two advantages of the WRM chip are: It is extremely fast, basically no computations are performed, but rather the interconnections of the resistor network give the desired response. This deps only on the signal propagation delay inside the circuit. The WRM naturally, using the voltage propagation inside the circuit, performs a best fit correlation instead of relying on perfect instances, allowing to overcome imperfectness in input data. In this paper we will describe a miniaturized serial version of the WRM, as well as its usage as a fast discrete straight line detector in binary images. The rest of the paper is organized as follows: Section II contains basic definitions as well as an introduction to the WRM circuit. Section III explains the working principles of the WRM, while Section IV illustrates the usage of the WRM data for discrete straight line segment detection. II. Basics Since in binary images we are dealing with discrete planes and there is no such thing as of straight lines in continuous plane, it is fundamental to define what is straight line in the discrete case. A binary image can be viewed as a finite grid inside Z 2. Given a point (n,m) on the Z 2, we define its 4-neighbors and 8- neighbors pixels as follows: (n,m+1) (n-1,m) (n,m) (n+1,m) (n,m-1) (n-1,m+1) (n,m+1) (n+1,m+1) (n-1,m) (n,m) (n+1,m) (n-1,m-1) (n,m-1) (n+1,m-1) Figure 1: Neighborhood 4 and 8 connectedness. Given two points A, B Z 2. We say A and DOI: 10.12792/icisip2014.019 89 2014The Institute of Industrial Applications Engineers, Japan. 1

B are 4-connected, respectively 8-connected, if B is a 4-neighbor, respectively 8-neighbor, of A. Definition II.1 A subset X of Z 2 is 4-connected, respectively 8-connected, if and only if for every a in X, its 4-neighbor, respectively 8-neighbor, is not void. Definition II.2 A discrete straight line if 4-tuple DSL = (a, b, µ, ω) Z 4, satisfying: where gcd(a,b) = 1. µ ax by < µ + ω, In the definition, µ is intercept of the line and ω its thickness. Given L = (a, b, µ, ω) Z 4 we have if w < max( a, b ), L is disconnected, if w = a + b, L is 4-connected, if w = max( a, b ), L is 8-connected, one WRM chip contains also the corresponding vertical symmetries. In fact these predefined patterns are hardware readouts of the WRM circuit, for this we will call them RODs. Each device covers 90 to 45 and 45 to 90. In order to process the full image covering all angles, a simple circuit can be used to rotate the input data by 90. Then another WRM chip is used in parallel on the rotated data. As we said in the introduction, the WRM does not look for DSL pattern that matches perfectly the predefined patterns. Data are fitted with the WRM RODs, and the ROD that maximize the likelihood will be taken in consideration. That is to say, even if a certain DSL does not match any of the predefined pattern, it will be still detected with the best fit. A key point for doing that is the natural voltage diffusion inside the WRM chip. Each point of the input binary image can be viewed as 1Volt input and it causes one dimensional voltage diffusion inside the resistor circuit, as shown in figure 4. (a) (b) (c) Figure 2: DSL examples with different w. (a) w < max( a, b ); (b) w = max( a, b ); (c) w= a + b ; We consider in this paper ω = max( a, b ) to work on 8 connected, 1 bit-thick discrete lines. Figure 4: Voltage diffusion of 1 "on" pixel Mathematically, The voltage diffusion inside the circuit is equivalent to a convolution of the binary image Img with a kernel K S = Img K, Figure 3: Example of prefixed WRM patterns Figure 3 illustrates a subset of the WRM prefixed patterns. The complete set of patterns of Where K = ( ( 1 2 )n 1 2 1 1 2 (1 2 )n ). The effect of this convolution, which is performed naturally by the WRM, is to smooth the binary image data reinforcing linear correlation. 2 90

III. 8 8 patch DSL segment detection In this section we explain how the binary image data is processed inside the WRM chip to detect small DSL segments. Since this is the basic functionality of the WRM circuit, the processing and the detection are performed almost instantly. Given S = (s i,j ) 1 i 8,1 j m a 8 m matrix data produced by the convolution of a 8 m binary image, as explained in the previous section. A series of sums are performed at each (., j) pixel point from 1 j m using a N prefixed patterns p k as follows: f j k = N k=1 p k (S(., j)) For example in our case, these sums are performed following 8 8 WRM RODs as illustrated in Figure 3. Given a threshold th, a DSL pattern fits the data if d2 f j k dj 2 th. The derivatives are performed following the j columns direction. Data are loaded inside the WRM serially. At the beginning a 8 16 pixels are loaded inside the circuit, then at each hardware clock this 8 16 window is shifted one pixel to the right inside a 8 n pixel data. The above sums are computed, in a very fast way, by means of resistors. This hardware clock can be seen as the columns index j of the image data. Once the 8 n data are processed, the derivatives are performed to detect patterns. Figure 5: Input data example Let s take now a concrete example to make things clearer. Given the input data presented in figure 5, we plot in figure 6 only the relevant RODs outputs of the WRM after computing the second derivative. Figure 6: 2st derivative of the WRM RODs The grids in the image to the left correspond to the prefixed DSL patterns that are tested against the input data. The plots to the right correspond to the 2st derivative performed over the ROD outputs. The peaks in the data correspond to where the ROD patterns fit well the input data, detecting this way the 5 discrete straight lines in the input data. As you can see from the above, the peaks amplitude vary according to how much the RODs fits the data at a specific hardware clock. More the pixels points are linearly correlated the greater the amplitude will be. IV. DSL segment detection in images In this section we explain how to use the WRM output for detecting arbitrary DSL segments in images. The first required step is to transform RGB images to binary images, the natural way is to use an edge detector [4]. RGB image is usually transformed to grayscale image. Then an edge detector method looks for sharp changes to produce the final binary image. 3 91

example, DSL segments that go from we can consider RODs that cover three areas: to (a) (b) (c) Figure 7: Zero Crossing Edge Detector Gradient based methods consist of thresholding the gradient to detect edges. Since the change in the gradient happens on more that one pixel, thresholding gives thick edges, which are post-processed by a thinning algorithm. On the contrary, zero crossing on the 2st derivative occurs at one pixel level, producing 1 bit thick edges, ideal input for the WRM. Another important consideration for our choice, is that the zero crossing edge detector can be implemented easily in electronics. This is usually required when the edge detector needs to provide data to the WRM at a very high speed. In less speed demanding cases, an FPGA implementation can be considered. RGB EDGES WRM 8 Bits DSLs Figure 8: RGB image processing chain Up to this point we have a processing chain 8 that starts from an RGB image, then goes through and edge detector, then the edge detected binary image is processed inside the WRM chip to detect small segments. Since the WRM takes an 8 n input format, the full image is sampled in order to scan it fully. At the of the chain, the WRM produces different sets of small 8 bits DSL segments. Each set corresponds to DSL segments that are detected withing certain inclinations. A set can be seen as 2D parametric space, where the parameters are the sample number and the hardware clock. These disjoints parametric spaces give an overall descriptors of image DSL segments. For Figure 9: 8 8 ROD covered regions Since inside each parametric space the points follow a specific direction, detecting segments of arbitrary length consist of joining these points from sample to sample. Following is a pseudo-code for detecting DSL from WRM sampled data set. Data: WRM sampled data set Result: DSL segments list while not at of samples do read current sample; find 8 bit segment; foreach 8 bit segment do segment start; while Next sample do find next corresponding 8 bit segment; if found then Update segment details; else segment finished; add segment to list; break; Algorithm 1: Detect DSL from a WRM sampled data set. At the a list of segment is given where each segment is provided by its starting point (x 1, y 1 ) and its ing point (x 2, y 2 ). 4 92

V. Experiments VI. Discussion In this section we present experimental results of the speed of our method for detecting DSLs. Just to give a baseline for the speed of our implementation, we will compare our result with the standard classical method for detecting DSLs which is the Hough Transform (HT). The Hough Transform is implemented on a Intel(R) Core(TM) i7-3632qm CPU @ 2.20GHz Linux machine. Also the last part of our chain, which is the final DSLs detection algorithm, is implemented in C on the same hardware. Our input data is a 800 600 pixels binary images produced by the zero crossing edge detector from RGB images. We don t count the time needed for the edge detector to produce the binary image as it is a common time for both methods. The experiment shows that with our method, we are able to process about 60 f rames/s. Using the Hough Transform method, we were able to reach a maximum of 8 f rames/s. Also the experiment shows that our method was more successful in filling gaps in DSLs. Showing a very good performance as shown in figure 10. The process of creating different sampled parametric spaces from input data is similar to the voting procedure of the Hough Transform [2]. The voting procedure in our case selects only points which have strong local linear correlation on a specific ROD direction. The computational complexity and the storage requirements are the main problems for the voting procedure of the HT. Many approaches have been taken in order to address these problems In HT based method. It is important to mention that methods based on the Hough Transform for detecting straight line segments, need also to perform post processing. That is to say, no points or length are given [3] but only straight lines coefficient. In some sense, the final part of the DSL segment detection is a common problem for the Hough based methods and for the WRM method. The main advantages of the WRM method regarding the last step are: WRM Sampled data is smaller than the input data, which reduce computational complexity. Sampled data are separated in disjoint parametric spaces for each inclination. Thus the problem is highly parallelizable. In addition, our method is able to overcome gaps due to the voltage diffusion that reinforces linear correlation. A very high speed in processing binary images can be reached by using the WRM, which fill perfectly the requirement for real time processing. VII. Conclusion Figure 10: Original grayscale image is processed by the zero crossing edge detector. The binary edge detected data is then processed by the WRM. Finally the reconstructed segments are detected and overlayed on the grayscale image. In this paper we discussed the adaptation of a fast trigger processor board for digital image analysis. We showed a formal view of what the device is actually doing. We proposed an algorithm that is able to construct from the WRM samples, a list of DSLs present in the image. The main advantage of this device is that it is extremely fast and highly parallelizable. In 5 93

a visual tracking system, this device can play a hardware acceleration role. By providing a list of detected features and patterns, it allows tracking algorithm to save valuable computational time and to have more space to achieve real time tracking. References [1] On a very fast topological trigger. R. Cardarelli, V. Chiostri, L. Di Stante, E. Reali, R. Santonico, M. Travaglini, E. Tusi (Rome U.,Tor Vergata) 1993. [2] R.O. Duda and P.E. Hart. Use of the hough transformation to detect lines and curves in pictures. Technical Report 36, AI Center, SRI International, 333 Ravenswood Ave, Menlo Park, CA 94025, Apr 1971. SRI Project 8259 Comm. ACM, Vol 15, No. 1. [3] Mohammed Atiquzzaman and Mohammed W. Akhtar. A robust hough transform technique for complete line segment description. Real-Time Imaging, 1(6):419 426, 1995. [4] Djemel Ziou and Salvatore Tabbone, Edge Detection Techniques - An Overview, IN- TERNATIONAL JOURNAL OF PATTERN RECOGNITION AND IMAGE ANALY- SIS, 1998, volume 8, 537-559 [5] R. Klette and A. Rosenfeld. Digital Geometry: Geometric Methods for Digital Picture Analysis. The Morgan Kaufmann series in computer graphics and geometric modeling. Elsevier, 2004. 6 94