目次
この記事について
この記事では、注目のオープンソースソフトウェア(OSS)である「TableBank」を紹介します。このシリーズは、画像解析のデータセットに焦点を当てており、これが第4回目の投稿となります。これまでに、DocLayNet、PubLayNet、FUNSDといった重要なデータセットを取り上げてきましたが、今回は特に注目されるTableBankにスポットを当てます。
TableBankは、インターネット上のWordやLaTeX文書から生成された、テーブル検出と認識のための新しい画像ベースのデータセットです。このデータセットは、417Kの高品質なラベル付きテーブルを含んでおり、これまでの手動ラベル付けされたデータセットと比較して、はるかに大規模かつ高品質なトレーニングデータを提供します。テーブル解析におけるオープンスタンダードなベンチマークデータセットの必要性を考えると、TableBankの存在は非常に意義深いものです。
このデータセットは特に、電子ドキュメントの解析やAI技術の活用に期待されており、さまざまな業界でのデータ処理や情報の抽出に役立つことでしょう。この記事では、TableBankの概要やその特性、利用法について詳しく解説していきます。
リンク:https://github.com/doc-analysis/TableBank


本コンテンツは、弊社AI開発ツール「IXV」を用いたOSSツール紹介です。情報の正確性には努めておりますが、内容に誤りが含まれる可能性がございますのでご了承ください。
1. TableBankでできること
TableBankは、インターネット上のWordおよびLaTeX文書から生成された417,234の高品質なラベル付きテーブルを含む、画像ベースのテーブル検出および認識データセットです。このデータセットは、テーブル検出とテーブル構造認識のための標準的なオープンドメインベンチマークデータセットに対応しており、以下のタスクを実行できます。
1.1 テーブル検出
テーブル検出は、文書内のテーブルをバウンディングボックスで特定するタスクです。与えられた文書ページの画像から、テーブルの位置を示すバウンディングボックスを生成します。
1.2 テーブル構造認識
テーブル構造認識は、特にスキャンされた画像などの非デジタル文書フォーマットにおいて、テーブルの行と列のレイアウト構造を特定することを目的としています。画像フォーマットのテーブルから、行と列の配置およびテーブルセルのタイプを表すHTMLタグシーケンスを生成します。
2. セットアップ手順
TableBankを使用するにあたり、以下の手順を踏んでセットアップを行います。
2.1 必要な環境
- Python 3.x
- PyTorch
- Detectron2
- OpenNMT
- NVIDIA GPU(トレーニングにはV100等が推奨)
2.2 ライセンス
TableBankはApache-2.0ライセンスのもとで公開されています。データセットは研究目的のみで使用可能です。
2.3 データのダウンロード
TableBankのデータは、HuggingFaceからダウンロードできます。データを利用する際は、再配布を行わないよう注意してください。
3. 簡単な使い方
テーブル検出は、文書内のテーブルをバウンディングボックスで特定するタスクです。以下では、TableBankを使った事前学習済みモデルを使用してテーブル検出を行う方法を説明します。
3.1 Detectronのインストール
Detectronについてはこちらの記事でも紹介しました。DetectronはCaffe2をベースにしており、現在PyTorchに統合されています。重要: DetectronのオペレーターにはCPUバージョンがないため、GPUシステムが必要です。
インストール時の注意点として、依存関係をインストールする際には、最新版ではなくpyyamlの古いバージョン(3.12)を使用する必要があります:
git clone https://github.com/facebookresearch/detectron $DETECTRON
pip install pyyaml==3.12
pip install -r $DETECTRON/requirements.txt
cd $DETECTRON && make
python $DETECTRON/detectron/tests/test_spatial_narrow_as_op.py
3.2 事前学習済みモデルのダウンロード
Model Zooから設定ファイルとモデルの重みをダウンロードします。以下の例では、ResNeXt101モデルを使用しますが、ResNeXt152モデルも同様のプロセスで使用できます。
3.3 推論の実行
ダウンロードしたモデルを使用して、以下のコマンドで推論を実行します:
python tools/infer_simple.py --cfg $CONFIG_MODEL --output-dir /tmp/detectron-tablebank --image-ext jpg --wts $MODEL_PATH /path/to/your/images
ここで、$CONFIG_MODELは設定ファイル、$MODEL_PATHはモデルの重みファイル、/path/to/your/imagesは入力画像ディレクトリ、jpgは入力画像の形式です。
検出されたテーブルは/tmp/detectron-tablebankディレクトリに視覚化されます。デフォルトでは、入力画像でオブジェクトが検出されない場合、対応する出力ファイルは生成されません。何も検出されなくても注釈付きPDFを生成するには、–always-outオプションを追加してください。
4. 結論
TableBankは、テーブル検出と構造認識のための強力なツールであり、417,234の高品質なラベル付きテーブルを提供することで、研究者や開発者にとって貴重なリソースとなります。そのセットアップは比較的簡単で、特にDetectron2やOpenNMTと組み合わせて使用することで、効率的なテーブル分析が可能です。今後の研究やアプリケーション開発において、TableBankが果たす役割はますます重要になるでしょう。