# Computer Vision

Computer Visions (CV) enables machines to detect patterns and gain a high-level understanding of images and videos&#x20;

Neural Networks are made up of layers, Input layer, Hidden layer(s), Output layer

Input Layer receives the data&#x20;

Hidden Layer finds important features in the input data that can be used for prediction

Output Layer generates the result

Deep Learning enables machines to learn the patterns present in the data through feature extraction.

* **Input Layer**: The first layer in a neural network. This layer receives all data that passes through the neural network.
* **Hidden Layer**: A layer that occurs between the output and input layers. Hidden layers are tailored to a specific task.
* **Output Layer**: The last layer in a neural network. This layer is where the predictions are generated based on the information captured in the hidden layers.



* Three main components of neural networks
  * _Input Layer_: This layer receives data during training and when inference is performed after the model has been trained.
  * _Hidden Layer_: This layer finds important features in the input data that have predictive power based on the labels provided during training.
  * _Output Layer_: This layer generates the output or prediction of your model.
* Modern computer vision
  * Modern-day applications of computer vision use neural networks call convolutional neural networks or CNNs.
  * In these neural networks, the hidden layers are used to extract different information about images. We call this process _feature extraction_.

## Computer Vision Applications

### Use Cases

* Process Automation
* Content Moderation
* Safety Monitoring
* Visual Search
* Medical Imaging

## Computer Vision Tasks&#x20;

*   Image Classification

    Image classification can be used to answer questions like _What's in this image?_

    * Sorting
    * Text- Detection(OCR)
    * Content Filtering (Moderation)
*   Object Detection

    _**Object detection**_ is closely related to image classification, but it allows users to gather more granular detail about an image. For example, rather than just knowing whether an object is present in an image, a user might want to know if there are _multiple instances of the same object_ present in an image, or if _objects from different classes_ appear in the same image.

    * Self-Driving Cars
*   Semantic Segmentation

    Segmentation tells us the pixel level detail of where an object is in an image

    * Satellite Imagery via Image Segmentation
    * Cellular Segmentation
*   Activity Recognition

    _**Activity recognition**_ is an application of computer vision that is based around videos rather than just images. Video has the added dimension of time and, therefore, models are able to detect changes that occur over time.

## Explore computer vision

## Analyze images with the Computer Vision service <a href="#analyze-images-with-the-computer-vision-service" id="analyze-images-with-the-computer-vision-service"></a>

## Classify images with the Custom Vision service <a href="#classify-images-with-the-custom-vision-service" id="classify-images-with-the-custom-vision-service"></a>

You can use a machine learning _classification_ technique to predict which category, or _class_, something belongs to. Classification machine learning models use a set of inputs, which we call _features_, to calculate a probability score for each possible class and predict a _label_ that indicates the most likely class that an object belongs to.

**For example,** The features of a flower might include the measurements of its petals, stem, sepals, and other quantifiable characteristics. A machine learning model could be trained by applying an algorithm to these measurements that calculates the most likely species of the flower - its class.

## Detect objects in images with the Custom Vision service <a href="#detect-objects-in-images-with-the-custom-vision-service" id="detect-objects-in-images-with-the-custom-vision-service"></a>

_Object detection_ is a form of machine learning based computer vision in which a model is trained to recognize individual types of objects in an image, and to identify their location in the image.
