A hardware design of optimized ORB algorithm with reduced hardware cost

Similar documents
A Hybrid Feature Extractor using Fast Hessian Detector and SIFT

Object Recognition Algorithms for Computer Vision System: A Survey

A Fuzzy Brute Force Matching Method for Binary Image Features

Department of Electrical and Electronic Engineering, University of Peradeniya, KY 20400, Sri Lanka

Local features and image matching. Prof. Xin Yang HUST

Appearance-Based Place Recognition Using Whole-Image BRISK for Collaborative MultiRobot Localization

Image Matching Using SIFT, SURF, BRIEF and ORB: Performance Comparison for Distorted Images

Implementation of GP-GPU with SIMT Architecture in the Embedded Environment

Robot localization method based on visual features and their geometric relationship

Realization of CUDA-based real-time registration and target localization for high-resolution video images

Local Patch Descriptors

Implementation of a Pedestrian Detection Device based on CENTRIST for an Embedded Environment

Hardware Acceleration of Feature Detection and Description Algorithms on Low Power Embedded Platforms

Ensemble of Bayesian Filters for Loop Closure Detection

LOCAL AND GLOBAL DESCRIPTORS FOR PLACE RECOGNITION IN ROBOTICS

An Algorithm for Medical Image Registration using Local Feature Modal Mapping

Lecture 4.1 Feature descriptors. Trym Vegard Haavardsholm

Implementation and Comparison of Feature Detection Methods in Image Mosaicing

IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY A SURVEY ON VIDEO STABILIZATION TECHNIQUES

PERFORMANCE MEASUREMENTS OF FEATURE TRACKING AND HISTOGRAM BASED TRAFFIC CONGESTION ALGORITHMS

State-of-the-Art: Transformation Invariant Descriptors. Asha S, Sreeraj M

A Novel Extreme Point Selection Algorithm in SIFT

Lecture 10 Detectors and descriptors

A Method to Eliminate Wrongly Matched Points for Image Matching

Robust Binary Feature using the Intensity Order

Improving Energy Efficiency of Block-Matching Motion Estimation Using Dynamic Partial Reconfiguration

IMPROVING DISTINCTIVENESS OF BRISK FEATURES USING DEPTH MAPS. Maxim Karpushin, Giuseppe Valenzise, Frédéric Dufaux

Invariant Feature Extraction using 3D Silhouette Modeling

Indian Currency Recognition Based on ORB

SCALE INVARIANT TEMPLATE MATCHING

A Comparison of SIFT, PCA-SIFT and SURF

Is ORB Efficient Over SURF for Object Recognition?

Fast Natural Feature Tracking for Mobile Augmented Reality Applications

Design of a Processing Structure of CNN Algorithm using Filter Buffers

IMAGE-GUIDED TOURS: FAST-APPROXIMATED SIFT WITH U-SURF FEATURES

Efficient Interest Point Detectors & Features

COMPARISON OF FEATURE EXTRACTORS FOR REAL- TIME OBJECT DETECTION ON ANDROID SMARTPHONE

Object Recognition Based on ORB Descriptor for Markerless Augmented Reality

Modern to Historic Image Matching: ORB/SURF an Effective Matching Technique

The Gixel Array Descriptor (GAD) for Multi-Modal Image Matching

Specular 3D Object Tracking by View Generative Learning

SIFT: Scale Invariant Feature Transform

ANALYSIS OF REAL-TIME OBJECT DETECTION METHODS FOR ANDROID SMARTPHONE

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

A Robust Hand Gesture Recognition Using Combined Moment Invariants in Hand Shape

Lossless Compression of Binary Image Descriptors for Visual Sensor Networks

Real Time of Video Stabilization Using Field-Programmable Gate Array (FPGA)

Image Classification using Fast Learning Convolutional Neural Networks

LEARNING WEIGHTED HAMMING DISTANCE FOR BINARY DESCRIPTORS

