## 1 Introduction
propose a scalable method that incorporates the matching uncertainty to adaptively guide the fusion process [22]. This method is effective for both flat areas and street details. The true multi-view method requires the simultaneous processing of multi-view satellite images. Most of the research in this part focuses on the proposal of the new models or frameworks [23; 24]. Recently, some researchers conducted a comprehensive analysis of whether computer vision methods can be applied to satellite imagery. The Structure from Motion (SFM) method is an important 3D reconstruction method in the computer vision community. The visual 3D reconstruction usually uses simple affine camera models, however, the satellite images captured by push-broom cameras usually use abstract rational function models. Therefore, the SFM-based visual 3D reconstruction method has been difficult to apply to satellite images. Actually, until 2019, [PERSON] et al. analyzed the similarities and differences between the multi-view stereo method and the visual 3D reconstruction method [25] and applied the SFM framework to satellite images by using the affine camera model to approximate the Rational Polynomial Camera (RPC) model in a very small area. Following this study, [PERSON] et al. improved the application of the SFM method to the satellite images in terms of the skew correction [26]. Although the visual SFM method is well tried in satellite images, the accuracy of the obtained 3D point cloud is not better than that of the traditional multi-view stereo method. In addition, there is a reconstruction pipeline that combines the multi-view stereo method with the visual SFM method [27]. However, this pipeline is time-consuming and requires additional ground control points. The RPC file serves as an important input for satellite image DSM generation, and the RPC model parameters should ideally be very accurate. But due to the fact that the satellite azimuth sensor cannot accurately record, there are often some biases in RPC parameters [28]. The traditional method of RPC model refinement is to modify the RPC parameters according to the ground control points and their corresponding image 2D points [29]. This method requires a lot of 2D-3D tie points to get accurate results. However, it is difficult to obtain lots of ground control points in some areas, so this method has geographical limitations. Nowadays, the bundle adjustment method based on the 2D-3D tie points has become the mainstream of the DSM generation based on RPC model refinement [30; 31; 32]. It is worth mentioning that this method still has problems, such as slow convergence. In order to reduce the error of the RPC model parameters and solve the problem of slow convergence of the traditional bundle adjustment (BA) methods, this paper proposes a DSM generation method from satellite images based on the Double-Penalty bundle adjustment (DPBA) algorithm. The main contributions of this paper are as follows:  
1. A new automatic DSM generation method of satellite images for building areas is proposed, which is not only suitable for satellite image pairs but also for multi-date satellite images; moreover, the proposed method can also generate DSM with high accuracy in the absence of ground control points. 2. The RPC parameter improvement method based on the DPBA optimization algorithm is creatively proposed. The penalty functions are constructed according to the physical significance of the optimization variables. We embedded the bundle adjustment optimization model in a two-layer ridge regression model and innovatively applied them to the RPC model refinement, which can well correct the parameter error of the RPC model. The refinement method can be used in combination with the satellite image rectification method (such as the image coordinate compensation model and the terrain coordinate compensation model), so that can be used for an arbitrary DSM generation pipeline of satellite images. In our previous study, we proposed a GAN-based satellite image enhancement method for DSM generation [33].