Project Summary

advertisement
BioVision
Advancing behavioral research through computer vision.
Team Members
Jacob Boncher, Nathaniel Dessert, Dustin Morabito
Joshua Morrison, Daniel Painter, Molly Pohutski
Client
Dr. Anne Danielson-Francois
Supervising Faculty
Dr. Bruce Maxim, Dr. Kiumi Akingbehin
Department
Computer and Information Science
Initiated Fall 2012
Abstract: BioVision is an application for analyzing videos for their movement
content. Researchers can use this application to automate the data collection
process of their experiment. This program (which has does not have a market
competitor that can be purchased at a local store) handles many complex processes
such as video codexes, Microsoft Excel data formatting, and cross platform support;
it is being released as an open source project in order to encourage its development
and use in the scientific community.
1
TABLE OF CONTENTS
Introduction and Statement of the Design Problem .................................................... 3
Project Analysis ......................................................................................................................... 4
Design Process ........................................................................................................................... 5
Defining .................................................................................................................................................. 5
Software Requirements Document .............................................................................................. 7
Project Management Plan Document .......................................................................................... 7
Software Quality Assurance Document ...................................................................................... 7
Managing/Implementing ................................................................................................................. 8
Testing .................................................................................................................................................... 9
Final Specifications ............................................................................................................................ 9
Results and Discussion ........................................................................................................... 9
Ethics and Safety .................................................................................................................... 10
Cost Analysis............................................................................................................................ 10
Conclusion ................................................................................................................................ 11
References ................................................................................................................................ 11
Biographical Sketch .............................................................................................................. 12
Jacob Boncher ................................................................................................................................... 12
Nathaniel Dessert ............................................................................................................................ 13
Dustin Morabito ............................................................................................................................... 15
Joshua Morrison ............................................................................................................................... 16
Daniel Painter ................................................................................................................................... 17
Molly Pohutski .................................................................................................................................. 18
INTRODUCTION AND STATEMENT OF THE DESIGN PROBLEM
Technology is a powerful tool for encouraging innovation. Using computer vision
technology, BioVision is using to leverage this resource to provide innovation to the
Behavioral Sciences.
Traditionally, behavioral data is collected using qualitative analysis. The case study for
this was the arachnid lab here at the University of Michigan-Dearborn. Here, researchers
manually record behaviors by hand as they occur in an experiment. This method produces
some issues when collecting data: first, there is a factor of human error. Especially when
working with quick specimens, it is incredibly challenging to be able to log every single
desired movement without error. Limitations in eye speed and observer multitasking
restrict what can be captured using the traditional data collection process. The other
limitation is the experiment repeatability. Unless you are capturing the experiment as a
video, the data will only be displayed in its raw form (the specimen exhibiting an action)
once before being lost to time.
Researchers have started to record video of their experiments to address the issues stated
above. This allows for anyone to revisit individual trials and to verify the information
collected. Doing this solves a lot of problems, but there is still the issue of time. In the
arachnid lab experiments can range anywhere from 15 minutes to 6 hours. It is relatively
simple to reanalyze a 15-minute video by hand. A 6-hour video, on the other hand,
provides a greater challenge. Without points of reference in the video, the full length of
the video must be observed to accurately gather all the data being sought. This can be a
lengthy process and inspired this project.
The design problem is simple, “can a program be constructed to assist/automate the
process of collecting data for a behavior science experiment?” The answer: Yes.
BioVision can be used by researchers to collect data from video recordings of
experiments. Instead of the researcher scrubbing through an experiment video by hand,
BioVision will automatically look for movements based on parameters set by the user;
the resulting data is saved. The user can then view this data as an excel spreadsheet.
Collecting accurate data in an efficient manner is imperative to conducting experiments.
BioVision works as a tool to help save researchers time and energy in interpreting
experiments. No more recording behaviors by hand. No more scrubbing through an entire
video file to get the information that you need. Now, BioVision does all that work
automatically.
PROJECT ANALYSIS
A full analysis of the project was necessary to determine the type of impact it could have
on the scientific community. Market research, client meetings, and internal meeting were
conducted to determine the potential for the application.
In engineering it is well taught that you “do not reinvent the wheel.” Simply,
development time and money should not be spent if an existing solution to a proposed
problem already exists; this assumes that the solution is reasonable accessible. However,
through market research, it was determined that there was not a viable solution already on
the market. The vision technology was on the market but not in a form that was useful to
the behavioral scientist community.
The next step in assessing the project was meeting with the client. After talking with Dr.
Francois (the faculty member responsible for the arachnid lab at the University of
Michigan-Dearborn) it was clear that there was a real need for a program like BioVision.
Too much time was being spent doing arduous tasks that were unrelated to the actual
interpretation of the data. Researchers were spending more time preparing the data that
interpreting it. Having a program to expedite the data collection process could allow the
research team to work through more trials and conduct more experiments.
The assessment of impact for this project is quite large. The problem that exists is heard
across labs all over the country. Researchers are frustrated with the process of extracting
meaningful data out of videos. BioVision could be used at every university across
America and the world.
The scale of the project is important as well. While originally designed for behavioral
scientists, BioVision is not restricted to behavior videos. Interpreting the movement of
machines, security, and many other situations could benefit from an application like
BioVision.
Market research, client testimony, and project scalability all point to the unique solution
to a widespread problem that BioVision could facilitate. The project is strong because it
is one of the firsts to apply computer vision technology to the behavior science discipline.
Also, its scalability is almost endless. Whenever there is an issue of collecting
information from a video file, BioVision could be potentially used to solve it.
DESIGN PROCESS
After completing the project analysis, the design process started. The process itself
included the sequence of defining, then managing and implementing; then testing, and
then releasing the application. While there was some overlap to these stages, each stage
functioned as its own body of work. Each step in the process needed to be fully addressed
before moving on to the next one. Again, there were some exceptions. For example, some
testing was done during the managing/implementation stages.
It should also be mentioned that there was a lot of multitasking on the project. Being a
six-person team allowed a level of flexibility in order to allow parallel work. Two
developers may have been working on a prototype while the others worked to get the
documentation done, for example.
DEFINING
The first challenge for the project was to accurately define the problem we were looking
at and how we planned to solve it. Requirements had to be made per user specification,
and research was needed to determine the feasibility of a request (feasibility was based on
time, expert knowledge, and available technology). The defined requirements went
through a couple iterations of testing. The following requirements diagram details the
final set of specified program features:
With a comprehensive list of features the team set about creating documentation to
support the design process. A requirements, project management plan, and software
quality assurance document were made during the first semester of Senior Design. It also
should be noted that there was a good amount of prototyping during this stage. It was
necessary to do a little coding in order that we were able to understand the technologies
that we were working with.
Each of these documents are briefly discussed in the sections below:
SOFTWARE REQUIREMENTS DOCUMENT
This document specifies in details the set of requirements that the system must contain in
order to be approved by the client. Each requirement is talked about in detail.
Additionally, each feature is given a priority (1-3). Priority 1 and 2 requirements
represented core and advance features respectfully. Priority 3 requirements described
features that would be nice to have but were probably not attainable during the time
frame for the project.
This document had to get approved by the client. The content of this file formed a
contract between the client and the development team for project acceptance. All the
tasks as specified by the document have been completed; the team has received a signed
letter of acceptance.
PROJECT MANAGEMENT PLAN DOCUMENT
With the requirement document done, the next step was to define how the project would
be managed. After many team meetings, it was decided that an agile, spiral model
development lifecycle would be used during the implementation period. There were to be
four iterations of this spiral. These iterations were prototype, tier 1, tier 2, and tier 3. Each
tier corresponds to a requirement priority. The spirals themselves would consist of a
discussion, design, implementation, and testing stages.
In addition to the structure of the project lifecycle, the team member roles were also
defined. The responsibilities were assigned to allow so that people would have a clear
idea of what they were responsible for; it also allowed people to specialize in certain
areas in the project. For example, one member handled the Excel report generation while
another member did the coding for the main graphical user interface components.
The last major specified element in the document is the project timeline. Using function
point analysis (COCOMO) we calculated that it would take 8.4 months for six people. A
Gant chart, project calendar, and other pieces of information were specified in the
document
SOFTWARE QUALITY ASSURANCE DOCUMENT
The last document that was written was the SQA document. For an application like
BioVision it is imperative that the system be robust in its functionality. This document
specifies the testing strategy that was used to achieve this robustness.
Tests are divided logically into unit, integration, validation, and high-level tests. Unit
tests the individual functionality of the system; it represents a low level test. Integration
testing represents the next level. Test of this level look to see whether functionality
between different pieces of functionality are working as expected. Validation testing tests
whether the system is behaving, as it should. Finally, high-level tests look at some of the
performance issues of the application. Performance, input data, and security are
addressed under this umbrella of tests.
In addition to the test descriptions, the logging of the test results are captured in the
document. The results are recorded in Excel files. These Excel files in turn were
monitored during the testing and debugging stages of the lifecycle.
MANAGING/IMPLEMENTING
This stage of the process was smooth and effective because of the good policies formed
in the framing stage.
Communication was very important in this and all stages. Team meetings were conducted
every Wednesday through the lifetime of the project; additional meetings were scheduled
as needed. Also, the team used a project management tool, Assembla, to monitor
different development efforts and facilitate communication.
Every week software process improvement was conducted to improve how the team went
about implementing functionality. This was useful in facilitating better communication
between team members and raising accountability.
The actual implementation part of the project was conducted in tiers using the agile spiral
model. Each tier took approximately 7 weeks on average to complete. This includes all
testing and client feedback/acceptance.
TESTING
Testing was conducted to ensure that the application both satisfied all the user
requirements and performed flawlessly. The challenges of cross operating system support
(MAC and Windows OS), multi-video format support, and the complexity of video
interpretation itself made the testing process necessary and difficult.
In addition to the SQA document, a test plan document was drafted to detail individual
tests to be conducted on the system. Unit, integration, validation, and high-order tests
were all defined in this document.
There were four weeks dedicated to testing (not including testing done at the end of each
tier iteration). The team spent most of its time testing the system to work out bugs.
Testing was important because of application quality concerns. Simply, catching and
fixing more bugs during the development lifecycle leads to fewer project defects. High
application quality was one our biggest goals for the project.
FINAL SPECIFICATIONS
The final system specifications consisted of a four-module system. Each of these models
represent a body of functionality that
RESULTS AND DISCUSSION
The final deliverables for the BioVision project are as follow:

Operating system specific executable application files

BioVision website where users can download the application

Detailed user manual

Detailed developer documentation
o SRS, PMP, SQA, and Test Document
o Doxygen documented codebase
o SVN diff logs
All stages of the development cycle were very successful. The BioVision development
team had a lot of fun creating this interesting and powerful application.
ETHICS AND SAFETY
Data integrity is an important ethical issue for this project. It is critical that all the
information is pulled directly from the raw video file in which it originated from.
BioVision will never add anything to a video file. The application will only extract and
interpret movement information.
Research ethics are important to follow. With computer graphic programs (Photoshop,
Pro Tools, Final Cut, etc.) it has become very easy to doctor an image to support an
argument. Because of this potential unethical activity, it is necessary that researchers
keep an accurate account of all their supporting data in case they are challenged for data
authenticity. BioVision supports this by keeping track of the relationship between data
and raw information.
COST ANALYSIS
While there are definite commercial opportunities for the BioVision application, it has
been well established by the client and the development team that the project will be open
source. The application will be hosted on a site that will feature development
documentation, user Q and A boards, and user documentation to allow for researchers of
all backgrounds to become part of the BioVision community.
Cost analysis was performed to determine how much this project would cost to develop
for a company. Using function point analysis on the specified requirements it was
determined that the project would take 25.08 person months to complete. This value
indicates that it would take 6 people approximately 4.2 months to complete this project
working full time (40 hrs/week). During senior design, the most that our team members
will be expected to contribute is 20 hrs/week. Therefore, this yields a total development
time of 8.4 months. Assuming that each developer makes 40 dollars per hour, the
project’s cost estimate is $161,280.
$40 Per Hour * 20 Hours Per Week * 33.6 Weeks * 6 Developers = $161,280
Research software on average is very pricey. BioVision looks to break that mold by
offering robust research functionality as an open source project. It is the intent to get the
research community to self-invest into the application. Whether it be programming,
documentation, evangelizing, or monetary contributions from the community, the goals
of BioVision is to make it a strong open source project.
CONCLUSION
BioVision is a powerful tool form collecting data from video files. Researchers who had
to previously record behavioral data by hand can now use vision technology to automate
the process; this will save the researcher time and effort.
Applications with BioVision’s features are not available “off the shelf.” Instead of paying
a premium for developer’s to create custom software for an experiment setup, researchers
can now simply download a free copy of BioVision to solve some of their data collection
headaches. Additionally, the community that is being build for this application is
personal. The people who are involved with the project are passionate about good
research. Users are encouraged to participate in the online space to share knowledge and
push the capabilities of the BioVision project.
BioVision can be found at http://www.nhdlite.com/BioVision/index.html .
REFERENCES
Pressman, R. , Software Engineering: A Practitioner’s Approach-7th Ed., McGraw Hill,
2010
QT Developer Documentation, Web, Nokia, 3 April, 2013.
<http://qt-project.org/doc/qt-5.0/qtdoc/index.html>
OpenCV, Web, 3 April, 2013.
http://opencv.org/
Bradski, Gary, and Adrian Kaehler. Learning Opencv: Computer Vision with the Opencv
Library. O'Reilly Media, 2008. Print.
BIOGRAPHICAL SKETCH
JACOB BONCHER
1701 Hawthorne Trenton, MI 48183, (734) 626-3847, jacobboncher@gmail.com
Education
University of Michigan-Dearborn:




