3 ms·
Ask HN: How facial recognition works in China?
What technology specifically is in use? Software architecture, data base, hardware, etc?
- fundamental 8y agoThe answer is it varies and isn't necessarily disclosed by the individual companies to the general public. A common approach is that there is a face matching service which opaquely returns results to end users hiding much of the specifics. At this point the recognition by virtually all vendors is being done with a variety of different deep neural networks through a library similar to the popular tensorflow library. For some insights into the variation between different vendors, the recent FRVT reports may be of interest, though they can be hard to parse through: https://www.nist.gov/programs-projects/face-recognition-vendor-test-frvt https://www.nist.gov/programs-projects/face-recognition-vend...
- Chyzwar 8y agoThey will be a huge database of people pictures. Facebook/Google/Alibaba/Snap/WeChat that will be forced to provide these together with necessary metadata. Images can be stored in object storage AWS S3 or something like Riak S2 or more custom solutions like Facebook Haystack. A batch job that processes images and creates a feature map of the face. Where face feature map is points needed to uniquely recognize the face. Some kind of queue Kafka/ZeroMQ/RabbitMQ and image processing using in OpenCV/TensorFlow/PyTorch. Each time models are tweaked batch job will process images to create more accurate "Face ID". There will be a database that is optimized for search. This can be RDMS like PostgreSQL sharded by face feature. Everything can be heavily cached since feature maps do not change very often. Since the problem is well defined you can risk creating a custom database just for this purpose using something like RocksDB/LevelDB. You still need a platform that aggregates all these video streams from cameras and process images in real time. You probably want to favour speed over accuracy. Maybe OpenCV and small data centres that are spread across the country to reduce latency and cost. A large number of human operators will be needed because the system will be a too dumb search for specific cases. They will probably create an analytic platform that also tracks your mobile phone geolocation, read your email, messages to know that you lazy bum that read HN instead of working.