10-18-2016 01:57 PM
Do you have specific problem / reason that you want to improve the Pattern Matching Algorithm or is it complitly academic?
I might be able to help if you could discribe the issue. I am working with Pattern Matching on many projects.
10-25-2016 08:55 AM
Hi Amit, thank you for your interest.
Well, I do not have a specific problem. We're developing a user-programmable application to check for PTH components in PCBs. I found that sometimes the Pattern Match Alg. is not very consistent and could lead to unexpected behaviours. I think that the problem is that i try to apply only one type of P.M. Alg. (grayscale pyramid) to all the different components of the PCB. The biggest problems appear when a component could be rotated. Maybe you can give some guidelines to use one or others type of P.M. Alg.(Low Discrepancy vs Grayscale Pyramid vs Gradient Pyramid)?
Thank you very much!
Francesco
10-25-2016 12:13 PM
I want to knote first that all PM algorithms (edge base and gray scale base) usually using image pyramid for doing the matching.
Consideration are somewhat diffrent.
Gray scale is very fast. But is not so good if you have contrast changes / dominat features changing.
Edge base is slower. But can have problem with high complexity target.
Both algorithms usually can handle rotation fairly well (depends on implamentation).
Would you be able to share some data? I could advice you better if I see images.
10-26-2016 01:34 AM
I will manage to obtain some images (i have no machine in my lab right now) menwhile: did ever used Low Discrepancy? Because seems to me that it's the most unstable.
10-26-2016 02:03 PM
You need to clarify what is Low Discrepancy? Is it input to one of hte functions? Is it property of the images you get?
10-27-2016 12:56 AM
NI Vision implements two pattern matching methods - Pyramidal matching and image understanding (low discrepancy sampling). Both methods use normalized cross-correlation as a core technique.
Pyramidal matching:The algorithm attempts to find an 'optimal' pyramid level (based on an analysis of template data) which would give the fastest and most accurate match. Two kinds of data can be used - gray value (based on pixel intensities) and gradients (based on select edge information).
Low discrepancy sampling extracts the most significant information to represent an image. While this leads to a very sparse and efficient representation in most cases, certain types of images are known to cause problems:
If these limitations negatively impact the performance of your application, use a pyramidal matching method.
-Having said that, Pattern matching algorithm works well with rotations provided you have taken proper care at creating template and learning phase.
-You can also try All option which takes all three methods into account and find the match.
-If you can take some sample images where it is failing along with template image it can help better to judge the accuracy.
Ref: http://zone.ni.com/reference/en-XX/help/370281AC-01/nivisionconcepts/pattern_matching_techniques/ and http://zone.ni.com/reference/en-XX/help/370281AC-01/imaqvision/imaq_match_pattern_4/
10-28-2016 12:33 AM
Excellent Explanation...
11-03-2016 07:47 AM
This is very simple . All you have to do two things
1. set up the image acquistion setup(use camera, webcam)
2. Next use ni vision assistant to pattern matching by loading in templete .
Note before creating labview vi form vision assistant do not forget to select control , plase make sure to select path of templete and second the number of match which give interger value of 0 or 1 of matching