mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7mobile wallpaper 8mobile wallpaper 9mobile wallpaper 10
2795 字
8 分钟
NS-2026-00 星图识别员:校园票据分类 — Writeup
2026-06-24
📋 题目描述

题目描述#

NS-2026-00 星图识别员:校园票据分类#

赛题任务#

本题编号为 NS-2026-00

任务介绍#

星图识别员需要整理来自校园事务系统的图片资料。每张图片可能是报销发票、消费小票、课程表、社团海报、实验记录、校园通知、手写便签、申请表、会议纪要或成绩报告。参赛者需要根据图片内容预测其所属类别。

你的任务是:

  • 使用训练图片和标签构建分类模型或规则系统。
  • 对测试集中每张图片输出一个类别标签,标签必须属于 label_map.json 中固定 10 类。
  • 在不同拍摄设备、截图尺寸、轻微模糊、旋转、压缩和遮挡情况下保持稳定分类。

本题是 NeuronSpark 2026 的入门题。基础图像分类模型应能获得可观分数;更高分的方案可以尝试 OCR 文本特征、版面特征、图文特征融合、类别均衡采样和测试时增强。

赛题背景#

文档图像分类是多模态智能系统中的基础任务。相比普通自然图像分类,文档图片同时包含视觉样式、文字内容、版面结构和拍摄质量变化。例如,发票和收据可能在视觉布局上相近,但 OCR 文本中的关键词、金额字段和表格结构能提供额外线索;社团海报和通知截图可能都包含大量文字,但颜色、标题位置和版式差异明显。

本题考察以下能力:

  • 图像分类模型训练与验证。
  • 文档图片增强和鲁棒性处理。
  • 类别分布分析、混淆矩阵分析和错误样本复盘。
  • 可选 OCR 文本特征与图像特征融合。
  • 遵守 AI 使用边界并提供可复现 Writeup 证据。

本题不要求训练大型多模态模型,也不要求必须使用 OCR。OCR 仅作为提分路径之一。

类别列表#

label中文名
invoice报销发票
receipt消费小票
schedule课程或日程表
poster社团活动海报
lab_note实验记录
notice校园通知
handwritten_note手写便签
form申请或登记表
meeting_minutes会议纪要
grade_report成绩或学业报告

赛题数据#

在本页下方“相关资源”处下载数据包,或在 https://modelscope.cn/datasets/SteamedFresh/NS-2026-A-data 处获取。

本题提供校园文档图片分类数据集,包含训练集图片、测试集图片、训练标签、合法标签表、示例提交和格式检查工具。测试集不提供标签。

NS-2026-00-data/
├── train.csv
├── test.csv
├── label_map.json
├── images/
│ ├── train/
│ └── test/
├── example_submission/
│ └── results.csv
└── tools/
└── check_format.py

数据说明#

train.csv#

字段类型含义
idstring训练样本 ID,与图片文件名对应
imagestring图片相对路径
labelstring类别标签

示例:

id,image,label
ns26_b2ce9f2fa6ff2a6988feeeb3d1135126,images/train/ns26_b2ce9f2fa6ff2a6988feeeb3d1135126.jpg,form
ns26_245133677982114867e742813e96b310,images/train/ns26_245133677982114867e742813e96b310.jpg,form

test.csv#

字段类型含义
idstring测试样本 ID
imagestring图片相对路径

示例:

id,image
ns26_d5981fcee61ebb8104aee19ad19d71a8,images/test/ns26_d5981fcee61ebb8104aee19ad19d71a8.jpg
ns26_34a5bd019d7907385ad97a9d5a30385f,images/test/ns26_34a5bd019d7907385ad97a9d5a30385f.jpg

label_map.json#

label_map.json 给出全部合法标签和中文说明。正式数据固定为 10 类:

{
"labels": [
"invoice",
"receipt",
"schedule",
"poster",
"lab_note",
"notice",
"handwritten_note",
"form",
"meeting_minutes",
"grade_report"
],
"label_names_zh": {
"invoice": "报销发票",
"receipt": "消费小票",
"schedule": "课程或日程表",
"poster": "社团活动海报",
"lab_note": "实验记录",
"notice": "校园通知",
"handwritten_note": "手写便签",
"form": "申请或登记表",
"meeting_minutes": "会议纪要",
"grade_report": "成绩或学业报告"
}
}

数据规模#

正式数据目标规模如下:

数据规模
训练集约 3600 张图片,10 类均衡
测试集约 1200 张图片,10 类均衡
类别数10 类

使用说明#

