Machine Learning Damon Waring 22 April 2003
2 of 15 Agenda Problem, Solution, Benefits Problem, Solution, Benefits Machine Learning Overview/Basics Machine Learning Overview/Basics Face detection, recognition, and demo Face detection, recognition, and demo How this applies to us How this applies to us Summary Summary
3 of 15 Problem Software frequently requires users or developers to do simple, repetitive tasks
4 of 15 Solution Machine Learning Machine Learning “The study of computer algorithms that improve automatically through experience” –Tom Mitchell, Machine Learning “The study of computer algorithms that improve automatically through experience” –Tom Mitchell, Machine Learning Machine learning uses include: Machine learning uses include: Security (Pattern recognition, face recognition) Security (Pattern recognition, face recognition) Business (Stocks, user behaviors) Business (Stocks, user behaviors) Medical (Research) Medical (Research) Ease of Use (Focus of this presentation) Ease of Use (Focus of this presentation) Algorithms that execute based on experience
5 of 15 Benefits Makes human-computer interaction easier Makes human-computer interaction easier Relatively simple to integrate Relatively simple to integrate Will distinguish your product from others Will distinguish your product from others Increase customer satisfaction Increase customer satisfaction Will improve simple intelligent systems (ex: Microsoft Word’s grammar checker) Will improve simple intelligent systems (ex: Microsoft Word’s grammar checker) Enhances the user experience
6 of 15 High Level Operation: Recognition Algorithms Training Mode Training Mode Training Set Training Set Iteratively analyze inputs and refine algorithm Iteratively analyze inputs and refine algorithm Store learned data Store learned data Operation Mode New input Process input using learned data Produce a decision Recognition algorithms are taught and react like humans “Learn from nature. It has had 4 billion years to develop its techniques” – My Dad
7 of 15 Case Study: Artificial Neural Network Takes N inputs Takes N inputs Calculates the weight each input has on final decision Calculates the weight each input has on final decision Neuron outputs a 1 if the decision is true, 0 if it is false Neuron outputs a 1 if the decision is true, 0 if it is false Groups of neurons make up an artificial neural network Groups of neurons make up an artificial neural network Group of weighted input values determine a binary output
8 of 15 Face Detection 1. Image pyramid used to locate faces of different sizes 2. Image lighting compensation 3. Neural Network detects rotation of face candidate 4. Final face candidate de-rotated ready for detection
9 of 15 Face Detection (Con’t) 5. Submit image to Neural Network a. Break image into segments b. Each segment is a unique input to the network c. Each segment looks for certain patterns (eyes, mouth, etc) 6. Output is likelihood of a face
10 of 15 Face Recognition and demo Demo: Hidden Markov Model Face Recognition Demo: Hidden Markov Model Face Recognition Observes location of facial features with respect to each other Observes location of facial features with respect to each other Person is found through unique “fingerprint” created by distances between features Person is found through unique “fingerprint” created by distances between features Demo is from OpenCV – Intel’s open source computer vision library Demo is from OpenCV – Intel’s open source computer vision library Implementations vary widely and have different success rates
11 of 15 Adobe Photoshop Album Software that organizes digital pictures Software that organizes digital pictures Tags are dragged to each photo to categorize it Tags are dragged to each photo to categorize it Tagging 100’s of photos is tedious Tagging 100’s of photos is tedious Face recognition could automatically tag photos or replace tags altogether Face recognition could automatically tag photos or replace tags altogether Machine learning can be used to make everyday apps easier
12 of 15 Current Uses of ML DivX – Face detection DivX – Face detection POV-Ray – Neural Net learns memory accesses POV-Ray – Neural Net learns memory accesses Ancestry.com – Uses Optical Character Recognition to digitize newspapers Ancestry.com – Uses Optical Character Recognition to digitize newspapers Deep Blue Junior – Less powerful than Deep Blue, but smarter because of Neural Networks Deep Blue Junior – Less powerful than Deep Blue, but smarter because of Neural Networks
13 of 15 Other Areas Artificial Intelligence (AI) Artificial Intelligence (AI) Data Mining Data Mining Fuzzy Logic Fuzzy Logic Optical Character Recognition (OCR) Optical Character Recognition (OCR)
14 of 15 Summary Machine learning is possible today Machine learning is possible today Large amounts of research are available Large amounts of research are available Quality open source code available in some areas Quality open source code available in some areas Will require time and creativity to implement Will require time and creativity to implement Why do it? Makes human-computer interface simpler Why do it? Makes human-computer interface simpler
15 of 15 References Books Books Machine Learning by Tom Mitchell ( Machine Learning by Tom Mitchell ( Web sites Web sites Hidden Markov Models Hidden Markov Models Links recommended by PCAI Links recommended by PCAI CMU’s research areas (scroll down): CMU’s research areas (scroll down): MIT’s Media Lab: MIT’s Media Lab: Computer vision links: Computer vision links: Open source computer vision library (OpenCV): Open source computer vision library (OpenCV): Journals Journals PCAI (a great industry magazine, web site is bad)- PCAI (a great industry magazine, web site is bad)- ScienceDirect ( “Computer Vision and Image Understanding,” “Artificial Intelligence,” “Neural Networks” ScienceDirect ( “Computer Vision and Image Understanding,” “Artificial Intelligence,” “Neural Networks” IEEE Proceedings ( “Pattern Analysis and Machine Intelligence,” “Image Processing” IEEE Proceedings ( “Pattern Analysis and Machine Intelligence,” “Image Processing” IEEE Papers/Proceedings referenced in this presentation IEEE Papers/Proceedings referenced in this presentation Hidden Markov Models (used in OpenCV Demo) “Maximum likelihood training of the embedded HMM for face detection and recognition.” Nefian, A.V.; Hayes, M.H. III; Image Processing, Proceedings International Conference on, Volume: 1, Pages Hidden Markov Models (used in OpenCV Demo) “Maximum likelihood training of the embedded HMM for face detection and recognition.” Nefian, A.V.; Hayes, M.H. III; Image Processing, Proceedings International Conference on, Volume: 1, Pages “Neural network-based face detection.” Rowley, H.A.; Baluja, S.; Kanade, T; Pattern Analysis and Machine Intelligence, IEEE Transactions on, Volume 20 Issue 1, Jan Pages (Paper posted at: “Neural network-based face detection.” Rowley, H.A.; Baluja, S.; Kanade, T; Pattern Analysis and Machine Intelligence, IEEE Transactions on, Volume 20 Issue 1, Jan Pages (Paper posted at: “Rotation Invariant Neural Network-Based Face Detection” “Rotation Invariant Neural Network-Based Face Detection”