モデル

Live Sense モデルは、オブジェクトの検出に使用される基礎となる機械学習( ML )モデルと対話するためのインターフェイスを提供します。

オブジェクトの検出 / 認識では、オブジェクトの分類、画像内の関心のあるオブジェクトの特定、および画像内のオブジェクトの位置を特定することでのローカリゼーションの組み合わせを記述します。 例として、画像内の車両を特定し、車両が特定された場所のバウンディング ボックスを提供する Live Sense モデルがあります。

すべてのモデルの中心的な機能は、 RGB 画像を取り込み、画像内で検出された検出のリストを返すことです。

各 Live Sense モデルには、検出できるオブジェクトクラスのセットがあります。 開発者が、ユースケースに関連するオブジェクト、つまりモデルを決定するのはデベロッパの責任です。

モデルタイプと検出クラス

カテゴリ モデル名 ラベル 自信をお勧めします
道路の基本 RoadBasicsModel ( 日 ) pedestrian 47
ライダー 47
46
bicycle 45
motorcycle 47
トラック 45
渋滞状況 47
バス 50
道路の危険 コーン & バリヤ 長方形バリア 60
ストリップスタンド 60
円筒形 - バリア 60
デリニエータ - バリア 60
円錐 60
路面料理 路面料理 80
道路標識 RoadSignsModel DS_SpeedLimit[5-130] 55
DS_AdvisorySpeedLimit[10-85] 55
DS_Stop 55
DS_DoNotEnter 55
DS_NoAccess 55
DS_StartConstruction 55
DS_Yield 55
DS_PedestrianCrossing 55
DS_SpeedBumps 55
DS_StopHereOnRed 55
DS_NoLeftTurn 55
DS_NoRightOrLeftTurn 55
DS_NoUTurn 55
DS_NoUTurnOrLeftTurn 55
DS_ParkingRestriction 55
道路標識( TRT ) RoadSignsModel DS_SpeedLimit[5-130] 60
DS_SpeedLimit[5-130] 60
DS_Stop 60
ブレーキランプ ブレーキライト カー - ブレーキ - ライト - オン 45

道路標識モデルでは、ラベルの接頭辞のみが上記に記載されています。
サンプル画像を含む完全なラベル一覧については、以下の道路標識のセクションを参照してください

ベータモードで利用可能なモデル

以下のモデルはベータテストで利用できます。

カテゴリ モデル名 ラベル 自信をお勧めします
道路の基本 交通信号ステータス 交通状況 - ライト - 緑色 75
渋滞状況 - ライト - レッド 75
交通状況 - ライト - 黄色 75
RoadBasicsNightModel pedestrian 45
motorcycle 40
40
トラック 40
バス 40
車線検知 ロードレーンズ 車線 該当なし
道路の危険 speed_bump_object クロスウォーク 55
speed_bump_signage スピードバンプサイン 55
bridge_tunnel 75
トンネル 75
height_restriction_signals 高さ制限サイン - Xft-Yin 60

信頼性の高い設定

Live Sense SDK for Linux では、モデルの信頼度の値を設定できます。

モデルの信頼性を更新します

モデルクラスの各オプション構造体を使用して、指定したモデルで使用可能なすべてのクラスに最小信頼度しきい値を設定できます。 オプションはモデルの初期化中に設定され、 setter メソッドを使用して更新できます。

// Road Basics
ls::RoadBasicsModelOptions roadBasicsOptions;
roadBasicsOptions.roadBasicsConfidenceThresh = 0.45;
roadBasicsOptions.trafficLightConfidenceThresh = 0.75;
// Road Hazards
std::vector<ls::RoadHazardsModelOptions> roadHazardsModelOptions = {
    {ls::RoadHazardsModelType::RH_CONE_CONSTRUCTION, 0.6},
    {ls::RoadHazardsModelType::RH_POTHOLES, 0.6},
    {ls::RoadHazardsModelType::RH_SPEED_BUMP_OBJECT, 0.55},
    {ls::RoadHazardsModelType::RH_SPEED_BUMP_SIGNAGE, 0.55},
    {ls::RoadHazardsModelType::RH_BRIDGE_TUNNEL, 0.75},
    {ls::RoadHazardsModelType::RH_HEIGHT_RESTRICTION_SIGNS, 0.6}};
// Road Signs
ls::RoadSignsModelOptions roadSignsOptions;
roadSignsOptions.roadSignsConfidenceThresh = 0.55;
// Brake Light
ls::BrakeLightModelOptions brakeLightOptions;
brakeLightOptions.brakeLightConfidenceThresh = 0.8;

モデルの場合 、モデルタイプおよび検出クラスの表に記載されている「推奨される信頼度」から信頼度のしきい値 HERE を使用できます。

制限事項

信頼度のしきい値を小さくすると、検出数は増加しますが、全体的に精度は低下します。 このため、ラベルに誤検知が表示されることがあります。 このため、アプリケーションは、 0.6 妥当な精度の出力を維持するために、信頼性のしきい値を超えておく必要があります。

スレッディング

Live Sense モデルはスレッドセーフではありません。同じスレッドで初期化および実行する必要があります。 同じモデルインスタンスに複数のスレッドを使用すると、予期しない動作が発生する可能性があります。

モデルは並行して実行できますが、各モデルインスタンスは一度に 1 つのイメージのみを処理できます。 前の呼び出しが完了する前にモデルを実行すると、例外が発生します。

モデル実行オプション

