OutlineProblemObjectiveDesign ArchitectureDiscussion of major modulesDiscussion of major modulesDiscussion of major ModulesSequential Component labeling algorithmSequential Component labeling continuedPossible extensions If there’s timeBacteria “Colonalyzer”Design ReviewMIT 6.111 Final ProjectYaw AnkuMIT Department of Electrical Engineering and Computer ScienceNovember 15, 20062Outline• Overview : problem & objective• Design Architecture• Discussion of major modules• Timeline3Problem• Water testing in remote location– Create bacteria culture on filter membrane from water samples– Count bacteria colonies after specified period ~ 24hrs• E.coli = blue count• Coliforms (other bacteria) = red count.– Example analysis for drinking water• No bacteria Î truly safe to drink• E. coli < 10 Î okay• E. coli < 50 Î acceptable, but not goodCurrent process involves manual counting – slow and prone to error4Objective• Automate counting process by digital analysis of scanned culture membrane image– Increase throughput and hence time to providing water purification advice/ solution– Provide more accurate bacteria concentration resultsHandheld scanner and analyzer tool5Design Architecture• High Level System Block Diagram6Discussion of major modules• RGB image generator/source– Input image from scanner/camera– Dummy image for purposes of testing blob detection algorithm on different shapes and orientationsMore realistic imageDummy image7Discussion of major modules• Blob (type) detector– Implementation iteration one : generates black and white binary image from input image– Implementation iteration two: distinguish between different image types/colors – blue vs. red– Operation• Sets threshold, T•Binary Æ• Different colors Æ8Discussion of major Modules• Image Processor– Utilizes a ‘connected component labelling algorithm to detect separate blobs – all connected components assigned unique label (1, 2, 3…)– Count number of sets of labelled components9Sequential Component labeling algorithm1. Scan the image from left to right and top to bottom.2. If the pixel is 1 , then(a) If only one of its upper or left neighbors has a label, then copy the label.(b) If both have the same label, then copy the same label.(c) If both have different labels, then copy the upper pixel’s label and enter the labels in an equivalence table as equivalent labels.(d) Otherwise assign a new label to this pixel and enter this label in the equivalence table.10Sequential Component labeling continued3. If there are more pixels to consider, then go to step 2.4. Find the lowest label for each equivalent set in theequivalence table.5. Scan the picture (second scan). Replace each label by the lowest label in its equivalent set.11Project TimelineComponent labelling Reference: web.cecs.pdx.edu/~mperkows/CLASS_479/12Possible extensions If there’s time• Implement detection/distinction between different blob colors• Allow user input to select region on image for analysis; using a
View Full Document