alert-lib

alert-lib 距離の推定、速度の計算、アラート、カメラ、および AR オーバーレイに関連するクラスが含まれています。

距離の推定

距離フィルターは、カメラからの物体の距離を推定します。

このStaticDistanceEstimatorクラスでは、想定される幅 / 高さおよびカメラのプロパティを使用して、オブジェクトからカメラまでの距離を決定します。 概算見積書は、デフォルトでは車や歩行者に使用されますが、ユースケースに他の物体が必要な場合は延長されることがあります。 デフォルト値の距離はメートル単位です。 カスタム値の場合、距離の単位は指定したサイズと同じになります。

public void estimateDistance(List<Recognition> recognitions, Size frameSize, int sensorRotation, float focalLength, SizeF sensorSize)

次のリストでは、メソッドのパラメータについて説明します。

  • recognitions - 処理する認識のリスト
  • frameSize - 0 回の回転で認識された画像のサイズ
  • sensorRotation - 各フレームの自然な向きに 90 度の倍数で時計回りに回転します
  • focalLength - キャプチャカメラの焦点距離 ( ミリメートル単位 )
  • sensorSize - 物理カメラセンサーのサイズ ( ミリメートル単位 )

の距離の値 Recognition は、すでに ML モデルから使用できる場合があります。

ROI - 関心領域

関心領域 (ROI) は、ソースイメージの領域を定義して、イメージ内の場所に基づいて検出をフィルタリングできるようにします。 たとえば、車両前方の検知のみが関連する場合、反対側の検知を削除できます。

SDK では、次のタイプのリージョンが定義されています。

  • プライマリ : このリージョンタイプは通常、エゴレーンを表します
  • セカンダリ : このリージョンタイプは通常、エゴレーンの両側に隣接するレーンを含むリージョンを表します

SDK では、次の方法で ROI を生成できます。

  • makeStaticRoi: 静的 ROI は、アプリケーションによって定義された頂点に基づいて生成されます

    静的 ROI の頂点は、次の制約を満たす必要があります。

    • 頂点は凸多角形を形成する必要があります
    • 各頂点の x および y には、イメージの幅と高さの割合を表す 0.0 ~ 1.0 の値を指定する必要があります
  • makeLaneRoi: レーン ROI は道路車線モデルの出力に基づいて生成されます
    • プライマリリージョンは、 2 つのエゴレーンのマークで定義されます
    • セカンダリ領域は、隣接する車線標示がある場合はそれによって定義されている

モデルの検出にLSModelManagerクラスを使用している場合 は、LSModelManager#setRecognitionProcessor()コールバックを設定して、Roiを使用して結果をフィルタリングしてから、認識コールバックおよびトラッカーに渡す必要があります。

アラート

Live Sense SDK は LSDAlertManager 、このクラスを介して複数の種類のアラートをサポートしています。

入力します

エントリアラートは、検出が最初にプライマリ ROI リージョンに入ったときにアプリケーションに信号を送ります。

これらの警告は、歩行者検知をサポートして、歩行者が道路に入ったときにドライバーに警告し、車両検知をサポートして別の車両が自走車線に合流したことを警告します。

レーンデパーチャー

この機能はベータ版です。

車線逸脱警告は、対象車両が自我レーンを出発し、隣接する地域に入っていることを示します。

車線逸脱警告には、以下の 2 つの重大度レベルがあります。

  • WARNING: 対象車両は意図的に車線を変更するのではなく、車線から逸脱している可能性があります。
  • INFO: 対象車両が車線から出発しました。

レーンデパーチャーワーニングの場合、 SDK は以下を想定しています。

  • カメラは車両の中央にあり、まっすぐ前方に向いています。
    • カメラを車両の片側に近づけすぎると、 SDK が誤検知警告を発することがあります。
  • カメラの視野は、スマートフォンの広角カメラに似ています
    • 超広角レンズは誤検知を引き起こします。

TTC - 衝突までの時間