Local Image Features

Modified CAMshift Algorithm Based on HSV Color Model for Tracking Objects

A Study on Low-Cost Representations for Image Feature Extraction on Mobile Devices

Instance Detection by Keypoint Matching Beyond the Nearest Neighbor

III. VERVIEW OF THE METHODS

Analysis of Feature Detector and Descriptor Combinations with a Localization Experiment for Various Performance Metrics

Eligible Features Segregation for Real-time Visual Odometry

AN EMBEDDED ARCHITECTURE FOR FEATURE DETECTION USING MODIFIED SIFT ALGORITHM

Feature Detection. Raul Queiroz Feitosa. 3/30/2017 Feature Detection 1

The Brightness Clustering Transform and Locally Contrasting Keypoints

International Journal of Advanced Research in Computer Science and Software Engineering

Car License Plate Detection Based on Line Segments

Determinant of homography-matrix-based multiple-object recognition

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

AN INDOOR SLAM METHOD BASED ON KINECT AND MULTI-FEATURE EXTENDED INFORMATION FILTER

Patch Descriptors. CSE 455 Linda Shapiro

SURF. Lecture6: SURF and HOG. Integral Image. Feature Evaluation with Integral Image

Learning a Fast Emulator of a Binary Decision Process

Efficient Interest Point Detectors & Features

Stacked Integral Image

International Journal Of Global Innovations -Vol.6, Issue.I Paper Id: SP-V6-I1-P01 ISSN Online:

Visual Pose Estimation System for Autonomous Rendezvous of Spacecraft

Online Learning of Binary Feature Indexing for Real-time SLAM Relocalization

Fast Image Matching Using Multi-level Texture Descriptor

Hardware Acceleration of Feature Detection and Description Algorithms on Low-Power Embedded Platforms

Key properties of local features

A REVIEW ON IMAGE RETRIEVAL USING HYPERGRAPH

K-Means Based Matching Algorithm for Multi-Resolution Feature Descriptors

Image Features: Detection, Description, and Matching and their Applications

A Comparison of SIFT and SURF

Part-Based Skew Estimation for Mathematical Expressions

Computer Vision for HCI. Topics of This Lecture

Improved Coding for Image Feature Location Information

Video Processing for Judicial Applications

An Improvement of the Occlusion Detection Performance in Sequential Images Using Optical Flow

A NEW ILLUMINATION INVARIANT FEATURE BASED ON FREAK DESCRIPTOR IN RGB COLOR SPACE

Image matching on a mobile device

A Configurable Parallel Hardware Architecture for Efficient Integral Histogram Image Computing

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

Adaptive and robust feature selection for low bitrate mobile augmented reality applications

A Noise-Robust and Adaptive Image Segmentation Method based on Splitting and Merging method

HIGH-SPEED IMAGE FEATURE DETECTION USING FPGA IMPLEMENTATION OF FAST ALGORITHM

Fast Target Recognition on Mobile Devices: Revisiting Gaussian Elimination for the the Estimation of Planar Homographies

A Robust Feature Descriptor: Signed LBP

Applying FAST & FREAK Algorithms in Selected Object Tracking

ARTVision Tracker 2D

Face Recognition using SURF Features and SVM Classifier

A LOW-POWER VGA FULL-FRAME FEATURE EXTRACTION PROCESSOR. Dongsuk Jeon, Yejoong Kim, Inhee Lee, Zhengya Zhang, David Blaauw, and Dennis Sylvester

Visual Pose Estimation and Identification for Satellite Rendezvous Operations

Local Image Features

ICICS-2011 Beijing, China

Transcription:

