[Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

SOS,Find a good way to compare two id pictures to decide whether they are the same person.

Posted on 2001-07-18
9
Medium Priority
?
223 Views
Last Modified: 2010-04-06
hi,dear experts,here I need your kind help very much.
 Firstly,I will introduce to you the backgroud of my project.I have to compare two id card pictures to see if they are the same person or not.The first picture is the previous one which has been stored in the database,now I have his(or her)another picture recently photographed,suppose there sizes are the same(If not,I can use the function 'copyrect' to make the current one be enlarged or minimized to fit the database one.)
    Secondly,I'd like to tell you my methods used in the project.first,I partition them into  '9rows*6lines' blocks(so there are 54 blocks,difference[i] stands for the diference of each block),then I will compare each pixel(red,green,blue) to see if they are the same,if not, inc(difference[i]) until we finish them.Now I will give every block's coefficient[i](between 0 and 1) according to their importance in the comparing process,for example,the section which the eyes are located,I will give 0.9 to it.Now the Difference:=sum(difference[i]*coefficient[i]),right?Second,I will figure out the all pixels,the pixels*3 is the counts I have compared in sum,so:
    Similarextent:=((width*height*3-Difference)/(width*height*3));right?
Third,I will give a threshold,if similarextent is larger than the threshold,I will assume they are the same one.

  Thirdly,I will give you the reasons that tell the method's incompleteness:
     1.The two pictures may be not both colorful or black and white;
     2.The pictures may has been reprocessed,such as smoothed,sharpened,inverted,luminance intensified or weakened,diffused,mosaiced.
     So the method of comparing the red,green and blue of each pixels is not incomplete,right?Do you have any better methods?I don't want to get an exact and very precise method but a realizable one.Please help me,Thank you very much.(If answered,I will give more points:))
0
Comment
Question by:nevsayno
9 Comments
 

Author Comment

by:nevsayno
ID: 6297357
     Any experts can give me some advice?I will appreciate your kind help very much.

0
 

Author Comment

by:nevsayno
ID: 6297437
     Any experts can give me some advice?I will appreciate your kind help very much.

0
 
LVL 9

Expert Comment

by:ITugay
ID: 6297448
Hi nevsayno,

it is very diffucult to implement pictures comaring.
But just one idea. Before comare pictures make it both black and white and apply some blur. Do not use fixed matrix. You have images in databse, so you can do few passes and increase matrix resolution every time until only one person in database will be equal to image.

-----
Igor.
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 21

Expert Comment

by:ziolko
ID: 6297486
nevsayno, compareing pictures pixel by pixel and checking difference makes sens only if You want compare 2 copies of the same picture. If You have one picture in DB and want to compare with another one and find out if on picture is same person it's almost impossible, 'cause on 2 different pics same person might be in different position, distance between person and camera will be different, lights different, etc, etc..
ziolko.
0
 
LVL 4

Accepted Solution

by:
fva earned 900 total points
ID: 6297542
Did you obtain any positive results with your method? It seems to me the most reasonable way to do it.

I would try to "equalize" somehow the two pictures before comparing. Do something like using the background (left-top square) to compensate the overall luminance and eventually to detect BW/color differences. After that, adjust the contrast using histograms built on each image, preserving the average luminance value.
Probably you should take account only of average square luminance when comparing since the color can be tricky.
Take into account the color only if the results obtained by using the above steps are not relevant enough, and even then use only specific "important" squares, like eyes/face areas.

F.
0
 
LVL 1

Expert Comment

by:h_mohsenian
ID: 6297832
it seems ur need is a image processing App.there are many standard method for do this ( Communication Experts always know them u can ask them ). i guess ur method is neural net analysis. but there are a good Neural Net Toolkit in Mathlab (do u know mathlab?). and i think also there is some image processing examples.

the best point in using mathlab is that this package can make c++ code that u can import to ur app.

i hope my comment can help u.

best regards
hamed
0
 
LVL 8

Expert Comment

by:TOndrej
ID: 6298075
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 6298175
Just an idea. Subtract the picture from the original one. If the pictures are exactly the same, you will get a black picture. If there some differences, the result will be dark with some spots here and there.
Now calculate a liminosity histogram of it. The lower the values, the more the resemblance. The more the peaks stretch to the light range, the less the resemblance.
Play with Photoshop to see what happens. Use the layers to subtract the pictures from each other.
0
 

Author Comment

by:nevsayno
ID: 6301623
Honored fva,thank you very much.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an anti-spam), the admin…
Is your OST file inaccessible, Need to transfer OST file from one computer to another? Want to convert OST file to PST? If the answer to any of the above question is yes, then look no further. With the help of Stellar OST to PST Converter, you can e…
Suggested Courses
Course of the Month20 days, 12 hours left to enroll

864 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question