# NOAI 2026: 积·和

**注意：本题将在基于 `noai:2026v1.1` 镜像的环境中评测，参赛者请选择 `noai:2026v1.1` 作为训练镜像。**



## 1. 任务描述

小周同学在整理旧书时，发现了一本泛黄的手写账簿。账簿的每一页都记录着四个手写数字，并标注了它们的总和与乘积。然而，最后几页中的四个数字仍清晰可辨，总和与乘积两栏却被墨水洇湿了。小周同学需要你帮助他恢复这些缺失的数值。

在本题中，我们将给定一张包含四个手写数字（0-9）拼接而成的 **28×112** 的灰度图像，要求同时预测这四个数字的：

- **总和（sum）**：范围为 0-36
- **乘积（product）**：范围为 0-6561

这是一个双目标预测任务：输入一张图像，输出四个数字的总和与乘积。



## 2. 数据集

### 2.1 数据规模

| Split               | 图像数量   |
| ------------------- | ---------- |
| 训练集 (Train)      | 10,000     |
| 验证集 (Validation) | 1,000      |
| 测试集 (Test)       | 1,000      |
| **总计**            | **12,000** |

### 2.2 文件命名

图像文件名与样本编号一致，采用 6 位数字编号：

| Split  | 编号范围                     |
| ------ | ---------------------------- |
| 训练集 | `000001.png` 至 `010000.png` |
| 验证集 | `010001.png` 至 `011000.png` |
| 测试集 | `011001.png` 至 `012000.png` |

### 2.3 图像规格

| 参数     | 值          |
| -------- | ----------- |
| 图像尺寸 | 28 × 112    |
| 格式     | PNG，灰度图 |
| 数字范围 | 0-9         |

### 2.4 标签格式

标签文件（如 `train.csv`）包含三列：`id`（样本编号）、`sum`（总和）、`product`（乘积）。

示例数据：

| id     | sum  | product |
| ------ | ---- | ------- |
| 000001 | 9    | 12      |
| 000002 | 32   | 4032    |
| 000003 | 18   | 0       |

这表示编号为 `000001` 的图像中，四个手写数字的总和为 9，乘积为 12。

### 2.5 训练数据访问

在开发阶段，参赛者只能直接访问训练集。验证集和测试集仅在正式评测环境中提供，参赛者需通过指定的环境变量读取其存储路径，具体方式请参见[baseline](https://www.bohrium.com/notebooks/22512147682) Notebook。



## 3. 任务

参赛者需要根据输入图像，预测图像中四个手写数字的总和与乘积。

- **输入**：28×112 的灰度 PNG 图像
- **输出**：两个数值，分别为四数字的总和（`sum`）与乘积（`product`）

例如，若一张图像中的四个数字从左至右依次为 `2, 3, 4, 5` 时，则正确输出为：

- `sum = 14`
- `product = 120`



## 4. 提交

参赛者需提交一个名为 `submission.ipynb` 的 Notebook。该 Notebook 应包含完整的训练、推理及结果文件生成流程，并能够在评测环境中从头运行。

### 4.1 Notebook的输出

Notebook 运行结束后，应在指定位置生成名为 `submission.zip` 的压缩文件。压缩包根目录中必须直接包含以下两个文件，不得增加额外的目录层级：

- `submission_val.csv` — 验证集预测结果
- `submission_test.csv` — 测试集预测结果

CSV 文件的行顺序应与对应数据集中的样本编号顺序一致，且不得缺少或重复样本。

### 4.2 文件结构

请参见[baseline](https://www.bohrium.com/notebooks/22512147682) Notebook 中的完整文件结构。

### 4.3 Notebook生成的CSV 格式

每个 CSV 文件必须包含表头 `id,sum,product`：

```csv
id,sum,product
010001,18,168
010002,5,0
010003,31,3528
```

| 列名      | 说明                           |
| --------- | ------------------------------ |
| `id`      | 图片文件名去掉 `.png` 后的编号 |
| `sum`     | 预测的四个数字之和             |
| `product` | 预测的四个数字之积             |

### 4.4 本题只允许提交一个Notebook文件，不允许外挂数据集和其他文件



## 5. 评分

### 5.1 指标：准确率（Accuracy）

对每个样本分别判断 `sum` 和 `product` 是否预测正确，将两部分正确数相加后除以总判定次数。

对于验证集或测试集（各 1,000 个样本）：

​	$$\text{Accuracy} = \frac{\text{正确的 sum 数量} + \text{正确的 product 数量}}{2000}$$

### 5.2 公开榜与私有榜

- **公开榜（A 榜）**：根据验证集（Validation Set）的预测准确率计算；
- **私有榜（B 榜）**：根据测试集（Test Set）的预测准确率计算，并在比赛结束后公布。



## 6. 限制

- 不允许下载或使用本题提供的数据集之外的任何外部数据，但允许参赛者自行绘制样本，或对题目提供的数据进行二次标注；
- 不允许使用外部大语言模型 API（如 GPT、Claude）进行预测、特征生成、数据标注或模型集成；
- 评测机不联网，不能进行 `pip install` 操作或网络访问；
- 训练 + 推理总时长不超过 25 分钟（Tesla L20 GPU）。



## 7. 基线分数与参考分数

- **B 榜基线分数 ([baseline](https://www.bohrium.com/notebooks/22512147682))**：0.0440
- **B 榜科学委员会参考分数 (Reference Result)**：0.9600



## 8. 致谢

感谢科学委员会成员 ZYZ 提供本题。