, pp.58-62 http://dx.doi.org/10.14257/astl.2013 A hardware design of optimized ORB algorithm with reduced hardware cost Kwang-yeob Lee 1, Kyung-jin Byun 2 1 Dept. of Computer Engineering, Seokyenog University, Jeongneung 4-dong, Seongbuk-gu, Seoul, Korea kylee@skuniv.ac.kr 2 Multi-media Processor Research Team, ETRI, Daejun, Korea kjbyun@etri.re.kr Abstract. The conventional ORB algorithm is optimized for the hardware implementation. The optimized ORB algorithm is implemented on Zynq-7000 SoC Platform. SURF algorithm that is well known as a feature based algorithm is not suitable in the embedded environment, because it requires lots of calculations in the process. The proposed hardware accelerator reduces approximately 50% of internal memory usage and 25% of hardware logic compared to the conventional SURF accelerator, and it perform above 100 frames per second at 100MHz operation frequency. Keywords: FAST corner detection, rbrief, intensity centroid, ORB algorithm, computer vision. 1 Introduction Recently, studies on object recognition in computer vision for detecting the existence of an object in a certain range have been actively conducted in many applications. Scale Invariant Fourier Transform(SIFT)[1] and Speed Up Robust Features(SURF)[2] are widely used for object recognition. However, it is difficult to process real-time object recognition owing to their high computational complexity. To overcome this drawback, studies on designing SURF algorithms using a hardware accelerator are in progress. However, its disadvantage is that it incurs excessive hardware costs because using a hardware accelerator requires considerable internal memory. In this paper, we propose to design ORB algorithm[3] as a hardware accelerator, instead of SIFT and SURF. The zynq-7000 SoC platform was used as an experimental setup for the analysis. The hardware accelerator proposed in this paper reduced logic slice usage by approximately 68% and block RAM usage by 83% compared to the SURF accelerator. The runtime was about 18 ms, which exceeds the performance of 100 frame per second. ISSN: 2287-1233 ASTL Copyright 2013 SERSC

2. ORB algorithm 2.1 Feature point Detection In the feature point detection stage, FAST corner detection algorithm [4] are used. The FAST corner detection algorithm is executed in the following order: feature detection (FD), feature score (FS), and non-maximum suppression (NMS). In the FD stage, the algorithm initially assigns an area of size 7 7 pixels around a central point, and then compares it to the surrounding brightness pixels. When compared to the brightness pixels above, below, and on both sides of the center point, if the sum is greater than 3, 16 nearby brightness pixels are compared. Then, if the sum of the comparison is greater than 12, they are detected as feature point candidates. In the FS stage, a score for each feature point candidate is determined based on threshold values. In the NMS stage, the scores of neighboring feature points are compared to the reference feature point and the largest or smallest feature point set as the final feature point. 2.2 Orientation In the FAST corner detection stage, orientation is decided by an intensity centroid because not every feature point has an orientation component. The intensity centroid determines the orientation using a moment method. First, it assigns an area of 15 15 pixels around the feature points. Each feature point can be oriented using a primary moment and atan2 function. 2.3 Descriptor Generation The rbrief algorithm is based on the BRIEF algorithm[5], which has a high descriptor generation speed. The rbrief algorithm is a bit string descriptor that consists of 0 and 1. After assigning an area of 31 31 pixels around the feature point and setting two nearby coordinates to p(x) and p(y), if p(x) is smaller than p(y), then the binary test becomes 1, else it becomes 0. By repeating the above process 256 times, a 256-bit string descriptor is generated. 3 Proposed hardware architecture 3.1 Hardware Cost Reduction with keypoint detection block Fig. 1 shows the feature point detection block. In the source loader stage, the brightness image value is read sequentially from the external memory. In the FD stage, the feature point candidates are determined by comparing 16 brightness pixels around the central point at the same time. If a point is determined as a feature point 59 Copyright 2013 SERSC

