siftservice.com - Turning a Computer Vision algorithm into a World Wide Web Service

Similar documents
A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow

FACE RECOGNITION BASED ATTENDANCE MARKING SYSTEM

Face Recognition in Low-resolution Images by Using Local Zernike Moments

Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 269 Class Project Report

Automatic georeferencing of imagery from high-resolution, low-altitude, low-cost aerial platforms

The use of computer vision technologies to augment human monitoring of secure computing facilities

A Case Based Tool for Monitoring of Web Services Behaviors

From Business Process Management to Flexible Image Analysis Applications: A Case Study

Research and realization of Resource Cloud Encapsulation in Cloud Manufacturing

CHAPTER FIVE RESULT ANALYSIS

Figure 1. The cloud scales: Amazon EC2 growth [2].

Image Segmentation and Registration

Probabilistic Latent Semantic Analysis (plsa)

FPGA-BASED PARALLEL HARDWARE ARCHITECTURE FOR REAL-TIME OBJECT CLASSIFICATION. by Murad Mohammad Qasaimeh

A Comparative Study between SIFT- Particle and SURF-Particle Video Tracking Algorithms

An Experimental Study of Load Balancing of OpenNebula Open-Source Cloud Computing Platform

Distinctive Image Features from Scale-Invariant Keypoints

REAL TIME TRAFFIC LIGHT CONTROL USING IMAGE PROCESSING

Saving Mobile Battery Over Cloud Using Image Processing

Convolution. 1D Formula: 2D Formula: Example on the web:

Simultaneous Gamma Correction and Registration in the Frequency Domain

Fast Matching of Binary Features

Android Ros Application

TouchPaper - An Augmented Reality Application with Cloud-Based Image Recognition Service

System requirements for MuseumPlus and emuseumplus

VEHICLE TRACKING USING FEATURE MATCHING AND KALMAN FILTERING

AN IMPROVED DOUBLE CODING LOCAL BINARY PATTERN ALGORITHM FOR FACE RECOGNITION

Cloud-Based Image Coding for Mobile Devices Toward Thousands to One Compression

Cees Snoek. Machine. Humans. Multimedia Archives. Euvision Technologies The Netherlands. University of Amsterdam The Netherlands. Tree.

MusicGuide: Album Reviews on the Go Serdar Sali

IBM Rational Asset Manager

CLOUDDMSS: CLOUD-BASED DISTRIBUTED MULTIMEDIA STREAMING SERVICE SYSTEM FOR HETEROGENEOUS DEVICES

Chapter 4 IT Infrastructure and Platforms

Outline. Introduction. State-of-the-art Forensic Methods. Hardware-based Workload Forensics. Experimental Results. Summary. OS level Hypervisor level

Super-resolution Reconstruction Algorithm Based on Patch Similarity and Back-projection Modification

BBM467 Data Intensive ApplicaAons

Smartness of Image Classification in Mobile Network Marketing

BRIEF: Binary Robust Independent Elementary Features

Self-Adapting Load Balancing for DNS

Group Based Load Balancing Algorithm in Cloud Computing Virtualization

Efficient Load Balancing using VM Migration by QEMU-KVM

CSISE: CLOUD-BASED SEMANTIC IMAGE SEARCH ENGINE. A THESIS IN Computer Science

Fingerprint s Core Point Detection using Gradient Field Mask

In the proposed work, cloud mobile media which is a centric multimedia streaming system. Aim of the proposed

Cloud Computing Simulation Using CloudSim

MIFT: A Mirror Reflection Invariant Feature Descriptor

Reallocation and Allocation of Virtual Machines in Cloud Computing Manan D. Shah a, *, Harshad B. Prajapati b

A Comparative Study of SIFT and its Variants

Randomized Trees for Real-Time Keypoint Recognition

Image Classification for Dogs and Cats

IMAGESERVER: A SYSTEM FOR A DISTRIBUTED IMAGE PROCESSING APPLICATION BASED ON JAVA ADVANCED IMAGING

Cloud and Mobile Computing

A Comparison of Keypoint Descriptors in the Context of Pedestrian Detection: FREAK vs. SURF vs. BRISK

Virtualization in Linux a Key Component for Cloud Computing

Stitching of X-ray Images

Dynamic Load Balancing of Virtual Machines using QEMU-KVM

Cloud based object recognition: A system proposal

3D Model based Object Class Detection in An Arbitrary View

Circle Object Recognition Based on Monocular Vision for Home Security Robot

RiMONITOR. Monitoring Software. for RIEGL VZ-Line Laser Scanners. Ri Software. visit our website Preliminary Data Sheet

TECHNOLOGY GUIDE THREE. Emerging Types of Enterprise Computing

