Professional Documents
Culture Documents
A Thesis
Presented to
the Faculty of the Department of Computer Science
University of Houston
In Partial Fulfillment
of the Requirements for the Degree
Master of Science
By
Akshay A. Soni
Fall 2015
Akshay A. Soni
APPROVED:
Dr. Victoria Hilford
Depatment of Computer Science
University of Houston
ii
An Abstract of a Thesis
Presented to
the Faculty of the Department of Computer Science
University of Houston
In Partial Fulfillment
of the Requirements for the Degree
Master of Science
By
Akshay A. Soni
Fall 2015
iii
Abstract
An ecosystem is a community of plants and animals. They support agricultural
needs and provide clean air and water. However, recent environmental changes such
as global warming and rising sea level caused a need to study these ecosystems.
Ecological problems have the specificity of being dependent on biological elements
with complex interactions. New tools are therefore needed to go past biological
constraints and take into account the complexity of living ecosystems.
Data acquisition was done for six years at Sapelo Island located in Georgia.
The sampling area was approximately 3,200 square meters. Annually around 10,000
images were captured of a sampling area.
Manually examining of a substantial amount of spatially explicit data is very
laborious and resource consuming. The idea is to involve the general public in ecology
projects, first train them in identifying species and then allowing them to identify
these species. Thus, there was a need to develop a systematic way of accumulating,
parameterizing and validating the volunteers contribution to these projects.
Two ecology projects were developed as Web-based games. The first game, Scaling Up Marsh Science was developed to create a detailed mosaic of the sampling
area by stitching multiple overlapping images. Applying automatic methods for image alignment and stitching did not produce precise results due to various factors
such as perspective error, moving animals, amount of overlapping, shadows. The
second game, Marsh Explorer was developed to get an exact description of the sampling area such as identification of the plants and animals species together with their
locations. The final output of this game delivers a detailed summary of the sampling
area.
iv
This thesis adds to the previous versions of these games basic gaming features
such as player ranking, game levels, awards, guided training, player feedback system,
administrative tools, image uploader, and database redesign. To date, approximately
400 volunteer players are contributing to these two projects.
Contents
1 Introduction
1.1
Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Thesis Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
1.3.1
1.3.2
Similar Work . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.4
12
2.1
Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.2
Software Configuration . . . . . . . . . . . . . . . . . . . . . . . . . .
14
16
3.1
16
3.2
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.3
19
3.4
21
23
4.1
Zend framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
4.2
Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
vi
4.3
4.4
Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.3.1
Player Information . . . . . . . . . . . . . . . . . . . . . . . .
27
4.3.2
Password Reset . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.3.3
Player Feedback . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.3.4
30
4.3.5
Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.3.6
Guided Training
. . . . . . . . . . . . . . . . . . . . . . . . .
32
4.3.7
32
4.3.8
Other Enhancements . . . . . . . . . . . . . . . . . . . . . . .
34
Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
5.2
38
5.1.1
39
5.1.2
39
5.1.3
41
43
5.2.1
43
5.2.2
45
47
6.1
47
6.2
49
6.2.1
49
6.2.2
49
6.2.3
51
6.2.4
Detailed Statistics
52
. . . . . . . . . . . . . . . . . . . . . . . .
vii
6.2.5
6.3
Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
55
60
7.1
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
7.2
61
7.3
65
68
8.1
Zend framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
8.2
Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
8.3
Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
8.3.1
Guided Training
. . . . . . . . . . . . . . . . . . . . . . . . .
70
8.3.2
Game Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
8.3.3
Player Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
8.3.4
Player Information . . . . . . . . . . . . . . . . . . . . . . . .
72
8.3.5
Password Reset . . . . . . . . . . . . . . . . . . . . . . . . . .
73
8.3.6
Player Feedback . . . . . . . . . . . . . . . . . . . . . . . . . .
73
8.3.7
74
8.3.8
Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
8.3.9
76
Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
8.4
78
78
9.1.1
79
9.1.2
79
9.1.3
81
viii
9.2
83
9.2.1
83
9.2.2
85
86
86
88
89
90
. . . . . . . . . . . . . . . . . . . . . . . .
90
10.2.4 Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
92
92
94
94
96
11 Conclusion
99
11.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
102
ix
List of Figures
1.1
1.2
1.3
. .
1.4
1.5
2.1
15
2.2
15
3.1
17
3.2
Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.3
20
3.4
22
4.1
24
4.2
Player Information . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.3
28
4.4
29
4.5
30
4.6
31
4.7
33
4.8
Intuitive Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
4.9
34
5.1
40
5.2
42
5.3
44
5.4
Guided Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
6.1
48
6.2
Administrators Tools . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
6.3
51
6.4
51
6.5
53
6.6
Detailed Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
6.7
Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
6.8
57
6.9
58
59
7.1
Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . .
62
7.2
64
7.3
66
8.1
Guided Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
8.2
72
8.3
72
8.4
73
8.5
74
8.6
75
xi
9.1
80
9.2
82
9.3
84
9.4
Guided Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
87
88
89
90
91
10.6 Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
95
97
98
xii
List of Tables
1.1
xiii
Chapter 1
Introduction
1.1
Motivation
Considerable researchers are now focusing their study interests on the evaluation of
prairie productivity.
not advisable because each field image covers a small area of marshland.
This thesis consists of two web-based games, which get help from the general
public to stitch the images and to study the presence of different animals and plants.
The first web-based game is Scaling Up Marsh Science, which was developed to gather
matching points for image stitching to produce large mosaic. The second web-based
game is Marsh Explorer, which was drawn up to study the presence of different
animals and plants. Previous versions of these games needed stable database design
as well as player management, administrators tools, good user experience, multileveled game design, learning platform - where users can find more information,
players feedback system. This thesis primarily deals with improvement in usability
and functionality of two web-based games.
1.2
Thesis Objective
to players feedback.
Enhancements include new game features such as player feedback systems,
guided training for new players, players achievement awards, multiple levels
based on players progress and a learning platform for Citizen Scientists.
1.3
At Sapelo Island scientists are interested in the ecological behavior of marsh plant
and animal species. Scientists like to create a digital map to comprehend spatial
relationships among different species and how these change over time. Digital images
of marshland are captured to accomplish this.
It is hard to stroll through the marsh and take numerous photos. To avoid
this, images were captured with the assistance of a high-quality camera that was
attached to a bicycle with face down (see figure 1.2). While moving through the
marsh following the patterned path, the camera takes continuous images in burst
mode (see figure 1.3). The outcome of this method is a series of overlapping images
along with a few repetitive images due to varying bicycle speed. While capturing
images, it is tough to maintain constant speed through the marsh. However, a camera
captures images at a steady rate. Due to this, each image gets overlapped on next
image with different levels. Low bicycle speed leads to higher overlap and vice versa.
There are animals in the marsh such as crabs, which are continuously on a move
and hence they might not capture perfectly with moving camera. It is difficult for
automated image stitching tools to tolerate variable overlapping and moving animals.
Figure 1.3: Pattern followed while camera captures continuous marsh images
The main goal of this project is to study the fundamental mechanisms involved
in the population dynamic of a prairie. Volunteer computing is a game plan in which
individuals (volunteers) give computing assets to projects, which utilize the assets to
do appropriated computing. On account of the tremendous number of PCs, volunteer
computing can supply great computing power to science, which empowers scientific
research that wasnt possible generally. Also we are using volunteers minds and not
so much their computers.
1.3.1
Previous work consists of two prototype web games. The first game was Image
Matching Web Interface (IMWI), renamed as Scaling Up Marsh Science, and the
second was Marsh Explorer. Both these game were developed based on basic proof
of concepts. These previous games were the starting point for this thesis. IMWI was
hosted locally and never released to a public domain. The major issues with these
games were that they unable to handle multi-year image sets, error-handling, missing
image uploader, learning platform for Citizen Scientists, uniform user experience,
player feedback system, data management.
The previous database lacked identifying images into physical rows and respective
years. At Sapelo Island, each year images are captured in a row-wise manner. Part
of database redesign revolved around incorporating row identifiers and years into the
database to improve stability while handling a vast amount of data. Redesigning
was done to add new features like administrators tools, where an administrator can
log in. Moreover, an administrator can download the data generated from the games
and review current progress with the help of histograms and detailed statistical data.
Administrators can motivate players by sending monthly newsletters with a current
status of research work along with some interesting facts about ecology. In addition
to the to administrators accessibility to player produced data, detailed statistics, and
managing images into the database, enhancements of previous games were equally
important.
The Scaling Up Marsh science game is hosted at www.ScalinUpMarshScience.cs.uh.edu:85.
The Marsh Explorer is hosted at www.MarshExplorer.cs.uh.edu:86.
1.3.2
Similar Work
1.3.2.1
FloatingForests.org
Interestingly similar work has been done by Kelp Ecosystem Ecology Network (KEEN)
(www.floatingforests.org) as part of Zooniverse project (see figure 1.4). This
project asks users to help them uncover the history of Giant Kelp forest around the
globe. Giant Kelp can grow up to a foot a day and forms lush canopies that can
be seen by satellites. Giant Kelp will show up in pictures as clusters of green pixels
fringing the coastline. Volunteers need to simply outline these forest canopies.
This project includes interesting links about ecology project research work, facts,
and other related information. It is crucial to provide a platform for volunteers,
where they can explore more about ecology and related information, which helps
Figure 1.4: Floating Forests web game screenshot showing play web page
volunteers motivated and educated. KEEN also use social features into the website,
where volunteers can share information related to the project. This project is related
to the first game, Scaling Up Marsh Science, where volunteers are asked to identify
matching points between two images. Inspired by KEENs work, Scaling Up Marsh
Science was redesigned to support volunteer learning platform, volunteer feedback
system, monthly newsletters to keep them motivated. KEENs project lacks in basic
game features like players ranking, training, game score and awards. On the other
hand, Scaling Up Marsh Science provides these important game features along with
useful administrators tools. For example, training ensures players credibility and
quality of data.
Figure 1.5: Seafloor Explorer web game screenshot showing play web page
1.3.2.2
SeaFloorExplorer.org
Seafloor Explorer (part of Zooniverse project) (www.seafloorexplorer.org) is another project that is similar to the Marsh Explorer game (see figure 1.5). A camera
is flown using a ship traveling at a constant speed while collecting high-resolution
still images of the seafloor. At SeaFloorExplorer.org, volunteers can annotate sand,
shell and gravel like objects present on the seafloor images[2].
Similar to the Floating Forests project, Seafloor Explorer also supports a learning
platform, social features, related blogs, facts, and information. However, unlike
Floating Forests, Seafloor Explorer provides training images for first-time users. Field
guide page lists all possible objects. Marsh Explorer game supports similar web page,
which lists all possible plants and animals along with thumbnails. In Marsh Explorer,
if players failed to finish training successfully, they are not allowed to play further.
In case of Seafloor Explorer, even after unsuccessful training attempt, players can
continue playing. Marsh Explorer also supports important game features like players
rank, level, score, unlike Seafloor Explorer. Table 1.1 shows comparisons in between
Floating Forests, Seafloor Explorer and SUEM.
Mandatory training
Player account
Player information
Social features
Guided training
Video tutorial
Administrators tools
Discussion Forum
Game levels
Player ranking
Game scoring
Discussion forum
Learning platform
Blogs
Player feedback
Projects
Floating Forests Seafloor Explorer
No
Yes
Optional
Optional
Optional
Optional
Yes
Yes
No
Yes
No
No
N/A
N/A
Yes
Yes
No
No
No
No
No
No
Yes
Yes
Yes
Yes
Yes
Yes
No
No
SUEM
Yes
Yes
Yes
No
Yes
Yes
Yes
No
Yes
Yes
Yes
No
Yes
No
Yes
Table 1.1: Comparisons in between Floating Forests, Seafoor Explorer and SUEM
1.4
This thesis is divided into two parts for each game, Scaling Up Marsh Science, and
Marsh Explorer. This thesis is organized as follows:
Sufficient background and motivation for the Scaling Up and Exploring Marsh
10
(SUEM) in Chapter 1
Chapter 2 explains configuration settings include establishing an environment
suited to develop and deploy the games as well as establishing the databases.
Chapters 3-6 explain the Scaling Up Marsh Science game and Chapter 7-10
explains Marsh Explorer game.
Chapters 3 and 7 illustrate the design strategies along with the reason behind
a particular design decision. It contains MVC(Model View Controller) design
pattern stereotypes as well as detailed UML(Unified Modeling Language) class
diagrams.
Chapters 4 and 8 describe the implementation of the games by explaining each
modules main code features and application testing.
Chapters 5 and 9 describe the features and instructions for playing the games.
Chapters 6 and 10 present administrator features added to games, which explains the need and design of administrator tools and their use to perform
various operations.
Finally, Chapter 11 is the conclusion of the project and future work that requires to be done.
11
Chapter 2
Scaling Up and Exploring Marsh
Game Configuration
2.1
Framework
Scaling Up and Exploring Marsh Game (SUEM) is expected to be used by individuals who may have almost little to no learning about ecology. Thus, the User
Interface had to be as intuitive and straightforward as could reasonably be expected.
Also, users can run these applications within distinctive working framework and
equipment arrangements. Web platform helps delivering software as a continuallyupdated service that gets better the more people use it [3]. In this way, a web-based
application is a better choice than a desktop application as clients need just a web
browser to get to an online application.
12
We decided to use MySQL as the database technology for the capacity of the
information delivered by this web application. MySQL is an extremely acclaimed
technology. MySQL got its start as an open-source platform, which means there is
a large and thriving community of developers to which one can turn for help. Also,
it remains one of the most used databases in the world. It is compatible with all the
main operating systems. MySQL can handle almost any amount of data. It supports
several development interfaces include JDBC, ODBC, PHP [4, 5].
PHP: Hypertext Preprocessor appeared to be a superior decision as server side
scripting, for the most part due to its simplicity and excellent documentation. The
default 1-1 correspondence in the middle of URLs and records makes it simple for
designers, software engineers to alter and make pages. PHP is designed to work well
with the web, and so things, like accessing the GET and POST and working with
HTML and URLs, are built-ins in the PHP language [6]. PHP makes it concise
and straightforward to make a website. Be that as it may, utilizing plain old PHP
is not adequate for applications that develop rapidly in size. A strong architecture
is obliged to give any adaptability in the work process of such applications. Thus,
we chose to utilize Zend Framework. Zend supports MVC (Model-View-Controller)
architecture that isolates rationale behind the application work process and outline
subsequently helping designers to make successful applications [7]. It is exceptionally
extendable and customizable.
We used IIS server stack as back-end technology for the advancement of this web
application. IIS is bundled with MySQL database framework and PHP, and it keeps
running on Windows working framework. The upsides of utilizing IIS incorporate
13
2.2
Software Configuration
The Operating System used for the development for the applications is Windows
Server 2012. The game is developed utilizing PHP with Zend framework. Zend
Framework (ZF) is an open source, object-oriented web application framework executed in PHP 5 [7]. The front end is created utilizing HTML 5 (which is a markup
language for organizing and displaying substance for the World Wide Web and a
core innovation of the Internet), Javascript, and AJAX technologies. Ajax is a gathering of interrelated web development techniques utilized to develop asynchronous
web applications. With Ajax, web applications can send information to, and retrieve
information from, a server asynchronously without interfering with the current page.
Data can be recovered utilizing the XMLHttpRequest object. HTML and CSS can
be used as a part of a blend to mark up and style data. The DOM is accessed to
with JavaScript to show dynamically, and to permit the client to cooperate with the
information presented. JavaScript and the XMLHttpRequest item give a system to
exchanging information asynchronously in the middle of browser and server to avoid
full page reloads.
14
15
Chapter 3
Scaling Up Marsh Science:
Analysis and Design
This section is divided into four sections. The primary segment clarifies the basics
of MVC design pattern, which precedes redesigned Scaling Up Marsh Science Game
Architecture based on MVC design pattern. Third section describes database schema
redesign, and the fourth section clarifies the user experience of the Scaling Up Marsh
Science game.
3.1
interface. This design pattern does it by separating application into three parts:
the model, the view, and the controller [8] (see figure 3.1). Due to low coupling
in between these three distinct parts, making changes in an application is easier
compared to applications that do not use MVC [9].
The model handles the fundamental behavior and data of the application. It can
respond to requests for data and respond to change the data. In short, it is the data
and data management of the application. View renders data from the model into a
form suitable for the user. Controller receives a request and calls model object to
perform the operation.
3.2
Architecture
Scaling Up Marsh Science is based on MVC design pattern. Figure 3.2 shows
redesigned architecture of Scaling Up Marsh Game. View includes all the web
pages controlled by three controllers. Each controller has their set of views. Error Controller was redesigned to control Error Page, which handles illegal website
17
re-directions and browser errors. Index controller controls Sign in, Register, Feedback actions and Contact us, Learn more, Useful tips pages. Index Controller is also
responsible for newly added Administrators Tools page for Expert users. Play Controller controls the game flow. Controllers interact with models. Scaling Up Marsh
Science has ten models. Each model interacts with a corresponding Database table.
models are represented by Zend Db Table class. Views are .phtml files under view
folder. And controllers are extensions of the Zend Controller Action class [10].
3.3
The previous database was designed based on limited requirements for basic game
functionality. This old version mainly designed for player information and image
formations. Each player needs to register to process the pair of images. USERS table
consists of Name, Email, Status, Username, Password and newly added attributes:
last played timestamp, the number of played image pairs. USERS table allows us to
show detailed statistics about players, periodic activity, player rank. IMAGES table
was designed to store physical path and year of field images. Later we redesigned
this table to store image data in a row-wise manner. UNPROCESSED PAIRS table holds
data related to image pairs such as the number of times image pairs has played, the
number of times image has marked as not matching. After a player plays image pairs,
results get stored in PLAYER PROCESSED PAIRS table, which holds pair id, player id,
and matching points. This table has restructured to accommodate Time-stamp.
Post-processing will utilize this data. Once three players have played the image pair,
it will be transferred to PLAYED table form UNPROCESSED PAIRS table.
Scaling Up Marsh Science stores the data provided by the players. TRAINING table
handles data of untrained players such as the number of training attempts, successfully played training image pairs. Another table ANNOTATED PAIRS holds training
image pairs and matching points: to verify matching points of untrained players.
19
20
After each game, a random educational messages is shown to players. FACTS table
holds all educational messages. The configuration table stores all the system parameters. To archive all the feedback from the players, redesigned database is also
equipped with the FEEDBACK table. Figure 3.3 shows a database schema of Scaling
Up Marsh Science.
3.4
User Interface design is an important aspect of any web application. Figure 3.4
shows User Experience Redesign of Scaling Up Marsh Science. Designing mainly
included developing web pages for each use cases and one layout for consistent user
experience. There are 12 web pages vaguely divided into three use cases. Sign in,
Register web pages belongs to the same use case. After sign in players are redirected
to Homepage: a container for other new web pages like Learn more, Contact us,
Feedback, Useful Tips, Play. Players with admin rights can access Administrators
Tools page from Home Page. Last use case consists of Play and Instructions pages.
We followed minimalist approach to keep the user interface simple. The home
page provides an overview of the project and vision behind the origin of this game.
Learn more page contains web links for basic ecology related articles. Administrators Tool contains detailed statistical data, histograms, the list of image pairs, not
matching. Administrator can use these tools to download data generated by players.
21
22
Chapter 4
Scaling Up Marsh Science:
Implementation and Testing
4.1
Zend framework
24
Zend Framework is the whole plugin architecture (see figure 4.1). The basic
workflow of a Zend Framework MVC request is as follows:
Application Bootstrapping
Routing
Dispatch
Zend Framework is intended for bootstrapping the application. The idea is to get
all dependencies to route and/or dispatch, everything the application may need is in
place [10].
The basic directory structure of the project consists of three main folders, namely,
controllers, models, and views. Views folder contains subfolders for each controller
defined. Each subfolder contains the view files. For example, the home page from
IndexController is defined in the index folder under views as index.phtml. Each
of the view files has corresponding action method in its respective controller class.
Other than the three main components of the Zend project, there is a bootstrap
file Bootstrap.php that determines which resources and components to initialize.
The applicaiton.ini under configs folder defines application configuration settings.
This configuration file consists of specific project paths to bootstrap file, controllers
directory, Zend library. It also includes database details such as host, root and password and session timeout value. Layouts folder contains layout.phtml file, allowing
developers to wrap application content within another view, usually representing the
site template. Layouts are achieved using Zend Layout class. The only content that
25
is modified by each action method is kept inside the respective view page of that
action [10].
4.2
Project Structure
Scaling Up Marsh Science is written using PHP, CSS, and JavaScript. The configurations of Scaling Up Marsh Science are placed in application.ini file under configs folder. The configurations include database information such as host,
port, username and password, session timeout values and various application specific
paths. Layout.phtml defines the header, footer, navigation bar, the relative path to
stylesheet and JavaScript files. All the CSS files, JavaScript file and images used in
Scaling Up Marsh Science are placed in the public folder of the project.
As discussed in Chapter 3, Scaling Up Marsh Science is based on MVC design pattern. Controllers folder contains three classes namely, ErrorController,
IndexController and PlayController. The controller classes are extended from
Zend Controller Action. The controller is responsible for handling basic action
methods that correspond to various tasks. Zend framework provides an easy interface to manage database. Each table in the database corresponds to a class in
Zend Framework. All model classes are inherited from Zend Db Abstract class that
implements the database operations. View folder contains .pthm files.
26
4.3
Implementation
This section describes the implementation of new features for Scaling Up Marsh
Science Game.
4.3.1
Player Information
It is useful to display player details during the play session. Details include player
name, player status, the number of image pairs played, rank, the number of unprocessed image pairs and rewards (see figure 4.2). Player name, status are defined in
UsersMapper model. The getRank() function was implemented in PlayController,
which shows player rank. Based on number image pairs played, players can earn
bronze, silver and gold snails. For each 50 image pairs, player is entitled to one
bronze snail(up to 5 bronze snails). For each 250 image pairs, player is entitled to
one silver bronze (up to 5 silver bronze). And for each 1250 image pairs, player can
earn one gold snail. This section also displays the number of successful image pairs
played during the training session.
27
4.3.2
Password Reset
4.3.3
Player Feedback
Player feedback can be a valuable resource for game development. Feedback from
the preliminary users can be effective in conducting future development efforts.
There are two types of feedback in Scaling Up Marsh Science - Software related
feedback and Educational feedback. Software feedback mainly deal with Software
28
bugs. Educational feedback includes requests for research findings, useful materials. Sometimes users report bad image pairs, which are unable to process. The
controller indexController invokes the sendfeedbackAction() action. In return,
action updates the FEEDBACK table in the MySql database and sends an email using
Zend Mail Transport Smtp object to the respective administrators and user with
the feedback text, user name and type of feedback. Figure 4.4 explains feedback
system with a sample feedback email.
29
4.3.4
Enhancements include the development of learning platform for players. The majority of players have limited or no knowledge about Ecology. So providing a learning
platform can help this project in two ways. One, players with no knowledge of ecology will find this game a bit difficult because matching points are mostly animals and
plants. New pages - Learn More and Useful Tips provide insights regarding plants
and animals present at Marshland. Second, these web pages provide resources for
further reading to keep players motivated and play more. Figure 4.5 and 4.6 shows
screen-shots of Useful Tips and Learn more web pages.
30
4.3.5
Layout
MVC is a software architecture that allows for the separation of models and controllers from the user interface. In this architecture, the user sees and interacts with
the web pages, which are generated by HTML code (along with JavaScript, CSS,
images). All the web pages share common header, footer and page styling. So it
was advisable to use same styling and content in multiple views, which is Layout.
Scaling Up Marsh Science Layout features simple, minimal, easy to use web pages.
The layout follows the color scheme standardized by the University of Houston [13].
31
4.3.6
Guided Training
4.3.7
Loop Training - After each unsuccessful training session, database entries for
active training session reset to null values. The player can restart the training, unlike previous version - where the player has to register with another
username. Moreover, training is more intuitive see Fig. 4.8.
Continuous Image pair formation Issue - This game shows the pair of images
32
33
Image Zoom issue - There was a bug with previous JavaScript code zoom.js.
Drag and Drop icons used to shift their locations after zoom in or zoom out.
The reason behind this bug was the incorrect calculation of image aspect ratio.
4.3.8
Other Enhancements
4.4
Testing
comprised of testing for all the links in web pages, database connection, session variables, zoom/unzoom as well as drag and drop. Corner conditions such as dropping
the icons outside the image frames were handled and tested. Testing was done to
check validations on each field and handling wrong input to the fields. Data consistency is significant in the Scaling Up Marsh Science game. Thus, testing, to check for
data integrity and errors, was given top attention. During testing of each iteration,
it was made sure to test if all the database queries are executing correctly, data is
retrieved correctly and also updated correctly.
User feedback is very important in Agile Software Development mode. Feedback
help to identify the bug in the software as well as a possibility to enhance the software.
Following is the list of feedback, which were responsible the changes in Scaling Up
Marsh Science game.
35
36
37
Chapter 5
Scaling Up Marsh Science Game
Description and Playing
Instructions
This section describes Scaling Up Marsh Science Game features and guidelines.
First section deals with the User Interface and game features. The second section
lists guidelines to play Scaling Up Marsh Science.
5.1
There are three distinct user flows, Login/Registration, Home page and Auxillary
pages, Game-play in the Scaling Up Marsh Science game.
38
5.1.1
The user interface is kept as simple as possible. There are three use cases for this
section. The first-time user can register by clicking on New User link. Registration
requires the first name, last name, username, email address, and password. After
registration, the user can login to the system using the username and password. If
the user forgets their password, they can click on Forgot Password link to reset it.
The Forgot Password process requires an email address and username for resetting
the password. If the username and email address do not match with a database
entry, password will not be changed. Sign in page also shows a brief overview and
the objectives of the project (see figure 5.1).
5.1.2
The homepage provides an overview of the project and reasons for the origin
of this game. Players can start playing Scaling Up Marsh Science by clicking
on Lets Start button.
Contact Us page displays contact information of the people involved in creating Scaling Up Marsh Science. Contact information includes office address,
email addresses and respective weblinks.
About Us page describes the background and objectives of long-term ecology
project along with people involved from the different area.
39
40
Learn More and Useful Tips provide insights regarding plants and animals
present at Marshland. The majority of players have little or no knowledge
about Ecology. So providing a learning platform can help this project. Also,
these web pages provide resources for further reading to keep players motivated
and play more.
Feedback page supports two types of feedback - Software related feedback
and Educational feedback. Player feedback proved to be a valuable resource
for game development. Software feedback mainly deal with Software bugs.
Educational feedback includes requests for research findings, useful materials.
Sometimes users report bad image pairs.
5.1.3
This section covers Scaling Up Marsh Science game flow (see figure 5.3). Homepage
Lets Start button redirects players to Instructions Page. Instructions page contains information about how the player should play the game. It explains which
objects to look for in the images. The instructions page also contains scoring information for untrained users. A demo video, which explains- how to find matching
points using drag-drop icons and use of image zoom feature. This video is embedded
at Instructions Page. Play button at Instructions Page redirects players to Play
page. Play page displays pair of images, drag-drop icons, player statistics, images
year and name along with three options- Not Matching, Save Results, Next Pair.
We give players an option to mark the pair in which the images do not match. Not
41
42
Matching option is not available during the training session. If the pair of images
do not overlap, players can mark it as Not Matching. Save Results saves matching
points coordinates into the database. Next Pair picks a random image pair from
the database. Play page allows users to score the images. It also saves the results in
the database. Players can utilize zoom feature to find more precise matching points,
which helps Scaling Up Marsh Science project gathering high-quality data.
5.2
The player has to login to the game using credentials. If a player is not registered,
he/she can create a new account and then login. Once a player enters their login
credentials, the system authenticates the player. If their credentials do not match
with the details in the database, then an error message is displayed to him Incorrect
username or password. If the credentials match to the ones in the database, then
the system checks whether the player is an untrained, trained player.
5.2.1
Untrained players are supposed to finish a training session successfully before they
start playing with unprocessed image pairs. Ahead the training session, it is advisable
to read all the instructions and watch a demo video at Instruction Page. Training
session always starts with Guided Expert Annotated Image Pair, see figure 5.4.
The untrained player has to locate red arrows, shown on the left image, inside the
43
respective ellipses on the right image. Guided training image pairs are designed to
educate untrained players. Next training image pairs do not support annotations on
the right image. Untrained players need to finish three out of five image pairs with
more than 75 scores each to complete the training session successfully. After each
pair of images, the score is shown to the player as well as the number of remaining
image pairs needed to done before the end of training. If players fail to finish, they
can restart the training.
5.2.2
The aim of this game is to find the matching points in between the image pair to
align the images into a giant mosaic. To achieve the result, trained players need to
play unprocessed image pairs. Unprocessed image pairs are non-annotated, unlike
45
training image pairs. Players are free to identify any objects, listed at Instruction
Page. A minimum of three or a maximum of four matching points are required to
process one image pair. We advise the players, while placing drag & drop icons, to
keep those apart from each other as much as possible to improve accuracy. Trained
players can mark image pair as Not Overlapping. The database keeps track of nonoverlapping image pairs so that eventually an expert can check or annotate those
pairs. All other game features from the training session like game statistics, image
zoom, image name and year are available to the trained player.
46
Chapter 6
Scaling Up Marsh Science: Admin
Tools and Image Upload
We implemented several features for Scaling Up Marsh Science to improve game
management and administrators functionality. These tools help the administrator
to manipulate game data. This chapter summarizes the Administrators Tools in
terms of need, design and Implementation.
6.1
Each year Scaling Up and Explorer Marsh (SUEM) project captures approximately
12,000 images of marshland. Trained players annotate each image pairs for three
times, which generates the tremendous amount of data. It was desirable to have
a set of tools to manipulate and visualize the data. Administrators Tools were
47
designed for data downloading, game management and birds eye visualization of
Scaling Up Marsh Science (see figure 6.1). It also includes raw image preprocessing
to upload images into the database. Data download involves image matching points
and user data. Histograms and statistical information display the overall status of
the Scaling Up Marsh Science. Image preprocessing includes row formation and
upload script, which ignores redundant images and upload row-wise images into the
database. Expert Re-Annotation tool helps administrator to play difficult image
pairs, in which, finding matching points is tough for the players.
48
6.2
6.2.1
6.2.2
50
6.2.3
Series of images taken at Marsh site consists of overlapping images. Sometimes two
consecutive images are not overlapping due to various reasons. We provide players
51
with an Not Overlapping option on the play page. If the player is unable to find
matching points, then the player can click on Not Overlapping button. Sometimes
players falsely report image being not overlapping. If an image pair is flagged as
Not Overlapping for the three times, the system removes the unprocessed image
pair from the pool and keep it in the NOT MATCHING PAIRS data table, where an
administrator can play those image pairs for expert verification. Expert Image
Annotation tool helps administrator to have a look at those image pairs, which are
not overlapping. Administrator can select any pair from that image pair pool and
play it to identify matching points. Image pairs played by an administrator have
high priority over other players. Figure 6.5 shows Expert Re-Annotation tool and
web page.
6.2.4
Detailed Statistics
This tool was designed to have a birds eye view of Scaling Up Marsh Science project
(see figure 6.6). Statistics contains a total number of image pairs, image pairs played
for 3, 2 and one times, image pairs not matching for 3 times, total number of players
registered, total number of trained players, number of times players played game,
average number of image pairs played by trained players. Detailed statistics helps
administrator to upload new image pairs into the database.
52
53
54
6.2.5
Graphs
6.3
Uploading the vast amount of images into the database needs a systematic approach.
We pre-process images based on the identifier image (refer figure 6.8). Pre-processing
divides images into row-wise row folder. We followed machine readable folder naming
convention so that image uploader script can parse folder name (Refer figure 6.9).
Row Number is incremental value for rows within a year. Row Identifier is taken
from identifier image from that row. Camera captures series of images in continuous
mode, this leads to dirty images towards both ends of the row. First Actual Image
and Last Actual Image ignore dirty images, which are redundant and out of focus.
Image Upload script can identify First Actual Image and Last Actual Image by
55
56
parsing folder name. Uploader only considers images in between and including First
Actual Image and Last Actual Image.
57
58
59
Chapter 7
Marsh Explorer: Analysis and
Design
This section contains three subsections. We discussed the MVC design pattern in
Chapter 3. Based on MVC design pattern, the first subsection explains The Marsh
Explorer Game Architecture. The second area is related to database schema redesign,
and the third area illustrates the user experience of the Marsh Explorer Game.
7.1
Architecture
Like Scaling Up Marsh Science, Marsh Explorer was also implemented using MVC
design pattern. Figure 7.1 shows redesigned architecture of Marsh Explorer Game.
MVC has three main components - View, Controllers, Model. View covers all HTML
web pages, JavaScripts. Controllers control the behavior of views and interact with
60
Models. Each controller has their set of view. All models are associated with the
corresponding Database table. There are five controllers for Marsh Explorer. Error
Controller handles controlling Error Page, which handles illegal website re-directions
and browser errors. Index controller controls Home Page, Feedback actions and
Contact us, Tutorials, Useful tips, Animals, Plants pages. Index Controller is also
responsible for newly added Administrators Tools page for Expert users. Login
controller handles session login, logout, register new users. Game Controller controls
the game flow. The game controller allows players to play unprocessed images and
stores results into XML files. Training Controller handles training sessions for the
newly registered player. All Controllers interact with models as well as views.
Figure 7.1 shows that controllers can not access databases without models. Controllers utilize model class objects to interact with databases. This application is
implemented adopting Zend Framework, which encourages MVC design pattern. In
Zend Framework, models are rendered by Zend Db Table class. Views are .phtml
files in view folder. And controllers are inherited from the Zend Controller Action
class [10].
7.2
Database redesign was a crucial step for both games - Scaling Up Marsh Science
and Marsh Explorer. The earlier database was designed based on small elements for
basic game functionality. That early version was fundamentally designed for player
and image formations. Players needed to register to process the images. Players
61
62
Table consists of Name, Email, Expert Status, Password, Trained flag and newly
added attributes: number of images played, last played timestamp. Images Table
was designed to store physical path and year of field images. Later we redesigned
this table to store image data in a row-wise manner. Unprocessed Images Table
contains the reference to unprocessed images and play count. After a player plays
image pairs, result get stored in Player Processed Images Table, which includes
Image Id, Player Id and XML Id. This table has restructured to capture play timestamp. Post-processing will use this data for statistical purpose. Each image is
played for three times, once three players have played the image, it will be migrated
to Played Images Table from Unprocessed Images Table.
Marsh Science uses the data generated by the players activity. To verify the
reliability of the player, each newly registered player undergoes Training sessions.
Expert Annotated Images Table holds Image Id and XML Id, which contains plants
and animals location registered by an Expert player. Players Table keeps track of
training attempts made by untrained players. After each game, random educational
messages are displayed to players. Messages Table holds all educational messages.
To archive all the feedback from players redesigned database is also equipped with
the Feedback table. XML file contains Animals and Plants locations. XML Table
handles XML files corresponding to every processed images. The table contains
XML Id, XML file name, XML file location and count of each plant and animal.
XML Table is linked to Spartina, Limonium, Batis, , Juncus, Salicornia, Juncus,
Borrichia plants Tables. XML Table also linked to Crab, Snail, Burrow, Mussel
animal Tables. As Figure 7.2 shows, all Animal and Plant Tables are referring to
63
64
7.3
The designing of the website predominantly consists of the User Interface, server
side implementation and Database design. The User Interface design is a crucial
aspect of any web application. Figure 7.3 shows User Experience Redesign of Marsh
Explorer. User Interface design starts with Layout design. For Marsh Explorer, we
designed two separate layouts, one for Game flow, and another is for Homepage flow.
The layout handles look and feel of the website, which includes details such as color
scheme, element organization, header & footer designs, font family, font size. The
layout is useful for consistent user experience and ease of use. For layout design,
we followed the guidelines prescribed by The University of Houston [13]. These
guidelines are related to the color scheme and the font of the website.
There are 17 web pages divided into four use cases. Sign in, Register web pages
come under the same use case. After sign in players are redirected to Homepage: a
container for other web pages like Contact us, Feedback, Animals, Plants, Tutorials,
Administrators tools. The homepage provides an overview of the project and contains reasons behind the origin of this game. Administrators Tool contains detailed
statistical data, histograms. Admin can also use these tools to download data generated by players. Animals and Plants pages contain a list of animals and plants,
which are found at Marshland. The third use case is for training, which includes
Training page and Instruction page. Instructions page provides information about
65
66
how the player should attempt the training successfully. It explains which objects to
look for in the images. The instructions page also contains scoring information for
untrained users. Last use case consists of Game page. The game page allows users
to score the images. It also stores the results to the database.
67
Chapter 8
Marsh Explorer: Implementation
and Testing
8.1
Zend framework
Marsh Explorer is implemented using Zend Framework version 1.11 as the Scaling
Up Marsh Science. I already discussed Zend Framework and its underlying architecture in chapter 4.
68
8.2
Project Structure
8.3
Implementation
This section describes the implementation of new features for the Marsh Explorer
Game.
69
8.3.1
Guided Training
Guided Training feature is introduced for a better user experience. A first time
user will start a training session with a guided training image. That image will show
only those options for plants and animals that are present on that training image,
along with plant and animal locations. It is much more easy to identify plants and
animals for the first time user. This feature proved very useful based on feedback
from Scaling Up Marsh Science. Figure 8.1 shows guided training screen-shot.
70
8.3.2
Game Levels
Playing the Marsh Explorer game is more complex than the Scaling Up Marsh Science
game. The player is required to identify all possible plants and animals present on the
image. Sometimes this count goes well beyond one hundred. For a newly registered
player, it is quite difficult to identify all hidden and hard-to-recognize animals and
plants. So we decided to classify unprocessed images into three categories based
on the vegetation. Level One images are like a barren land with least vegetation,
which helps new players to recognize animals and plants easily. Level Two comprises
medium vegetation with few hidden animals. Lastly, Level Three images contains
dense vegetation and requires a lot of efforts and experience to uncover hidden plants
and animals. Image uploader classifies unprocessed images into three levels based
on the vegetation. Each level requires to pass a training. First training is more
general in a sense for introduction to Marsh Explorer. Second and third trainings
are respectively designed for Level Two and Level Three images. After each successful
training, player qualified for the next level.
8.3.3
Player Logs
To record historical data of each player (registration and training timestamps for
different levels), player Logs functionality is added to Marsh Explorer. Image shows
a sample log file. Figure 8.2 shows a sample player log file screen-shot.
71
8.3.4
Player Information
It is useful to display player details during the play session. Details include player
name, player status, the number of images played, rank, and player level. Player
name, status are defined in PlayersMapper model. The getRank() function is implemented in IndexController, which shows player rank. Based on number images
played, players are qualified to next level. Figure 8.3 and 8.4 shows newly added
player information screen-shots at home page and play page respectively.
72
8.3.5
Password Reset
8.3.6
Player Feedback
Player feedback proved a valuable resource for game development. Feedback from
early users helped us introducing new features. There are two types of feedback
in Marsh Explorer - Software related feedback and Educational feedback. Software
feedback mainly deal with Software bugs. Educational feedback includes requests for
research findings, useful materials. Sometimes users report bad images such as out
of focus image, which players are unable to play. Feedback system sends real-time
emails to Web Admin and Project Owners. Also it updates the FEEDBACK table in
the MySql database for future reference.
73
8.3.7
New pages - Animals and Plants provide insights regarding plants and animals
present at Marshland. Training Instructions page provide all the instructions related to training and further playing along with a video. Tutorial page lists games
instructions, aim, and scoring system. Figure 8.5 and 8.6 shows newly added Tutorial
page and Training page.
74
75
8.3.8
Layout
All the web pages share a common header, footer and page styling. So it was needed
to use same styling and content in multiple views, which is Layout. Marsh Explorer
Layout features simple, minimal, easy to use web pages. The layout follows the color
scheme standardized by the University of Houston [13].
8.3.9
8.4
Testing
Testing is a important part of the software development cycle. Testing involved the
user interface testing, features testing and database testing. Since Marsh Explorer
76
game followed Agile Development, testing was done along with the development
phase. Testing comprised of testing for all the links in web pages, database connection, features. Corner conditions such as dropping the icons outside the image
frames were handled and tested. Testing was done to check validations on each field
and handling wrong input to the fields. Data consistency is of utmost significance in
the Marsh Explorer game. Thus, testing, to check for data integrity and errors while
players annotate images, was given top attention.
During testing of each iteration, it was made sure to test if all the database queries
are executing correctly, data is retrieved correctly and also updated correctly. User
feedback were very important for testing. Feedback helped to identify the bugs in
the software as well as a possibility to enhance the software.
77
Chapter 9
Marsh Explorer Game Description
and Playing Instructions
This section describes Marsh Explorer Game features and guidelines. The first
section deals with the User Interface and game features. The second section lists
guidelines to play Marsh Explorer.
9.1
There are three distinct user flows, Login/Registration, Home page and Auxillary
pages, Game-play in the Marsh Explorer game.
78
9.1.1
The user interface is kept as simple as possible. There are three use cases for this
section. The first-time user can register by clicking on Register link. Registration
requires the first name, last name, username, email address, and password. After
registration, the user can login to the system using the username and password. If
the user forgot the password, then click on Forgot Password link to reset it. Forgot
Password requires an email address and username for resetting the password. If
username and email address do not match with database entry, no password will
change. Sign in page also shows a brief overview and objectives of the project (see
figure 9.1).
9.1.2
The homepage provides an overview of the project and reasons for the origin
of this game. Players can start playing Marsh Explorer by clicking on Play
option.
Contact Us page displays contact information of the people involved in creating Marsh Explorer. Contact information includes office address, email addresses and respective weblinks.
About Us page describes the background and objectives of long-term ecology
project along with people involved from the different area.
79
80
Animal/Plants provide insights regarding plants and animals present at Marshland. The majority of players have limited or no knowledge about Ecology. So
providing a learning platform can help this project.
Tutorial page describes gaming instructions and scoring scheme.
Feedback page supports two types of feedback - Software related feedback
and Educational feedback. Player feedback proved to be a valuable resource
for game development. Software feedback mainly deal with Software bugs.
Educational feedback includes requests for research findings, useful materials.
Sometimes users report bad images, which are unable to process.
9.1.3
This section covers Marsh Explorer game flow (see figure 9.3). Homepage Tutorial
option redirects players to Tutorial Page. Tutorial page contains information about
how the player should play the game. It explains which objects to look for in the
images. The Tutorial page also contains scoring information for untrained users. A
demo video, which explains- how to identify plants and animals using drag-drop icons
and use of image zoom feature. This video is embedded at Instructions Page before
training session. Play option at Home Page redirects players to Play page. Play
page displays an image, animals and plants list with drag-drop icons, player statistics,
images year and name along with two options- Undo, Finish, Next Pair. Finish
saves location coordinates into the database. Next option, on the dialog box, picks
a random image from the database. Play page allows users to score the images. It
81
82
also saves the results in the database. Players can utilize zoom feature to uncover
hidden objects, which helps Marsh Explorer project gathering high-quality data.
9.2
The player has to login to the game using credentials. If a player is not registered,
he/she can create a new account and then login. Once a player enters their login
credentials, the system authenticates the player. If their credentials do not match
with the details in the database, then an error message is displayed to him Incorrect
username or password. If the credentials match to the ones in the database, then
the system checks whether the player is an untrained, trained player.
9.2.1
Untrained player supposed to finish training session successfully before they start
playing with unprocessed images. Ahead the training session, it is advisable to read
all the instructions and watch a demo video at Instruction Page. Training session
always starts with Guided Training Image, see figure 9.4. The untrained player
has to locate all animals and plants, shown on the image with the help of arrows
and highlighted area. Guided training images are designed to educate untrained
players. Next training images do not support annotations. Untrained players need
to successfully play three out of five images with more than 50 percent scores for each
object, to complete the training session. If players fail to finish, they can restart the
83
84
training.
9.2.2
The aim of this game is to identify plants and animals on the image. To achieve
the result, trained players need to play unprocessed images. Unprocessed images are
non-annotated, unlike training images. Players are free to identify any objects, listed
at Tutorial Page. Trained players supposed to search the image carefully to make
sure they see all the plant species and all the animals. Players can zoom into each
subsection of the image so that they can find all the snails and burrows. This will
also help us find the rarer plant species.
85
Chapter 10
Marsh Explorer: Admin Tools and
Image Upload
As with Scaling Up Marsh Science, I implemented many administrators features
in Marsh Explorer. These tools assist the administrator in manipulating game data.
This chapter reviews the Administrators Tools in terms of need, design, and Implementation.
10.1
86
downloading, game management, and birds eye visualization of Marsh Science. Additionally It includes field image preprocessing to upload images into the database.
Basic functionality of Data download, Histograms, and statistical information are
similar to Scaling Up Marsh Science Game. Image preprocessing includes grid superimposition, classification and database update.
87
10.2
88
10.2.1
Earlier we developed a tool that used to download all generated data at once. However, there were two difficulties with that solution- one is; it took a longer time to
download a substantial amount of data. Second, it was frustrating to have the entire
set of data each time. To avoid this, we added year and row selection options for the
administrator. This simple strategy can resolve both the difficulties we discussed.
Download creates a zipped folder at a run time, which contains generated data in
the form of XML files. We used PHP Zip library for zipped file creation. Figure 10.3
shows steps involved in downloading data.
89
10.2.2
Marsh Explorer, like Scaling Up Marsh Science, is based on data produced by players.
It is an essential responsibility to have players motivated. This tool lets administrator
download players information such as email address, a number of images played,
status. This way the administrator can keep the record of players progress and send
monthly newsletters. Newsletters often consist of the current state of the project
and learning references, which can help players to keep motivated.
10.2.3
Detailed Statistics
90
91
10.2.4
Graphs
10.3
In Marsh Explorer, we divide image into 15 cells. Players can play each cells separately to identify plants and animals. Moreover, Marsh Explorer classify images into
three levels based on image complexity. Unlike Scaling Up Marsh Science, Marsh
Explorer game required a complex multistage process to upload new images. First
stage is to superimpose grid on the top of field image. Next step includes image upload into database. Final step is to run image classifier script to classify field images
into three distinct groups.
92
93
10.3.1
Grid Superimpose
Marsh Explorer game requires the player to identify plants and animal locations
on the image. Sometimes multiple layers of plants appear at few locations. To
identify such densely located animals and plants, we support zoom functionality.
In the Marsh Explorer, the image is divided into 15 cells. Players can zoom into
each cell just by clicking on the cell area. In the absence of the grid, it is quite
confusing to visualize underlying tile structure, which creates cells. To avoid this
confusion, we decided to superimpose the grid on the top of the field image. Grid
Superimposition is the first step of image upload process. Algorithm works like
this - Read the input image and convert it into the 2-D array of pixels and then
superimpose that 2-D array with grid image pixels. The result of this process
creates the new image with field image as background and grid as foreground.
This algorithm is implemented using imagecreatefrompng, imagecreatefromjpeg,
imagecopy, imagejpeg, imagedestroy functions from PHP GD library.
10.3.2
Database Upload
Uploading multiple images into database needs a systematic approach. We preprocess images based on the identifier image (refer figure 6.8). Same as Scaling Up
Marsh Science, we developed machine readable folder naming convention so that
image uploader script can parse folder name (Refer figure 6.9). As we discussed in
Chapter 6, Row Number is incremental value for rows within a year. Row Identifier
is used from identifier image from that row. Image Upload script can recognize First
94
Actual Image and Last Actual Image by parsing folder name. Uploader only uploads images in between First Actual Image and Last Actual Image. This is the
second step after grid image superimposition. After this step, all row images are
inserted into the database for image classification and Marsh Explorer game use.
10.3.3
Image Classifier
Image classifier is the last step in image upload process. We observed the complexity
of field image is based on vegetation. Thick vegetation leads to overlapping of multiple plants. Due to dense vegetation, it becomes difficult to identify different plants
and animals. To play dense images, a player should be a bit experienced. We noticed
that new players fail to identify all possible plants and animal for the complicated
images. To avoid such data loss, we introduced three levels for the Marsh Explorer.
These levels are based on players experience. Image Classifier module classifies
images based on color hue into three levels (Less vegetation to dense vegetation).
Normal histograms of the images do not give a significant difference between
them. However, we observed that complex images have more grass, therefore, more
green color while simple images have a lot of gray colors. So we decided to use hue
histogram and find it has the potential to classify the images. With some threshold
based on the percent of the pixel having certain hue range, we can identify the sample
pictures with the lowest error rate.
Figure 10.9 shows how to use this image uploader in 3 steps. For each step,
the administrator has to enter the secret passphrase followed by the folder path
96
97
relative to the public folder of Marsh Explorer under the root (www folder) of IIS
server. After clicking on Submit button, each step notifies individual success or error
messages along with process logs.
98
Chapter 11
Conclusion
11.1
Conclusion
Previous work consisted of two prototype web-based games. This thesis is based
on extending the Scaling Up Marsh Science and Marsh Explorer games. I successfully extended two proof-of-concept projects into complete software products. I
addressed the major issues with the previous games by improving multi-year image
sets, error-handling, row-wise image uploader, uniform user experience and database
redesigning. I successfully added new features such as player-feedback system, administrators tools, ecology learning platform, image-preprocessing, game parameters,
improved content, gaming features like player rank, game levels and player awards.
The player-feedback System provided us feedback, which helped improved the
99
games. Prompt actions were taken to improve the player experience and fix technical issues in the games. One of the common points in the feedback was that the
instructions to play the games were not very clear. To solve this issue, clearer instructions along with tutorial web pages were provided. Also, multiple demo videos were
provided to educate players about how to play. Another common issue reported was
trouble using the image zooming and drag and drop features, which were redesigned
and tested thoroughly for any reported bugs.
Certain feedback was related to the difficulty level of the games, especially when
playing the Marsh Explorer game, which was a bit more complex for some players.
We addressed this issue by adding game levels into Marsh Explorer along with guided
training. Image preprocessing now includes an image classifier module, which classifies images into three levels based on the amount of vegetation. More vegetation
leads to more hidden objects. This new feature provides players an adaptive learning
capability to play the Marsh Explorer. As a result, the output of the Marsh Explorer
is more precise and reliable.
Each year the Scaling Up and Explorer Marsh (SUEM) project captures approximately 10,000 images of marshland. Players generate a tremendous amount of data.
It was desirable to have a set of tools to manipulate and visualize this data. We
added Administrators Tools designed for data downloading, image uploading and
birds eye visualization of the project.
100
11.2
Future Work
The addition of more volunteer players is required because data set consists of images for six consecutive years and each year has approximately 10,000 high-quality
images. Once we get information on the matching points and all the plants and
animal species in these approximately 60,000 images, we need to do post processing
on the collected information. Scaling Up Marsh Science Game future work is developing a robust method to generate a single high-resolution, close-up image of an
entire marsh, using relatively low-tech equipment and volunteer computing. Marsh
Explorer Game future work is simulating virtual models for plant growth and competition using citizen scientists. These games will help validate and improve the
models by strengthening the predictive value of the simulations on the evolution of
clonal plant ecosystems. Other software features like bulk emails can be added at
Administrators Tools page to send newsletters to players. Another feature can be
added is a For Educators page that will feature ideas about how the two projects
can be used in the classroom. Also an algorithm for quality assurance and quality
control can be added for data quality.
101
Bibliography
[1] Sapelo Island .org - Resources for Sapelo
http://sapeloisland.org/ (accessed July 23, 2015).
Island
Georgia,
102
[11] Understanding the Zend Framework, Part 1: The Basics. Understanding the Zend Framework, Part 1: The Basics. Accessed July 13, 2015.
http://www.ibm.com/developerworks/opensource/library/os-php-zend1/.
[12] The value of usability testing for Internet-based adolescent ..,
http://www.ncbi.nlm.nih.gov/pubmed/24094082 (accessed July 23, 2015).
[13] University of Houston. Style Guidelines -. Accessed July 15, 2015.
http://www.uh.edu/policies/graphic-standards/style-guidelines/.
[14] Pearson, Karl. Mathematical Contributions to the Theory of Evolution. Vol.
186. London: [Harrison and Sons], 1895. 343414.
[15] Smaoui, Malek, Marc Garbey, and Cendrine Mony. Virtual prairie: going green
with volunteer computing. Asia-Pacific Services Computing Conference, 2008.
APSCC08. IEEE. IEEE, 2008.
[16] Eckert, Christopher G. Clonal plant research: proliferation, integration, but
not much evolution. American Journal of Botany 86.11 (1999): 1649-1654.
[17] Nicholls, Robert J., Poh Poh Wong, Virginia Burkett, Jorge Codignotto, John
Hay, Roger McLean, Sachooda Ragoonaden et al. Coastal systems and lowlying areas. Research Online, University of Wollongong (2007).
[18] Pennings, Steven C., and Ragan M. Callaway. The advantages of clonal integration under different ecological conditions: a community-wide test. Ecology
81.3 (2000): 709-716.
[19] Maler, Karl-Goran. Sustainable development and resilience in ecosystems.
Environmental and Resource Economics 39.1 (2008): 17-24.
[20] http://en.wikipedia.org/wiki/Sustainable development
[21] Tilman, David, Jason Hill, and Clarence Lehman. Carbon-negative biofuels from low-input high-diversity grassland biomass. Science 314.5805 (2006):
1598-1600.
[22] Brown, Matthew, and David G. Lowe. Automatic panoramic image stitching
using invariant features. International Journal of Computer Vision 74.1 (2007):
59-73.
[23] Szeliski, Richard. Image alignment and stitching: a tutorial. Foundations and
Trends in Computer Graphics and Vision 2.1 (2006): 1-104.
103
[24] Lindeberg, Tony. Feature detection with automatic scale selection. International Journal of Computer Vision 30.2 (1998): 79-116.
[25] Zitova, Barbara, and Jan Flusser. Image registration methods: a survey.
Image and Vision Computing 21.11 (2003): 977-1000.
[26] Hilford, V., et al. WIMIWeb Interface to Medical Information, best paper
award in data engineering at SEDE07, 16th internat. Conference on software
engineering and data engineering. 2007.
104