themblem/README.md

5.6 KiB
Raw Blame History

徵象 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 的迁移学习方案,完整覆盖数据采集到模型部署全流程:

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 (构建镜像)

本地开发

# 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

构建与部署

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