Currently in progress.
Bachelor of Science in Computer & Information Science (Anticipated April 2013)
Bachelor of Science in CIS Mathematics (Anticipated April 2013)
Current GPA: 3.40
Experience
Mover/Installer, September 2009 - September 2011
Airea, Inc. 23231 Industrial Park Drive, Farmington Hills, MI 48335

Moved and installed furniture.
Volunteer Experience
Youth Group Leader, June 2011 - Present
First Presbyterian Church of Trenton. 2799 West Road, Trenton, MI 48183



Built relationships with teens.
Organized games and events.
Planned and lead education activities.
NATHANIEL DESSERT
24723 Westmoreland Dr., Farmington Hills, MI, 48336, (248) 6757628, nhdessert@gmail.com
Objective:
Seeking application development position leveraging my 2 years experience
in professional mobile development and my engineering college curriculum.
Education:
University of Michigan-Dearborn – Dearborn, MI
 Bachelor of Science in Engineering, Software Engineering, anticipated graduation
date: April 2013
 GPA: 3:69
 Deans List: Fall 2009 to Present
 Work published in the UM-Dearborn Engineer campus magazine.
 Winner of the William Bradstrom Award (top 5% of incoming class).
Experience:
Research for Biology Department: July 2010 to Present
Applying vision technologies to biological research. Currently working
as the team leader for an in-house lab assistant software applicationBioVision.
Presented BioVision at the 49th Annual National Behavior Science
Meeting in Albuquerque (Summer 2012).
Collaborative Game Project (Frigid) with the College for Creative Studies:
January 2012 to May 2012
Detroit Area Pre-College Engineering Program (DAPCEP) Instructor: June
2011 to July 2011
Professional Experience:
Invisi-Tag LLC., September 2012 to Present
 Mobile Developer: Scale, re-design, and code/test/deploy/ RFID-based iOS app.
