221004 画像処理で文字認識する際の小技(1)
最近、工程で問題になった案件について。
とある工程でレーザ印字された文字を画像処理装置で読み取ってデータ照合をしているのですが、カメラの誤検出率があまりにも高く頻繁にカメラ読み取りミスによる設備のチョコ停が発生してしまいます。スタッフに確認したところカメラの性能の問題だと言っていたのですが、自分にはそもそも見た目が区別しづらい数字を使用していること自体が問題なように感じました
問題:似通った文字をカメラで識別できない
以下のサンプル画像を見て頂ければわかると思いますが、
“1”と“7”
“0”と“8”
“6”と“8”と“9”
の形が似ております。
人間であれば雰囲気で見分けることができますが、安価な工業用カメラでは似通った文字を区別するのはけっこう難しいです。
更に、ゴミが付着したり、レーザーのカスレなどで文字の輪郭がぶれると誤検出のリスクが増えます。
対応:画像処理で誤検出しそうな文字は使用リストから除外する
身も蓋もないと思われるかもしれませんが、製造業においては割とよく使う手かと思います。文字のカメラ認識は誤検出しやすいので、最初から似た文字は使用リストから除外するというのがベターなように思います。例えば、Iと1などは工業用レベルのカメラでは区別することはできないので、どちらか一方を使用禁止にしてしまうと良いです。
先ほどの問題で、似ている数字の使用を控えて他の文字に置き換えてみました。
例)
7 = S を使用 (Seven)
8 = E を使用 (Eight)
“1”と“S”
“0”と“E”
“6”と“E”と“9”
これでカメラによる誤検出のリスクはかなり減ったのでは無いでしょうか?
ただし、後から使用文字種の変更することが難しいケースも多々ありますので、画像処理での文字認識のリスクを想定して最初から仕様に組み込んでおくことがベターです。