Этот репозиторий содержит сквозное трубопровод для классификации изображений животных в один из 90 видов и выполнение поиска сходства изображений. Проект использует глубокую сверточную нейронную сеть (RESNET-50) в качестве экстрактора функции, в сочетании с пользовательским уровнем встраивания и окончательной головкой классификации. Кроме того, он включает в себя интерфейс Frontend для пользователей для загрузки изображения и получения как прогнозируемого класса, так и визуально сходных изображений из набора данных.
Архитектура модели:
Набор данных:
Набор данных изображения животных - 90 разных животных
Этот набор данных охватывает широкий спектр видов животных, обеспечивая широкое представление в 90 классах.
Детали обучения:
Показатели производительности:
Эти метрики указывают на сильную производительность классификации в наборе данных.
Матрица путаницы ( confusion_matrix.png ) включена для визуализации производительности класса к классу. 
В дополнение к классификации, это решение предоставляет функцию поиска сходства изображений:
Извлечение функций:
Каждое изображение набора данных передается через модель (слой встраивания RESNET-50 + для создания 256-мерного вектора признаков.
Хранение базы данных (SQLite):
Все 256-мерные векторы функций хранятся в базе данных SQLite.
Запрос сходства:
Когда новое изображение загружается, его встраивание вычисляется, и база данных запрашивается, чтобы найти наиболее похожие изображения, основанные на сходстве вектора.
Это позволяет вам не только предсказывать класс загруженного изображения, но и получать визуально похожие изображения из существующего набора данных.
Простой фронт включен для облегчения взаимодействия:
.
├── requirements.txt # Python dependencies
├── README.md # This README file
├── .gitignore # Git ignore file
├── LICENSE # License file for the project
├── main.py # Entry point for the Flask application
├── model.py # Model definition, loading, and inference utilities
├── similarity.py # Functions for similarity search and confusion matrix creation
└── train.py # Training script for the model
├── templates/
│ ├── index.html # Frontend template
└── confusion_matrix.png # Confusion matrix visualization git clone https://github.com/git-khandelwal/image-similarity
cd image-similarity pip install -r requirements.txtСкачать и подготовить набор данных:
Обучение модели: для переподготовки модели и создания векторных функций DB:
python train.py python main.pyЭтот проект лицензирован по лицензии MIT.