Digital Intelligence, a walkway to Chirology

70
A PROJECT REPORT ON Guided By Mr.Vishwesh A. Patel Assistant Professor BITS edu Campus Prepared By: PARTH TRIVEDI TANISHQ CHANDER 090050131054 090050131128 09CE86 09CE38 MAYANK SOLANKI PARTH DALAL 090050131102 090050131108 09CE20 09CE54 ________________________________________________________________ BITS edu Campus Babaria Institute of Technology Department of Computer Science and Engineering At: Varnama, Ta: Vadodara, Dist: Vadodara, Pin: 391240

description

A Comprehensive report on Digital Intelligence a walkway to Chirology. Team Members: Parth Trivedi, Tanishq Chander, Parth Dalal and Mayank Solanki

Transcript of Digital Intelligence, a walkway to Chirology

Page 1: Digital Intelligence, a walkway to Chirology

A PROJECT REPORT ON

Guided By

Mr.Vishwesh A. Patel

Assistant Professor

BITS edu Campus

Prepared By:

PARTH TRIVEDI TANISHQ CHANDER

090050131054 090050131128

09CE86 09CE38

MAYANK SOLANKI PARTH DALAL

090050131102 090050131108

09CE20 09CE54

________________________________________________________________

BITS edu Campus

Babaria Institute of Technology

Department of Computer Science and Engineering

At: Varnama, Ta: Vadodara, Dist: Vadodara, Pin: 391240

Page 2: Digital Intelligence, a walkway to Chirology

REPORT

Page 3: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24

BITS (CSE) i

CANDIDATE’S DECLARATION

I declare that seventh semester report entitled “Digital Intelligence - a walkway to

chirology” is my own work conducted under the supervision of the guide Prof.

Vishwesh A. Patel.

I further declare that to the best of my knowledge the report for B.E. final year does not

contain part of the work which has been submitted for the award of B.E. Degree either

in this or any other university without proper citation.

(SIGN)

Student Name : Parth Trivedi

Student ID : 09CE86

Student Enroll. No. : 090050131054

Page 4: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24

BITS (CSE) ii

CERTIFICATE

This is to certify that the project entitled “Digital Intelligence-A Walkway to Chirology” is a

bonafied report of the work carried out by Mr. (1) Parth Trivedi (09/CE/86) (2) Tanishq

Chander (09/CE/38) (3) Mayank Solanki (09/CE/20) (4)Parth Dalal (09/CE/54) for User

Defined Project in Semester VII under the guidance and supervision of Mr. Vishwesh A.

Patel for the partial fulfillment of award of the Degree of Bachelor of Computer Science and

Engineering at Babaria Institute of Technology, BITS edu Campus, Varnama, Vadodara,

Gujarat.

To the best of my knowledge and belief, this work embodies the work of candidate

themselves. They have duly completed their work which fulfills the requirement of the

ordinance relating to the Bachelor Degree awarded by Gujarat Technological University and

is up to the standard in respect of content, presentation and language for being referred to the

Examiner.

Mr. Vishwesh A. Patel Mr. Saurabh Shah

Internal Project Guide Head of Department

BITS edu Campus

Babaria Institute of Technology

Department of Computer Science and Engineering

At: Varnama, Ta: Vadodara, Dist: Vadodara, Pin: 391240

B A B A R I A

Institute of Technology

Page 5: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24

BITS (CSE) iii

ACKNOWLEGEMENT

I would like to take this opportunity to bestow and dedicate my acknowledgement to all the

people needy indeed that directly or indirectly availed me from all prospects in making my

project feasible on the subject of “Digital Intelligence-A Walkway to Chirology”.

I would also like to thank Mr. Vishwesh Patel’s guidance for supporting and helping me

throughout the project development.

I would like to thank Prof. Saurabh Shah, Department Head of Computer Science and

Engineering for giving me their valuable suggestion, and taking out time from his busy

schedule.

Most of my close friends were continues source of inspiration throughout the project

development, they have been very supporting to me in achieving these milestones. And the

most precious part of my life, my parents who have showered their love and support which

can never be repaid in any form. Without them this achievement could not have been

achieved.

Page 6: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24

BITS (CSE) iv

TABLE OF CONTENTS

TITLE PAGE NO.

ABSTRACT ix

LIST OF FIGURES x

LIST OF TABLES xi

ABBREVIATIONS iv

NOTATIONS ivi

CHAPTER 1: INTRODUCTION 1-4

1.1 PROJECT SUMMARY 1

1.2 PURPOSE 1

1.3 SCOPE 1

1.4 OBJECTIVE 2

1.5 TECHNOLOGY & LITERATURE REVIEW 2

CHAPTER 2: PROJECT MANAGEMENT 5-11

2.1 PROJECT PLANNING 5

2.2 PROJECT DEVELOPMENT APPROACH & JUSTIFICATION 6

2.3 PROJECT PLAN 7

2.4 ROLES AND RESPONSIBILITIES 7

2.5 ESTIMATION 8

2.5.1 EFFORT ESTIMATION 8

2.5.2 COST ANALYSIS 11

2.6 FEASIBILITY STUDY 11

CHAPTER 3: SYSTEM ANALYSIS 12-14

3.1 STUDY OF CURRENT SYSTEM 12

3.2 PROBLEM AND WEAKNESSES OF CURRENT SYSTEM 13

3.3 REQUIREMENTS OF NEW SYSTEM 13

3.4 USER REQUIREMENTS 13

