augmented reality based product identification and advertising system - final year project (udara...

60
AUGMENTED REALITY BASED PRODUCT IDENTIFICATION AND ADVERTISING SYSTEM - UDARA ABHILASH ALWIS (CB003982)

Upload: udara-alwis

Post on 09-Jul-2015

214 views

Category:

Technology


1 download

DESCRIPTION

This was my Final Year Project thesis for my Software Engineering Degree at Staffordshire University, UK. An Augmented Reality based Real-time Products and Advertisements identification System developed upon, Real-Time Image Processing, Machine Learning, Computer Vision Technologies, SURF (Speeded Up Robust Feature Detection) Feature detection algorithm, Android, Cloud technology. The .Net platform for the Server side implementation and Java Android development for Client side development was being used.

TRANSCRIPT

Page 1: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

AUGMENTED REALITY BASED

PRODUCT IDENTIFICATION

AND ADVERTISING SYSTEM

- UDARA ABHILASH ALWIS (CB003982)

Page 2: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

INTRODUCTION

Page 3: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

PROBLEM BACKGROUND

There are huge product varieties in the market and advertising has

a great impact in today’s life. Customers are always looking for

extended information when they buy products or even regarding

an advertisement, whereas it is very crucial to provide users with

updated and accurate information regarding them. QR Codes are

being deprecated in modern end consumerism due to its

disadvantages and real time visual recognitions technologies are

coming up with powerful mobile devices. Augmented Reality is

becoming the next mass media advertising in today’s world.

Problem Statement

Page 4: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

PROBLEM BACKGROUND

• Product information could change anytime

• Advertisements can not display all the information at once

• Customers are looking for more extended information

• No proper method to look for information, time waste

• Augmented Reality as the next mass advertising media

• Extinction of QR Codes from end user consumerism

Page 5: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

PROBLEM OBJECTIVES

• Identify Product or Advertisement

• View the extended information, and related advertisements or

products

• Implement Augmented Reality based concepts in the

application

• Insert Products and Advertisements information as

Administrators

• Simulate Product or Advertisement Identification process in

admin system.

Page 6: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

SOLUTION OUTLINE

• Capture image when the user points at a product or an

advertisement.

• Identify the product or the advertisement from the server side.

• Provide extended information about the product or the

advertisement to the user.

• Present the information in according to Augmented Reality

principles.

• Allow admins to add new information to the System.

Page 7: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

MAIN CHALLENGES

• Implementing Augmented Reality into the Mobile Application.

• Getting the identification results from the server from the

fastest way possible.

• Implementing an Image Matching Algorithms.

• Identifying a product or an advertisement by its Brand Logo.

• Adding and maintaining Product and Advertisement

information

Page 8: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

Page 9: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

• User Requirements Investigation

• Customers

• Difficulty of Finding information

• Having to wait for a Salesperson to show up

• QR Codes, useless

• A New Experience

• Advertisers

• The search for new creative advertising strategies

• Modern Adverts focus simplicity, therefore less information

• Visual Recognition over QR Code Recognition

Page 10: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

• Similar Systems Study

• Aurasma

• Vuforia Qualcomm

• Layar

• The IBM Augmented Reality Personal

Shopping Assist

• Conclusions

• Used for Advertising and real time

Image target identification

• Only available for US and Europe

based countries

• Cloud technologies

• No Local implementation

Page 11: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

• Augmented Reality

• Mobile Augmented Reality

• Mobile Application Development Platform

• Apple

• Android

• Windows Phone

• Mobile Video Stream Frame Monitoring

• Image Processing

Page 12: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

• Image Enhancements

• Spatial Domain Enchantement

• Image Negatives

• Contrast Stretching

• Histogram Processing

• Frequency Domain Enchantement

• Smoothing Frequency-Domain Filters

• Low pass Filtering

• High pass Filtering

• Computer Vision

Page 13: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

• Feature Extraction

• SIFT - Scale Invariant Feature Transforms

• SURF – Speeded Up Robust Features

• Matching

• 3D Object Detection in SURF

• FAST - Corner Detection

• FREAK - Fast Retina Key point Detection

• BRISK - Binary Robust Invariant Scalable Key-points

• Character Recognition and Reading

Page 14: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

• Selection of APIs and Tools

• Image Processing and Image Matching APIs

• OpenCV

• MatLab

• Simple CV

• Character Recognition APIs

• Tesseract

• ABBY OCR

Page 15: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

• Augmented Realty APIs and SDKs

• Vuforia

• FastCV

• Aurasma

• Layar

Page 16: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

DEVELOPMENT METHODOLOGY

Feature Driven Development

• Optimized for Scalable Systems

• Executes on iterative development

cycles

• Suited for time intensive application

• Features list that is being built at the

beginning of the development method

cycle

• Feature by Feature

• Each feature gets much better focus

Page 17: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

ANALYSIS

• Augmented Realty APIs and SDKs

• Mobile Augmented Reality

• Mobile Application Development Platform

• Apple

• Android

• Windows Phone

• Mobile Video Stream Frame Monitoring

• Image Processing

Page 18: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

Page 19: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

• Similar Systems Study Analysis

• Augmented Reality

• Image Processing and Recognition

• Cloud Computing

• User Experience

• Availability for 3rd Parties

• Not available for 3rd World Countries

• No actual implementation in Sri Lanka (Experimental)

Page 20: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

• Mobile Application Development Analysis – Android

• Mobile Platform Usage

• Developer Support and Features

• Multitasking and Heavy Weight Processing Support

• Image Processing

• User Friendliness and UI Features

Page 21: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

RESEARCH

• Computer Vision Analysis

• Robust

• Faster

• High Accuracy

• Feature Extraction Analysis - SIFT, SURF, FREAK and BRISK

• SURF

• Speed and Accuracy

• Implementation Support

Page 22: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

REQUIREMENT SPECIFICATION

Page 23: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

REQUIREMENT SPECIFICATION

• Functional Requirements

• Ability to identify Products or Advertisements

• Augmented Reality should be implemented

• Provide Related Products and Advertisements

• Automatically Sort and categorize related Products and

Advertisements

Page 24: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

REQUIREMENT SPECIFICATION

• Non-functional requirements

• User friendly and easy to use Interface.

• An Interface suitable for Augmented Reality based UI designs.

• Mobile application should be smooth and quickly responsive.

• Recognize Products and advertisements from the fastest way

possible.

Page 25: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

DESIGN

Page 26: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

DESIGN

• Use case – Mobile Application

Page 27: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

DESIGN

• Use case – Admin Server System

Page 28: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

DESIGN • Class Diagram – Admin Server System

Page 29: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

DESIGN • Activity Diagram – SURF Image Matching

Page 30: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

DESIGN • Sequence Diagram – Brand Logo Identification

Page 31: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

DESIGN • Sequence Diagram – Product Identification

Page 32: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

DESIGN • Sequence Diagram – Mobile Application

Page 33: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Image matching using SURF

• Character Recognition and key words identification

• Mobile Application UI development

• Mobile Application Backend

• Hosting a Web Service

Page 34: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• SURF Feature Extraction and Matching

• Extract Feature Points and Descriptors

• Brute Force Match and Vote for Feature Point Matches

Page 35: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Further Voting and Filtering

• Draw Matching Feature Points and Return Results

Page 36: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• SURF Feature Extraction and Matching Sample

Page 37: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Experimentations

• In need of Experimentation and Modifications

• Could use “mask” Matrix

• Started to give even greater matched points count of

incorrect images

Page 38: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Experimentation Conclusions

• Get the number of matched feature points count

• Calculate the Area of the formed Polygon

• Identify whether the formed Polygon is a proper Polygon

• Calculate the percentage Ratio of the Detected Key points of

both images

• Adjust the Uniqueness threshold

Page 39: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Determining Best Match

Page 40: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Threshold of an Image Matching Process

• Image Pre-Processing Usage

• Character Recognition and key words identification

Page 41: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Mobile Image Processing

• Image Resizing and Scaling

Page 42: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Image Encoding and Decoding – Base64

Page 43: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Web Service Connectivity

Page 44: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Hosting a Web Service

• Runtime Exception – Heavy EmguCV Libraries

• Cv.Invoke Exceptions

• Server Out Of Memory Exceptions

Page 45: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Dummy Web Service

Page 46: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Overall Admin System Implementation

• Object Oriented Methodologies

• Surf Execution Class

Page 47: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

IMPLEMENTATION

• Product Identification and Advertisement Identification Process

• Find the Brand Logo Information

• Load the Product Images under that Brand Logo

• Take the given image through that Product Images list to find

the best match and retrieve information.

Page 48: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

TESTING

• Unit Testing

• Functional Testing

• Performance Testing

Page 49: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

TESTING

• Unit Testing - Server System

Test Case 1 Test Name : Recognize Given Product Image’s Brand Logo at Server Simulation

Test Criteria Check if the Given Product’s Brand type is identified.

Input / Action Performed Drag and Drop a Product Image and Click on “Search and Detect”

Expected Results System should identify the brand logo and Display the Brand Information

Actual Results The System successfully identified the Brand Type and showed the information of the

Brand.

Test Case 2 Test Name : Recognize Given Product Image at Server Simulation

Test Criteria Check if the given Product’s front view Image is Recognized and Show the information

of the Product

Input / Action Performed Drag and drop Product Image and click on “Search and Detect” button.

Expected Results System should recognize the Product and show information about it as well as Related

Products.

Actual Results Product was Successfully Recognized and information were showed.

Page 50: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

TESTING

• Unit Testing - Server System

Test Case 3 Test Name : Determine when a given Image of a Product or an Advertisement cannot be

Identified

Test Criteria Check if the given Threshold condition is able to determine whether a given image can

be Recognized or not.

Input / Action Performed Insert a random unrelated Product/advertisement Image to the Matching Algorithm and

execute matching algorithm

Expected Results The algorithm should determine that the given Image cannot be Recognized based on

the Threshold condition.

Actual Results The Matching process successfully determines the given Image cannot be identified.

Page 51: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

TESTING

• Unit Testing – Server System

Test Case 4 Test Name : Automatically Recognize the Brand Type of the Product/Advert image when

adding a new Product/Advert info

Test Criteria Check if the System is able to Automatically Recognize the Brand Type of a given

Product or Advertisement Image when Inserting their information.

Input / Action Performed Drag and drop the Product/Advert Image and click on “Auto Detect”

Expected Results The matching algorithm will detect the Brand logo of the Product/Advert Image and

identify the Brand.

Actual Results The system successfully identifies the Brand Type by detecting the brand logo.

Page 52: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

TESTING

• Unit Testing – Mobile Application

Test Case 5 Test Name : Retrieve Recognition results from the Web Service

Test Criteria Check if the Application is able to retrieve the identification result of a capture image

Input / Action Performed Click on “Scan and Detect” button

Expected Results After sending the image to server application should wait for the response and

retrieve the results.

Actual Results The Application send the image to the server and waits till the response is being

given, while the other UI Controls are being disabled. When the results are retrieved,

they are being displayed successfully.

Page 53: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

TESTING

• Performance Testing

Case Expected Accuracy Actual Result

Capturing Image and Sending to Web

service

100% 100%

Retrieving Product/Advert Recognition

Results

100% 100%

Capturing product/advert image from

a different angle and recognizing it

100% 50%

Overall Recognition Results 90% 70%

𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 𝑅𝑒𝑠𝑢𝑙𝑡𝑠

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑇𝑒𝑠𝑡𝑠× 100%

Page 54: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

CRITICAL EVALUATION

• Efficiency

• Execute all the heavy processing in Server

• Holding the Pre-Processed – SURF Features Extracted Images in the Memory

• Mobile Application to Server Communication – Data compression and Base64 Encoding

• Utilizing the SURF based Image Matching process to achieve more accuracy and Speed

• Utilizing the Recognition Process

• Automated Brand Logo detection Process

Page 55: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

CRITICAL EVALUATION

• Ease of Use

• Accuracy

• Increased User Satisfaction

• Maintainability and Extendibility

• The Centralized Database

• Web Service Implementation

Page 56: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

CRITICAL EVALUATION

• System Utility and Usability

• Consumers, Advertisers and Marketers

• Providing Access for Extended information

• Information are updated and centralized

• implement creative strategies into Augmented Reality

• intuitive way to recognize products for end users rather than QR Codes

• easily upgraded and extended due to the architecture

• The interface has been designed in a very minimalistic, simple, and user friendly

Page 57: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

CRITICAL EVALUATION

• Further Enhancements

• Further Developing the Image Matching Process from ground

up to use even more efficient Algorithms such as FREAK or

BRISK Feature Extraction algorithms

• Adopt an Augmented Reality API such as Vuforia

• High end Cloud Service which will radically increase the

processing power.

• Adopt a new lightweight API Library for Image Processing

Page 58: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

DEMONSTRATION

Page 59: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

Q & A

Page 60: Augmented Reality based Product Identification and Advertising System - Final Year Project (Udara Alwis)

THANK YOU !