CARDA: Content Management Systems for Augmented Reality with Dynamic Annotation

Blind Deconvolution of Barcodes via Dictionary Analysis and Wiener Filter of Barcode Subsections

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

benchmarking Amazon EC2 for high-performance scientific computing

Performance Modeling and Analysis of a Database Server with Write-Heavy Workload

EVALUATING PAAS SCALABILITY AND IMPROVING PERFORMANCE USING SCALABILITY IMPROVEMENT SYSTEMS

MEng, BSc Applied Computer Science

SOA CERTIFIED JAVA DEVELOPER (7 Days)

Recognizing Cats and Dogs with Shape and Appearance based Models. Group Member: Chu Wang, Landu Jiang

LinuxWorld Conference & Expo Server Farms and XML Web Services

Multilingual Interface for Grid Market Directory Services: An Experience with Supporting Tamil

Affinity Aware VM Colocation Mechanism for Cloud

Implementation of Canny Edge Detector of color images on CELL/B.E. Architecture.

Build Panoramas on Android Phones

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture?

David Pilling Director of Applications and Development

Run-time Resource Management in SOA Virtualized Environments. Danilo Ardagna, Raffaela Mirandola, Marco Trubian, Li Zhang

Surgical Tools Recognition and Pupil Segmentation for Cataract Surgical Process Modeling

Convolutional Feature Maps

CATEGORIZATION OF SIMILAR OBJECTS USING BAG OF VISUAL WORDS AND k NEAREST NEIGHBOUR CLASSIFIER

Canny Edge Detection

Scalable Distributed Service Integrity Attestation for Software-as-a-Service Clouds

MEng, BSc Computer Science with Artificial Intelligence

System Requirements Table of contents

Automatic Grocery Shopping Assistant

IBM Rational Web Developer for WebSphere Software Version 6.0

The Ultimate Business & Enterprise Hosting Solutions.

Segmentation of building models from dense 3D point-clouds

Legal Notices Introduction... 3

CMS Query Suite. CS4440 Project Proposal. Chris Baker Michael Cook Soumo Gorai

Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches

Efficient Cloud Management for Parallel Data Processing In Private Cloud

Optimization of Cluster Web Server Scheduling from Site Access Statistics

SURF: Speeded Up Robust Features

Research on the Model of Enterprise Application Integration with Web Services

Release 1. ICAPRG604A Create cloud computing services

The Visual Internet of Things System Based on Depth Camera

Exploring Resource Provisioning Cost Models in Cloud Computing

Similarity Search in a Very Large Scale Using Hadoop and HBase

Transcription:

siftservice.com - Turning a Computer Vision algorithm into a World Wide Web Service Ahmad Pahlavan Tafti 1, Hamid Hassannia 2, and Zeyun Yu 1 1 Department of Computer Science, University of Wisconsin -Milwaukee, WI, USA 2 IEEE Member, Uppsala, Sweden arxiv:1504.02840v1 [cs.cv] 11 Apr 2015 Abstract. Image features detection and description is a longstanding topic in computer vision and pattern recognition areas. The Scale Invariant Feature Transform (SIFT) is probably the most popular and widely demanded feature descriptor which facilitates a variety of computer vision applications such as image registration, object tracking, image forgery detection, and 3D surface reconstruction. This work introduces a Software as a Service (SaaS) based implementation of the SIFT algorithm which is freely available at http://siftservice.com for any academic, educational and research purposes. The service provides application-to-application interaction and aims Rapid Application Development (RAD) and also fast prototyping for computer vision students and researchers all around the world. An Internet connection is all they need! Keywords: Computer Vision, SIFT Algorithm, Software as a Service (SaaS). 1 Introduction The Scale Invariant Feature Transform (SIFT) [1] has been the topic of many computer vision projects due to its ability to detect feature points which are invariant to image rotation, translation, and scaling. This is obviously evident from Figure 1 which presents the journal and conference papers related to the SIFT algorithm which have been published in Elsevier from 2009 to 2014. While several scientists have entered the development of SIFT based algorithm [3], [4], [5], [6], providing a service-based SIFT algorithm over the Internet protocols has not yet been developed. Having a Software as a Service (SaaS) based [7], [11] SIFT algorithm can be fulfilled the following objectives: To facilitate Rapid Application Development (RAD) and fast prototyping for computer vision students and scientists by a tiny service available on the Internet. To provide application-to-application interaction for a highly demanded computer vision algorithm. To make the SIFT algorithm available through both human-oriented and application-oriented interfaces.

