廣宣學堂: 機器視覺初探 10152017

124
ŘȄȅhě ,¸ļǠŘ & ïÈ® & s Jerry

Upload: paul-chao

Post on 23-Jan-2018

300 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 廣宣學堂: 機器視覺初探 10152017

& &

Jerry

Page 2: 廣宣學堂: 機器視覺初探 10152017

•• ”

•• Founder

•• MITedX/MandarinX

•• https://www.ap-mic.com

• http://dataology.blogspot.tw

• https://www.linkedin.com/in/jerry2012/

���(Jerry)

[email protected] 2

Page 3: 廣宣學堂: 機器視覺初探 10152017

�������

�������

�����

3

�������������������

Page 4: 廣宣學堂: 機器視覺初探 10152017

VM

Page 5: 廣宣學堂: 機器視覺初探 10152017

• vmware-tools-distrib

• sudo ./vmware-install.pl

Page 6: 廣宣學堂: 機器視覺初探 10152017

Jupyter Notebook

• sudo pip3installjupyter• sudo apt-getinstallpython3-matplotlib

Page 7: 廣宣學堂: 機器視覺初探 10152017
Page 8: 廣宣學堂: 機器視覺初探 10152017

(ComputerVision)

•Makecomputersunderstandimagesandvideo.

Page 9: 廣宣學堂: 機器視覺初探 10152017

-

Page 10: 廣宣學堂: 機器視覺初探 10152017

-

Page 11: 廣宣學堂: 機器視覺初探 10152017

-

U

Page 12: 廣宣學堂: 機器視覺初探 10152017

• Safety• Health• Security• Comfort

• Fun• Access• …….

Page 13: 廣宣學堂: 機器視覺初探 10152017

• 1960• 1970• 1990 C 3

• 2000• 2030

Page 14: 廣宣學堂: 機器視覺初探 10152017
Page 15: 廣宣學堂: 機器視覺初探 10152017

-OCR

(OCR,OpticalCharacterRecognition)

Page 16: 廣宣學堂: 機器視覺初探 10152017

- Facedetection

Page 17: 廣宣學堂: 機器視覺初探 10152017

- Smiledetection

Page 18: 廣宣學堂: 機器視覺初探 10152017

- Objectrecognition

Page 19: 廣宣學堂: 機器視覺初探 10152017

- Vision-basedbiometrics

Page 20: 廣宣學堂: 機器視覺初探 10152017

- Loginwithoutapassword

Page 21: 廣宣學堂: 機器視覺初探 10152017

- ShapeCapture&MotionCapture

Page 22: 廣宣學堂: 機器視覺初探 10152017

- Self-DrivingCars

Mobileye

– Visionsystemscurrentlyinhigh-endBMW,GM,Volvo,Tesla

Page 23: 廣宣學堂: 機器視覺初探 10152017

- InteractiveGames:Kinect

Page 24: 廣宣學堂: 機器視覺初探 10152017

- Industrialrobots

Page 25: 廣宣學堂: 機器視覺初探 10152017

- Medicalimaging

Page 26: 廣宣學堂: 機器視覺初探 10152017
Page 27: 廣宣學堂: 機器視覺初探 10152017
Page 28: 廣宣學堂: 機器視覺初探 10152017

• ViewpointVariations

Page 29: 廣宣學堂: 機器視覺初探 10152017

image credit: J. Koenderink

Page 30: 廣宣學堂: 機器視覺初探 10152017

a

Page 31: 廣宣學堂: 機器視覺初探 10152017

• Occlusion

image credit: Magritte, 1957

Page 32: 廣宣學堂: 機器視覺初探 10152017

• Clutter

Page 33: 廣宣學堂: 機器視覺初探 10152017
Page 34: 廣宣學堂: 機器視覺初探 10152017

3D

• OpticalIllusions

Page 35: 廣宣學堂: 機器視覺初探 10152017

OpenCV?

Page 36: 廣宣學堂: 機器視覺初探 10152017

OpenCV

• OpenCV 2000 17

• Intel

• *••

• S

• OpenCV C++

• ' Python,Java,Matlab,C#,Ruby

• OpenCV• Windows MacOS Linux Android

Page 37: 廣宣學堂: 機器視覺初探 10152017

Python+OpenCV

• P OpenCV

• (CV)

• OpenCV

• Python Numpy Scikit-learn

• BSD S

•• Windows Mac Linux

•' CUDA GPU

• Python

Page 38: 廣宣學堂: 機器視覺初探 10152017

?

Page 39: 廣宣學堂: 機器視覺初探 10152017
Page 40: 廣宣學堂: 機器視覺初探 10152017

Title

Page 41: 廣宣學堂: 機器視覺初探 10152017

RGB

Page 42: 廣宣學堂: 機器視覺初探 10152017
Page 43: 廣宣學堂: 機器視覺初探 10152017

3

••

Page 44: 廣宣學堂: 機器視覺初探 10152017

3

