約 1 年前、私はファイルからデータ、主にテーブルに含まれるデータを抽出して構造化するタスクを割り当てられました。私はコンピューター ビジョンに関する事前の知識がなかったため、適切な「プラグ アンド プレイ」ソリューションを見つけるのに苦労していました。当時利用できるオプションは、大規模で扱いにくい最先端のニューラル ネットワーク (NN) ベースのソリューションか、一貫性が十分でない OpenCV ベースのよりシンプルなソリューションのいずれかでした。 既存の OpenCV スクリプトに触発されて、テーブルを抽出するためのシンプルで一貫性のある方法を開発し、それをオープンソースの Python ライブラリ img2table にしました。 リンク: https://github.com/xavctn/img2table 私のライブラリは何をしますか?ディープラーニング ソリューションと比較すると、この軽量パッケージではトレーニングは不要で、パラメータ化も最小限で済みます。以下の機能を提供します:
どうやって使うの?pip 経由でライブラリをインストールして使用することができます。 ドキュメント内のテーブルを識別するのは、1 つの関数を呼び出すだけです。 上記の例で使用されている画像 テーブルの内容を抽出するには、OCR ツールを使用する必要があります。これは次のように実行できます。 PDFから抽出した表の例 最後に、単純なケースでは、borderless_tables パラメータを設定することで、「境界のない」テーブル抽出を実行できます。これにより、セルを境界線で完全に囲まれる必要のないテーブルを検出できます。 「ボーダーレス」テーブル抽出例 それだけです!実際のところ、ライブラリには複雑なものはあまりありません。他の利用可能なソリューションによってもたらされる複雑さを回避するために、ライブラリをできるだけシンプルに保つことが目標だからです。 より詳細なドキュメントと例については、プロジェクトの GitHub ページをご覧ください: https://github.com/xavctn/img2table 低レベルの実装すべての画像処理は OpenCV および opencv-python ライブラリを使用して行われます。しかし、これはまだかなり基本的なものです。 アルゴリズムのバックボーンとなるのはハフ変換で、画像内の線を識別し、画像内の水平線と垂直線を検出できます。 その後、行に対していくつかの処理を実行して行からセルを識別し、次にセルからテーブルを識別します。 アルゴリズムの簡略化された表現を実装する ほとんどの計算は、優れたパフォーマンスと速度を実現するために Polars を使用して実行されます。 |
11月3日、中央気象台は今年初の黄色寒波警報を発令し、最強の寒波が来ています!警報によると、11月...
大規模言語モデル (LLM) を含む生成 AI は、エンコード、空間計算、サンプル データ生成、時系...
人工知能(AI)の急速な発展は、さまざまな業界に革命的な変化をもたらし、イノベーションの新たな時代を...
技術の進歩は、驚くべき速さでビジネスモデルを破壊する可能性があります。したがって、ビジネスリーダーに...
Analytics Vidhya は最近、3 月の GitHub で上位 5 つのデータ サイエンス...
人類が最も懸念している問題の一つは、人工知能(AI)の将来の発展です。真の AI は、人間の作業のス...
今日、ますます多くの国や地域が、業務効率の向上、国民へのより良いサービスの提供、そして任務遂行能力の...
AI を活用したストレージにより、企業はデータを迅速かつインテリジェントに分析し、ほぼ瞬時に洞察...
メタバースの概念が誇張され、まるでそれが本当に存在するかのように人々が話していることは間違いありませ...