私が解決したい問題は、車にカメラが付いていて、車がどれくらいの速さで走っているのかを知りたいということです。当然ながら、スピードメーターは見ることができず、ビデオクリップそのものしか見ることができません。ここではディープラーニングの魔法が役立つはずです。 データ 2つの異なるビデオがあります。 1つはトレーニング用、もう1つはテスト用です。トレーニング ビデオには 20399 フレームがあり、テスト ビデオには 10797 フレームがあります。ビデオのダウンロードアドレス: https://github.com/commaai/speedchallenge。以下にいくつか例を挙げます。 ビデオのサンプル画像 トレーニング ビデオのラベルは .txt ファイルであり、各行は特定のフレームの速度に対応します。 方法 この問題の最も興味深い部分は、ニューラル ネットワークへの入力がどのようになるかという点です。静止画像だけでは速度を計算することは不可能です。効果的な方法は、2 つ以上の画像を積み重ねるか、LSTM や Transformer のように連続して積み重ねることです。もう 1 つはオプティカルフローを計算するもので、これを使用することにしました。 オプティカルフローとは何でしょうか? 基本的には、2 つの画像間の相対的な動きを示す各ピクセルのベクトルを計算する方法です。素晴らしいコンピューター愛好家向けビデオがあります: https://www.youtube.com/watch?v=4v_keMNROv4 で詳細を確認できます。オプティカルフローを計算するために使用できる「古典的な」コンピュータービジョンアルゴリズムがいくつかありますが、ディープラーニングははるかに改善されています (当然のことですが)。では、SOTA メソッドとは何か、paperswithcode で確認してみましょう。 RAFT は見た目も良く、PyTorch 実装も備えています。元のリポジトリをフォークして、少しシンプルにしました。研修や評価などは必要ありません。私はそれを推論のためだけに使います。 オプティカルフローの計算 推論のために、ネットワークは 2 つの画像を連結し、形状のテンソル (2、image_height、image_width) を予測します。前述したように、画像内の各ピクセルは 2 次元ベクトルに対応します。これらのファイルは実際のトレーニングで使用するため、.npy ファイルとして保存します。オプティカルフロー画像を想像すると次のようになります。 電車 私たちのトレーニングの目的を思い出してください: オプティカルフロー → モデル → 車両速度推定 私が選んだモデルはEfficientNetです。スケーラビリティが高いのでとても気に入っています。選択できるバージョンは 8 つあり、最大のバージョンである EfficientNet-B7 は依然として非常に優れています。まずは B0 のような小型のモデルから始めて、すべてが正常に動作し、十分な性能の GPU がある場合は、より大きなモデルを選択できます。事前トレーニング済みのネットワーク モデルを簡単にロードするために使用する PyTorch ライブラリもあります: https://github.com/lukemelas/effecentnet-PyTorch [train.ipynb](https://github.com/sharifelfouly/vehicle-speed-estimate)を開くと、トレーニングがどのように機能するかを確認できます。 私の GPU には 6 GB のメモリしかないため、常に B0 から開始して B3 までスケールアップします。トレーニング後、次の結果が得られました (損失は平均二乗誤差です)。 トレーニング損失 検証損失 素晴らしい、すべて正常に動作しているようです。トレーニングと検証の両方の損失が減少しており、ネットワークは過剰適合していません。 結果は次のとおりです。 完璧ではありませんが、いくつかの用途はあります。 要約する 私は通常、機能エンジニアリングの大ファンではありませんが、この場合はかなりうまく機能していると思います。次のステップは、Transformer や LSTM のような、より順次的なものを試すことです。 |
<<: AIの分野を深く探究しよう!新しい機能が次々と登場し、携帯電話で包括的なスマート体験を提供します
>>: 2020 年の人工知能におけるトップ 10 の技術進歩
心臓ペースメーカーの正確なメカニズムはわかっていませんが、この物理的プロセスを再現する「心臓」を私た...
翻訳者 | 李睿校正 | 梁哲、孫淑娟人工知能 (AI) テクノロジーはここ数年で急速に発展し、ビジ...
大規模な言語モデルのサポートにより、開発者は多くの新しい機能を実装し、より幅広いアプリケーション シ...
ロボティック・プロセス・オートメーション (RPA) は、今日最も急速に成長しているテクノロジーの ...
最新世代の予測言語モデルは、言語の根底にある意味の一部も学習したようです。驚くべきことに、これらのモ...
8月2日、Googleの研究チームはOpenAIのGPT-4を使用して他のAIモデルのセキュリティ保...
最近、私は何かに没頭しています。没頭するというのは、諦めるということではなく、むしろ醸成していくプロ...
[[422888]]みなさんこんにちは。私は梁唐です。最近、多くの新人がアルゴリズム エンジニアに...
[[195952]] 1. ディープラーニングディープラーニングといえば、一度でも触れたことがある人...
COVID-19 により、企業はデジタル変革の取り組みを数か月、場合によっては数年も加速させるようプ...
LLaMA-1 と比較して、LLaMA-2 はより高品質のコーパスを導入し、大幅なパフォーマンスの...
機械学習開発者にとってアプリを構築するのはどれくらい難しいのでしょうか?実際、Python コードを...
プロンプト エンジニアリング (コンテキスト プロンプトとも呼ばれる) は、モデルの重み/パラメータ...
今年が進むにつれて、持続可能な開発をめぐる話題はますます高まるばかりであり、気候変動が近づいていると...