Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Newcomers DBPro Corner / Geometric analysis

Author
Message
Yogz
19
Years of Service
User Offline
Joined: 11th Oct 2004
Location: England
Posted: 19th Aug 2007 13:33
I'm looking at developing some software to identify individual newts from the unique pattern on their belly:



The size and arrangement of the spots on each individual is believed to be unique, a bit like a fingerprint. I plan to create a database of newts within an area so that migration can be studied. Each newt capture is to be scanned, and the theory is that the computer runs an algorithm to determine whether the scanned newt has been caught before.

I imagine this can be done by using the spots as 'landmarks' and recording their coordinates in a matrix. The coordinates can then be compared to those held on the database. My concern however is that no newt will be scanned in the same position more than once, and so it is likely the landmarks will be out of alignment to those on the database.

I expect that if 1 landmark is aligned automatically, the rest can be matched up through a series of geometric calculations to rotate and skew, and the program then return a % correlation to the closest match of the coordinates held on the database.

Is anyone sufficiently competent at maths to advise on this?

Regards

Dave.
pcRaider
17
Years of Service
User Offline
Joined: 30th May 2007
Location:
Posted: 19th Aug 2007 13:54 Edited at: 19th Aug 2007 13:55
You can use technology of OCR.
This is a field of image processing.
Please think it to be eyes of a robot.

http://en.wikipedia.org/wiki/Optical_character_recognition
Virtual Nomad
Moderator
18
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 21st Aug 2007 20:00 Edited at: 21st Aug 2007 20:24
i'm NOT sufficiently competent in math so i'd go at it a slightly different way. here's what i'd try:

1) scan your newt (i'd consider a digital camera, though, because the light of the scanner may be too bright and cause reflections/highlights that could ruin the spot pattern. i'll leave that for you to test ).

2) take your image and plot joints where the newt bends. see figure one below. blue dots as bend points.

3) let the computer connect the dots and bring everything into a straight line. ie, calculate the angles and rotate the segments appropriately (your program can do this as you plot the "joints"/bend points). see fig 2. (i did this (quickly) by hand but shouldn't be too terribly hard to program)

4) scale the image to maintain uniformity for later comparisons. ie, all images being compared should be the same width, head to toe, er tail, of the newt. this can compensate for growth, etc, IF it's true that newts simply "scale up" as they grow older. again, your realm of expertise so i'll leave that up to you. if they do, as i suspect, the relative spot positions should stay the same.

5) now have your program plot the spots and save the data. either manually mark the spots yourself with the mouse, or develop a recognition system so the program can do it for you. ie, have it ask you to give 3 reference spots manually (or not), maybe a couple "non-spot" points as well, to give it criteria for recognizing a spot, and let it plot away.



my 2 cents. a recognition system is something i wanted to work on but haven't (much) yet. anyway. this is how i'd go about doing what you need, without the fancy algorithms. keep us posted? (well, atleast me )

edit thanks to the fancy google ads at the top, it's picked up on the word "algorithm" and given some links to algorithm info if you want to go that route, there's a start.

Attachments

Login to view attachments
indi
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Earth, Brisbane, Australia
Posted: 22nd Aug 2007 10:05
Save yourself some pain and develop a clear cage that holds all newts in a specific way that compliments what you want to achieve.
This way you will have a continuity of scans that can be used for multiple purposes.
There will be minor inconsistencies however they will all be roughly the same layout.

basically virtual nomad has the post scanning process down pat.

Login to post a reply

Server time is: 2024-09-27 02:28:07
Your offset time is: 2024-09-27 02:28:07