Large Scale Complexity and Cost of Storing Every Face From a Camera Stream

November 29, 2017

By: Dr. Peyman Askari

In case you were wondering, this is why we don’t just perform facial recognition on every camera in the world and add all the faces to a S.H.I.E.L.D. like database so Nick Fury can search your face. With as low as 100 cameras, we would be spending almost $10,000 a day on computing costs alone.

If we push the duration to one month, we would expect to multiply the cost by a factor of 30, however, the multiplier is much, much higher. The reason for this is the constantly compounding list of stored faces. With 100 cameras we are now spending $8.7 million every month, as opposed to an expected $300 thousand. The linear plot is a mere footnote at this point.

If we are bold, or possibly crazy enough to continue performing facial recognition after the end of the month, then we see that at one year in we are hemorrhaging $1.2 billion, and according to the IMF, we are actually outspending the nominal GDP of the lowest 17 countries in the world!

But what if we continued this further, how many cameras could we process given the world economy? Let’s assume governments suspend public education, public health care and discontinue all military spending and instead invest 100% of their budgets into facial recognition, then we may ask ourselves “for how many days can the country perform facial recognition on 100 camera streams?” The answer, as it turns out, is not that many; America tops the list at just under 7,000 cameras, with China, Japan, Germany, France and the UK following behind.

But how can 100 cameras cost so much when tens of millions of mobile phone and social media users perform facial recognition every day? The answer lies in mathematically intractable problems which we call NP complete. Simply put, every new face that is remembered makes it that little bit more complex for the next face to match. Over time the database becomes so large that the entire process grinds to a halt.

How can the human brain operate for so many years and see so many faces but, thankfully, not explode? The answer to that question lies in auto-associators. Although grossly simplifying the process, the brain has certain structures like the Dentate Gyrus and the Cornu Amunis that take a huge amount of continuous input patterns and map them to unique output patterns, or engrams. In computer science these are sometimes called hashing functions. The brain then is smart enough to “snap back”, or auto-associate, if the input patterns are slightly different. This is why when you see a black and white picture of a red apple you know that it is a red, and not a green apple: although the input patterns are somewhat similar, an apple, the engram which the brain maps them to, in this case a red apple, is very different.

We can achieve this same level of sophistication with computers using complex hashing functions, or alternatively with a technique called clustering. Next week we’ll bring you the efficiency gains associated with this more sophisticated, and less brute force approach.

© 2018 Prilyx Research & Development Ltd. | 2220 – 1050 W Pender St Vancouver, BC. Canada, V6E 3S7
+1 604. 428. 5030 | info@prilyx.com