Get email delivery of the Cadence blog featured here
Happy New Year!
While most other folks are just easing back to work, those of us in the Indian semiconductor ecosystem are gearing up for one of our biggest events of the year. The first week of January is when the VLSI and Embedded Systems Conference takes place, bringing together industry and academia for two days of tutorials and three days of technical sessions. The Conference changes location every year and this year’s event is in Pune.
A new and unique feature this year is an innovative event called the “Tensilica Hackathon”. The first of its kind, this Hackathon challenges students to use Cadence’s Tensilica Xtensa processor architecture to design an optimized digital signal processor (DSP) for a face detection application.
The Hackathon has been conceived and implemented by Sarang Shelke, Design Engineering Director in the Tensilica R&D group in Pune, and his team.
Face recognition technology seems pretty fascinating and I wanted to know more, so I asked Sarang to respond to some questions and he kindly obliged.
Madhavi: What is face recognition technology and what is complex about it?
Sarang: According to Wikipedia, “A face recognition system is a computer application capable of identifying or verifying a person from a digital image or a video frame from a video source. One of the ways to do this is by comparing selected facial features from the image and a face database. It is typically used in security systems and can be compared to other biometrics such as fingerprint or eye iris recognition systems.” The complexity comes from neural network digital signal processing.
With advents in machine learning, especially Convolutional Neural Networks (CNN), it is now possible to make face recognition systems very robust. For example, there may be visual changes in the face like facial hairs, accessories like eye-glasses, changes due to age, etc. CNN-based algorithms can determine very quickly and accurately any changes and still recognize face based on some of the key information points.
Madhavi: What are some of the cool applications of this technology?
Sarang: Face recognition is a biometric scan, just like your fingerprint or iris recognition. You can already see face recognition on Facebook, when it suggests for you to tag friends in pictures. Most of the high end smartphones can now sort images based on faces, groups. etc. A very popular application is access and security – a simple example is if you use face recognition to identify visitors (wanted or unwanted) before you open the door or before they enter a bank. There are many more applications which are continuously evolving, and that’s what makes this technology so relevant.
Madhavi: Tell us where Tensilica comes in – how does it help with face recognition?
Sarang: Today’s applications processors are not equipped to handle the complex imaging, computer vision, and neural network (NN) digital signal processing functions in mobile handsets, tablets, DTVs, drone and automotive, video game, and high-end wearables. The Cadence Tensilica Vision digital signal processor (DSP) family offers a much-needed breakthrough in terms of energy efficiency and performance that enables applications never before possible in a programmable device.
Madhavi: Wow, that’s a lot to take in! At a simple level, how does this technology work?
Sarang: The very first step in face recognition is detection that there is a face in a given image. Once face(s) are marked in an image, the next step is to analyze various features of the face. After collecting data from analysis of face features, comparison is done with some known faces (collecting during training or in the database – there is the element of machine learning here), and based on the match a prediction of a match is generated.
Madhavi: How effective is the technology today and what are the future improvements that we can expect?
Sarang: Algorithms and technology are advanced enough to give almost 100% accuracy. So you can say the technology is very effective and accurate.
In terms of the future - current technology for face recognition is based on 2-D images and looks at matching some of the key features (partial list) like corner of eye, nose, mouth, etc. Artificial Intelligence (AI) recognition systems need to be trained with a very large number of images to get accuracy close to 100%, but still we don’t have accuracy guaranteed to be 100% unless the image is captured in closely controlled environment (for example, good lighting, clear background, sharp image, etc). Face recognition in images captured as 3-D promises to provide much higher accuracy but the complexity of data involved and processing requirements will also grow exponentially.
Thank you Sarang! There are many blogs on the Cadence Community site that talk about Convolutional Neural Networks, which are biologically inspired models of neurons in the brain. Here are a few to start you off:
Introduction to Convolutional Neural Networks (video)
The Future of Neural Networks (video) by the former CTO of Tensilica, Chris Rowen
Chris Rowen: Neural Networks – The Next Moore’s Law by Paul McLellan