Monday, July 27, 2020

Computer Vision

Computer vision is concerned with modeling and replicating human vision using computer software and hardware. Formally if we define computer vision then its definition would be that computer vision is a discipline that studies how to reconstruct, interrupt and understand a 3d scene from its 2d images in terms of the properties of the structure present in scene.


AI, Machine Learning, Deep Learning, and Computer Vision

It needs knowledge from the following fields in order to understand and stimulate the operation of human vision system.

  • Computer Science
  • Electrical Engineering
  • Mathematics
  • Physiology
  • Biology
  • Cognitive Science

Computer Vision Hierarchy

Computer vision is divided into three basic categories that are as following:

Low-level vision: includes process image for feature extraction.

Intermediate-level vision: includes object recognition and 3D scene Interpretation

High-level vision: includes conceptual description of a scene like activity, intention and behavior.

Related Fields

Computer Vision overlaps significantly with the following fields:

Image Processing: it focuses on image manipulation.

Pattern Recognition: it studies various techniques to classify patterns.

Photogrammetry: it is concerned with obtaining accurate measurements from images.

Computer Vision Vs Image Processing

Image processing studies image to image transformation. The input and output of image processing are both images.

Computer vision is the construction of explicit, meaningful descriptions of physical objects from their image. The output of computer vision is a description or an interpretation of structures in 3D scene.

Example Applications

  • Robotics
  • Medicine
  • Security
  • Transportation
  • Industrial Automation

Robotics Application

  1. Localization-determine robot location automatically
  2. Navigation
  3. Obstacles avoidance
  4. Assembly (peg-in-hole, welding, painting)
  5. Manipulation (e.g. PUMA robot manipulator)
  6. Human Robot Interaction (HRI): Intelligent robotics to interact with and serve people

Medicine Application

  1. Classification and detection (e.g. lesion or cells classification and tumor detection)
  2. 2D/3D segmentation
  3. 3D human organ reconstruction (MRI or ultrasound)
  4. Vision-guided robotics surgery

Industrial Automation Application

  1. Industrial inspection (defect detection)
  2. Assembly
  3. Barcode and package label reading
  4. Object sorting
  5. Document understanding (e.g. OCR)

Security Application

  1. Biometrics (iris, finger print, face recognition)
  2. Surveillance-detecting certain suspicious activities or behaviors

Transportation Application

  1. Autonomous vehicle
  2. Safety, e.g., driver vigilance monitoring

For Computer vision with Python, you can use a popular library called OpenCV (Open Source Computer Vision). It is a library of programming functions mainly aimed at the real-time computer vision. It is written in C++ and its primary interface is in C++. You can install this package with the help of the following command:

pip install opencv_python-X.X-cp36-cp36m-winX.whl

Here X represents the version of Python installed on your machine as well as the win32 or 64 bit you are having.

If you are using the anaconda environment, then use the following command to install OpenCV:

conda install -c conda-forge opencv

In the next post we will learn how to read and write image file with the help of functions provided by OpenCV.

Share:

0 comments:

Post a Comment