3.5 SYSTEM REQUIREMENTS 14

3.6 HARDWARE AND SOFTWARE 14

3.7 FEATURES OF NEW SYSTEM 14

15-34

Page 7: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24

BITS (CSE) v

CHAPTER 4: SYSTEM DESIGN

4.1 DATA MODELING 15

4.1.1 DATA DICTIONARY 15

4.1.2 ER DIAGRAM 16

4.2 USE CASE DIAGRAM 17

4.3 CLASS DIAGRAM 20

4.4 SEQUENCE DIAGRAM 21

4.5 ACTIVITY DIAGRAM 24

4.6 STATE DIAGRAM 28

4.7 COMPONENT DIAGRAM 31

4.8 DEPLOYMENT DIAGRAM 32

4.9 METHOD PSEUDO CODE 33

4.10 DESIGN OF FORMS, REPORTS AND INTERFACE 33

CHAPTER 5: IMPLEMENTATION 35-43

5.1 SYSTEM ARCHITECTURE 35

5.2 CODING STANDARDS 36

5.3 SCREEN SHOTS 38

CHAPTER 6: TESTING 44-48

6.1 TYPES OF TESTING 45

CHAPTER 7: LIMITATIONS AND FUTURE ENHANCEMENTS 49-50

CHAPTER 8: CONCLUSION 51

REFERENCES 52

EXPERIENCE 53

Page 8: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24

BITS (CSE) vi

ABSTRACT

In this do or die era, each and every entity on this planet is concerned about their own

future and the journey that an individual has to follow in the time to come. Even if one needs

to pay to get a token about their own fortune one is always ready. The only reason is the

uncertainty in our day to day lives. Just close your eyes and think about a software wherein

you need to upload an image of your palm and the software returns you your own future,

your own upcoming days, events to occur and whatnot. The design of this system helps in

predicting the palmistry details by scanning an image of the palm and then applying the

concepts of image processing and artificial intelligence so as to predict the palmistry based

details of the user. The system will provide the user an automated analysis of person’s palm.

The output produced by system will be unbiased and transparency shall be maintained as it

will use image processing for the extraction of lines.

Page 9: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24

BITS (CSE) vii

LIST OF FIGURES

Fig No. Title Page No.

1.1 Literature Review (NSTC) 3

1.2 Research Paper (Palm Printing) 4

2.1 Time Line Chart 5

2.2 Gantt Chart 5

3.1 Current Palmistry S/W Systems 12

4.1 Data Dictionary 15

4.2 ER Diagram 16

4.3 Use Case Diagram (WI-M) 17

4.4 Use Case Diagram (DIP-M) 18

4.5 Use Case Diagram (FT-M) 18

4.6 Use Case Diagram (RG-M) 19

4.7 Class Diagram of System 20

4.8 Sequence Diagram (WI-M) 21

4.9 Sequence Diagram (DIP-M) 22

4.10 Sequence Diagram (FT-M) 22

4.11 Sequence Diagram (RG-M) 23

4.12 Activity Diagram (WI-M) 24

4.13 Activity Diagram (DIP-M) 25

4.14 Activity Diagram (FT-M) 26

4.15 Activity Diagram (RG-M) 27

4.16 State Diagram (WI-M) 28

4.17 State Diagram (DIP-M) 28

4.18 State Diagram (FT-M) 29

4.19 State Diagram (RG-M) 30

4.20 System Component Diagram 31

4.21 System Deployment Diagram 32

Page 10: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24

BITS (CSE) viii

4.22 Overall GUI Design 33

4.23 Overall Report Design 34

5.1 System Architecture 35

5.2 Welcome Screen (GUI) 38

5.3 Upload Image Screen (GUI) 38

5.4 Image Filter (GUI) 39

5.5 Input Images (GUI) 39

5.6 Grayscale Transformation (GUI) 40

5.7 Gaussian Filter (GUI) 40

5.8 Image Portion Selection (GUI) 41

5.9 Selected Image Portion (GUI) 41

5.10 Sharpened Image (GUI) 42

5.11 Ridges Highlighted (GUI) 42

5.12 Coding in MATLAB 43

6.1 Blackbox Testing 47

LIST OF TABLES

Table No. Title Page No.

2.1 Distribution of Effort 8

2.2 Value Adjustment Factors 9

Page 11: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24

BITS (CSE) ix

ABBREVIATIONS

ABBREVIATIONS

DESCRIPTION

ID IDENTIFIER, used to identify someone

AI Artificial Intelligence

DIP Digital Image Processing

WI-M Web Interface Module

DIP-M Digital Intelligence Module

FT-M Fortune Teller Module

RG-M Report Generation Module

MCR MATLAB Compiler Runtime

Page 12: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24

BITS (CSE) x

NOTATIONS

Page 13: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24

BITS (CSE) xi

Page 14: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 INTRODUCTION

BITS (CSE) 1

CHAPTER 1: INTRODUCTION

1.1 PROJECT SUMMARY

“If you want to know your future then you are at the right place!!! “

In this do or die era, each and every entity on this planet is concerned about their own future

and the journey that an individual has to follow in the time to come. Even if one needs to pay

to get a token about their own fortune one is always ready. The only reason is the uncertainty

in our day to day lives. Just close your eyes and think about a software wherein you need to

upload an image of your palm and the software returns you your own future, your own

upcoming days, events to occur and whatnot. The design of this system helps in predicting

