[OSS紹介#11] DocLayNet:画像解析の新しい可能性を広げる多様な文書レイアウトデータセット

この記事について

このブログシリーズでは、注目すべきオープンソースソフトウェア(OSS)を定期的に紹介しています。連載第11回となる今回は、画像解析ツールに関する調査の一環として、データセットに焦点を当てます。

近年、AIによる画像解析技術が急速に発展する中で、高品質なトレーニングデータの重要性はますます高まっています。特に文書画像処理の分野では、複雑で多様なレイアウトを持つ文書を正確に解析するための基盤データが求められています。

今回紹介する「DocLayNet」は、大規模な人手によるドキュメントレイアウトセグメンテーションデータセットで、さまざまな文書ソースから収集した80,863ページのデータを提供しています。金融、科学、法務、特許など、異なるカテゴリーの文書を網羅し、11の詳細なクラスラベルで注釈付けされているため、従来のデータセットと比べて高い値を持っています。

こうした質の高いデータセットは、文書画像解析モデルの精度向上に大きく寄与し、ビジネス文書の自動処理や情報抽出の効率化など、実用的なアプリケーション開発を加速させる可能性を秘めています。本記事では、DocLayNetの具体的な特徴や活用方法について詳しくご紹介します。

リンク:https://github.com/DS4SD/DocLayNet


本コンテンツは、弊社AI開発ツール「IXV」を用いたOSSツール紹介です。情報の正確性には努めておりますが、内容に誤りが含まれる可能性がございますのでご了承ください。

1. DocLayNetでできること

DocLayNetは、文書レイアウト解析のための大規模な人手注釈付きデータセットであり、80863ページの多様な文書ソースから構成されています。このデータセットは以下の特徴を持っています。

  1. 人手注釈: DocLayNetは、高度に訓練された専門家によって手動で注釈が付けられており、各ページレイアウトの人間による認識と解釈を通じて、レイアウトセグメンテーションのゴールドスタンダードを提供します。
  2. 大規模なレイアウトの変動性: 財務、科学、特許、入札、法律文書、マニュアルなど、さまざまな公共ソースからの多様で複雑なレイアウトを含んでいます。
  3. 詳細なラベルセット: 11の異なるクラスラベルを定義し、レイアウト特徴を高い詳細度で区別します。
  4. 冗長な注釈: DocLayNetの一部のページには二重または三重に注釈が付けられており、注釈の不確実性を見積もり、機械学習モデルで達成可能な予測精度の上限を評価できます。
  5. 事前定義された学習・検証・テストセット: 各クラスラベルの比例表現を確保し、セット間でユニークなレイアウトスタイルの漏洩を避けるための固定セットを提供しています。

2. セットアップ手順

DocLayNetデータセットは、Hugging Faceプラットフォームで利用可能です。以下の手順でセットアップできます。

  1. 依存関係のインストール:
    必要なライブラリをインストールします。
    pip install datasets

  2. データセットのロード:
    次のコードを使用してDocLayNetデータセットをロードします。
    from datasets import load_dataset

    dataset = load_dataset("ds4sd/DocLayNet")

    ロードしたデータセットは、訓練、検証、テストセットを含むDatasetDictとして返されます。各セットは、ページのメタデータ(画像ID、幅、高さ、文書カテゴリなど)を含む特徴を持っています。


3. 簡単な使い方

DocLayNetデータセットを利用することで、文書レイアウト分析の機械学習モデルを構築できます。以下は基本的な使用例です。

  1. データセットの確認:
    データセットの構造を確認するためには、以下のコードを実行します。
    print(dataset)

    この出力には、各セットの特徴と行数が表示されます。例えば、訓練セットには69375行、検証セットには6489行、テストセットには4999行が含まれています。



  2. データの取得:
    各ページの画像や注釈データにアクセスすることができます。以下のように特定のページデータを取得可能です。


    sample_page = dataset['train'][0]  # 訓練セットの最初のページを取得
    image_id = sample_page['image_id']
    objects = sample_page['objects'] # 注釈されたオブジェクト

  3. 画像の可視化:
    取得した画像と注釈を可視化することで、データセットの内容を確認できます。これにはMatplotlibなどのライブラリを使用できます。

4. 結論

DocLayNetは、文書レイアウト解析のための強力な人手注釈データセットであり、多様なレイアウトを高精度で分析するために設計されています。その人手注釈、レイアウトの多様性、詳細なラベルセットにより、機械学習モデルの訓練において信頼性の高いデータを提供します。これにより、文書解析の精度を向上させることが可能です。興味のある方は、ぜひこちらからデータセットをダウンロードし、活用してみてください。