PIR, Ping, or camera for motion tracking?

That's a tough one. The image processing required to "follow the red ball" with a camera is pretty well-defined these days. But "follow a random person among other people and don't switch between people too often" isn't well-defined. If you're following them by looking for the brightest face, then what happens when that person turns around? That might be the effect you want but then someone turns up with a bright hat and it wants to look at the back of their hat instead of anyone else.

If you can somehow limit the path of people accessing the artwork? Like have them always walk past left-to-right and then the tracker follows the leftmost person? That way it will appear to respond to new people entering the room and everyone thinks that it did actually look at them when they entered.

Most of the ideas for this are beyond the processing power of the Arduino. You would probably get better answers if you asked the same question on a Rasberry Pi forum or an Android developers forum.