software requirements cbir

25
Software Requirements Specification for Content Based Image Retrieval Page 2 Software Requirements Specification for Content Based Image Retrieval Approved <Internal Guide> Prepared by <Student Name> <Reg Number> <Date created>

Upload: farzana

Post on 10-Sep-2015

47 views

Category:

Documents


4 download

DESCRIPTION

software requirements specification of CBIR

TRANSCRIPT

Software Requirements Specification for Content Based Image Retrieval

Page 2

Software Requirements

Specification

for

Content Based Image RetrievalApproved

Prepared by

Table of Contents

1.Introduction............................................................................................................................... 3

1.1Purpose ...................................................................................................................................3

1.2Document Conventions..............................................................................................................3

1.3Intended Audience and Reading Suggestions ..............................................................................3

1.4Project Scope...........................................................................................................................3

1.5References...............................................................................................................................3

2.Overall Description.................................................................................................................... 3

2.1Product Perspective ...................................................................................................................4

2.2Product Features.......................................................................................................................4

2.3User Classes and Characteristics.................................................................................................4

2.4Operating Environment..............................................................................................................4

2.5Design and Implementation Constraints......................................................................................4

2.6User Documentation..................................................................................................................4

2.7Assumptions and Dependencies .................................................................................................4

3.System Features ....................................................................................................................... 4

3.1System Feature 1.......................................................................................................................4

3.2System Feature 2 (and so on) .....................................................................................................5

4.External Interface Requirements ........................................................................................... 5

4.1User Interfaces.........................................................................................................................5

4.2Hardware Interfaces ..................................................................................................................5

4.3Software Interfaces....................................................................................................................5

4.4Communications Interfaces........................................................................................................5

5.Other Nonfunctional Requirements......................................................................................... 5

5.1Performance Requirements ........................................................................................................5

5.2Safety Requirements..................................................................................................................6

5.3Security Requirements...............................................................................................................6

5.4Software Quality Attributes........................................................................................................6

6.Other Requirements .........................................................................................................6

1. Introduction

1.1 Purpose

The SRS is a technical specification of requirements for the software products. The goal of software requirement definition is to completely and consistently specify the technical requirements for the software product in a concise and unambiguous manner.Thus, the purpose of this document is to describe the external requirements for the research and development of visual feature descriptors for content based image retrieval. It is a culmination of requirements that arose at the various phases of development

1.2 Document Conventions

The format of this SRS is simple. Bold face and indentation is used on general topics and or specific points of interest. The remainder of the document will be written using the standard font, Arial.

1.3 Intended Audience and Reading Suggestions

This document is intended for any individual user, developer, tester, project manager or documentation writer that needs to understand the basic system architecture and its specifications. Here are the potential uses for each one of the reader types:

Developer: The developer who wants to read, change, modify or add new requirements into the existing program, must firstly consult this document and update the requirements with appropriate manner so as to not destroy the actual meaning of them and pass the information correctly to the next phases of the development process.

User: The user of this program reviews the diagrams and the specifications presented in this document and determines if the software has all the suitable requirements and if the software developer has implemented all of them.

Tester: The tester needs this document to validate that the initial requirements of this programs actually corresponds to the executable program correctly.For each one of the reader types to better understand this document, here is a suggestion of the chapters to read in this document:

Developer: (1.1 ,1.3 ,2.2 ,2.3 ,2.5 ,2.7 ,3 ,4 ,5 and rest)

User: (1 ,2.1 ,2.2 ,2.3 ,4.1 ,5.5)

Tester: (1.1 ,2.1 ,2.4 ,2.5 ,2.7 ,3 ,4 ,5)

1.4 Project Scope

The scope of this SRS document encompasses the following:

1. It serves as a good reference to study, analyze and understand the need for the development of low-level descriptors for CBIR.

2. It acts a s a verification tool for the final specification.

3. The functionalities derived from the requirement analysis and mentioned in this document are further refined in the design phase.The scope of the application to be developed expands over research area of CBIR. It concentrates on exploration of the already accomplished research work on image content descriptors, focusing mainly on pixel color. Also, contribution to the enhancement of efficiency of such techniques is to be made for improved content based image retrieval. The application of the work to be done covers the following fields:

Military: locating and recognizing remotely sensed objects, interpreting satellite data.

Crime prevention and Security Check: Automatic face recognition systems, finger print or retina scanning for access privileges.

Medical Diagnosis: Using CBIR in a medical database of medical images aid diagnosis by identifying similar past cases.

Intellectual Property: Trademark image registration, where a new candidate mark is compared with existing marks to ensure no risk of confusing property ownership.

1.5 References

This citation is used as a model of reference: [IEEE Std 830-1998]

