An open API service indexing awesome lists of open source software.

https://github.com/mehdigolkaramoli/cnnimagesegmenation

This project implement some CNN based image segmentation models.
https://github.com/mehdigolkaramoli/cnnimagesegmenation

computer-vision convolutional-neural-networks imagesegmentation pytorch remotesensing unet-image-segmentation

Last synced: 3 months ago
JSON representation

This project implement some CNN based image segmentation models.

Awesome Lists containing this project

README

        

## CNN Image Segmenation
![image-segmentation-background](https://github.com/user-attachments/assets/1966be79-08ae-433e-a61f-a5061a4460fa)

## Introduction
This project implement some CNN based image segmentation models.
This project showcases my work in image segmentation using deep Convolutional Neural Networks (CNNs). It features various CNN models designed for segmentation tasks, most of which are based on the encoder-decoder architecture. The key differences among these models lie in the choice of encoder networks for feature extraction and the integration of attention mechanisms to enhance accuracy and focus on critical regions in feature maps.
The attention modules included in this project primarily predate before 2020, providing insights into their effectiveness. Actually, this project reviews cost-effective approaches for implementing attention mechanisms in image segmentation.

---
## Different Models
- #### UNet-ResNet18
- Using ResNet18 as a backbone for the UNet network
- ResNet Article


- #### UNet-ResNet18-AG
- Using ResNet18 as a backbone and Attention Gate module as Attention module for the UNet network
- AG Article





- #### UNet-ResNet18-scSE
- Using ResNet18 as a backbone and spatial-channel Squeeze and Excitation module as Attention module for the UNet network
- scSE
Article




- #### UNet-ResNeXt50
- Using ResNeXt-50 as a backbone for the UNet network
- ResNeXT Article


- #### UNet-ConvNeXt
- Using ConvNeXT large as a backbone for the UNet network
- ConvNeXt Article




- #### MANet-ResNeXt
- Using ResNeXT as backbone for the MANet network
- MANet Article




- #### MANet-ResNet
- Using ResNet as backbone for the MANet network

--
## Installation
- These models are written in the **Pytorch** library
- torch `2.6`
- torchvision `0.21.0`
- tqdm `4.6.1`
- python `3.10+`
- torchmetrics
- early-stopping-pytorch

##### Install torch and torchvision from Pytorch Locally
```diff
pip3 install torch==2.6 torchvision==0.21.
```
##### Install early-stopping-pytorch and torchmetrics from PyPI
``` diff
pip install early-stopping-pytorch
pip install torchmetrics
```
![GitHub stats](https://github-readme-stats.vercel.app/api?username=MegaRsIran&show_icons=true&theme=transparent)

## References

I have used functions from other great open-source projects. Espeicially thank the authors of:
- https://github.com/ozan-oktay/Attention-Gated-Networks
- https://github.com/facebookresearch/ConvNeXt
- https://github.com/kevinkwshin/MANet
- https://github.com/ai-med/squeeze_and_excitation