02-21-2023 03:38 AM
I would be grateful for any help this forum can offer.
We want to build a recognition system for different parts. There are many parts that may be similar or different to each other.
We want to find out exactly which part this part is and then its code.
Of course, there needs to be a preparation/learning process beforehand. The parts to be recognized later need to be taught or defined to the system beforehand.
I have done something similar in the past with geometric pattern matching. After taking an image of the part to be recognized, this image was matched one by one with the templates in the template folder in a loop. In the case of the first match, the part was found. Only speed could be a problem. And the number of parts to be recognized is now in the thousands.
It occurred to me that this could be done with particle classification. I did a few experiments and the results were good.
My question is, would particle classification have a disadvantage in terms of accuracy? It seems like what can be done with geometric matching can also be done with this. Am I missing something?
There is also "multiple geometric pattern matching". I've looked at examples of that too. I haven't used this technique before. Would "multiple geometric pattern matching" make more sense in the first case I described?
Any input is appreciated.
02-23-2023 02:23 PM
I created a system like this for a customer many years ago, before particle classification existed.
I ended up using the particle report to generate unique parameters for each part, such as area and Hu moments of inertia, which don't depend on orientation. When training each part I stored an image and the parameters. When testing a part, I would generate the parameters and search through the list for the best matches, maybe all parameters within about 5 percent. This is extremely fast. If I had more than one match, I could use other tools to figure out which one was best. I remember one of the Hu moments switches signs for a mirrored part, which can be useful if you need to identify left or right hand parts. Leaving that one out allows you to identify parts that are upside down if they are relatively flat.
This approach is much faster than trying to do a pattern match thousands of times per part. I have no idea how it compares to the particle classification tools. I suspect it is the same concept.
Bruce
04-15-2023 08:35 AM
While particule analysis is surely faster than matching thousands of grayscale geometric patterns, you may have parts that have a very similar silhouette, so several candidates may be possible in the end. In this case, you could add a second filtering step that uses geometric matching with the patterns of the remaining candidates and take the best match.
A good strategy may be to use simple and cheap filtering first (like particule analysis) to eliminate as many candidates as possible, then continue with more precise and expensive methods (like geometric matching) until you have only one candidate left.