# coser **Repository Path**: kml/coser ## Basic Information - **Project Name**: coser - **Description**: COS Character Recognition System - AI image classification training platform with Web UI, CLI and Flutter app - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-26 - **Last Updated**: 2026-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎭 COS 角色识别系统 > AI 图像分类训练平台 — 上传图片、训练模型、导出部署、移动端离线识别 **English docs: [README.md](README.md)** --- ## 项目简介 一套完整的图像分类全链路解决方案: - **Web 训练平台**:可视化数据集管理、一键训练(多种预设)、实时日志/图表、在线推理 - **AI 模型训练**:20+ 种骨干网络(EfficientNet / MobileNet / ConvNeXt / ResNet / Swin / ViT ...)、加权集成、ONNX 导出(INT8 量化) - **Flutter 移动端**:拍照/相册/语音/文字搜索、离线识别、云端 API 查询 - **用户系统**:JWT 注册/登录、权限管理 - **命令行工具(CLI)**:训练、评估、推理、导出、数据集、环境自检的统一入口 --- ## 快速开始 ### Web 训练平台 ```bash cd web_ui ./start.sh # macOS / Linux # 或 start.bat # Windows # 或跨平台通用 python start.py ``` 浏览器打开 **http://localhost:8000**,局域网内其他设备可通过 `http://你的IP:8000` 访问。 ### 命令行工具(CLI) ```bash python cli.py web # 启动 Web 训练平台 python cli.py train --epochs 50 # 训练模型(--data_dir 默认指向 ./dataset) python cli.py evaluate # 用测试集评估最佳模型 python cli.py test --image photo.jpg # 单图推理 python cli.py export --quantize # 导出 ONNX(INT8 量化) python cli.py dataset --analyze # 数据集统计 python cli.py doctor # 环境自检(Python/GPU/依赖/构建产物) ``` > 所有子命令的完整参数会透传给底层脚本,执行 `python cli.py --help` 可查看完整参数列表。 ### Flutter App ```bash cd app flutter pub get flutter run ``` --- ## 项目结构 ``` coser/ ├── cli.py # 命令行工具(web / train / evaluate / test / export / dataset / doctor) ├── ai_model/ # AI 训练核心 │ ├── train.py # 训练入口(支持所有高级特性) │ ├── test.py # 测试 & 单图推理 │ ├── test_evaluate.py # 评估:TTA、混淆矩阵、错误分析 │ ├── export_model.py # ONNX 导出(INT8 量化) │ ├── dataset_setup.py # 数据集准备 │ └── utils/ # 增强、数据集工具 ├── web_ui/ # Web 训练管理平台 │ ├── backend.py # FastAPI 后端(90+ API 端点) │ ├── frontend/ # Vue 3 + Vite + Naive UI 源码 │ ├── static/ # 前端构建产物 │ ├── start.py # 跨平台启动器(venv/依赖/GPU/服务) │ ├── requirements.txt # Python 依赖(基础) │ └── requirements_full.txt # Python 依赖(完整,含 PyTorch CUDA) ├── app/ # Flutter 移动端 │ └── lib/ # Dart 源码(pages / services / widgets) ├── deploy/ # 部署文档 ├── docs/ # 详细文档 └── dataset/ # 训练数据(已 gitignore,不入库) ``` --- ## 训练特性 | 特性 | 说明 | |------|------| | 🧠 20+ 骨干网络 | EfficientNet / MobileNet / ConvNeXt / ResNet / ResNeXt / Swin / ViT / RegNet / ShuffleNet / DenseNet | | 🔬 8GB VRAM 优化 | AMP、梯度检查点、冻结骨干、批次大小自动适配 | | 🎯 高级训练 | SWA、知识蒸馏、Warmup、Mixup、Label Smoothing、早停 | | 🔍 超参数搜索 | Optuna 自动搜索最优参数 | | 🔀 多模型集成 | 加权集成训练/推理/导出 | | 📦 ONNX 导出 | INT8 量化,适用于 mobile/cpu 推理 | | 📋 评估 | TTA 测试增强、混淆矩阵、错误分析 | ## Web UI 功能 - **📊 数据集管理**:批量导入、重命名、删除、自动查重、划分、导出/恢复 - **🏋️ 训练配置**:快速/均衡/高质量/集成等预设,可编辑参数 - **📈 实时监控**:训练日志 WebSocket 推送、Loss/Acc 实时 Canvas 图表、进度条 - **🔬 在线推理**:拖拽图片、Top-5 结果、批量与多模型对比 - **📦 模型管理**:Checkpoint 增删、ONNX 导出下载、权重自动下载 - **📋 测试评估**:TTA、混淆矩阵、错误分析 - **🎥 相机推理与标注工具**:实时摄像头识别、目标框标注 - **⚙️ 项目设置**:品牌配置、多语言标签、用户管理 - **🌙 深色模式**:自动跟随系统 + 手动切换 - **💾 运维能力**:仪表盘、定时任务、自动备份、通知 ## Flutter App 功能 - 📷 **拍照/相册/语音/文字**识别 - 🤖 **离线 ONNX 推理** + ☁️ **云端 API 查询** - 📖 **识别历史**(200 条,搜索,滑动删除)& ❤️ **收藏夹** - 📤 **分享功能** & 🗣️ **中文 TTS 播报** - 🌐 **中/英文界面切换**、深色主题 - 🧑 **智能人物裁剪**(自动检测人物区域) - 👤 **用户注册/登录**(JWT) --- ## 文档 - [deploy/](deploy/) — 全流程部署指南、API 配置说明、性能优化方案 - [docs/](docs/) — 环境搭建、数据集规范、训练教程、模型导出、测试与验证、常见问题、用户手册 ## 技术栈 | 层级 | 技术 | |------|------| | 后端 | Python FastAPI + WebSocket + 多进程训练 | | 前端 | Vue 3 + Vite + Naive UI | | AI | PyTorch + torchvision + Albumentations + ONNX Runtime | | 移动端 | Flutter + Dart | | 用户系统 | JWT + SHA256 密码哈希 | | CLI | Python argparse(零额外依赖) | ## 系统要求 - **Python**: 3.8+(推荐 3.10-3.12) - **显存**: 建议 8GB VRAM(支持 AMP 和梯度检查点优化) - **硬盘**: 建议 10GB+ 剩余空间(用于数据集和模型权重) - **操作系统**: macOS 12+ / Windows 10+ / Linux (x86_64 or arm64) --- ## 赞助支持 如果这个项目对你有帮助,欢迎请我喝杯咖啡 ☕ | 支付宝 | 微信支付 | |:------:|:----------:| | ![支付宝收款码](docs/alipay.jpg) | ![微信收款码](docs/wechat.jpg) | --- ## 许可证 本项目仅供学习和研究使用。