第8回目の実例紹介になります。
今回は新機能の 位置合わせ とテキスト検出を組み合わせた例を紹介したいと思います。
こんな感じのウェルカムボードを作ってみましたので、
テキスト検出で「WELCOME TO MENOU」を識別したいと思います。
画像サイズは2000×2000です。
まずはテキスト検出が上手くいかない例です。
領域検出とテキスト検出でウェルカムボードの文字を認識
- テキスト領域検出用の領域検出を追加
高速化のため、前処理でサイズを1/4にしています。
- テキスト領域のアノテーション及び学習
ここでは結果だけ表示します。
- テキスト検出を追加
- テキスト検出の設定
解析領域は自動にして、倍率を300%、重なり制限を5%にして文字領域を繋げます。
その際にサイズ制限の最小を1000としてノイズを除去します。
そしてマスクを使用し、色を黒とします。
すると以下のように、文字だけ白く浮かび上がり、
マスクされた部分は黒になります。(マスク柄で見えにくいですが、実際は真っ黒です)
この状態でテキスト検出を行うと以下の結果が得られます。
しかし、回転した画像の場合ですと以下のように失敗してしまします。
ちなみにテキスト解析の設定は以下のようにしていて、
小文字は大文字に置換するようにしています。
ここまでが失敗してしまう例となります。
領域検出と位置合わせとテキスト検出でウェルカムボードの文字を認識
- ボード検出用の領域検出を追加
高速化のため、前処理でサイズを1/4にしています。
- ボード検出のアノテーション及び学習
ここでは結果だけ表示します。
- 正面にする位置合わせを追加
- 位置合わせの設定
解析領域は固定にして、サイズを1700×1700とします。
ノイズ対策で面積制限の最小を10000にして、重なり制限を50%にします。
マスクの設定は領域検出を使用します。
すると以下のようになります。
次に処理の追加です。
今回は回転対象の領域がそこそこ大きいので処理速度の速いORBを使用します。
ブロックを追加したらテンプレートを解析領域から選択します。
この画像は元々正面を向いているのでマスクだけチェックを入れて保存します。
すると以下のように結果が表示されます。
これだとわかりにくいので回転した画像に対しての結果が以下になります。
左上の解析領域の画像の左が位置合わせ前で右が位置合わせ後です。
テンプレート画像と同じ向きになったことがわかります。
キャンバスの三角は正面時に逆三角形(▽)となります。
上記画像ですと左側の鋭角が下を指しています。 - 正面テキスト領域検出用の領域検出を追加
高速化のため、前処理でサイズを1/4にしています。
- 正面テキスト領域検出のアノテーション及び学習
ここでは結果だけ表示します。
左上の解析領域一覧の画像が正面になっています。 - 正面テキスト検出を追加
- 正面テキスト検出結果の設定
回転なしのテキスト検出と全く同じ設定にしています。
結果は以下のようになりました。
無事に「WELCOME TO MENOU」と検出することが出来ました。
今回は位置合わせをテキスト検出と組み合わせましたが他にも、
領域検出、異常領域検出の前処理として向きを合わせることで、
パフォーマンスを向上させることが期待できます。
あとは特定の角度の領域のみ子タスクに繋ぐということをできます。
例えば回転するワークを見ていて、正面になるまで処理をしないということもできます。
動画版もあります。
ウェルカムボードの例は以上となります。
P.S.
ウェルカムボードはせっかくなのでオフィスの入り口に飾りました。
皆様のお越しをお待ちしております。