Live Sense SDK for Linux は、 Live Sense モデルを実行するための複数のインスタンスをサポートしています。 正確なサポートは、使用しているデバイスおよびモデルによって異なります。

オブジェクト認識

Live Sense Recognition は、検出されたオブジェクトの次のプロパティを記述します。

  • クラス-検出されたオブジェクト。 詳細について は、「モデルタイプ」および「検出クラス」を参照してください。
  • Location - 画像フレーム内でオブジェクトが見つかった場所。
  • 信頼度スコア - オブジェクトが正しく検出されたことを示す 0 ~ 1 の数値。

モデルタイプ

次のライブラリがサポートされています。

  • TensorFlow Lite (TFLite)
  • TensorRT
  • Coral Edge TPU

エンジンランタイムのサポート

CPU GPU TPU
TensorFlow Lite Y Y いいえ
テンソルト いいえ Y いいえ
コーラルエッジ TPU いいえ いいえ Y

TensorFlow Lite バリアントで GPU にモデルをロードするに trueは、適切なモデルオプションをに設定する必要があります。

ls::ModelOptions mOptions;
// Enable GPU delegate in TensorFlow Lite SDK variant
mOptions.setUseGpuDelegate(true);

TensorFlow Lite の Linux ベースの OpenGL ES GPU のサポートはまだ試験的です。 すべての Live Sense モデルが一部の GPU でサポートされているわけではありません。

ランタイムサポートをモデル化します

TFLite fp32 TFLite fp16 TFLite INT8/Quant tensorRT fp32 tensorRT fp16 Edge TPU INT8
道路の基本 Y Y Y Y Y Y
道路の基本業務の夜間 Y Y Y いいえ いいえ Y
道路標識 Y Y Y Y Y Y
コーン & バリヤ Y Y Y Y Y Y
路面料理 Y Y Y Y Y Y
スピードバンプ Y Y いいえ いいえ いいえ いいえ
スピードバンプサイン Y Y Y いいえ いいえ Y
ブリッジ & トンネル Y Y Y いいえ いいえ Y
身長制限サイン Y Y Y いいえ いいえ いいえ
ロードレーンズ Y Y Y Y Y いいえ
ブレーキランプ Y Y Y Y Y Y

デフォルトでは、 SDK は fp32 バリアントを実行します。 モデルオプションで、またはそれぞれの変数をTRUEに設定することでfp16INT8有効化または設定できます。 一 TRUE 度に設定できるバリアントは 1 つだけにしてください。

ls::ModelOptions mOptions;
mOptions.setRunInFp16(true);
//OR
mOptions.setRunInInt8(true);

距離と位置の推定

この機能はベータ版で、返された距離と相対位置の値が不正確になる可能性があります。

上記のすべての物体検知モデルは、検知された各物体について、カメラの視点からの推定距離および位置を提供できます。

検出されたオブジェクトのdistanceおよびrelativePositionプロパティの出力値は次のとおりです。

  • 高さ : 地面からの検出距離。
  • 横方向 : カメラのビューの中央を基準とした検出の距離。 この値は正または負の値で、検出がカメラのビューの左側に向いていることを示します。また、逆の場合もあります。
  • 奥行き : 実際の距離が横方向の距離と等しくなるように、デバイスが直線的に前進する必要がある距離。
  • 距離 : カメラの視点からの検出の実際の距離。

すべての距離の値はメートル単位で提供され、 Live Sense SDK の次の機能で使用されます

  • 衝突までの時間の警告
  • 相対速度の推定

道路標識

グループ ラベル サンプル画像
制限速度 DS_SpeedLimitXX_White_Circle_00
DS_SpeedLimitXX_White_Circle_01
DS_SpeedLimitXX_White_Rectangle_01
AdvisorySpeedLimit DS_AdvisorySpeedLimitXX_Yellow_Rectangle_00
DS_AdvisorySpeedLimitXX_Yellow_Rectangle_01
DS_AdvisorySpeedLimitXX_Yellow_Rectangle_03
経由地 DS_Stop_Red_Octogon_00
DoNotEnter DS_DoNotEnter_Red_Circle_00
DS_DoNotEnter_White_Rectangle_00
DS_DoNotEnter_White_Rectangle_01
NoAccess DS_NoAccess_White_Circle_00
StartConstruction DS_StartConstruction_White_Triangle_00
収率 DS_Yield_White_Triangle_00
PedstrianCrossing DS_PedestrianCrossing_Blue_Rectangle_00
DS_PedestrianCrossing_White_Triangle_00
DS_PedestrianCrossing_Yellow_Circle_00
DS_PedestrianCrossing_Yellow_Diamond_01
DS_PedestrianCrossing_Yellow_Triangle_00
SpeedBumps DS_SpeedBumps_Blue_Rectangle_00
DS_SpeedBumps_White_Triangle_00
DS_SpeedBumps_Yellow_Diamond_01
StopHereOnRed DS_StopHereOnRed_White_Rectangle_00
NoLeftTurn DS_NoLeftTurn_White_Circle_00
DS_NoLeftTurn_White_Rectangle_02
NoRightOrLeftTurn DS_NoRightOrLeftTurn_White_Rectangle_00
DS_NoRightOrLeftTurn_White_Circle_00
NoUTurn DS_NoUTurn_White_Circle_00
NoUTurnOrLeftTurn DS_NoUTurnOrLeftTurn_White_Rectangle_00
ParkingRestriction DS_ParkingRestriction_Blue_Circle_00
DS_ParkingRestriction_White_Circle_01
DS_ParkingRestriction_White_Rectangle_03

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

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