基于 Django + PyTorch 的中文字体识别系统

发布时间:2026/7/23 21:31:24
基于 Django + PyTorch 的中文字体识别系统 1. 项目介绍中文书法字体在笔画结构、连笔特征、字形重心和墨迹轮廓上具有显著差异。为了让字体类别的判断过程更加直观本项目实现了一套中文字体识别系统用户上传一张汉字图像后系统调用已训练的视觉分类模型返回对应的字体类别与预测置信度。项目采用 Django 构建轻量级 Web 服务PyTorch 完成模型训练与推理。当前数据集覆盖隶书lishu和行楷xingkai两类训练端提供 CNN 与 Transformer 等多种模型入口适合作为深度学习图像分类课程设计、毕业设计或 PyTorch 实战项目参考。2. 系统功能在线识别上传 JPG、PNG 等字体图像完成单张图片分类。模型选择页面自动读取可用权重可按 CNN如 AlexNet、ResNet、MobileNet和 Transformer如 ViT、Swin Transformer等类别切换模型。结果展示呈现模型名称、预测字体类别、置信度和上传图片。训练管理提供统一的训练入口支持指定网络架构、数据集、学习率、批次大小和训练轮数。实验记录训练脚本可输出 loss、accuracy、precision、recall、F1 等过程指标便于追踪和分析。3. 技术栈后端框架Django负责路由、模板渲染、图片上传与识别结果返回。深度学习框架PyTorch 与 torchvision使用 ImageFolder 按目录自动读取类别标签。模型库CNN 系列AlexNet、VGG、GoogLeNet、ResNet、DenseNet、MobileNet、EfficientNet、RegNet、ShuffleNet与 Transformer 系列Vision Transformer、Swin Transformer。运行环境Python 3.10.15PyTorch 2.3.1cu121支持 CUDA 加速。4. 数据集说明数据集根目录为data_set/ChineseStyle采用标准的train/test双分割结构。每个子目录对应一个字体类别lishu表示隶书xingkai表示行楷。当前训练集共 8000 张图像每类 4000 张测试集共 5526 张图像每类 2763 张。训练阶段使用随机裁剪、缩放、归一化等预处理策略验证阶段使用确定性的缩放和中心裁剪保证评估过程稳定。ImageFolder 会根据类别目录生成标签映射因此扩展字体类别时只需补充相应文件夹和样本。5. 模型与识别流程系统将图像分类任务拆分为“数据准备、模型训练、权重保存、Web 推理”四个步骤。训练脚本读取训练集和测试集自动获取类别数并构建分类头训练结束后保存最优权重和类别索引文件。Web 端在收到上传请求后根据用户选择导入对应模型的 predict 函数完成图像预处理、前向推理、Softmax 概率计算和结果返回。对于书写风格差异显著的样本卷积神经网络能够有效学习局部笔画与纹理特征Vision Transformer、Swin Transformer 等模型则能进一步建模字形的全局结构特征。项目保留多模型入口便于对比轻量模型与 Transformer 模型在速度和精度上的实际表现。6. 系统页面展示首页以“中文字体识别工作台”为核心操作区域左侧为模型选择与图片上传区右侧展示数据类别与使用提示。页面遵循简洁的业务流程选择模型 → 上传字体图像 → 点击识别 → 查看类别与置信度。7. 实验结果与分析项目目录中保留了多种网络的结果文件可用于观察训练过程与模型间差异。下图从已有结果工作簿中读取部分模型的末条 Accuracy 记录并绘制柱状图便于在文章中快速展示实验管理流程。由于不同网络的训练轮数、权重初始化和数据版本可能不同该图用于结果可视化示例。中文字体数据集的最终结论应以重新训练后的日志和测试结果为准。8. 项目总结本文介绍了一套基于 Django 与 PyTorch 的中文字体识别系统。项目围绕真实的中文字体图像分类任务完成了数据集读取、多模型训练、权重推理和 Web 可视化展示等关键环节。对于希望将深度学习模型落地到网页端的开发者而言该项目提供了从模型训练到 Web 部署的完整实践链路。后续工作可以继续扩充楷书、行书、草书、篆书等字体类别并引入 Top-K 候选结果、混淆矩阵和 Grad-CAM 可解释性分析等功能。此外也可将模型导出为 ONNX 或 TorchScript 格式以降低线上推理成本并提升部署灵活性。9. 适用场景深度学习图像分类课程设计与毕业设计。Django PyTorch 前后端整合练习。书法字体数字化、字体资料整理与文化内容检索的原型系统。多模型分类性能对比与实验记录展示。