Allen
Allen Sanderson
SCI Institute
University of Utah
On Oct 29, 2020, at 8:30 PM, Alan Morris <amorris@sci.utah.edu> wrote:Allen,If I had to guess, I would say that you are right that the splitting is the problem. We've discussed this several times as a group that the splitting distance needs to dynamically account for the current spacing between particles. I think what can happen is that the splitting distance is pushing particles beyond neighbors and this location is shape dependent, then afterward they are unable to move past neighbors to correct the correspondence. I believe for image based optimizations, the spacing is used for the splitting distance. For meshes, I think Oleks just used 1.0. So the scale of the mesh is probably going to affect this. You could try/test this by scaling the units of your mesh up by 100 or something.Hong has recently been working on particle splitting. I thought he was going to tackle this issue as well, but I don't think he has yet.AlanOn Thu, Oct 29, 2020 at 2:53 PM Allen Sanderson <allen@sci.utah.edu> wrote:Hi,I need a bit of a pointer to code as I have I run into an issue where points have split in such a way that they cannot get around each other. I am working with two surface meshes and after a split the optimization is done as well.Some relevant parameters:"iterations_per_split" : 250,"optimization_iterations" : 2500,"initial_relative_weighting" : 0.75,"relative_weighting" : 5,The first image shows the point location for 32 points after the optimization. Points are co-incident as I would expect except for at the 6 o’clock position which is where there is a surface difference.The second image is right after a split from 32 to 64 points. The vector shows the distance between points. Now my expectation is that after the split that the distance would be small. That is each set of correspondence points would use the same offset with perhaps some minor variance due to a difference in the surfaces. As such, the distance between correspondence points would remain relatively small because of optimization step having been previously performed. However that is not the case as there are quite a few relatively large vectors.In the third image I have highlighted two areas that each have two sets of correspondence points within. It is easy to see that there are two sets in each as it looks like a double headed vector. The point ordering is as follows 1A 2B 2A 1B. With 1A and 2A being one correspondence set and 1B and 2B being the other.The forth image shows the results after the both the initialization and optimization. Where the points could not “get around” each other because of what I would call a push pull situation. Now one could say that this case is an edge case because it is along the edge (pun intended :-). But the fitth image, with a total of 256 points shows where this happens in the interior as well (red and green, orange). Though hard to tell but there are two sets of correspondence points involved in each case though I did manage to have a case where there were three sets. Last image. That one I found really interesting.As such, I am wondering about the seeding for new points because it seems like there is an inconsistency which results in false correspondence sets. My gut feeling is that it can happen regardless of the data set. I just happen to see it with a mesh.Cheers,AllenAllen SandersonSCI InstituteUniversity of Utah<Screen Shot 2020-10-29 at 2.19.05 PM.png><Screen Shot 2020-10-29 at 2.12.53 PM.png><Screen Shot 2020-10-29 at 2.08.33 PM.png>
<Screen Shot 2020-10-29 at 2.08.49 PM.png><Screen Shot 2020-10-29 at 2.33.04 PM.png><Screen Shot 2020-10-28 at 1.42.02 PM.png>
Archive powered by MHonArc 2.6.18.