Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

sysucats/cat-face

Repository files navigation

中大猫谱猫脸识别

从猫谱小程序云存储拉取猫图,然后训练一个神经网络模型来识别猫猫。

前期准备

  1. 每只猫猫积攒了超过 10 张高质量照片(照片清晰,且照片中只有一只猫猫)。
  2. 虽然可以使用 CPU 进行神经网络的训练,但是速度较慢,因此最好准备一张具有足够显存的 GPU。(如果显存不够,你可以根据你的显存大小适当调整图像分辨率,但是可能会导致模型训练效果下降。)
  3. 网络服务器一台,用于部署识别服务。(需要自备 web 后端技能。)服务器不需要 GPU。
  4. 已注册备案域名一个,获取 SSL,用于小程序调用服务。

手把手教程

https://docs.qq.com/doc/DSHhmTkNNYUNYTkpH

Quick Start

1. 训练模型

  1. 在训练服务器(或你的个人 PC)上拉取本仓库代码。
  2. 进入 data 目录,执行 npm install 安装依赖。(需要 Node.js 环境,不确定老版本 Node.js 兼容性,建议使用最新版本。)
  3. 复制 config.demo.ts 文件并改名为 config.ts,填写Laf云环境的 LAF_APPID;在Laf云后台调试执行 getTempCOS 云函数,复制输出到 config.ts 中。
  4. 执行 npm start,脚本将根据小程序数据库记录拉取小程序云存储中的图片。
  5. 返回仓库根目录,执行 python -m pip install -r requirements.txt 安装依赖。(需要 Python>=3.8。不建议使用特别新版本的 Python,可能有兼容性问题。)
  6. 执行 bash prepare_yolov5.sh 拉取YOLOv5目标检测模型所需的代码,然后下载并预处理模型数据。
  7. 执行 bash process.sh,自动进行数据处理、数据集划分和模型训练的工作。工作完成后,你应当看到目录的 export 文件夹下存在如下四个文件:
    • cat.onnx;
    • cat.json;
    • fallback.onnx;
    • fallback.json

2. 部署服务

  1. 在部署服务器上拉取本仓库代码。
  2. 执行 pip install -r requirements.txt 安装依赖。(需要 Python>=3.8。不建议使用特别新版本的 Python,可能有兼容性问题。)
  3. 执行 bash prepare_yolov5.sh 拉取YOLOv5目标检测模型所需的代码,然后下载并预处理模型数据。
  4. 将 export 文件夹从训练服务器中拷贝到部署服务器中。export 文件夹中应包括四个文件:cat.onnx, cat.json, fallback.onnx, fallback.json
  5. 在仓库根目录中创建 env 文件(不需要 . 号开头),填写服务运行参数。示例:
    HOST_NAME=127.0.0.1 # 主机名
    PORT=3456 # HTTP服务端口
    SECRET_KEY='keyboard cat' # 接口密钥(用于哈希签名认证)
    TOLERANT_TIME_ERROR=60 # 调用接口时附带的时间戳参数与服务器时间之间的最大允许误差(单位:s)
    IMG_SIZE=256 # 猫猫识别模型的输入图像大小
    FALLBACK_IMG_SIZE=512 # 无法检测到猫猫时使用的全图识别模型的输入图像大小
    CAT_BOX_MAX_RET_NUM=5 # 接口返回的图片中检测到的猫猫的最大个数
    RECOGNIZE_MAX_RET_NUM=20 # 接口返回的猫猫识别结果候选列表的最大个数
  6. 现在,执行 python3 app.py,HTTP 接口服务将被启动。🎉(你可以自行使用 gunicorn 等框架完成更规范的部署,也可以只使用 pm2 进行简单管理。)

About

中大猫谱猫脸识别后端代码

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

AltStyle によって変換されたページ (->オリジナル) /