モデルラボ / 投雪防止表示板
投雪防止表示板 YOLOX-Tiny
高速道路の雪氷作業で使う投雪防止表示板を見つける物体検出モデルです。この表示板は、路肩の下に道路や構造物が交差していて、除雪車が雪を投げてはいけない区間の始点と終点を示します。車に載せたスマートフォンで、前方を撮った映像を想定しています。
いまの状態
公開中
配布のときの名前
snow_throw_sign_yolox_tiny_v3
Hugging Face で重みを見る学習データ
昼間に高速道路を走って、スマートフォンで撮った映像から作りました。82本の表示板が写っており、学習に1,070枚、検証に37枚、テストに57枚を使っています。同じ表示板が学習とテストの両方に入らないように分けています。
実際に試した結果
学習に使っていない走行映像で試しました
公開したONNXのモデルを、学習にも評価にも使っていない高速道路の走行映像(4K、毎秒30コマ)の全コマに、そのまま走らせました。枠と数字はモデルの出力で、数字は確からしさ(0〜1)です。
近づきながら見つける
同じ終点の表示板に近づいていく場面です。遠いうちは縮めずに切り出した窓で見つけ、窓からはみ出すほど近づくと、画面全体を縮めた画像の側で見つけます。
-
0.0秒
遠くを見る窓で検出
-
1.6秒
窓と全体の両方で検出
-
2.2秒
全体を縮めた画像で検出
この映像には正解の枠を付けていないので、成績は数えていません(成績は下の「いまの成績」を見てください)。画像は、案内標識やほかの車が写らないように、表示板のまわりを切り出しています。
しくみ
1コマを2通りに見ています
- 1
4Kのコマを読む
スマートフォンで撮った横3840×縦2160の映像を、1コマずつ使います。
- 2
遠くを見る窓
道路の先の、表示板が小さく写るあたりを、横1280×縦736で縮めずに切り出してモデルにかけます。遠くの小さな表示板を見落とさないためです。
- 3
全体を縮めて近くを見る
近づいて窓からはみ出した表示板のために、画面全体を3分の1に縮めた画像にも、同じモデルをかけます。
- 4
候補を絞る
モデルは1回につき200件の候補を返します。確からしさが基準以上のものだけを残し、重なった候補を1つにまとめます。ここでは、評価と同じ0.3を基準にしています。
しくみ
入力と出力
- 見つけるもの
- 投雪防止表示板の始点と終点の2種類。見た目が似ているが表示板ではない物も、別の種類として見分けます。
- 元にしたモデル
- YOLOX-Tinyと同じ構造をPyTorchで組み、一から学習させました。事前学習の重みは使っていません。
- 入力
- 横1280×縦736ピクセルのカラー画像。遠くの表示板は縮めずに切り出した画像で、近くの表示板は画面全体を3分の1に縮めた画像で、同じモデルを2回動かします。
- 出力
- 1枚につき200件の候補を、位置(画素の座標)と、始点・終点・表示板ではない物それぞれの確からしさで返します。重なった候補をまとめる処理は、使う側で行います。
- 形式
- PyTorch、ONNX、CoreML
- しきい値
- 始点と終点で分けて、使う側で決めます。始点は見逃すと危ないため低めにし、終点は高めにします。
- ライセンス
- Apache-2.0
評価
いまの成績
| 項目 | テスト用(57枚) |
|---|---|
| 始点の表示板を正しく見つけた数 | 12 / 18 |
| 終点の表示板を正しく見つけた数 | 17 / 21 |
| 始点と終点の取り違え | 0 |
| 表示板ではない物を表示板とした数 | 4 |
数えたのは、遠くを見る切り出し窓の中に写っていた表示板だけです。テスト用の画像はこれまでに何度も確かめるのに使っているので、新しく撮った画像で測り直す予定です。夜間と、雪が積もった時期の映像では、まだ確かめていません。
使うときの注意
- 見つけるのは投雪防止表示板だけです。
- 夜間の映像はほとんど学習していません。雪が積もった時期の映像では確かめていません。
- 雪を投げてよいかどうかの判断を、このモデルの結果だけで行わないでください。
お問い合わせ
まずは状況をお聞かせください
みちカルテの試験運用や検知モデルの構築について、依頼が固まっていない段階でも構いません。手元にある写真や動画の種類と、困っていることを書いていただければ、できることとできないことをお伝えします。
