WO2024250160A1 - System and method for depth completion and three-dimensional reconstruction of an image area - Google Patents
System and method for depth completion and three-dimensional reconstruction of an image area Download PDFInfo
- Publication number
- WO2024250160A1 WO2024250160A1 PCT/CN2023/098420 CN2023098420W WO2024250160A1 WO 2024250160 A1 WO2024250160 A1 WO 2024250160A1 CN 2023098420 W CN2023098420 W CN 2023098420W WO 2024250160 A1 WO2024250160 A1 WO 2024250160A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- depth map
- image area
- generate
- processor
- sparse
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
Definitions
- Embodiments of the present disclosure relate to video processing.
- Digital video has become mainstream and is being used in a wide range of applications including digital television, video telephony, and teleconferencing. These digital video applications are feasible because of the advances in computing and communication technologies as well as efficient video processing techniques.
- a method of video processing may include inputting, by a processor, attribute data and a sparse-depth map associated with an image area into a sparse-depth completion network.
- the method may include generating, by the processor, a refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network.
- the method may include performing, by the processor, a three-dimensional (3D) reconstruction procedure based on the refined dense-depth map to generate a point cloud of the image area.
- the method may include performing, by the processor, a triangular-meshing procedure to generate a mesh model based on the point cloud of the image area.
- the method may include performing, by the processor, a texture-mapping procedure based on the mesh model and the attribute data to generate a textured mesh of the image area.
- the method may include performing, by the processor, a vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area.
- a system for video processing may include a processor and memory storing instructions.
- the memory storing instructions, which when executed by a processor, may cause the processor to input attribute data and a sparse-depth map associated with an image area into a sparse-depth completion network.
- the memory storing instructions, which when executed by a processor, may cause the processor to generate a refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network.
- the memory storing instructions, which when executed by a processor, may cause the processor to perform a 3D-reconstruction procedure based on the refined dense-depth map to generate a point cloud of the image area.
- the memory storing instructions, which when executed by a processor, may cause the processor to perform a triangular-meshing procedure to generate a mesh model based on the point cloud of the image area.
- the memory storing instructions, which when executed by a processor, may cause the processor to perform a vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area.
- a non-transitory computer-readable medium storing instructions.
- the instructions when executed by a processor of a video-processing system, cause the processor to input attribute data and a sparse-depth map associated with an image area into a sparse-depth completion network.
- the instructions which when executed by a processor of a video-processing system, cause the processor to generate a refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network.
- the instructions which when executed by a processor of a video-processing system, cause the processor to perform a 3D-reconstruction procedure based on the refined dense-depth map to generate a point cloud of the image area.
- the instructions which when executed by a processor of a video-processing system, cause the processor to perform a triangular-meshing procedure to generate a mesh model based on the point cloud of the image area.
- the instructions which when executed by a processor of a video-processing system, cause the processor to perform a texture-mapping procedure based on the mesh model and the attribute data to generate a textured mesh of the image area.
- the instructions when executed by a processor of a video-processing system, cause the processor to perform a vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area.
- FIG. 1A illustrates a flow diagram of an example structure for motion and multi-view stereo reconstruction.
- FIG. 1B illustrates a flow diagram of an example Bundlefusion optimization procedure.
- FIG. 2 illustrates a flow diagram for generating a single-view 3D scene reconstruction using an exemplary video-processing system, according to some embodiments of the present disclosure.
- FIG. 3 illustrates a diagram of an exemplary network architecture of a sparse-depth completion component of the video-processing system of FIG. 2, according to some embodiments of the present disclosure.
- FIG. 4 illustrates a diagram of an exemplary multi-affinity matrix convolutional spatial propagation networks (CSPN++) component of the video-processing system of FIG. 2, according to some embodiments of the present disclosure.
- CSPN++ multi-affinity matrix convolutional spatial propagation networks
- FIG. 5 illustrates a diagram of an exemplary camera projection pinhole model applied by a 3D-reconstruction component of the video-processing system of FIG. 2, according to some embodiments of the present disclosure.
- FIG. 6A illustrates a diagram representing a visual comparison of sparse-depth completion performed using the exemplary network architecture of FIG. 3, according to some embodiments of the present disclosure.
- FIG. 6B illustrates a graphical representation of root mean square error (RMSE) and mean absolute error (MAE) performance for different depth sparsities, according to some embodiments of the present disclosure.
- RMSE root mean square error
- MAE mean absolute error
- FIG. 6C illustrates a diagram representing visual comparison of a 3D point-cloud scene for different depth sparsities, according to some embodiments of the present disclosure.
- FIG. 7 illustrates a diagram of a 3D indoor point-cloud scene reconstruction from a single red-green-blue (RGB) depth (D) (RGB-D) image generated using the exemplary network architecture of FIG. 3, according to some embodiments of the present disclosure.
- RGB-D red-green-blue
- FIG. 8 illustrates a diagram of point clouds and 3D-mesh structures reconstructed from a single RGB-D image in indoor scenes generated by the exemplary network architecture of FIG. 3, according to some embodiments of the present disclosure.
- FIG. 9 illustrates a diagram of a visual comparison of reconstructed results from different perspectives between point cloud and the textured mesh generated by the exemplary network architecture of FIG. 3, according to some embodiments of the present disclosure.
- FIG. 10 illustrates a flowchart of an exemplary method of video processing, according to some embodiments of the present disclosure.
- FIG. 11 is a block diagram illustrating an example of a computer system useful for implementing various embodiments set forth in the disclosure.
- references in the specification to “one embodiment, ” “an embodiment, ” “an example embodiment, ” “some embodiments, ” “certain embodiments, ” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it would be within the knowledge of a person skilled in the pertinent art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
- terminology may be understood at least in part from usage in context.
- the term “one or more” as used herein, depending at least in part upon context may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe combinations of features, structures or characteristics in a plural sense.
- terms, such as “a, ” “an, ” or “the, ” again, may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context.
- the term “based on” may be understood as not necessarily intended to convey an exclusive set of factors and may, instead, allow for existence of additional factors not necessarily expressly described, again, depending at least in part on context.
- video processing includes both encoding and decoding a video.
- Encoding and decoding of a video can be performed by the unit of block.
- an encoding/decoding process such as transform, quantization, prediction, in-loop filtering, reconstruction, or the like may be performed on a coding block, a transform block, or a prediction block.
- a block to be encoded/decoded will be referred to as a “current block. ”
- the current block may represent a coding block, a transform block, or a prediction block according to a current encoding/decoding process.
- unit indicates a basic unit for performing a specific encoding/decoding process
- block indicates a sample array of a predetermined size. Unless otherwise stated, the “block” and “unit” may be used interchangeably.
- Two-dimensional (2D) -vision technology is mainly related to planar image processing, such as image classification and segmentation.
- 3D-vision technology generates geometric information from natural scenes and uses depth maps to understand the entire field-of-view.
- 3D reconstruction has been widely used in applications such as autonomous driving, virtual reality, and 3D printing.
- Multi-view geometry reconstruction is one 3D-reconstruction method.
- the basic principle of multi-view geometry reconstruction is that it uses images taken from different angles to capture the target object, which it then uses to restore the 3D structure and appearance of the target object by analyzing the geometric relationships between these images.
- camera parameter estimation and dense point-cloud reconstruction may be applied.
- SfM Structure-from-motion
- MVS multi-view stereo
- SIFT scale-invariant feature transform
- MVS Multi-View Stereo
- MVS relies on matching point clouds in multiple images to achieve high-density 3D reconstruction.
- MVS finds the corresponding points of each pixel in 3D space, which it then uses to obtain additional 3D information through dense matching.
- MVS interpolates and optimizes the sparse point cloud in SfM to generate a more accurate and complete 3D model.
- FIG. 1A The example operations of the MVS method are depicted in FIG. 1A.
- FIG. 1A illustrates a flow diagram of an example structure 100 for motion and MVS reconstruction.
- MVS reconstruction may begin by collecting a series of overlapping images 101 (e.g., images with overlapping parts) using the same or different perspectives or camera sensors. Then, key-points of extraction 103, which are the meaningful feature points in each image, are detected. Key-points matching 105 may then be performed. During key-points matching 105, the key-points or features-of-interest in the overlapping images 101 are matched in different images to calculate their correspondences. Next, bundle adjustment 107 may be performed to optimize the camera parameters and the positions of points in the scene. This normalizes the images from multiple perspectives and improves the matching accuracy.
- the matched key-points may be converted into points in three-dimensional space to form a sparse point cloud, which achieves an MVS 109.
- the missing parts of the original point cloud are filled in to generate a dense point cloud 111.
- SfM and MVS can be seen as mutually cooperative.
- SfM provides camera poses and 3D point clouds
- MVS generates more accurate and complete 3D models based on the information generated by SfM.
- SfM faces difficulties in dealing with non-rigid scenes and image noise, while MVS has a high computational complexity problem in dealing with large-scale scenes.
- RGB-D 3D-reconstruction uses color images (RGB) and depth maps to reconstruct scenes. By processing and aligning color and depth images, this technology can accurately reconstruct scenes and objects in the real world to generate high-quality 3D models.
- Bundlefusion is a 3D-reconstruction algorithm based on RGB-D cameras that can perform globally consistent modeling in existing scenes.
- a flow diagram of an example Bundlefusion global-pose optimization 150 is illustrated in FIG. 1B.
- RGB-D sensor 102 may include a color sensor and a depth sensor (e.g., a Light Detection and Ranging (LiDAR) sensor) .
- the RGB-D image sequences may be output as one or more RGB-D image data 115.
- RGB-D image data 115 may include a color frame (e.g., color image data) and a depth frame (e.g., a depth map of objects in the frame) .
- a correspondence search component 104 may apply a depth-based feature extraction algorithm to extract feature points from the RGB-D image data 115.
- An indication of the feature points may be sent as a sparse/dense correspondence signal 117 to local-pose estimation component 106.
- Local-pose estimation component 106 may use a local geometric descriptor-based feature matching algorithm to match the extracted feature points from sparse/dense correspondence signal 117. These extracted feature points may be indicated as a chunk 119.
- Global-pose estimation component 108 may use a surface reconstruction algorithm that continuously merges new point sets into the image area based on the geometric information in the point cloud to generate pose estimates 121. Chunk 119 and pose estimates 121 may be maintained in a data cache 110.
- Data cache 110 may send chunk 119, pose estimations, chunk update (s) 125, or pose update (s) 127 to correspondence search component 104 in a feedback loop 123.
- Chunk update (s) 125 and pose updates 127 may be sent to an integration/de-integration component 112.
- Integration/de-integration component 112 may apply an optimization framework-based method to jointly optimize the point clouds from all viewpoints to obtain a globally consistent 3D representation of the image area.
- the present disclosure provides an exemplary 3D-reconstruction technique in which single-view color and depth data is used for 3D reconstruction. Based on the high-precision depth information provided by a single depth image, the geometric shape and details of an object may be reconstructed so that errors and inconsistency between multiple images may be avoided.
- the present technique avoids the computational complexity involved in matching and merging multiple images. This allows for a greater focus on depth information processing and precision enhancement to obtain accurate reconstruction results.
- single-view depth image reconstruction has some limitations in terms of depth-estimation errors and view constraints, it is still effective in 3D reconstruction.
- the present disclosure provides an exemplary network architecture for depth completion to restore a dense-depth map from a sparse-depth map guided by the RGB attribute data.
- the exemplary network architecture described herein may include an exemplary sparse-depth completion network.
- the exemplary sparse-depth completion network two decoders are included in the color branch to exploit the inter-pixel relationships while extracting depth features.
- the first decoder of the color branch predicts a depth map for fusion, while the second decoder may be used to extract adaptive features for multi-scale fusion.
- the exemplary sparse-depth completion network may combine CSPN operations with guided filtering to fuse features from the two modalities (e.g., color and depth) at the decoder-encoder stage of the depth branch.
- the exemplary sparse-depth completion network may fuse multi-modal features based on multi-affinity matrices, which are used to iteratively update the depth map until a refined dense-depth map is achieved.
- 3D reconstruction may then be performed using the refined dense-depth map to obtain the optimal balance between depth sparsity and completion accuracy. Since the number of valid points in the depth map is reduced by the optimal depth sparsity, the exemplary network architecture described below can remarkably save power in mobile devices. Moreover, the exemplary network architecture may use the camera pinhole model to reconstruct the depth map into a point cloud, and then perform triangulation and mesh rendering to obtain a realistic 3D reconstruction of the image area. Additional details of the exemplary 3D-reconstruction network architecture and its exemplary operations are provided below in connection with FIGs. 2-10.
- FIG. 2 illustrates a flow diagram 200 for generating a single-view 3D scene using an exemplary video-processing system 250 (referred to hereinafter as “video-processing system 250” ) , according to some embodiments of the present disclosure.
- Video-processing system 250 may include, e.g., a concatenator 202, a sparse-depth completion network component 204, a 3D-reconstruction component 206, a triangular-meshing component 208, a texture-mapping component 210, and a vertex-normal component 212.
- video-processing system 250 may receive attribute data 201 (e.g., color data, RGB data, reflectance data, intensity data, etc. ) and a sparse-depth map 203 (also referred to herein as “depth data” ) .
- attribute data 201 e.g., color data, RGB data, reflectance data, intensity data, etc.
- sparse-depth map 203 also referred to herein as “depth data”
- the image area may be associated with a picture, a sub-picture, a tile, a slice, or a coding block.
- Attribute data 201 and sparse-depth map 203 may be concatenated (e.g., a pixel-wise concatenation) by concatenator 202.
- Sparse-depth completion network component 204 may perform an RGB-guided depth-completion process to generate iterative sparse-depth map (s) , which are updated using multi-affinity matrices until a refined dense-depth map is obtained.
- 3D-reconstruction component 206 may generate a point cloud 207 (e.g., a 3D reconstruction) of the 2D image area.
- Triangular-meshing component 208 may perform triangular meshing of point cloud 207 to generate mesh model 209.
- texture-mapping component 210 may apply mesh model 209 to attribute data 201 to generate a textured mesh 211 of the image area.
- vertex-normal component 212 may apply a vertex-normal algorithm to textured mesh 211 to generate a 3D representation 213 of the 2D image area. Additional details of the exemplary operations performed by video-processing system 250 are provided below in connection with FIGs. 3-10.
- FIG. 3 illustrates a detailed diagram of an exemplary network architecture 300 of sparse-depth completion network component 204 of FIG. 2, according to some embodiments of the present disclosure.
- FIG. 4 illustrates a detailed diagram 400 of an exemplary multi-affinity matrix CSPN++ component 370 used by sparse-depth completion network component 204 of FIG. 3, according to some embodiments of the present disclosure.
- FIGs. 3 and 4 will be described together.
- network architecture 300 is designed to recover a refined dense-depth map 311 from the sparse-depth map 303 under the guidance of the attribute data 301, as shown in FIG. 3.
- sparse-depth completion network component 204 includes two decoders (e.g., first decoder 330a and second decoder 330b) in the RGB decoder stage to predict more adaptive features after processing by encoders 320. At this time, sparse-depth completion network component 204 may make use of the complementarity of the iterative-depth maps predicted by the color branch and the depth branch concurrently, while avoiding the influence of color-branch supervision on the fusion of different modes in the decoder-encoder fusion stage.
- two decoders e.g., first decoder 330a and second decoder 330b
- the color stage may include, e.g., first encoder 320a, first decoder 330a, and second decoder 330b, while the depth stage may include second encoder 320b and third decoder 330c.
- attribute data 301 and a sparse-depth map 303 e.g., captured by an RGB-D sensor or an RGB sensor and a LiDAR sensor
- First decoder 330a may generate a first iterative-depth map 340 (and a confidence map) and a multi-affinity matrix 360 based on inputs to the RGB stage.
- second decoder 330b may be configured to generate a plurality of adaptive features (e.g., (1) - (5) ) after each decoder stage.
- Each of the adaptive features may indicate different inter-pixel relationships between pixels in sparse-depth map 303.
- Sparse-depth map 303, first iterative-depth map 340 (generated by first decoder 330a) , and the plurality of adaptive features (generated by second decoder 330b) may be the inputs to the depth branch.
- the sparse-depth completion network component 204 may fully exploit the inter-pixel relationships in the color branch to extract additional depth features.
- each of the plurality of adaptive features is input into different guided CSPN filters 302 of second encoder 320b.
- Third decoder 330c may generate a second iterative-depth map 350 (and a confidence map) based on sparse-depth map 303, first iterative-depth map 340, and the plurality of adaptive features.
- a coarse-depth map 309 may be generated.
- Guided CSPN filter component 302 combines a CSPN with guided filtering to fuse features captured by the color branch and the depth branch.
- guided CSPN filters 302 may predict dynamic changes in the convolution kernel from the color branch, and then use these changes to extract deep features in different fusion stages according to expression (1) .
- multi-affinity matrix CSPN++ component 370 may apply different affinity matrices to update coarse-depth map 309.
- the multi-affinity matrices 360 may assign different inter-pixel weights associated with its adaptive features. This makes the pixel values of the refined dense-depth map 311 more accurate after each iteration.
- multi-affinity matrices may be adaptively generated from high-level features at the end of the network architecture backbone 402 via the convolutional layers.
- each of the affinity matrix 460 may be used to iteratively update the pixels at the same spatial location. Since the weights of a multi-affinity matrix consider inter-pixel relationships, multi-affinity matrix avoids over-smoothing. This may increase the clarity and structural details in refined dense-depth map 311.
- the depth values are refined by distant pixels using a dilated convolution with an increased respective field.
- Refined dense-depth map 311 generated based on multi-affinity matrix 460 may be described according to expression (4) .
- D i+1 ⁇ CSPN++ (A i ; D i ) (4) ,
- D i and D i+1 are the respective depth maps before and after updating, respectively, and A i represents multi-affinity matrix of iteration index i. Additional details of the exemplary 3D-reconstruction procedure performed after sparse-depth completion network component 204 are provided below.
- FIG. 5 illustrates a diagram of an exemplary camera projection pinhole model 500 applied by 3D-reconstruction component 206 of FIG. 2, according to some embodiments of the present disclosure.
- Time-of-flight (ToF) stereo-depth sensing lenses are emerging 3D-imaging technology that detects and analyzes object distance, shape, and motion with high-precision. This may provide a more realistic and immersive experience.
- Using depth cameras for 3D reconstruction faces challenges, however, and requires special optimization and control for power-sensitive mobile devices to ensure device stability and battery lifespan. At the same time, the power consumption and battery life limit the application of depth cameras. Therefore, when using ToF sensors for 3D reconstruction on mobile devices, an appropriate tradeoff between power consumption and performance is needed.
- video-processing system 250 may train sparse depth maps (e.g., iteratively update coarse-depth map 309 until refined dense-depth map 311 is achieved) to effectively reduce the power consumption requirements of depth cameras.
- Sparsity may refer to retaining less depth information in the depth map, thereby reducing computational complexity and storage requirements.
- video-processing system 250 may train and test depth maps with different sparsities to find ideal sparsity thresholds and algorithm parameters. By determining the ideal sparsity, the power consumption of the depth camera may be reduced while maintaining performance, which renders depth cameras more suitable for use in mobile devices.
- 3D-reconstruction component 206 may assign each pixel point on the image plane to a corresponding point in 3D space. This process can be represented by expression (7) .
- f/dx, f/dy, u 0 , v 0 are the camera intrinsic parameters
- R is the camera extrinsic parameters
- u, v are the coordinates of a point on the two-dimensional plane
- x w , y w , z c are the corresponding 3D space points.
- 3D-reconstruction component 206 may be designed to consider camera coordinates and world coordinates together. Therefore, R and T form the matrix illustrated as expression (6) .
- 3D-resconstruction component 206 may leverage their relationship to transform refined dense-depth map 205 into point cloud 207 (e.g., a 3D point cloud scene) according to expressions (7) - (9) .
- x w z c ⁇ (u-u 0 ) ⁇ dx/f (7)
- y w z c ⁇ (v-v 0 ) ⁇ dy/f (8)
- z w z c (9) .
- triangular-meshing component 208 may generate a smooth and continuous representation (e.g., mesh model 209) of a surface for further processing and analysis.
- Triangle meshing is a technique of representing surfaces using a mesh composed of many triangles.
- the alpha shape is a 3D surface-reconstruction method based on point clouds that can convert discrete point cloud data into a continuous 3D surface model (e.g., mesh model 209) .
- This method uses an alpha parameter value to construct a series of nested surfaces, where the alpha parameter is considered as a distance threshold for constructing surfaces.
- the goal of the alpha shape method is to find nested triangular faces that form the edges of the alpha complex.
- the alpha parameter value can control the smoothness and level of detail of the mesh model 209.
- triangular-meshing component 208 may apply an appropriate alpha parameter value to obtain the optimal result (e.g., mesh model 209) .
- texture-mapping component 210 maps 2D images (e.g., attribute data 201) onto the surface of 3D objects (e.g., mesh model 209) , thereby enhancing the realism of the object. This technique not only increases the level of detail and color characteristics of the object’s surface but also improves the rendering effect.
- the texture-mapping operations performed by texture-mapping component 210 are shown below in “Algorithm 2. ”
- texture-mapping technology may add more details and patterns to the surface of three-dimensional objects, thereby providing more realistic visual effects for various scenes.
- vertex-normal component 212 may use vertex normals, which are the normal vectors at each vertex in textured mesh 211.
- the vertex normals may be obtained by calculating the average of the normal vectors of the faces around each vertex.
- the vertex normal can be used to calculate lighting effects to determine the intensity and color of light at each vertex.
- vertex-normal component 212 may apply vertex normals to textured mesh 211 to generate 3D representation 213.
- FIG. 6A illustrates a diagram representing a visual comparison 600 of sparse-depth completion performed using the exemplary network architecture 300 of FIG. 3, according to some embodiments of the present disclosure.
- FIG. 6B illustrates a graphical representation 625 of RMSE and MAE performance according to depth sparsity, according to some embodiments of the present disclosure.
- FIG. 6C illustrates a diagram representing visual comparison 650 of a 3D point-cloud scene from different depth sparsities, according to some embodiments of the present disclosure.
- FIG. 7 illustrates a diagram 700 of a point cloud 705 generated from a single RGB-D image (e.g., attribute data 701 and refined dense-depth map 703) generated using the exemplary network architecture of FIG. 3, according to some embodiments of the present disclosure.
- FIG. 8 illustrates a diagram 800 of reconstructed point-clouds and 3D mesh-structures from a single RGB-D image generated by the exemplary network architecture of FIG. 3, according to some embodiments of the present disclosure.
- FIG. 9 illustrates a diagram of a visual comparison 900 of reconstructed results from different perspectives between a point cloud and mesh model generated by the exemplary network architecture of FIG. 3, according to some embodiments of the present disclosure.
- video-processing system 250 was tested using root mean square error (RMSE) and mean absolute error (MAE) as evaluation metrics to select the optimal depth sparsity for 3D reconstruction. As the depth sparsity increases, the visible surfaces in the completed dense depth map become clearer. This result indicates that video-processing system 250 is capable of handling sparse-depth data of different degrees with improved performance. This is beneficial for 3D-reconstruction tasks that may encounter depth data of various densities ranging from extremely dense to extremely sparse. Therefore, video-processing system 250 exhibits robustness and versatility under different scenarios.
- RMSE root mean square error
- MAE mean absolute error
- 3D-reconstruction component 206 applies the optimal threshold for indoor-scene depth-completion to address the issue of depth sparsity. Therefore, a quantitative measurement of sparse-depth completion based on depth sparsity data was performed, the results of which are summarized below in Table 1. These results indicate that there is a positive correlation between depth sparsity and the accuracy of the depth map. This means that the higher the depth sparsity, the more accurate the completed depth map. In the case of a depth sparsity of 300 (0.7%) , the RMSE value obtained is less than 100mm. This indicates that the exemplary depth-completion method implemented by video-processing system 250 can obtain a relatively accurate depth map under this level of depth sparsity.
- Table 1 Quantitative measurements of sparse depth completion according to depth sparsity
- FIG. 6C a visual comparison of sparse-depth completion performed by video-processing system 250 using different depth sparsities is shown.
- RGB image and its corresponding ground truth depth map are shown.
- a depth sparsity of 100 points (0.1%) is shown.
- a depth sparsity of 300 points (0.4%) is shown.
- a depth sparsity of 300 points (0.7%) is shown.
- a depth sparsity of 1000 points (1.4%) is shown.
- a depth sparsity of 3000 points (4.3%) is shown.
- a depth sparsity of 5000 points (7.2%) is shown.
- a depth sparsity of 10000 points (14%) is shown.
- the bottom of each image in FIG. 6C illustrates their completed depth map.
- the reconstructed point cloud in (d) is clearer in detail than (b) and (c) , but the increase in clarity in (e) , (f) , (g) , and (h) is comparatively insignificant. Therefore, the depth sparsity of (d) (e.g., 500 points (0.7%) ) achieves an optimal balance between reconstruction accuracy and power consumption for 3D reconstruction.
- 3D indoor point cloud reconstruction results (e.g., point cloud 705) from different viewpoints are shown.
- 3D-reconstruction component 206 may generate a point cloud 705 based on attribute data 701 and a refined dense-depth map 703 (generated by sparse-depth completion network component 204) with a high-degree of accuracy.
- the proposed framework produces 3D-reconstruction results from a single RGB-D image (e.g., RGB image data 802 and sparse-depth map 804) in various scenes, as shown in FIG. 8.
- the proposed framework utilizes depth information captured by RGB-D cameras and sparse depth completion techniques to obtain 3D data of the scene.
- the Open3D library may be used to process and analyze the data, generating multiple types of 3D structures, including point clouds and meshes. For example, based on refined dense-depth map 806 and RGB image data 802, a 3D point cloud 808, a mesh model 810, a textured mesh 812, and a 3D reconstruction 814 (e.g., a textured mesh with normals) may be generated.
- Meshes offer stronger expressive power and better visualization effects than point clouds because they can simulate and represent 3D surfaces in greater detail, as shown in FIG. 9.
- point cloud reconstruction, surface reconstruction, and mesh rendering realistic 3D-reconstruction models can be generated by video-processing system 250 to represent real scenes in virtual environments.
- FIG. 10 illustrates a flowchart of an exemplary method 1000 of video processing, according to some embodiments of the present disclosure.
- Method 1000 may be performed by a system, e.g., such as video-processing system 250, sparse-depth completion network component 204, 3D-reconstruction component 206, triangular-meshing component 208, texture-mapping component 210, or vertex-normal component 212, just to name a few.
- Method 1000 may include operations 1002-1012, as described below. It is to be appreciated that some of the steps may be optional, and some of the steps may be performed simultaneously, or in a different order than shown in FIG. 10.
- the system may input attribute data and a sparse-depth map associated with an image area into a sparse-depth completion network.
- attribute data 201 e.g., color data, RGB data, reflectance data, intensity data, etc.
- a sparse-depth map 203 also referred to herein as “depth data”
- video-processing system 250 may input attribute data and a sparse-depth map associated with an image area into a sparse-depth completion network.
- attribute data 201 e.g., color data, RGB data, reflectance data, intensity data, etc.
- depth data 203 also referred to herein as “depth data”
- the system may generate a refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network.
- sparse-depth completion network component 204 includes two decoders (e.g., first decoder 330a and second decoder 330b) in the RGB decoder stage to predict more adaptive features after processing by first encoder 320a.
- sparse-depth completion network component 204 may make use of the complementarity of the iterative-depth maps predicted by the color branch and the depth branch concurrently, while avoiding the influence of color-branch supervision on the fusion of different modes in the decoder-encoder fusion stage.
- the color stage may include, e.g., first encoder 320a, first decoder 330a, and second decoder 330b, while the depth stage may include second encoder 320b and third decoder 330c.
- attribute data 301 and a sparse-depth map 303 e.g., captured by an RGB-D sensor or an RGB sensor and a LiDAR sensor
- First decoder 330a may generate a first iterative-depth map 340 (and a confidence map) and a multi-affinity matrix 360 based on inputs to the RGB stage.
- second decoder 330b may be configured to generate a plurality of adaptive features (e.g., (1) - (5) ) after each decoder stage.
- Each of the adaptive features may indicate different inter-pixel relationships between pixels in sparse-depth map 303.
- Sparse-depth map 303, first iterative-depth map 340 (generated by first decoder 330a) , and the plurality of adaptive features (generated by second decoder 330b) may be the inputs to the depth branch.
- the sparse-depth completion network component 204 may fully exploit the inter-pixel relationships in the color branch to extract additional depth features.
- each of the plurality of adaptive features is input into different guided CSPN filters 302 of second encoder 320b.
- Third decoder 330c may generate a second iterative-depth map 350 (and a confidence map) based on sparse-depth map 303, first iterative-depth map 340, and the plurality of adaptive features.
- a coarse-depth map 309 may be generated.
- Guided CSPN filters 302 e.g., a fusion module
- guided CSPN filters 302 may predict dynamic changes in the convolution kernel from the color branch.
- multi-affinity matrix CSPN++ component 370 may apply different affinity matrices to update coarse-depth map 309.
- Each of the multi-affinity matrices 360 may assign different inter-pixel weights associated with its adaptive features. This makes the pixel values of the refined dense-depth map 311 more accurate after each iteration.
- multi-affinity matrix may be adaptively generated from high-level features at the end of the network architecture backbone 402 via the convolutional layers.
- affinity matrix 460 may be used to iteratively update the pixels at the same spatial location. Since the weights of a multi-affinity matrix consider inter-pixel relationships, multi-affinity matrix avoid over-smoothing. This may increase the clarity and structural details in refined dense-depth map 311. Finally, the depth values are refined by distant pixels using a dilated convolution with an increased respective field. Refined dense-depth map 311 generated based on multi-affinity matrix may be described according to expression (4) .
- the system may perform a 3D-reconstruction procedure based on the refined dense-depth map to generate a point cloud of the image area.
- indoor scenes often require close-range image capture within a confined space, such as in an office or bedroom.
- cameras capture images based on the pinhole model, which means that the camera maps coordinate in 3D space onto the image plane.
- This mapping process may be performed by 3D-reconstruction component 206.
- 3D-reconstruction component 206 may assign each pixel point on the image plane to a corresponding point in 3D space. This process can be represented by expression (7) .
- 3D-reconstruction component 206 may be designed to consider camera coordinates and world coordinates together. Therefore, R and T form the matrix illustrated as expression (6) . By combining depth and positional information, 3D-resconstruction component 206 may leverage their relationship to transform refined dense-depth map 205 into point cloud 207 (e.g., a 3D point cloud scene) according to expressions (7) - (9) .
- the system may perform a triangular-meshing procedure to generate a mesh model based on the point cloud of the image area.
- triangular-meshing component 208 may generate a smooth and continuous representation (e.g., mesh model 209) of a surface for further processing and analysis.
- Triangle meshing is a technique of representing surfaces using a mesh composed of many triangles.
- the alpha shape is a 3D surface-reconstruction method based on point clouds that can convert discrete point cloud data into a continuous 3D surface model (e.g., mesh model 209) . This method uses an alpha parameter value to construct a series of nested surfaces, where the alpha parameter is considered as a distance threshold for constructing surfaces.
- triangular-meshing component 208 These operations performed by triangular-meshing component 208 are summarized above as “Algorithm 1. ”
- the goal of the alpha shape method is to find nested triangular faces that form the edges of the alpha complex.
- the alpha parameter value can control the smoothness and level of detail of the mesh model 209.
- triangular-meshing component 208 may apply an appropriate alpha parameter value to obtain the optimal result (e.g., mesh model 209) .
- the system may perform a texture-mapping procedure based on the point cloud to generate a texture mesh of the image area.
- texture-mapping component 210 maps 2D images (e.g., attribute data 201) onto the surface of 3D objects (e.g., mesh model 209) , thereby enhancing the realism of the object. This technique not only increases the level of detail and color characteristics of the object’s surface but also improves the rendering effect.
- the texture-mapping operations performed by texture-mapping component 210 are shown below in “Algorithm 2. ” In practical applications, texture-mapping technology may add more details and patterns to the surface of three-dimensional objects, thereby providing more realistic visual effects for various scenes.
- vertex-normal component 212 may use vertex normals, which are the normal vectors at each vertex in textured mesh 211.
- the vertex normals may be obtained by calculating the average of the normal vectors of the faces around each vertex.
- the vertex normal can be used to calculate lighting effects to determine the intensity and color of light at each vertex.
- vertex-normal component 212 may apply vertex normals to textured mesh 211 to generate 3D representation 213.
- FIG. 11 Various embodiments can be implemented, for example, using one or more computer systems, such as computer system 1100 shown in FIG. 11.
- One or more computer system 1100 can be used, for example, to implement method 1000 of FIG. 10.
- computer system 1100 can generate an enhanced image based on first image data captured by a first image sensor using a first FOV and first resolution and second image data captured by a second image sensor using a second FOV and second resolution, according to various embodiments.
- Computer system 1100 can be any computer capable of performing the functions described herein.
- Computer system 1100 can be any well-known computer capable of performing the functions described herein.
- Computer system 1100 includes one or more processors (also called central processing units, or CPUs) , such as a processor 1104.
- processors also called central processing units, or CPUs
- Processor 1104 is connected to a communication infrastructure 1106 (e.g., a bus) .
- One or more processors 1104 may each be a graphics processing unit (GPU) .
- a GPU is a processor that is a specialized electronic circuit designed to process mathematically intensive applications.
- the GPU may have a parallel structure that is efficient for parallel processing of large blocks of data, such as mathematically intensive data common to computer graphics applications, images, videos, etc.
- Computer system 1100 also includes user input/output device (s) 1103, such as monitors, keyboards, pointing devices, etc., that communicate with communication infrastructure 1106 through user input/output interface (s) 1102.
- user input/output device such as monitors, keyboards, pointing devices, etc.
- Computer system 1100 also includes a main (or primary) memory 1108, such as random-access memory (RAM) .
- Main memory 1108 may include one or more levels of cache. Main memory 1108 has stored therein control logic (i.e., computer software) and/or data.
- Computer system 1100 may also include one or more secondary storage devices or memory 1110. Secondary memory 1110 may include, for example, a hard disk drive 1112 and/or a removable storage device or drive 1114.
- Removable storage drive 1114 may be a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup device, and/or any other storage device/drive. Removable storage drive 1114 may interact with a removable storage unit 1116.
- Removable storage unit 1116 includes a computer usable or readable storage device having stored thereon computer software (control logic) and/or data.
- Removable storage unit 1116 may be a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, and/any other computer data storage device.
- Removable storage drive 1114 reads from and/or writes to removable storage unit 1116 in a well-known manner.
- secondary memory 1110 may include other means, instrumentalities or other approaches for allowing computer programs and/or other instructions and/or data to be accessed by computer system 1100.
- Such means, instrumentalities or other approaches may include, for example, a removable storage unit 1122 and an interface 1120.
- the removable storage unit 1122 and the interface 1120 may include a program cartridge and cartridge interface (such as that found in video game devices) , a removable memory chip (such as an EPROM or PROM) and associated socket, a memory stick and universal serial bus (USB) port, a memory card and associated memory card slot, and/or any other removable storage unit and associated interface.
- a program cartridge and cartridge interface such as that found in video game devices
- a removable memory chip such as an EPROM or PROM
- USB universal serial bus
- Computer system 1100 may further include a communication (or network) interface 1124.
- Communication interface 1124 enables computer system 1100 to communicate and interact with any combination of remote devices, remote networks, remote entities, etc. (individually and collectively referenced as 1126) .
- communication interface 1124 may allow computer system 1100 to communicate with remote devices 1126 over communication path 1128, which may be wired and/or wireless, and which may include any combination of LANs, WANs, the Internet, etc. Control logic and/or data may be transmitted to and from computer system 1100 via communication path 1128.
- a tangible apparatus or article of manufacture comprising a tangible computer useable or readable medium having control logic (software) stored thereon is also referred to herein as a computer program product or program storage device.
- control logic software stored thereon
- control logic when executed by one or more data processing devices (such as computer system 1100) , causes such data processing devices to operate as described herein.
- Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a processor, such as a processor of video-processing system 250.
- a processor such as a processor of video-processing system 250.
- computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, HDD, such as magnetic disk storage or other magnetic storage devices, Flash drive, SSD, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a processing system, such as a mobile device or a computer.
- Disk and disc includes CD, laser disc, optical disc, digital video disc (DVD) , and floppy disk where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
- a method of video processing may include inputting, by a processor, attribute data and a sparse-depth map associated with an image area into a sparse-depth completion network.
- the method may include generating, by the processor, a refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network.
- the method may include performing, by the processor, a 3D-reconstruction procedure based on the refined dense-depth map to generate a point cloud of the image area.
- the method may include performing, by the processor, a triangular-meshing procedure to generate a mesh model based on the point cloud of the image area.
- the method may include performing, by the processor, a texture-mapping procedure based on the mesh model and the attribute data to generate a textured mesh of the image area.
- the method may include performing, by the processor, a vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area.
- the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network includes generating, by an encoder, a plurality of feature maps based on the attribute data and the sparse-depth map of the image area. In some embodiments, the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network includes inputting, by the encoder, the plurality of feature maps into a first decoder and a second decoder.
- the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network includes generating, by the first decoder, a first iterative-depth map of the image area and a multi-affinity matrix based on the plurality of feature maps. In some embodiments, the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network includes generating, by the second decoder, a plurality of adaptive features based on the plurality of feature maps.
- the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network includes inputting the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features into a third decoder. In some embodiments, the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network includes generating, by the third decoder, a second iterative-depth map and the same multi-affinity matrix based on the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features.
- the multi-affinity matrix may assign a first set of inter-pixel weights to pixels of the image area. In some embodiments, the multi-affinity matrix may assign a second set of inter-pixel weights to the pixels of the image area. In some embodiments, the first set of weights are different than the second set of weights.
- the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network further may include generating a coarse dense-depth map of the image area based on the first iterative-depth map and the second iterative-depth map. In some embodiments, the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network further may include inputting the multi-affinity matrix and the coarse dense-depth map into a CSPN++.
- the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network further may include generating, by the CSPN++, the refined dense-depth map based on the multi-affinity matrix and the coarse dense-depth map.
- the performing, by the processor, the 3D-reconstruction procedure based on the refined dense-depth map to generate the point cloud of the image area may include receiving a set of coordinates associated with the image area. In some embodiments, the performing, by the processor, the 3D-reconstruction procedure based on the refined dense-depth map to generate the point cloud of the image area may include mapping the set of coordinates associated with the image area to the refined dense-depth map. In some embodiments, the performing, by the processor, the 3D-reconstruction procedure based on the refined dense-depth map to generate the point cloud of the image area may include generating the point cloud based on the mapping of the set of coordinates associated with the image area to the refined dense-depth map.
- the mesh model may be a 3D surface model.
- the triangular-mesh model may apply an alpha parameter to identify the plurality of nested surfaces.
- the alpha parameter may be associated with a distance threshold for the 3D surface model.
- the performing, by the processor, the texture-mapping procedure based on the point cloud to generate the textured mesh of the image area may include mapping the attribute data onto the mesh model to generate the textured mesh.
- the image area may be associated with a picture, a sub-picture, a tile, a slice, or a coding block.
- the attribute data may include one or more of color data, reflectance data, or intensity data.
- a system for video processing may include a processor and memory storing instructions.
- the memory storing instructions, which when executed by a processor, may cause the processor to input attribute data and a sparse-depth map associated with an image area into a sparse-depth completion network.
- the memory storing instructions, which when executed by a processor, may cause the processor to generate a refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network.
- the memory storing instructions, which when executed by a processor, may cause the processor to perform a 3D-reconstruction procedure based on the refined dense-depth map to generate a point cloud of the image area.
- the memory storing instructions, which when executed by a processor, may cause the processor to perform a triangular-meshing procedure to generate a mesh model based on the point cloud of the image area.
- the memory storing instructions, which when executed by a processor, may cause the processor to perform a vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to generate, by an encoder, a plurality of feature maps based on the attribute data and the sparse-depth map of the image area.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to input, by the encoder, the plurality of feature maps into a first decoder and a second decoder.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to generate, by the first decoder, a first iterative-depth map of the image area and a multi-affinity matrix based on the plurality of feature maps.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to generate, by the second decoder, a plurality of adaptive features based on the plurality of feature maps.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to input the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features into a third decoder.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to generate, by the third decoder, a second iterative-depth map and a second multi-affinity matrix based on the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features based on the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features.
- the multi-affinity matrix may assign a first set of inter-pixel weights to pixels of the image area. In some embodiments, the multi-affinity matrix may assign a second set of inter-pixel weights to the pixels of the image area. In some embodiments, the first set of weights may be different than the second set of weights.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to generate a coarse dense-depth map of the image area based on the first iterative-depth map and the second iterative-depth map.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to input the multi-affinity matrix and the coarse dense-depth map into a CSPN++.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to generate, by the CSPN++, the refined dense-depth map based on the first multi-affinity matrix, the second multi-affinity matrix, and the coarse dense-depth map.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to receive a set of coordinates associated with the image area. In some embodiments, to perform the 3D-reconstruction procedure based on the refined dense-depth map to generate the point cloud of the image area, the memory storing instructions, which when executed by at least one processor, may cause the processor to map the set of coordinates associated with the image area to the refined dense-depth map.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to generate the point cloud based on the mapping of the set of coordinates associated with the image area to the refined dense-depth map.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to identify a plurality of nested surfaces in the point cloud based using a triangular-mesh model.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to generate the mesh model of the point cloud based on the plurality of nested surfaces.
- the mesh model may be a 3D surface model.
- the triangular-mesh model may apply an alpha parameter to identify the plurality of nested surfaces.
- the alpha parameter may be associated with a distance threshold for the 3D surface model.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to map the attribute data onto the mesh model to generate the textured mesh.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to calculate a plurality of normal vector associated with each vertex in the textured mesh based on the attribute data.
- the memory storing instructions, which when executed by at least one processor, may cause the processor to generate the 3D representation of the image area based on the textured mesh and the plurality of normal vectors.
- a non-transitory computer-readable medium storing instructions.
- the instructions when executed by a processor of a video-processing system, cause the processor to input attribute data and a sparse-depth map associated with an image area into a sparse-depth completion network.
- the instructions which when executed by a processor of a video-processing system, cause the processor to generate a refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network.
- the instructions which when executed by a processor of a video-processing system, cause the processor to perform a 3D-reconstruction procedure based on the refined dense-depth map to generate a point cloud of the image area.
- the instructions which when executed by a processor of a video-processing system, cause the processor to perform a triangular-meshing procedure to generate a mesh model based on the point cloud of the image area.
- the instructions which when executed by a processor of a video-processing system, cause the processor to perform a texture-mapping procedure based on the mesh model and the attribute data to generate a textured mesh of the image area.
- the instructions which when executed by a processor of a video-processing system, cause the processor to perform a vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area.
- the instructions which when executed by at least one processor, may cause the processor to generate, by an encoder, a plurality of feature maps based on the attribute data and the sparse-depth map of the image area.
- the instructions which when executed by at least one processor, may cause the processor to input, by the encoder, the plurality of feature maps into a first decoder and a second decoder.
- the instructions which when executed by at least one processor, may cause the processor to generate, by the first decoder, a first iterative-depth map of the image area and a multi-affinity matrix based on the plurality of feature maps.
- the instructions which when executed by at least one processor, may cause the processor to generate, by the second decoder, a plurality of adaptive features based on the plurality of feature maps.
- the instructions which when executed by at least one processor, may cause the processor to input the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features into a third decoder.
- the multi-affinity matrix assigns a first set of inter-pixel weights to pixels of the image area. In some embodiments, the multi-affinity matrix may assign a second set of inter-pixel weights to the pixels of the image area. In some embodiments, the first set of weights may be different than the second set of weights.
- the instructions which when executed by at least one processor, may cause the processor to generate, by the CSPN++, the refined dense-depth map based on the multi-affinity matrix and the coarse dense-depth map.
- the instructions which when executed by at least one processor, may cause the processor to receive a set of coordinates associated with the image area.
- the instructions, which when executed by at least one processor may cause the processor to map the set of coordinates associated with the image area to the refined dense-depth map.
- the instructions which when executed by at least one processor, may cause the processor to generate the point cloud based on the mapping of the set of coordinates associated with the image area to the refined dense-depth map.
- the mesh model may be a 3D surface model.
- the triangular-mesh model applies an alpha parameter to identify the plurality of nested surfaces.
- the alpha parameter is associated with a distance threshold for the 3D surface model.
- the instructions which when executed by at least one processor, may cause the processor to map the attribute data onto the mesh model to generate the textured mesh.
- the instructions which when executed by at least one processor, may cause the processor to calculate a plurality of normal vector associated with each vertex in the textured mesh based on the attribute data.
- the instructions which when executed by at least one processor, may cause the processor to generate the 3D representation of the image area based on the textured mesh and the plurality of normal vectors.
- the image area may be associated with a picture, a sub-picture, a tile, a slice, or a coding block.
- the attribute data may include one or more of color data, reflectance data, or intensity data.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
Description
Ψu, v (0, 0) =1-∑i, j, i, j≠0Ψu, v (i, j) (3) ,
Di+1=φCSPN++ (Ai; Di) (4) ,
xw=zc· (u-u0) ·dx/f (7) ;
yw=zc· (v-v0) ·dy/f (8) ; and
zw=zc (9) .
Claims (33)
- A method of video processing comprising:inputting, by a processor, attribute data and a sparse-depth map associated with an image area into a sparse-depth completion network;generating, by the processor, a refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network;performing, by the processor, a three-dimensional (3D) reconstruction procedure based on the refined dense-depth map to generate a point cloud of the image area;performing, by the processor, a triangular-meshing procedure to generate a mesh model based on the point cloud of the image area;performing, by the processor, a texture-mapping procedure based on the mesh model and the attribute data to generate a textured mesh of the image area; andperforming, by the processor, a vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area.
- The method of claim 1, wherein the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network comprises:generating, by an encoder, a plurality of feature maps based on the attribute data and the sparse-depth map of the image area;inputting, by the encoder, the plurality of feature maps into a first decoder and a second decoder;generating, by the first decoder, a first iterative-depth map of the image area and a multi-affinity matrix based on the plurality of feature maps; andgenerating, by the second decoder, a plurality of adaptive features based on the plurality of feature maps.
- The method of claim 2, wherein the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network further comprises:inputting the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features into a third decoder; andgenerating, by the third decoder, a second iterative-depth map and the same multi-affinity matrix based on the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features.
- The method of claim 3, wherein:the multi-affinity matrix assigns a first set of inter-pixel weights to pixels of the image area,the multi-affinity matrix assigns a second set of inter-pixel weights to the pixels of the image area, andthe first set of weights are different than the second set of weights.
- The method of claim 3, wherein the generating, by the processor, the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network further comprises:generating a coarse dense-depth map of the image area based on the first iterative-depth map and the second iterative-depth map;inputting the multi-affinity matrix and the coarse dense-depth map into convolutional spatial propagation networks (CSPN++) ; andgenerating, by the CSPN++, the refined dense-depth map based on the multi-affinity matrix and the coarse dense-depth map.
- The method of claim 1, wherein the performing, by the processor, the 3D-reconstruction procedure based on the refined dense-depth map to generate the point cloud of the image area comprises:receiving a set of coordinates associated with the image area;mapping the set of coordinates associated with the image area to the refined dense-depth map; andgenerating the point cloud based on the mapping of the set of coordinates associated with the image area to the refined dense-depth map.
- The method of claim 1, wherein the performing, by the processor, the triangular-meshing procedure to generate the mesh model based on the point cloud of the image area comprises:identifying a plurality of nested surfaces in the point cloud based using a triangular-mesh model; andgenerating the mesh model of the point cloud based on the plurality of nested surfaces.
- The method of claim 7, wherein:the mesh model is a 3D surface model,the triangular-mesh model applies an alpha parameter to identify the plurality of nested surfaces, andthe alpha parameter is associated with a distance threshold for the 3D surface model.
- The method of claim 1, wherein the performing, by the processor, the texture-mapping procedure based on the point cloud to generate the textured mesh of the image area comprises:mapping the attribute data onto the mesh model to generate the textured mesh.
- The method of claim 1, wherein the performing, by the processor, the vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area comprises:calculating a plurality of normal vectors associated with each vertex in the textured mesh based on the attribute data; andgenerating the 3D representation of the image area based on the textured mesh and the plurality of normal vectors.
- The method of claim 1, wherein:the image area is associated with a picture, a sub-picture, a tile, a slice, or a coding block, andthe attribute data includes one or more of color data, reflectance data, or intensity data.
- A system for video processing, comprising:a processor; andmemory storing instructions, which when executed by at least one processor, cause the processor to:input attribute data and a sparse-depth map associated with an image area into a sparse-depth completion network;generate a refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network;perform a three-dimensional (3D) reconstruction procedure based on the refined dense-depth map to generate a point cloud of the image area;perform a triangular-meshing procedure to generate a mesh model based on the point cloud of the image area;perform a texture-mapping procedure based on the mesh model and the attribute data to generate a textured mesh of the image area andperform a vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area.
- The system of claim 12, wherein, to generate the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network, the memory storing instructions, which when executed by at least one processor, cause the processor to:generate, by an encoder, a plurality of feature maps based on the attribute data and the sparse-depth map of the image area;input, by the encoder, the plurality of feature maps into a first decoder and a second decoder;generate, by the first decoder, a first iterative-depth map of the image area and a multi-affinity matrix based on the plurality of feature maps; andgenerate, by the second decoder, a plurality of adaptive features based on the plurality of feature maps.
- The system of claim 13, wherein, to generate the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network, the memory storing instructions, which when executed by at least one processor, cause the processor to:input the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features into a third decoder; andgenerate, by the third decoder, a second iterative-depth map and the same multi-affinity matrix based on the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features.
- The system of claim 14, wherein:the multi-affinity matrix assigns a first set of inter-pixel weights to pixels of the image area,the multi-affinity matrix assigns a second set of inter-pixel weights to the pixels of the image area, andthe first set of weights are different than the second set of weights.
- The system of claim 14, wherein, to generate the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network, the memory storing instructions, which when executed by at least one processor, cause the processor to:generate a coarse dense-depth map of the image area based on the first iterative-depth map and the second iterative-depth map;input the multi-affinity matrix and the coarse dense-depth map into convolutional spatial propagation networks (CSPN++) ; andgenerate, by the CSPN++, the refined dense-depth map based on the multi-affinity matrix and the coarse dense-depth map.
- The system of claim 12, wherein, to perform the 3D-reconstruction procedure based on the refined dense-depth map to generate the point cloud of the image area, the memory storing instructions, which when executed by at least one processor, cause the processor to:receive a set of coordinates associated with the image area;map the set of coordinates associated with the image area to the refined dense-depth map; andgenerate the point cloud based on the mapping of the set of coordinates associated with the image area to the refined dense-depth map.
- The system of claim 12, wherein, to perform the triangular-meshing procedure to generate the mesh model based on the point cloud of the image area, the memory storing instructions, which when executed by at least one processor, cause the processor to:identify a plurality of nested surfaces in the point cloud based using a triangular-mesh model; andgenerate the mesh model of the point cloud based on the plurality of nested surfaces.
- The system of claim 18, wherein:the mesh model is a 3D surface model,the triangular-mesh model applies an alpha parameter to identify the plurality of nested surfaces, andthe alpha parameter is associated with a distance threshold for the 3D surface model.
- The system of claim 12, wherein, to perform the texture-mapping procedure based on the point cloud to generate the textured mesh of the image area, the memory storing instructions, which when executed by at least one processor, cause the processor to:map the attribute data onto the mesh model to generate the textured mesh.
- The system of claim 12, wherein, to perform the vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area, the memory storing instructions, which when executed by at least one processor, cause the processor to:calculate a plurality of normal vectors associated with each vertex in the textured mesh based on the attribute data; andgenerate the 3D representation of the image area based on the textured mesh and the plurality of normal vectors.
- The system of claim 12, wherein:the image area is associated with a picture, a sub-picture, a tile, a slice, or a coding block, andthe attribute data includes one or more of color data, reflectance data, or intensity data.
- A non-transitory computer-readable medium storing instructions, which when executed by a processor of a video-processing system, cause the processor to:input attribute data and a sparse-depth map associated with an image area into a sparse-depth completion network;generate a refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network;perform a three-dimensional (3D) reconstruction procedure based on the refined dense-depth map to generate a point cloud of the image area;perform a triangular-meshing procedure to generate a mesh model based on the point cloud of the image area;perform a texture-mapping procedure based on the mesh model and the attribute data to generate a textured mesh of the image area; andperform a vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area.
- The non-transitory computer-readable medium of claim 23, wherein, to generate the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network, the instructions, which when executed by at least one processor, cause the processor to:generate, by an encoder, a plurality of feature maps based on the attribute data and the sparse-depth map of the image area;input, by the encoder, the plurality of feature maps into a first decoder and a second decoder;generate, by the first decoder, a first iterative-depth map of the image area and a multi-affinity matrix based on the plurality of feature maps; andgenerate, by the second decoder, a plurality of adaptive features based on the plurality of feature maps.
- The non-transitory computer-readable medium of claim 24, wherein, to generate the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network, the instructions, which when executed by at least one processor, cause the processor to:input the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features into a third decoder; andgenerate, by the third decoder, a second iterative-depth map and the same multi-affinity matrix based on the sparse-depth map, the first iterative-depth map, and the plurality of adaptive features.
- The non-transitory computer-readable medium of claim 25, wherein:the multi-affinity matrix assigns a first set of inter-pixel weights to pixels of the image area,the multi-affinity matrix assigns a second set of inter-pixel weights to the pixels of the image area, andthe first set of weights are different than the second set of weights.
- The non-transitory computer-readable medium of claim 25, wherein, to generate the refined dense-depth map based on the attribute data and the sparse-depth map using the sparse-depth completion network, the instructions, which when executed by at least one processor, cause the processor to:generate a coarse dense-depth map of the image area based on the first iterative-depth map and the second iterative-depth map;input the multi-affinity matrix and the coarse dense-depth map into convolutional spatial propagation networks (CSPN++) ; andgenerate, by the CSPN++, the refined dense-depth map based on the multi-affinity matrix and the coarse dense-depth map.
- The non-transitory computer-readable medium of claim 23, wherein, to perform the 3D-reconstruction procedure based on the refined dense-depth map to generate the point cloud of the image area, the instructions, which when executed by at least one processor, cause the processor to:receive a set of coordinates associated with the image area;map the set of coordinates associated with the image area to the refined dense-depth map; andgenerate the point cloud based on the mapping of the set of coordinates associated with the image area to the refined dense-depth map.
- The non-transitory computer-readable medium of claim 23, wherein, to perform the triangular-meshing procedure to generate the mesh model based on the point cloud of the image area, the instructions, which when executed by at least one processor, cause the processor to:identify a plurality of nested surfaces in the point cloud based using a triangular-mesh model; andgenerate the mesh model of the point cloud based on the plurality of nested surfaces.
- The non-transitory computer-readable medium of claim 29, wherein:the mesh model is a 3D surface model,the triangular-mesh model applies an alpha parameter to identify the plurality of nested surfaces, andthe alpha parameter is associated with a distance threshold for the 3D surface model.
- The non-transitory computer-readable medium of claim 23, wherein, to perform the texture-mapping procedure based on the point cloud to generate the textured mesh of the image area, the instructions, which when executed by at least one processor, cause the processor to:map the attribute data onto the mesh model to generate the textured mesh.
- The non-transitory computer-readable medium of claim 23, wherein, to perform the vertex-normal procedure based on the textured mesh to generate a 3D representation of the image area, the instructions, which when executed by at least one processor, cause the processor to:calculate a plurality of normal vectors associated with each vertex in the textured mesh based on the attribute data; andgenerate the 3D representation of the image area based on the textured mesh and the plurality of normal vectors.
- The non-transitory computer-readable medium of claim 23, wherein:the image area is associated with a picture, a sub-picture, a tile, a slice, or a coding block, andthe attribute data includes one or more of color data, reflectance data, or intensity data.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2023/098420 WO2024250160A1 (en) | 2023-06-05 | 2023-06-05 | System and method for depth completion and three-dimensional reconstruction of an image area |
| CN202380099067.2A CN121241370A (en) | 2023-06-05 | 2023-06-05 | Systems and methods for depth completion and 3D reconstruction of image regions |
| EP23940050.0A EP4721008A1 (en) | 2023-06-05 | 2023-06-05 | System and method for depth completion and three-dimensional reconstruction of an image area |
| US19/408,095 US20260087723A1 (en) | 2023-06-05 | 2025-12-03 | System and method for depth completion and three-dimensional reconstruction of an image area |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2023/098420 WO2024250160A1 (en) | 2023-06-05 | 2023-06-05 | System and method for depth completion and three-dimensional reconstruction of an image area |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/408,095 Continuation US20260087723A1 (en) | 2023-06-05 | 2025-12-03 | System and method for depth completion and three-dimensional reconstruction of an image area |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024250160A1 true WO2024250160A1 (en) | 2024-12-12 |
Family
ID=93794914
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/098420 Ceased WO2024250160A1 (en) | 2023-06-05 | 2023-06-05 | System and method for depth completion and three-dimensional reconstruction of an image area |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20260087723A1 (en) |
| EP (1) | EP4721008A1 (en) |
| CN (1) | CN121241370A (en) |
| WO (1) | WO2024250160A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250104203A1 (en) * | 2023-09-22 | 2025-03-27 | Microsoft Technology Licensing, Llc | Distortion correction for digital image sub-division |
| CN120339523A (en) * | 2025-06-16 | 2025-07-18 | 煤炭科学研究总院有限公司 | Three-dimensional real scene establishment method and device |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4433986A1 (en) * | 2023-02-06 | 2024-09-25 | Google Llc | Providing augmented reality view based on geographical data |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109389671A (en) * | 2018-09-25 | 2019-02-26 | 南京大学 | A kind of single image three-dimensional rebuilding method based on multistage neural network |
| US20220148203A1 (en) * | 2020-11-11 | 2022-05-12 | Toyota Research Institute, Inc. | Training of joint depth prediction and completion |
| CN115035240A (en) * | 2022-05-13 | 2022-09-09 | 清华大学 | Real-time three-dimensional scene reconstruction method and device |
| US20220301205A1 (en) * | 2021-03-16 | 2022-09-22 | International Business Machines Corporation | Depth map generation from sparse depth samples in an augmented reality environment |
| WO2022265347A1 (en) * | 2021-06-16 | 2022-12-22 | Samsung Electronics Co., Ltd. | Three-dimensional scene recreation using depth fusion |
-
2023
- 2023-06-05 EP EP23940050.0A patent/EP4721008A1/en active Pending
- 2023-06-05 CN CN202380099067.2A patent/CN121241370A/en active Pending
- 2023-06-05 WO PCT/CN2023/098420 patent/WO2024250160A1/en not_active Ceased
-
2025
- 2025-12-03 US US19/408,095 patent/US20260087723A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109389671A (en) * | 2018-09-25 | 2019-02-26 | 南京大学 | A kind of single image three-dimensional rebuilding method based on multistage neural network |
| US20220148203A1 (en) * | 2020-11-11 | 2022-05-12 | Toyota Research Institute, Inc. | Training of joint depth prediction and completion |
| US20220301205A1 (en) * | 2021-03-16 | 2022-09-22 | International Business Machines Corporation | Depth map generation from sparse depth samples in an augmented reality environment |
| WO2022265347A1 (en) * | 2021-06-16 | 2022-12-22 | Samsung Electronics Co., Ltd. | Three-dimensional scene recreation using depth fusion |
| CN115035240A (en) * | 2022-05-13 | 2022-09-09 | 清华大学 | Real-time three-dimensional scene reconstruction method and device |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250104203A1 (en) * | 2023-09-22 | 2025-03-27 | Microsoft Technology Licensing, Llc | Distortion correction for digital image sub-division |
| CN120339523A (en) * | 2025-06-16 | 2025-07-18 | 煤炭科学研究总院有限公司 | Three-dimensional real scene establishment method and device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN121241370A (en) | 2025-12-30 |
| EP4721008A1 (en) | 2026-04-08 |
| US20260087723A1 (en) | 2026-03-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7161150B2 (en) | Motion compensation for geometry information | |
| Attal et al. | Learning neural light fields with ray-space embedding | |
| WO2024250160A1 (en) | System and method for depth completion and three-dimensional reconstruction of an image area | |
| Chen et al. | Accurate light field depth estimation with superpixel regularization over partially occluded regions | |
| CN109003325B (en) | Three-dimensional reconstruction method, medium, device and computing equipment | |
| CN105654492B (en) | Robust real-time three-dimensional method for reconstructing based on consumer level camera | |
| CN105164728B (en) | For mixing the apparatus and method in real border | |
| Li et al. | Detail-preserving and content-aware variational multi-view stereo reconstruction | |
| KR20210042942A (en) | Object instance mapping using video data | |
| EP3326156B1 (en) | Consistent tessellation via topology-aware surface tracking | |
| CN110945565A (en) | Dense visual SLAM using probabilistic surfel maps | |
| CN111402429B (en) | Scale reduction and three-dimensional reconstruction method, system, storage medium and equipment | |
| CN115409949A (en) | Model training method, perspective image generation method, device, equipment and medium | |
| Lefloch et al. | Anisotropic point-based fusion | |
| CN115035235A (en) | Three-dimensional reconstruction method and device | |
| CN120339561A (en) | A method, system, device and medium for fusion of multiple videos and three-dimensional scenes | |
| CN118470208A (en) | Three-dimensional modeling method, device and medium based on monocular image | |
| Han et al. | DCL-depth: monocular depth estimation network based on iam and depth consistency loss | |
| CN115953468A (en) | Depth and self-motion trajectory estimation method, device, equipment and storage medium | |
| TW202312100A (en) | Grid generation method, electronic device and computer-readable storage medium | |
| CN119963766A (en) | Method, device, equipment, medium and program product for three-dimensional reconstruction | |
| Zhu et al. | Object-based rendering and 3-D reconstruction using a moveable image-based system | |
| Xing et al. | Scale-consistent fusion: from heterogeneous local sampling to global immersive rendering | |
| CN117730344A (en) | mesh patch subdivision | |
| Jiang et al. | PLANING: A Loosely Coupled Triangle-Gaussian Framework for Streaming 3D Reconstruction |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23940050 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023940050 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2023940050 Country of ref document: EP Effective date: 20260105 |
|
| ENP | Entry into the national phase |
Ref document number: 2023940050 Country of ref document: EP Effective date: 20260105 |
|
| ENP | Entry into the national phase |
Ref document number: 2023940050 Country of ref document: EP Effective date: 20260105 |
|
| ENP | Entry into the national phase |
Ref document number: 2023940050 Country of ref document: EP Effective date: 20260105 |
|
| ENP | Entry into the national phase |
Ref document number: 2023940050 Country of ref document: EP Effective date: 20260105 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023940050 Country of ref document: EP |