software requirements cbir
DESCRIPTION
software requirements specification of CBIRTRANSCRIPT
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