图像分类系统
一个强大的图像分类系统,使用在ImageNet上训练的EfficientNet-B7,支持MCP服务器和现代web界面。
特性
- 高精度:使用在ImageNet上预先训练的EfficientNet-B7
- 类别分类:将图像分类为电子产品、食品、服装、工具、汽车零部件、运动器材
- 应用程序接口:以JSON格式返回预测
- 现代用户界面:漂亮的拖放界面
- MCP服务器:用于集成的模型上下文协议服务器
项目结构
.
├── app.py # Flask API server
├── index.html # Front-end interface
├── requirements.txt # Python dependencies
├── mcp_server/ # MCP server implementation
│ ├── index.js # MCP server code
│ └── package.json # Node.js dependencies
└── uploads/ # Uploaded images directory安装
1.安装Python依赖项
pip install -r requirements.txt这将安装:
- Flask(网络服务器)
- Flask CORS(跨源支持)
- PyTorch(深度学习框架)
- TorchVision(预训练模型)
- 枕头(图像处理)
2.安装Node.js依赖项(适用于MCP服务器)
cd mcp_server
npm install
cd ..用法
运行API服务器
python app.py服务器将在以下时间启动 http://localhost:5000
打开Web界面
只需打开 index.html 在浏览器中,或运行:
python -m http.server 8000然后导航到 http://localhost:8000
使用MCP服务器
MCP服务器可以与支持模型上下文协议的应用程序集成:
cd mcp_server
npm startAPI终点
POST/分类
对上传的图像进行分类。
请求:
- 方法:POST
- 内容类型:多部分/表单数据或应用程序/json
- 主体:
- image:图像文件(多部分) - image_base64:Base64编码图像(JSON) - image_path:图像文件的路径(JSON) - top_k:要返回的预测数(默认值:5)
答复:
{
"success": true,
"predicted_class": "laptop",
"category": "electronics",
"confidence": 95.67,
"top_predictions": [
{
"rank": 1,
"class": "laptop",
"category": "electronics",
"confidence": 95.67
}
],
"model": "EfficientNet-B3",
"device": "cuda"
}GET/健康
检查服务器运行状况。
答复:
{
"status": "healthy",
"model": "EfficientNet-B3",
"device": "cuda"
}支持的类别
- 📱 电子学:手机、电脑、相机、显示器等。
- 🍕 食物:披萨、汉堡、水果、蔬菜等。
- 👕 衣服:衬衫、鞋子、帽子、夹克等。
- 🔧 工具:锤子、钻头、扳手、锯子等。
- 🚗 汽车零件:车轮、发动机、汽车零件等。
- ⚽ 运动器材:球、球拍、滑雪板等。
模型信息
- 模型EfficientNet-B3
- 培训数据集:ImageNet(1000个类)
- 准确度:ImageNet验证集的高精度
- 速度:CPU和GPU上的快速推理
需求
- Python 3.8+
- Node.js 14+(用于MCP服务器)
- 最低4GB RAM
- GPU推荐用于更快的推理
许可证
MIT许可证
