Mastering OpenCV 3 - Second Edition

More Information
Learn
  • Execute basic image processing operations and cartoonify an image
  • Build an OpenCV project natively with Raspberry Pi and cross-compile it for Raspberry Pi.text
  • Extend the natural feature tracking algorithm to support the tracking of multiple image targets on a video
  • Use OpenCV 3’s new 3D visualization framework to illustrate the 3D scene geometry
  • Create an application for Automatic Number Plate Recognition (ANPR) using a support vector machine and Artificial Neural Networks
  • Train and predict pattern-recognition algorithms to decide whether an image is a number plate
  • Use POSIT for the six degrees of freedom head pose
  • Train a face recognition database using deep learning and recognize faces from that database
About

As we become more capable of handling data in every kind, we are becoming more reliant on visual input and what we can do with those self-driving cars, face recognition, and even augmented reality applications and games. This is all powered by Computer Vision.

This book will put you straight to work in creating powerful and unique computer vision applications. Each chapter is structured around a central project and deep dives into an important aspect of OpenCV such as facial recognition, image target tracking, making augmented reality applications, the 3D visualization framework, and machine learning. You’ll learn how to make AI that can remember and use neural networks to help your applications learn.

By the end of the book, you will have created various working prototypes with the projects in the book and will be well versed with the new features of OpenCV3.

Features
  • Updated for OpenCV 3, this book covers new features that will help you unlock the full potential of OpenCV 3
  • Written by a team of 7 experts, each chapter explores a new aspect of OpenCV to help you make amazing computer-vision aware applications
  • Project-based approach with each chapter being a complete tutorial, showing you how to apply OpenCV to solve complete problems
Page Count 250
Course Length 7 hours 30 minutes
ISBN 9781786467171
Date Of Publication 27 Apr 2017

Authors

Shervin Emami

Shervin Emami, born in Iran, taught himself electronics and hobby robotics during his early teens in Australia. While building his first robot at the age of 15, he learned how RAM and CPUs work. He was so amazed by the concept that he soon designed and built a whole Z80 motherboard to control his robot, and wrote all the software purely in binary machine code using two push buttons for 0s and 1s.

After learning that computers can be programmed in much easier ways such as assembly language and even high-level compilers, Shervin became hooked on computer programming and has been programming desktops, robots, and smartphones nearly every day since then. During his late teens, he created Draw3D ( http://draw3d.shervinemami.info/), a 3D modeler with 30,000 lines of optimized C and assembly code that rendered 3D graphics faster than all the commercial alternatives of the time, but he lost interest in graphics programming when 3D hardware acceleration became available.

In University, Shervin took a class on computer vision and became greatly interested in it, so for his first thesis in 2003, he created a real-time face detection program based on Eigenfaces, using OpenCV (beta 3) for the camera input. For his master's thesis in 2005, he created a visual navigation system for several mobile robots using OpenCV (v0.96).

From 2008, he worked as a freelance Computer Vision Developer in Abu Dhabi and Philippines, using OpenCV for a large number of short-term commercial projects that included:

  • Detecting faces using Haar or Eigenfaces
  • Recognizing faces using Neural Networks, EHMM, or Eigenfaces
  • Detecting the 3D position and orientation of a face from a single photo using AAM and POSIT
  • Rotating a face in 3D using only a single photo
  • Face preprocessing and artificial lighting using any 3D direction from a single photo
  • Gender recognition
  • Facial expression recognition
  • Skin detection
  • Iris detection
  • Pupil detection
  • Eye-gaze tracking
  • Visual-saliency tracking
  • Histogram matching
  • Body-size detection
  • Shirt and bikini detection
  • Money recognition
  • Video stabilization
  • Face recognition on iPhone
  • Food recognition on iPhone
  • Marker-based augmented reality on iPhone (the second-fastest iPhone augmented reality app at the time)

OpenCV was putting food on the table for Shervin's family, so he began giving back to OpenCV through regular advice on the forums and by posting free OpenCV tutorials on his website ( http://www.shervinemami.info/openCV.html). In 2011, he contacted the owners of other free OpenCV websites to write this book. He also began working on computer vision optimization for mobile devices at NVIDIA, working closely with the official OpenCV developers to produce an optimized version of OpenCV for Android. In 2012, he also joined the Khronos OpenVL committee for standardizing the hardware acceleration of computer vision for mobile devices, on which OpenCV will be based in the future.

Khvedchenia Ievgen

Khvedchenia Ievgen is a computer vision expert from Ukraine. He started his career with research and development of a camera-based driver assistance system for Harman International. He then began working as a Computer Vision Consultant for ESG. Nowadays, he is a self-employed developer focusing on the development of augmented reality applications. Ievgen is the author of the Computer Vision Talks blog (https://computer-vision-talks.com), where he publishes research articles and tutorials pertaining to computer vision and augmented reality.

Roy Shilkrot

Roy Shilkrot is an assistant professor of computer science at Stony Brook University, where he leads the Human Interaction group. Dr. Shilkrot's research is in computer vision, human-computer interfaces, and the cross-over between these two domains, funded by US federal, New York State, and industry grants. Dr. Shilkrot graduated from the Massachusetts Institute of Technology (MIT) with a PhD, and has authored more than 25 peer-reviewed papers published at premier computer science conferences, such as CHI and SIGGRAPH, as well as in leading academic journals such as ACM Transaction on Graphics (TOG) and ACM Transactions on Computer-Human Interaction (ToCHI).

David Millán Escrivá

David Millán Escrivá was 8 years old when he wrote his first program on an 8086 PC in Basic, which enabled the 2D plotting of basic equations. In 2005, he finished his studies in IT with honors, through the Universitat Politécnica de Valencia, in human-computer interaction supported by computer vision with OpenCV (v0.96). He has worked with Blender, an open source, 3D software project, and on its first commercial movie, Plumiferos, as a computer graphics software developer. David has more than 10 years' experience in IT, with experience in computer vision, computer graphics, pattern recognition, and machine learning, working on different projects, and at different start-ups, and companies. He currently works as a researcher in computer vision.

Daniel Lélis Baggio

Daniel Lélis Baggio started his work in computer vision through medical image processing at InCor (Instituto do Coração – Heart Institute) in São Paulo, where he worked with intravascular ultrasound image segmentation. Since then, he has focused on GPGPU and ported the segmentation algorithm to work with NVIDIA's CUDA. He has also dived into 6degrees of freedom head tracking with a natural user interface group through a project called ehci.He now works for the Brazilian Air Force.

Jason Saragih

Jason Saragih received his BEng degree in mechatronics (with honors) and PhD in computer science from the Australian National University, Canberra, Australia, in 2004 and 2008, respectively. From 2008 to 2010, he was a Postdoctoral fellow at the Robotics Institute of Carnegie Mellon University, Pittsburgh, PA. From 2010 to 2012 he worked at the Commonwealth Scientific and Industrial Research Organization (CSIRO) as a Research Scientist. He is currently a Senior Research Scientist at Visual Features, an Australian tech start-up company.

Dr. Saragih has made a number of contributions to the field of computer vision, specifically on the topic of deformable model registration and modeling. He is the author of two non-profit open source libraries that are widely used in the scientific community; DeMoLib and FaceTracker, both of which make use of generic computer vision libraries including OpenCV.