Recognising official uniforms as opposed to fake ones is a big problem for security. If you walk confidently into some official location in an official-looking uniform, it is very likely nobody will look twice at you. How do you guard against that? How do you guard against fake IDs in an office building where there are guests coming and going from all areas at all times and you will only ever recognise a handful of faces? Really, the only thing you can do is to encourage an office culture where absolutely everyone spends their time stopping each other and demanding to see ID, and then calling into a central place to verify, because the ID could be fake. That's going to take a lot of time, and if you're doing it properly, lunchtime in the break room is going to be a nightmare. I pass at least a dozen strangers at lunchtime every weekday, and it would take far longer than my lunch break to stop them and call in all their ID. That's what would be needed, however, to provide true peer-to-peer security checks. Oh, and you don't get to stop doing that once you know and recognise people, either, because you don't know if they have been fired but kept their ID since you saw them last time, even if that was the same day.
I counted the strangers I saw in the office over 4 hours before lunch. It was about 30. If I spend 2 minutes checking on each one, that's an hour out of every 4, or 20% of my time. An entire workday per week just checking IDs. At that point, considering that we're asking everyone to spend 20% of their time checking IDs, it is far more worthwhile to hire several security guards to check ID for everyone as they come and go from the lifts.
Mokalus of Borg
PS - It's funny what becomes feasible when you actually count the cost of asking employees to do it in their "spare time".
PPS - Because, really, there is no spare time.