the palmistry details by scanning an image of the palm and then applying the concepts of

image processing and artificial intelligence so as to predict the palmistry based details of the

user. The system will provide the user an automated analysis of person’s palm. The output

produced by system will be unbiased thereby maintaining transparency.

1.2 PURPOSE

To develop dynamic anti-corruption palm reading freeware

To make the application portable and highly scalable

To obtain higher precision and accuracy along with user satisfaction

To save User’s time and money

Page 15: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 INTRODUCTION

BITS (CSE) 2

1.3 SCOPE

It can do dynamic analysis of the palm and generate relevant report that satisfies the

same

It cannot be 100% accurate since there are bundles of constraints involved in this case

It can bring a dead-end to corruption

It can save lot of valuable time and money of our clients

It can produce drastic different outputs even based on minor input changes

1.4 OBJECTIVE

Develop a freeware; a web based realistic Fortune Teller that shall bring a dead-end to

corruption. After all why should humans pay to know their own fortune . . . ?

1.5 TECHNOLOGY AND LITERATURE REVIEW

1.5.1 Technology Review

MATLAB (matrix laboratory) is a numerical computing environment and fourth-

generation programming language. Developed by MathWorks, MATLAB

allows matrix manipulations, plotting of functions and data, implementation

of algorithms, creation of user interfaces, and interfacing with programs written in

other languages, including C, C++, Java, and Fortran

Page 16: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 INTRODUCTION

BITS (CSE) 3

Although MATLAB is intended primarily for numerical computing, an optional

toolbox uses the MuPAD symbolic engine, allowing access to symbolic

computing capabilities. An additional package, Simulink, adds graphical multi-

domain simulation and Model-Based Design for dynamic and embedded systems

MATLAB's support for object-oriented programming includes classes, inheritance,

virtual dispatch, packages, pass-by-value semantics, and pass-by-reference semantics

MATLAB can call functions and subroutines written in the C programming

language or Fortran. A wrapper function is created allowing MATLAB data types to

be passed and returned. The dynamically loadable object files created by compiling

such functions are termed "MEX-files" (for MATLAB executable)

Libraries written in Java, ActiveX or .NET can be directly called from MATLAB and

many MATLAB libraries (for example XML or SQL support) are implemented as

wrappers around Java or ActiveX libraries. Calling MATLAB from Java is more

complicated, but can be done with MATLAB extension, which is sold separately

by MathWorks, or using an undocumented mechanism called JMI (Java-to-MATLAB

Interface), which should not be confused with the unrelated Java Metadata

Interface that is also called JMI

As alternatives to the MuPAD based Symbolic Math Toolbox available from

MathWorks, MATLAB can be connected to Maple or Mathematica

Libraries also exist to import and export MathML

In MATLAB, graphical user interfaces can be programed with the GUI design

environment (GUIDE) tool

Page 17: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 INTRODUCTION

BITS (CSE) 4

1.5.2 Literature Review

A report generated by NSTC & can be found at www.biometrics.org

Fig 1.1 Literature Review (NSTC)

A research paper published on: A Novel Approach for Automatic Palmprint

Recognition

Fig 1.2 Research Paper (Palm Printing)

A research paper provided by Jincy Madam – Electronics & Communication

Department, Institute of Technology, BITS edu Campus

Page 18: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 PROJECT MANAGEMENT

BITS (CSE) 5

CHAPTER 2: PROJECT MANAGEMENT

2.1 PROJECT PLANNING

Project planning for our project is shown below in form of two Charts:-

2.1.1 Time Line Chart

Fig 2.1 Time Line Chart

Page 19: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 PROJECT MANAGEMENT

BITS (CSE) 6

2.1.2 Gantt Chart

Fig 2.2 Gantt Chart

2.2 PROJECT DEVELOPMENT APPROACH & JUSTIFICATION

Our project development approach is more towards research and analysis. That is why from

the above charts we can observe that the time for vocational learning is given maximum time.

The requirement analysis for our domain is very small. But for developing this application,

basic system requirement is to be known. The system application runs on basic configuration

of system, and hence we do not spend much time in determining the requirements of system

for running the application software.

For the configuration point of view system will be using an MCR environment for running

the application because the whole coding and implementation is primarily based on

MATLAB, hence this environment will be required. Our team will try to make this

application run independent of this MCR environment.

Page 20: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 PROJECT MANAGEMENT

BITS (CSE) 7

Along with vocational learning, the various technical diagrams are being constructed, like

class diagram, ER diagram, Behavioural diagrams, all coming under the structural design and

modelling. These diagrams require a little bit of analysis of the study we have made in the

vocational learning. And hence, couple of months are being given for them. In this way our

implementation can also be started and can be performed easily with the help of these

diagrams.

In this way, we will complete our vocational learning after 150 days and 50%-60% of

implementation will also be completed with it.

We are going to give maximum time for coding because we are new to MATLAB and will

be making use of JAVA along with it, so our approach will be to make use of multiple

languages and show compatibility between them. The implementation will also include the

development of user interface too.

After the implementation, our approach will be to test is perfectly, so that the flaws could be

rectified.

2.3 PROJECT PLAN

Our current project plan is to learn and understand the fundamentals of digital image

processing and its functionalities relevant to our system and the methods to implement them.

Also we are currently focusing on the designing and modelling areas of software

development.

Page 21: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 PROJECT MANAGEMENT

BITS (CSE) 8

2.4 ROLES AND RESPONSIBILITIES

