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許可獲得許可。