An image acquisition apparatus for capturing images to generate a panorama, the image acquisition apparatus comprising: a camera array comprising a plurality of cameras (c1-c16) configured to capture a plurality of images to generate a panorama, wherein relative positions among the plurality of cameras are constant; and a camera calibration unit for calibrating the plurality of cameras; an Inertial Measurement Unit, IMU, for measuring the motion of the camera array, the IMU being situated at a reference point on the camera array, and configured to measure the rotation and transformation of the reference point on the camera array from a first position to the second position; wherein upon the camera array moving from the first position to the second position, the plurality of cameras are configured to capture images at the first position and the second position, and the camera calibration unit is configured to: receive the rotation and transformation of the reference point on the camera array between the first position and the second position; and determine a homogenous transformation matrix between a first camera and a second camera from respective rotation and transformation matrices between each of the first and second camera and the reference point, wherein the camera calibration unit is configured to determine the rotation and transformation matrices between each camera and the reference point by: identifying a feature in the images captured by the camera at the first position and the second position, and estimating the rotation of the camera based on the feature; using the received rotation of the reference point on the camera array and the estimated rotation of the camera to determine a rotation of the camera (c 1) with respect to a reference point of the camera array by minimizing a distance metric defined on the 3D rotation group, SO; and determining a transformation of the camera with respect to the reference point by minimizing a re-projection error. a camera array comprising a plurality of cameras (c1-c16) configured to capture a plurality of images to generate a panorama, wherein relative positions among the plurality of cameras are constant; and a camera calibration unit for calibrating the plurality of cameras; an Inertial Measurement Unit, IMU, for measuring the motion of the camera array, the IMU being situated at a reference point on the camera array, and configured to measure the rotation and transformation of the reference point on the camera array from a first position to the second position; wherein upon the camera array moving from the first position to the second position, the plurality of cameras are configured to capture images at the first position and the second position, and the camera calibration unit is configured to: receive the rotation and transformation of the reference point on the camera array between the first position and the second position; and determine a homogenous transformation matrix between a first camera and a second camera from respective rotation and transformation matrices between each of the first and second camera and the reference point, wherein the camera calibration unit is configured to determine the rotation and transformation matrices between each camera and the reference point by: identifying a feature in the images captured by the camera at the first position and the second position, and estimating the rotation of the camera based on the feature; using the received rotation of the reference point on the camera array and the estimated rotation of the camera to determine a rotation of the camera (c 1) with respect to a reference point of the camera array by minimizing a distance metric defined on the 3D rotation group, SO; and determining a transformation of the camera with respect to the reference point by minimizing a re-projection error. receive the rotation and transformation of the reference point on the camera array between the first position and the second position; and determine a homogenous transformation matrix between a first camera and a second camera from respective rotation and transformation matrices between each of the first and second camera and the reference point, wherein the camera calibration unit is configured to determine the rotation and transformation matrices between each camera and the reference point by: identifying a feature in the images captured by the camera at the first position and the second position, and estimating the rotation of the camera based on the feature; using the received rotation of the reference point on the camera array and the estimated rotation of the camera to determine a rotation of the camera (c 1) with respect to a reference point of the camera array by minimizing a distance metric defined on the 3D rotation group, SO; and determining a transformation of the camera with respect to the reference point by minimizing a re-projection error. identifying a feature in the images captured by the camera at the first position and the second position, and estimating the rotation of the camera based on the feature; using the received rotation of the reference point on the camera array and the estimated rotation of the camera to determine a rotation of the camera (c 1) with respect to a reference point of the camera array by minimizing a distance metric defined on the 3D rotation group, SO; and determining a transformation of the camera with respect to the reference point by minimizing a re-projection error.