Time to time reporting to project guide and also to get some proper direction too

Facilitating the process of management

Following the deadlines

Gather the information and properly analyse it

Perform structural design modelling by observing the rules and conventions

To support each other’s work and find flaws to a certain extent to increase the

efficiency of system

Analyse and resolve project issues in timely and accurate manner

2.5 ESTIMATION

There are two basic categories involved in estimation:

2.5.1 Effort Estimation

Function Point Analysis:

Function points allow the measurement of software size in standard units,

independent of the underlying language in which the software is developed.

Instead of counting the lines of code that make up a system, count the number of

externals (inputs, outputs, inquiries, and interfaces) that make up the system.

There are five types of externals to count:

External inputs - data or control inputs (input files, tables, forms, etc.) to the system

External outputs - data or control outputs from the system

External queries - I/O queries which require a response (prompts, interrupts, etc.)

Page 22: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 PROJECT MANAGEMENT

BITS (CSE) 9

External interfaces - programs which are passed into and out of the system

Internal data files - groupings of data stored internally in the system (entities,

internal control files, directories)

In our system we have distribute assign weights to the above unit as below:

Information Count Easy Medium Complex Count Total

External Inputs 2 0 0 1 6 1 7 13

External Outputs 9 0 0 1 8 8 7 64

External Queries 1 0 0 0 0 1 6 6

No. Of files 1 0 0 1 6 0 0 6

External Interface 9 3 7 0 0 6 9 75

164

Table 2.1 Distribution of Effort

The Value Adjustment Factors (VAFs) are as follows:

[Note: Here answers to the questions are given using a scale that ranges from 0 (not at all

important or applicable) to 10 (absolutely essential)]

Does the system require reliable backup and recovery?

ANS. Our system must store the data even in worst condition.

10

Are data communications required?

ANS. Data communication is must since it takes all the details from the

database kept on the server.

10

Are there distributed processing functions?

ANS. No, our system is a desktop application.

8

Page 23: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 PROJECT MANAGEMENT

BITS (CSE) 10

Is performance critical?

ANS. Performance is critical since our system has to manage real time data

and maintain perfect accuracy.

9

Will the system run in an existing, heavily utilized operational environment?

ANS. It can run because it is not much resource consuming.

5

Does the system require on-line data entry?

ANS. Online data entry is the backbone of our system.

10

Does the on-line data entry require the input transaction to be built over

multiple screens or operations?

ANS. Since our project is online as well as desktop, so there will be a need of

multiple screens or operations.

8

Are the master files updated on-line?

ANS. The database master files are regularly updated online since they are

located on the server.

10

Are the inputs, outputs, files, or inquiries complex?

ANS. Some are complex but most of them are either simple or average.

8

Is the internal processing complex?

ANS. It is complex as compatibility of MATLAB with rest of the system is

an issue for getting the desired output.

10

Is the code designed to be reusable?

ANS. For future enhancement the code is reusable.

8

Is the application designed to facilitate change and ease of use by the user?

ANS. The administrator has all the authorities to change the details in the

database.

10

Total 106

Table 2.2 Value Adjustment Factors

Page 24: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 PROJECT MANAGEMENT

BITS (CSE) 11

UFP = (External Inputs)*4+ (External Outputs)*5 + (External Queries)*4 + (No. Of

files)*10 + (External Interface)*10

= 8+45+4+10+90

= 157

TCF = 0.65 + 0.01 * DI

= 0.65 + 0.01 * 106

=1.71

Function Point value =UFP*TCF

=1.71*157

=269

Fi is the sum of the weights assigned to the functions as per its importance in the software.

2.5.2 Cost Analysis

Lines of Code: 5309 (5300 approx.)

As per the Organic COCOMO model:

α =2.4

β =1.05

KLOC= Kilo Lines of Code

Effort= α*(KLOC) β PM where, PM = person-month

Salary of an Engineer per month is Rs. 15,000

CALCULATION OF EFFORT:

Effort = 2.4*(5.3) 1.05

PM

Effort ≈ 14 (13.89 Approx.)

Page 25: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 PROJECT MANAGEMENT

BITS (CSE) 12

OVERALL SOFTWARE COST AND WEB-DEVLOPMENT COST:

= (Salary of an Engineer/month)*(Effort PM)

= (15,000)*(14)

= Rs. 2,10,000

2.6 FEASIBILITY STUDY

The System is completely feasible with the current technology. The technology which the

system comprises of is MATLAB and JAVA and most probably DOT NET (later). So,

possibly, the system is going to integrate all these three technologies will become an example

of inter-compatibility.

Page 26: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM ANALYSIS

BITS (CSE) 13

CHAPTER 3: SYSTEM ANALYSIS

3.1 STUDY OF CURRENT SYSTEM

The current system is static, which neither involves neither Digital Image Processing

nor Intelligence of any type.

It is simply a static wizard which contains series of images of a palm and different

types of lines embossed on each of the images.

What a user has to do is nothing more than selection of these images based on

different options. The user selects those images that satisfies resonance criterion

matching his palm.

In order to gain precision the system ensures more and more options to be used in the

wizard.

Some GUI’s of the system are shown below:

Fig 3.1 Current Palmistry S/W Systems

Page 27: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM ANALYSIS

BITS (CSE) 14

3.2 PROBLEM AND WEAKNESSES OF CURRENT SYSTEM

It certainly cannot meet 100% user requirements, i.e. palm reading of users palm

