ゼファーネットのロゴ

カルマン フィルターの簡単な紹介

日付:

原子炉の炉心内部の温度を測定して、核反応が制御されていることを確認できますか? これまでに製造されたどのサーモスタットでも、確かに熱すぎます。 それで、私たちの最善の策は何ですか? 最も近い方法は、コアに近い表面の温度を測定し、その内部の温度を推定することです。

 

カルマン フィルターの簡単な紹介
Freepikの雪が降る画像
 

この概念を内面化する別の例を考えてみましょう。現象を直接測定することはできません。さまざまな空気密度、風向、風速を考慮したレーダー技術を使用して、飛行物体の正確な位置を測定できますか? 風向きが変わったら? レーダー装置に関連する経験的誤差は調整されていますか?

環境はこれらの測定の精度に影響を与えます。環境が制御されていないと、ノイズの多い測定値が得られる傾向があります。 したがって、これらの測定値のノイズをフィルター処理して、ほぼ正確な推定値を提供できる方法論が必要になります。その答えは、カルマン フィルターにあります。 

あなたの仕事が上記の例やアプリケーションに直接関係していないことに疑問を持っているに違いありません。 では、なぜカルマン フィルターを理解して学習する必要があるのでしょうか? 

原子炉やレーダーを扱っているわけではないかもしれませんが、長い直線道路を東に移動している車の位置を測定したい場合はどうでしょうか。 もちろん、GPS テクノロジは、この地球上のあらゆるものの位置を測定するために人々が使用するものです。 しかし、GPS 信号は、衛星の位置のわずかな変化、熱雑音、雲、ほこりなどの影響を受けます。

走行距離計はどうですか? GPS の代わりに使用できますか? 走行距離計の読みを最後に確認された位置に追加すると、現在の位置を簡単に知ることができます。 しかし、走行距離計の測定値は、ホイールのサイズやタイヤの空気圧などの影響を受けることがわかりました。したがって、走行距離計からの測定値は、正確な位置を見つけるのにあまり役立ちません。

IMU (Inertial Measurement Unit) を使用して車の加速度を測定し、それを XNUMX 重積分して距離を求めることもできますが、装置と数学的誤差が伴います。 

したがって、これらすべてのソースからの読み取り値を利用して位置のほぼ完全な推定値を取得するカルマン フィルターが必要です。

カルマン フィルター アルゴリズムの内部構造を理解するには、状態や観測などの概念をしっかりと把握する必要があります。 それでは、まず状態とは何かを定義しましょう。

システムの状態 「システムに影響を与える外力がない場合の将来の動作を決定するために、システムについて十分に説明します。」 例えば、車の実際の位置は常に隠されている状態です。 したがって、観測、つまり走行距離計の読みは、この状態を推定するために使用されます。 

それを念頭に置いて、直線上を等速で移動する車の例を使用して、カルマン フィルターを直感的に理解してみましょう。 速度計を介してのみ速度を観察できることに注意してください。これはノイズが多い可能性があります。 速度が 10x+10y であるとしましょう。これは、x 方向に 10m/s、y 方向に 10m/s を意味します。 カルマン フィルターが認識しないガウス ノイズが追加されているとします。

XNUMX 段階のプロセス

推定用のカルマン フィルターには、大まかに次の XNUMX つの手順が含まれます。

  • 予測: これには、数量 (車の位置) と次のステップの誤差共分散の予測が含まれます。  
  • 訂正: 修正ステップでは、前の予測と予測と観測の間の誤差を使用してカルマン ゲインを計算し、推定値と誤差共分散を更新します。 

上で説明したプロセスの概要は、次の図に数学的に示されています。

 

カルマン フィルターの簡単な紹介
による XNUMX 段階プロセス balzer82 / カルマン
 

以下に示すように、すべての測定に対して、またはカルマン ゲインが安定するまで、XNUMX つの手順が繰り返されます。

 

カルマン フィルターの簡単な紹介
Image from ResearchGate
 

推定

推定問題を解決するための最初のステップは、問題をモデル化することです。つまり、カルマン フィルターが推定する状態ベクトルを定義します。 位置と速度を推定する必要があることに注意してください。したがって、状態ベクトル (xk) には両方が含まれます。 移動距離はその方向の速度と経過時間に等しいので、時刻 k+1 の状態 (xk+1) は次のように定義されます。

 

カルマン フィルターの簡単な紹介
 

状態遷移行列 A (カルマン用語では動的行列) は、オブジェクトの現在の状態を次の状態に変換します。つまり、状態がどのように遷移するかを定義します。 1,3 番目のコンポーネントは、観測行列と呼ばれる行列 H によって定義される観測値です。 位置ではなく一定の速度のみを観察しているため、行列の (2,4) および (XNUMX) セルのみがゼロ以外の値を持ちます。

 

カルマン フィルターの簡単な紹介

ノイズを最小限に抑える 

カルマンは、0 段階のプロセスで P0、Q、および R によって表されるノイズ項を最小化しようとします。 行列 PXNUMX は、位置と速度に関する初期の不確実性を捉えます。 行列 Q は、風や凹凸のある道路などの環境要因に関連するシステムへのノイズを捕捉します。行列 R は、測定ノイズまたは測定誤差を吸収します。 

 

カルマン フィルターの簡単な紹介
 

予測および修正プロセスからの反復更新に基づいて、カルマン フィルターは一定速度モデル (上のグラフ) からノイズを除去し、右下の画像に示されているように表示されます。 特に、出力速度推定値の分散は、時間の経過とともに減少しています。

 

カルマン フィルターの簡単な紹介
情報源: カルマンフィルターを簡単に解説【後編】
 

これは、カルマン フィルターが XNUMX つの観測ソース、つまり速度しか利用できない一定速度モデルからノイズを除去する方法を示しています。 ノイズの多い観測源が複数ある場合は、さらに効果的です。 たとえば、ノイズの多いオドメーターの読み取り値と速度の読み取り値があれば、結果はさらに良くなります。

カルマン フィルターは推定の必要性を強調し、さまざまなソースからノイズが導入される一部のアプリケーションで使用されます。 この記事では、このノイズをフィルタリングするための 2D モーションの例を通して、カルマン フィルターの内部動作について説明しました。
 
 
ヴィディ・チュー スケーラブルな機械学習システムを構築するために、製品、科学、エンジニアリングの交差点で働く AI ストラテジストであり、デジタル トランスフォーメーションのリーダーです。 彼女は受賞歴のあるイノベーション リーダーであり、作家であり、国際的な講演者でもあります。 彼女は、機械学習を民主化し、誰もがこの変革に参加できるよう専門用語を打ち破ることを使命としています。
 

スポット画像

最新のインテリジェンス

スポット画像