18
IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

Embed Size (px)

Citation preview

Page 1: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

IMAGE

Daniel

Harmon

Michael

Ryan

Stu

SPLITTERS

RabessKeenerDackKaoHaas

Page 2: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

BACKGROUND

People are taking photos more than ever Modern users are much more computer

savvy than in the past, and therefore expect more from a retail photofinishing solution

To cater to this new user base, Kodak envisioned a tool that would give customers even greater control over their photos

Also, to keep up with the current trends influencing modern UIs, Kodak also desired a new user interface

Page 3: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

PROJECT REVIEW

To meet their needs, Kodak asked us to: Develop a splitting algorithm that can be used

in the current Kodak Picture Kiosks Design a user friendly interface and modernize

the current Kodak Kiosk user interface

Page 4: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

PROJECT REVIEW (CONT)

The algorithm would: take a source image and split it into 2 or more

image panes horizontally or vertically use multiple aspects of computer vision to to

analyze photos and provide these splits The UI would:

give users a more intuitive experience, while not overloading them with options and features

be user friendly and modernize the current Kodak Kiosk user interface

Page 5: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

REQUIREMENTS Algorithm splits images 2, 3, and 4 ways, vertical and

horizontal Algorithm artistically splits images Ability to nudge the image Ability to zoom the image Configurable algorithm settings Support app for demo and testing of algorithm Windows installer/Installation procedures 3d effects Run on a single Windows XP embedded / Vista

machine Run in Internet Explorer in “kiosk” mode Coded in C# or in C and C++ that can be accessed

from C# components Controllable via a 15” Touch Screen

Page 6: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

High Level Design

Page 7: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

THE ALGORITHM (in detail)

Able to artistically split 80% of images into 2, 3, or 4 frames.

Our solution uses: Face detection Edge detection Color detection

We also have an auto function that finds the best split out of all possible split types

Page 8: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

Processing

Page 9: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

THE NEW USER INTERFACE (in detail)

Users have become more technologically savvy They expect more advanced features in a

business-class photo editing solution Our solution utilizes new technology,

providing customers with a faster, more powerful experience

Our UI draws its control scheme from other popular UIs to give users a familiar, intuitive interface to interact with

Page 10: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

THE NEW USER INTERFACE (CONT.)

Apple’s cover flow was a big inspiration for our application

Easy to use and move through many images The controls translate well to a touchscreen

interface

Page 11: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

THE NEW USER INTERFACE (CONT)

Large, clearly labeled buttons for each function make it easy for the user to quickly find the action they want Nudge image around to select region of interest Zoom image in and out to focus on image

subjects Graphical split buttons

Consistent layouts across pages keep the user from having to reorient themselves when moving through the program flow

Page 12: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

PROJECT RESULTS Features implemented

Algorithm splits images 2, 3, and 4 ways, vertical and horizontal

Ability to nudge the image both by dragging it and clicking buttons

Ability to zoom the image Configurable algorithm settings Support app for demo and testing of algorithm Windows installer/Installation procedures Meets machine specs Welcome animation Carousel Ability to save split photos and view them on a

preview page Face detection Edge detection Color detection

Page 13: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

PROJECT RESULTS (CONT)

Features still to be developed “Remove” a picture from the preview screen

Stretch goals we didn’t get to View of the region of interest on the main screen Hook up with previous teams photo organizer

project Cutting or tearing animations when splitting Color themes for the application Memento stack to support “undo”

Page 14: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

CHALLENGES

Learning new technologies Windows Presentation Foundation Image manipulation algorithms OpenCV

Scheduling Team availability conflicts Learning too many tools Trying to fit in too many features

Understanding the requirements Designing an intuitive interface Determining how the different aspects of the

algorithm should interact

Page 15: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

REFLECTIONS

Things that went well Very interesting problem domain for us OpenCV was useful (but not without its

problems!) Use of WPF tutorials / open source projects Great team dynamics Good customer feedback/communication Availability of experts in the field Spiral methodology worked well for our needs Planned our schedule well for the amount of

work we had to do Previous Kodak team had document

management tools available for us to use

Page 16: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

REFLECTIONS (CONT)

Project Hurdles OpenCV’s C# wrapper wasn’t perfect for our

needs Conflicting schedules and limited free time made

it hard to meet sometimes Experienced CVS difficulties early in project life Misinterpreted initial requirements, which cost us

some development time Had a hard time being granular enough in

reporting our activities and being transparent enough in our efforts to our sponsors

Some bugs were very pesky to squash

Page 17: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

DEMO

Less talk, more action!

Page 18: IMAGE Daniel Harmon Michael Ryan Stu SPLITTERS Rabess Keener Dack Kao Haas

QUESTIONS