ar_pose is looking at a version of the message with different fields than it expects. If the message description of sensor_msgs::CameraInfo is different between the topic and the subscriber, you will see this error. Since Rviz is having the same problem, I would guess that whatever node is publishing /usb_cam/camera_info is publishing incorrectly or is from an older version of ROS than you're using.