答えはコンテキストに依存します。少数の(制限された)セグメントのみを調査する場合、計算コストの高いソリューションを購入できる可能性があります。ただし、適切なラベルポイントを検索する何らかの種類の検索にこの計算を組み込むことをお勧めします。そうである場合、計算が高速であるか、候補線分がわずかに変化したときにソリューションを迅速に更新できるソリューションがあれば非常に有利です。
たとえば、体系的な検索を行うと仮定します点のシーケンスP(0)、P(1)、...、P(n)として表される、輪郭の接続されたコンポーネント全体にわたる。これは、1つのポインター(シーケンスへのインデックス)s = 0( "start"の "s")と別のポインターf( "finish")をdistance(P(f)、 P(s))> = 100、その後distance(P(f)、P(s + 1))> = 100の間sを進めます。これにより、候補ポリライン(P(s)、P(s + 1)...、評価用のP(f-1)、P(f))。ラベルをサポートするための「適合性」を評価したら、sを1ずつ増やし(s = s + 1)、fを(たとえば)f 'に、sをs'に増やして、もう一度候補ポリラインが最小値を超えるようにします。スパン100が生成され、(P(s ')、... P(f)、P(f + 1)、...、P(f'))として表されます。そうすることで、頂点P(s)... P(s ' ドロップされた頂点と追加された頂点のみの知識からフィットネスを迅速に更新できることが非常に望ましい。 (このスキャン手順はs = nまで継続されます。通常どおり、プロセスでnから0に戻るためにfを「ラップアラウンド」する必要があります。)
フィットネスの多くの可能な措置アウトこの考慮事項規則(引き回し、ねじれそう魅力的かもしれないなど、)。通常、基礎となるデータがわずかに変更されたときに迅速に更新できるため、L2ベースのメジャーを優先します。主成分分析との類似性をとることにより、次の測定値を楽しませることが示唆されます(要求に応じて、小さい方が良い場合):共分散行列の 2つの固有値のうち小さい方を使用するポイント座標の。幾何学的に、これは、ポリラインの候補セクション内の頂点の「典型的な」左右の偏差の1つの尺度です。(1つの解釈は、その平方根は、ポリラインの頂点の2次慣性モーメントを表す楕円の小さい半軸であるということです。)同一直線上の頂点のセットに対してのみゼロに等しくなります。そうでない場合、ゼロを超えます。ポリラインの開始と終了によって作成された100ピクセルのベースラインを基準にした左右の平均偏差を測定するため、簡単に解釈できます。
共分散行列は2 x 2のみであるため、単一の2次方程式を解くことで固有値をすばやく見つけることができます。さらに、共分散行列は、ポリラインの各頂点からの寄与の合計です。したがって、ポイントがドロップアウトまたは追加されると急速に更新され、nポイントの輪郭のO(n)アルゴリズムにつながります。これは、アプリケーションで想定される非常に詳細な輪郭にうまく対応します。
このアルゴリズムの結果の例を次に示します。黒い点は輪郭の頂点です。赤い実線は、その輪郭内でエンドツーエンドの長さが100を超えるポリラインセグメントの最良の候補です。(右上の視覚的に明らかな候補は、十分な長さではありません。)