ラベルを貼る正しい場所を特定する


12

以下の画像では、というラベルの付い[0,1,2,3]た4つのクラスターを特定した2Dデータセットがあります。各形状に対してラベルを自然な方法で配置するアルゴリズムを探しています。私の最初の推測は、それらを以下に示すクラスターの「重心」に配置することでした。連続したクラスターの場合、これは正常に機能します。0ただし、クラスターのような形をとるクラスターの場合、アプローチは失敗します。凡例を使用せずに、この画像にラベルを配置するより良い方法は何でしょうか?

* ここでの自然はある程度主観的ですが、ラベルのポイントは、視聴者がxy平面内の特定の領域を数値に関連付けるのを助けることです。

ここに画像の説明を入力してください


1
DSP.SEへようこそ。これは素晴らしい質問です!=)
フォノン

@Hookedクラスタが平均の2次元ガウス分布と2x2共分散行列としてモデル化されている場合、自然な配置は単にガウス分布の平均になると思います。クラスターの平均を既に決定していますか?
スペイシー

回答:


11

セグメントの最も内側のポイントにラベルを配置するのはどうですか?セグメントのマスクの距離変換の最大値で最も内側を定義しましょう。

Mathematicaなどのソフトウェアシステムを使用すると、簡単に達成できます。

1つのセグメントのマスクとその距離変換: ここに画像の説明を入力してください

各セグメントについて繰り返し、個々の距離変換が最大になるラベルを配置した後:

ここに画像の説明を入力してください


1
「最も内側」が何を意味するのかについて少し詳しく説明してもいいですか?私はMathematicaにアクセスできません(pythonを使用)が、提示されたソリューションをコーディングできるはずです。
フック

@Hooked編集をご覧ください。距離変換を計算する関数にアクセスできる場合、すべて設定されています。
マティアスオディシオ

2
これは見栄えがよく、自分で実装するのは難しいとは思いません。明確にするために、適用した変換は「...各ピクセルの値が最も近い背景ピクセルまでの距離で置き換えられる画像の距離変換」ですか?
夢中

はい、これです。距離変換関数を自分でコーディングする必要がない限り、このソリューションを実装するのは難しくありません(高速実装は
コーディングが難しく

8

ラベルを配置する理想的な場所は、2つの目的を満たしている必要があります。

  • d
  • l

l×dαl+αdα

決定dl

残りは数値最適化です。


1
d
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.