光学文字認識(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はカラーテキストとカラーバックグラウンドをスキャンすることができますが、通常は黒いテキストと白いバックグラウンドといった高いコントラストの色の組み合わせに対して最も効果的です。テキストとバックグラウンドの色のコントラストが不十分な場合、その精度が下がる可能性があります。
JPS画像フォーマットは、JPEGステレオの略で、デジタルカメラで撮影された立体写真を保存したり、3Dレンダリングソフトウェアで作成したりするために使用されるファイルフォーマットです。本質的には、単一のファイル内に2つのJPEG画像を左右に並べたもので、適切なソフトウェアやハードウェアで表示すると3D効果が得られます。このフォーマットは、画像に奥行き感の錯覚を生み出すのに特に役立ち、互換性のあるディスプレイシステムや3Dメガネを使用するユーザーの視聴体験を向上させます。
JPSフォーマットは、確立されたJPEG(Joint Photographic Experts Group)圧縮技術を活用して2つの画像を保存します。JPEGはロスのある圧縮方式で、人間の目にはほとんど品質の低下が分からないように、重要度の低い情報を選択的に破棄することでファイルサイズを削減します。これにより、JPSファイルは1つの画像ではなく2つの画像を含んでいるにもかかわらず、比較的小さく管理しやすくなります。
JPSファイルは、本質的には特定の構造を持つJPEGファイルです。単一のフレーム内に2つのJPEG圧縮画像を左右に並べて含んでいます。これらの画像は左目画像と右目画像と呼ばれ、同じシーンのわずかに異なる視点を表し、私たちのそれぞれの目が見ているもののわずかな違いを模倣しています。この違いにより、画像が正しく表示されたときに奥行きを認識できます。
JPS画像の標準解像度は、通常、左と右の両方の画像を収容するために標準的なJPEG画像の幅の2倍です。たとえば、標準的なJPEG画像の解像度が1920x1080ピクセルの場合、JPS画像の解像度は3840x1080ピクセルになり、左右に並んだ各画像が全体の幅の半分を占めます。ただし、解像度は画像のソースと使用目的に応じて異なる場合があります。
JPS画像を3Dで表示するには、左右の画像を解釈してそ れぞれを別々の目に提示できる互換性のある表示デバイスまたはソフトウェアを使用する必要があります。これは、アナグリフ3D(画像が色でフィルタリングされ、色付きメガネで表示される)、偏光3D(画像が偏光フィルターを通して投影され、偏光メガネで表示される)、アクティブシャッター3D(画像が交互に表示され、シャッターメガネと同期して、各目に正しい画像が表示されるように素早く開閉される)など、さまざまな方法で実現できます。
JPS画像のファイル構造は、標準的なJPEGファイルのファイル構造に似ています。SOI(Start of Image)マーカーを含むヘッダーがあり、その後にさまざまなメタデータと画像データ自体を含む一連のセグメントが続きます。セグメントには、Exifメタデータなどの情報を含めることができるAPP(Application)マーカーと、画像データの圧縮に使用される量子化テーブルを定義するDQT(Define Quantization Table)セグメントが含まれます。
JPSファイルの重要なセグメントの1つは、ファイルがJFIF標準に準拠していることを指定するJFIF(JPEG File Interchange Format)セグメントです。このセグメントは、幅広いソフトウェアやハードウェアとの互換性を確保するために重要です。また、サムネイル画像のアスペクト比や解像度などの情報も含まれており、クイックプレビューに使用できます。
JPSファイルの実際の画像データは、ヘッダーとメタデータセグメントに続くSOS(Start of Scan)セグメントに格納されます。このセグメントには、左右両方の画像の圧縮画像データが含まれています。データは、カラースペース変換、サブサンプリング、離散コサイン変換(DCT)、量子化 、エントロピー符号化を含む一連の手順を含むJPEG圧縮アルゴリズムを使用してエンコードされます。
カラースペース変換は、デジタルカメラやコンピューターディスプレイで一般的に使用されるRGBカラースペースから、JPEG圧縮で使用されるYCbCrカラースペースに画像データを変換するプロセスです。この変換により、画像が輝度レベルを表す輝度成分(Y)と、色情報を表す2つの色差成分(CbとCr)に分割されます。これは、人間の目は色よりも輝度の変化に敏感であるため、色差成分を大幅に圧縮しても知覚される画質に大きな影響を与えずに済むため、圧縮に役立ちます。
サブサンプリングは、輝度成分に対する色差成分の解像度を下げることで、人間の目が色の詳細にあまり敏感でないことを利用するプロセスです。一般的なサブサンプリング率には、4:4:4(サブサンプリングなし)、4:2:2(色差の水平解像度を半分に減らす)、4:2:0(色差の水平解像度と垂直解像度の両方を半分に減らす)があります。サブサンプリング率の選択は、画質とファイルサイズのバランスに影響を与える可能性があります。
離散コサイン変換(DCT)は、画像の小さなブロック(通常は8x8ピクセル)に適用され、空間領域データを周波数領域データに変換します。このステップは、画像の詳細をさまざまな重要度のコンポーネントに分割できるため、JPEG圧縮に不可欠です。高周波コンポーネントは、人間の目にはあまり認識されません。これらのコンポーネントは、圧縮を実現するために量子化(精度を下げる)できます。
量子化は、値の範囲を単一の量子値にマッピングするプロセスであり、DCT係数の精度を効 果的に低下させます。これは、JPEG圧縮のロスのある性質が作用するところで、一部の画像情報が破棄されます。量子化の程度は、DQTセグメントで指定された量子化テーブルによって決まり、画質とファイルサイズのバランスを取るために調整できます。
JPEG圧縮プロセスの最後のステップは、エントロピー符号化で、これはロスレス圧縮の一種です。JPEGで最も一般的に使用される方法はハフマン符号化で、より頻繁に出現する値にはより短いコードを、より頻繁に出現しない値にはより長いコードを割り当てます。これにより、情報のさらなる損失なしに画像データの全体的なサイズが削減されます。
標準的なJPEG圧縮技術に加えて、JPSフォーマットには、画像の立体的な性質に関連する特定のメタデータが含まれる場合もあります。このメタデータには、視差設定、収束点、3D効果を正しく表示するために必要なその他のデータに関する情報が含まれる場合があります。このメタデータは、通常、ファイルのAPPセグメントに格納されます。
JPSフォーマットは、3Dテレビ、VRヘッドセット、特殊なフォトビューアーなど、さまざまなソフトウェアアプリケーションやデバイスでサポートされています。ただし、標準的なJPEGフォーマットほど広くサポートされていないため、ユーザーは特定のソフトウェアを使用したり、より広い互換性のためにJPSファイルを別のフォーマットに変換したりする必要がある場合があります。
JPSフォーマットの課題の1つは、左右の画像が適切に整列され、正しい視差を持つようにすることです。整列不良や視差の誤りは、不快な視聴体験につながり、目の疲れや頭痛を引 き起こす可能性があります。したがって、写真家や3Dアーティストが、正しい立体視パラメータで画像を注意深くキャプチャまたは作成することが重要です。
結論として、JPS画像フォーマットは、立体画像を保存して表示するために設計された特殊なファイルフォーマットです。確立されたJPEG圧縮技術を基盤として、3D写真を保存するためのコンパクトで効率的な方法を作成します。ユニークな視聴体験を提供しますが、このフォーマットでは、画像を3Dで表示するための互換性のあるハードウェアまたはソフトウェアが必要であり、整列と視差の点で課題が生じる場合があります。これらの課題にもかかわらず、JPSフォーマットは、世界の奥行きとリアリズムをデジタルフォーマットでキャプチャして共有したい写真家、3Dアーティスト、愛好家にとって貴重なツールであり続けています。
このコンバーターはブラウザ内で完全に動作します。ファイルを選択すると、メモリに読み込まれ、選択したフォーマットに変換されます。その後、変換されたファイルをダウンロードできます。
変換は瞬時に開始され、ほとんどのファイルは1秒以内に変換されます。大きなファイルの場合、時間がかかる場合があります。
ファイルは決してサーバにアップロードされません。ブラウザ内で変換され、変換されたファイルがダウンロードされます。ファイルは見られません。
画像フォーマット間の変換すべてに対応しています。JPEG、PNG、GIF、WebP、SVG、BMP、TIFFなどです。
このコンバーターは完全に無料で、永久に無料のままです。ブラウザ内で動作するため、サーバを用意する必要がないので、料金を請求する必要がありません。
はい、一度に複数のファイルを変換できます。追加時に複数のファイルを選択してください。