コストをかけないでパッケージ品にどこまで迫れるか
朝起きたらCESで人間と車のナンバーを隠すとかやっていたので、既存のモデルでやってみた
インフォメーション
- しっかりやるのであれば、それぞれデータを集めて学習するのはわかっているんですが・・・
人間はかんたんだが、ナンバー・文字系が難しい
人間はDeepLabV3がPytorchにありますからね
さて、OCRのモジュールをつっこんでみる??
OCRはお気楽モードではうまくいかない
使用したモジュール
- 実行環境は通常のオフィスでOCRを阻害するであろう因子がてんこ盛り
- しっかりやるのであれば、それぞれデータを集めて学習するのはわかっているんですが・・・
使用したもの
-
pytesseract
- デバッグすると一部は読めている模様。
- ただし、全体が読めていないため、モザイクがかからず
-
EasyOCR
- フレームレートが落ちた?このOCRのせいではないと思いますが
参考記事はこちら
文字を読むのではなく、文字っぽい領域をセグメンテーションする
- OCRの考えで行くと真面目にやるので手書き文字などまったく引っかからず
- かといってEMNISTみたいなセットを学習してみたが、推論がだめでした・・・
- 短い時間で作るので、今回は諦めよう!
- OCRをするとフレームレートが3,4FPSになっている
pytesseractベースで文字単位から領域に緩くする
# CUDA使います
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(f"[INFO] Using device: {device}")
それっぽい状態になった(要改良)
- これで実用的なフレームレートが出るようになりました。10FPS以上
- 一応、ナンバーも見えない。
- ・・・実はちょいちょい外れちゃうのが、要改善
インフォメーション
- 市販レベルで工数は趣味レベルで更新がんばります