2. Overall Description

2.1 Product Perspective

Due to the rapidly growing amount of digital image data on the Internet and in digital libraries, there is a great need for large image database management and effective image retrieval tools. Content-based image retrieval (CBIR) is the set of techniques for searching for similar images from an image database using automatically extracted image features. Tremendous research has been devoted to CBIR and a variety of solutions have been proposed within the past ten years. ."Content-based" means that the search will analyze the actual contents of the image. The term 'content' in this context might refer colors, shapes, textures, or any other information that can be derived from the image itself. Without the ability to examine image content, searches must rely on metadata such as captions or keywords, which may be laborious or expensive to produce.Content Based Image Retrieval (CBIR) provides efficient and effective means to extract most similar images stored in the database based on image contents. It is a technique which aims at retrieving images which are perceptually and semantically meaningful by making the best use of a single or combination of visual content descriptors. The major steps are feature extraction and similarity comparison.Most current content-based image retrieval systems are still incapable of providing users with their desired results. The major difficulty lies in the gap between low-level image features and high-level image semantics. To address the problem, this study reports a framework for effective image retrieval by employing a novel idea of visual feature extraction and comparison. The presented algorithm has been integrated into a practical image retrieval system.

Software Interfaces

A database management system JDBC API Java Server PagesUser Interface

Web PagesBellow in figure 1 you can see the schema of the client-server relationship of the system.

Figure12.2 Product Features

The major features this program contains are the following:

Cross platform support: Offers operating support for most of the known and commercial operating systems

Centralized Retrieval: The information retrieval is centralized.

Web Support: The product offers usability in a intranet and internet system Search: The CBIR software offers image based search and retrieval

2.3 User Classes and Characteristics

The users are categorized into the following: Physical Actors User people interested in CBIR based image search.

System Actors:

Client :The client is the system that connects to the server and handles the query based on the session and finally submits the information back to the server.

Server :The server is the system that accepts multiple connections from clients and serves the results.

2.4 Operating Environment

This program will operate in the following operating environment for the client and the server

UI:

Apple Mac OS X

Linux/Unix

Microsoft Windows 2.5 Design and Implementation Constraints

This program is created using Java/J2EE language. So a minimum PC having at least 512 MB of RAM and CPU over 2Ghz is required to run the program with good speed. Also the program uses at least 15 megabytes of hard disk space to store the program libraries. An installer is used to unpack them all in an install wizard. For the connection stream Http is used as its the common protocol for internet applications. Performance and extensibility must be taken care of while developing the system.

2.6 User Documentation

NA2.7 Assumptions and Dependencies

For testing and development purposes, the following should be considered:

