javascript - Looking for an algorithm to cluster 3d points, around 2d points -


i'm trying cluster photos (gps + timestamp) around known gps locations.

3d points = 2d + time stamp.

for example: walk along road , take photos of lampposts, interesting , take 10 photos , others not don't take any.

i'd cluster photos around lampposts, allowing me see lamppost being photographed.

i've been looking @ k-means clustering , wanted intelligent snapping photos nearest lamppost.

(i'm going write code in javascript client side app handing (2000,500) points @ time )

kmeans clustering indeed popular , easy implement algorithm, has couple of problems.

  1. you need feed him number of clusters n input variable. now, since assume don't know how many "things" want photoigraph, finding right n. using iterative kmeans or similar variations slides problem finding proper evaluation function multicluster partitions, that's in no way easier finding n itself.

  2. it can detect linearly separable shapes. let's walking around versailles, , take lot of pictures of external walls. move inside, , take pictures of inside garden. 2 shapes obtain thorus disk inside it, kmeans can't distinguish them.

personally, i'd go sort of density based clustering : you'll still have feed algorithm variables,but, since assume space euclidian, finding them shouldn't take much. plus, gives ability distinct noise points cluster points, , let treat them differently.

furthermore, can distinguish between shapes, , don't need give number of cluster beforehand.


Comments

Popular posts from this blog

java - Run a .jar on Heroku -

java - Jtable duplicate Rows -

validation - How to pass paramaters like unix into windows batch file -