参赛选手需要:

  1. 使用 train.csvimages/train/ 训练分类模型。
  2. test.csv 中列出的图片生成预测。
  3. evaluation.md 要求生成 results.csv 并压缩提交。

如需验证集,参赛选手应从训练集中自行划分。建议使用分层划分,并检查类别分布、相似样本和主要混淆类别。

注意事项#

  • 可以使用公开预训练图像模型、OCR 工具和开源库。
  • 如果使用 OCR,需在 Writeup 中说明 OCR 工具、OCR 文本如何进入模型,以及至少 3 个 OCR 失败样例。

评测说明#

提交说明#

参赛选手需要对测试集中每张图片输出一个类别标签,并将结果保存为 results.csv

提交文件必须压缩为:

NS-2026-00-answer.zip

压缩包内必须只包含:

results.csv

注意:压缩包内不得包含文件夹,仅包含 results.csv 文件本体。

提交格式#

results.csv 必须包含表头 id,label

示例:

id,label
ns26_d5981fcee61ebb8104aee19ad19d71a8,invoice
ns26_34a5bd019d7907385ad97a9d5a30385f,poster

格式要求:

  • 必须包含且仅包含两列:idlabel
  • 必须覆盖 test.csv 中全部测试样本。
  • 每个测试样本 ID 必须出现一次且仅出现一次。
  • 不得出现测试集之外的 ID。
  • label 必须属于 label_map.json 中的 10 个合法标签。
  • CSV 文件建议使用 UTF-8 编码。

评测原理#

平台会读取选手提交的 results.csv,与隐藏测试标签按 id 对齐,计算分类准确率:

Accuracy = 预测正确的样本数 / 测试样本总数

得分计算#

本题满分 500 分。主指标为 Accuracy,按以下锚点线性插值映射到分数:

Accuracy得分比例得分
0.000%0
0.7020%100
0.8040%200
0.8860%300
0.9280%400
0.95 及以上100%500

例如,Accuracy 位于 0.800.88 之间时,分数会在 200 到 300 之间线性插值。

无效提交情况#

以下情况将得到 0 分:

  • 压缩包内没有 results.csv
  • results.csv 无法解析为 CSV。
  • 缺少必要列或包含额外列。
  • 测试样本 ID 缺失、重复或出现非法 ID。
  • label 不属于合法标签集合。
  • 文件中存在空标签、NaN、inf 或其它无法解析值。

评分脚本只输出总体分数和聚合指标,不会输出隐藏测试标签或逐样本对错信息。

条款#

AI 协助规则#

本题 AI 协助等级为 A1

Writeup 补充要求#

如果使用 OCR,Writeup 还必须说明 OCR 工具、OCR 文本如何进入模型,以及至少 3 个 OCR 失败样例。如果使用图像增强,需列出增强策略并说明是否改变文字可读性。

Writeup需包含最终提交压缩包文件 SHA256,指平台上传的 NS-2026-00-answer.zip 的 SHA256。

NS-2026-00 星图识别员:校园票据分类 — Writeup#

1. 基本信息#

  • 队长用户名:Ayin

  • 队伍名:L.Corp

  • 题号:NS-2026-00

  • 最终官网提交记录

    • 提交时间:2026-05-24 18:16:52
    • 最终有效得分:500 分

    submission


2. 解题概述#

本题任务是对 10 类校园文档图片(发票、小票、课程表、海报等)进行自动分类,选择以 OCR 文本提取 + 预训练中文文本分类模型 为核心方案。

具体流程为:使用 RapidOCR 对训练集和测试集图片进行批量 OCR 识别,将提取到的文本保存为 CSV;随后以 hfl/chinese-roberta-wwm-ext 作为骨干网络进行序列分类微调,最终对测试集完成推理并生成提交文件。

本地验证集准确率为 1.0(100%),线上提交准确率同为 1.0(1200/1200),获满分 500 分。


3. 关键改进与实验依据#

  1. 将 PaddleOCR 替换为 RapidOCR PaddleOCR 在本机环境下依赖安装复杂、推理速度较慢。更换为 RapidOCR 后,环境配置更简洁,批量处理速度明显提升,OCR 阶段整体耗时大幅缩短。由于最终准确率均为满分,此改动的主要价值体现在工程效率上,未做精度消融。

  2. 使用中文预训练模型 hfl/chinese-roberta-wwm-ext 相比通用多语言模型,该模型针对中文语料以全词掩码策略预训练,对中文文档文本的理解更准确。配合 OCR 提取的中文票据文本,分类效果直接达到满分,无需额外调参。


4. 验证与复现#

运行环境#