Fig. 1. Number of Elsevier publications over last six years. Results achieved by submitting the query SIFT algorithm from Elsevier website at http://www.sciencedirect.com. In this contribution, we novel design and develop a SaaS based architecture to implement a platform independent and reusable software component for the SIFT algorithm. The service makes a new way to produce and exchange of SIFT information over the standard Internet protocols. Based on its flexibility and availability, it brings an opportunity for computer vision researchers who want to apply the SIFT algorithm on their own images without the need of any programming and installing any software applications. An Internet connection is all we need! This work initiates a study of SaaS based architecture for an essential computer vision technique. We expect the work can bridge the gap between computer vision applications and World Wide Web services, stimulating more interests from the computer vision community to the SaaS architecture and the Internet of Things (IoT) areas. Our contribution could be considered as a preliminary step towards the Computer Vision as a Service. The rest of the paper is arranged as follows. We first give a brief explanation of the system and service design in Section 2. The experimental results along with an application of the SIFT algorithm and the impact of the service are shown in Section 3. Conclusion is presented in Section 4. 2 System and Service Design SIFT algorithm has basically four main stages, namely: 1) Scale-space construction using Difference-of-Gaussian (DoG), 2) Stable features localization, 3) Gradient orientation computation and magnitude assignment, and 4) Feature descriptors extraction [1]. The first stage is to construct a DoG image pyramid to determine the potential feature points in an image. As it is shown in equation (1), to create Gaussian filtered image, we should convolve the input image I (x, y) with a Gaussian kernel K (x, y; σ) (equation (2)), where σ is the scale of

the Gaussian kernel, and conv2 is 2D convolution operation. Various Gaussian blurred images in different scales are produced and DoGs are computed from neighbors in the scale space. Then candidate feature points would be detected by discovering exterma in the DoG images which are locally minima or maxima in scale and space. G(x, y; σ) = conv2(i(x, y), K(x, y, σ)) (1) K(x, y; σ) = 1 2 2πσ 2 e (x +y 2 )/2σ 2 (2) The next step is to compute the image gradient magnitude and principal orientation to extract associate SIFT descriptor for the a detected feature point. Gradient magnitude as m(x, y) and principal orientation as θ(x, y) are calculated using the following two equations: θ(x, y) = tan 1 ((G(x, y + 1) G(x, y 1))/(G(x + 1, y) G(x 1, y))) (3) m(x, y) = (G(x, y + 1) G(x, y 1)) 2 + (G(x + 1, y) G(x 1, y)) 2 (4) Finally, for each feature point, a set of orientation histograms will be created on 4 4 pixel neighborhoods with eight bins each. The size of the descriptor vector can be varied. The high level service architecture of the siftservice.com is shown in Figure 2. The service compromises two disparate machines: a service consumer (Client) and the service provider (Application Server) [12]. Main components of each section are presented within the subsystem blocks (Figure 2). WSDL stands for Web Service Description Language, and it is an XML-based language for describing SIFT web service and how to access it over the Internet protocols. Discovery Services permit the discovery of the SIFT service. BPELWS stands for Business Process Execution Language for Web Service, and it aims to support the major behaviors of both executable and abstract implementation of the service. SOAP stands for Simple Object Access Protocol [8], [10]. SOAP is an XML-based Internet protocol which supports exchanging structured information between computers and applications. UDDI which stands for Universal Description, Discovery and Integration is a specification for a distributed registry of the SIFT service [7], [8], [10], [11]. An snapshot of siftservice.com is shown in Figure 3. 3 Experimental Results In order to examine the general performance of the system, two experiments were carried out on real digital images. Section 3.1 shows the experimental setup. In Section 3.2, we compare the feature points detection accuracy of the system with the original executable SIFT software implemented by David Lowe [2]. In Section

Fig. 2. siftservice.com: The service architecture. 3.3, we analyze and compare matching accuracy between SIFT keypoints in two images using the SIFT as a Service and the original executable SIFT software [2]. We then introduce an application of the SIFT algorithm in Section 3.4. The impact of the siftservice.com is presented in Section 3.5. 3.1 Experimental Setup All modules, classes, components, and communication packages of siftservice.com were implemented by Java SE 7. In the server side (Application Server), we used a 64-bit Linux CentOS operating system on a virtual server with 2v cores processor, 100 Mbits/s bandwidth, and 2GB of RAM. In the client side (Client), we employed 64-bit MS Windows 8 operating system with 3.00 GHz Intel Dual core CPU, 2MB cache, and 4GB of RAM. 3.2 Accuracy in Feature Points Detection In this section we bring up a validation summary on the accuracy and reliability of the proposed system for feature points detection. Figure 4 shows the accuracy in feature points detection. The service produces feature points which are very similar to the original one implemented by Lowe. The error threshold of the SIFT as a Service is less than 1% in feature points detection.

