Does pcsegdist function uses dbscan algorithm
9 views (last 30 days)
I found pcsegdist function segments point cloud based on euclidean distance.
I applied pcsegdist function in matlab and dbscan function in python (https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html) on same point cloud.
The minPoints parameter was set same in both functions.
Eps parameter in python and minDistance parameter in matlab were set same.
The 'eps parameter' means that if the distance between two points is lower or equal to this value (eps), these points are considered neighbors. (https://towardsdatascience.com/how-dbscan-works-and-why-should-i-use-it-443b4a191c80)
The 'minDistance parameter' is the minimum Euclidean distance between points from two different clusters, specified as a positive scalar.
Hence I set both minDistance and eps parameter same.
But the output number of clusters were different from matlab and python functions.
Any insights on this matter would be appreciated.
Shivam Singh on 5 Apr 2022
It is my understanding that you are trying to use “pcsegdist” function in MATLAB and DBSCAN function in Python.
However, “eps” parameter in Python and “minDistance” parameter in MATLAB are different from each other. “minDistance” is the Minimum Euclidean distance between points from two different clusters. But “eps” is the maximum distance between two samples for one to be considered as in the neighbourhood of the other. Also, “eps” is not a maximum bound on the distances of points within a cluster.
You may use the following reference to know more about it: