本仓库提供一个简易的图片分类训练与预测系统,
可用于学校学生上课体验项目中的图像收集与分析。
后端基于 Python Flask,提供 JSON API;
前端位于 frontend 目录,采用 Vue 的 VitePress 构建。
python -m venv .venv
source .venv/bin/activate # Windows 使用 .venv\Scripts\activate- 准备 Python 3.8+ 环境,安装 Flask、TensorFlow 等依赖。
若需更准确的人脸比对效果,可额外安装
face_recognition库:pip install face_recognition。 安装前会遇到cmake、dlib和numpy==1.26.9版本的环境问题。pip install "numpy==1.26.4可以解决numpy问题;cmake和dlib安装包已经在项目中给出直接安装即可。 翻译功能依赖argostranslate以及对应的中英离线语言包,请预先安装:pip install argostranslate,并通过运行install_en_zh_translate.py完成导入中英互译数据。 - 在项目根目录执行
python app.py启动后端服务。 - 安装 Node.js 后进入
frontend目录,执行npm install。 - 通过
npx vitepress dev docs启动前端开发服务器。 - 打开前端页面后可在首页按需配置后端地址,随后即可使用各功能。
- pip install的库比较多,除了上述内容以外还有flask_sock、tensorflow
- 打开前端页面,先在“上传训练图片”处按类别上传样本。
- 在“开始训练”页面点击按钮,等待模型训练完成。
- 训练结束后,在“上传图片进行预测”页面选择图片即可得到分类结果。
- 如需连接不同的后端服务,可在前端首页调整 API 地址。
train_data目录下需按类别建立子文件夹,每个类别至少包含一张图片。- 模型训练在 CPU 上进行,数据量较大时耗时可能较长。
- 若部署在不同服务器,请修改
frontend/docs/apiConfig.js中的API_BASE。
- 人脸识别相关功能
- 语音对话功能(Zipformer)模型待研究
- yolo-world相关支持
- 语音处理
- 语音合成