私はiOSの写真管理アプリを書いています。
GPS情報を元に写真をグループ分けしたい。次に、グループの平均 GPS 情報を取得し、グループに名前を付けます。たとえば、Trip to New York です。
GPS 情報によって近くの写真をグループにまとめる便利なアルゴリズムはありますか?
私はiOSの写真管理アプリを書いています。
GPS情報を元に写真をグループ分けしたい。次に、グループの平均 GPS 情報を取得し、グループに名前を付けます。たとえば、Trip to New York です。
GPS 情報によって近くの写真をグループにまとめる便利なアルゴリズムはありますか?
k-meansの通常の応答を忘れてください。簡単ですが、このタスクには適していません。
DBSCAN(ウィキペディア)をご覧ください。それはあなたが必要とするものの目標にぴったりです。半径(大円距離を使用する場合はメートルを使用できます!)と最小クラスターサイズを指定できます。クラスターの密度が大きく異なり、DBSCANがクラスターをマージする必要がない場合は、OPTICS(Wikipedia)を試すことができます。これは、イプシロンパラメーターを必要とせず、クラスターの最小サイズだけです。ただし、階層的クラスターは生成されます。つまり、パリの写真のクラスターの中に、エッフェル塔の写真のクラスターがあります。
DBSCANの優れた特性は、ノイズの概念があることです。クラスターに属していないオブジェクト。
正方形のグリッドを使用した空間インデックスまたは空間充填曲線を提案します。これは四分木に似ており、GPS ペアごとにクワッドキーまたはジオハッシュを計算できます。これはタイリング アルゴリズムであり、平面を分割します。また、階層クラスターでもあります。