見出し画像

[悪用禁止]自動車ナンバーの自動読取りの仕組みを調べてみた

どうも~、IoT探検家のシンジです。

皆さん、Nシステムって知っていますか?

Nシステムとは日本の道路に警察が設置する、走行中の自動車のナンバープレートを自動的に読み取り、手配車両のナンバーと照合するシステムである。手配車両の追跡に用いられ、犯罪捜査の重大な手がかりとなることもある。Wikipediaより抜粋

速度違反自動取締装置のオルビスはよく知られていますが、Nシステムはあまり知られていませんね。

今回はNシステムでおこなわれている「自動車ナンバー自動読取り」の仕組みを調べてWebで提供されているAPIを試してます。


自作の流れ

1)自動車ナンバー自動読取りの仕組み
2)自動車ナンバー自動読取りシステムの分類
3)商用APIを試す 

1)自動車ナンバー自動読取りの仕組み

まずは「自動車ナンバー自動読取り」の仕組みについて調べてみました~。

「自動車ナンバー自動読取り」はAIが関連する一分野で英語ではANPR(Automatic License/Number Plate Recognition)と呼ばれているようです。

図を作るときにイグニタリアムジャパンのサイトを参考にしました

上の図のように、最初のステップで自動車全体からナンバープレート部分を検出します。

そして、その次のステップで文字が表示されている領域を抽出して、最後に文字を抽出するという流れです。

それぞれのステップで使われているモデルはシンプルな画像処理のモデルから最新のディープラーニングのモデルまで様々で、モデルを動かすコンピュータの性能次第で使い分けできそうですね🙂。

2)自動車ナンバー自動読取りシステムの分類

続いて、「自動車ナンバー自動読取り」システムを分類してみます。

参考サイト: Number Plates of around the World … What they tell?- A look at TOP 25 Countries Around the world.

ナンバープレートは各国で形式や文字の種類に違いがあるため、「顔認識」や「物体認識」のように万国共通で認識できる対象とは異なり、認識モデルを作るにあたって、それぞれの地域ごとのナンバープレートのデータを元に学習させる必要があります。

そのため、Web上を探してみても、最初から日本のナンバープレートを読み取れる無料のモデルは存在せず、オープンソースライブラリーを使う場合でも、日本のナンバープレートを集めて、それを使って学習させてモデルを作る必要があるようです。

商用APIと商用ソフトウェアとオープンソースではそれぞれにメリットデメリットがありますが、この記事では簡単に利用できる商用APIを試していきましょう~。

3)商用APIを試す

商用APIを調査したところ、日本のナンバープレートに対応しているものが2つ見つかりました。

日本のナンバープレートに対応する商用API
Rekor CarCheck
EyeTech Sensing API

Rekor CarCheck
EyeTech Sensing API

1つ目が「自動車ナンバー自動読取り」のオープンソースライブラリーとして有名なOpenALPRが提供するAPIのRekor CarCheckで、もう一つが日本の企業の提供するEyeTech Sensing API。

どちらともデモが用意されており、それで精度を確認してみたところこのようになりました。(GoogleのVisionAPIを比較対象としました。)

正面からの画像(上からVisionAPI、Rekor CarCheck、EyeTech Sensing API)

VisionAPI

Rekor CarCheck

EyeTech Sensing API

角度がついた画像(上からVisionAPI、Rekor CarCheck、EyeTech Sensing API)

VisionAPI

Rekor CarCheck

EyeTech Sensing API

まとめ

VisionAPIの精度はいまいちで、Rekor CarCheckは角度がついた場合に少し認識できない文字もありますが基本的には精度は高く、EyeTech Sensing APIの結果はパーフェクトでした。

VisonAPIの精度がいまいちなのは、ナンバープレートに特化していない一般的な物体認識APIであり、日本のナンバープレートの領域への学習はしていないためと予想できます。

次回はオープンソースライブラリーを利用して「自動車ナンバー自動読取り」システムを作ってみたいと思います~。

Youtubeで見る

この記事が気に入ったらサポートをしてみませんか?