We ask a set of users to independently detect and annotate all the buildings on a map. We do not have a priori knowledge about the location or event the existence of buildings on this map.
I would like to aggregate/cluster their annotations in a way that only 'consensual' annotations are taking into account. That means that:
- I do not know a priori the number of clusters /object on the map (unsupervised approach)
- each point in a cluster should belong to a different user (democratic clustering constraint) i.e. a cluster is formed only if the candidate points, spatially enough close, are from several users. with for instance a threshold (if 60% of the users annotate the same area, we consider it as a building)
Which (modified) clustering algorithm will be appropriated for such task? (I work with R)?
bonus
- The density of the objects on the map is changing. one map could have a dense area of buildings + sparse subareas of buildings). how to choose dynamically the distance between 2 points to consider they are enough close?
Tried algorithm:
A density based algorithm (DBSCAN) but: - it does not take into account the democratic constraint in the formation of the cluster. - there is a problem to handle the change of spatial density on a map ( dense area of building + sparse area of building on the same map)
Thanks!