除雪車が雪を投げてはいけない区間は、どう見分ける?路肩の小さな表示板をAIで見つける
高速道路の路肩には、除雪車が雪を投げてはいけない区間の始まりと終わりを示す投雪防止表示板があります。この表示板を、車に載せたスマートフォンの映像から見つける検出モデルを公開しました。

高速道路の路肩には、除雪車が雪を投げてはいけない区間の始まりと終わりを示す「投雪防止表示板」が立っています。始点は黄色の正方形の中に青い正方形、終点は黄色と青の十字形で、色は同じで形だけが違います。この表示板を、車に載せたスマートフォンの映像から見つける検出モデルを、モデルラボで公開しました。

投雪防止表示板は、何のためにある?
除雪車は、車線に積もった雪を路肩の外へ投げて道を空けます。路肩の下に別の道路や構造物が交差している場所でそれをすると、下を通る車や構造物の上に雪が落ちます。そうした区間の手前に始点の表示板が、抜けたところに終点の表示板が立っています。
表示板は赤と白の支柱の上に付いていて、近くで見れば形はすぐに分かります。難しいのは、除雪車を動かしながら、遠くの小さな表示板を一つも見落とさないことです。今は作業する人が前を見ながら目視で探し、ここから投げない、ここからまた投げてよい、と判断しています。
なぜ、このモデルを作った?
道路の作業では、走りながら決まった目印に気づき、それに合わせて動きを変えなければならない場面がたくさんあります。投雪防止表示板は、その中でも見落としやすい例です。遠くでは画面の中でごく小さな点にしか写らず、しかも始点と終点は形でしか見分けられません。
見逃しと誤判定の両方を、スマートフォン1台で避けられるか。それを確かめるために、自分で高速道路を走って撮った映像で、一から学習させました。事前学習の重みは使っていません。でき上がったモデルは、使い方と評価の結果を付けて公開しています。

どうやって見つけている?
1つのフレームを、2通りに処理しています。まず映像を4Kの大きさ(横3840×縦2160)にそろえ、道路の先の、表示板が小さく写るあたりを横1280×縦736で縮めずに切り出します。これが遠方の切り出し範囲で、小さな表示板を潰さずにモデルに入力できます。
近づいて表示板が切り出し範囲からはみ出したら、画面全体を3分の1に縮小した画像で検出します。モデルは同じもので、入力する画像だけを変えています。下の3枚は、同じ終点の表示板に近づいていく2.2秒の場面です。

モデルは1枚につき200件の候補を、位置とスコア(確からしさ、0〜1)で返します。スコアがしきい値以上のものだけを残す処理と、重複した候補をまとめる処理(NMS)は、モデルを組み込む開発者の側で行います。評価ではしきい値を0.3にしました。見逃しを減らしたいときは下げ、誤検知を減らしたいときは上げます。
どのくらい見つけられる?
学習に使っていないテスト用の57枚で数えた結果です。
- 始点の表示板: 18枚中12枚を検出
- 終点の表示板: 21枚中17枚を検出
- 始点と終点の誤判定: 0件
- 誤検知の数(表示板以外を表示板と判定した数): 4件
数えたのは、遠方の切り出し範囲に写っていた表示板だけです。テスト用の画像はこれまで何度も確かめるのに使ってきたので、新しく撮った画像で測り直す予定です。夜間、雨、雪の場面は、まだ確かめていません。
学習にも評価にも使っていない別の走行映像でも、公開したモデルをそのまま使って検出しました。始点と終点をそれぞれスコア0.85と0.87で検出し、誤判定はありませんでした。一方で、壁に引かれた黄色い線を始点と誤検知した場面もあります。画面全体を縮小した画像で出た誤りで、スコアは0.44と低めでした。

何に使える?
一番分かりやすい使い方は、除雪車の運転席に置いたスマートフォンで知らせることです。モデルを組み込んだアプリを試作していて、始点を見つけたら画面を赤にしてブザーを鳴らし、終点を通り過ぎたら緑にしてチャイムを鳴らします。運転中に画面を触らなくてよいように、一目で分かる色と、聞き分けられる音だけで伝えます。
検出した地点は写真と併せて端末に記録し、地図で見返せます。走行後に、表示板の位置の一覧(台帳の下書き)として使えます。近づく間に何度か見えたら確定にするので、一瞬の誤検知では鳴りません。

開発者向けに、モデルの重みを公開しています。形式は PyTorch、ONNX、CoreML の3つで、CoreML なら iPhone の中で動かせます。ライセンスは Apache-2.0 なので、業務のシステムにも製品にも組み込めます。
使うときの注意は?
見つけるのは投雪防止表示板だけです。夜間の映像はほとんど学習していません。雪を投げてよいかどうかの判断を、このモデルの結果だけで行わないでください。作業する人の目視を置き換えるものではなく、見落としに気づくきっかけを増やすためのものです。
モデルの詳しい説明(入力と出力、評価の結果、実際の走行映像で検出した動画): 投雪防止表示板 YOLOX-Tiny
重みの公開先: Hugging Face
同じように、決まった目印や設備を映像から見つけるモデル作りの相談も受けています: 検知AIモデルの構築