doc: rewrite README with architecture overview and module docs

This commit is contained in:
Fam Zheng 2026-04-09 09:50:20 +01:00
parent a83eb04094
commit 12d21b0d23

141
README.md
View File

@ -1 +1,140 @@
# themblem.com project
# 徵象 Themblem
**AI 驱动的智能防伪溯源平台**
徵象基于"无复制性原理",利用二维码在印刷过程中形成的微观差异作为不可复制的"图像指纹",结合深度学习模型实现高精度真伪鉴别。消费者仅需通过微信小程序扫码,即可在 1-2 秒内完成防伪验证。
## 架构总览
```
┌──────────────────────┐ ┌────────────────────┐
│ 微信小程序 (scanner) │ │ 管理后台 (web) │
│ · 扫码采集 │ │ · Vue 3 + CoreUI │
│ · WASM QR 检测 │ │ · 产品/批次管理 │
│ · 实时验证 │ │ · 扫描数据分析 │
└──────────┬───────────┘ └──────────┬─────────┘
│ │
▼ ▼
┌──────────────────────────────────────────────────┐
│ Django API (api) │
│ · REST API (Tastypie) · 多租户隔离 │
│ · AI 对话 (DeepSeek) · 阿里云 OSS 存储 │
│ · 设备摄像头适配 · PostgreSQL │
└──────────────────────┬───────────────────────────┘
┌───────────────┼───────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ alg (C++) │ │ emblem5 (AI)│ │ Kubernetes │
│ · libqr │ │ · ResNet18 │ │ · K3s │
│ · WASM 编译 │ │ · 训练/推理 │ │ · Traefik │
│ · 特征提取 │ │ · wandb │ │ · Nginx │
└─────────────┘ └─────────────┘ └─────────────┘
```
## 项目结构
```
├── alg/ QR 码检测与特征提取 (C++/WASM)
├── api/ Django REST API 后端
├── web/ Vue 3 管理后台
├── scanner/ 微信小程序
├── emblem5/ AI 训练与推理流水线 (PyTorch)
├── deploy/ Kubernetes 部署配置
├── scripts/ 部署脚本与 CLI 工具
├── dataset/ 训练数据集样本
├── doc/ 产品与技术文档
├── Makefile 构建、训练、部署一站式入口
└── .gitlab-ci.yml CI/CD 流水线
```
## 核心模块
### QR 检测引擎 (`alg/`)
基于 OpenCV 构建的 QR 码检测与特征提取库,核心用 C++ 编写,编译产出:
- **qrtool** — CLI 工具,用于离线处理
- **qrtool.web.wasm** — 浏览器端 WebAssembly
- **qrtool.wx.wasm** — 微信小程序 WebAssembly
关键算法包括 QR 码定位、透视矫正、微观特征提取和相似度比对CellWeight / FuzzyPixelCmp
### AI 训练流水线 (`emblem5/`)
基于 PyTorch ResNet18 的迁移学习方案,完整覆盖数据采集到模型部署全流程:
```bash
make fetch # 从 API 拉取扫描数据
make sbs # 生成 side-by-side 训练图对
make train # 训练模型 (30 epochs)
make check-accuracy MODEL=... # 评估模型准确率
```
训练方法:将扫描帧与标准图像分别切割为 3×3 网格,逐块对比学习微观特征差异,最终通过投票机制判定真伪。当前最佳模型准确率达 **98.94%** (正样本) / **96.13%** (负样本)。
### API 后端 (`api/`)
Django + Tastypie REST API核心功能
- 多租户隔离与权限管理
- 二维码批次生成与生命周期管理
- 扫描数据采集与验证结果分析
- AI 客服对话 (DeepSeek + RAG)
- 设备摄像头参数动态适配 (覆盖 1500+ 机型)
### 管理后台 (`web/`)
Vue 3 + CoreUI 构建的 SPA 管理面板提供产品管理、批次操作、扫描数据分析、AI 对话配置、模型管理等功能。
### 微信小程序 (`scanner/`)
消费者端扫码验证入口。内置 WebAssembly QR 检测引擎,通过 Worker 线程实现非阻塞实时检测,支持自动亮度感应、设备特定参数适配等优化。
## 快速开始
### 环境要求
- Python 3.10+, Node.js 16+
- PostgreSQL
- Docker (构建镜像)
### 本地开发
```bash
# API 后端
cd api && pip install -r ../requirements.txt
./manage.py migrate && ./manage.py runserver
# Web 前端
cd web && npm install && npm run serve
# AI 训练 (需 GPU)
make fetch && make sbs && make train
```
### 构建与部署
```bash
make web # 构建前端
make docker-build # 构建 Docker 镜像
make docker-push # 推送至镜像仓库
make deploy-api-dev # 部署到开发环境
make deploy-api-prod # 部署到生产环境
```
## 技术栈
| 层级 | 技术 |
|------|------|
| 前端 | Vue 3, CoreUI, Chart.js |
| 后端 | Django, Tastypie, Gunicorn, Nginx |
| AI/ML | PyTorch, ResNet18, Kornia, wandb |
| 计算机视觉 | OpenCV, C++, WebAssembly (Emscripten) |
| 存储 | PostgreSQL, 阿里云 OSS |
| 部署 | Docker, Kubernetes (K3s), Traefik |
| 小程序 | 微信原生 + WASM Worker |
## 许可证
Proprietary — 广州市诚投科技有限公司 © 2024