メインコンテンツまでスキップ

輪郭のフィルタリングとソート

色閾値処理の後、Limelightは輪郭のリストを生成します。その後、各輪郭は最小の外接矩形、「回転していない」矩形、および「凸包」で囲まれます。これらは一連のフィルタを通過して「最適な」輪郭を決定します。複数の輪郭がすべてのフィルタを通過した場合、Limelightは「ソートモード」コントロールを使用して最適な輪郭を選択します。

ソートモード

すべての他のフィルタを通過した後の輪郭のソート方法を制御します。

2019年には、「最も近い」ソートモードが追加されました。このモードは、設定可能なクロスヘアに最も近いターゲットを選択します。

ターゲットエリア

許容される外接矩形の面積の範囲を画面のパーセンテージとして制御します。最小面積を増やしてスタジアムの照明をフィルタリングしたり、最大値を減らしてフィールド近くの大きなディスプレイなどをフィルタリングしたりするのに役立ちます。

エリアスライダーは線形にスケーリングされておらず、4次関数的にスケーリングされています。これは、多くのFRCターゲットが存在する面積値の低い範囲により高い精度を提供するためです。正方形の面積はその辺の長さの2乗でスケーリングしますが、x^4スケーリングは必要な場所でさらに高い精度を提供します。

ターゲットの充実度

充実度は、選択された輪郭の外接矩形内の「オン」ピクセルの割合です。solid rectangleターゲットは1.0に近い充実度を持ち、U字型のターゲットは低い充実度を持ちます。

ターゲットのアスペクト比

アスペクト比は、選択された輪郭の外接矩形の幅をその高さで割ったものとして定義されます。低いアスペクト比は「縦長」の矩形を、高いアスペクト比は「横長」の矩形を表します。

アスペクト比スライダーも2次関数的にスケーリングされています。

方向フィルタ

輪郭の向きに基づいて輪郭を拒否します。

スマートスペックル除去

他のすべてのフィルタを通過した比較的小さな(エリアフィルタによる絶対的に小さいものとは対照的に)輪郭を拒否します。これは、ターゲットが近距離と遠距離の両方から追跡可能である必要がある場合に不可欠です。 この機能は2019年シーズンに導入され、ロボットがターゲットに非常に近い場合にLimelightのLED反射を拒否するために使用されました。

ターゲットのグループ化

ターゲットの「グループ化」を制御します。2つの形状からなる「ターゲット」を探すにはデュアルモードに、3つの形状からなるターゲットを探すにはトリモードに設定します。

スマートターゲットグループ化は、可変数のターゲットをグループ化し、外れ値を拒否できます。これは2022年に上部ハブターゲットの追跡を支援するために追加されました。

交差フィルタ(デュアルターゲットのみ)

無限に延長した場合の輪郭グループの交差方法に基づいて輪郭グループを拒否します。

スマートターゲットグループ化

個々のターゲットフィルタをすべて通過するターゲットを自動的にグループ化します。

  • グループサイズスライダーの最小値から最大値までの任意の数のターゲットを動的にグループ化します

外れ値の除外

  • グループターゲットは通常のターゲットよりも課題が多いですが、より多くの情報とフィルタリングの機会を提供します。ゴールが互いに近接する複数のターゲットで構成されていることがわかっている場合、単独で存在する外れ値のターゲットを実際に除外することができます。
  • ほぼ完全に良好な標準ターゲットフィルタリングに依存し、カメラストリームで偽の外れ値が見られるか予想される場合にのみ外れ値除外を使用する必要があります。標準ターゲットフィルタリングが不十分な場合、外れ値検出が逆効果になる可能性があります!

出力

このタブは、ビジョンパイプラインの最後の段階で何が起こるかを制御します

ターゲティング領域

選択された輪郭の外接矩形の注目点を制御します。デフォルトでは、追跡パラメータtxとtyは、クロスヘアから選択された矩形の中心までのオフセットを表します。ターゲットのサイズが変化する場合や、時々融合する2つのターゲットで構成されている場合は、別のオプションを使用できます。

生の角を送信しますか?

このコントロールを「はい」に設定すると、JSON、NetworkTables、およびAPI結果に角の位置が含まれます。「輪郭フィルタリング」ページの「輪郭の簡略化」値を調整して、送信される角の数を調整します。

JSONをNT経由で送信しますか?

このコントロールを「はい」に設定すると、NetworkTables経由でJSONが送信されます。

クロスヘアキャリブレーション

ターゲティング値の「原点」を制御します。例えば、ロボットのシューターが常に中心よりも少し左を向くようにキャリブレーションする必要がある場合、ロボットを並べて「キャリブレート」をクリックすると、すべてのターゲティング値が新しいクロスヘアを基準に送信されます。詳細はキャリブレーションページをご覧ください!

3D

ここでPnPポイントベースのポーズ推定を実験できます。

3Dの計算

ポーズ推定が有効かどうかを制御します。これを機能させるには、960x720の高解像度モードを有効にする必要があります。

強制凸包

SolvePnPのためにターゲットの「最も外側の」角のみを選択するには、このオプションを使用します。

輪郭の簡略化

ターゲットから小さなノイズのあるエッジを除去するには、このオプションを使用します。

許容誤差

Limelightは、特定のピクセルスコアで再投影テストに合格した場合にのみターゲットを返します。

ゴールのZオフセット

ターゲットの3D深度値(Z軸)を自動的に調整します。