项目信息
操作系统Windows 11
Python 版本3.12.11
PyTorch 版本2.7.1+cu128
Transformers 版本4.53.2
RapidOCR 版本3.8.1
datasets 版本4.8.5
scikit-learn 版本1.7.0
CPU 型号AMD Ryzen 7 9800X3D 8-Core Processor
GPU 型号NVIDIA RTX 5090
内存 (RAM)48 GB
CUDA 版本13.2

随机种子与核心超参数#

  • 随机种子:训练/验证集切分固定 random_state=42
  • 最大序列长度max_length=256
  • 学习率3e-5
  • 训练 Batch Size32
  • 训练 Epoch5
  • 优化器权重衰减0.01

预计运行时间与主要资源消耗#

  • OCR 提取阶段:预计耗时约 5-10 分钟,主要消耗 CPU 资源。
  • 模型微调阶段:预计耗时约 1-2 分钟,GPU 显存占用约 6GB。
  • 模型推理阶段:预计耗时约 5-10 秒。

数据预处理#

使用了rapidocr对图片提取文本,具体代码见OCR.py,提前将训练集和测试集的文本提取出来

复现步骤#

# 1. 安装依赖
pip install rapidocr transformers datasets scikit-learn pandas torch tqdm
# 2. OCR 提取:对训练集和测试集图片提取文本,生成 train_text.csv 和 test_text.csv
python OCR.py
# 3. 训练分类模型:读取 train_text.csv,微调 chinese-roberta-wwm-ext,保存至 ./best_model
python train.py
# 4. 推理并生成提交文件:读取 test_text.csv,输出 results.csv
python inference.py

OCR 失败样例说明#

以下为使用 RapidOCR 处理时遇到的典型失败情形:

  1. 横线上填写文字是会识别出额外的下划线:id, OCR 结果中下划线被误识别为文本的一部分,导致提取文本包含下划线字符。
  2. 日期和时间空格较小,识别连在一起:id, OCR 结果中日期和时间被识别为一个连续字符串,缺乏空格分隔,不便于解析。
  3. 有部分文字超出图片边界:id, OCR 结果中部分文字未被识别,因为它们位于图片边缘,导致提取文本不完整。

上述情况比较少见,即使 OCR 结果不完整,模型仍能通过残留关键词正确分类。


5.AI使用声明#

全局说明#

  • 本队使用的AI工具:Gemini,Claude
  • 主要用途:资料查询/代码辅助

逐题声明#

NS-2026-00#

  • 官方等级:A1
  • 实际使用:资料查询 / 代码辅助
  • AI是否接触完整题面:否
  • AI是否接触测试输入:否
  • AI是否接触提交反馈或排行榜反馈:否
  • AI是否生成或修改最终提交:否
  • 是否使用商业API、闭源远程模型或托管式Agent:是
  • 详细说明:使用了Gemini和Claude两个闭源远程模型,主要用于资料查询和代码辅助

Writeup 写作辅助声明#

  • 是否使用 AI 辅助撰写或润色:是
  • 使用工具:Gemini
  • 使用范围:语言润色 / Markdown 排版 / 根据本队实验记录整理段落
  • AI 接触材料:代码片段 / Writeup要求
  • AI 是否生成新的实验结果、验证分数或复现命令:否
  • 人工核对方式:队伍成员核对事实、代码、日志、分数和复现命令

6. 最终提交与 SHA256#

  • 平台提交文件名称:NS-2026-00-answer.zip
  • 平台提交时间:2026-05-24 18:16:52
  • 最终有效得分:500
  • 答案 ZIP SHA256(提交文件 SHA256):174cf538ec36c7e49612a46cca298bfd2cc458c54e667d801cec3985a6820ed4
  • 内部关键文件 SHA256(提交包内部 SHA256):
    • results.csv :606279f51025a8c4a73646859053fa375cb42227b31af3b490d6eae79759035e

7. 证据截图#

运行环境

python环境

训练推理过程

SHA256

历次checkpoint文件


7. 代码包#

代码包包含以下文件:

Ayin-NS-00/
├── README.md # 本文件,含复现步骤
├── evidence/ # 证据截图目录
├── submission/ # 最终提交副本
└── src/ # 复现源码目录 相对路径需调整,因为模型文件放在了外面一层目录
├── OCR.py # 步骤一:批量 OCR 文本提取
├── train.py # 步骤二:微调文本分类模型
└── inference.py # 步骤三:批量推理,生成 results.csv
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

NS-2026-00 星图识别员:校园票据分类 — Writeup
https://www.hokma.top/posts/ns-2026-00/
作者
Ayin
发布于
2026-06-24
许可协议
Unlicensed

部分信息可能已经过时

目录