---
title: floating-fsa
canonical_url: "https://www.modelscope.cn/datasets/irhawks/floating-fsa"
md_url: "https://www.modelscope.cn/datasets/irhawks/floating-fsa.md"
repository: irhawks/floating-fsa
chinese_name: "浮动体结构分析数据集（FSA）"
last_updated: 2024-10-19
license: "Apache License 2.0"
storage_size: "727 MB"
downloads: 6120
stars: 0
---

# floating-fsa

> floating-fsa - irhawks 在 ModelScope 开源的数据集。浮动体是在学术文献和书籍等正式出版物中常见的一种页面元素类型。在LaTeX中，浮动体通常指的是可以包含文本、图片、表格、代码、算法等的容器。这些容器在文档中的位置可以由LaTeX自动调整以适应页面布局。为了便于索引和阅读，通常浮动体会在主体（图片、表格、代码块、算法块）之外，增加类型、编号、标题等信息，以使得阅读相对顺畅。版面结构分析（Document Layout…

irhawks/floating-fsa 是 ModelScope 魔搭社区上的数据集，存储大小 727 MB，采用 Apache License 2.0 许可。

- **Repository**: irhawks/floating-fsa
- **License**: Apache License 2.0
- **Storage size**: 727 MB
- **Downloads**: 6120
- **Stars**: 0
- **Last updated**: 2024-10-19

Source: https://www.modelscope.cn/datasets/irhawks/floating-fsa

---

# 说明

浮动体是在学术文献和书籍等正式出版物中常见的一种页面元素类型。在LaTeX中，浮动体通常指的是可以包含文本、图片、表格、代码、算法等的容器。这些容器在文档中的位置可以由LaTeX自动调整以适应页面布局。为了便于索引和阅读，通常浮动体会在主体（图片、表格、代码块、算法块）之外，增加类型、编号、标题等信息，以使得阅读相对顺畅。在复杂的情况下，一个浮动体可能还会包含多个子元素，每个子元素可能有各自的编号。在LaTeX中，常见的浮动体有如下几种：

-   插图（Figure）。插图是用于包含图片的浮动体，通常在`\begin{figure}`和`\end{figure}`环境中定义；
-   附表（Table）。附表是用于包含表格的浮动体，通常在`\begin{table}`和`\end{table}`环境来定义；
-   算法（Algorithm）。算法环境是用于描述算法的浮动体，通常使用额外的algorithm, algorithm2e, algorithmicx来定义；
-   代码（Code）。代码环境是用于包含代码的浮动体，通常使用listings、minted等宏包来定义。

长期以来，版面结构分析（Document Layout Analysis）任务所检测出来的元素数量都极为有限，表格、图片等一般单独处理。这种方式主要存在以下缺点：

1.  浮动体的标题和主体内容之间的关系未得到标题，不能将他们作为一个整体来看待；
2.  所支持的浮动体的类型有限，比如代码块还有算法块经常被DLA模型识别为多个段落文本，从而影响了准确性；
3.  可扩展性有限，无法适应日益多样的排版表达样式，比如更加复杂的小页等环境。于是版面分析模型的适应性差。

为此，在现有版面结构分析的基础上，增加了浮动体位置检测和浮动体结构分析两项任务。其中：

-   浮动体位置检测（FLD）任务旨在从文档图像中检测出整个浮动体的位置及类型信息，包括五种类型的浮动体：插图、附表、算法、代码、其他。
-   浮动体结构分析（FSA）任务旨在从包含整个页面或者浮动体的文档图像中检测出浮动体的各个子结构，当有子图子表等元素时，也可以识别出各个浮动主体的位置及类型，以及对应各自标题的位置。包括以下六种：插图、附表、算法、代码、标题、其他。

针对上述两种任务，参考DocGenome数据，寻找arXiv文档，使用X-AnyLabel分别标注，形成浮动体检测数据集（FLD）以及浮动体结构分析数据集（FSA），各600张。


# 下载方法

浮动体结构分析数据集下载：

:modelscope-code[]{type="sdk"}
:modelscope-code[]{type="git"}

# 标注标准

## 算法

算法环境用于以伪代码的形式描述程序性操作。实践中为了简洁起见，通常会使用伪代码、Pascal或者C的形式描述，通常包含for, while, if等控制条件，也带编号。并且上方通常显示算法的编号和标题信息。本数据集在标注时，将算法的编号、标题、主体等部分视为一个整体，完整地包含了上述要素。

![算法环境标注示例](images/paste-1.png)

算法结构分析作为浮动体结构分析（FSA）的子任务，主要用于分析算法块的结构，将算法块分成标题和主体两个部分。如下所示：

![算法环境结构分析标注示例](images/paste-9.png)

特别地，对于算法主体，**不考虑算法的边框线，以描述算法的伪代码在文档图像中的实际位置范围作为参考标准**。其他浮动体元素（比如图片、表格、代码主体），也与此标准相一致。

![](images/paste-10.png)

## 代码

代码环境通常以编程语言或者接近于编程语言的形式描述程序，强调可执行性。因此通常会绑定一种实际的编程语言或归约语言。代码环境中的主体部分，绝大部分采用等宽字体排版（也有不使用等宽字体的），以英文和符号为主，遵循比较清晰的缩进准则（所以对识别的要求比较高）。本数据集在标注时，将代码环境的编号、标题（如果有的话）、主体等部分视为一个整体，完整地包含上述要素。

![代码环境标注示例](images/paste-2.png)

除此之外，代码环境也可能像行间数学公式那样具有编号信息，这通常是为了正文表述的需要。此类元素虽然一般不再浮动，但是也一并视为浮动体。

![行间公式形式的代码环境](images/paste-3.png)

需要注意的是，有时候代码环境与插图等浮动体环境复用编号。此时，虽然标题是Figure，但就整体而言，该浮动体的类型应仍为代码。如下图所示。

![](images/paste-6.png)

在标注代码环境结构分析时，将代码环境中的标题和代码主体区分开。标题和代码主体的范围均为去掉各类装饰线之后的实际范围。

![代码环境结构分析标注示例](images/paste-11.png)

对于非浮动的代码行，将代码主体与编号分别标注，并将编号的类型标为“其他”。

![](images/paste-12.png)

## 插图

本数据集中认为插图是以图形而非符号化的方式展示相关信息的元素，其中的图形可以是自然的图像或绘制的图形（示意图）。本数据集中以说明一个或多个图片为目的的浮动体，将其类型视为“插图”。本数据集在标注时，将插图的编号、标题（如果有的话）、主体等部分视为一个整体，完整地包含上述要素。

![](images/paste-4.png)

在插图环境结构分析任务中，每个图形单独标注，标为“插图”，每个子图的标题以及浮动体的子标类，类型标为“标题”。如下所示。

![](images/paste-13.png)

## 附表

表格是将所展示的信息以二维单元格的形式进行展示的元素，通常包括行、列、脚注等概念。本数据集中以说明一个或多个表格为目的的浮动体，将其类型视为“附表”。本数据集在标注时，将附表的编号、标题（如果有的话）、主体等部分视为一个整体，完整地包含上述要素。

![](images/paste-7.png)

![附表环境标注示例](images/paste-8.png)

对于附表环境结构分析任务，标注标准与其他的结构分析任务保持一致。主体标为“附表”，每个表格标题标为“标题”

![](images/paste-14.png)

## 其他

除图片、表格、代码块、算法块之外，又符合浮动体基本特征的元素，或者混合两种及以上不同主体类型的浮动体区域，被标注为“其他”。然而由于排版原因，这些元素也可能与插图、附表使用相同的标题类型。

![其他类型的标注示例](images/paste-5.png)

在其他类型的结构分析任务中，除算法、代码、图片、附表、标题之外的元素被标为其他。常见情况包括行间代码的编号、表格的脚注等区域。如下青色区域所示。

![](images/paste-15.png)