Farmington Civic Theater:
 Junior Manager: Oversee operations taking place at the movie theater.
University of Michigan-Dearborn, College of Engineering and Computer
Science, April 2011 to September 2012
 Software Developer: Design and implement iOS and Android applications to meet
student needs. Heavily involved in SQA for the online learning portal (VLT).
Stewart Photography, August 2009 to December 2010
 Photographer
Technical Skills:
 C++, C#, Java, Objective-C, Unreal Script, UDK, Torque Script, Flash
 HTML, CSS, XML, PHP, SQL and Oracle DB
 Mobile Development (IOS and Android)
 SVN, GitHub, Enterprise Architecture, XAMP, QT, MySQLWorkbench, GIMP,
AutoDesk, Audacity , Visual Studio, Eclipse, NetBeans
DUSTIN MORABITO
17271 Palmer Melvindale, MI 48122, (313) 510-2744, dmw1087@gmail.com
QUALIFICATIONS



Very task oriented good at working toward milestones and goals.
Extensive prior use of Microsoft Visual Studio and Digia Qt SDK, adept at
learning new technologies quickly.
Prior experience with team based projects, and works well in team environment.
RELEVENT SKILLS
Communication & People Skills



Many years of retail and customer service experience.
Has both lead and participated in team based student software projects.
Strong verbal communication skills, good sharing listening to concepts/ideas.
Technical Skills



