1

既知の GPS 位置を中心に写真 (GPS + タイムスタンプ) をクラスター化しようとしています。

3D ポイント = 2D + タイムスタンプ。

例: 私は道を歩いて街灯の写真を撮ります。あるものは興味深いので 10 枚の写真を撮り、他のものはそうではないので何も撮りません。

どの街灯柱が撮影されているかを確認できるように、街灯柱の周りに写真をまとめたいと思います。

私は k-means クラスタリングのようなものを見てきましたが、写真を最寄りの街灯柱にスナップするだけでなく、インテリジェントなものが必要でした。

(一度に約(2000,500)ポイントを処理するクライアント側アプリのコードをjavascriptで記述します)

4

3 に答える 3

1

DBSCAN などの密度ベースのクラスタリングは、間違いなく進むべき道です。

DBSCAN の 2 つのパラメーターを設定するのは明らかです。

  • イプシロン: これはクラスタリングの半径です。たとえば、10 メートルより近くに街灯がないと仮定すると、10 メートルを使用できます。(ユークリッドではなく、測地距離を使用する必要があります!)

  • minPts: 基本的にクラスタの最小サイズ。1本でも2本でも使えます。

  • 距離: このパラメーターは暗黙的ですが、おそらくもっと重要です。ここでは、空間と時間を組み合わせて使用​​できます。たとえば、空間的には 10 メートル、時間領域では 1 年です。より柔軟なバージョンについては、一般化された DBSCAN を参照してください。これにより、複数のドメインの使用方法が明らかになります。

于 2013-08-25T12:46:52.367 に答える
1

KMeans クラスタリングは確かに人気があり、実装が簡単なアルゴリズムですが、いくつかの問題があります。

  1. 入力変数としてクラスター の数を彼に与える必要があります。Nここで、写真を撮りたい「もの」の数がわからないので、適切な N を見つけます。反復 KMeans または同様のバリエーションを使用しても、問題はマルチクラスター パーティションの適切な評価関数を見つけることにスライドするだけであり、決して簡単ではありません。次に、N自体を見つけます。

  2. 直線的に分離可能な形状のみを検出できます。ヴェルサイユ宮殿を歩いていて、外壁の写真をたくさん撮っているとしましょう。その後、中に入って中庭の写真を撮ります。得られた 2 つの形状は、内部に円盤があるトルスですが、KMeans ではそれらを区別できません。

個人的には、ある種の密度ベースのクラスタリングを使用します。アルゴリズムにいくつかの変数を入力する必要がありますが、空間がユークリッドになると想定しているため、変数を見つけるのにそれほど時間はかかりません。さらに、ノイズ ポイントとクラスター ポイントを区別し、それらを異なる方法で処理できるようにします。

さらに、ほとんどの形状を区別することができ、クラスターの数を事前に指定する必要はありません。

于 2013-08-23T16:52:17.567 に答える