Live Sense SDK は、ユーザー / ドライバーに 衝突までの時間を警告する機能を提供します。 この機能は、事故を防ぎ、ドライバーの安全を確保するのに役立ちます。 この機能は、車両の想定される経路でのcarcar-brake-light-on、およびpedestrianの検出に適用されます。 衝突までの時間( TTC )は、次のように計算されます。

Time to Collision (T) = -1 * d / ( Δd / Δt ) when Δd < 0

  • d = オブジェクトまでの距離
  • Δ D = 処理されたフレーム間のオブジェクトまでの距離の変更
  • Δ T = 処理されたフレーム間の時間の変化

この計算は、オブジェクトまでの距離が減少している場合にのみ適用されます。 それ以外の場合、 TTC は無限であり、アラートは生成されません。

LSDAlertManager 経路上の潜在的な危険をユーザーに警告するための追加のヒューリスティックが含まれています。 これには、主要車両との衝突までの時間や、車両の直行ルートに入る人々が含まれます。

次の一覧では、 TTC の値に基づいたアラートのさまざまな重大度について説明します。

  • INFO - T >2.5 秒
  • WARNING -1.8 秒未満の場合 <T<=2.5 秒
  • ALERT - T<=1.8 秒の場合

これらはデフォルトで設定されている値です。 WARNING およびの値 ALERT は、次の方法で変更できます。

  • public void setTimeToCollisionWarning(float timeInSeconds)
  • public void setTimeToCollisionAlert(float timeInSeconds)

LSDAlertManager 完全に機能するには、次の入力が必要です。

  • 使用しているカメラの特定のプロパティ。 詳細については、を参照 LSDCameraPropertiesしてください。
    • カメラの設定ごとに 1 回だけ設定する必要があります。 これには、デバイスの回転は含まれません。
  • 車両の現在の速度。通常はデバイスの位置情報サービスによって提供されます。
    • これは setCurrentSpeed() 、デバイスの加速度計または GPS を使用して継続的に入力される必要があります。
  • の最新コレクション LSDObjectRecognition
    • 経由で継続的に給紙 determineAlerts()されます。

このLSDAlertManager.onAlertsプロパティは、アラートの非同期フィードで使用できます。

使用量

コトリン

val alertManager = LSDAlertManager()
// Can set the minimum speed to activate certain alerts
//alertManager.setMinimumSpeed(metersPerSecond)

// Set LSDCameraProperties when camera is initialized or changed
// LSDCamera2Controller provides a LSDCameraProperties instance after LSDCamera2Controller.initialize() is called
// If frame shape is modified (ex. custom cropping), provide a LSDCameraProperties with equally modified sensorSize for accurate proximity alerts
alertManager.setCameraProperties(cameraController.cameraProperties)
// Listen for alerts, alerts are also returned by determineAlerts()
alertManager.onAlerts.addListener { alerts: MutableList<LSDAlert> ->
    // Process alerts
}

// When new speed is available
alertManager.setCurrentSpeed(speedMetersPerSecond)

// When new recognitions are available
alertManager.determineAlerts(objectRecognitions, imageWidth, imageHeight, imageRotation, imageTimestamp)

Java

LSDAlertManager alertManager = new LSDAlertManager();
// Can set the minimum speed to activate certain alerts
//alertManager.setMinimumSpeed(metersPerSecond)

// Set LSDCameraProperties when camera is initialized or changed
// LSDCamera2Controller provides a LSDCameraProperties instance after LSDCamera2Controller.initialize() is called
// If frame shape is modified (ex. custom cropping), provide a LSDCameraProperties with equally modified sensorSize for accurate proximity alerts
alertManager.setCameraProperties(cameraController.getCameraProperties());
// Listen for alerts, alerts are also returned by determineAlerts()
alertManager.onAlerts.addListener(lsdAlerts -> {
    // Process alerts
});

// When new speed is available.
alertManager.setCurrentSpeed(speedMetersPerSecond);

// When new recognitions are available
alertManager.determineAlerts(objectRecognitions, imageWidth, imageHeight, imageRotation, imageTimestamp);

」に一致する結果は 件です

    」に一致する結果はありません