Iris recognition code

2,318 views
Skip to first unread message

Chris Muktar

unread,
Oct 14, 2014, 9:57:03 AM10/14/14
to openb...@googlegroups.com
Hello All,

I've written a fair bit of code for iris recognition, the current features are:
Finding of eyes in an image
Segmenting the iris, including Fourier estimation of the iris boundaries, converting to Cartesian coordinates
Masking of reflections
Iriscode encoding using Gabor wavelets as per Daugman algorithm

I've tested it on the CASIA iris database and am currently getting around an 80% match rate. With some tweaks it could realistically be closer to 96%, which is similar to commercial algorithms.

The current stack is Python 2.7/Numpy and OpenCV 3.

At the moment I feel like I may want to open source this algorithm. It's a bit of a mess so it would need someone to help clear it up and create an API. I would prefer to contribute to an existing project rather than create a new one. I am quite busy so I'm very limited in the amount of time I have to spend coding, but I can explain how to fix any technical issues, so contributions are welcome.

I know this is a completely different stack from the rest of this project, but want to ask, is this something of interest?

Josh Klontz

unread,
Oct 14, 2014, 6:09:37 PM10/14/14
to Chris Muktar, openb...@googlegroups.com
Chris,

This would be a welcome addition to OpenBR. If you don't find someone here willing to clean it up, I would encourage you to offer the code on the OpenCV mailing list as well.

v/r,
Josh


--
You received this message because you are subscribed to the Google Groups "Open Source Biometric Recognition" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openbr-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Brendan Klare

unread,
Oct 15, 2014, 7:08:39 PM10/15/14
to Chris Muktar, openb...@googlegroups.com
Hi Chris - thanks for reaching out. The addition of an iris recognition algorithm would be quite welcomed within the OpenBR project. Depending on the refactoring effort, others could rally to help.

In order to implement the algorithm cleanly within openbr, the code would need to be decomposed into modules that could operate within `br::Transform` templates used by our algorithm piping framework. A concern is the reliance on numpy, though, as embeding python within our c++ would probably get messy.  

Let us know if key algorithmic components are implemented within C++, or instead of these are within python. 





On Tue, Oct 14, 2014 at 9:57 AM, Chris Muktar <ch...@wikijob.co.uk> wrote:

Chris Muktar

unread,
Oct 16, 2014, 4:03:00 AM10/16/14
to Brendan Klare, openb...@googlegroups.com
Everything has been kept in Python; I didn't write any C++. I was really building a prototype for fun, and Python, via numpy/scipy, offers a lot of syntactic candy that lets you focus on the problem at hand, rather than worrying about code, so steps like convolution, Fourier transform, masking, etc are all carried out in single commands. 

It's worth pointing out that numpy/scipy are largely written in C themselves, so execute at C speed.

Realistically, a 'proper' implementation would need someone to rewrite my code from scratch in C++.

That being said, if someone wanted a challenge and wanted to learn about iris recognition, they can use my code as a template. I can explain what it does/how it works. I can also explain how to improve it. I think it would take a few weekends to do it.
--

Chris Muktar
Director

Emailch...@wikijob.co.uk

Switchboard0845 625 9454
Websitewww.wikijob.co.uk
Knight's Court 6-8 St John's Square, London, EC1M 4NH
 

Sio Kumar

unread,
Oct 16, 2014, 9:36:59 AM10/16/14
to Chris Muktar, Brendan Klare, openb...@googlegroups.com
Hi all,

I have been working with the iris recognition for past few years and I am willing to contribute to this.
But I have no idea of the br::Transform Templates. I will take a look at them today.

Brendan Klare

unread,
Oct 17, 2014, 5:49:12 PM10/17/14
to Chris Muktar, openb...@googlegroups.com
Chris - this is going to be a large hurdle to clear. In general, there is not much support we can provide. Many of our developers are familiar with iris recognition algorithms, and the key challenge we see in provide a baseline implementation within OpenBR is the fact that a C++ implementation is quite tedious to develop. If you decide to port your code into C++ we would be excited if it were to be done within the OpenBR framework. I think you would also find that it would allow you to focus solely on the algorithmic components, and not implementing any IO modules, evaluation components, multi-threading, etc. Unforunately, aside from mailing list tech support, I do not think we have the resources to support such development otherwise.


Chris Ream

unread,
Aug 1, 2015, 11:34:24 PM8/1/15
to Open Source Biometric Recognition
Hi Chris,

I would like to help with the code conversion from Python to C++ / OpenBR standards. I realize it's probably quite an undertaking but I'm up for a challenge.

Let me know if there's a link to a repo or if you're still interested in doing this.

Thanks!
Chris.

Zaheer Ahmed

unread,
Aug 18, 2016, 7:41:21 PM8/18/16
to Open Source Biometric Recognition
I have high interests in Unbreakable Cyber Security Techniques So I am going to adopt your Iris Scan with my C++ Python and additionally Secured Code Techniques. Reply if you agree to let me work on. Thank you it will be your Highness.

preethi...@gmail.com

unread,
Aug 24, 2017, 1:34:17 PM8/24/17
to Open Source Biometric Recognition
hello.. i searched for iris recognition and matching using python but I didn't get anything for matching.. can you please share your algorithm?

preethi...@gmail.com

unread,
Aug 24, 2017, 1:34:17 PM8/24/17
to Open Source Biometric Recognition
hi!! I am trying this only.. can you share your algorithm with source code..??


On Tuesday, 14 October 2014 19:27:03 UTC+5:30, Chris Muktar wrote:
Reply all
Reply to author
Forward
0 new messages