To maintain accuracy it may ask many questions which may confuse user. For ex-

selection of most matching line or shape of hand so on

The system is static and does not do any real time processing

It may be possible that some points or criteria’s are not covered or missed for a

particular user

Static report generated that does not show analysis of User’s Palm

3.3 REQUIREMENTS OF NEW SYSTEM

To meet user requirements and achieve maximum precision and accuracy

To make real-time decisions

Generate Dynamic Report that contains analysis of users Palm

3.4 USER REQUIREMENTS

Internet Connection

Adobe Acrobat Reader (possibly latest version)

Page 28: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM ANALYSIS

BITS (CSE) 15

3.5 SYSTEM REQUIREMENTS

Windows 2007 and above as OS

32 or 64 bit OS

3.6 HARDWARE AND SOFTWARE REQUIREMENTS

A good Scanner or a Webcam having resolution greater than 800X600

A good quality printer, to print the report

Processor, Intel Family (Core2Duo and above)

Modem for Internet Connectivity

1 GB or more RAM

1 GB or more HDD space

3.7 FEATURES OF NEW SYSTEM

User Satisfaction

Analysis of Users Palm straight away with real time decision making capability

Extremely Portable and Highly Scalable

Generic Analyser

Generate a dynamic report which contains analysis of users palm and then the

detailed analysis of Palm Reading of the same

To save users time and money

To stop users from visiting fortune-tellers which are more than anything non-altruistic

entities and thereby bring a dead-end to corruption

Page 29: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 16

CHAPTER 4: SYSTEM DESIGN

4.1 DATA MODELLING

4.1.1 Data Dictionary

TABLE NAME: member

Column Type Null Default Comments

id int(10) No None To identify user

fname varchar(255) No None First name of the user

mname varchar(255) No None Middle name of the user

lname varchar(255) No None Last name of the user

gender varchar(255) No None Gender of user

username varchar(255) No None It is used as primary key for login purpose

password varchar(255) No None Password for login purpose

rpassword varchar(255) No None Re-Password for matching password

email varchar(255) No None Email of the user to send activation key

altemail varchar(255) Yes None Alternate email id of the user

contact varchar(255) Yes None Contact number of the user

key varchar(255) No None Key for activation key

status int(10) No 0 Status which specify account is activate or not

TABLE NAME: contact

Column Type Null Default Comments

name varchar(255) No None Name of the user

email varchar(255) No None Email of user

company varchar(255) Yes None Company name of the user

subject varchar(255) Yes None Subject for query

message varchar(255) No None Problem Message

Fig 4.1 Data Dictionary

Page 30: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 17

4.1.2 ER Diagram

Fig 4.2 ER Diagram

Page 31: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 18

4.2 USE CASE DIAGRAM

Fig 4.3 Use Case Diagram (WI-M)

Page 32: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 19

Fig 4.4 Use Case Diagram (DIP-M)

Fig 4.5 Use Case Diagram (FT-M)

Page 33: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 20

Fig 4.6 Use Case Diagram (RG-M)

Page 34: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 21

4.3 CLASS DIAGRAM

Fig 4.7 Class Diagram of System

Page 35: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 22

4.4 SEQUENCE DIAGRAM

Fig 4.8 Sequence Diagram (WI-M)

Page 36: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 23

Fig 4.9 Sequence Diagram (DIP-M)

Fig 4.10 Sequence Diagram (FTM-M)

Page 37: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 24

Fig 4.11 Sequence Diagram (RG-M)

Page 38: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 25

4.5 ACTIVITY DIAGRAM

Fig 4.12 Activity Diagram (WI-M)

Page 39: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 26

Fig 4.13 Activity Diagram (DIP-M)

Page 40: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 27

Fig 4.14 Activity Diagram (FTM-M)

Page 41: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 28

Fig 4.15 Activity Diagram (RG-M)

Page 42: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 29

4.6 STATE DIAGRAM

Fig 4.16 State Diagram (WI-M)

Fig 4.17 State Diagram (DIP-M)

Page 43: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 30

Fig 4.18 State Diagram (FT-M)

Page 44: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 31

Fig 4.19 State Diagram (RG-M)

Page 45: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 32

4.7 COMPONENT DIAGRAM

Fig 4.20 System Component Diagram

Page 46: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 33

4.8 DEPLOYMENT DIAGRAM

Fig 4.21 System Deployment Diagram

Page 47: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 34

4.9 METHOD PSEUDOCODE

Step1 : Accept the input image from an End-User

Step2 : Preprocess the obtained image (DIP-M)

Step3 : Apply transformations on the image as per the selected algorithms (DIP-M)

Step4 : Pass-on the image to Fortune Teller

Step5 : As per algorithm decided perform Segmentation or AI on image

Step6 : Obtain the extracted Lines

Step7 : Redivide or Obtain the curve length by some function

Step8 : Do criticality analysis

Step9 : Pass-on analyzed data to Report Generator

Step10 : Display prepared report on the Web Interface and allow download

4.10 DESIGN OF FORMS, REPORTS AND INTERFACE

Fig 4.22 Overall GUI Design

Page 48: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 SYSTEM DESIGN

BITS (CSE) 35

Fig 4.23 Overall Report Design

Page 49: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 IMPLEMENTATION

BITS (CSE) 36

CHAPTER 5: IMPLEMENTATION

5.1 SYSTEM ARCHITECTURE

Fig 5.1 System Architecture

The system architecture is very simplified and the connections are explained below. The end-

