The field of computer vision (which this would fall into) is extraordinarily challenging. Just creating an algorithm that can simply *recognize* an object is hard let alone the ability to take that information and make a decision based on it. As a bit of a contrived example, imagine a person was holding a sign on a street corner that looked like a stop light (same colors, shape, size, etc.). As humans, we know it's not a stop light because we know people generally don't hold stop lights, we know a stop light is 3-dimensional, the lights glow, etc. Getting a computer to understand this type of contextual information is not easy.