8 ms·
How I implemented iPhone X’s FaceID using Deep Learning in Python
- deleted 9y ago[deleted]
- omarforgotpwd 9y agoCrazy to think that a ton of neural networks are running on live sensor data every time I unlock my phone. Truly amazing and seamless technology.
- ellisv 9y agoApplying the model is fast, training it is slow(er). Not that crazy.
- omarforgotpwd 9y agoFor something as common as unlocking my phone, the algorithm needs to be extremely fast and power efficient not to mention this is a PHONE, so yes I still find this impressive. The fact that sensor data is being processed through a neural network using a dedicated chipset for neural net operations would seem like ridiculous overkill if you explained it to me ten years ago. Furthermore, the network is actually being re-trained on the fly to accommodate for changes to the users facial hair, etc.
- deleted 9y ago[deleted]
- kccqzy 9y agoI’d love to see some comparison between this prototype and real FaceID. How good are each at recognizing the same people with different appearances (haircut, glasses)? How good are each at rejecting different people with similar looks like siblings?
- thasaleni 9y agoEven apple can't tell the difference between twins
- innagadadavida 9y agoCan someone who’s actually worked/implemented/published face detection/recognition please point to state of the art results for this task? Are neural networks better than hand crafted feature extractors?
- drpgq 9y agoI would check out the recent arcface paper.
- normandp 9y agoI based my work on FaceNet, a quite recent paper that achieves state-of-the-art results and incredible robustness using very similar techniques to the ones I implemented here (siamese networks, contrastive/triplet loss).
- dschn_dstryr 9y agoYes and it's not even close.
- codelord 9y agoFor those who are new to machine learning, this is like duct taping four wheels together and calling it a Lamborghini. Maybe a good start if you want to learn about basics of face recognition, but iPhoneX FaceID keywords here are clickbait. This is nothing like the technology used in iPhoneX.
- hondadriver 9y agoCan you please explain further? How does it work on the iPhone? How is it different from this method?
- codelord 9y agoFor one it uses a numbers of sensors: https://support.apple.com/en-us/HT208108 https://support.apple.com/en-us/HT208108 But also to generalize to makeup and occlusion and millions of faces you have to do much more. There are hundreds of papers on the subject.
- 220V_USKettle 9y agoThe technique in the article does not seem to be using depth data (there is a picture in the article), only RGB image data. So, he could have gotten the same results with a webcam. My understanding is that these depth cameras create a 3d point cloud and use the rgb to map/overlay color onto the 3d.
- metafunctor 9y agoThe article does mention doing experiments using depth information from a Kinect. Also, the actual code on the github repo does appear to use depth info.
- rahimnathwani 9y agoIt specifically mentions RGBD (RGB+Depth).
- JacobiX 9y agoFace ID sensor will projects 30000 infrared dots onto the user's face, and then it reads the projected pattern. The pattern is sent to a deep neural network in order to confirm a match with the phone owner's face.
- nailer 9y agoVery minor nitpick: Surface devices have combined infrared and regular cameras for face unlocking for years. It's a great tech but it didn't start with the iPhone X.
- ggg9990 9y agoI don’t have the iPhone X but the Surface Face ID is a piece of shit.
- cube2222 9y agoSurface hello works for me nearly every single time fast and seemlessly. Love it.
- ggg9990 9y agoLooks like it isn’t random per day but rather works well on some faces and terribly on others.
- nailer 9y agoI have both: they're both excellent 99% of the time, the rest you're just weirded out why today you apparently don't look like yourself.
- colejohnson66 9y agoCorrect me if I’m wrong, but no one claimed that the iPhone X was before Windows Hello
- sebastianmarkow 9y agoDuct tape PhD notebook. These prime examples of "Untitled.ipynb mentality" are what makes me shake my head. No annotations, no exploration of the dataset, no sanity checks, printf debugging, uncaught error messages. But putting just because it doesn't collapse under your feet, put your name upfront and it's good to go.