自動車内に設置したカメラで前方を監視し、国道番号を表示する標識(国道標識)を検出すると、車載ビデオカメラ(GoPro)で録画を開始するシステムです(図1)。検出した国道標識がカメラのフレームから外れると、録画中の車載ビデオカメラを停止します。
いわゆる「国道マニア」と呼ばれる愛好家にはさまざまな活動があり、その中の一つに各地の国道を訪ねて国道標識を撮影して記録するという楽しみ方があります。元々、リモコンシャッターを使って手動で録画を開始/終了できるシステムを、Wi-Fiマイコンの「ESP32」を使って構築済みでした。けれども画像解析ライブラリの「OpenCV」を使うことで完全に自動化できるのではないかと考えて、今回の「国道標識の自動認識システム」を開発することにしたのです(図2)。
国道標識の検出に使うカメラは、最初はPC向けに販売されているUSB接続のWebカメラをテストしました。ところがテストしたWebカメラの横方向の画角が65°と広角だったため、国道標識がかなり小さく撮影されてしまい、認識できるレベルではありませんでした。
解決策として選んだのが、レンズを取り換えられる高精細版の公式カメラモジュール「Raspberry Pi High Quality Camera」です。レンズは公式レンズの一つ「16mm望遠レンズ」を使います。横方向の画角は推定15°強にグッと狭くなり、道路標識の50~80m手前から認識できるようになりました(図3)。
テストでは、1時間走行して1回ほどの頻度で誤認識が発生しました。誤認識した道路標識は、前後のフレームでは誤認識されていませんでした。そこで連続したフレームで認識できたときに確定判断を下すように、国道標識の検出処理を変更しました。これにより誤認識はほぼ解消されています。
ラズパイは放熱型のアルミケースに収納していますが、画像認識の処理負荷が原因なのか、かなり発熱することが分かりました。3mm厚のアルミ板の上に本体を乗せるように改善したところ、うまく放熱されているようで体温以下程度を保てるようになりました。
特集1は「ラズパイ&Pico両方に対応 パーツ100種全部動かす!」。多様なセンサーやモーター、LED、小型ディスプレイなど、100種のパーツを、PCボード「ラズパイ」とマイコン「Pico」の両方で動かします。ラズパイとPico向けの接続図とサンプルプログラム付きです。
ほかに、ラズパイにGPSをつないで地図に現在地を表示させたり、性能が5倍になった新機種ラズパイZero 2でAI画像認識を試すなど、盛りだくさんです!
ラズパイマガジン春号の購入は<<こちら!>>