(Color space: RGB color space should be considered for images.(Color Depth: 24-bit True color images must be taken into account.

(Image Format: Images stored in jpg format should be taken up for analysis and testing.

3. System Features

3.1 Client Interface3.1.1 Description and Priority

The code is implemented to design a client application in the form of web pages to allow the user to do a image search. In traditional image search, only keywords are used for searching. In this module, we design a interface with the option to select a input image that is going to act as the search content. The input image can be selected and uploaded by the user for the server code to compare and search from the database of images. This is a high priority feature.3.1.2 Stimulus/Response Sequences

This feature is the starting point of all the functionalities associated with the system. The stimulus is from the user when he opens the browser and accesses this application search page. The user selects an image and clicks on search. The application responds with a list of images that match the input image.3.1.3 Functional Requirements

REQ-1:

The feature requires that the user installs a modern browser capable of supporting HTML 4.0REQ-2:

The feature also requires that the user is able to select an image in jpg format and upload to the server for further search.3.2 Image Database3.2.1 Description and Priority

The set of all images that will act as the image database are categorized and stored in the server in the appropriate folders. The user can view the set of images from the database. This is also a high priority feature3.2.2 Stimulus/Response Sequences

This feature is the base for all the functionalities associated with the system. The stimulus is from the user when he opens the browser and clicks on view images link. The application responds with a list of images from the database on the server.

3.2.3 Functional Requirements

REQ-1:

The feature requires that the user installs a modern browser capable of supporting HTML 4.03.3 Visual Feature Extraction3.3.1 Description and Priority

The visual features like mean and deviation of the pixel values of the images are calculated for the uploaded image. The source images are categorized and stored in the server to allow any user to search for the images matching the criteria. The visual features of each image like mean and deviation are calculated and stored in the database for each image.3.3.2 Stimulus/Response Sequences

This feature is the base for the search functionality associated with the system. The stimulus is from the user when he opens the browser and submits an image for search. The application responds with calculating the mean and standard deviation of the pixel values in the image.

3.3.3 Functional Requirements

REQ-1:

The feature requires that the user installs a modern browser capable of supporting HTML 4.0REQ-2:

The feature also requires that the user is able to select an image in jpg format and upload to the server for further search.3.4 Image Search Result3.4.1 Description and Priority

After a search is called with an input image, the details of the server images can be graphically analyzed for relevancy with the search image. Only the images matching the search image within the specified threshold are retrieved and displayed as search results. The images are ranked in the order of the closest match to the least match.3.4.2 Stimulus/Response Sequences

This feature is the main functionality associated with the system. The stimulus is from the server after the user opens the browser and submits an image for search. The application responds with comparing, ranking and displaying the matching images.

3.3.3 Functional Requirements

REQ-1:

The feature requires that the user installs a modern browser capable of supporting HTML 4.04. External Interface Requirements

4.1 User Interfaces

The application requires a modern browser capable of handling HTML 4.0 or above. The application is written in JSP using java server side code. The jsp pages are compiled to html and sent to the requesting browser. Hence a browser is required between the software and the user.

4.2 Hardware Interfaces

For the communication protocol the program needs HTTP protocol supported interfaces. Also in case that the CBIR Server runs behind a firewall the appropriate ports must be port forwarded or port triggered for the clients to connect. The basic requirements of the server and client is a PC with a processor Pentium IV or above, with RAM 512 MB or above, with a Hard disk capacity of 80 GB or above, with a standard Keyboard and Mouse4.3 Software Interfaces

Web Language : Java Server PagesOperating System : OS independent

Web Server : Glassfish Server

Database : MS Access

Database Connectivity : JDBC4.4 Communications Interfaces

Setting up the server into server mode requires that there will be open ports for accepting connections from the clients. The connection between the client and the server uses HTTP Protocol. The entire communication is a series of Http Request and Http Response cycles.

5. Other Nonfunctional Requirements

5.1 Performance Requirements

The application is real-time and hence a real-time response is expected from the system. The response for any user click or user search event should be no more than twelve seconds.5.2 Safety Requirements

Consistency: checking the fact that all clients must be attachable to one server, so there would be appropriate control of the test statistics and information. Also in case of a potential loss of connection between the client and the server the clients search progress so far is lost. When the client finishes its search then its progress is sent to the server and be logged. In case of a potential server breakdown only the so far finished search are saved to the log file

5.3 Security Requirements

This program uses object oriented mechanisms to protect its data passed using methods Also currently there is no security schema of this program. Thus the log files that are being created

are readable using a simple text reader.

5.4 Software Quality Attributes

Availability: Checking that the system always has something to function and always pop up error messages in case of component failure. In that case the error messages appear when something goes wrong so to prevail availability problems.

Usability : Checking that the system is easy to handle and navigates in the most expected way with no delays. In that case the system program reacts accordingly and transverses quickly between its states.

Functionality: Checking that the system provides the right tools for searching databases, creating search queries tests and analyzing the results. In that case the tools that the Database editor provides are the ones that provide that attribute.

6. Other Requirements

NAAppendix A: Glossary

BMP - Bitmap

CBIR - Content Based Image Retrieval

DWT - Discrete Wavelet Transform

GUI - Graphical User InterfaceHTML Hyper text markup language

HTTP Hyper text transfer protocolJAI - Java Advanced ImagingJDBC - Java Database ConnectivityJPG Joint Photographic Experts GroupJRE - Java Runtime Environment

JSP Java Server Pages

PC Personal ComputerRAM - Random Access Memory

RDBMS - Relational Database Management System

SRS - Software Requirement Specification

SQL - Structured Query Language

Appendix B: Analysis Models

Process Flow Diagram

Data Flow Diagram

System Flow Diagram

DISPLAY RANKED SEARCH RESULT

RANK IMAGES

RETRIEVE MATCHING IMAGES

SELECT QUERY IMAGE

Upload a search image

Retrieve Content Based Matching Images

CLIENT

WEB SERVER

SERVER IMAGE DATABASE

ADD IMAGES TO THE DATABASE

CLIENT USER

Display matched image

Compare visual features

Generate visual feature

Upload query image

Upload image to category folder

Visual feature

Visual feature extraction

imagedb

Add new image

Category

create category folder on server

View extracted visual features

Image Search

View db images

Calculate mean & standard deviation visual feature

Add new category

User

For each image

Obtain visual feature

Create gabor matrix

Resize image to standard size

Read query image

Stop

Display top 10 matched images

Sort the vector in ascending order

Take the differences & store in vector

Save visual feature to database

Calculate mean & standard deviation (Visual feature)

Create gabor matrix

Resize image to standard size

Get image file from db

Start