Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A brief introduction to computer vision

Helen
April 01, 2017
17

A brief introduction to computer vision

On this workshop, we are going to get acquainted with the basics of the computer vision theory, look into an open source computer vision library OpenCV, study algorithms of motion detection and implement our first application for the smart home.

Helen

April 01, 2017
Tweet

Transcript

  1. … or deep learning =) human error - 4%
 the

    best machine result - 2.7% clickme
  2. • 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
  3. 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
  4. 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”.
  5. –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
  6. –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
  7. –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
  8. –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
  9. 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
  10. 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
  11. 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)
  12. 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
  13. –Johnny Appleseed Bulk Motion. Problems • cannot detect very slow

    moving objects • cant handle a rotating object
  14. 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
  15. 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
  16. Optical Flow It is 2D vector field where each vector

    is a displacement vector showing the movement of points from first frame to second
  17. 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
  18. 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
  19. • 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