Currently working towards a Bachelor’s degree in Computer Information Science
at the University of Michigan-Dearborn.
Extensive experience writing C++ and C# code, some experience with Objective
C.
Has used the various component programs of Microsoft Office for multiple
different applications throughout education.
Experience


Fun Foods Inc, Sales Associate/Cashier, May-August 2007–2012(summer job)
University of Michigan Dearborn, Computer Lab Proctor, May 2012 – Present
Education
Wayne County Community College, 2007-2010.

Associate of Science Degree
University of Michigan-Dearborn, 2010-Present.

Bachelor of Computer Information Science Degree (Graduating April 2013)
Notable Projects
“Super Jump Guy” Student UDK Game Project, Team Lead, January-April 2012.
“Biovision” Senior Design Computer Vision project, Team Member, September 2012Present.
JOSHUA MORRISON
joshuacm@umd.umich.edu
Objective: To obtain invaluable work experience through a co-op position in the computer science field.
Education:
University of Michigan-Dearborn – Dearborn, MI
 Bachelor of Science in Computer and Information Science
 Major: Computer Science
 GPA: 3.7
 Expected Graduation: April 2013
Edsel Ford High School/DCMST (Dearborn Center for Math Science and Technology), Dearborn, MI
 High School Diploma
 GPA: 3.9
 Graduated 2009
Relevant College Coursework:
Computer Science I and II and Discrete Structures I and II:
 Fundamentals of Programming, coding in C++
Logical Counting, Trees, Graphs, Boolean
Algebra, Grammars, Complexity Theory, Computation, Set Theory, and Relations.
Data Structures and Algorithm Analysis:
 Object-Oriented Programming, Hashing, Algorithm Design, Tree Structures, Abstract Data
Types and Analysis
Computer Org and Assembly Language:
 Easy 68K Assembly Language, Input/Output Systems, Memory Systems, Assemblers, and