Page 45: 廣宣學堂: 機器視覺初探 10152017

3

Page 46: 廣宣學堂: 機器視覺初探 10152017

RGB &HSV

• RGB U RGBcolormodel

Red Green Blue

a V

• HSL Hue,Saturation,

Lightness HSL

• H

• S

0-100%

• V 0-100%

Page 47: 廣宣學堂: 機器視覺初探 10152017

3

OpenCV storescolorintheBGRformat.

Page 48: 廣宣學堂: 機器視覺初探 10152017

3

RGB 3

Page 49: 廣宣學堂: 機器視覺初探 10152017

3 (RGB)

BGR

Page 50: 廣宣學堂: 機器視覺初探 10152017

• cv2.calcHist(images,channels,mask,histSize,ranges[,hist[,

accumulate]])

• images:

• Channels [0] [0],[1],[2]( )

• Mask None

• histSize 3 bins [256]

• Ranges [0,256]

Page 51: 廣宣學堂: 機器視覺初探 10152017

ravel() array

calcHist

enumerate col

Page 52: 廣宣學堂: 機器視覺初探 10152017
Page 53: 廣宣學堂: 機器視覺初探 10152017

OpenCV

•3 (Square)

np.zeros array

Page 54: 廣宣學堂: 機器視覺初探 10152017

OpenCV

• (Line)

Cv2.line( )

Page 55: 廣宣學堂: 機器視覺初探 10152017

OpenCV

• 3 (Rectangle)

Page 56: 廣宣學堂: 機器視覺初探 10152017

OpenCV

• (Circle)

Page 57: 廣宣學堂: 機器視覺初探 10152017

OpenCV

• (Polygon)

Page 58: 廣宣學堂: 機器視覺初探 10152017

ImageManipulations

Page 59: 廣宣學堂: 機器視覺初探 10152017

(Transformations)

• (Transformations) : (Affine) (Non-Affine)

• (Affine)

• (Non-Affine) Scaling

Rotation

Translation

Page 60: 廣宣學堂: 機器視覺初探 10152017

(Translations)

Tx 311.25

Ty 207.5

TxTy

Page 61: 廣宣學堂: 機器視覺初探 10152017

(Rotations)Cos θ -Sin θ

Sinθ Cosθ

θ ”

θ

*X Y

Page 62: 廣宣學堂: 機器視覺初探 10152017

(Rotations)-Transpose

Page 63: 廣宣學堂: 機器視覺初探 10152017

c (HorizontalFlip)1 c0

-1 c

Page 64: 廣宣學堂: 機器視覺初探 10152017

*(Scaling) (Resizing) (Interpolations)

* 3/4

cv2.INTER_AREA

* cv2.INTER_CUBIC

resize cv2.INTER_LINEAR

None Fx Fy *

Page 65: 廣宣學堂: 機器視覺初探 10152017

(ImagePyramids)

Page 66: 廣宣學堂: 機器視覺初探 10152017

(Cropping)

Page 67: 廣宣學堂: 機器視覺初探 10152017

r (Added)& (Subtracted)

Mr

Page 68: 廣宣學堂: 機器視覺初探 10152017

(Bitwise)&“ (Masking)

Page 69: 廣宣學堂: 機器視覺初探 10152017

BitwiseOperationsandMasking

3

Page 70: 廣宣學堂: 機器視覺初探 10152017

(Convolutions)&U (Blurring)

Page 71: 廣宣學堂: 機器視覺初探 10152017

(Sharpening)

Page 72: 廣宣學堂: 機器視覺初探 10152017

Thresholding,Binarization &AdaptiveThresholding

127 0 255

127 255 127 0

127 127 255

127 0 127

127 127 0

Page 73: 廣宣學堂: 機器視覺初探 10152017

Thresholding,Binarization &AdaptiveThresholding

127 0 255

U o

Adaptive Threshold

y

Page 74: 廣宣學堂: 機器視覺初探 10152017

(Dilation)& (Erosion)

Kernel

Page 75: 廣宣學堂: 機器視覺初探 10152017

u(EdgeDetection)

Sobel

## threshold1 threshold2

R 2

1

1 2 e

#intensities 60 R

120

Canny u RR

Page 76: 廣宣學堂: 機器視覺初探 10152017

u(EdgeDetection)

Page 77: 廣宣學堂: 機器視覺初探 10152017

(PerspectiveTransform)

4

A4 1 1.41 a

Page 78: 廣宣學堂: 機器視覺初探 10152017

(PerspectiveTransform)

Page 79: 廣宣學堂: 機器視覺初探 10152017

Webcam Sketch

GuassianBlurs

cap VideoCapture

frame

Page 80: 廣宣學堂: 機器視覺初探 10152017

ImageSegmentation

Page 81: 廣宣學堂: 機器視覺初探 10152017

(Contours)

3

Page 82: 廣宣學堂: 機器視覺初探 10152017

(SortingContours)

Canny

Page 83: 廣宣學堂: 機器視覺初探 10152017

