Isight: An Object Recognition Application For Visually Impaired Individuals

ABSTRACT

Assistive technologies to aid the visually impaired have evolved over time from screenreading software, magnification programs and daisy book readers, there are a plethora of devices to aid the visually impaired in their daily activities. Despite the established utility of such devices they face certain limitations that have hindered their widespread adoption, such as cost, stigma attached to using the product in public, and lack of continued support for the product. In this time smartphones, smartphone camera technology and mobile applications have become a staple of modern life and have rapidly improved since their introductions. This alongside the rapid developments in computer vision and machine learning, especially on mobile devices provide a perfect platform for developing a mobile application solution. Whilst there are similar solutions available, they also have certain shortcomings. iSight provides an intuitive user experience, using TensorFlow Lite object recognition, where users can simply scan their surroundings and click anywhere on the screen to receive verbal feedback of the objects in their environment

TABLE OF CONTENTS

ABSTRACT v

LIST OF TABLES ix

LIST OF FIGURES x

LIST OF ABBREVIATIONS xi

CHAPTER 1: INTRODUCTION 1

1.1 Overview 1

1.2 Background and Motivation 2

1.3 Statement of the Problem 4

1.4 Aim and Objectives 4

1.5 Significance of the Project 5

1.6 Project Risks Assessment 5

Table 1.1 Risk Assessment 5

1.7 Scope/Project Organization 6

CHAPTER 2: LITERATURE REVIEW 7

2.1 Introduction 7

2.2 Historical Overview 7

2.2.1 Assistive Technologies 7

2.2.2 Computer Vision 11

2.3 Related Work 14

2.4 Tool and Utilities 15

2.4.1 TensorFlow Lite 15

2.4.2 Android Text-to-Speech 16

2.5 Summary 16

CHAPTER 3: REQUIREMENTS, ANALYSIS, AND DESIGN 18

3.1 Overview 18

3.2 Proposed Model 18

3.3 Methodology 21

3.3.1 Desk Research 21

3.4 Tools and Techniques 21

3.5 Ethical Consideration 23

3.6 Requirement Analysis 24

3.7 Requirements Specifications 24

3.7.1 Functional Requirement Specifications 24 

vii

3.7.2 Non-Functional Requirement Specifications 25

3.8 System Design 26

3.8.1 Application Architecture 26

3.8.2 Use Case 27

3.8.3 Activity Diagram 28

3.8.4 Data Flow Diagram 29

3.8.6 User Interface Design 31

3.9 Summary 33

CHAPTER 4: IMPLEMENTATION AND TESTING 34

4.1 Overview 34

4.2 Main Features 34

4.3 Implementation Problems 35

4.4 Overcoming Implementation Problems 35

4.5 Testing 38

4.5.1 Tests Plans (for Unit Testing, Integration Testing, and System Testing) 38

4.5.2 Test Suite (for Unit Testing, Integration Testing, and System Testing) 40

Test case TC-001(User Login) 40

Test case TC-002(User Registration) 41

Test case TC-003 (Object-Detection) 42

Test case TC-004(Text-to-Speech) 43

4.5.3 Test Traceability Matrix (for Unit Testing, Integration Testing, and System

Testing) 44

4.5.4 Test Report Summary (for Unit Testing, Integration Testing, and System

Testing) 44

4.5.5 Error Reports and Corrections 45

4.6 Use Guide 45

4.7 Summary 45

CHAPTER 5: DISCUSSION, CONCLUSION, AND RECOMMENDATIONS 46

5.1 Overview 46

5.2 Objective Assessment 46

5.3 Limitations and Challenges 46

5.4 Future Enhancements 47

5.5 Summary 48

REFERENCES 49