Digital Logic Circuits.
Programming Languages:
 Introduction to Object Oriented languages (C#, Java), Extension (Python), Scripting (Perl)
Operating Systems:
 Memory management, Scheduling, Protection/Security, Processes/Threads, Deadlock
detection
Scholarships/Honors/Awards
University of Michigan-Dearborn
Dean's Scholarship, Decision: Fall 2008
Honors Program, Decision: Spring 2009
 Acceptance based on interviews/GPA/ACT scores
Upsilon Pi Epsilon, Decision: Winter 2011
 International Honor Society for the Computing and Information Disciplines
Golden Key Honors Society, Decision: Winter 2011
Association for Computing Machinery, Joined: 2010
University Honors, Dean’s List, Decision: 2009-2012
William J Branstrom Prize, Decision: 03-2010
 Awarded to First-term freshmen in upper five percent of their class.
High School
National Honors Society, Decision: 2008-2009
Top 5% of the graduating class, Decision: 2009
3rd place at Metro Detroit Science Fair, science category, Decision: 2008
Experience:
The Henry Ford, Guest Services, Dearborn, MI, May 2008-current
 Sell admission to The Henry Ford Museum, Greenfield Village, IMAX, and Ford Rouge
Factory Tour
 Assist visitors during special events like Maker’s Faire, Holiday Nights
 Assisting customer with any problems/complaints, customer skills.
 100+ coworkers, group coordinated events.
DANIEL PAINTER
5935 Harold St., Taylor, MI 48180, (313) 648-8162, dspainte@umd.umich.edu
Software Engineer
Education:
University of Michigan-Dearborn – Dearborn, MI





Bachelor of Science
Major: Software Engineering
GPA: 3.88
Honors: CECS Dean’s List
Expected Date of Graduation: May 2013
Technical Knowledge
C++, C#, Java, Android Development, Drupal CMS, Linux Ubuntu Server, HTML, CSS,
PHP
Employment:
University of Michigan-Dearborn Engineering & Computer Services
Chief Android Developer
07/2011 - present
Dearborn, MI
 Chief developer of MiEngin for Android, a 1 year mobile application project
for the university’s engineering students
 MiEngin allows users to register for courses, view a map, login to VLT for
coursework, view a faculty directory, and view news.
 Testing, debugging, and documentation for MiEngin
 Website updates and form development
University of Michigan-Dearborn Engineering & Computer Services
Distance Learning Supervisor
09/2011 - present
Dearborn, MI
 Supervise technical support team for engineering distance learning classes
 Coordinate and communicate with post-production and other departments
 On call during class nights to troubleshoot technical problems
 Monitor audio/video quality on live stream recordings
Educational Development:
BioVision
Senior Design
9/2012-present
Dearborn, MI
 Computer vision application for Biology research
 Will analyze video of animals moving and allows the researcher to efficiently
collect data on movements
CodeShark
Web Technology Term Project
9/2012-present
Dearborn, MI
 Computer Science tutorial website- displays tutorial videos for users
 Will allow users to create and upload their own tutorials
 Designed to foster a community of learning and give back to future students.
MOLLY POHUTSKI
4025 Grange Rd. Trenton, MI 48183, (734) 308-9395, mpohutsk@umd.umich.edu
Education:
University of Michigan-Dearborn
Bachelor of Science in Computer and Information Science
Major: Computer Science
Expected Graduation: May 2013
Trenton High School
High School Diploma
Graduation: 2009 (Class Valedictorian)
Dearborn, MI
GPA: 3.98
Trenton, MI
GPA: 4.00
Relevant Skills/Knowledge:
 C++, Java, C# programming languages
 SQL Server Management Studio/Profiler
 XML, Microsoft Visual Studio, Excel, Word
 Assembly Language (microprocessors)
Work Experience:
Urban Science, Intern
Detroit, MI – May 2011 to Present
 Assisted with implementation of a web-based financial reporting software solution
 Worked specifically on Ford, Volkswagen, and Audi implementations
 Utilized and edited SQL scripts and stored procedures in daily work
 Investigated and fixing bugs in database, web code, server configurations, etc.
 Performed upgrade of the database and web code to new version of software
 Extensively used Excel to edit report templates, use of functions (VLOOKUP, etc.)
 Understanding of web applications (server interaction, database backend, etc.)
 Understanding of relational database design/structures
Organizations/Activities:
University of Michigan-Dearborn
Dearborn Campus Engineers, President, Fall 2012 to present
 Helped to plan several employer and campus events throughout the year
 Ran biweekly meetings and helped engage students on campus
 Took actions to better organize our office, storage, and school store
 Served as VP Winter 2012; coordinated several recruitment initiatives and activities
Alpha Omega Epsilon sorority, President, January 2013 to present
 Helped to revitalize the sorority by heavily promoting recruitment and other events
 Ran weekly meetings to help keep members informed and engaged
 Encouraged involvement from actives and alum through better communication
 Served as Membership Educator Fall 2012; assisted candidates with the initiation process
Association for Computing Machinery, Member, October 2011 to present
Scholarships/Honors/Awards:
University of Michigan-Dearborn
Chancellor’s Scholarship, Decision: Fall 2008
 Awarded to those with a minimum 3.9 GPA and 31 ACT score
University Honors, Decision: 2009, 2010, 2011, 2012
Dean’s List, Decision: 2009, 2010, 2011, 2012
Download