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