光学文字認識(OCR)は、テキストの画像(スキャン、スマートフォンの写真、PDF)を機械が読み取れる文字列に、そしてますます 構造化データに変換します。現代のOCRは、画像をクリーンアップし、テキストを見つけ、それを読み取り、豊富なメタデータをエクスポートするパイプラインであり、 下流のシステムがフィールドを検索、索引付け、または抽出できるようにします。広く使用されている2つの出力標準は、 hOCR、テキストとレイアウトのためのHTMLマイクロフォーマット、および ALTO XML、図書館/アーカイブ指向のスキーマです。どちらも位置、読み取り順序、その他のレイアウトの合図を保持し、Tesseractのような人気のあるエンジンでサポートされています。
前処理。 OCRの品質は、画像のクリーンアップから始まります:グレースケール変換、ノイズ除去、 しきい値処理(二値化)、および傾き補正。標準的なOpenCVのチュートリアルでは、グローバル、 適応型 および Otsu のしきい値処理が扱われています。これらは、不均一な照明やバイモーダルなヒストグラムを持つドキュメントの定番です。ページ内で照明が変化する場合 (電話のスナップショットを考えてみてください)、適応型メソッドは単一のグローバルしきい値よりも優れていることがよくあります。Otsu はヒストグラムを分析して自動的にしきい値を選択します。傾き補正も同様に重要です:Houghベースの 傾き補正(ハフライン変換)とOtsuの二値化を組み合わせることは、生産前処理パイプラインで一般的で効果的なレシピです。
検出と認識。 OCRは通常、テキスト検出(テキストはどこにあるか ?)とテキスト認識(何が書かれているか?)に分けられます。自然なシーンや多くのスキャンでは、 EAST のような完全畳み込み検出器は、重い提案段階なしで単語または行レベルの四辺形を 効率的に予測し、 一般的なツールキット(例: OpenCVのテキスト検出チュートリアル)に実装されています。複雑なページ(新聞、フォーム、書籍)では、行/領域のセグメンテーションと読み取り順序の推論が重要です:Kraken は、従来のゾーン/ラインセグメンテーションとニューラルベースラインセグメンテーションを実装しており、さまざまなスクリプトと方向(LTR / RTL /垂直)を明示的にサポートしています。
認識モデル。 古典的なオープンソースの主力製品である Tesseract (Googleによってオープンソース化され、HPにルーツを持つ)は、文字分類器からLSTMベースのシーケンス 認識器に進化し、検索可能なPDF、 hOCR / ALTOフレンドリーな出力などをCLIから出力できます。現代の認識器は、事前にセグメント化された文字なしでシーケンスモデリングに依存しています。 コネクショニスト時間分類(CTC) は、入力特徴シーケンスと出力ラベル文字列間のアライメントを学習する基礎であり続け、手書きおよびシーンテキストパイプラインで広く 使用されています。
過去数年間で、TransformerはOCRを再構築しました。 TrOCR は、ビジョントランスフォーマーエンコーダーとテキストトランスフォーマーデコーダーを使用し、大規模な合成コーパスでトレーニングされた後、 実際のデータで微調整され、印刷、手書き、シーンテキストのベンチマークで強力なパフォーマンスを発揮します( Hugging Faceのドキュメントも参照)。並行して、一部のシステムは下流の理解のためにOCRを回避します: Donut(Document Understanding Transformer) は、ドキュメント 画像から直接構造化された回答(キーと値のJSONなど)を出力するOCRフリーのエンコーダーデコーダーです(リポジトリ、 モデルカード)、別のOCRステップがIEシステムにフィードされるときのエラー蓄積を回避します。
多くのスクリプトでバッテリー付属のテキスト読み取りが必要な場合は、 EasyOCR が80以上の言語モデルを備えたシンプルなAPIを提供し、ボックス、テキスト、信頼度を返します。これはプロトタイプや 非ラテン文字のスクリプトに便利です。歴史的な文書の場合、 Kraken はベースラインセグメンテーションとスクリプト対応の読み取り順序 で優れています。柔軟な行レベルのトレーニングには、 Calamari がOcropyの系統に基づいて構築されています(Ocropy)(マルチ)LSTM + CTC認識器とカスタムモデルを微調整するためのCLIを備えています。
一般化はデータにかかっています。手書きの場合、 IAM手書きデータベース は、トレーニングと評価のために作家の多様な英語の文章を提供します。これは、 行と単語の認識のための長年の参照セットです。シーンテキストの場合、 COCO-Text は、MS-COCOに広範な注釈を重ね、印刷/手書き、判読可能/判読不能、スクリプト、および 完全な転写のラベルを付けました(元の プロジェクトページも参照)。この分野はまた、合成事前トレーニングに大きく依存しています: SynthText in the Wild は、リアルなジオメトリと照明でテキストを写真にレンダリングし、事前トレーニング 検出器と認識器に大量のデータを提供します(参照 コードとデータ)。
ICDARのRobust Reading の傘下での競争は、評価を現実的なものに保ちます。最近のタスクは、エンドツーエンドの検出/読み取りを強調し、単語を フレーズにリンクすることを含み、公式コードは 精度/再現率/ Fスコア、和集合上の積集合 (IoU)、および文字レベルの編集距離メトリックを報告します。これは、実践者が追跡すべきことを反映しています。
OCRはめったにプレーンテキストで終わりません。アーカイブやデジタルライブラリは ALTO XML を好みます。なぜなら、コンテンツとともに物理的なレイアウト(座標を持つブロック/行/単語)をエンコードし、 METSパッケージングとうまく連携するからです。 hOCR マイクロフォーマットは、対照的に、ocr_lineや ocrx_wordなどのクラスを使用して同じアイデアをHTML / CSSに埋め込み、Webツールで簡単に表示、編集、変換できるようにします。Tesseractは両方を公開しています。たとえば、 CLIから直接hOCRまたは検索可能なPDFを生成します(PDF出力ガイド)。 pytesseract のようなPythonラッパーは利便性を高めます。リポジトリに固定の取り込み 標準がある場合、hOCRとALTOの間で変換するためのコンバーターが存在します。この厳選されたリス トを参照してください OCRファイル形式ツール。
最も強力なトレンドは収束です:検出、認識、言語モデリング、さらにはタスク固有のデコードまで が統一されたTransformerスタックに統合されています。 大規模な合成コーパス での事前トレーニングは、依然として力の乗数です。OCRフリーモデルは、ターゲットが逐語的な転写ではなく構造化された出力である場所ならどこでも積極的に競争します。 ハイブリッド展開も期待してください:長文テキスト用の軽量検出器とTrOCRスタイルの 認識器、およびフォームとレシート用のDonutスタイルのモデル。
Tesseract (GitHub) · Tesseractドキュメント · hOCR仕様 · ALTOの背景 · EAST検出器 · OpenCVテキスト検出 · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · IAM手書き · OCRファイル形式ツール · EasyOCR
光学的文字認識(OCR)は、さまざまな形式のドキュメント(スキャンされた紙のドキュメント、PDFファイル、デジタルカメラで撮影された画像など)を編集可能で検索可能なデータに変換するために使用される技術です。
OCRは入力画像またはドキュメントをスキャンし、画像を個々の文字に分割し、各文字を形状認識または特徴認識を使用して文字形状のデータベースと比較します。
OCRは印刷文書のデジタル化、テキストから音声へのサービスの活用、 データ入力プロセスの自動化、視覚障害のあるユーザーがテキストとより良く対話できるようにするなど、さまざまな業界とアプリケーションで使用されています。
OCR技術は大幅に進歩していますが、それが無敵ではありません。精度は、元のドキュメントの品質と使用されているOCRソフトウェアの特性によって異なることがあります。
OCRは主に印刷されたテキストを認識するように設計されていますが、一部の高度なOCRシステムは明瞭で一貫性のある手書き文字も認識することができます。ただし、個々の文字スタイルの変動幅が広いため、手書き文字の認識は通常、印刷されたテキストの認識よりも精度が低いです。
はい、 多くのOCRソフトウェアは複数の言語を認識できます。ただし、特定の言語がサポートされていることを確認する必要があります。
OCRはOptical Character Recognition(光学的文字認識)の略で、印刷されたテキストを認識します。一方、ICRはIntelligent Character Recognition(知能的文字認識)の略で、より進んだ技術を使用して手書きのテキストを認識します。
OCRはクリアで読みやすいフォントと標準的な文字サイズを処理するのに最も適しています。それはさまざまなフォントとサイズを処理する能力を持っていますが、非常に小さい文字サイズや一般的でないフォントを処理するときには、その精度が下がる可能性があります。
OCRは低解像度のドキュメント、複雑なフォント、印刷品質が悪いテキスト、手書きのテキスト、またはテキストが含まれている背景からの混乱を処理するのに問題を抱えている可能性があります。さらに、それは多言語を处理する能力を持っていますが、すべての言語を完全にカバーすることはできない可能性があります。
はい、OCRはカラーテキストとカラーバックグラウンドをスキャンすることができますが、通常は黒いテキストと白いバックグラウンドといった高いコントラストの色の組み合わせに対して最も効果的です。テキストとバックグラウンドの色のコントラストが不十分な場合、その精度が下がる可能性があります。
DirectX Texture(DirectXTex)ファミリーの一部であるDXT1圧縮フォーマットは、特にコンピュータグラフィックス用に設計された、画像圧縮技術におけ る大きな飛躍を表しています。これは、画像の品質とストレージ要件のバランスを取るロスのある圧縮手法であり、ディスクスペースと帯域幅の両方が貴重な商品であるゲームなどのリアルタイム3Dアプリケーションに非常に適しています。DXT1フォーマットの中核は、リアルタイムで解凍する必要なく、テクスチャデータを元のサイズのほんの一部に圧縮し、それによってメモリ使用量を削減し、パフォーマンスを向上させます。
DXT1は、個々のピクセルではなく、ピクセルのブロックで動作します。具体的には、4x4ピクセルのブロックを処理し、各ブロックを64ビットに圧縮します。このブロックベースの圧縮というアプローチにより、DXT1は画像を表すために必要なデータ量を大幅に削減できます。DXT1の圧縮の本質は、各ブロック内の色の表現のバランスを見つける能力にあり、高い圧縮率を達成しながら可能な限り多くの詳細を保持します。
DXT1の圧縮プロセスは、いくつかのステップに分解できます。まず、ブロックの全体的な色範囲を最もよく表すブロック内の2つの色を特定します。これらの色は、ブロック内の色のばらつきを包含する能力に基づいて選択され、2つの16ビットRGB色として格納されます。元の画像データと比較してビット深度が低いにもかかわらず、このステップにより、最も重要な色の情報が保持されます。
2つのプライマリカラーを決定した後、DXT1はそれらを使用して2つの追加カラーを生成し、ブロック全体を表す合計4つのカラーを作成します。これらの追加の色は、線形補間によって計算されます。これは、2つのプライマリカラーを異なる割合でブレンドするプロセスで す。具体的には、3番目の色は2つのプライマリカラーを均等にブレンドすることによって生成され、4番目の色は、テクスチャの透明度の要件に応じて、1番目の色を優先したブレンドか純粋な黒のいずれかになります。
4つの色が決定されると、次のステップでは、元の4x4ブロック内の各ピクセルを生成された4つの色のうち最も近い色にマッピングします。このマッピングは、元のピクセルカラーと4つの代表的な色の間の距離を計算し、ピクセルを最も近い一致に割り当てる単純な最近傍アルゴリズムによって行われます。このプロセスは、ブロックの元のカラースペースを効果的に4つの異なる色に量子化し、DXT1の圧縮を達成するための重要な要素です。
DXT1圧縮プロセスの最後のステップは、ブロック用に選択された2つの元の色のとともに、色マッピング情報をエンコードすることです。2つの元の色は、16ビット値として圧縮されたブロックデータに直接格納されます。一方、各ピクセルを4つの色の1つにマッピングすることは、2ビットのインデックスのシリーズとしてエンコードされ、各インデックスは4つの色の1つを指します。これらのインデックスは一緒にパックされ、64ビットブロックの残りのビットを包含します。結果として得られる圧縮ブロックには、色情報と、解凍中にブロックの外観を再構築するために必要なマッピングの両方が含まれます。
DXT1の解凍は、単純で高速なプロセスになるように設計されており、リアルタイムアプリケーションに非常に適しています。解凍アルゴリズムの単純さにより、最新のグラフィックスカードのハードウェアによって実行でき、CPUの負荷がさらに 軽減され、DXT1圧縮テクスチャのパフォーマンス効率に貢献します。解凍中、2つの元の色はブロックデータから取得され、2ビットのインデックスとともに使用して、ブロック内の各ピクセルの色を再構築します。必要に応じて、線形補間法が再び使用されて中間色を導出します。
DXT1の利点の1つは、ファイルサイズの大幅な削減です。これは、圧縮されていない24ビットRGBテクスチャと比較して最大8:1になる可能性があります。この削減により、ディスクスペースが節約されるだけでなく、ロード時間が短縮され、特定のメモリ予算内でテクスチャの多様性が増加します。さらに、DXT1のパフォーマンス上の利点は、ストレージと帯域幅の節約に限定されません。GPUに処理および転送する必要があるデータ量を削減することで、レンダリング速度も向上し、ゲームやその他のグラフィックスを多用するアプリケーションに理想的なフォーマットになります。
その利点にもかかわらず、DXT1には限界があります。最も顕著なのは、特に色のコントラストが高いテクスチャや複雑な詳細を持つテクスチャで、目に見えるアーティファクトが発生する可能性があることです。これらのアーティファクトは、量子化プロセスとブロックあたりの4色という制限から生じ、元の画像の完全な色範囲を正確に表していない可能性があります。さらに、各ブロックの2つの代表的な色を選択する必要があるため、色の境界に問題が発生し、色の遷移が著しく急で不自然になる可能性があります。
さらに、DXT1フォーマットの透明度の処理は、別の複雑さを加えます。DXT1は1ビットのアルファ透明度をサポートします。つまり、ピクセルは完全に透明か完全に不透明にすることができます。透明度に対するこのバイナリアプローチは、生成された色の1つを選択して透明度を表すことによって実装されます。通常は、最初の2つの色が数値順序が逆になるように選択された場合の4番目の色です。これによりテクスチャに一定レベルの透明度を持たせることができますが、かなり制限されており、透明領域の周囲に厳しいエッジが生じる可能性があり、詳細な透明効果には適していません。
DXT1圧縮テクスチャを使用する開発者は、これらの制限を軽減するためにさまざまな手法を頻繁に使用します。たとえば、慎重なテクスチャ設計とディザリングの使用は、圧縮アーティファクトと色の境界の視認性を低減するのに役立ちます。さらに、透明度を扱う場合、開発者は透明データに別のテクスチャマップを使用するか、高品質の透明度が重要なテクスチャに対してDXT3やDXT5などのより微妙な透明度処理を提供する他のDXTフォーマットを選択する場合があります。
DXT1とそのDirectX APIへの組み込みの広範な採用は、リアルタイムグラフィックスの分野におけるその重要性を強調しています。品質とパフォーマンスのバランスを維持する能力により、リソースの効率的な使用が重要な懸念事項であるゲーム業界の定番となっています。ゲーム以外にも、DXT1は仮想現実、シミュレーション、3Dビジュアライゼーションなど、リアルタイムレンダリングを必要とするさまざまな分野で応用されており、圧縮フォーマットとしての汎用性と有効性を強調しています。
技術の進歩に伴い、テクスチャ圧縮技術の進化は続き、新しいフォーマットはDXT1の 強みを構築しながらその限界に対処することを目指しています。ハードウェアとソフトウェアの進歩により、より高い品質、より優れた透明度サポート、より効率的な圧縮アルゴリズムを提供する圧縮フォーマットが開発されました。しかし、テクスチャ圧縮における先駆的なフォーマットとしてのDXT1のレガシーは、依然として議論の余地がありません。その設計原則と、品質、パフォーマンス、ストレージ効率の間のトレードオフは、将来の圧縮技術の開発に影響を与え続けています。
結論として、DXT1画像フォーマットは、テクスチャ圧縮の分野における重要な開発を表し、画像の品質とメモリ使用量の間に効果的なバランスを打ち出しています。特に色の忠実度と透明度の処理の領域では限界がありますが、ストレージとパフォーマンスの向上という点での利点は過小評価できません。速度と効率が最優先されるアプリケーションでは、DXT1は依然として魅力的な選択肢です。コンピュータグラフィックスの分野が進歩するにつれて、DXT1の設計と応用から得られた教訓は、間違いなく画像圧縮の将来のイノベーションを知らせ、刺激し続けるでしょう。
このコンバーターはブラウザ内で完全に動作します。ファイルを選択すると、メモリに読み込まれ、選択したフォーマットに変換されます。その後、変換されたファイルをダウンロードできます。
変換は瞬時に開始され、ほとんどのファイルは1秒以内に変換されます。大きなファイルの場合、時間がかかる場合があります。
ファイルは決してサーバにアップロードされません。ブラウザ内で変換され、変換されたファイルがダウンロードされます。ファイルは見られません。
画像フォーマット間の変換すべてに対応しています。JPEG、PNG、GIF、WebP、SVG、BMP、TIFFなどです。
このコンバーターは完全に無料で、永久に無料のままです。ブラウザ内で動作するため、サーバを用意する必要がないので、料金を請求する必要がありません。
はい、一度に複数のファイルを変換できます。追加時に複数のファイルを選択してください。