It might be that a combination of AI techniques and photos on the web are your best chance of finding a long lost relative. Facial recognition for kinship is a new technique.
Face recognition technology is usually regarded as something that threatens our security by allowing organizations to spy on us. Never mind that it is fun to tag people in photos or to be told when you have appeared in a photo posted by someone else, it's still slightly scary.
Now we have a novel use of face recognition that might be a force for good - or not... The idea is that humans can tell just by looking at a person whether or not they are likely to be related to another person. Family features are generally pronounced enough for them to be visible even in low quality photos. If this is the case then it should be possible to pull off the same trick using face recognition algorithms.
This is what PhD student Ruogu Fang at Cornell University tried out using 22 facial characteristics. However, instead of just using standard facial recognition techniques such as Eigenface, the features were constructed manually to specifically track genetic relationships. The features were selected using data from genetics on which characteristics were likely to be inherited.
These theoretical features were then tested to discover their predictive ability on a database of famous parents and children. Out of the 22 only six appeared to be as good in practice as in theory. This doesn't necessarily mean that the genetics is wrong - it could be that the measurements being made just don't pick up the essential variation. The best features were: color of eyes, darkness of skin, distance between nose and mouth and the distance between eyes and nose. These features were used in a simple k-nearest neighbor classifier.
The algorithm was tested and achieved a 71% success rate at spotting matches and mismatches. This might not sound very good, but on the same test humans only managed a 67% success rate - so the machine algorithm is slightly better.
The performance could probably be improved by using multiple known family members to match a single unidentified individual.
It isn't difficult to think up uses for this algorithm, even at its current level of performance. For example, if you are searching a large database for lost relatives then it could be used to screen out negative matches before moving to DNA testing. Obviously the huge picture bank that is the social web provides a way to scan for possible genetic matches.
So if you are looking for a long lost relative, AI and the social web could be your best hope.
Ruogu Fang, Kevin D. Tang, Noah Snavely, Tsuhan Chen. "Towards Computational Models of Kinship Verification", IEEE International Conference on Image Processing, 2010.
The best products and ideas always spring out of identifying and addressing a general and widespread need. In the case of programming it's the time required when coding for searching the Internet for [ ... ]
Python is currently very popular as a beginner's programming language and has become the preferred language for introductory computer science courses. It is also a very versatile language, cropping up [ ... ]