Vision-based object detection