3 ms·
They will be a huge database of people pictures. Facebook/Google/Alibaba/Snap/WeChat that will be forced to provide these together with necessary metadata. Imag
by Chyzwar 8y ago
They 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.