|
みなさんこんにちは、エチャです。 今日は、私たちの日常生活に深く関わり、頻繁に使われている便利なツールをご紹介したいと思います。物理世界とデジタル世界の間で情報を変換することは、デジタル開発における重要な技術的側面です。 技術用語では、光学式文字認識 (OCR) といいます。 物体検出に基づくOCR認識技術 OCRとは、画像ファイルからテキストデータを分析・認識し、テキストとレイアウト情報を取得するプロセスを指します。言い換えれば、画像内のテキストを認識し、それをテキストとして返すことです。この説明だけでは分かりにくいかもしれませんので、より明確にするために、OCRの適用シナリオについて説明しましょう。 OCR の適用シナリオは次のとおりです。 カードと文書の認識: 中国本土、香港、マカオ、台湾の ID カード、旅行許可証、パスポートの認識、カード認識、車両認識: 運転免許証と車両登録証明書の認識、営業許可証の認識、企業文書の認識。 テキスト情報構造化ビデオ認識: 字幕認識とテキスト検出、表; 文書認識: 付加価値税請求書認識、電子請求書認識、銀行小切手認識、銀行為替手形認識、銀行手形認識、物流および速達配送認識。 その他の認識方法には、QR コード認識、1D バーコード認識、ナンバープレート認識、数式認識、物理および化学記号認識、音楽記号認識、エンジニアリング図面認識、フローチャート認識、履歴文書認識、手書き入力認識などがあります。 上記以外にも、自然シーンでのテキスト認識、メニュー認識、バナーの検出と認識、スタンプの検出と認識、広告テキストや画像の認識など、レビューに関連したビジネスアプリケーションもあります。 シンプルなOCRアプリケーションシナリオ テクノロジーの発展に伴い、OCRアプリケーションはあらゆる場所に普及しています。顔認識、車両認識、人物属性認識、カード認識、交通標識認識といった従来の画像認識機能は、現代のデジタルワークとライフにおいて極めて重要な役割を果たしています。業界トップクラス企業が直接呼び出し可能なAPIやSDKを提供している一方で、これらの企業は、カスタマイズされたシナリオへの汎用性の低さ、高価格、ブラックボックス制御の難しさ、技術的な障壁の確立の難しさなど、多くの課題に直面しています。 9つのシーンモデルの概略図 本日は、人物、車両、OCRなど、9つの典型的な認識シナリオを網羅した、完全にオープンソースで無料のOCRプロジェクトを12個ご紹介します。これらのプロジェクトは、CPUで3ミリ秒という高速認識を実現し、わずか1行のコードで反復学習が可能です。お役に立てれば幸いです。いくつかの主要なオープンソースフレームワークを活用することで、プロジェクトに迅速に適用し、目標を達成することができます。 全文概要
Tesseract.js は、TesseractOCR をベースにした Web ブラウザー OCR ソフトウェアです。Github: https://github.com/naptha/tesseract.js#tesseractjs Tesseract.js 公式サイト Tesseract.jsは、Tesseract OCRをベースにしたWebブラウザOCRソフトウェアです。ブラウザで使用でき、非常に使いやすいです。Tesseract OCRと同様に、中国語を含む複数の言語をサポートしています。 Tesseract.js の Web サイトによると、このツールは 100 以上の言語をサポートし、自動テキスト位置特定機能とスクリプト検出機能を備え、段落、単語、文字境界ボックスを読み取るためのシンプルなインターフェースを備えています。 Tesseract.js デモのスクリーンショット Tesseract.js ケースデモンストレーション OCRopus は、Google が開発した OCR 関連ツールのコレクションです。Github: https://github.com/ocropus OCRopusは、Googleが開発したOCR関連ツールのコレクションで、Tesseract OCRエンジンの機能を拡張します。レイアウト分析、テキスト認識、サンプルデータ生成などの高度な機能を提供します。 さらに、OCRopusは入力画像を指定してコマンドラインから実行することもできます。認識したテキストは標準出力に直接出力されるか、hOCR(HTMLベース)コードとしてファイルに書き込まれ、検索可能なPDFに変換されます。より正確な制御を行うには、コマンドラインでオプションを指定して特定の操作を実行することもできます。 利点:
欠点
Tesseract OCR は、古典的なオープンソース OCR エンジンです。Github: https://github.com/tesseract-ocr/tesseract Tesseract OCR Github公式サイト Tesseractは、Hewlett-Packard社によって開発され、現在はGoogle社によってメンテナンスされている、定番のオープンソースOCRエンジンです。その精度と汎用性で定評のあるTesseractは、スキャンした文書、画像、手書きテキストからデータを抽出し、機械が理解できるテキストに変換します。100以上の言語をサポートし、複数のオペレーティングシステムと互換性があり、ユーザーフレンドリーなコマンドラインインターフェースを備えています。 利点:
欠点:
Ocrad - 主に印刷されたテキストを認識することで知られる軽量の OCR ソリューション。リンク: https://www.gnu.org/software/ocrad/ オクラド公式サイト Ocradは、そのシンプルさと認識速度で知られています。軽量なOCRソリューションを提供し、主に印刷テキストの認識に特化しています。テキスト認識と抽出のスピードと使いやすさに重点を置き、シンプルで効率的なOCRソリューションを提供することを目指しています。 利点
欠点
GOCR は、GNU General Public License に基づいて開発されたオープンソースの OCR エンジンです。リンク: https://jocr.sourceforge.net/ GOCR 公式ウェブサイト GOCRは、GNU General Public Licenseに基づいて開発されたオープンソースのOCRエンジンです。様々な画像ファイル形式のテキストコンテンツを認識でき、複数の言語とオペレーティングシステムをサポートしています。 GOCR の精度は他の OCR エンジンを上回ることはないかもしれませんが、そのシンプルさと使いやすさが GOCR の利点です。 利点
欠点
Ocrad.js は、Ocrad をベースにしたブラウザベースの OCR ソフトウェアです。リンク: https://antimatter15.com/ocrad.js/demo.html Ocrad.js 公式サイト Ocrad.jsは、Ocradをベースに構築されたブラウザベースのOCRソフトウェアです。JavaScriptで使用されます。サポートされている画像形式は、JPEG、PNG、GIF、BMP、SVG、NetBPMなどです。 OCRADは非常にシンプルで使いやすく、関数を呼び出すだけで`img`タグを認識できます。認識精度はTesseract.jsに劣りますが、モデルファイルのサイズがTesseractの30分の1以上小さいという利点があります。 Capture2Text は、コマンドライン ベースの Windows OCR ソフトウェアです。リンク: https://capture2text.sourceforge.net/ Capture2Text 公式サイト Capture2Textは、コマンドラインベースのWindows OCRソフトウェアです。日本語を含む複数の言語に対応しており、横書き文字と縦書き文字の両方を認識できます。必要に応じてWindowsコマンドラインからOCRコマンドを呼び出すことができ、認識されたテキストはクリップボードに保存されます。 GImage Reader - 複数の言語のテキストとさまざまな画像ファイル形式を認識できます。Github: https://github.com/manisandro/gImageReader GImage Reader 公式サイト GImage Readerは、複数の言語と様々な画像ファイル形式のテキストを認識できるツールです。スキャンした文書、スクリーンショット、写真などからテキストを抽出するのに最適です。また、シンプルで直感的なユーザーインターフェースを備えており、画像を素早く読み込み、テキスト結果を取得できます。 利点
欠点
OCRmyPDF は、PDF 専用に設計された OCR 認識ソフトウェアです。Github: https://github.com/ocrmypdf/OCRmyPDF OCRmyPDF 公式ウェブサイト OCRmyPDFは、PDF専用のOCRソフトウェアです。認識したテキストを透明テキストとしてPDFに追加できるため、PDF内のテキスト検索が可能になります。 テキスト情報が少ないPDFでも検索が可能になり、利便性が向上します。テキスト認識にはTesseract OCRエンジンを採用しているため、中国語にも対応しています。 PaddleClas は、PaddlePaddle が業界および学術界向けに用意した画像認識および画像分類タスク用のツールキットです。Github: https://github.com/PaddlePaddle/PaddleClas PaddleClas は、PaddlePaddle が業界および学術界向けに作成した画像認識および分類タスク用のツールキットであり、ユーザーがより優れた視覚モデルをトレーニングし、アプリケーションを実装するのに役立ちます。 特性 PaddleClasは、様々な最先端の画像分類・認識アルゴリズムをサポートし、PP-HGNet、PP-LCNetv2、PP-LCNet、SSLD半教師あり知識蒸留スキームといった業界標準のバックボーンネットワークをリリースしています。これらを基に、PULC超軽量画像分類スキームとPP-ShiTu画像認識システムを開発しました。 Kraken は Python で開発された OCR ソフトウェアで、主に非ラテン文字の認識に使用されます。Github: https://github.com/mittagessen/kraken クラーケン公式サイト KrakenはPythonで開発されたOCRソフトウェアで、主に非ラテン文字の認識に使用されます。アラビア語などの右から左に記述する言語だけでなく、日本語などの上から下へ記述する言語もサポートしています。OCRはコマンドラインから実行でき、PDF、JPEG、TIFFなどの形式のファイルを認識できます。 その機能は次のとおりです:
EasyOCR - 機械学習 (CRNN) に基づく OCR 機能を実装します。Github: https://github.com/JaidedAI/EasyOCR EasyOCRは、機械学習(CRNN)に基づくOCR機能を実装しています。簡体字中国語と繁体字中国語を含む80以上の言語のテキストを認識できます。Pythonで開発されているため、Pythonで簡単に使用できます。例えば: 中国語の文字を含む画像を識別します。 認識結果は次のとおりです。 やっと |