Skip to content

Cerberus is a PyTorch-based project for classifying dog breeds and localizing specific body parts within images. Our model is capable of recognizing and classifying 3 dog breeds (Toy Poodle, Beagle, Siberian Husky) and localizing 3 specific body parts (eyes, nose, tail) within images.

License

Notifications You must be signed in to change notification settings

gerardocipriano/Cerberus-Dog-Breed-Classification-and-Body-Localization-PyTorch

Repository files navigation


Logo

Cerberus-Dog-Breed-Classification-and-Body-Localization-PyTorch!

The goal of the project is to develop a PyTorch-based model capable of recognizing and classifying 3 dog breeds and localizing 3 specific body parts within images.


View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. License
  6. Contact

About The Project


Cerberus is a PyTorch-based project for classifying dog breeds and localizing specific body parts within images. Our model is capable of recognizing and classifying 3 dog breeds (Toy Poodle, Beagle, Siberian Husky) and localizing 3 specific body parts (eyes, nose, tail) within images. This repository contains the code and resources for training and evaluating the model, as well as a user interface for interacting with the algorithm.

(back to top)

Installation

  1. Just Clone/Download the repo

(back to top)

Usage

Classification and Localization functionalities are available in their respective user interfaces (GUIs).

Classification

To utilize the classification feature, please follow these steps:

  • Install the required dependencies mentioned in the .txt file.
  • Run the .\main.py file.
  • Within the classification GUI, you have the option to create a new alexnet model from scratch. This model can then be used for training, validation, or prediction purposes. If you already possess a pre-existing model, you can select it within the interface. Following the training phase, you can evaluate the model's performance using a cat dataset and examine the results.

Localization

If you wish to utilize the localization feature, please run the .\Object-detection\main.py file. (Note: A unified GUI will be introduced in a future version of the project.)

  • In the localization GUI, you can upload an image of a dog and the model. This allows you to precisely identify and localize various body parts.
  • Additionally, you can monitor the output in real-time during this process by selecting the "Show model validation data" option.

(back to top)

Roadmap

Mandatory features:

  • Recognizing and classifying 3 dog breeds (Toy Poodle, Beagle, Siberian Husky)
  • Localizing 3 specific body parts (eyes, nose, tail)

Optional features:

  • GUI

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Gerardo Cipriano - [email protected]

Massimiliano Battelli - [email protected]

Project Link: https://github.com/gerardocipriano/Cerberus-Dog-Breed-Classification-and-Body-Localization-PyTorch

(back to top)

About

Cerberus is a PyTorch-based project for classifying dog breeds and localizing specific body parts within images. Our model is capable of recognizing and classifying 3 dog breeds (Toy Poodle, Beagle, Siberian Husky) and localizing 3 specific body parts (eyes, nose, tail) within images.

Topics

Resources

License

Stars

Watchers

Forks