Fig. 3. siftservice.com: An snapshot. Fig. 4. Accuracy in Feature Points Detection. (A) Results obtained by the original executable SIFT software implemented by David Lowe (number of feature: 1638). (B) Results obtained by the SIFT as a Service (number of feature: 1627). Image Set: EMS Building.

3.3 Accuracy in Points Matching Figure 5 shows the points matching accuracy for images hall01 and hall02 form the Hall images set. We can see that the error threshold for point matching is less than 2% comparing with the David Lowe s implementation. Fig. 5. Accuracy in points matching. (A) Results obtained by the original executable SIFT software implemented by David Lowe (number of matches: 166). (B) Results obtained by the SIFT as a Service (number of matches:158). Image Set: Hall. 3.4 An Application: 3D Microscopy Vision As we mentioned in the abstract, The SIFT algorithm has made in big advance in many areas of computer vision application. An example is 3D surface reconstruction, and in particular 3D microscopy vision. The general pipeline of 3D microscopy vision is presented in Figure 6. The SIFT algorithm is used in step 2 of the pipeline. For further details and information on the proposed method, please refer to [9]. We just recall that in that work [9], we employed SURF [13] instead of SIFT, but other parts would be same. 3.5 siftservice.com Imapct siftservice.com has been introduced and it is going to be popular for computer vision research community. Figure 7 present the impact of siftservice.com from December 2014 to March 2015.

Fig. 6. The SIFT algorithm: An application. Fig. 7. siftservice.com impact. Number of users from December 2014 to March 2015.

4 Conclusion The SIFT algorithm has been widely used in many computer vision applications. Having SIFT as a Service would provide application-to-application interaction and makes SIFT easier for computer vision researchers and students to Rapid Application Development (RAD), communicating each other applications by a tiny service available in the Internet. In this project, we have designed and implemented the entire components of the system and addressed some experimental results which show that the service offers promising results. The present work is expected to stimulate more interest and draw attentions from the computer vision community to the fast-growing Software as a Service and the Internet of Things (IoT) area. Our contribution could be considered as a preliminary step towards the Computer Vision as a Service. The service is freely available at http://siftservice.com for any academic, educational and research purposes. References 1. Lowe, D. G.: Distinctive image features from scale-invariant keypoints. IJCV. 2(60), 91 110 (2004) 2. Lowe, D. G.: Implementation of the scale invariant feature transform. http://www.cs.ubc.ca/ lowe/keypoints/ (2007) 3. Ke, Y., Sukthankar, R.: PCA-SIFT: A more distinctive representation for local image descriptors. Computer Vision and Pattern Recognition, CVPR 2004, IEEE. (2014) 4. Zhang, Q., Chen, Y., Zhang, Y., Xu, Y.: SIFT implementation and optimization for multi-core systems. IEEE International Symposium on Parallel and Distributed Processing, IPDPS. (2008) 5. Leyva, P., Domenech-Asensi, G., Garrigos, J., Illade-Quinteiro, J.: Simplification and hardware implementation of the feature descriptor vector calculation in the SIFT algorithm. IEEE International Conference on Field Programmable Logic and Applications (FPL 24th). (2014) 6. Wu, F., Wu, Q., Tan, Y., Sun, X.: SIFT implementation and optimization for multicore systems. IEEE International Conference oncomputer-aided Design and Computer Graphics (CAD/Graphics). (2013) 7. Quintero, D., Ceron, R., Hu, V.: DIBM Technical Computing Clouds. IBM. (2013) 8. Srinivasan, L., Treadwell, J.: An overview of service-oriented architecture, web services, and grid computing. HP Software Global Business Unit. (2005) 9. Pahlavan Tafti, A., Kirkpatrick, A. B., Owen, H. A., Yu, Z.: 3D Microscopy Vision Using Multiple View Geometry and Differential Evolutionary Approaches. The 10th International Symposium on Visual Computing (ISVC), LNCS 8888. 141 152 (2014) 10. Yu, J., Lin, J.: An Architecture for Cloud-Based Consumer Support Software-asa-Service. IEEE International Symposium on Computer, Consumer and Control (IS3C). (2014) 11. World wide web consortium. http://www.w3.org/ 12. Hatch, R.: SaaS Architecture, Adoption and Monetization of SaaS Projects using Best Practice Service Strategy, Service Design, Service Transition, Service Operation and Continual Service Improvement Processes. Emereo Pty Ltd. (2008) 13. Bay, H., Ess, A., Tuytelaars, T., Van Gool, L.: SURF: Speed up robust features. Computer Vision and Image Understanding (CVIU). 110, 346 359 (2008)