スポンサーリンク

【Swift】SwiftyTesseractOCRの精度を向上させる手法比較。〜 グレースケール化,2値化,領域切り取りなど 〜

Swift
スポンサーリンク

今回の記事ではswift OCRライブラリの「SwiftyTesseract」のOCR機能の精度を上げるための手法をご紹介します。タイトルの様な手法を用いれば比較的精度を上げることができる可能性があります。
(ただ、日本後のOCRはなかなか難易度が高いですのであくまでも実験的なものになります。)

スポンサーリンク

この記事でOCR比較を行う画像紹介

今回の下記内容を行う画像をご紹介します。

・通常の看板画像をOCRする
・グレースケール化した看板画像をOCR
・2値化した看板画像をOCR
・文字領域を切り取ってOCR
・文字領域を切り取りグレースケールしたものをOCR
・文字領域を切り取り2値化したものをOCR

使用する看板は下記のフリー画像をネットから拾ってきました。

330 × 295サイズ、内容は下記の様なものが出力されればOKなのかな?

oul Station
?站 ソウル駅

適度に日本語が綺麗に写っており、検索上位にあったので(たまたま笑)

ちなみに「SwiftyTesseract」に画像を入れてOCR処理するのみのコードに関しては下記記事参照ください。そのためコードは割愛。
グレースケール等は記載しますので。

通常の看板画像をOCRする

まずは通常の画像をOCR操作するのみの処理で出力した文字情報を出力してみます。結果は下記。

ーーー 談
oul StatiOn
闇 A ッ グ E

ローマ字はある程度いけてる、というかここまでいけてるんだと驚き。
その上のおそらく黒線を識別しているのと日本語が問題。というか日本語部分全く一致してない笑。

グレースケール化した看板画像をOCR

こちらグレースケールをXcode内で行う場合はobject-Cの記述が必要なので大変です。
今回はopencvを使用するがメインではないので、使用方法は下記にまとめております。
ご参照ください。

Xcodeでやる必要も特にありませんので私はこの記事を書いている際は、使い慣れたpythonで画像を処理してから、再度Xcodeのプロジェクトにインポートしてます。

ただ、opencvはなかなかなか便利ということもあるのでぜひ下記記事も参考にしてください。

レ ーーーーーー 談
oul StatiOn
N 闇 A ッ グ E

ここからが本命です。切り取ってみます。
私の下記記事ではアノテーションずけを行った画像から領域検知AIモデルを作成し、実際に使用してみたものがありますが今回はその様な時間のかかるAI学習モデルを作成するつもりわありません。シンプルに切り取っていくのみです。笑

文字領域切り取り用のAIモデルを作成する方法は下記記事をご参照ください。

文字領域を切り取ってOCR(グレースケール化も)

では切り取った画像ををOCR処理してみます。

まず切り取った後の様子は下記です。

OCRの結果がこちらです。

0 り|c①|(@】nk
ND)】ル世

検証ですねこれは笑。精度は下がっている様です。

ただ切り取った範囲が文字があった箇所だけですのでその範囲内のみのOCRができており、いらない行はなくなっております。

これはグレースケールに変換してもおそらく結果は悪いと予想できますが念のためやっておきます。

文字領域を切り取り2値化したものをOCR

pythonのopencvを使って画像を2値化する方法はこちら

りWいtに |tる)n站ド )ウリ駅

んー。感じ部分が少しだけできてる他「ウ」のみうまく行ってるのかな?
ただ、ローマ字が完全にいかれてます。

結論

感じ部分にはおそらく「2値化」が有用だが、ローマ字がその分坐なりになる。
ローマ字はそのまあでもある程度OCR可能。

スクリプトによってどの箇所をどういった処理を行うかを指定していけば、可能はなくはない。。ただ、機械学習させた、学習モデルの方が精度的には高い。

以上です。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Swift
スポンサーリンク
スポンサーリンク

コメント

タイトルとURLをコピーしました