2

以下の例のサブセットのように、2つの線分パスがあるとします。それらの違いをどのように定量化できますか?

  1. | __
  2. \ _
  3. _ _
  4. / \
  5. \ /
  6. |
  7. _

2つのパスのセグメント数は異なる場合があり、各セグメントの長さとそれらの間の角度は可変です。

座標系を確立し、セグメントをノードとエッジとして定義するとよいと思いました。違いは、レーベンシュタイン距離アルゴリズムと同様に、一方を他方に変換するために必要な操作によっておそらく定量化できます。残念ながら、操作スペースは巨大です。何か案は?ありがとう!

4

4 に答える 4

2

それらを固定サイズの画像に描画し、ユークリッド距離を使用して画像を比較することができます。

または、全長を測定し、角度の絶対値(およびおそらく符号付きの角度)を測定値として合計することもできます。これに基づく何かは、形状の方向に不変であるという素晴らしい特性を持っているでしょう(あなたがそれを望むなら!)。

それをどのように定量化するかは、それらの間の違いを定量化したい理由によって多少異なります。

于 2010-11-05T17:32:47.520 に答える
1

@awoodlandが指摘したことよりも少し先に進みます。それをどのように定量化するかは、違いを定量化する理由に完全に依存します。

線分パスのハッシュコードのような一意の(少なくとも一意である可能性が高い)番号を考え出すことを検討していますか?または、「このパスは、そのパスよりも複雑(または長い、または鋭角)」と言うように線分パスを定量化しようとしていますか?

ハッシュコードを作成する場合は、2つの32ビットCRC(または同様のもの)を作成することをお勧めします。1つはセグメントの長さ用で、もう1つは角度用です。これらのCRCを計算したら、角度を上位32ビット、長さを下位32ビットとして64ビット値にまとめます。セグメントの数によっては、おそらく単一のCRC値で十分です。セグメントごとに、長さを追加してから、そのセグメントと次のセグメントの間の角度を追加します。

上記では、パスごとに一意の番号が付けられる可能性がありますが、保証されているわけではないことに注意してください。

線分のパスの複雑さを定量化したい場合...私には多くのアイデアがありません。

于 2010-11-05T18:03:56.413 に答える
1

あなたはこの論文を見ることができます:

http://www.vision.ee.ethz.ch/~calvin/Publications/ferrari07pami.pdf

このホワイトペーパーでは、オブジェクト検出にkAS(セグメントペアの一般化:複数のセグメントを相互に接続できます)を使用しています。ペアを記述するために使用できるこれらのセグメントのセットの記述子を紹介します。

私たちの記述子は回転不変ではないので、あなたには合わないかもしれません。

于 2010-11-05T18:14:37.593 に答える
1

操作を使用する場合:

  • コーナーとセグメントを追加
  • コーナーとセグメントを削除します
  • ストレッチセグメント(差の重み付き)
  • 曲がり角(差の重さで)

n ^ 2時間の間に、レーベンシュタイン距離を使用することができます。

次のようにセグメントをエンコードします[セグメント、コーナー]*。したがって、次のようになります。

[length, rotation] [length, rotation]...

ここで、回転はセグメントのポインティング方向に対応します。

ストレッチと曲げの計算は非常に明白です。Value[i-1, j-1] + stretch + bend

追加/削除の計算。追加Value[i,j-1] + Cost of adding、削除Value[i-1, j] + cost of removal

于 2010-11-05T23:28:38.227 に答える