Comparing iris images with opencv

I need help comparing irises.

I've already segmented and normalized my iris images. Now I want to use additional functions, add them to a database or just a list of vector functions, and then compare with other functions. I want my application to decide if such aperture is already in the database or not. Of course, the images are different from each other, they were taken with different light, angle, etc.

I thought the Gabor filter would be useful, so I am up to 12 different parameter values:

Mat kernel = Imgproc.getGaborKernel(new Size(25, 25), sigma, theta, lambda, gamma, psi, CvType.CV_64F);
Scalar sum = Core.sumElems(kernel); //kerner normalization
Core.divide(kernel, sum, kernel);   
Imgproc.filter2D(floatSource, dest, CvType.CV_64F, kernel);

      

Then I calculate 12 Hamming distances using this function:

dist_ham = Core.norm(it1.next(), it2.next(), Core.NORM_HAMMING);

      

And we get the average.

And ... it doesn't work. Hamming separation is similar when I compare 2 different images of the same iris or two different irises. How can I make my algorithm better? Maybe I should use some of the mathers implemented in openCV for good results? It doesn't matter to me which algorithm I use, I just want to have good results. And I'm starting a little.

Some sample photos: Person one img1: enter image description here Normalized aperture for face 1 img1:enter image description here

Face one img2: enter image description here Normalized diaphragm for human 1 img2:enter image description here

Hamming distance for this example is about 29000 (and this is the lowest distance I got, in most cases I got about 30,000-3000 for the same face) Hamming distance for different faces is about 31000 (depends on the tested image).

+2


source to share


1 answer


I was able to do this just by doing the algorithm / math in Daugman's paper etc. My suggestion is to actually render gabor kernels to find a meaningful combination of parameters like sigma and lambda. I have not used OpenGL GetGaborKernel but have used a manual tool.



0


source







All Articles