Identifying and Tracking Shapes Vision Version 1.2 Revision History Date Version Description Author 27/07/2005 Draft 0.1 Initial draft Marco Gallotta 28/07/2005 Draft 0.2 Revision 1 of initial draft Tim Shier 28/07/2005 Draft 0.3 Additions to draft Marco Gallotta 29/07/2005 Draft 0.4 Final draft Marco Gallotta and Tim Shier 04/08/2005 1.0 Edited formatting Marco Gallotta 04/08/2005 1.1 Revised to final copy Tim Shier 10/09/2005 1.2 Final Copy Tim Shier Table of Contents 1. Introduction ...................................................................................................................................... 4 1.1 1.2 1.3 Purpose .................................................................................................................................. 4 Scope ..................................................................................................................................... 4 Definitions, Acronyms, and Abbreviations ........................................................................... 4 1.3.1 CR ........................................................................................................................... 4 1.3.2 CB ........................................................................................................................... 4 1.3.3 GUI ......................................................................................................................... 4 1.3.4 Background pixels ................................................................................................... 4 1.3.5 Foreground pixels ................................................................................................... 4 1.4 References ............................................................................................................................. 4 1.5 Overview ............................................................................. Error! Bookmark not defined. 2. Positioning ....................................................................................................................................... 5 2.1 3. Environment..................................................................................................................................... 5 3.1 4. User Environment .................................................................................................................. 5 Product Overview ............................................................................................................................ 5 4.2 4.2 5. Problem Statement ................................................................................................................ 5 Summary of Capabilities ....................................................................................................... 5 Assumptions and Dependencies ............................................................................................ 6 Product Features ............................................................................................................................. 6 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 Identify Shapes ...................................................................................................................... 6 Differentiate between circles and other shapes...................................................................... 6 Categorize circles into specific sizes ..................................................................................... 6 Count the number of each size of circle ................................................................................ 6 Supply user friendly GUI ...................................................................................................... 6 Guarantee specific accuracy of shape recognition ................................................................. 6 Provide Error margin in fit statistics ...................................................................................... 6 Output requirements management ......................................................................................... 6 Simulation of robotic sorting technique ................................................................................ 6 Coloring of objects after classification ............................................................................. 6 6. Constraints ....................................................................................................................................... 7 7. Precedence and Priority ................................................................................................................... 7 8. Documentation Requirements .......................................................................................................... 7 8.1 8.2 User Manual .......................................................................................................................... 7 Installation Guides, Configuration, and Read Me File .......................................................... 7 Vision 1. Introduction 1.1 Purpose The purpose of this document is to define the requirement of Conveyor Recognition (cs6-pm) in terms of the needs of the end user. This definition will be as abstracted as much as possible. 1.2 Scope This document applies to the Shapes application which was commissioned by the UCT Computer Science Department as one of the projects for CSC202S participants to do. The Shapes project will be completed by the joint project managers Tim Shier (SHRTIM001) and Marco Gallotta (GLLMAR013). The Shapes project looks to solve the hypothical problem of a computer application recognizing certain sized circular disks which appear on a conveyor belt moving from right to left as viewed by a camera stationed directly above the conveyor belt. 1.3 Definitions, Acronyms, and Abbreviations 1.3.1 CR Conveyor Recognition which is the personal project name which we have given to our project. This project name will be continued throughout all documentation and may be consided a standard. 1.3.2 CB Conveyor Belt – a physical machine which typically moves in one direction and moves objects in a general way along a pre-determined path. 1.3.3 GUI Graphical User Interface, this facilitates easier usage of the Shapes 1.3.4 Background pixels The black pixels that make up the CB, i.e. no shape covers the pixel. 1.3.5 Foreground pixels The white (grey) pixels that make up the shapes on the CB. 1.3.6 Boundary Pixels Foreground pixels that have surrounding background pixels 1.3.7 Shift The number of pixels which the animation moves between images. 1.4 References http://people.cs.uct.ac.za/~jkr: templates for software engineering. 2. Positioning 2.1 Problem Statement The problem of Having to manually count the number of items being manufactured and group them together manually affects Shareholders of the company due to the relatively low efficiency and therefore a higher cost and lower return the impact of which is A slow and costly counting process involving many additional employees as well as an inaccurate number due to human error a successful solution would be Improve the speed and efficiency of the counting process and reduce the number of employees required in the counting process 3. Environment 3.1 User Environment The users of this application in the hypothetical situation will include un- to medium- skilled workers in a factory or other organization which requires accurate detection of objects moving along a CB. The application will be run on a system will the following installed: 4. Unix OS QT 3.3 or later Product Overview This section defines the high level objectives view of Shapes in terms of its capabilities and interface. 4.2 Summary of Capabilities This table below details the main customer benefits which Shapes will exibit. Table 4-1 Customer Support System Customer Benefit Supporting Features Fewer staff required to sort object For each object which appears on the CB, Shapes sorts it into whether it is a certain object or whether it is not of importance. This means that staff members who are sorting are able to simply pick out those objects which are of interest. Lower error bound in sorting of objects CV will reduce the error in human sorting as minor changes will result in the failure of non-similar objects from being accepted as other objects (i.e.: circles vs. ovals). Easier access to statistics such as With each object which appears in the screen a percentage of object relative to the percentage and other statistics are automatically entire load provided to the user. Largely automated The process requires almost no human interaction as CV does the majority of the sorting and would only require human help in the testing phase. Availability of statistics on non-disc CV is able to sort object non-disc objects with a fair shapes 4.2 5. level of accuracy and therefore is hugely useful in sorting other shapes. Assumptions and Dependencies The following assumptions and dependencies of CV are defined below The objects will only appear from the right (i.e.: the CB is moving from right to left) At least one pixel of each object will appear in the furthest most right line of pixel with each frame of the video feed. No object will be partially out of the top of bottom bounds of the screen All objects will adhere to the standards which CB adhere to, i.e.: no object will appear in the middle of the CB. Lighting is standard and therefore all colours are standard according to first video feed image which appears. No object will begin with part of it outside the left bounds of the screen All changes will be passed through the project manager before being accepted Product Features This section serves as an introduction to the proposed features. 5.1 Identify Shapes Shapes will be identified on entry from the right and will be stored for future use 5.2 Differentiate between circles and other shapes Shapes will be categorized according to the type of shape and will be stored more specifically accordingly 5.3 Categorize circles into specific sizes Once circles are found they will be compared to previously identified circles and stored more specifically 5.4 Count the number of each size of circle When circles are found they will be counted according to there size and stored more specifically accordingly 5.5 Supply user friendly GUI A GUI will be creating which facilitates simple viewing of output and effective manipulation of inputs. 5.6 Guarantee specific accuracy of shape recognition The algorithm used will guarantee an accuracy above a to be determined percentage, this algorithm will be optimized as far as possible. 5.7 Provide Error margin in fit statistics In categorizing a shape, there will be a small error due to parts not being identical and a low resolution camera. This feature displays the error of fit. 5.8 Output requirements management Classification of shapes will be visual and absolute. 5.9 Sorting non-disc shapes The application will attempt to recognize and sort additional shapes and supply statistics for each shape. 5.10 Coloring of objects after classification After it has been determined that a shape belongs in a certain category, that shape will be coloured as per the category colour such that all shapes of a particular type and size will appear in the same colour in the output. 6. Constraints The following are constraints on the design of the project: 7. The project will only be able to handle greyscale images with black as the background and a grey as the foreground of the shapes. Precedence and Priority The features have the following priorities, with the ones listed on top having a higher priority then the ones below: 8. Identify Shapes Differentiate between circles and other shapes Categorize circles into specific sizes Count the number of each size of circle Guarantee specific accuracy of shape recognition Supply user friendly GU Output requirements management Provide Error margin in fit statistics Simulation of robotic sorting technique Coloring of objects after classification Sort other non disc shapes HIGH PRIORITY LOW PRIORITY Documentation Requirements This section describes the documentation requirements of the Shapes. 8.1 8.2 User Manual The User Manual shall how the Shapes is operated and includes the following: Minimum System Requirements Installation of the Shapes All System Features Customer Support Information The User Manual should range from 10 – 20 pages. The User Manual page dimensions shall be 7 by 9 inches. The User Manual shall be available as hardcopy. Installation Guides, Configuration, and Read Me File The Installation Guide for the server portion shall include: Minimum System Requirements Installation Instructions Configuring factory-specific Parameters The Read Me File will be available for display following installation. The Read Me File will also reside on disk and be available for viewing at any time by the user. The Read Me File shall include New release features Known bugs and workarounds.