-
Notifications
You must be signed in to change notification settings - Fork 0
Project Proposal
Benito Sanchez edited this page Feb 22, 2017
·
6 revisions
##Section 1: Project Definition
Architects' Image Workbench - 1
Leader:
Austin Zielinski [email protected]
I’m passionate about computer science from bits to big data. I’m most excited
to work with technologies I’ve never used, and lead our talented team in
making Panafold’s vision a reality.
Members:
Gabriel Zapata [email protected]
I have worked in the realm of web applications very briefly during my
internship, more specifically with AngularJS in which I received
knowledge about MVC dependent technologies, but have never worked with
ReactJS but am excited for the knowledge I will gain on it. I am also very
interested in how we will use Amazon’s Rekognition.
Araceli Gopar [email protected]
I have worked with web development tools and databases before but not with
all tools needed for this project. I look forward to starting the project
as well as learning new technologies.
Benito Sanchez [email protected]
I have worked with web development before but only in a class environment.
My latest experience is in Android development. I have not worked with the
tools that were listed for this project but I am looking forward to learning!
I am excited to work on this project and learn the most out of it!
###Project Mission / Motivation
Currently, Panafold enables users to share ideas through Notebooks with each
other. Although notes are needed in their industry, they would better benefit
by sharing their ideas through images and sketches. In order to enable image
sharing, designersare expected to tag images manually which is time consuming.
They usually upload a high volume of images which can make the tagging process
tedious. Consequently, designers can only share their images with specific
designers, which blocks design ideas to flow and inspire all designers.
We will work with our project sponsor, Panafold, to create a fast and intelligent
web app by the end of the semester. Our web app will automate tagging to reduce
the time designers’ spend doing the process, and implement a searchable database
to allow them to share their work and be inspired by others.
The team will first focus on designing a strong and robust architecture Work
towards a simple and fast interface using ReactJS, and NodeJS. Save and speed up
image search using MySQL, NodeJS, and AWS. Image tagging will also be automated
using Amazon Rekognition.
Austin will start with sole responsibility of the front end, and Gabriel sole
responsibility of the backend. Araceli and Benito will become familiar with
Rekognition to start, then Araceli will move to front end, and Benito to back when
we have a good grasp of the technology.
The goal for this project is to allow designers to share images as fast and smooth
as possible. In order to speed the process for designers, tagging will be automated
using deep learning. This project will also enable designers to share images by
creating a searchable database.
Metrics
* Image upload will be determined successfully if designers are able to upload
90% of the time.
* If image is uploaded successfully 100% of the images should be displayed back
to the user.
* In order to measure our success with image tagging, every uploaded image
should have at least one tag.
* As soon as the user clicks [enter] (to start searching) the search should
take less than 1 second.
* The time for the website to respond to the user’s action should be kept at
less than 5 seconds.
* We will be using analytics or logging to measure our success rate.
The main deliverable is a web app where users can upload and share images. A
searchable database will be used to store the images and retrieve them, and
Rekognition will tag images automatically. We will document our API calls and other
information about our project, the documentation will be posted on the team’s
github wiki pages.
* Uploading an image
- Some image formats might be difficult to work with
- Can we support high quality images? Is the website useful if we can't?
* Storing images to database
- Size of images/amount of images affecting database performance
- How can we store tags and make them quickly searchable?
* Implement Amazon's Rekognition to the project
- Lack of familiarity using Rekognition
- Rekognition might not be able to recognize certain items in the images
1. Upload and save image DATE: Friday, Feb 24
a. Create a basic interface for the user to upload an image
b. Save image to the database
c. Display image to the user from the database.
2. Create Search Engine DATE: Friday, March 17
a. Set up the database to save images
b. Search Images based on tag
c. Display results for user
3. Involve Rekognition DATE: Friday, April 7
a. Implement Rekognition to be able to tag images
b. Save the tags provided by recognition to the database.
4. Intelligent Search on the database DATE: Friday, April 28
Extra Milestones (Time Permitting)
* Allow user to update an 'album' of images
* Allow users to edit tags
* Intelligent search on the database
* Accounts
* Social
- Ratings (likes, points)
- Comments
###Section 2: Use Cases
Title: User uploads an image to Designer's ImageNGine
Actor: Panafold user, Rekognition, Database
Scope: User level, Image Database
Summary:
1. User arrives at home page
2. User clicks on upload button
3. User uploads image
4. Image is tagged by Rekognition
5. Image and tags are stored in database
Title: Panafold User Searches for Image by Tag
Actor: Panafold user, Database, Search Engine
Scope: Image Search Engine
Summary:
1. User enters search query
2. User clicks search button
3. Query is parsed and interpreted by search engine
4. Relevant images grabbed from database by matching tokens to tags
5. Images presented to user
Title: Panafold user can edit tags
Actor: Designers, Rekognition, Database
Scope: Users will upload an image
Summary:
1. A designer uploads an image to database
2. Image is returned to user showing the proposed tags
3. User clicks “edit tag” button
4. User clicks ‘x’ to delete unwanted tags
5. User clicks ‘+’ to add new tags
6. User chooses to save
7. Image and tags are saved to database
###Section 3: Acceptance criteria
1. Auto Tagging
Given an image interacts with Rekognition
When a user uploads an image
Then the image will be automatically tagged by Rekognition
2. Upload Images
Given that the image size is acceptable by Rekognition
When a user uploads the image
Then the image is stored in the database successfully
3. Search Images
Given there is a database of tagged images
When a user submits a query
Then the database should be searched for tags matching the query