user and the user both will be present on the client side, and hence will communicate with the

server indirectly. The connection will be bidirectional as the request will be sent by the users

or end-users to the client side and the client-side will be sending this request in the form of

http-request to the server. This connection, that is , between the client –side and the server is

also bi-directional. The client side can be any browser like Google chrome. The server can be

any application server like JBOSS, Apache Tomcat etc. As we already know there will also

be a connection between the database and the server, as required. This connection will also

be bi-directional.

Page 50: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 IMPLEMENTATION

BITS (CSE) 37

Now, when the client- side will send a request for accessing or using the system, the server

will first contact with the database to check whether the user is already registered. Depending

on that the user will either register himself and then a downloading option will start. The

downloading will provide the client side browser a package for getting .exe file and as well

as the MCR environment on the desktop. That is why a separate connection is provided

between the client –side browser and a combo-package. This connection is unidirectional as

the package is supplied from server to client not vice-versa. This combo package is also

unidirectional connected to the server, respectively. So, in this way the server will

communicate with the client side. The end-user will then install the MCR environment on his

computer and will run the system application.

5.2 CODING STANDARDS

Variables

Variable names should be in mixed case starting with lower case.

Variables with a large scope should have meaningful names. Variables with a small

scope can have short names.

The prefix n should be used for variables representing the number of objects.

Functions

The names of functions should document their use.

Names of functions should be written in lower case.

Functions with no output argument or which only return a handle should be named

after what they do.

The prefixes get/set should generally be reserved for accessing an object or property.

The prefix compute can be used in methods where something is computed.

The prefix find can be used in methods where something is looked up.

The prefix is should be used for boolean functions.

Page 51: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 IMPLEMENTATION

BITS (CSE) 38

General

Names of dimensioned variables and constants should usually have a units suffix.

Abbreviations in names should be avoided.

Consider making names pronounceable.

All names should be written in English.

M Files

Modularize.

Make interaction clear.

Partitioning

Use existing functions.

Any block of code appearing in more than one m-file should be considered for

packaging as a function.

Global

Use of global variables should be minimized.

Use of global constants should be minimized.

Loops

Loop variables should be initialized immediately before the loop.

The use of break and continue in loops should be minimized.

The end lines in nested loops can have comments

Page 52: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 IMPLEMENTATION

BITS (CSE) 39

5.3 SCREEN SHOTS

Fig 5.2 Home Page of tannypartnerz.com

Fig 5.3 Registration form of tannypartnerz.com

Page 53: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 IMPLEMENTATION

BITS (CSE) 40

Fig 5.4 Activation Link sent to end user

Fig 5.5 End User giving input by using webcam

Page 54: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 IMPLEMENTATION

BITS (CSE) 41

Fig 5.6 Edge Detection using CANNY Algorithm

Fig 5.7 Selection of heart line using Crosshair tool

Page 55: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 IMPLEMENTATION

BITS (CSE) 42

Fig 5.8 Report Generation in PDF format

Page 56: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 IMPLEMENTATION

BITS (CSE) 43

Fig 5.9 Coding in MATLAB

Page 57: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 TESTING

BITS (CSE) 44

CHAPTER 6: TESTING

Software testing can also provide an objective, independent view of the software to allow the

business to appreciate and understand the risks of software implementation. Test techniques

include, but are not limited to, the process of executing a program or application with the

intent of finding software bugs (errors or other defects).

Software testing can be stated as the process of validating and verifying that a computer

program/application/product:

meets the requirements that guided its design and development,

works as expected,

can be implemented with the same characteristics,

And satisfies the needs of stakeholders.

Software testing, depending on the testing method employed, can be implemented at any

time in the development process. Traditionally most of the test effort occurs after the

requirements have been defined and the coding process has been completed, but in

the Agile approaches most of the test effort is on-going. As such, the methodology of the test

is governed by the chosen software development methodology.

Page 58: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 TESTING

BITS (CSE) 45

6.1 TYPES OF TESTING

Static vs. dynamic testing

There are many approaches to software testing. Reviews, walkthroughs, or inspections are

referred to as static testing, whereas actually executing programmed code with a given set

of test cases is referred to as dynamic testing. Static testing can be omitted, and unfortunately

in practice often is. Dynamic testing takes place when the program itself is used. Dynamic

testing may begin before the program is 100% complete in order to test particular sections of

code and are applied to discrete functions or modules. Typical techniques for this are either

using stubs/drivers or execution from a debugger environment.

The box approach

Software testing methods are traditionally divided into white- and black-box testing. These

two approaches are used to describe the point of view that a test engineer takes when

designing test cases.

White-Box testing

White-box testing (also known as clear box testing, glass box testing, transparent box testing,

and structural testing) tests internal structures or workings of a program, as opposed to the

functionality exposed to the end-user. In white-box testing an internal perspective of the

system, as well as programming skills, are used to design test cases. The tester chooses inputs

to exercise paths through the code and determine the appropriate outputs.

Page 59: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 TESTING

BITS (CSE) 46

While white-box testing can be applied at the unit, integration and system levels of

the software testing process, it is usually done at the unit level. It can test paths within a unit,

paths between units during integration, and between subsystems during a system–level test.

Though this method of test design can uncover many errors or problems, it might not detect

unimplemented parts of the specification or missing requirements.

Techniques used in white-box testing include:

API testing (application programming interface) - testing of the application using

public and private APIs