LineDetection- UsingHoughLines

Canny

1 rho HoughLines

np.pi/180 1

240

Page 84: 廣宣學堂: 機器視覺初探 10152017

LineDetection- UsingHoughLines(2)

Page 85: 廣宣學堂: 機器視覺初探 10152017

BlobDetection

u

u

u blob

Page 86: 廣宣學堂: 機器視覺初探 10152017

CountingCirclesandEllipses(1)

u

u

blob

Page 87: 廣宣學堂: 機器視覺初探 10152017

Identifiy ContoursbyShape(2)y

y

y

y

y

u

u

Page 88: 廣宣學堂: 機器視覺初探 10152017

uObjectDetection

Page 89: 廣宣學堂: 機器視覺初探 10152017

(Waldo)

Martin Handford

n——

D

Page 90: 廣宣學堂: 機器視覺初探 10152017

FindingWaldo

Page 91: 廣宣學堂: 機器視覺初探 10152017

FindingCorners

cornerHarris float32

Page 92: 廣宣學堂: 機器視覺初探 10152017

FeatureDetection- SIFT

SIFTFeatureDetector

u

Page 93: 廣宣學堂: 機器視覺初探 10152017

FeatureDetection- SURF

SURFFeatureDetector

Page 94: 廣宣學堂: 機器視覺初探 10152017

FeatureDetection- FAST

FAST u #fast=cv2.FastFeatureDetector

Page 95: 廣宣學堂: 機器視覺初探 10152017

FeatureDetection-OrientedFASTandRotatedBRIEF(ORB)

ORB

Page 96: 廣宣學堂: 機器視覺初探 10152017

HistogramofOrientedGradients(1)

hxw( )

hxw

OpenCV HOG

winSize

hog_feats numpy

Page 97: 廣宣學堂: 機器視覺初探 10152017

HistogramofOrientedGradients(2)

# R

Matplotlib HOG

360/nbins*3

Page 98: 廣宣學堂: 機器視覺初探 10152017

SIFTWebcamDemo

Runfeature_homography.py

Page 99: 廣宣學堂: 機器視覺初探 10152017

uFaceDetection

Page 100: 廣宣學堂: 機器視覺初探 10152017

u

OpenCV CascadeClassifier

XML-

u ROI

u face_classifier

faces

Page 101: 廣宣學堂: 機器視覺初探 10152017

u

Page 102: 廣宣學堂: 機器視覺初探 10152017

Webcam Demo(1)

Page 103: 廣宣學堂: 機器視覺初探 10152017

MergingFaces(1)

U

Page 104: 廣宣學堂: 機器視覺初探 10152017

MergingFaces(2)

x y

Page 105: 廣宣學堂: 機器視覺初探 10152017

MergingFaces(3)

Page 106: 廣宣學堂: 機器視覺初探 10152017

MergingFaces(4)

t e

Page 107: 廣宣學堂: 機器視覺初探 10152017

MergingFaces(5)

Page 108: 廣宣學堂: 機器視覺初探 10152017

MergingFaces(6)

Page 109: 廣宣學堂: 機器視覺初探 10152017

MergingFaces(7)

Page 110: 廣宣學堂: 機器視覺初探 10152017

MotionAnalysis- YawnDetectorandCounting

• OpenCV u

Page 111: 廣宣學堂: 機器視覺初探 10152017

YawnDetectorandCounting(1)

Page 112: 廣宣學堂: 機器視覺初探 10152017

YawnDetectorandCounting(2)

Page 113: 廣宣學堂: 機器視覺初探 10152017

YawnDetectorandCounting(3)

Page 114: 廣宣學堂: 機器視覺初探 10152017

• OpenCV iPhone X FaceID

• c

• 2D3 3D

• iPhone X (Infrared)

Page 115: 廣宣學堂: 機器視覺初探 10152017

- U

numpy

numpy

U

Page 116: 廣宣學堂: 機器視覺初探 10152017

- Webcam Demo(1)

Page 117: 廣宣學堂: 機器視覺初探 10152017

- Webcam Demo(2)

U uc

Page 118: 廣宣學堂: 機器視覺初探 10152017

• face_recognitionexamples/facerec_

from_webcam.py

Page 119: 廣宣學堂: 機器視覺初探 10152017

ObjectTracking

Page 120: 廣宣學堂: 機器視覺初探 10152017

(ObjectTracking)

• u

• u Video

Tracking 3

• (OpticalFlow)

Page 121: 廣宣學堂: 機器視覺初探 10152017

(ObjectTracking)

u

Lucaskanade

Page 122: 廣宣學堂: 機器視覺初探 10152017

(ObjectTracking)

1

Page 123: 廣宣學堂: 機器視覺初探 10152017

[email protected]@mail.ntust.edu.tw

[email protected] 123

Page 124: 廣宣學堂: 機器視覺初探 10152017

• opencv examples/lk_homography.py

• opencv examples/python3lk_track.py