移動物体検出

出版日: 2022年4月29日

移動物体検出

この間、テスラのフルセルフドライビングモジュールのナビゲーションパネルを見て、現実世界がパネルで正確に表現されているのに驚きました。建物、車両、歩行者、さらには木々までがこの仮想世界で完全に再現され、自動運転モデルに供給されています。

Tesla’s full self-driving module’s navigation panel

私はこのモジュールが行っていること、つまり、実世界で撮影されたビデオを分析し、ビデオ内の動く物体を特定することを再現することにしました。

アプローチ

テスラはおそらくこれに機械学習を使用していますが、以下の3つの理由でよりシンプルなアプローチを取りたいと考えています。

  1. 機械学習の第一原則:機械学習なしで開始する

    上記はEugene Yanによって素晴らしく表現された声明です。データの問題を解決しようとするときは、常に簡単なヒューリスティックから始めて、合理的な精度が得られるかどうかを確認してから、より複雑なモデルに進むのが良いアイデアです。

  2. 教師あり学習にはラベルが必要です

    ビデオ内の動く物体を特定するモデルをトレーニングしたい場合、それは可能ですが、モデルをトレーニングするためにラベル付きのデータが必要です。ラベルを作成することは費用がかかる(そして退屈な)作業であり、できるだけ避けたいと考えています。

  3. 機械学習を使用しないほうが楽しいです

    機械学習はデータ内のパターンを特定します。データサイエンティストが問題の解決策(パターン)についてすでにアイデアを持っており、この解決策が簡単にテストできる場合は、データに対して単純なヒューリスティックを試すのが常に素晴らしいアイデアであり(そして楽しい)、これにより、通常はブラックボックスである予測モデルの代わりに説明的なモデルを持つことができます。

方法

まず、ビデオをフレームに分解し、各フレームの各ピクセルの色を追跡することで、動く物体を特定しようとします。色は赤、緑、青(RGB)スケールの組み合わせで表されます。これらのトリプルカラーは、0から255までの数値で表されます。 見ている色、画像、ビデオが単なる数値(RGB、ピクセル)の巨大な行列であるとは驚きではありませんか?

動く物体は、フレーム内のピクセルの色に大きな変化があるときに特定されます。例えば、ピクセルのRGBが紫(180、70、250)から緑(40、200、120)に変わり、また紫(40、200、120)に戻ったとき、私たちのカメラが安定していると仮定すると、そのピクセルを通過した物体があると自信を持って言えます。フレームごとにピクセルの色を追跡することで、しきい値を超える色の変化を観察したときに、その点を「動く物体」としてタグ付けできます。

SBI Securities Unsubscribe

動く物体が検出されると、そのピクセルの色を緑色に変更して物体を強調表示します。また、ハイライトされた物体を簡単に見るためにビデオをグレースケールに変換します。以下のビデオは、このロジックがビデオを処理し、動く物体を見つける方法を示しています。かなりクールですね?

結論

ビデオ内の各ピクセルの色を見て、ルールベースの動く物体識別子を作成しました。このモデルは、車両、歩行者、さらにはフェリーを特定するのに適しています。ただし、このモデルには限界があります。カメラが安定している必要があり、合理的なピクセルの色の変化のしきい値を設定する必要があります。しきい値が低すぎると、川の波を動く物体として識別してしまいますが、高すぎるとペットなどの小さな動く物体を見落とす可能性があります。

こちらがモデルのコードです。

楽しいプログラミングを!

この作品は英語からChatGPTによって翻訳されました。不明な点がある場合は、お問い合わせページからご連絡ください。

コメントを残す

コメント

その他の作品