180 likes | 427 Views
Machine Vision: Image Processing Algorithms. Travis Anderson October 14, 2009. Uses – Who, What, and Where. Machine Vision is used everywhere! Manufacturing Facilities (defect detection) Packaging Facilities (count and orient objects) Advanced Google Image Search
E N D
Machine Vision:Image Processing Algorithms Travis Anderson October 14, 2009
Uses – Who, What, and Where • Machine Vision is used everywhere! • Manufacturing Facilities (defect detection) • Packaging Facilities (count and orient objects) • Advanced Google Image Search • Driving (stop lights, BYU Parking) • Supermarket (barcodes) • Face Recognition
Current State - Techniques • Optical Character Recognition (OCR) Automatically reads text (such as serial numbers). Many computer scanners and web applications offer OCR for scanned documents. • Template Matching Finds, matches, and/or counts specific patterns • Gauging Measures object dimensions. • Edge Detection Finds the edges of an object • Barcode Reading
Current State – Techniques (cont.) • Pixel Counting Counts the number of light or dark pixels • Thresholding Converts a grayscale image to black and white (e.g. any pixel with a light intensity above a threshold becomes white and any pixel intensity below the threshold becomes black) • Segmentation Used to locate and/or count parts • Recognition-by-Components – Basic geometric shapes (geons) are extracted from visual input. • Robust Pattern Recognition – Objects can still be located, even if they are rotated, different sizes, or partially hidden by another object. • Blob Detection (“Connection Component Labeling”) – Blobs could be manufacturing failures or targets for machining or robotic capture.
Blob Detection Algorithm • Establish a comparison criterion (e.g. a defined light intensity difference). • Start with the top-left pixel and assign the pixel to a region. • Check each neighboring pixel against the comparison criterion. If it meets the criterion, assign the pixel to the same region. If not, assign the pixel to a new region. • Repeat the process, but looking at regions instead of pixels. If the regions are the same, combine them.
Limitations • Camera Equipment can be very expensive • The greater speed and accuracy needed, the more processing power you need • Software can be very expensive • Networking limitations (speed, reliability)
Software Packages & Costs • OpenCV • Cost: Free! • Example Applications: • Human-Computer Interaction (HCI) • Object Identification, Segmentation and Recognition • Face Recognition • Gesture Recognition • Camera and Motion Tracking, Ego Motion, Motion Understanding • Structure From Motion (SFM) • Stereo and Multi-Camera Calibration and Depth Computation • Mobile Robotics. • National Instruments Vision Development Module • Cost: $3,599 • Accuracy: Subpixelaccuracy down to 1/10 of a pixel and 1/10 of a degree • RoboRealm™ • Cost: $89.00 • Modules: RGB Filter, Threshold, Convulution Filter, Write AVI, Equalize, Saturation, SSC • OCR • http://www.free-ocr.com/- Free
Supporting Technology • Camera • Camera Interface (“frame grabber”) • Processor (embedded or on a computer) • Digital I/O (communication network links) • Image Processing Software • Trigger Sensor
Standards Networking • IEEE 1394 • Wireless 802.11 • Bluetooth/RS232 • USB • Gigabit Ethernet Programming • LabVIEW • C/C++ • Visual Basic • .NET
References • http://opencv.willowgarage.com/wiki/Welcome • http://www.machinevisiononline.org/ • http://en.wikipedia.org/wiki/Machine_vision • http://www.free-ocr.com/ • http://www.roborealm.com/screenshots/index.php • http://www.ni.com/vision/ • http://en.wikipedia.org/wiki/Blob_extraction • http://www.myfloridalicense.com/dbpr/os/communications_office/lyris/bottomline/20080208/SugarPackaging.gif