/segmentation

note about segmentation for previous available tutorial

Primary LanguageJupyter Notebook

My note about segmentation from previous available tutorial.
I reproduce the code from the main reference: https://towardsdatascience.com/efficient-image-segmentation-using-pytorch-part-1-89e8297a0923
additional reference:
https://www.v7labs.com/blog/image-segmentation-guide
https://setosa.io/ev/image-kernels/
https://www.robots.ox.ac.uk/~vgg/data/pets/
https://towardsdatascience.com/a-basic-introduction-to-separable-convolutions-b99ec3102728

Segmentation

image
Image segmentation is a technique to isolate pixels belonging to specific objects in an image. Image segmentation partitions/segments : Objects. Backgrounds, and Boundaries. Image segmentation extends image classification by outlining the object's boundary to pinpoint the corresponding object. There are three types of segmentation:

  • Semantic Segmentation
  • Instance Segmentation
  • Panoptic Segmentation

## Dataset
The daset used in this repo is from [The Oxford-IIIT Pet Dataset](https://www.kaggle.com/datasets/julinmaloof/the-oxfordiiit-pet-dataset) . After being annnotated the image became a trimap image. Which is an image with 3 scaled value with respect to the object, boundaries, and background.

The trimap image is used as the segmentation target.
## Convolution
An image kernel is a small matrix used in machine learning for 'feature extraction', a technique for determining the most important portions of an image. The process known as convolution.

## Depth-wise Separable Convolution