Code coverage - creating tests to satisfy some criteria of code coverage (e.g., the test

designer can create tests to cause all statements in the program to be executed at least

once)

Fault injection methods - intentionally introducing faults to gauge the efficacy of

testing strategies

Mutation testing methods

Static testing methods

Code coverage tools can evaluate the completeness of a test suite that was created with any

method, including black-box testing. This allows the software team to examine parts of a

system that are rarely tested and ensures that the most important function points have been

tested. Code coverage as a software metric can be reported as a percentage for:

Function coverage, which reports on functions executed

Statement coverage, which reports on the number of lines executed to complete the

test 100% statement coverage ensures that all code paths, or branches (in terms of control

flow) are executed at least once. This is helpful in ensuring correct functionality, but not

sufficient since the same code may process different inputs correctly or incorrectly.

Page 60: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 TESTING

BITS (CSE) 47

Black-box testing

Fig 6.1 Blackbox Testing

Black-box testing treats the software as a "black box", examining functionality without any

knowledge of internal implementation. The tester is only aware of what the software is

supposed to do, not how it does it. Black-box testing methods include: equivalence

partitioning, boundary value analysis, all-pairs testing, state transition tables, decision

table testing, fuzz testing, model-based testing, use case testing, exploratory testing and

specification-based testing.

Specification-based testing aims to test the functionality of software according to the

applicable requirements. Test cases are built around specifications and requirements, i.e.,

what the application is supposed to do. It uses external descriptions of the software, including

specifications, requirements, and designs to derive test cases. One advantage of the black box

technique is that no programming knowledge is required. Whatever biases the programmers

may have had, the tester likely has a different set and may emphasize different areas of

functionality. They do not examine the source code, there are situations when a tester writes

many test cases to check something that could have been tested by only one test case, or

leaves some parts of the program untested.

This method of test can be applied to all levels of software testing: unit, integration, system

and acceptance. It typically comprises most if not all testing at higher levels, but can also

dominate unit testing as well.

Page 61: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 TESTING

BITS (CSE) 48

Grey-box testing

Grey-box testing involves having knowledge of internal data structures and algorithms for

purposes of designing tests, while executing those tests at the user, or black-box level. The

tester is not required to have full access to the software's source code. Manipulating input

data and formatting output do not qualify as grey-box, because the input and output are

clearly outside of the "black box" that we are calling the system under test. This distinction is

particularly important when conducting integration testing between two modules of code

written by two different developers, where only the interfaces are exposed for test. However,

modifying a data repository does qualify as grey-box, as the user would not normally be able

to change the data outside of the system under test.

Visual testing

The aim of visual testing is to provide developers with the ability to examine what was

happening at the point of software failure by presenting the data in such a way that the

developer can easily find the information he requires, and the information is expressed clear.

Visual testing provides a number of advantages. The quality of communication is increased

dramatically because testers can show the problem (and the events leading up to it) to the

developer as opposed to just describing it and the need to replicate test failures will cease to

exist in many cases. The developer will have all the evidence he requires of a test failure and

can instead focus on the cause of the fault and how it should be fixed.

Visual testing is particularly well-suited for environments that deploy agile methods in their

development of software, since agile methods require greater communication between testers

and developers and collaboration within small teams.

Page 62: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 TESTING

BITS (CSE) 49

6.2 TEST CASES

6.2.1 Purpose, Input & Steps to yield expected output

testcase_login_page: Test Case Title

Purpose: To allow only the person to log-in only if the STATUS flag is set to 1 in the

database i.e. the person has registered to tannypartnerz.com

Prerequisite: Registration followed by activation

Test Data: Username = {sequence of characters or digits with length 5-20};

Password = {should not contain escape sequences and a length of 7-12};

Steps: Steps to carry out the test :

1. visit Login Page

2. enter Username

3. enter Password

4. click Login

5. click on the “go” button just below

6. verify that the page on site now contains correct username

7. verify that the page on site now contains a download button beside the

slider

Page 63: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 TESTING

BITS (CSE) 50

testcase_registration_page: Test Case Title

Purpose: To allow users to register at tannypartnerz.com

Prerequisite: Must have a valid e-mail account and contact

Test Data: First Name ={sequence of characters with length 3-20};

Middle Name ={sequence of characters with length 3-20};

Last Name ={sequence of characters with length 3-20};

Username ={sequence of characters or digits with length 5-20};

Password ={should not contain escape sequences and a length of 7-12};

Gender ={allow any one of the options};

E-mail ={only valid email addresses are allowed};

Contact ={only digits of length 10 are allowed};

Steps: Steps to carry out the test :

1. Visit Registration Page

2. Enter the required Details

3. Click Submit if done or click Reset to set the fields again

4. If successfully submitted then follow-up the actions specified

thereafter. .

5. Open your Mail-Box & click on the activation link just received from

tannypartnerz.com

6. Now you will be redirected to the Home-Page where you are required

to log-in again to avail full benefits of an End-User

Page 64: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 TESTING

BITS (CSE) 51

testcase_contact_page: Test Case Title

Purpose: To allow users to contact admin at tannypartnerz.com

Prerequisite: Must have a valid e-mail account

Test Data: Name ={sequence of characters with length 3-20};

E-mail ={only valid email addresses are allowed};

Message ={cannot be null};

Steps: Steps to carry out the test :

1. Visit Contact Us Page

2. Enter the required Details

3. Click Send Message if done

4. If successfully submitted then admin will receive the message sent by

