28
AI meets the Real World

AI meets real world

  • Upload
    balepc

  • View
    44

  • Download
    0

Embed Size (px)

Citation preview

AI meets the Real World

Pet project

The problem

Building kit

Putting it all together

System check

Computer vision

Deep Learning vs Traditional vision techniques

● Image processing● Histograms● Smoothing and blurring● Thresholding● Gradients and edge detection● Contours● Machine Learning

How to find an object?

Color based detection● Define color boundaries (eg green)

greenLower = (20, 100, 100)greenUpper = (40, 255, 255)

● Apply maskmask = cv2.inRange(image, greenLower, greenUpper)

● Blur & Smoothmask = cv2.erode(mask)mask = cv2.dilate(mask)

● Find contourscnts = cv2.findContours(mask)

Image thresholding

● Apply filterscv2.GaussianBlur

● Apply thresholdcv2.adaptiveThreshol

● Find contourscv2.findContours

● Calculate shapeedges = cv2.approxPolyDParea = cv2.contourAreaIf len(edges) == 4 and area > 100: print “square”

Edge detection

● Apply filterscv2.bilateralFilter

● Edge detectioncv2.Canny

● Find contourscv2.findContours

● Easy to start● Real time processing

● Sensitive to lighting● Sensitive to noise● Need to choose socks

properly

Can Machine Learning do better?

Preparing the data● Color scheme● Size of sample images● Blurring / smoothing● Number of positive / negative samples

Feature extraction● Haar feature● Histogram of oriented gradients● Scale invariant feature transform● Speeded up robust feature● Local binary pattern

Learning algorithm● Support Vector Machines● Random forests● Cascade classifier● ANN

Training

Detecting

● Load cascadecascade = cv2.CascadeClassifier('your_cascade.xml')

● Detect objectcascade.detectMultiScale(image)

● Different shapes● Lighting robustness

● Training is time consuming

● Many false-positives

Showreel

What is not covered? ● Deep learning● Object tracking● Stereo image● Optical flow● ...

● iRobot● First lunar rover● Curiosity rover● Tesla self-driving car

What is under the hood of ...

How to get started?