Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

車線逸脱警告システム

この例では、ビデオ シーケンス内の車線マーカーを検出して追跡し、車線を超えた場合にドライバーに通知する方法を説明します。Hough Transform、Hough Lines および Kalman Filter の各ブロックを使用して、ラインの検出と追跡を行うアルゴリズムを作成する方法を説明します。ここでは次の手順を使用してこのアルゴリズムを実装します。1) 現在のビデオ フレーム内で車線マーカーを検出します。2) 現在の車線マーカーを前のビデオ フレームで検出されたマーカーとマッチングします。3) 左と右の車線マーカーを見つけます。4) 車両がどちらかの車線マーカーを超えた場合は、警告を発行します。

ここでは車線マーカーが見づらかったり、オブジェクトの背後に隠れているような低品質のビデオ シーケンスを処理するため、車線マーカーが複数のフレームに現れるまで待ってからマーカーを有効とみなします。車線マーカーを無視し始めるタイミングを決定する場合にも、同じプロセスを使用します。

メモ: この例のパラメーターはモデルのワークスペースで定義されています。パラメーターにアクセスするには、[ツール表示]、[モデル エクスプローラー] をクリックします。その後、モデルの名前の下にあるモデル ワークスペースに移動してください。

「車線逸脱警告システム」の例はこちらで見ることができます

モデル例

次の図は「車線逸脱警告システム」のモデル例を示しています。

Lane Detection サブシステム

このサブシステムは 2-D FIR Filter ブロックと Autothreshold ブロックを使用して、現在のビデオ フレーム内で車線マーカーの左側の境界を検出します。車線マーカーの境界は直線状であり、ハフ変換行列のピーク値に対応します。このサブシステムは Find Local Maxima ブロックを使用して車線マーカーの極座標での位置を検出します。

Lane Tracking サブシステム

この例では、前に検出された車線をリポジトリに保存して、各車線の検出回数をカウントします。このサブシステムは、現在のビデオ フレームで検出された車線を、リポジトリにある車線とマッチングします。現在の車線がリポジトリにある別の車線に十分類似している場合は、リポジトリを車線の現在の位置で更新します。Kalman Filter ブロックは、リポジトリ内の各車線の位置を予測して、車線追跡の精度を改善します。

Departure Warning サブシステム

このサブシステムは Hough Lines ブロックを使用してラインの極座標を直交座標に変換します。サブシステムはその直交座標を使用して、車線マーカーとビデオの最下部境界の中央との距離を算定します。この距離がしきい値より小さい場合は、警告が発せられます。このサブシステムは、ラインが黄色と白のどちらであるか、また実線と破線のどちらであるかも判定します。

車線逸脱警告システムの結果

[Safety Margin Signals] ウィンドウには、安全余裕メトリクスのプロットが表示されます。安全余裕メトリクスは、自動車と、最も近い車線マーカーとの距離により求められます。安全余裕メトリクス (黄色) が 0 (青) より小さい場合、自動車は車線を逸脱しており、そうでない場合は正常に走行しています。

[Results] ウィンドウには、左右の車線マーカーと警告のメッセージが表示されます。警告メッセージは、車両が右の車線マーカーを超えて走行していることを示しています。このウィンドウには車線マーカーのタイプと色も表示されます。テキストのメッセージに加えて、この例の Windows® 版では音声による警告も発行されます。