$30 off During Our Annual Pro Sale. View Details »

OCRで画像文字を 文字データに

OCRで画像文字を 文字データに

Kenichiro MATOHARA

May 22, 2022
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

  1. OCRで画像文字を OCRで画像文字を 文字データに 文字データに Kenichiro Matohara(matoken) <maroken@kagolug.org> 1 / 15

  2. 南隅から参加(鹿児島の右下) 好きなLinuxディストリビューションはDebian お仕事募集 mailto:work@matohara.org Kenichiro Matohara(matoken) Kenichiro Matohara(matoken) https://matoken.org https://matoken.org

    2 / 15
  3. 最近 最近 筍の時期は過ぎてホタルの季節,雨の季節 OpenBSDデスクトップを試し中 鹿児島らぐ次回 2022-05-22(日) https://kagolug.connpass.com/event/246332/ 3 / 15

  4. OCRで画像の文字を文字データ OCRで画像の文字を文字データ に に OCR(Optical character recognition) 光学文字認識 ビデオや画像などに書かれた文字を認識して文字データに 4

    / 15
  5. パッケージの導入 パッケージの導入 $ apt-cache search tesseract | grep ^tesseract-ocr- |

    wc -l 162 $ apt-cache search tesseract | grep ^tesseract-ocr- | grep -E "Japanese|English" tesseract-ocr-eng - tesseract-ocr language files for English tesseract-ocr-enm - tesseract-ocr language files for English, Middle (1100-1500) tesseract-ocr-jpn - tesseract-ocr language files for Japanese tesseract-ocr-jpn-vert - tesseract-ocr language files for Japanese (vertical) tesseract-ocr-script-jpan - tesseract-ocr data for Japanese script tesseract-ocr-script-jpan-vert - tesseract-ocr data for Japanese (vertical) script $ sudo apt install tesseract-ocr tesseract-ocr-eng tesseract-ocr-enm tesseract-ocr-jpn \ tesseract-ocr-jpn-vert tesseract-ocr-script-jpan tesseract-ocr-script-jpan-vert \ gimagereader 5 / 15
  6. $ dpkg -l | grep tesseract* ii gimagereader 3.4.0-2+b1 ii

    libtesseract4:amd64 4.1.1-2.1+b1 ii tesseract-ocr 4.1.1-2.1+b1 ii tesseract-ocr-eng 1:4.00~git30-7274cfa-1.1 ii tesseract-ocr-enm 1:4.00~git30-7274cfa-1.1 ii tesseract-ocr-jpn 1:4.00~git30-7274cfa-1.1 ii tesseract-ocr-jpn-vert 1:4.00~git30-7274cfa-1.1 ii tesseract-ocr-osd 1:4.00~git30-7274cfa-1.1 ii tesseract-ocr-script-jpan 1:4.00~git30-7274cfa-1.1 ii tesseract-ocr-script-jpan-vert 1:4.00~git30-7274cfa-1.1 6 / 15
  7. usage usage $ tesseract -h Usage: tesseract --help | --help-extra

    | --version tesseract --list-langs tesseract imagename outputbase [options...] [configfile...] OCR options: -l LANG[+LANG] Specify language(s) used for OCR. NOTE: These options must occur before any configfile. Single options: --help Show this help message. --help-extra Show extra help for advanced users. --version Show version information. --list-langs List available languages for tesseract engine. 7 / 15
  8. 導入済み言語リスト 導入済み言語リスト $ tesseract --list-langs List of available languages (7):

    Japanese Japanese_vert eng enm jpn jpn_vert osd 8 / 15
  9. 利用例 利用例 結果は書き出しファイルベースに「.txt」を付けたファイルに書き出さ れる. 利用言語は+で繋げて複数指定可能 $ tesseract 画像ファイル 書き出しファイルベース -l

    利用言語1+利用言語2+利用言語n 9 / 15
  10. $ tesseract /home/matoken/Pictures/20220522_05:05:56-3095279.jpg - -l jpn Inux勉強会 ※亡児島と付いていますが,オンラインなので住んでいる地域は間いません.Linux/UNTXやOSSに興味があれば誰でも参加OK 月イチベースを目標に信まってLinuxをはじめUNIX. UNIX-Hike

    system, 05S等の関連する様々な事を器り合うことを目的 ます 10 / 15
  11. scriptにする scriptにする ocr.bash 1 任意の場所をマウスで領域選択 2 画像拡大 3 OCR処理,結果はprimaryへ 4

    処理終了をデスクトップ通知 ショートカットに登録して呼び出す #!/bin/bash IMAGEFILE=$(mktemp) import png:"${IMAGEFILE}" convert "${IMAGEFILE}" -resize 500% "${IMAGEFILE}" tesseract "${IMAGEFILE}" - -l jpn+eng --psm 1 | xsel notify-send 'ocr 📋️ (primary)' rm ${IMAGEFILE} 1 2 3 4 11 / 15
  12. まとめ まとめ ちょっとした文章やURLにはそこそこ使える 小さな文字はいまいち 背景があったり立体の文字などは認識率が一気に下がる 前処理がないので手動で同じような文字の集まりを指定したほうが認 識率がいい 画像処理で文字を抜き出しスなどの前処理をしたらきっと認識率は上 がるけど…… とはいえオフラインでさくっと動くのはいい

    12 / 15
  13. NDLOCR NDLOCR OCR処理プログラム及び学習用データセットの公開について | NDLラ ボ NDLOCR 国立国会図書館(以下、「当館」とします。)が 令和3年度に株式会社モルフォAIソリューシ ョンズに委託して実施したOCR処理プログラ

    ムの研究開発事業の成果である、日本語の OCR処理プログラムです。 このプログラム は、国立国会図書館がCC BY 4.0ライセン スで公開するものです。なお、既存のライブラ リ等を利用している部分については寛容型オ ープンライセンスのものを採用しているため、 商用非商用を問わず自由な改変、利用が可能 です。 NDLOCR 国立国会図書館(以下、「当 館」とします。)が令和3年度に株式会社モル 13 / 15
  14. CUDA 11.1を利用しているので CUDA 11.1を利用しているので NVIDIAのGPUが必要 NVIDIAのGPUが必要 物理GPUが無い場合クラウドで実行可能 ※Google Colabは無料で試せるらしい(未確認) Google

    Cloud PlatformのCompute Engineを用いた NDLOCRアプリの実行 Google Colabを用いたNDLOCRアプリのVersion 2を作成 しました。 14 / 15
  15. 奥付 奥付 発表 発表者 利用ソフトウェア ライセンス 鹿児島Linux勉強会 2022.05(オンライン開催) Kenichiro Matohara(matoken)

    Asciidoctor Reveal.js CC BY 4.0 15 / 15