Although a computer can have (effectively) infinite memory, it still is limited by how fast it can process. And that's the real killer.
Suppose it takes 1 second to compare a face against one face in the database. You have ten people in the database. One person walks through the door. If they're a match, they're recognized. If they aren't, they're added to the database.
The only way to tell if they're a match is to iterate through every face in the database so far. (There may be some way of paring it down based on some heuristics or catagories, but let's put that aside for a moment).
So that means that for every person who comes through the door, you have to iterate through every face in the database. Ten people in the database, and ten people walk through the door. That's 10 * 10 = 100 lookups. Except really it's more. The first person walks through, 10 lookups. Now there's 11 people in the database. The next person walks through, that's 11 lookups. Now there's been 21 lookups. And so forth.
Your runtime is now growing out of control. In order to add 1 person to the database, you have to go through n operations, where n is the number of people already in the database.
Hopefully, you can sort that data and at least train the software to search intelligently. Think about finding a single card in a partially sorted deck. "Find me the Ace of Spades" in a deck that is sorted into black vs. red cards, and the subsorted into High and non-High cards:
step 1: throw away the half a deck that is red
step 2: throw away the half a deck that is Low
step 3-16: flip through the remaining 13 cards that might have your As.
Much better than flipping through 52 cards.
The trick to this mythical software are these two things:
1) Think of all the many, many, many attributes that make up a human face
2) A computer doesn't know the meaning of "brown hair" until you teach it.
And, as other posters have mentioned, some very simple disguises will fool it.
The facial recognition software made for an interesting plot device. It was something that would be sufficiently "world changing" for the security firm, and that most audiences would grok right away, and that represents a theme that they could use (man vs. machine).
As an actuality-- well, when/if they do come up with a piece of software that would work on the level they represented in the movie, I can assure you it won't be spearheaded by casinos looking to save a few bucks here and there. Now, the military looking for known operatives in diverse crowd scenes...
callipygian said:
Nobody's commented on this, so I will.
...
Humans can't remember every single hand played by every single patron at every single table at every single casino. But I bet there will be a computer quickly. :laugh: