loading
 
Defect Detection of No. Plate
NewUser from Hong Kong  [1 posts]
11 year
Hi, I am a new user of RoboRealm. It's really a fantastic software.

Currently, I'm trying to use the RR to check the "mistakes/missing" made during the number printing on a metal plate". I will have a good sample to compare and check the printing defects many produced metal plates. I just need a Result Display of "Pass or Fail". I'm trying to use Shape_Match to do it. However, the outcome result accuracy is always NOT good.

Can anyone give me some suggestions or method on how I should figure out the solution?

    
Steven Gentner from United States  [1446 posts] 11 year
Attached is one way to do this .. but its probably not what you need. The reason for this is that your test images appear to be very clean. If that's the case then the attached should work, otherwise if you can put up source images that are actual samples we can take a look at that. Normally alignment of images is needed to do this kind of comparison.

Also note that the technique does NOT understand the pattern, it just compares pixels directly but this has disadvantages such as needing alignment.

STeven.
compare_plate.zip
Anonymous 11 year
Thank you so much for the suggestion. It perfectly solves the problem of "checking missing part".

Now, I need to check the "scratch" on the plate. Due to the similar colors of background, words, and scratch, I used <Prewitt Edge> to convert the image into edges. Then, use <Shape Match> or <Object Recognition> to detect the scratches. However, the location & shapes of "scratches" cannot be pre-defined, it's not easy to detect them & have a significant change of confidence w.r.t. the whole image. Any suggestion?    

    
Steven Gentner from United States  [1446 posts] 11 year
If you have a known good sample, you should be able to use the same technique to detect scratches. Using the OR or Shape module is NOT the way to do this. They expect known shapes which scratches would not be since I assume they would be somewhat random. But you can just subtract the current image from the known template and quantify the scratch amount. See attached.

Note the Area variable that is printed out. That quantifies how bad the match is of the current image with the known template.

STeven.


 

plate.zip
John Wood from United Kingdom  [67 posts] 11 year
Hi,
I have been playing with a system not to far removed from your problem and I have been playing with part of my pipeline that may help.
That said I am no professional at RR and Steven is the man, It may give you ideas playing with the file...
It may well be over the top, but I just love playing with RR, the combinations and permutations are endless...just a fantastic product..

All the best with your project
John
program.robo
John Wood from United Kingdom  [67 posts] 11 year
Sorry I sent you the wrong file, it was an earlier version I was playing with..
Now this is very much near what I use but I do not have a Reference Source so I have jiggled this  but to the professional pipeline coders it will look messy.
I am sure other people will help either tidying up this which I would be greatfull to use myself.
The variables could be used to do anything you wanted e.g reject, sounder..etc
It is a starting point for you to mess about with along with Steven's file.

Best of luck
John
program.robo
Anonymous 11 year
Dear John,

Thanks for your ideas & programme. Actually, I made a similar program as yours after getting the working concept from STeven. That means we chose a right direction for the solution. Thanks.

Dear STeven,

I want to combine several "checking functions" into 1 single program, and display at last the final "Pass/Fail". How could I separate the the 1st "Area Variable" (say, for checking missing) and the 2nd "Area Variable" (say, for checking scratches)? How should I arrange the "If_statement" for checking both "Area_Variables" for getting "Pass/Fail"?

Finally, would you suggest if I want to combine 4-5 checking functions into 1 single program? I worry it will be too bulky causing slow respond & long computation time. If really like that, do you have any ways to do it?

Thanks.

This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index