こんにちは、スカイロジックの鈴木です。
梅雨入り前の変わりやすいこの時季、くれぐれも体調にお気を付けてお過ごしください。
先月は3週間のベトナム出張があり、ほぼ毎日(大好きな)パクチーを食べてきました。ベトナムへ行くと野菜の摂取量が増えるので、なんだか健康になった気分になります。
さて、本日はEasyInspector2のAI OCR機能について紹介させていただきます。EasyInspector2には3つの文字読取機能があります。
① OCR(光学文字認識)
読取対象箇所に検査枠を設置するだけで読取ができます。ただ、印字された綺麗な文字かつ背景と文字が明暗でくっきりとしている必要があります。
② 機械学習OCR
背景にムラがある時などに、様々なパラメータを調整して背景と文字を二値化させます。その後、文字の形を機械学習させて読取できるようにします。また、文字自体が通常のフォントではない場合や、ドット文字などの読取も可能です。
③ AI OCR
機械学習の二値化させたり線幅を調整したりする工程は全てAIが行います。事前に教師画像を撮像し、文字を矩形で囲み登録するだけでAIが特徴を捉えて学習します。 物体認識のアルゴリズムで登録した文字を検出して、座標順で並べて文字列として読取します。
![](https://skylogiq.co.jp/cs/wp-content/uploads/2024/05/モード-1.jpg)
OCRと機械学習OCRは手続型(ルールベース)と呼ばれています。今回は、昨年より追加されたAI OCRで何ができるようになったかについて書かせていただきます。
簡単な設定
読取対象となる文字を事前に複数枚撮像します。撮像した画像(教師画像)から、文字を矩形で囲み登録します。この作業をアノテーションと言います。
![](https://skylogiq.co.jp/cs/wp-content/uploads/2024/05/アノテ-1024x551.jpg)
アノテーションしている画像
アノテーションが終わったらAIに学習させます。
![](https://skylogiq.co.jp/cs/wp-content/uploads/2024/05/loss_graph.png)
学習中のグラフ
学習が終了すると読取できる状態になります。検査開始をするとそれぞれの文字を検出して文字列として認識します。
正しい文字列を設定しておくことでOK/NGの判定も可能です。また、CSVに検査日時と一緒に、文字列として記録を残すことができ、画像も保存可能です。
これまで難しかった文字も読取可能に
これまでの手続型では、機械学習の前処理をしても読取できないものがありました。しかし、AI OCRでは背景が毎回異なったり、文字自体も個体差があったりする場合でも読取できるようになりました。
![](https://skylogiq.co.jp/cs/wp-content/uploads/2024/05/sample2-2-1024x550.jpg)
手書きの文字
![](https://skylogiq.co.jp/cs/wp-content/uploads/2024/05/sample1-1024x550.jpg)
背景と文字が同じ色(プラスチック製品や金属製品の刻印など)
![](https://skylogiq.co.jp/cs/wp-content/uploads/2024/05/sample3-1-1-1024x550.jpg)
![](https://skylogiq.co.jp/cs/wp-content/uploads/2024/05/sample3-2-1-1024x550.jpg)
色が異なる文字
手書きの文字は個人差があるので、事前に複数のパターンを学習させておく必要があります。また、読取対象の文字が多い場合は事前に多くの画像(文字)をアノテーションする必要があり、同じ「あ」でも複数パターンの「あ」を覚えさせることで精度は向上します。
最後に
目視で文字の検査しているモノも、AI OCRの機能であれば画像検査で自動化、省人化、データ記録ができるようになるかもしれません。
もし過去に難易度が高くて諦めてしまった検査があればぜひご相談ください。
もちろんOCR以外の検査でのご相談もお待ちしております。