Vol.43(Multimedia candidate, it is saved in FIFO memory. Then, in the FS stage, the feature point is assigned a score by reading the location of the point and by the surrounding brightness pixels. The NMS stage compares the score of the feature point to those of the surrounding feature points after reading the location and score of the feature point from the buffer. Further, if the score is greater than the score of the surrounding feature points, the feature point is detected as a final feature point. External Memory Source Loader Data + P_XAddr = P_XAddr + 1 Addr FD X_pos. Y_pos If(KEYPOINT)? YES : NO YES FIFO X_pos. Y_pos X_pos, Y_pos, Score FS Buffer X_pos, Y_pos, Score NMS X_pos, Y_pos Addr Fig. 1. keypoint detection block 3.2 Orientation Block The execution process of the orientation block is as follows. The location of the feature point detected from the feature point detection block is saved temporarily in FIFO memory. In the orientation module, the primary moment is computed using the pixels around the location of the feature point. Atan2 LUT is a table created in advance to reference parts used in the atan2 function, and when this increases LUT usage, it improves performance. 3.3 Descriptor Generation Block The execution process for the descriptor generation block is as follows. The feature point s location detected from the feature point detection block and the orientation component determined from the orientation stage is saved in FIFO memory. The rbrief module obtains the coordinates for comparison by reading coordinates from the cosine and sine data and the pattern lookup table saved in FIFO memory. By comparing the brightness pixels of the two points, a bit-string descriptor is created. In order to generate a 256-bit string descriptor, a coordinate should be read and compared 256 times. However, to enhance the performance, the algorithm is designed to compare eight coordinates in one cycle by adding internal memory. Hence, a 256- bit string descriptor can be generated in 32 cycles. Copyright 2013 SERSC 60

4 Experiment and Analysis The zynq-7000 SoC platform was used as the experimental setup. Two images of graffiti and a sunflower with a resolution of 640 480 were used for image verification. In the experiment, 600 to 800 feature points were detected. Table 1 summarizes the results of ORB in a field-programmable gate array (FPGA) and embedded environment. Table 1. comparison of computing times Embedded [3] FPGA Frequency 1 GHz 100 MHz Exec. Time 66ms 18 ms Table 2 summarizes the results of the ORB algorithm compared to those of the SURF hardware accelerator [6]. The slice logic and block RAM usage were reduced by approximately 68% and 83%, respectively.. Table 2. comparison of hardware implementation cost and performance SURF [6] Proposed ORB Slice Logic 101,348 31,677 Block RAMs 752 KB 125 KB Exec. Time 33 ms 18 ms 5 Conclusion This paper introduced an ORB algorithm as a hardware component on the zynq-7000 SoC platform and compared the hardware costs and internal memory usage with the existing SURF hardware accelerator. The comparison demonstrated that the cost reduced by approximately 68% and the internal memory usage by approximately 83% when the ORB algorithm was used. Acknowledgments This work was supported by the IT R&D program of MOTIE/KEIT. [10035152, Energy Scalable Vector Processor - Primary Technology] References 1. D. G. Lowe, "Distinctive image features from scale-invariant keypoint", International Journal of Computer Vision, 60(2):91-110. 1,2. 61 Copyright 2013 SERSC

Vol.43(Multimedia 2. H. Bay, T. Tuytelaars, and L. Van Gool. "Surf: Speeded up robust features", European Conference on Computer Vision, 1:404-417, Graz, Austria, May 2006. 3. E. Rublee, V. Rabaud, K. Konolige, "ORB: An efficient alternative to SIFT or SURF", Computer Vision and 2011 IEEE International Conference, pp 2564-2571, Nov 2011. 4. E. Rosten and T. Drummond, "Machine learning for high-speed corner detection", In European Conference on Computer Vision, volume 1, 2006.1. 5. M. Calonder, V. Lepetit, C. Strecha, and P. Fua, "Brief: Bi-nary robust independent elementary features", In European Conference on Computer Vision. 2010. 6. Na Eun-Soo, Jeong Yong-Jin, "FPGA Implementation of SURF-based Feature extraction and Descriptor generation", Journal of Korea Multimedia Society, Vol 16, No.4, April 2013. Copyright 2013 SERSC 62