Patent Publication Number: US-11051000-B2

Title: Method for calibrating cameras with non-overlapping views

Description:
FIELD OF THE INVENTION 
     The invention is generally related to calibrating cameras, and more particularly to calibrating cameras with non-overlapping views. 
     BACKGROUND OF THE INVENTION 
     Calibrating cameras where all views overlap each other is relatively simple. This is not the case when the views of the cameras are non-overlapping. 
     There are several known methods for calibrating multiple cameras with non-overlapping views. In one method, the multiple cameras are rigidly attached to a moving platform (e.g., a vehicle and a mobile robot) so that the cameras do not move with respect to each other. That method first determines a motion of each camera by using a simultaneous localization and mapping (SLAM) procedure for a sequence of images obtained with the camera. Then, that method matches the motions of the multiple cameras using a hand-eye calibration method, which provides the relative poses between the cameras. However, that method cannot determine all the 6 degrees-of-freedom (DOF) of the poses when specific motions or camera configurations are used. Another method additionally matches scene points constructed by the SLAM procedure among the multiple cameras to determine the 6 DOF poses. In yet another method, the sequences of images obtained with the multiple cameras are jointly used in a single SLAM procedure to construct a 3D model of the scene, which is then used to determine the relative poses between the multiple cameras. The above methods use the motion of the moving platform, and thus are not applicable to stationary cameras. 
     For calibrating stationary cameras, one method tracks moving objects in the scene (e.g., humans and cars) from one camera to a next camera to determine the relative poses between the cameras. That method has limited accuracy due to the assumptions on the motion model of the moving object. In another method, surveillance cameras are calibrated using global positioning system (GPS) tags on objects. That system cannot work for indoor applications. Several other methods use mirrors to acquire images of a common reference object (e.g., checkerboard) that is not originally in the field of views of the cameras. 
     SUMMARY OF THE INVENTION 
     The embodiments of the invention provide a method for calibrating one or more cameras acquiring images of a scene, wherein the images are non-overlapping. An independent simultaneous localization and mapping (SLAM) procedure is used to construct a 3D model of a 3D scene. Then, 2D-to-3D point correspondences between 2D pixel locations in the images acquired by the cameras and 3D points in the 3D model are determined. After the correspondences are obtained, a 2D-to-3D registration procedure is used to determined calibration parameters for each camera. 
     The method according to the embodiments partitions the non-overlapping camera calibration problem into two components. The SLAM procedure constructs the 3D model of the scene by moving a red, green, blue (RGB) camera or an RGB-depth (RGB-D) camera to different viewpoints and acquiring images. After the 3D model is constructed, the poses of the non-overlapping cameras can be determined with respect to the model. Note that the 3D model can be reconstructed using any SLAM procedure and is independent of the calibration process of the non-overlapping cameras. In contrast, in the prior methods for calibrating cameras attached on a moving platform, the cameras to be calibrated are the same as the cameras used for the SLAM procedure. 
     The method has fewer degeneracy problems compared to hand-eye calibration techniques. The method can calibrate a number of cameras, or a moving camera at a large number of different poses compared to what can be achieved with mirrors, calibration patterns, or by tracking moving objects. The method can be used for indoor and outdoor scenes. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a flow diagram of a method for calibrating cameras according to embodiments of the invention; 
         FIG. 2  is a schematic of a keyimage-based SLAM procedure according to embodiments of the invention; 
         FIG. 3  is a schematic of keyimage selection according to embodiments of the invention; and 
         FIG. 4  is a schematic of a result of the non-overlapping camera calibration for an exemplar scene. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       FIGS. 1 and 2  show a method for calibrating one or more cameras  201  with non-overlapping views of a scene  220  according to embodiments of our invention. The method determines intrinsic and extrinsic camera calibration parameters. The intrinsic parameters include, e.g., focal length, and radial distortion parameters of the camera. The extrinsic parameters include the poses, including 3D translation and 3D rotation, of the cameras. 
     A three-dimensional (3D) model  111  of the scene is constructed  110  using a simultaneous localization and mapping (SLAM) procedure. A calibration camera  205  used by the SLAM procedure is independent of the one or more cameras  201  to be calibrated. Correspondences  121  between images acquired by the one or more cameras  201  and the 3D model are determined  120 . Then, intrinsic and extrinsic calibration parameters  131  are determined using a 2D-to-3D registration procedure  130 . 
     The method can be performed in a processor  100  connected to memory and input/output interfaces by buses as known in the art. 
     As shown in  FIG. 2 , for one application, the one or more non-overlapping cameras  201  are placed stationary in the scene. The 3D model of the scene is constructed by moving the calibration camera  205 , arranged on a tablet computer, mobile telephone, or other similar computer devices hand-held by an operator. The calibration camera is moved  210  to different poses while acquiring the images of the scene  220  from multiple viewpoints. The system acquires about 3 images per second, enabling interactive 3D reconstruction. Feedback can be provided to the operator in real time to indicate whether the images are successfully registered or not, and determine where to image the scene next. 
     Model Construction 
     Our preferred embodiments use an RGB-D camera for constructing the 3D model. The RGB-D camera provides a sequence of RGB-D images, each of which includes an RGB image and a depth map. Examples of RGB-D cameras include Microsoft Kinect® sensors and stereo cameras. 
     Our SLAM procedure uses point and plane features as primitives. Planes are the dominant structure in man-made indoor or outpdoor scenes, e.g., walls, floors, ceilings, windows, furniture, pictures, etc. Using plane features improves the registration accuracy, as well as accelerates the processing speed due to the smaller number of feature matching candidates. 
     The system is a keyimage-based SLAM system, where images with representative poses are stored as keyimages in a map. For each RGB-D image, the system extracts point and plane features. Point features can be extracted by first using keypoint detectors and descriptors, such as the Scale-Invariant Feature Transform (SIFT) and Speeded Up Robust Features (SURF), on the RGB image, and then generating 3D points from the detected 2D keypoints via back-projection using the depth map. Plane features can be extracted using a RANdom Sample CONsensus (RANSAC)-based plane fitting procedure on the depth map. Then, the image is registered with respect to the map by using a RANSAC-based registration procedure that uses both the point and plane features. The image is added to the map when the estimated pose is sufficiently different from any existing keyimage poses. The keyimage poses, as well as point and plane features in the map, are jointly optimized using bundle adjustment asynchronously from the registration procedure. 
     We use a loop closing procedure to improve the accuracy of SLAM procedure when the camera returns to locations previously viewed. For this purpose, we represent an appearance of each image by using a bag-of-visual-words (BoVW) representation. As known in computer vision, a BoVW model can be applied to image classification, by treating image features as words. The bag of visual words is a vector of occurrence counts of a vocabulary of local image features. To represent an image using the BoVW model, the images are treated as documents, and “words” in the images are defined using the image features. This is usually done by the steps: feature detection, feature description, and codebook generation. 
     In particular for our BoVW model, we use a vector of locally aggregated descriptors (VLAD) representation on the descriptors of the point features. We determine the VLAD for all the keyimages in the map, and check the appearance similarity with a new keyimage when we add the new keyimage to the map. We also check the pose similarity between the new keyimage and the keyimages in the map. If both similarities are high for any existing keyimage, then we perform the geometric verification using the RANSAC-based registration between the keyimages. If there are a sufficient number of inliers, then we add the constraints between corresponding point/plane features appearing in the two keyimages in the bundle adjustment. 
     Note that the 3D map construction can also be performed using an independent RGB camera. 
     Camera Localization 
     Given the 3D model of the scene, our goal is to determine the intrinsic parameters and the pose of each camera with respect to the 3D model. The pose includes the 3D translation and 3D rotation of the camera. Because the 3D model acts as a single large-size 3D reference object, the relative poses between multiple non-overlapping cameras can be obtained after each of the cameras is localized with respect to the 3D model. Our localization works for each camera in the following two stages: determining  120  2D-to-3D point correspondences between an image acquired with the camera and the 3D model, and estimating  130  the intrinsic parameters and the camera pose by using a Perspective-n-Point (PnP) procedure. We refer to the image acquired with each camera as a query image. 
     Due to repetitive patterns and textureless regions in many indoor scenes, determining the point correspondences between the query image and the entire 3D model is not straightforward. Furthermore, such an all-to-all matching approach would be time-consuming. To solve these problems, we use appearance-based keyimage matching and geometric verification to determine the correspondences. 
       FIG. 3  shows selecting candidate keyimages for point descriptor matching according to the embodiments.  FIG. 3  show keyimages  301  in a map, and K closest keyimages  302  in terms of appearance. We first select K, e.g., 2, keyimages that are the closest to the query image in terms of the appearance using the VLAD descriptor. Then, for each of the K candidates, we add N−1, e.g., 2, keyimages that are closest in terms of their poses to form clusters  310  of, e.g., N=3, keyimages. The closely located keyimages can be identified by determining the similarity in the 6 DOF pose space. In practice, the similarity determined using just 3 DOF translation can be sufficient. The descriptor matching is done between the query image and each of the clusters of keyimages, which provide candidate point correspondences. 
     The parameter K, denoting the number of clusters, depends on the nature of the scene. For example, if the scene has R large repetitive patterns, then using K≤R can lead to an incorrect pose. The parameter N denoting the size of each cluster can be selected based on a difference between the view of the camera used in SLAM and that of the camera used for obtaining the query image. If the query image observes a large portion of the scene, then we can use a large value for N for accuracy. 
     In the second stage, we geometrically verify the candidate point correspondences using RANSAC for each of the clusters of keyimages. There are two different cases. If the camera intrinsic parameters are known, then we use a conventional P3P procedure that determines the 6 DOF pose. Otherwise, we use a P5Pfr method to determine the intrinsic parameters (focal length and distortion parameters) along with the 6 DOF pose. In practice, we determine only one distortion parameter, which makes the P5Pfr method over-determined. We select the best solution out of the K candidate clusters of the keyimages that produces the largest number of inliers. The initial estimates for intrinsic parameters and the pose are refined using the nonlinear least squares that minimizes the sum of reprojection errors for all the inliers. 
       FIG. 4  shows a result of our non-overlapping camera calibration for an indoor scene. The 3D model  400  is depicted with the poses  401  of RGB-D keyimages, as well as those of the non-overlapping cameras  402 , and corresponding images  403  of the scene. Since the non-overlapping cameras are localized in the 3D model, it is possible to display the non-overlapping cameras with the 3D model for visually understanding the camera poses as shown in  FIG. 4 . The 3D model also enables us to browse the non-overlapping images from geometrically correct locations. 
     Although the invention has been described by way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.