image similarity
1.0.0
该存储库包含一种将动物图像分类为90种的端到端管道,并执行图像相似性搜索。该项目利用深卷积神经网络(Resnet-50)作为功能提取器,并结合自定义嵌入层和最终分类头。此外,它包括一个前端接口,供用户上传图像并从数据集中接收预测的类和视觉上相似的图像。
模型体系结构:
数据集:
动物图像数据集-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许可获得许可。