Slide 1

Slide 1 text

A Brief Introduction to Computer Vision

Slide 2

Slide 2 text

Computer vision is automation of tasks that the human visual system can do…

Slide 3

Slide 3 text

and overperforming in these tasks! e.g. using thresholding

Slide 4

Slide 4 text

… or deep learning =) human error - 4%
 the best machine result - 2.7% clickme

Slide 5

Slide 5 text

How is it being used today?

Slide 6

Slide 6 text

• Optical character recognition (a) • Machine inspection (b) • Retail (c) • 3D model building • Medical imaging (d) • Automotive safety (e) • Match move • Motion capture • Surveillance (f) • Fingerprint recognition and biometrics

Slide 7

Slide 7 text

Consumer-level Applications • Stitching (a) • Exposure bracketing (b) • Morphing (c) • 3D modeling (d) • Video match move and stabilization • Photo-based walkthroughs • Face detection • Visual authentication

Slide 8

Slide 8 text

A brief history

Slide 9

Slide 9 text

1966: Marvin Minsky at MIT asked his undergraduate student to “spend the summer linking a camera to a computer and getting the computer to describe what it saw”.

Slide 10

Slide 10 text

–Johnny Appleseed “Type a quote here.” Shakey the Robot (1966 - 1972)

Slide 11

Slide 11 text

–Johnny Appleseed Some early (1970s) examples of computer vision algorithms (a) line labeling (b) pictorial structures (c) articulated body model (generalised cylinders) (d) intrinsic images (e) stereo correspondence (f) optical flow

Slide 12

Slide 12 text

–Johnny Appleseed Examples of computer vision algorithms from the 1980s (a) image blending (b) shape from shading (c) edge detection (d) physically based models (e) regularisation-based surface reconstruction (f) range data acquisition and merging

Slide 13

Slide 13 text

–Johnny Appleseed Examples of computer vision algorithms from the 1990s (a) factorisation-based structure from motion (b) dense stereo matching (c) multi-view reconstruction (d) face tracking (e) image segmentation (f) face recognition

Slide 14

Slide 14 text

–Johnny Appleseed Modern history (a) image-based rendering (b) image-based modelling (c) interactive tone mapping (d) texture synthesis (e) feature-based recognition (f) region-based recognition

Slide 15

Slide 15 text

–Johnny Appleseed Modern history Deep learning!

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

War Story

Slide 18

Slide 18 text

OpenCV

Slide 19

Slide 19 text

Back then… • launched in 1999 by Intel's research center in Nizhny Novgorod (Russia) • later supported by Willow Garage and is now maintained by Itseez • In August 2012, support for OpenCV was taken over by a non-profit foundation OpenCV.org

Slide 20

Slide 20 text

And now • BSD-licensed product • more than 2500 optimised algorithms (both classic and state-of-the-art computer vision and machine learning algorithms) • more than 47,000 people of user community • C++, C, Python, Java and MATLAB interfaces • supports Windows, Linux, Mac OS, Android and iOS • full-featured CUDA and OpenCL interfaces are being actively developed

Slide 21

Slide 21 text

Motion Detection

Slide 22

Slide 22 text

Approaches • Infrared (passive and active sensors) • Optics (video and camera systems) • Radio Frequency Energy (radar, microwave and tomographic motion detection) • Sound (microphones and acoustic sensors) • Vibration (triboelectric, seismic, and inertia- switch sensors) • Magnetism (magnetic sensors and magnetometers)

Slide 23

Slide 23 text

Optic Approaches

Slide 24

Slide 24 text

Bulk Motion calculate the middle mass in frame 1 wait X seconds calculate the middle mass in frame 2 if (mm_frame_1 - mm_frame_2) > threshold) then motion detected or calculate the average of a selected color in frame 1 wait X seconds calculate the average of a selected color in frame 2 if (abs(avg_frame_1 - avg_frame_2) > threshold) then motion detected

Slide 25

Slide 25 text

–Johnny Appleseed Bulk Motion. Problems • cannot detect very slow moving objects • cant handle a rotating object

Slide 26

Slide 26 text

Tracking calculate the middle mass in frame 1 wait X seconds calculate the middle mass in frame 2 speed = (mm_frame_1 - mm_frame_2) * distance/per_pixel

Slide 27

Slide 27 text

Tracking. Problems • might be difficult to determine the distance to pixel ratio if your camera is at an angle to the horizon or experiences the lens effect • when multiple objects cross over each other the algorithm gets confused which blob is which

Slide 28

Slide 28 text

Optical Flow It is 2D vector field where each vector is a displacement vector showing the movement of points from first frame to second

Slide 29

Slide 29 text

Optical Flow. Problems It works on such assumptions: • the pixel intensities of an object do not change between consecutive frames • neighbouring pixels have similar motion

Slide 30

Slide 30 text

Background Subtraction capture two frames compare the pixel colors on each frame if the colors are the same replace with the color white else keep the new pixel

Slide 31

Slide 31 text

Background Subtraction. Problems if the object stops moving, then it becomes invisible

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

–Johnny Appleseed “Type a quote here.”

Slide 34

Slide 34 text

• http://opencv.org/books.html • http://opencv.org/links.html • http://szeliski.org/Book/ • https://www.intorobotics.com/opencv-tutorials-best-of/ • https://classroom.udacity.com/courses/ud810 • https://cw.fel.cvut.cz/wiki/courses/ae4m33mpv/labs/start • http://www.pyimagesearch.com/free-opencv-crash-course • QUT robotics courses https://www.qut.edu.au/study/open-online-learning Good-reads

Slide 35

Slide 35 text

Thank you! Any questions?