computer vision, machine, and deep learning

28
COMPUTER VISION, MACHINE, AND DEEP LEARNING WITH PYTHON Dr.Eng. Igi Ardiyanto

Upload: igi-ardiyanto

Post on 14-Feb-2017

190 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: Computer vision, machine, and deep learning

COMPUTER VISION, MACHINE, AND DEEP LEARNING WITH PYTHONDr.Eng. Igi Ardiyanto

Page 2: Computer vision, machine, and deep learning

PROFILEIgi Ardiyanto

Field of Interest :RoboticsComputer VisionIntelligent Transportation

SystemEmbedded SystemParallel ComputingDeep Learning

More Information ?? http://te.ugm.ac.id/~igi

Page 3: Computer vision, machine, and deep learning

What is Computer Vision?

Computer Vision, Machine, and Deep Learning with Python

Page 4: Computer vision, machine, and deep learning

COMPUTER VISIONMake computers understand images and video

What kind of scene?

Where are the people?

How far is the building?

Where is Waldo?

Like when human “sees” something …..

Page 5: Computer vision, machine, and deep learning

VISION IS REALLY HARD Vision is an amazing feat of

natural intelligence Visual cortex occupies about

50% of Macaque brain More human brain devoted

to vision than anything else

Sik…sik…. Iki dolanan opo panganan,

cuk?

Page 6: Computer vision, machine, and deep learning

OPTICAL CHARACTER RECOGNITION (OCR)

Digit recognition, AT&T labshttp://www.research.att.com/~yann/

Technology to convert scanned docs to text• If you have a scanner, it probably came with OCR software

License plate readershttp://en.wikipedia.org/wiki/Automatic_number_plate_recognition

Page 7: Computer vision, machine, and deep learning

FACE DETECTION

Many new digital cameras now detect faces Canon, Sony, Fuji, …

Page 9: Computer vision, machine, and deep learning

What is Machine Learning?

Computer Vision, Machine, and Deep Learning with Python

Page 10: Computer vision, machine, and deep learning

MACHINE LEARNING Machine learning is programming computers to optimize a

performance criterion using example data or past experience. There is no need to “learn” to calculate payroll Learning is used when:

Human expertise does not exist (navigating on Mars), Humans are unable to explain their expertise (speech

recognition) Solution changes in time (routing on a computer network) Solution needs to be adapted to particular cases (user

biometrics)

Page 11: Computer vision, machine, and deep learning

COMPUTER VISION MEETS MACHINE LEARNING

Dog Cat

Raccoon

Dog

Train:

Deploy:

Training Labels

TrainingImage Features

PredictionImage Features

Learned model

Page 12: Computer vision, machine, and deep learning

IMAGE FEATURES ??

ColorHistogramsShape…

Slide credit: L. Lazebnik

Page 13: Computer vision, machine, and deep learning

VERY BRIEF TOUR OF SOME CLASSIFIERS K-nearest neighbor SVM Boosted Decision Trees Neural networks Naïve Bayes Bayesian network Gaussian Logistic regression Random Forests RBMs Etc.

Page 14: Computer vision, machine, and deep learning

FACIAL ATTRACTIVENESS PREDICTION

Yoona: Score 3.6 Yuri: Score 3.4 Tiffany: Score 3.8

Page 15: Computer vision, machine, and deep learning

FACIAL ATTRACTIVENESS PREDICTIONhttps://github.com/avisingh599/face-rating

Yoona: Score 3.6

Yuri: Score 3.4

Tiffany: Score 3.8

Page 16: Computer vision, machine, and deep learning

What is Deep Learning?

Computer Vision, Machine, and Deep Learning with Python

Page 17: Computer vision, machine, and deep learning

1) A host of statistical machine learning techniques

2) Enables the automatic learning of feature hierarchies

3) Generally based on artificial neural networks

DEEP LEARNING

Page 18: Computer vision, machine, and deep learning

English and Mandarin speech recognition Transition from English to Mandarin made simpler by end-

to-end DL No feature engineering or Mandarin-specifics required

More accurate than humans Error rate 3.7% vs. 4% for human tests

http://arxiv.org/abs/1512.02595

END-TO-END DEEP LEARNING FOR ENGLISH AND MANDARIN SPEECH RECOGNITION

BAIDU DEEP SPEECH 2

Page 19: Computer vision, machine, and deep learning

FIRST COMPUTER PROGRAM TO BEAT A HUMAN GO PROFESSIONAL

Training DNNs : 3 weeks, 340 million training steps on 50 GPUs Play : Asynchronous multi-threaded search

Simulations on CPUs, policy and value DNNs in parallel on GPUs Single machine: 40 search threads, 48 CPUs, and 8 GPUs

Distributed version: 40 search threads, 1202 CPUs and 176 GPUs

Outcome: Beat both European and World Go champions in best of 5 matches

ALPHA-GO

Page 20: Computer vision, machine, and deep learning

DEEP LEARNING EVERYWHERE

INTERNET & CLOUDImage Classification

Speech Recognition Language Translation Language Processing Sentiment Analysis

Recommendation

MEDIA & ENTERTAINMEN

TVideo Captioning

Video SearchReal Time Translation

AUTONOMOUS MACHINESPedestrian

Detection Lane Tracking Recognize

Traffic Sign

SECURITY & DEFENSE

Face Detection Video

Surveillance Satellite Imagery

MEDICINE & BIOLOGYCancer Cell

Detection Diabetic Grading Drug Discovery

Page 21: Computer vision, machine, and deep learning

So what’s the f*** there for Python?

Computer Vision, Machine, and Deep Learning with Python

Page 22: Computer vision, machine, and deep learning

WHAT IS PYTHON? General purpose interpreted programming language

Widely used by scientists and programmers of all stripes

Supported by many 3rd-party libraries (currently 21,054 on the main python package website)

Free!

Page 23: Computer vision, machine, and deep learning

WHY IS IT WELL-SUITED TO SCIENCE? NumPy

Numerical library for python Written in C, wrapped by python Fast

Scipy Built on top of NumPy (i.e. Also fast!) Common maths, science, engineering routines

Matplotlib Hugely flexible plotting library Similar syntax to Matlab Produces publication-quality output

Page 24: Computer vision, machine, and deep learning

WHY IS PYTHON BETTER THAN WHAT I USE NOW? It can do everything

Fast mathematical operations Easy file manipulation Format conversion Plotting Scripting Command line

OK, not everything Write thesis for you

Page 25: Computer vision, machine, and deep learning

Python has a wide range of deep learning-related libraries available

Low level

High level

(efficient gpu-powered math)

(theano-wrapper, models in python code, abstracts theano away)

(wrapper for theano, yaml, experiment-oriented) (computer-vision oriented DL framework,model-zoo, prototxt model definitions) pythonification ongoing!

(theano-extension, models in python code, theano not hidden)

and of course:

Page 26: Computer vision, machine, and deep learning

HOW EASY TO PROGRAM??

Page 27: Computer vision, machine, and deep learning

HOW EASY TO PROGRAM??

Page 28: Computer vision, machine, and deep learning

DEMO