Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Texture Analysis

Hi Techies

Can anyone suggest me to identify defects on cloths of various textures and patterns.
Is there any algorithm for texture analysis?
Is it possible to detect using NI-classifier?

Cheers
eskay
0 Kudos
Message 1 of 16
(8,244 Views)
I've found that second order statistics work very well for classifying textures. I've coded some texture analysis algorithms in LabVIEW to classify mura defects on displays, e.g. rub marks. I've also used them to classify roofing shingles. Co-occurence matrices are a good place to start. Here are some good links on texture analysis and 2nd order statistics:

http://www.cs.jhu.edu/~wolff/course600.461/week9.2/index.htm

http://www.cssip.uq.edu.au/meastex/meastex.html

Ken Pietrzak
DCI
http://www.dragonflycomputing.com
0 Kudos
Message 2 of 16
(8,209 Views)
Hey there,

Generally speaking, National Instruments creates the tools to solve these problems rather than packaged solutions. It looks like a couple of ideas were mentioned Ken, and they might be a great place to start. When it comes to implementing those solutions, some of NI's tools (like IMAQ, Vision, and LabVIEW) will certainly be useful.

Good luck with your application!

Robert
0 Kudos
Message 3 of 16
(8,192 Views)
To get you started, try the attached vis.
The co-occurence.vi computes the co-occurence matrix (symetrized and normalized) from an 8bit image (passed as an U8-array) and for a given translation vector. You should use a number of grey levels reduced to 8 or 16.
The ParamTexture.vi calculates the 4 most popular texture descriptors (energy, inertia, correlation and entropy) from the co-occurence matrix. Search the web for "Haralick", who first defined the method and the corresponding descriptors.

Please come back with your findings...

CC
Chilly Charly    (aka CC)
Message 4 of 16
(8,185 Views)
second part
Chilly Charly    (aka CC)
Message 5 of 16
(8,185 Views)
Hi Robert and Ken,
thanks for the information provided.
For finding out the defects on textures am initially classifying the kind of defect using nearest neighbourhood method(using NI classifier)Will this work out???
Is it possible to classify defects on fabrics using Classifier.Which is the best Engine(nearest neighbourhood,K-nearest neighbourhood) for this kind of inspection.Suggestions plz..

Will also study the cooccurence.vi and Haarlick param u specified!!

Cheers
Eskay
0 Kudos
Message 6 of 16
(8,167 Views)
Hi Eskay,

I did not know that NI had a classify tool. Where is it found? It depends on your app, but I generally use a K-nearest neighbor approach. I find it more robust than a simple nearest neighbor since one badly trained texture can cause a false detection.

Good Luck,

Ken Pietrzak
DCI
0 Kudos
Message 7 of 16
(8,151 Views)
Hey pal

I would like to clarify one doubt on Cooccurence.vi u attached earlier.
How come angles and distance are calculated.Can u brief me.

Eskay
0 Kudos
Message 8 of 16
(8,110 Views)
Hi Charly

With reference to the Cooccurence matrix and parameters i explored it for various samples.i inferred The cooccurence matrix gives the same sets of parameter values(Energy,inertia,Entropy and correlation) for 2 sets of angles i.e (0 and 45),(90 and 135) ie for respective displacements.Am now into classifying the defects say i have some 20 sets of defects and it can occur on different samples randomly.How to classify and overlay defects
0 Kudos
Message 9 of 16
(7,206 Views)

@eskay wrote:
With reference to the Cooccurence matrix and parameters i explored it for various samples.i inferred The cooccurence matrix gives the same sets of parameter values(Energy,inertia,Entropy and correlation) for 2 sets of angles i.e (0 and 45),(90 and 135) ie for respective displacements.Am now into classifying the defects say i have some 20 sets of defects and it can occur on different samples randomly.How to classify and overlay defects



Hi eskay !
What I would do is :
1/ Try to get the texture always presented in the same orientation to the camera.
2/ Explore the texture with all possible vector lengths and directions, and select the vectors that give the largest values of the texture parms in samples without defects.
3/ See if an evolution pattern can be inferred from the obtained results when the selected vectors are used on texture with defects
4/ If not, use some statistical technique, such as Principal Component Analysis (ACP) or Factorial Discriminant Analysis (FDA) to reduce the problem dimension.

If the sample orientation is random, you can use the co-occurence method to find the orientation ; the Energy parm has its max value when the vector is orientated in the texture direction. Once the direction has been found go to step 1 !..

Please come back with your findings...

CC
Chilly Charly    (aka CC)
0 Kudos
Message 10 of 16
(7,131 Views)