you and you need to wait for the response from the admin

testcase_GUI_userdetails_page: Test Case Title

Purpose: To allow users to embed general details in the Report

Prerequisite: Must have a valid contact

Test Data: Name ={sequence of characters with length 3-20};

Date of birth ={picker tool is used, mm/dd/yyyy format, age limit is used};

Contact ={sequence of numbers with length 10 only};

Identity photo={Photo must be greater than or equal to 300px X 300px};

Address ={cannot be null};

Steps: Steps to carry out the test :

1. Open the GUI

2. Enter the user details when the GUI appears

3. Click Next icon and continue with implementation of the software

Page 65: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 TESTING

BITS (CSE) 52

testcase_GUI_devicetesting: Test Case Title

Purpose: To allow users to use hardware peripherals only if found connected

Prerequisite: Must have scanner or camera connected. The Quality of the same should be

satisfied as per the Hardware Requirements specified in the Report

Test Data: If scanner or camera is not connected appropriate error messages are

displayed otherwise the user can continue with the implementation

Steps: Steps to carry out the test :

1. Open the GUI

2. Follow step by step instructions and when it is the right time to upload

the image click on the scanner or camera icon to find the availability

of the required resource

Page 66: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 LIMITATIONS & FUTURE ENHANCEMENT

BITS (CSE) 53

CHAPTER 7: LIMITATIONS & FUTURE ENHANCEMENT

Limitations

User Expectations

When different fortune tellers analyze the same palm in their own ways and produce

different reports on analyzing how one can expect that the S/W would be very correct

at once . . . The S/W cannot achieve 100% accuracy since it is analyzing God’s

creation after all!!!

Deployment Issue

We are facing a serious problem with the deployment of the UI because we want the

things to be online which requires MATLAB COMPILER RUNTIME and the same

is of 332 MB which needs to be downloaded on the user end.

Technology Compatibility

We are using “Concept of Synergy”, i.e. combining distinct powers of .NET,

MATLAB, JAVA and much more which makes it difficult to find out hidden

compatible corners and thereby bind them altogether.

A never ending research

We are carrying out a research project which itself indicates that we may constantly

evolve through the project and to bring even 0.01 % of precision we may change our

coding and the user may have to bear with the differences in the results of the same.

Page 67: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 LIMITATIONS & FUTURE ENHANCEMENT

BITS (CSE) 54

Future Enhancement

Work on any type and quality of image

You can even dare to i/p a blur, completely rotated or an incorrect image to which our

system counter-dares to respond not only correctly but accurately.

Complete WEB DEPLOYMENT . . . No S/W downloading Required

You don’t need to download the S/W instead upload the image online, carryout

various processes, see the changes and download the report . . . A “.pdf” file with size

hardly greater than 500Kb.

Page 68: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 CONCLUSION

BITS (CSE) 55

CHAPTER 8: CONCLUSION

The project “Digital Intelligence – a walkway to chirology” is certainly a Research &

Development project. Specifically, the system is a desktop application which can be made

portable and scalable through a website. The core concepts in this project are comprised from

the branch of Artificial Intelligence and Digital Image Processing. The research projects

usually do not have a well-defined end. However we have completed the implementation but

with elapsed time we shall try to refine predictions based on algorithms and transform our

project into product. Success is of great importance, which is achieved by a great dedication,

keenness and hard work. This project requires understanding of those concepts which needs

learning, understanding and especially research to get the result in the best manner. From

technical-point of view, the project is primarily covering four modules, out of which we have

successfully accomplished all the modules in which third module is full of research. Our

team is going to work harder to achieve 99.99% accuracy in the prediction made by our

Digitally Intelligent System.

Page 69: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 REFRENCES

BITS (CSE) 56

REFRENCES

Digital Image Processing Using Matlab by Richard E.Woods

Master: http://www.google.com

MathWorks Website: http://www.mathworks.in/discovery/digital-image-processing.html

MathWorks Blog: http://www.blogs.mathworks.com/

Matlab Videos on YouTube

W3C Schools

www.quackit.com

www.tizag.com

Page 70: Digital Intelligence, a walkway to Chirology

BITS/CSE/2012-2013/24 EXPERIENCE

BITS (CSE) 57

EXPERIENCE

The experience of working on a research and development project is really very great. We

came to learn about how to deal with things independently. Real coding of the project is not

what we studied in theory, but it is the real-time application of the same and is so interesting

and wonderful. The best thing was to do lots of research in making the core application

module that uses AI in making pivot predictions. Implementation is done using 4th

generation

programming language, MATLAB which is not only vast and deep but elegant too. The zeal

to learn a new language was satisfied with the help of this project. The experience of doing

such big tasks was great. Engineering shaped our thinking and helped us to discover

innovative ways and then replace them with other better primitive techniques. This helped us

to move from perfection to greater perfection. The experience of working together was so

awesome. We not only learnt to share knowledge but we learnt how to co-ordinate and stay

blissful. This kind of project made our team more robust as we had to do lots of things within

short time. During confusions we also consulted with great experts in the field like digital

image processing, MATLAB. With their help we enhanced our skills in many different

computing fields. The universal teacher so called as GOOGLE helped us a lot in thinking

innovative and make smart decisions at tough times. The experience of our project guide

helped us to jump out from fuzzy decision making process. Our Overall experience was a

learning one; we gained enough knowledge from working on a research based project and

also learned various interesting new methodologies of developing and maintaining a project.