見出し画像

見通しの悪い横断歩道のデータ処理技術

こんにちは、ぴーよんです。
ナビタイムジャパンでルート案内の研究開発を担当しています。

先日『トラックカーナビ』と『ツーリングサポーター』において、横断歩道を音声で注意喚起する機能をリリースしました。

この機能で使用している横断歩道のデータは、複数のデータソースを組み合わせて、ルート案内で使えるように独自に処理したものです。このデータ処理技術についてご紹介します。


オープンデータで位置を特定

ベースとしたのは、オープンデータの「交通規制情報」(日本道路交通情報センター)です。このデータには、横断歩道の位置が収録されていて、近くに横断歩道が存在することが分かります。

機械学習で向きを特定

横断歩道に限らず、ルート案内で利用するデータには、位置だけでなく向きの情報も必要です。特に横断歩道の場合は、ルートが交差するのかどうかを把握することが重要です。歩行者が横断している場合などには、ドライバーに減速や停止の義務が発生することがあります。そのため、交差する横断歩道の存在を音声で知らせたいのです。


向きを特定するために、機械学習を用いて航空写真から横断歩道を検出しています。

出典:地理院タイルに加筆


この機械学習の手法は「並木道マップ」で使われているのとほぼ同じです。詳細はこちらの記事をご覧ください。


オープンデータと機械学習によるデータを突き合わせることで、横断歩道の向きを特定できました。例えば、次のような南北方向のルートでは注意喚起していません。

誤検出との戦い

開発当初は「オープンデータを使わずに、機械学習だけで実現できるだろう」と考えていました。しかし、機械学習には誤検出があります。たとえば、敷地内の屋根の波模様を横断歩道として誤検出することがありました。

出典:地理院タイルに加筆


通常、ルートは敷地内と交差しないはずなので、先述の判定方法により、注意喚起しません。しかし、航空写真と道路地図との間で、整備の方法や時期が異なる関係で、どうしても完全には重なりません。道路地図に引かれたルートが、航空写真上の敷地内と重なってしまうことがあり、運悪くその敷地内に横断歩道の誤検出があると、誤って注意喚起していました。

ここが一番苦労したポイントです。
少しでも誤りを減らすために、検出時のパラメータを調整したり、道路地図の測量基準の違いを地域ごとに補正したりしました。それでも、誤検出やズレの問題は完全には解決しませんでした。第三のデータとしてオープンデータも組み合わせることで、初めて実用できそうなレベルが見えてきました。

見通しの悪さを判定

処理したデータを使ってベータ版のアプリを作成し、実地の走行テストで確認したところ「横断歩道の注意喚起ばかりになって、うるさく感じる」という問題がありました。

もともと、交通事故のホットスポットである横断歩道の見落としを防ぎたいと思って開発をスタートしましたが、うるさくて運転の邪魔になってしまうと、元も子もありません。見落としを防ぐ観点から、見通しの悪い横断歩道のみに絞ることにしました。

さて、見通しの悪さを判定するにはどうすれば良いでしょうか? 
最初に、急なカーブほど見通しが悪いと考えて、ルート上のカーブの半径で判定してみました。しかし、検証を進めるうちに、緩いカーブであっても長くなることで見通しが悪い場所が多数見つかりました。
つまり、ここでいう見通しの悪さを決定する一番の要因は、カーブの角度だと言えそうです。

そこで、主にカーブの角度を基準に、注意喚起するかどうかを決定しています。具体的な数値は、道路上で撮影された画像や、走行テストを通して調整しました。

おわりに

今回は、ルート案内で使うための横断歩道データの処理技術をご紹介しました。

私個人としては、機械学習のようなAI技術をルート案内に利用したのは初めてでした。今後はルート案内の表現を分かりやすくすることや、その他の注意喚起などにも活用していきたいと感じています。

ここまでご覧いただき、本当にありがとうございました。