Title: MVDiffusion: Enabling Holistic Multi-view Image Generation with Correspondence-Aware Diffusion
Venue: NeurIPS 2023
Accepted: yes
Keywords: multiview; image generation; generative model; diffusion models
Abstract: This paper introduces MVDiffusion, a simple yet effective method for generating consistent multi-view images from text prompts given pixel-to-pixel correspondences (e.g., perspective crops from a panorama or multi-view images given depth maps and poses). Unlike prior methods that rely on iterative image warping and inpainting, MVDiffusion simultaneously generates all images with a global awareness, effectively addressing the prevalent error accumulation issue. At its core, MVDiffusion processes perspective images in parallel with a pre-trained text-to-image diffusion model, while integrating novel correspondence-aware attention layers to facilitate cross-view interactions. For panorama generation, while only trained with 10k panoramas, MVDiffusion is able to generate high-resolution photorealistic images for arbitrary texts or extrapolate one perspective image to a 360-degree view. For multi-view depth-to-image generation, MVDiffusion demonstrates state-of-the-art performance for texturing a scene mesh. The project page is at https://mvdiffusion.github.io/.

MVDiffusion: Enabling Holistic Multi-view Image Generation with Correspondence-Aware Diffusion

Abstract

This paper introduces MVDiffusion , a simple yet effective method for generating consistent multi-view images from text prompts given pixel-to-pixel correspondences ( e.g ., perspective crops from a panorama or multi-view images given depth maps and poses). Unlike prior methods that rely on iterative image warping and inpainting, MVDiffusion simultaneously generates all images with a global awareness, effectively addressing the prevalent error accumulation issue. At its core, MVDiffusion processes perspective images in parallel with a pre-trained text-toimage diffusion model, while integrating novel correspondence-aware attention layers to facilitate cross-view interactions. For panorama generation, while only trained with 10k panoramas, MVDiffusion is able to generate high-resolution photorealistic images for arbitrary texts or extrapolate one perspective image to a 360-degree view. For multi-view depth-to-image generation, MVDiffusion demonstrates state-of-the-art performance for texturing a scene mesh. The project page is at https://mvdiffusion.github.io/ .

1 Introduction

Photorealistic image synthesis aims to generate highly realistic images, enabling broad applications in virtual reality, augmented reality, video games, and filmmaking. The field has seen significant advancements in recent years, driven by the rapid development of deep learning techniques such as diffusion-based generative models [2, 16, 21, 39, 43, 44, 45].

One particularly successful domain is text-to-image generation. Effective approaches include generative adversarial networks [3, 12, 19], autoregressive transformers [10, 35, 49], and more recently, diffusion models [15, 17, 34, 37]. DALL-E 2 [34], Imagen [37] and others generate photorealistic images with large-scale diffusion models. Latent diffusion models [36] apply the diffusion process in the latent space, allowing more efficient computations and faster image synthesis.

Despite impressive progress, multi-view text-to-image synthesis still confronts issues of computational efficiency and consistency across views. A common approach involves an autoregressive generation process [5, 11, 18], where the generation of the n -th image is conditioned on the ( n -1) -th image through image warping and inpainting techniques. However, this autoregressive approach results in accumulated errors and does not handle loop closure [11]. Moreover, the reliance on the previous image may pose challenges for complex scenarios or large viewpoint variations.

Our approach, dubbed MVDiffusion, generates multi-view images simultaneously, using multiple branches of a standard text-to-image model pre-trained on perspective images. Concretely, we use a stable diffusion (SD) model [36] and add a 'correspondence-aware attention' (CAA) mechanism between the UNet blocks, which facilitates cross-view interactions and learns to enforce multi-view consistency. When training the CAA blocks, we freeze all the original SD weights to preserve the generalization capability of the pre-trained model.

In summary, the paper presents MVDiffusion, a multi-view text-to-image generation architecture that requires minimal changes to a standard pretrained text-to-image diffusion model, achieving state-of-the-art performance on two multi-view image generation tasks. For generating panorama, MVDiffusion synthesizes high-resolution photorealistic panoramic images given arbitrary per-view texts, or extrapolates one perspective image to a full 360-degree view. Impressively, despite being trained solely on a realistic indoor panorama dataset, MVDiffusion possesses the capability to create diverse panoramas, e.g . outdoor or cartoon style. For multi-view image generation conditioned on depths/poses, MVDiffusion demonstrates state-of-the-art performance for texturing a scene mesh.

2 Related Work

Diffusion models. Diffusion models [16, 21, 39, 42, 43, 44, 45] (DM) or score-based generative models are the essential theoretical framework of the exploding generative AI. Early works achieve superior sample quality and density estimation [8, 45] but require a long sampling trajectory. Advanced sampling techniques [20, 26, 40] accelerate the process while maintaining generation quality. Latent diffusion models [36] (LDMs) apply DM in a compressed latent space to reduce the computational cost and memory footprint, making the synthesis of high-resolution images feasible on consumer devices. We enable holistic multi-view image generation by the latent diffusion model.

Image generation. Diffusion Models (DM) dominate content generation. Foundational work such as DALL-E 2 [34], GLIDE [30], LDMs [36], and Imagen [37] have showcased significant capabilities in text-conditioned image generation. They train on extensive datasets and leverage the power of pre-trained language models. These large text-to-image Diffusion Models also establish strong foundations for fine-tuning towards domain-specific content generation. For instance, MultiDiffusion [1] and DiffCollage [53] failitates 360-degree image generation. However, the resulting images are not true panoramas since they do not incorporate camera projection models. Text2Light [6] synthesizes HDR panorama images from text using a multi-stage auto-regressive generative model. However, the leftmost and rightmost contents are not connected (i.e., loop closing).

3D content generation. Content generation technology has profound implications in VR/AR and entertainment industries, driving research to extend cutting-edge generation techniques from a single image to multiple images. Dreamfusion [31] and Magic3D [24] distill pre-trained Diffusion Models into a NeRF model [28] to generate 3D objects guided by text prompts. However, these works focus on objects rather than scenes. In the quest for scene generation, another approach [18] generates

s

l

∗

t

l

∗

t

l

s

∗

s

l

k

s

l

∗

t

l

∗

t

l

s

k

F

s

l

References

References

References

References

References

F

Stable Diffusion U-Net

Up/Down Sample

Correspondence

Aware Attention

Multi-branch U-Net

+

+

+

+

FFN

...

...

...

F

F

l

References

F

l

∗

t

l

s

k

F

F

l

References

s

l

∗

t

l

∗

t

l

s

k

F

F

l

References

∗

t

l

∗

t

l

s

k

F

F

l

s

l

∗

t

l

∗

t

l

s

k

F

F

l

s

l

∗

t

l

∗

t

l

s

k

F

F

l

s

l

∗

t

l

∗

t

l

s

k

F

F

l

s

l

∗

t

l

∗

t

l

s

k

F

F

l

s

l

∗

t

l

∗

t

l

s

k

F

s

l

∗

t

l

∗

t

l

s

k

F

l

s

l

∗

t

l

∗

t

l

s

k

s

l

∗

t

l

∗

t

l

s

k

s

l

∗

t

l

∗

t

l

s

k

l

t

l

F

F

prompt-conditioned images of indoor spaces by iteratively querying a pre-trained text-to-image Diffusion Model. SceneScape [11] generates novel views on zoom-out trajectories by employing image warping and inpainting techniques using diffusion models. Text2Room [18] adopts similar methods to generate a complete textured 3D room geometry. However, the generation of the n -th image is solely conditioned on the local context, resulting in accumulation errors and less favorable results. Our research takes a holistic approach and generates consistent multi-view images given camera poses and text prompts while fine-tuning pre-trained perspective-image Diffusion Models.

3 Preliminary

Latent Diffusion Models (LDM) [36] is the foundation of our method. LDM consists of three components: a variational autoencoder (VAE) [22] with encoder E and decoder D , a denoising network ϵ θ , and a condition encoder τ θ .

High-resolution images x ∈ R H × W × 3 are mapped to a low-dimensional latent space by Z = E ( x ) , where Z ∈ R h × w × c . The down-sampling factor f = H/h = W/w is set to 8 in the popular Stable Diffusion (SD). The latents are converted back to the image space by ˜ x = D ( Z ) .

The LDM training objective is given as

where t is uniformly sampled from 1 to T and Z t is the noisy latent at time step t . The denoising network ϵ θ is a time-conditional UNet [8], augmented with cross-attention mechanisms to incorporate the optional condition encoding τ θ ( y ) . y could be a text-prompt, an image, or any other user-specified condition.

At sampling time, the denoising (reverse) process generates samples in the latent space, and the decoder produces high-resolution images with a single forward pass. Advanced samplers [20, 26, 40] can further accelerate the sampling process.

4 MVDiffusion: Holistic Multi-view Image Generation

MVDiffusion generates multiple images simultaneously by running multiple copies/branches of a stable diffusion model with a novel inter-branch 'correspondence-aware attention' (CAA) mechanism to facilitate multi-view consistency. Figure 2 presents an overview of multi-branch UNet and the CAA designs. The system is applicable when pixel-to-pixel correspondences are available between images, specifically for cases of 1) Generating a panorama or extrapolating a perspective image to a panorama. The panorama consists of perspective images sharing the camera center where

1

1

1

1

1

pixel-to-pixel correspondences are obtained by planar tomography and 2) Texture mapping of a given geometry where multiple images of arbitrary camera poses establish pixel-to-pixel correspondences through depth-based unprojection and projection. We first introduce panorama generation (§4.1), which employs generation modules, and then multi-view depth-to-image generation (§4.2), which employs generation and interpolation modules. Since the interpolation module does not contain CAA blocks, §4.1 will also cover the design of the CAA block and explain how it is inserted into the multi-branch UNet.

4.1 Panorama generation

In MVDiffusion, a panorama is realized by generating eight perspective views, each possessing a horizontal field of view of 90 ◦ with a 45 ◦ overlap. To achieve this, we generate eight 512 × 512 images by the generation module using a frozen pretrained stable diffusion model [47].

Generation module. The proposed module generates eight 512 × 512 images. It accomplishes this through a process of simultaneous denoising. This process involves feeding each noisy latent into a shared UNet architecture, dubbed as the multi-branch UNet, to predict noises concurrently. In order to ensure multi-view consistency, a correspondence-aware attention (CAA) block is introduced following each UNet block. The CAA block follows the final ResNet blocks and is responsible for taking in multi-view features and fusing them together.

Correspondence-aware attention (CAA). The CAA block operates on N feature maps concurrently, as shown in Figure 2. For the i-th source feature map, denoted as F , it performs cross-attention with the remaining ( N -1) target feature maps, represented as F l .

For a token located at position ( s ) in the source feature map, we compute a message based on the corresponding pixels { t l } in the target feature maps { F l } (not necessarily at integer coordinates) with local neighborhoods. Concretely, for each target pixel t l , we consider a K × K neighborhood N ( t l ) by adding integer displacements ( d x /d y ) to the (x/y) coordinate, where | d x | < K/ 2 and | d y | < K/ 2 . In practice, we use K = 3 with a neighborhood of 9 points.

The message M calculation follows the standard attention mechanism that aggregates information from the target feature pixels { t l ∗ } to the source ( s ). W Q , W K , and W V are the query, key and value matrices. The key difference is the added position encoding γ ( · ) to the target feature F l ( t l ∗ ) based on the 2D displacement between its corresponding location s l ∗ in the source image and s . The displacement provides the relative location in the local neighborhood. Note that a displacement is a 2D vector, and we apply a standard frequency encoding [50] to the displacement in both x and y coordinates, then concatenate. A target feature F l ( t l ∗ ) is not at an integer location and is obtained by bilinear interpolation. To retain the inherent capabilities of the stable diffusion model [47], we initialize the final linear layer of the transformer block and the final convolutional layer of the residual block to be zero, as suggested in ControlNet [52]. This initialization strategy ensures that our modifications do not disrupt the original functionality of the stable diffusion model.

Panorama extraporlation. The goal is to generate full 360-degree panoramic views (seven target images) based on a single perspective image (one condition image) and the per-view text prompts. We use SD's impainting model [48] as the base model as it takes one condition image. Similar to the generation model, CAA blocks with zero initializations are inserted into the UNet and trained on our datasets.

For the generation process, the model reinitializes the latents of both the target and condition images with noises from standard Gaussians. In the UNet branch of the condition image, we concatenate a mask of ones to the image (4 channels in total). This concatenated image then serves as the input to the inpainting model, which ensures that the content of the condition image remains the same. On the contrary, in the UNet branch for a target image, we concatenate a black image (pixel values of zero) with a mask of zeros to serve as the input, thus requiring the inpainting model to generate a completely new image based on the text condition and the correspondences with the condition image.

Training. We insert CAA block into the pretrained stable diffusion Unet [47] or stable diffusion impainting Unet [48] to ensure multi-view consistency. The pretrained network is frozen while we use the following loss to train the CAA block:

4.2 Multiview depth-to-image generation

The multiview depth-to-image task aims to generate multi-view images given depths/poses. Such images establish pixel-to-pixel correspondences through depth-based unprojection and projection. MVDiffusion's process starts with the generation module producing key images, which are then densified by the interpolation module for a more detailed representation.

Generation module. The generation module for multi-view depth-to-image generation is similar to the one for panorama generation. The module generates a set of 192 × 256 images. We use depth-conditioned stable diffusion model [46] as the base generation module and simultaneously generate multi-view images through a multi-branch UNet. The CAA blocks are adopted to ensure multi-view consistency.

Interpolation module. The interpolation module of MVDiffusion, inspired by VideoLDM [2], creates N images between a pair of 'key frames', which have been previously generated by the generation module. This model utilizes the same UNet structure and correspondence attention weights as the generation model, with extra convolutional layers, and it reinitializes the latent of both the in-between images and key images using Gaussian noise. A distinct feature of this module is that the UNet branch of key images is conditioned on images already generated. Specifically, this condition is incorporated into every UNet block. In the UNet branch of key images, the generated images are concatenated with a mask of ones (4 channels), and then a zero convolution operation is used to downsample the image to the corresponding feature map size. These downsampled conditions are subsequently added to the input of the UNet blocks. For the branch of in-between images, we take a different approach. We append a black image, with pixel values of zero, to a mask of zeros, and apply the same zero convolution operation to downsample the image to match the corresponding feature map size. These downsampled conditions are also added to the input of the UNet blocks. This procedure essentially trains the module such that when the mask is one, the branch regenerates the conditioned images, and when the mask is zero, the branch generates the in-between images.

Training. we adopt a two-stage training process. In the first stage, we fine-tune the SD UNet model using all ScanNet data. This stage is single-view training (Eq. 1) without the CAA blocks. In the second stage, we integrate the CAA blocks, and the image condition blocks into the UNet, and only these added parameters are trained. We use the same loss as panorama generation to train the model.

5 Experiments

We evaluate MVDiffusion on two tasks: panoramic image generation and multi-view depth-to-image generation. We first describe implementation details and the evaluation metrics.

Implementation details. We have implemented the system with PyTorch while using publicly available Stable Diffusion codes from Diffusers [51]. The model consists of a denoising UNet to execute the denoising process within a compressed latent space and a VAE to connect the image and latent spaces. The pre-trained V AE of the Stable Diffusion is maintained with official weights and is used to encode images during the training phase and decode the latent codes into images during the inference phase. We have used a machine with 4 NVIDIA RTX A6000 GPUs for training and inference. Specific details and results of these varying configurations are provided in the corresponding sections.

Evaluation matrics. The evaluation metrics cover two aspects, image quality of generated images and their consistency.

· Image quality is measured by Fréchet Inception Distance (FID) [14], Inception Score (IS) [38], and CLIP Score (CS) [32]. FID measures the distribution similarity between the features of the generated

/gid00017/gid00045/gid00042/gid00040/gid00043/gid00047/gid00475/gid00001/gid00488 /gid00028/gid00001/gid00039/gid00036/gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00001/gid00039/gid00028/gid00045/gid00034/gid00032/gid00001/gid00034/gid00039/gid00028/gid00046/gid00046/gid00001/gid00047/gid00028/gid00029/gid00039/gid00032 /gid00474/gid00001/gid00050 /gid00035/gid00036/gid00047/gid00032/gid00001/gid00030/gid00035/gid00028/gid00036/gid00045/gid00046/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00034/gid00036/gid00028/gid00041/gid00047/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050 /gid00473/gid00001/gid00002/gid00001 /gid00021/gid00023 /gid00001/gid00036/gid00046/gid00001/gid00028/gid00047/gid00047/gid00028/gid00030/gid00035/gid00032/gid00031/gid00001/gid00047/gid00042/gid00001/gid00047/gid00035/gid00032/gid00001/gid00050 /gid00028/gid00039/gid00039/gid00001 /gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00033/gid00028/gid00041/gid00030/gid00052/gid00001/gid00030/gid00045/gid00052/gid00046/gid00047/gid00028/gid00039/gid00001/gid00030/gid00035/gid00028/gid00041/gid00031/gid00032/gid00039/gid00036/gid00032/gid00045/gid00001/gid00036/gid00046/gid00001/gid00035/gid00028/gid00041/gid00034/gid00036/gid00041/gid00034/gid00001/gid00042/gid00041/gid00001/gid00047/gid00035/gid00032/gid00001/gid00030/gid00032/gid00036/gid00039/gid00036/gid00041/gid00034/gid00473 /gid00489

/gid00016/gid00048/gid00045/gid00046

/gid00020/gid00005/gid00001/gid00506/gid00017/gid00028/gid00041/gid00042/gid00507

/gid00010/gid00041/gid00043/gid00028/gid00036/gid00041/gid00047/gid00036/gid00041/gid00034

/gid00021

/gid00032/gid00051/gid00047/gid00423/gid00039/gid00036/gid00034/gid00035/gid00047

and real images. The Inception Score is based on the diversity and predictability of generated images. CLIP Score measures the text-image similarity using pretrained CLIP models [33].

Multi-view consistency is measured by the metric based on pixel-level similarity. The area of multi-view image generation is still in an early stage, and there is no common metric for multi-view consistency. We propose a new metric based on Peak Signal-to-Noise Ratio (PSNR). Concretely, given multi-view images, we compute the PSNR between all the overlapping regions and then compare this 'overlapping PSNR' for ground truth images and generated images. The final score is defined as the ratio of the 'overlapping PSNR' of generated images to that of ground truth images. Higher values indicate better consistency.

The rest of the section explains the experimental settings and results more, while the full details are referred to the supplementary.

5.1 Panoramic image generation

This task generates perspective crops covering the panoramic field of view, where the challenge is to ensure consistency in the overlapping regions. Matterport3D [4] is a comprehensive indoor scene dataset that consists of 90 buildings with 10,912 panoramic images. We allocate 9820 and 1092 panoramas for training and evaluation, respectively.

Baselines. We have selected three related state-of-the-art methods for thorough comparisons. The details of the baselines are briefly summarized as follows (full implementation details can be found in the appendix):

Text2Light [6] creates HDR panoramic images from text using a multi-stage auto-regressive generative model. To obtain homographic images, we project the generated panoramas into perspective images using the same camera settings (FoV=90 ◦ , rotation=45 ◦ ).

Stable Diffusion (SD) [36] is a text-to-image model capable of generating high-quality perspective images from text. For comparison, we fine-tuned Stable Diffusion using panoramic images and then extracted perspective images in a similar manner.

Inpainting methods [11, 18] operate through an iterative process, warping generated images to the current image and using an inpainting model to fill in the unknown area. Specifically, we employed the inpainting model from Stable Diffusion v2 [36] for this purpose.

Results. Table 1 and Figure 3 present the quantitative and qualitative evaluations, respectively. We then discuss the comparison between MVDiffusion and each baseline:

/gid00017/gid00045/gid00042/gid00040/gid00043/gid00047/gid00475/gid00001/gid00488/gid00014 /gid00028/gid00037/gid00032/gid00046/gid00047/gid00036/gid00030/gid00028/gid00039/gid00039/gid00052/gid00001/gid00045/gid00036/gid00046/gid00036/gid00041/gid00034/gid00001/gid00047/gid00042/gid00050/gid00028/gid00045/gid00031/gid00046/gid00001/gid00047/gid00035/gid00032/gid00001/gid00035/gid00032/gid00028 /gid00049 /gid00032/gid00041/gid00046 /gid00474/gid00001/gid00047/gid00035/gid00032/gid00001/gid00046/gid00041/gid00042/gid00050/gid00496/gid00030/gid00028 /gid00043/gid00043/gid00032/gid00031/gid00001/gid00040/gid00042/gid00048/gid00041/gid00047/gid00028/gid00036/gid00041/gid00001/gid00046/gid00047/gid00042/gid00042/gid00031/gid00474/gid00001/gid00036/gid00047/gid00046/gid00001/gid00037/gid00028/gid00034/gid00034/gid00032/gid00031/gid00001/gid00043/gid00032/gid00028/gid00038/gid00046/gid00001/gid00030/gid00039/gid00042/gid00028/gid00038 /gid00032/gid00031/gid00001/gid00036/gid00041/gid00001 /gid00028/gid00001/gid00046/gid00035/gid00045/gid00042/gid00048/gid00031/gid00001/gid00042/gid00033/gid00001/gid00032/gid00047/gid00035/gid00032/gid00045/gid00032/gid00028/gid00039/gid00001/gid00030/gid00039/gid00042/gid00048/gid00031/gid00046 /gid00474/gid00001/gid00036/gid00047/gid00046/gid00001/gid00045/gid00048/gid00034/gid00034/gid00032/gid00031/gid00001/gid00046/gid00039/gid00042/gid00043/gid00032/gid00046/gid00001/gid00028/gid00001/gid00046/gid00047/gid00028/gid00045/gid00038/gid00001/gid00030/gid00042/gid00041/gid00047/gid00045/gid00028/gid00046/gid00047/gid00001/gid00028/gid00034 /gid00028/gid00036/gid00041/gid00046/gid00047/gid00001/gid00047/gid00035/gid00032/gid00001/gid00046/gid00032/gid00045/gid00032/gid00041/gid00032/gid00001/gid00028/gid00053/gid00048/gid00045/gid00032/gid00001/gid00046/gid00038/gid00052 /gid00474/gid00001/gid00028/gid00041/gid00031/gid00001/gid00036/gid00047/gid00046/gid00001/gid00046/gid00036/gid00039/gid00032/gid00041/gid00047/gid00001/gid00034/gid00045/gid00028/gid00041/gid00496 /gid00031/gid00032/gid00048/gid00045/gid00001/gid00032/gid00051/gid00048/gid00031/gid00036/gid00041/gid00034/gid00001/gid00028/gid00041/gid00001/gid00028/gid00036/gid00045/gid00001/gid00042/gid00033/gid00001/gid00028/gid00041/gid00030/gid00036/gid00032/gid00041/gid00047/gid00001/gid00050/gid00036/gid00046/gid00031/gid00042/gid00040/gid00001/gid00028/gid00041/gid00031/gid00001/gid00047/gid00036/gid00040/gid00032/gid00039/gid00032/gid00046/gid00046/gid00001/gid00046/gid00042/gid00039/gid00036/gid00047/gid00048/gid00031/gid00032 /gid00473 /gid00489

Compared with Text2Light[6] : Text2Light is based on auto-regressive transformers and shows low FID, primarily because diffusion models perform generally better. Another drawback is the inconsistency between the left and the right panorama borders, as illustrated in Figure 3.

Compared with Stable Diffusion (panorama) [36]: MVDiffusion obtain higher IS, CS, and FID than SD (pano). Like Text2light, this model also encounters an issue with inconsistency at the left and right borders. Our approach addresses this problem by enforcing explicit consistency through correspondence-aware attention, resulting in seamless panoramas. Another shortcoming of this model is its requirement for substantial data to reach robust generalization. In contrast, our model,

leveraging a frozen pre-trained stable diffusion, demonstrates a robust generalization ability with a small amount of training data, as shown in Figure 4.

Compared with inpainting method [11, 18]: Inpainting methods also exhibit worse performance due to the error accumulations, as evidenced by the gradual style change throughout the generated image sequence in Figure 3.

Compared with Stable Diffusion (perspective) [36]: We also evaluate the original stable diffusion on perspective images of the same Matterport3D testing set. This method cannot generate multi-view images but is a good reference for performance comparison. The results suggest that our method does not incur performance drops when adapting SD for multi-view image generation.

Generate images in the wild. Despite our model being trained solely on indoor scene data, it demonstrates a remarkable capability to generalize across various domains. This broad applicability is maintained due to the original capabilities of stable diffusion, which are preserved by freezing the stable diffusion weights. As exemplified in Figure 4, we stich the perspective images into a

panorama and show that our MVDiffusion model can successfully generate outdoor panoramas. Further examples illustrating the model's ability to generate diverse scenes, including those it was not explicitly trained on, can be found in the supplementary materials.

Image&text-conditioned panorama generation. In Figure 5, we show one example of image&textconditioned panorama generation. MVDiffsion demonstrates the extraordinary capability of extrapolating the whole scene based on one perspective image.

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035/gid00046

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

5.2 Multi view depth-to-image generation

This task converts a sequence of depth images into a sequence of RGB images while preserving the underlying geometry and maintaining multiview consistency. ScanNet is an indoor RGBD video dataset comprising over 1513 training scenes and 100 testing scenes, all with known camera parameters. We train our model on the training scenes and evaluate it on the testing

scenes. In order to construct our training and testing sequences, we initially select key frames, ensuring that each consecutive pair of key frames has an overlap of approximately 65%. Each training sample consists of 12 sequential keyframes. For evaluation purposes, we conduct two sets of experiments. For our quantitative evaluation, we have carefully chosen 590 non-overlapping image sequences from the testing set, each composed of 12 individual images. In terms of qualitative assessment, we first employ the generation model to produce all the key frames within a given test sequence. Following this, the image&text-conditioned generation model is utilized to enrich or densify these images. Notably, even though our model has been trained using a frame length of 12, it has the capability to be generalized to accommodate any number of frames. Ultimately, we fuse the RGBD sequence into a cohesive scene mesh.

Baselines. To our knowledge, no direct baselines exist for scene-level depth-to-image generation. Some generate 3D textures for object meshes, but often require complete object geometry to optimize the generated texture from many angles [5, 29]. This is unsuitable for our setting where geometry is provided for the parts visible in the input images. Therefore, we have selected two baselines:

RePaint [27]: This method uses an image diffusion model for inpainting holes in an image, where we employ the depth2image model from Stable Diffusion v2[36]. For each frame, we warp the generated images to the current frame and employ the RePaint technique [27] to fill in the holes. This baseline model is also fine-tuned on our training set.

Depth-conditioned ControlNet : We train a depth-conditioned ControlNet model combined with the inpainting Stable Diffusion method with the same training set as ours. The implementation is based on a public codebase [7]. This model is capable of image inpainting conditioned on depths. We use the same pipeline as the above method.

Results. Table 2, Figure 6, Figure 7, and Figure 8 present the quantitative and qualitative results of our generation models. Our approach achieves a notably better FID, as shown in Table 2. As depicted in Figure 6, the repaint method generates progressively blurry images, while ControlNet produces nonsensical content when the motion is large. These issues arise since both methods depend on partial results and local context during inpainting, causing error propagation. Our method overcomes these challenges by enforcing global constraints with the correspondence-aware attention and generating images simultaneously. Figure 7 exhibits the keyframes at the left and the right, where the intermediate frames are generated in the middle, which are consistent throughout the sequence. Figure 8 illustrates the textured scene meshes produced by our method.

/gid00012/gid00032/gid00052/gid00001/gid00033/gid00045/gid00028/gid00040/gid00032

/gid00012/gid00032/gid00052/gid00001/gid00033/gid00045/gid00028/gid00040/gid00032

/gid00010/gid00041/gid00047/gid00032/gid00045/gid00043/gid00042/gid00039/gid00028/gid00047/gid00036/gid00042/gid00041/gid00001/gid00045/gid00032/gid00046/gid00048/gid00039/gid00047/gid00046

5.3 Measuring multi-view consistency

The multi-view consistency is evaluated with the metric as explained earlier. For panoramic image generation, we select image pairs with a rotation angle of 45 degrees and resize them to 1024 × 1024 . For multi-view depth-to-image generation, consecutive image pairs are used and resized to 192 × 256 . PSNR is computed among all pixels within overlapping regions for panoramic image generation. For

multi-view depth-to-image generation, a depth check discards pixels with depth errors above 0 . 5 m , the PSNR is then computed on the remaining overlapping pixels.

Results. In Table 3, we first use the real images to set up the upper limit, yielding a PSNR ratio of 1.0. We then evaluate our generation model without the correspondence attention (i.e., an original stable diffusion model), effectively acting as the lower limit. Our method, presented in the last row, achieves a PSNR ratio of 0.67 and 0.76 for the two tasks respectively, confirming an improved multi-view consistency.

6 Conclusion

This paper introduces MVDiffusion, an innovative approach that simultaneously generates consistent multi-view images. Our principal novelty is the integration of a correspondence-aware attention (CAA) mechanism, which ensures cross-view consistency by recognizing pixel-to-pixel correspondences. This mechanism is incorporated into each UNet block of stable diffusion. By using a frozen pretrained stable diffusion model, extensive experiments show that MVDiffusion achieves stateof-the-art performance in panoramic image generation and multi-view depth-to-image generation, effectively mitigating the issue of accumulation error of previous approaches. Furthermore, our high-level idea has the potential to be extended to other generative tasks like video prediction or 3D object generation, opening up new avenues for the content generation of more complex and large-scale scenes.

Limitations. The primary limitation of MVDiffusion lies in its computational time and resource requirements. Despite using advanced samplers, our models need at least 50 steps to generate high-quality images, which is a common bottleneck of all DM-based generation approaches. Additionally, the memory-intensive nature of MVDiffusion, resulting from the parallel denoising limits its scalability. This constraint poses challenges for its application in more complex applications that require a large number of images ( e.g ., long virtual tour).

Broader impact. MVDiffusion enables the generation of detailed environments for video games, virtual reality experiences, and movie scenes directly from written scripts, vastly speeding up production and reducing costs. However, like all techniques for generating high-quality content, our method might be used to produce disinformation.

Acknowledgements. This research is partially supported by NSERC Discovery Grants with Accelerator Supplements and DND/NSERC Discovery Grant Supplement, NSERC Alliance Grants, and John R. Evans Leaders Fund (JELF). We thank the Digital Research Alliance of Canada and BC DRI Group for providing computational resources.

References

Omer Bar-Tal, Lior Yariv, Yaron Lipman, and Tali Dekel. Multidiffusion: Fusing diffusion paths for controlled image generation. arXiv preprint arXiv:2302.08113 , 2, 2023.

Andreas Blattmann, Robin Rombach, Huan Ling, Tim Dockhorn, Seung Wook Kim, Sanja Fidler, and Karsten Kreis. Align your latents: High-resolution video synthesis with latent diffusion models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition , pages 2256322575, 2023.

Andrew Brock, Jeff Donahue, and Karen Simonyan. Large scale gan training for high fidelity natural image synthesis. arXiv preprint arXiv:1809.11096 , 2018.

Angel Chang, Angela Dai, Thomas Funkhouser, Maciej Halber, Matthias Niessner, Manolis Savva, Shuran Song, Andy Zeng, and Yinda Zhang. Matterport3d: Learning from rgb-d data in indoor environments. arXiv preprint arXiv:1709.06158 , 2017.

Dave Zhenyu Chen, Yawar Siddiqui, Hsin-Ying Lee, Sergey Tulyakov, and Matthias Nießner. Text2tex: Text-driven texture synthesis via diffusion models. arXiv preprint arXiv:2303.11396 , 2023.

Zhaoxi Chen, Guangcong Wang, and Ziwei Liu. Text2light: Zero-shot text-driven hdr panorama generation. ACM Transactions on Graphics (TOG) , 41(6):1-16, 2022.

Mikolaj Czerkawski. Controlnetinpaint. https://github.com/mikonvergence/ ControlNetInpaint , 2023.

Prafulla Dhariwal and Alexander Nichol. Diffusion models beat gans on image synthesis. Advances in Neural Information Processing Systems , 34:8780-8794, 2021.

Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, et al. An image is worth 16x16 words: Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929 , 2020.

Patrick Esser, Robin Rombach, and Bjorn Ommer. Taming transformers for high-resolution image synthesis. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition , pages 12873-12883, 2021.

Rafail Fridman, Amit Abecasis, Yoni Kasten, and Tali Dekel. Scenescape: Text-driven consistent scene generation. arXiv preprint arXiv:2302.01133 , 2023.

Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial networks. Communications of the ACM , 63(11): 139-144, 2020.

Dan Hendrycks and Kevin Gimpel. Gaussian error linear units (gelus). arXiv preprint arXiv:1606.08415 , 2016.

Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. Gans trained by a two time-scale update rule converge to a local nash equilibrium. Advances in neural information processing systems , 30, 2017.

Jonathan Ho and Tim Salimans. Classifier-free diffusion guidance. arXiv preprint arXiv:2207.12598 , 2022.

Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising diffusion probabilistic models. Advances in Neural Information Processing Systems (NeurIPS) , 2020.

Jonathan Ho, Chitwan Saharia, William Chan, David J Fleet, Mohammad Norouzi, and Tim Salimans. Cascaded diffusion models for high fidelity image generation. J. Mach. Learn. Res. , 23(47):1-33, 2022.

Lukas Höllein, Ang Cao, Andrew Owens, Justin Johnson, and Matthias Nießner. Text2room: Extracting textured 3d meshes from 2d text-to-image models. arXiv preprint arXiv:2303.11989 , 2023.

Tero Karras, Miika Aittala, Samuli Laine, Erik Härkönen, Janne Hellsten, Jaakko Lehtinen, and Timo Aila. Alias-free generative adversarial networks. Advances in Neural Information Processing Systems , 34: 852-863, 2021.

Tero Karras, Miika Aittala, Timo Aila, and Samuli Laine. Elucidating the design space of diffusion-based generative models. arXiv preprint arXiv:2206.00364 , 2022.

Tero Karras, Miika Aittala, Timo Aila, and Samuli Laine. Elucidating the design space of diffusion-based generative models. arXiv preprint arXiv:2206.00364 , 2022.

Diederik P Kingma and Max Welling. Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114 , 2013.

Junnan Li, Dongxu Li, Caiming Xiong, and Steven Hoi. Blip: Bootstrapping language-image pre-training for unified vision-language understanding and generation. In International Conference on Machine Learning , pages 12888-12900. PMLR, 2022.

Chen-Hsuan Lin, Jun Gao, Luming Tang, Towaki Takikawa, Xiaohui Zeng, Xun Huang, Karsten Kreis, Sanja Fidler, Ming-Yu Liu, and Tsung-Yi Lin. Magic3d: High-resolution text-to-3d content creation. arXiv preprint arXiv:2211.10440 , 2022.

Ilya Loshchilov and Frank Hutter. Decoupled weight decay regularization. arXiv preprint arXiv:1711.05101 , 2017.

Cheng Lu, Yuhao Zhou, Fan Bao, Jianfei Chen, Chongxuan Li, and Jun Zhu. Dpm-solver: A fast ode solver for diffusion probabilistic model sampling in around 10 steps. arXiv preprint arXiv:2206.00927 , 2022.

Andreas Lugmayr, Martin Danelljan, Andres Romero, Fisher Yu, Radu Timofte, and Luc Van Gool. Repaint: Inpainting using denoising diffusion probabilistic models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition , pages 11461-11471, 2022.

Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, and Ren Ng. Nerf: Representing scenes as neural radiance fields for view synthesis. In ECCV , 2020.

Nasir Mohammad Khalid, Tianhao Xie, Eugene Belilovsky, and Tiberiu Popa. Clip-mesh: Generating textured meshes from text using pretrained image-text models. In SIGGRAPH Asia 2022 Conference Papers , pages 1-8, 2022.

Alex Nichol, Prafulla Dhariwal, Aditya Ramesh, Pranav Shyam, Pamela Mishkin, Bob McGrew, Ilya Sutskever, and Mark Chen. Glide: Towards photorealistic image generation and editing with text-guided diffusion models. arXiv preprint arXiv:2112.10741 , 2021.

Ben Poole, Ajay Jain, Jonathan T Barron, and Ben Mildenhall. Dreamfusion: Text-to-3d using 2d diffusion. arXiv preprint arXiv:2209.14988 , 2022.

Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, et al. Learning transferable visual models from natural language supervision. In International conference on machine learning , pages 8748-8763. PMLR, 2021.

Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, et al. Learning transferable visual models from natural language supervision. In International conference on machine learning , pages 8748-8763. PMLR, 2021.

Aditya Ramesh, Prafulla Dhariwal, Alex Nichol, Casey Chu, and Mark Chen. Hierarchical text-conditional image generation with clip latents. arXiv preprint arXiv:2204.06125 , 2022.

Ali Razavi, Aaron Van den Oord, and Oriol Vinyals. Generating diverse high-fidelity images with vq-vae-2. Advances in neural information processing systems , 32, 2019.

Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Björn Ommer. High-resolution image synthesis with latent diffusion models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition , pages 10684-10695, 2022.

Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily L Denton, Kamyar Ghasemipour, Raphael Gontijo Lopes, Burcu Karagol Ayan, Tim Salimans, et al. Photorealistic text-toimage diffusion models with deep language understanding. Advances in Neural Information Processing Systems (NeurIPS) , 2022.

Tim Salimans, Ian Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, and Xi Chen. Improved techniques for training gans. Advances in neural information processing systems , 29, 2016.

Jascha Sohl-Dickstein, Eric Weiss, Niru Maheswaranathan, and Surya Ganguli. Deep unsupervised learning using nonequilibrium thermodynamics. In International Conference on Machine Learning . PMLR, 2015.

Jiaming Song, Chenlin Meng, and Stefano Ermon. Denoising diffusion implicit models. arXiv preprint arXiv:2010.02502 , 2020.

Jiaming Song, Chenlin Meng, and Stefano Ermon. Denoising diffusion implicit models. arXiv preprint arXiv:2010.02502 , 2020.

Yang Song and Stefano Ermon. Generative modeling by estimating gradients of the data distribution. Advances in neural information processing systems (NeurIPS) , 2019.

Yang Song and Stefano Ermon. Generative modeling by estimating gradients of the data distribution. Advances in neural information processing systems , 32, 2019.

Yang Song and Stefano Ermon. Improved techniques for training score-based generative models. Advances in neural information processing systems , 33:12438-12448, 2020.

Yang Song, Jascha Narain Sohl-Dickstein, Diederik P. Kingma, Abhishek Kumar, Stefano Ermon, and Ben Poole. Score-based generative modeling through stochastic differential equations. ICLR , 2021.

StabilityAI. Stable-diffusion-2-depth. https://huggingface.co/stabilityai/ stable-diffusion-2-depth , 2023.

StabilityAI. Stable-diffusion-2. https://huggingface.co/stabilityai/stable-diffusion-2 , 2023.

StabilityAI. Stable-diffusion-impaint. https://huggingface.co/runwayml/ stable-diffusion-inpainting , 2023.

Aaron Van Den Oord, Oriol Vinyals, et al. Neural discrete representation learning. Advances in neural information processing systems , 30, 2017.

Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. Advances in neural information processing systems , 30, 2017.

Patrick von Platen, Suraj Patil, Anton Lozhkov, Pedro Cuenca, Nathan Lambert, Kashif Rasul, Mishig Davaadorj, and Thomas Wolf. Diffusers: State-of-the-art diffusion models. https://github.com/ huggingface/diffusers , 2022.

Lvmin Zhang and Maneesh Agrawala. Adding conditional control to text-to-image diffusion models. arXiv preprint arXiv:2302.05543 , 2023.

Qinsheng Zhang, Jiaming Song, Xun Huang, Yongxin Chen, and Ming-Yu Liu. Diffcollage: Parallel generation of large content with diffusion models. arXiv preprint arXiv:2303.17076 , 2023.

Appendix:

MVDiffusion: Enabling Holistic Multi-view Image Generation with Correspondence-Aware Diffusion

The appendix provides 1) the full architecture specification of correspondence attention; 2) the implementation details of the MVDiffusion system; and 3) additional experimental results in the same format as the figures in the main paper.

A Network Architecture of correspondence-aware attention block

The architecture of correspondence-aware attention block is similar to vision transformers [9], with the inclusion of zero convolutions as suggested in ControlNet [52] and GELU [13] activation function. C , H , W are channel numbers, height and width respectively.

B Implementation details of MVDiffusion

B.1 Panorama image generation

Training and inference details. The generation model in our approach is built upon Stable-diffusion-v2 [47]. We train the model on perspective images with a resolution of 512 × 512 for 10 epochs. The training is performed using the AdamW optimizer with a batch size of 4 and a learning rate of 2 e -4 , utilizing four A6000 GPUs. During inference, we utilize the DDIM sampler with a step size of

/gid00004/gid00042/gid00045/gid00045/gid00032/gid00046/gid00043/gid00042/gid00041/gid00031/gid00032/gid00041/gid00030/gid00032/gid00001/gid00002 /gid00047/gid00047/gid00041

/gid00027/gid00032/gid00045/gid00042/gid00001/gid00004/gid00042/gid00041 /gid00049

/gid00007 /gid00032/gid00032/gid00031/gid00001/gid00007 /gid00042/gid00045/gid00050/gid00028/gid00045/gid00031/gid00001/gid00015/gid00032/gid00047/gid00050 /gid00042/gid00045/gid00038

+

+

/gid00004/gid00712/gid00009/gid00712/gid00024

/gid00474/gid00001/gid00424/gid00712/gid00424

/gid00004/gid00712/gid00009/gid00712/gid00024

/gid00474/gid00001/gid00424/gid00712/gid00424

/gid00007/gid00506 /gid00046/gid00507

/gid00007/gid00001/gid00506/gid00047/gid00001/gid00507

/gid00531

l

l

/gid00027/gid00032/gid00045/gid00042/gid00001/gid00004/gid00042/gid00041 /gid00049

50 to perform parallel denoising of the eight generated images. Additionally, we employ blip2 [23] to generate texts for each perspective image, and during both training and inference, we use the corresponding prompts.

B.2 Implementation details of baselines

We introduce implementation details of baseline in the following.

Text2Light [6] We combine the prompts of each perspective image and use the released pretrained model to generate the panorama.

Stable Diffusion (panorama) [36] We fine-tuned Stable Diffusion using the panorama images within our training dataset, which contains 9820 panorama images at resolusion 512 × 1024 . We fine-tuned the UNet layer of the Stable diffusion while keeping V AE layers frozen. We use AdamW optimizer with a learning rate of 1 e -6 and batch size is 4, utilizing four A6000 GPUs.

Inpainting methods [11, 18] In our approach, we employ Stable-diffusion-v2 [47] to generate the first image in the sequence based on the corresponding text prompt. For each subsequent image in the sequence, we utilize image warping to align the previous image with the current image. The warped image is then passed through Stable-diffusion-inpaint [48] to fill in the missing regions and generate the final image.

Stable diffusion (perspective) In our approach, we utilize the model trained in the first stage of the generation module to generate the perspective images. During testing, each perspective image is associated with its own text prompt.

B.3 Geometry conditioned image generation

Training and inference details. Our generation model is derived from the stable-diffusion-2-depth framework [46]. In the initial phase, we fine-tune the model on all the perspective images of ScanNet dataset at a resolution of 192 × 256 for 10 epochs. This training process employs the AdamW optimizer [25] with a learning rate of 1 e -5 and a batch size of 256, utilizing four A6000 GPUs. In the second stage, we introduce the correspondence-aware attention block and extra resizing convolutional layers for image conditioned generation. The training data consists of two categories: 1) generation training data, selected from 12 consecutive frames with overlaps of around 0.65, and 2) interpolation training data, derived from randomly chosen pairs of consecutive key frames and ten intermediate

frames. During each training epoch, we maintain a careful balance by randomly sampling data from both these categories in a 1:1 ratio. The correspondence-aware attention blocks and additional convolution layers are subsequently trained for 20 epochs, with a batch size of 4 and a learning rate of 1 e -4 , using the same four A6000 GPUs. During the inference stage, we employ the DDIM [41] sampler with a step size of 50 to perform parallel denoising on eight images.

B.4 Implementation details of baselines

We introduce the implementation details of baselines in the following.

· RePaint [27]: In our method, we utilize depth-conditioned Stable-diffusion-v2 [47] to generate the first image in the sequence. For each subsequent image, we condition it on the previous image by applying latent warping. This helps align the generated image with the previous one. To complete the remaining areas of the image, we employ the Repaint technique [27] for inpainting.

· Depth-conditioned ControlNet : We use the same method to generate the first image as the above method. Next, we warp the generated images to the current frame and use Stable-inpainting model [48] to fill the hole. To incorporate depth information into the inpainting model, we utilize a method from a public codebase [7], which adds the feature from depth-conditioned ControlNet [52] into each UNet layer of the inpainting model. For more detailed information, please refer to their code repository. In order to reduce the domain gap, the Stable-inpainting model has been fine-tuned on our training dataset. Similar to other fine-tuning procedures, we only fine-tuned UNet layers while keeping VAE part fixed. The fine-tuning was conducted on a machine with four A6000 GPUs. The batch size is 4 and the learning rate is 1 e -6 . We used AdamW as the optimizer. During inference, we utilize the DDIM sampler with a step size of 50 for generating images.

B.5 Visualization results

Figures 10-17 present supplementary results for panorama generation. In these figures, we showcase the output panorama images generated by both Stable diffusion (panorama) and Text2light methods. To compare the consistency between the left and right borders, we apply a rotation to the border regions, bringing them towards the center of the images. These additional visualizations provide further insights into the quality and alignment of the generated panorama images.

Figures 18-19 show additional results for image- & text-conditioned panorama generation. MVDiffusion extrapolates the whole scene based on one provided perspective image and text description.

Figure 20 provides additional results for generalization to out-of-training distribution data. Our model is only trained on MP3D indoor data while showing a robust generalization ability (e.g. outdoor scene).

Figures 21-26 show additional results with two baseline methods (depth-conditioned ControlNet [52] and Repaint [27]).

Figure 27 shows additional results of interpolated frames. The keyframes are at the left and the right, the middle frames are generated by applying our Interpolation module (see Sec. 4.2 in the main paper). The consistency is maintained throughout the whole sequence.

/gid00002/gid00001/gid00029/gid00032/gid00031/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00039/gid00028/gid00045/gid00034/gid00032/gid00001/gid00029/gid00032/gid00031/gid00001/gid00028/gid00041/gid00031/gid00001/gid00046/gid00039/gid00036/gid00031/gid00036/gid00041/gid00034/gid00001/gid00034/gid00039/gid00028/gid00046/gid00046/gid00001/gid00031/gid00042/gid00042/gid00045/gid00046 /gid00473/gid00001/gid00002/gid00041/gid00001/gid00042/gid00043/gid00032/gid00041/gid00001/gid00031/gid00042/gid00042/gid00045/gid00001/gid00047/gid00042/gid00001/gid00028/gid00001/gid00043/gid00028/gid00047/gid00036/gid00042/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00041/gid00001 /gid00042/gid00030/gid00032/gid00028/gid00041/gid00001/gid00049/gid00036/gid00032/gid00050 /gid00473/gid00001/gid00002/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00035/gid00028/gid00036/gid00045/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00039/gid00028/gid00040/gid00043 /gid00473

/gid00002/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00050 /gid00035/gid00036/gid00047/gid00032/gid00001/gid00030/gid00028/gid00029/gid00036/gid00041/gid00032/gid00047/gid00046/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00050 /gid00042/gid00042/gid00031/gid00032/gid00041/gid00001/gid00415/gid00042/gid00042/gid00045 /gid00473/gid00001/gid00002/gid00001/gid00050/gid00028/gid00039/gid00038 /gid00496/gid00036/gid00041/gid00001/gid00030/gid00039/gid00042/gid00046/gid00032/gid00047/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00039/gid00042/gid00047/gid00046/gid00001/gid00042/gid00033/gid00001/gid00046/gid00035/gid00032/gid00039/gid00049 /gid00032/gid00046 /gid00473/gid00001 /gid00002/gid00041/gid00001/gid00032/gid00040/gid00043/gid00047/gid00052/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00039/gid00042/gid00046/gid00032/gid00047/gid00001/gid00028/gid00041/gid00031/gid00001/gid00046/gid00035/gid00032/gid00039/gid00049 /gid00032/gid00046 /gid00473

/gid00002/gid00001/gid00039/gid00036 /gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00414/gid00039/gid00039/gid00032/gid00031/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00033/gid00048/gid00045/gid00041/gid00036/gid00047/gid00048/gid00045/gid00032 /gid00474/gid00001/gid00028/gid00001/gid00034/gid00045/gid00028/gid00041/gid00031/gid00001/gid00043/gid00036/gid00028/gid00041/gid00042 /gid00474/gid00001/gid00028/gid00001/gid00414/gid00045/gid00032/gid00001/gid00043/gid00039/gid00028/gid00030/gid00032 /gid00474/gid00001/gid00028/gid00001/gid00043/gid00028/gid00036/gid00041/gid00047/gid00036/gid00041/gid00034/gid00001/gid00474/gid00001/gid00028/gid00001/gid00039/gid00028/gid00045/gid00034/gid00032/gid00001 /gid00050/gid00036/gid00041/gid00031/gid00042/gid00050 /gid00473/gid00001/gid00002/gid00001/gid00039/gid00036 /gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00042/gid00048/gid00030/gid00035/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00030/gid00032/gid00036/gid00039/gid00036/gid00041/gid00034/gid00001/gid00033/gid00028/gid00041/gid00473

/gid00002/gid00001/gid00034/gid00045/gid00028/gid00041/gid00031/gid00001/gid00043/gid00036/gid00028/gid00041/gid00042/gid00001/gid00046/gid00036/gid00047/gid00047/gid00036/gid00041/gid00034/gid00001/gid00036/gid00041/gid00001/gid00028/gid00001/gid00039/gid00036/gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00041/gid00032/gid00051/gid00047/gid00001/gid00047/gid00042/gid00001/gid00028/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050 /gid00473/gid00001/gid00002/gid00001/gid00039/gid00036 /gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00414/gid00039/gid00039/gid00032/gid00031/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001 /gid00033/gid00048/gid00045/gid00041/gid00036/gid00047/gid00048/gid00045/gid00032/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00414/gid00045/gid00032/gid00001/gid00043/gid00039/gid00028/gid00030/gid00032 /gid00473/gid00001/gid00002/gid00001/gid00029/gid00039/gid00028/gid00030/gid00038/gid00001/gid00043/gid00036/gid00028/gid00041/gid00042/gid00001/gid00046/gid00036/gid00047/gid00047/gid00036/gid00041/gid00034/gid00001/gid00036/gid00041/gid00001/gid00028/gid00001/gid00039/gid00036/gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00041/gid00032/gid00051/gid00047/gid00001/gid00047/gid00042/gid00001/gid00028/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050 /gid00473

/gid00002/gid00001/gid00031/gid00036/gid00041/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00035/gid00028/gid00041/gid00031/gid00032/gid00039/gid00036/gid00032/gid00045/gid00001/gid00028/gid00001/gid00047/gid00028/gid00029/gid00039/gid00032/gid00001/gid00028/gid00041/gid00031/gid00001/gid00030/gid00035/gid00028/gid00036/gid00045/gid00046 /gid00473/gid00001/gid00002/gid00001/gid00039/gid00036/gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00050 /gid00035/gid00036/gid00047/gid00032/gid00001/gid00050/gid00028/gid00039/gid00039/gid00046/gid00001 /gid00028/gid00041/gid00031/gid00001/gid00050 /gid00042/gid00042/gid00031/gid00001/gid00415/gid00042/gid00042/gid00045/gid00046 /gid00473/gid00001/gid00002/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00040/gid00036/gid00045/gid00045/gid00042/gid00045/gid00001/gid00042/gid00041/gid00001/gid00047/gid00035/gid00032/gid00001/gid00050/gid00028/gid00039/gid00039/gid00473

/gid00002/gid00001/gid00029/gid00032/gid00031/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00029/gid00032/gid00031/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00040/gid00036/gid00045/gid00045/gid00042/gid00045/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050 /gid00473/gid00001/gid00002/gid00001/gid00049 /gid00028/gid00046/gid00032/gid00001/gid00042/gid00033/gid00001/gid00415/gid00042/gid00050 /gid00032/gid00045/gid00046/gid00001/gid00042/gid00041/gid00001/gid00028/gid00001/gid00046/gid00035/gid00032/gid00039/gid00033/gid00001/gid00036/gid00041/gid00001/gid00028/gid00001 /gid00045/gid00042/gid00042/gid00040/gid00473/gid00001/gid00002/gid00001/gid00035/gid00028/gid00039/gid00039/gid00050/gid00028/gid00052/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00047/gid00050 /gid00042/gid00001/gid00033/gid00045/gid00028/gid00040/gid00032/gid00031/gid00001/gid00043/gid00036/gid00030/gid00047/gid00048/gid00045/gid00032/gid00046/gid00001/gid00042/gid00041/gid00001/gid00047/gid00035/gid00032/gid00001/gid00050/gid00028/gid00039/gid00039/gid00473

/gid00002/gid00001/gid00039/gid00036 /gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00414/gid00039/gid00039/gid00032/gid00031/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00033/gid00048/gid00045/gid00041/gid00036/gid00047/gid00048/gid00045/gid00032/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00039/gid00028/gid00045/gid00034/gid00032/gid00001/gid00040/gid00036/gid00045/gid00045/gid00042/gid00045 /gid00473/gid00001/gid00002/gid00001/gid00047/gid00028/gid00029/gid00039/gid00032/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00039/gid00028/gid00040/gid00043/gid00001/gid00042/gid00041/gid00001/gid00036/gid00047/gid00473/gid00001/gid00002/gid00001 /gid00039/gid00036 /gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00414/gid00039/gid00039/gid00032/gid00031/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00033/gid00048/gid00045/gid00041/gid00036/gid00047/gid00048/gid00045/gid00032/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00030/gid00035/gid00028/gid00041/gid00031/gid00032/gid00039/gid00036/gid00032/gid00045 /gid00473

/gid00002/gid00001/gid00039/gid00028/gid00045/gid00034/gid00032/gid00001/gid00038/gid00036/gid00047/gid00030/gid00035/gid00032/gid00041/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00032/gid00041/gid00047/gid00032/gid00045/gid00001/gid00036/gid00046/gid00039/gid00028/gid00041/gid00031/gid00001/gid00028/gid00041/gid00031/gid00001/gid00050 /gid00035/gid00036/gid00047/gid00032/gid00001/gid00030/gid00028/gid00041/gid00029/gid00036/gid00041/gid00032/gid00047/gid00046 /gid00473/gid00001/gid00002/gid00001/gid00031/gid00036/gid00041/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00047/gid00028/gid00029/gid00039/gid00032/gid00001 /gid00028/gid00041/gid00031/gid00001/gid00030/gid00035/gid00028/gid00036/gid00045/gid00046 /gid00473/gid00001/gid00002/gid00001/gid00049/gid00036/gid00032/gid00050/gid00001/gid00042/gid00033/gid00001/gid00028/gid00001/gid00043/gid00042/gid00042/gid00039/gid00001/gid00047/gid00035/gid00045/gid00042/gid00048/gid00034/gid00035/gid00001/gid00028/gid00001/gid00034/gid00039/gid00028/gid00046/gid00046/gid00001/gid00031/gid00042/gid00042/gid00045 /gid00473/gid00001/gid00002/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00039/gid00042/gid00047/gid00001/gid00042/gid00033/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050/gid00046 /gid00473

/gid00002/gid00001/gid00039/gid00036 /gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00050 /gid00035/gid00036/gid00047/gid00032/gid00001/gid00030/gid00042/gid00048 /gid00049 /gid00035/gid00001/gid00028/gid00041/gid00031/gid00001/gid00050 /gid00042/gid00042/gid00031/gid00032/gid00041/gid00001/gid00415/gid00042/gid00042/gid00045/gid00046 /gid00473/gid00001/gid00002/gid00001/gid00039/gid00036/gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00414/gid00039/gid00039/gid00032/gid00031/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00033/gid00048/gid00045/gid00041/gid00036/gid00496 /gid00047/gid00048/gid00045/gid00032 /gid00474/gid00001/gid00028/gid00001/gid00030/gid00032/gid00036/gid00039/gid00036/gid00041/gid00034/gid00001/gid00033/gid00028/gid00041/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00415/gid00028/gid00047/gid00001/gid00046/gid00030/gid00045/gid00032/gid00032/gid00041/gid00001 /gid00021/gid00023 /gid00473

/gid00002/gid00001/gid00029/gid00028/gid00047/gid00035/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00029/gid00028/gid00047/gid00035/gid00047/gid00048/gid00029/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050 /gid00473/gid00001/gid00002/gid00001/gid00039/gid00028/gid00045/gid00034/gid00032/gid00001/gid00029/gid00028/gid00047/gid00035/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00050 /gid00042/gid00042/gid00031/gid00032/gid00041/gid00001/gid00415/gid00042/gid00042/gid00045/gid00001/gid00028/gid00041/gid00031/gid00001 /gid00047/gid00050/gid00042/gid00001/gid00046/gid00036/gid00041/gid00038/gid00046/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00039/gid00028/gid00045/gid00034/gid00032/gid00001/gid00040/gid00036/gid00045/gid00045/gid00042/gid00045 /gid00473/gid00001

口

/gid00002/gid00001/gid00043/gid00042/gid00047/gid00047/gid00032/gid00031/gid00001/gid00043/gid00039/gid00028/gid00041/gid00047/gid00001/gid00036/gid00041/gid00001/gid00033/gid00045/gid00042/gid00041/gid00047/gid00001/gid00042/gid00033/gid00001/gid00028/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050 /gid00473/gid00001/gid00002/gid00001/gid00039/gid00036 /gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00414/gid00039/gid00039/gid00032/gid00031/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00033/gid00048/gid00045/gid00041/gid00036/gid00047/gid00048/gid00045/gid00032/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00043/gid00036/gid00028/gid00041/gid00042 /gid00473/gid00001/gid00002/gid00001 /gid00049/gid00036/gid00032/gid00050/gid00001/gid00042/gid00033/gid00001/gid00028/gid00001/gid00043/gid00028/gid00047/gid00036/gid00042/gid00001/gid00047/gid00035/gid00045/gid00042/gid00048/gid00034/gid00035/gid00001/gid00028/gid00041/gid00001/gid00042/gid00043/gid00032/gid00041/gid00001/gid00031/gid00042/gid00042/gid00045 /gid00473

/gid00002/gid00001/gid00035/gid00028/gid00039/gid00039/gid00050/gid00028/gid00052/gid00001/gid00035/gid00032/gid00028/gid00031/gid00036/gid00041/gid00034/gid00001/gid00047/gid00042/gid00001/gid00028/gid00001/gid00039/gid00036/gid00049/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00473/gid00001/gid00002/gid00001/gid00035/gid00028/gid00039/gid00039/gid00050/gid00028/gid00052/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00035/gid00028/gid00041/gid00031/gid00032/gid00039/gid00036/gid00032/gid00045/gid00001/gid00028/gid00041/gid00031/gid00001/gid00050 /gid00035/gid00036/gid00047/gid00032/gid00001/gid00050/gid00028/gid00039/gid00039/gid00046 /gid00473/gid00001/gid00002/gid00001 /gid00039/gid00028/gid00045/gid00034/gid00032/gid00001/gid00050 /gid00035/gid00036/gid00047/gid00032/gid00001/gid00030/gid00028/gid00029/gid00036/gid00041/gid00032/gid00047/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00040/gid00042/gid00045/gid00045/gid00042/gid00045/gid00046/gid00001/gid00042/gid00041/gid00001/gid00036/gid00047/gid00473

/gid00002/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00039/gid00028/gid00045/gid00034/gid00032/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00043/gid00028/gid00036/gid00041/gid00047/gid00036/gid00041/gid00034/gid00001/gid00042/gid00041/gid00001/gid00047/gid00035/gid00032/gid00001/gid00050/gid00028/gid00039/gid00039/gid00473/gid00001/gid00002/gid00001/gid00031/gid00036/gid00041/gid00036/gid00041/gid00034/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00047/gid00028/gid00029/gid00039/gid00032 /gid00474/gid00001 /gid00030/gid00035/gid00028/gid00036/gid00045/gid00046/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00030/gid00035/gid00028/gid00041/gid00031/gid00032/gid00039/gid00036/gid00032/gid00045 /gid00473/gid00001/gid00002/gid00001/gid00049/gid00036/gid00032/gid00050/gid00001/gid00042/gid00033/gid00001/gid00028/gid00001/gid00038/gid00036/gid00047/gid00030/gid00035/gid00032/gid00041/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00050 /gid00035/gid00036/gid00047/gid00032/gid00001/gid00030/gid00028/gid00041/gid00029/gid00036/gid00041/gid00032/gid00047/gid00046/gid00001/gid00028/gid00041/gid00031/gid00001/gid00050 /gid00042/gid00042/gid00031/gid00001/gid00415/gid00042/gid00042/gid00045/gid00046 /gid00473

/gid00002/gid00001/gid00029/gid00032/gid00031/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00029/gid00032/gid00031/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050 /gid00473/gid00001/gid00002/gid00001/gid00029/gid00032/gid00031/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00042/gid00048/gid00030/gid00035/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00029/gid00032/gid00031/gid00473/gid00001/gid00002/gid00001/gid00049/gid00028/gid00046/gid00032/gid00001/gid00042/gid00033/gid00001 /gid00415/gid00042/gid00050/gid00032/gid00045/gid00046/gid00001/gid00046/gid00036/gid00047/gid00047/gid00036/gid00041/gid00034/gid00001/gid00041/gid00032/gid00051/gid00047/gid00001/gid00047/gid00042/gid00001/gid00028/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050/gid00001/gid00042/gid00041/gid00001/gid00047/gid00042/gid00043/gid00001/gid00042/gid00033/gid00001/gid00028/gid00001/gid00047/gid00028/gid00029/gid00039/gid00032 /gid00473

/gid00002/gid00001/gid00029/gid00028/gid00047/gid00035/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00040/gid00036/gid00045/gid00045/gid00042/gid00045/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00049/gid00028/gid00046/gid00032/gid00001/gid00042/gid00033/gid00001/gid00415/gid00042/gid00050 /gid00032/gid00045/gid00046 /gid00473/gid00001/gid00002/gid00001/gid00029/gid00028/gid00047/gid00035/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00047/gid00042/gid00036/gid00039/gid00032/gid00047/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001 /gid00046/gid00035/gid00042/gid00050/gid00032/gid00045/gid00001/gid00046/gid00047/gid00028/gid00039/gid00039/gid00473/gid00001

/gid00002/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00046/gid00036/gid00041/gid00038/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00040/gid00036/gid00045/gid00045/gid00042/gid00045 /gid00473/gid00001/gid00002/gid00001/gid00030/gid00042/gid00048/gid00043/gid00039/gid00032/gid00001/gid00042/gid00033/gid00001/gid00029/gid00032/gid00031/gid00046/gid00001/gid00036/gid00041/gid00001/gid00028/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00039/gid00042/gid00030/gid00038/gid00001/gid00042/gid00041/gid00001/gid00047/gid00035/gid00032/gid00001/gid00050/gid00028/gid00039/gid00039/gid00473/gid00001 /gid00002/gid00001/gid00035/gid00042/gid00047/gid00032/gid00039/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00029/gid00032/gid00031/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00031/gid00032/gid00046/gid00038/gid00473

/gid00002/gid00001/gid00047/gid00035/gid00032/gid00028/gid00047/gid00032/gid00045/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00045/gid00042/gid00050/gid00001/gid00042/gid00033/gid00001/gid00045/gid00032/gid00030/gid00039/gid00036/gid00041/gid00032/gid00045/gid00046 /gid00473/gid00001/gid00002/gid00001/gid00035/gid00028/gid00039/gid00039/gid00050/gid00028/gid00052/gid00001/gid00039/gid00032/gid00028/gid00031/gid00036/gid00041/gid00034/gid00001/gid00047/gid00042/gid00001/gid00028/gid00001/gid00040/gid00042/gid00049/gid00036/gid00032/gid00001/gid00047/gid00035/gid00032/gid00028/gid00047/gid00032/gid00045/gid00001/gid00045/gid00042/gid00042/gid00040/gid00473/gid00001/gid00002/gid00001 /gid00039/gid00028/gid00045/gid00034/gid00032/gid00001/gid00032/gid00040/gid00043/gid00047/gid00052/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00043/gid00045/gid00042/gid00037/gid00032/gid00030/gid00047/gid00042/gid00045/gid00001/gid00046/gid00030/gid00045/gid00032/gid00032/gid00041/gid00001/gid00036/gid00041/gid00001/gid00047/gid00035/gid00032/gid00001/gid00030/gid00042/gid00045/gid00041/gid00032/gid00045 /gid00473

/gid00002/gid00001/gid00035/gid00042/gid00048/gid00046/gid00032/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00414/gid00045/gid00032/gid00001/gid00043/gid00036/gid00047/gid00001/gid00036/gid00041/gid00001/gid00033/gid00045/gid00042/gid00041/gid00047/gid00001/gid00042/gid00033/gid00001/gid00036/gid00047/gid00473/gid00001/gid00002/gid00001/gid00043/gid00028/gid00047/gid00036/gid00042/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00414/gid00045/gid00032/gid00001/gid00043/gid00036/gid00047/gid00001/gid00036/gid00041/gid00001/gid00047/gid00035/gid00032/gid00001/gid00040/gid00036/gid00031/gid00031/gid00039/gid00032/gid00001/gid00042/gid00033/gid00001/gid00036/gid00047/gid00473/gid00001/gid00002/gid00001/gid00039/gid00028/gid00045/gid00034/gid00032/gid00001 /gid00035/gid00042/gid00048/gid00046/gid00032/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00043/gid00042/gid00042/gid00039/gid00001/gid00036/gid00041/gid00001/gid00033/gid00045/gid00042/gid00041/gid00047/gid00001/gid00042/gid00033/gid00001/gid00036/gid00047/gid00473/gid00001/gid00002/gid00001/gid00046/gid00050/gid00036/gid00040/gid00040/gid00036/gid00041/gid00034/gid00001/gid00043/gid00042/gid00042/gid00039/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00050/gid00028/gid00047/gid00032/gid00045/gid00033/gid00028/gid00039/gid00039/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00045/gid00042/gid00030/gid00038/gid00001/gid00050/gid00028/gid00039/gid00039/gid00473

/gid00003/gid00048/gid00045/gid00046/gid00047/gid00036/gid00041/gid00034/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00049/gid00036/gid00029/gid00045/gid00028/gid00041/gid00047/gid00001/gid00035/gid00048/gid00032/gid00046/gid00001/gid00028/gid00041/gid00031/gid00001/gid00032/gid00051/gid00028/gid00034/gid00034/gid00032/gid00045/gid00028/gid00047/gid00032/gid00031/gid00001/gid00043/gid00045/gid00042/gid00043/gid00042/gid00045 /gid00047/gid00036/gid00042/gid00041/gid00046 /gid00474/gid00001/gid00047/gid00035/gid00032/gid00001/gid00030/gid00028/gid00045 /gid00047/gid00042/gid00042/gid00041/gid00496/gid00046/gid00047/gid00052 /gid00039/gid00032/gid00031/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00046/gid00043/gid00028/gid00045/gid00038/gid00039/gid00032/gid00031/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00050 /gid00035/gid00036/gid00040/gid00046/gid00052/gid00001 /gid00028/gid00041/gid00031/gid00001/gid00030/gid00035/gid00032/gid00032/gid00045 /gid00474/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00415/gid00042/gid00028/gid00047/gid00036/gid00041/gid00034/gid00001/gid00046/gid00035/gid00032/gid00039/gid00049 /gid00032/gid00046/gid00001/gid00030/gid00045/gid00028/gid00040/gid00040/gid00032/gid00031/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00042/gid00031/gid00031/gid00039/gid00052/gid00001/gid00046/gid00035/gid00028 /gid00043/gid00032/gid00031/gid00001/gid00047/gid00045/gid00036/gid00041/gid00038 /gid00032/gid00047/gid00046 /gid00474/gid00001/gid00028/gid00001/gid00030/gid00042/gid00040/gid00036/gid00030/gid00028/gid00039/gid00039/gid00052/gid00001/gid00042/gid00049 /gid00032/gid00045/gid00046/gid00036/gid00053/gid00032/gid00031/gid00001/gid00043/gid00042/gid00039/gid00038/gid00028/gid00496/gid00031/gid00042/gid00047/gid00001 /gid00028/gid00045/gid00040/gid00030/gid00035/gid00028/gid00036/gid00045/gid00001/gid00043/gid00032/gid00045/gid00030/gid00035/gid00032/gid00031/gid00001/gid00041/gid00032/gid00028/gid00045/gid00001/gid00028/gid00001/gid00034/gid00045/gid00028 /gid00049/gid00036/gid00047/gid00052/gid00496/gid00031/gid00032/gid00033/gid00052/gid00036/gid00041/gid00034/gid00474/gid00001/gid00047/gid00036/gid00039/gid00047/gid00032/gid00031/gid00001/gid00039/gid00028/gid00040/gid00043 /gid00474/gid00001/gid00028/gid00041/gid00031/gid00001/gid00047/gid00035/gid00032/gid00001/gid00030/gid00028/gid00041/gid00031/gid00052/gid00496/gid00046/gid00047/gid00045/gid00036/gid00043/gid00032/gid00031/gid00001/gid00050/gid00028/gid00039/gid00039 /gid00043/gid00028 /gid00043/gid00032/gid00045/gid00001/gid00030/gid00045/gid00032/gid00028/gid00047/gid00036/gid00041/gid00034/gid00001/gid00028/gid00001/gid00043/gid00039/gid00028/gid00052/gid00033/gid00048/gid00039/gid00001 /gid00029/gid00028/gid00030/gid00038 /gid00031/gid00045/gid00042/gid00043/gid00001/gid00047/gid00042/gid00001/gid00047/gid00035/gid00032/gid00001/gid00040/gid00032/gid00045/gid00045/gid00052/gid00001/gid00030/gid00035/gid00028/gid00042/gid00046 /gid00474/gid00001/gid00032/gid00051/gid00048/gid00031/gid00036/gid00041/gid00034/gid00001/gid00028/gid00001/gid00046/gid00032/gid00041/gid00046/gid00032/gid00001/gid00042/gid00033/gid00001/gid00033/gid00048/gid00041/gid00001/gid00028/gid00041/gid00031/gid00001/gid00029/gid00042/gid00048/gid00041/gid00031/gid00039/gid00032/gid00046/gid00046/gid00001/gid00036/gid00040/gid00028/gid00034/gid00036/gid00041/gid00028/gid00047/gid00036/gid00042/gid00041/gid00473

/gid00003/gid00028/gid00047/gid00035/gid00032/gid00031/gid00001/gid00036/gid00041/gid00001/gid00047/gid00035/gid00032/gid00001/gid00046/gid00042/gid00416/gid00474/gid00001/gid00031/gid00028 /gid00043/gid00043/gid00039/gid00032/gid00031/gid00001/gid00039/gid00036/gid00034/gid00035/gid00047/gid00001/gid00042/gid00033/gid00001/gid00047/gid00035/gid00032/gid00001/gid00046/gid00032/gid00047/gid00047/gid00036/gid00041/gid00034/gid00001/gid00046/gid00048/gid00041/gid00474/gid00001/gid00047/gid00035/gid00032/gid00001/gid00046/gid00036/gid00039/gid00032/gid00041/gid00047/gid00001/gid00046/gid00047/gid00045/gid00032/gid00032/gid00047/gid00001/gid00039/gid00028/gid00052/gid00001/gid00048/gid00041/gid00031/gid00036/gid00046/gid00047/gid00048/gid00045/gid00029/gid00032/gid00031/gid00474/gid00001/gid00045/gid00032/gid00049 /gid00032/gid00028/gid00039/gid00036/gid00041/gid00034/gid00001/gid00047/gid00035/gid00032/gid00001/gid00034/gid00045/gid00028/gid00041/gid00496 /gid00031/gid00032/gid00048/gid00045/gid00001/gid00042/gid00033/gid00001/gid00036/gid00047/gid00046/gid00001/gid00030/gid00042/gid00029/gid00029/gid00039/gid00032/gid00046/gid00047/gid00042/gid00041/gid00032/gid00001/gid00047/gid00032/gid00051/gid00047/gid00048/gid00045/gid00032 /gid00474/gid00001/gid00047/gid00035/gid00032/gid00001/gid00045/gid00048/gid00046/gid00047/gid00032/gid00031/gid00001/gid00039/gid00028/gid00040/gid00043/gid00043/gid00042/gid00046/gid00047/gid00046/gid00001/gid00029/gid00032/gid00028/gid00045/gid00036/gid00041/gid00034/gid00001/gid00050/gid00036/gid00047/gid00041/gid00032/gid00046/gid00046/gid00001/gid00047/gid00042/gid00001/gid00033/gid00042/gid00045/gid00034/gid00042/gid00047/gid00047/gid00032/gid00041/gid00001/gid00046/gid00047/gid00042/gid00045/gid00036/gid00032/gid00046 /gid00474/gid00001/gid00028/gid00041/gid00031/gid00001/gid00047/gid00035/gid00032/gid00001/gid00028/gid00041/gid00030/gid00036/gid00032/gid00041/gid00047/gid00474/gid00001 /gid00036 /gid00049/gid00052/gid00496/gid00030/gid00039/gid00028/gid00031/gid00001/gid00035/gid00042/gid00048/gid00046/gid00032/gid00046/gid00001/gid00046/gid00047/gid00028/gid00041/gid00031/gid00036/gid00041/gid00034/gid00001/gid00046/gid00047/gid00042/gid00036/gid00030/gid00028/gid00039/gid00039/gid00052 /gid00474/gid00001/gid00047/gid00035/gid00032/gid00036/gid00045/gid00001/gid00046/gid00035/gid00048/gid00047/gid00047/gid00032/gid00045/gid00032/gid00031/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050/gid00046/gid00001/gid00028/gid00041/gid00031/gid00001/gid00050 /gid00032/gid00028/gid00047/gid00035/gid00032/gid00045 /gid00496/gid00029/gid00032/gid00028/gid00047/gid00032/gid00041/gid00001/gid00031/gid00042/gid00042/gid00045/gid00046/gid00001/gid00046/gid00043/gid00032/gid00028/gid00038/gid00036/gid00041/gid00034/gid00001/gid00049 /gid00042/gid00039/gid00048/gid00040/gid00032/gid00046/gid00001 /gid00028/gid00029/gid00042/gid00048/gid00047/gid00001/gid00047/gid00035/gid00032/gid00036/gid00045/gid00001/gid00043/gid00028/gid00046/gid00046/gid00028/gid00034/gid00032/gid00001/gid00047/gid00035/gid00045/gid00042/gid00048/gid00034/gid00035/gid00001/gid00047/gid00036/gid00040/gid00032 /gid00473

/gid00002 /gid00050/gid00028/gid00046/gid00035/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00047/gid00035/gid00032/gid00001/gid00046/gid00042/gid00042/gid00047/gid00035/gid00036/gid00041/gid00034/gid00001/gid00035/gid00048/gid00032/gid00046/gid00001/gid00042/gid00033/gid00001/gid00028/gid00041/gid00001/gid00028/gid00045/gid00045/gid00028/gid00052/gid00001/gid00042/gid00033/gid00001/gid00029/gid00039/gid00042/gid00046/gid00046/gid00042/gid00040/gid00046 /gid00474/gid00001/gid00047/gid00035/gid00032/gid00001/gid00047/gid00045/gid00028/gid00041/gid00044/gid00048/gid00036/gid00039/gid00001/gid00034 /gid00028/gid00045/gid00031/gid00032/gid00041/gid00001/gid00050/gid00028/gid00046/gid00001/gid00028/gid00001/gid00046/gid00052/gid00040/gid00043/gid00035/gid00042/gid00041 /gid00052/gid00001/gid00042/gid00033/gid00001/gid00039/gid00036/gid00033/gid00032/gid00001/gid00028/gid00041/gid00031/gid00001 /gid00030/gid00042/gid00039/gid00042/gid00045 /gid00474/gid00001/gid00050 /gid00035/gid00032/gid00045/gid00032/gid00001/gid00047/gid00035/gid00032/gid00001/gid00046/gid00042/gid00416/gid00001/gid00040/gid00048/gid00045/gid00040/gid00048/gid00045/gid00001/gid00042/gid00033/gid00001/gid00047/gid00035/gid00032/gid00001/gid00029/gid00028/gid00029/gid00029/gid00039/gid00036/gid00041/gid00034/gid00001/gid00029/gid00045/gid00042/gid00042/gid00038/gid00001/gid00036/gid00041/gid00047/gid00032/gid00045 /gid00047/gid00050/gid00036/gid00041/gid00032/gid00031/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00047/gid00035/gid00032/gid00001/gid00050 /gid00035/gid00036/gid00046/gid00043/gid00032/gid00045/gid00036/gid00041/gid00034/gid00001/gid00050/gid00036/gid00039/gid00039/gid00042/gid00050/gid00046 /gid00474/gid00001/gid00028/gid00041/gid00031/gid00001/gid00047/gid00035/gid00032/gid00001 /gid00036/gid00045/gid00036/gid00031/gid00032/gid00046/gid00030/gid00032/gid00041/gid00047/gid00001/gid00043/gid00032/gid00047/gid00028/gid00039/gid00046/gid00001/gid00031/gid00028/gid00041/gid00030/gid00032/gid00031/gid00001/gid00036/gid00041/gid00001/gid00047/gid00035/gid00032/gid00001/gid00034/gid00032/gid00041/gid00047/gid00039/gid00032/gid00001/gid00029/gid00045/gid00032/gid00032/gid00053/gid00032 /gid00474/gid00001/gid00030/gid00045/gid00032/gid00028/gid00047/gid00036/gid00041/gid00034/gid00001/gid00028/gid00041/gid00001/gid00032/gid00041/gid00030/gid00035/gid00028/gid00041/gid00047/gid00036/gid00041/gid00034/gid00001/gid00046/gid00028/gid00041/gid00030/gid00047/gid00048/gid00028/gid00045/gid00052/gid00001/gid00042/gid00033/gid00001/gid00029/gid00032/gid00028/gid00048/gid00047/gid00052/gid00001/gid00028/gid00041/gid00031/gid00001/gid00046/gid00032/gid00045/gid00032/gid00041/gid00036/gid00047/gid00052 /gid00473

/gid00021/gid00035/gid00036/gid00046/gid00001/gid00028/gid00041/gid00030/gid00036/gid00032/gid00041/gid00047/gid00001/gid00030/gid00028/gid00046/gid00047/gid00039/gid00032/gid00001/gid00046/gid00047/gid00028/gid00041/gid00031/gid00046/gid00001/gid00040/gid00028/gid00037/gid00032/gid00046/gid00047/gid00036/gid00030/gid00028/gid00039/gid00039/gid00052/gid00001/gid00042/gid00041/gid00001/gid00028/gid00001/gid00045/gid00048/gid00034/gid00034/gid00032/gid00031/gid00001/gid00035/gid00036/gid00039/gid00039/gid00474/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00047/gid00042/gid00050 /gid00032/gid00045/gid00036/gid00041/gid00034/gid00001/gid00047/gid00048/gid00045/gid00045/gid00032/gid00047/gid00046 /gid00474/gid00001/gid00047/gid00035/gid00036/gid00030/gid00038/gid00001/gid00046/gid00047/gid00042/gid00041/gid00032/gid00001/gid00050/gid00028/gid00039/gid00039/gid00046 /gid00474/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001 /gid00033 /gid00042/gid00045/gid00040/gid00036/gid00031/gid00028/gid00029/gid00039/gid00032/gid00001/gid00031/gid00045/gid00028 /gid00050 /gid00029/gid00045/gid00036/gid00031/gid00034/gid00032/gid00001/gid00042/gid00049 /gid00032/gid00045/gid00001/gid00028/gid00001/gid00047/gid00036/gid00040/gid00032/gid00496/gid00050 /gid00042/gid00045/gid00041/gid00001/gid00040/gid00042/gid00028/gid00047/gid00473/gid00001/gid00010/gid00041/gid00046/gid00036/gid00031/gid00032 /gid00474/gid00001/gid00031/gid00036/gid00040/gid00039/gid00052/gid00001/gid00039/gid00036/gid00047/gid00001/gid00035/gid00028/gid00039/gid00039/gid00050/gid00028/gid00052/gid00046/gid00001/gid00039/gid00032/gid00028/gid00031/gid00001/gid00047/gid00042/gid00001/gid00034/gid00045/gid00028/gid00041/gid00031/gid00001/gid00030/gid00035/gid00028/gid00040/gid00029/gid00032/gid00045/gid00046/gid00001/gid00028/gid00031/gid00042/gid00045/gid00041/gid00032/gid00031/gid00001 /gid00050/gid00036/gid00047/gid00035/gid00001/gid00042/gid00045/gid00041/gid00028/gid00047/gid00032/gid00001/gid00030/gid00028/gid00045/gid00049/gid00036/gid00041/gid00034/gid00046 /gid00474/gid00001/gid00028/gid00039/gid00039/gid00001/gid00045/gid00032/gid00046/gid00042/gid00041/gid00028/gid00047/gid00036/gid00041/gid00034/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00047/gid00035/gid00032/gid00001/gid00032/gid00030/gid00035/gid00042/gid00032/gid00046/gid00001/gid00042/gid00033/gid00001/gid00028/gid00001/gid00029/gid00052 /gid00034/gid00042/gid00041/gid00032/gid00001/gid00032/gid00045/gid00028/gid00473

/gid00002/gid00001/gid00050/gid00035/gid00036/gid00047/gid00032/gid00001/gid00045/gid00032/gid00033/gid00045/gid00036/gid00034/gid00032/gid00045/gid00028/gid00047/gid00042/gid00045/gid00001/gid00033/gid00045/gid00032/gid00032/gid00053/gid00032/gid00045/gid00001/gid00046/gid00036/gid00047/gid00047/gid00036/gid00041/gid00034/gid00001/gid00041/gid00032/gid00051/gid00047/gid00001/gid00047/gid00042/gid00001/gid00028/gid00001/gid00050/gid00036/gid00041/gid00031/gid00042/gid00050 /gid00473/gid00001/gid00002/gid00001/gid00047/gid00045/gid00028/gid00046/gid00035/gid00001/gid00030/gid00028/gid00041/gid00001/gid00041/gid00032/gid00051/gid00047/gid00001 /gid00047/gid00042/gid00001/gid00028/gid00001/gid00045/gid00032/gid00033/gid00045/gid00036/gid00034/gid00032/gid00045/gid00028/gid00047/gid00042/gid00045/gid00001/gid00036/gid00041/gid00001/gid00028/gid00001/gid00038/gid00036/gid00047/gid00030/gid00035/gid00032/gid00041/gid00473

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00002/gid00001/gid00031/gid00032/gid00046/gid00038/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00042/gid00040/gid00043/gid00048/gid00047/gid00032/gid00045 /gid00474/gid00001/gid00038 /gid00032/gid00052 /gid00029/gid00042/gid00028/gid00045/gid00031/gid00474/gid00001/gid00040/gid00042/gid00048/gid00046/gid00032/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00047/gid00032/gid00031/gid00031/gid00052/gid00001/gid00029/gid00032/gid00028/gid00045 /gid00473/gid00001/gid00002/gid00001/gid00034/gid00045/gid00032/gid00032/gid00041/gid00001 /gid00046/gid00047/gid00042/gid00042/gid00039/gid00001/gid00036/gid00046/gid00001/gid00041/gid00032/gid00051/gid00047/gid00001/gid00047/gid00042/gid00001/gid00047/gid00035/gid00032/gid00001/gid00031/gid00032/gid00046/gid00038/gid00473

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00002/gid00001/gid00031/gid00032/gid00046/gid00038/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00042/gid00040/gid00043/gid00048/gid00047/gid00032/gid00045/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00030/gid00042/gid00040/gid00043/gid00048/gid00047/gid00032/gid00045/gid00001/gid00040/gid00042/gid00041/gid00036/gid00047/gid00042/gid00045/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00038 /gid00032/gid00052 /gid00029/gid00042/gid00028/gid00045/gid00031/gid00001/gid00042/gid00041/gid00001/gid00036/gid00047/gid00473/gid00001 /gid00002/gid00001/gid00030/gid00042/gid00040/gid00043/gid00048/gid00047/gid00032/gid00045/gid00001/gid00031/gid00032/gid00046/gid00038/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00040/gid00028/gid00034 /gid00028/gid00053/gid00036/gid00041/gid00032/gid00001/gid00042/gid00041/gid00001/gid00047/gid00042/gid00043/gid00001/gid00042/gid00033/gid00001/gid00036/gid00047/gid00473

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00002/gid00001/gid00047/gid00045/gid00028/gid00046/gid00035/gid00001/gid00030/gid00028/gid00041/gid00001/gid00046/gid00036/gid00047/gid00047/gid00036/gid00041/gid00034/gid00001/gid00041/gid00032/gid00051/gid00047/gid00001/gid00047/gid00042/gid00001/gid00028/gid00001/gid00045/gid00028/gid00031/gid00036/gid00028/gid00047/gid00042/gid00045/gid00001/gid00036/gid00041/gid00001/gid00028/gid00001/gid00029/gid00028/gid00047/gid00035/gid00045/gid00042/gid00042/gid00040/gid00473/gid00001/gid00002/gid00001/gid00029/gid00028/gid00047/gid00035/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001 /gid00047/gid00042/gid00036/gid00039/gid00032/gid00047/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00045/gid00042/gid00039/gid00039/gid00001/gid00042/gid00033/gid00001/gid00047/gid00042/gid00036/gid00039/gid00032/gid00047/gid00001/gid00043/gid00028 /gid00043/gid00032/gid00045 /gid00473

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00002/gid00001/gid00415/gid00028/gid00047/gid00001/gid00046/gid00030/gid00045/gid00032/gid00032/gid00041/gid00001 /gid00021/gid00023 /gid00001/gid00046/gid00036/gid00047/gid00047/gid00036/gid00041/gid00034/gid00001/gid00042/gid00041/gid00001/gid00047/gid00042/gid00043/gid00001/gid00042/gid00033/gid00001/gid00028/gid00001/gid00047/gid00049/gid00001/gid00046/gid00047/gid00028/gid00041/gid00031/gid00473/gid00001/gid00002/gid00001/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00046/gid00047/gid00028/gid00041/gid00031/gid00036/gid00041/gid00034/gid00001 /gid00046/gid00043/gid00032/gid00028/gid00038 /gid00032/gid00045/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001 /gid00021/gid00023 /gid00473

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00002/gid00001/gid00038/gid00036/gid00047/gid00030/gid00035/gid00032/gid00041/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00046/gid00036/gid00041/gid00038/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00045/gid00032/gid00033/gid00045/gid00036/gid00034/gid00032/gid00045/gid00028/gid00047/gid00042/gid00045 /gid00473/gid00001/gid00002/gid00001/gid00038/gid00036/gid00047/gid00030/gid00035/gid00032/gid00041/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00050 /gid00042/gid00042/gid00031/gid00032/gid00041/gid00001/gid00030/gid00028/gid00029/gid00036/gid00496 /gid00041/gid00032/gid00047/gid00046/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00046/gid00047/gid00028/gid00036/gid00041/gid00039/gid00032/gid00046/gid00046/gid00001/gid00046/gid00047/gid00032/gid00032/gid00039/gid00001/gid00046/gid00036/gid00041/gid00038/gid00473

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00002/gid00001/gid00029/gid00032/gid00031/gid00045/gid00042/gid00042/gid00040/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00029/gid00032/gid00031/gid00474/gid00001/gid00031/gid00032/gid00046/gid00038/gid00001/gid00028/gid00041/gid00031/gid00001/gid00030/gid00035/gid00028/gid00036/gid00045 /gid00473/gid00001/gid00002/gid00001/gid00031/gid00032/gid00046/gid00038/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00042/gid00040/gid00043/gid00048/gid00047/gid00032/gid00045/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001 /gid00030/gid00035/gid00028/gid00036/gid00045/gid00001/gid00036/gid00041/gid00001/gid00028/gid00001/gid00045/gid00042/gid00042/gid00040/gid00473/gid00001/gid00002/gid00001/gid00031/gid00032/gid00046/gid00038/gid00001/gid00050/gid00036/gid00047/gid00035/gid00001/gid00028/gid00001/gid00030/gid00035/gid00028/gid00036/gid00045/gid00001/gid00028/gid00041/gid00031/gid00001/gid00028/gid00001/gid00039/gid00028/gid00040/gid00043/gid00001/gid00042/gid00041/gid00001/gid00036/gid00047/gid00473

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00010/gid00041/gid00043/gid00048/gid00047/gid00001/gid00031/gid00032/gid00043/gid00047/gid00035

/gid00008/gid00021

/gid00019/gid00032/gid00043/gid00028/gid00036/gid00041/gid00047

/gid00004/gid00042/gid00041/gid00047/gid00045/gid00042/gid00039/gid00015/gid00032/gid00047

/gid00016/gid00048/gid00045/gid00046

/gid00012/gid00032/gid00052/gid00001/gid00033/gid00045/gid00028/gid00040/gid00032

/gid00012/gid00032/gid00052/gid00001/gid00033/gid00045/gid00028/gid00040/gid00032

/gid00010/gid00041/gid00047/gid00032/gid00045/gid00043/gid00042/gid00039/gid00028/gid00047/gid00036/gid00042/gid00041/gid00001/gid00045/gid00032/gid00046/gid00048/gid00039/gid00047/gid00046

/gid00012/gid00032/gid00052/gid00001/gid00033/gid00045/gid00028/gid00040/gid00032

/gid00012/gid00032/gid00052/gid00001/gid00033/gid00045/gid00028/gid00040/gid00032

/gid00010/gid00041/gid00047/gid00032/gid00045/gid00043/gid00042/gid00039/gid00028/gid00047/gid00036/gid00042/gid00041/gid00001/gid00045/gid00032/gid00046/gid00048/gid00039/gid00047/gid00046

Peer reviews:
comments: SUMMARY:
This paper proposes a new method to generate multi-view images, ensuring pixel-to-pixel multi-view consistency.
The multi-view consistency is guaranteed by the correspondence aware module, which is utilized in the latent diffusion multi-image generation process.
The proposed method outperforms previous works for tasks related with multi-view image generation, especially in the multi-view consistency.

STRENGTHS:
1. The idea to guarantee pixel correspondence in the diffusion process is novel and reasonable.
2. The supplementary material provides codes, which show some details of the implementation.
3. The proposed method may improve the results for text to texure given meshes.
4. For different view images, the user can input different prompt.

WEAKNESSES:
1. To obtain the pixel correspondence for multi-view images, the proposed method requires to input the depth maps.
2. The authors do not explain how to deal with the depth occlusion and how to deal with the situation where the pixels in target images are not in the view of the source image.

QUESTIONS:
1. How does the proposed method perform for objects? Could we use the proposed method to generate textures given object meshes?
2. How does the authors deal with the depth occlusion and the situation where the pixels in target images are not in the view of the source image?

LIMITATIONS:
The authors addressed the limitations and the work does not have negative societal impact.
TITLE: Official Review
SOUNDNESS_CORRECTNESS: 3
DATE: 2023-07-04

comments: SUMMARY:
This paper introduces MVSDiffusion, a diffusion framework that generates multi-view images with content consistency. The problem setting is interesting and essential in practice. The proposed correspondence-aware attention mechanism provides cues for multi-view consistency.

STRENGTHS:
1. The paper proposes a novel problem setting: generating images for multiple camera poses with consistent contents.
2. The paper proposes a multi-view diffusion technique to obtain content consistency: extract features from other views guided by depth maps.
3. Panorama generation can also be improved via the multi-view diffusion framework.

WEAKNESSES:
1. The MVDiffusion relies on given high-quality multi-view depth maps. However, the depth map obtained for leaves and strings may lack details, which may impact the generated image quality.
2. The correspondences are derived from wrapped depth so that it can only support rigid static scenes.
3. The interpolation module is time-consuming but the time consumption of each module is not provided. Please show them.
4. The tailored super-resolution module is not novel.

QUESTIONS:
1. The presented panorama is blurry compared with SD (pano). Why?
2. From my point of view, MVDiffusion is able to generate multi-view images and thus can synthesize images in 3D novel views instead of pure rotations (panorama). But all the presented image sequences are almost pure rotation. What's the problem?

LIMITATIONS:
1. The multi-view image generation relies on given geometries.
2. Regions that are not captured by the pre-defined camera poses cannot be recovered.
3. As the framework needs to interpolate camera poses between keyframes. The time consumption may be quite large.
TITLE: Official Review
SOUNDNESS_CORRECTNESS: 4
DATE: 2023-07-06

{"IS_META_REVIEW": false, "comments": "SUMMARY:\nThis paper presents MVDiffusion, a new diffusion model to generate consistent multi-view images, e.g., panorama. The authors propose a novel correspondence-aware attention mechanism in order to enforce pixel-level correspondence and cross-view consistency. More specifically this mechanism is used in three modules: a generation module that generates consistent low-resolution multi-view images; an interpolation module that generates images in between; a super-resolution module. After injecting such module into Stable Diffusion Unet layers and fine-tuning the model on multi-view image dataset, the model can synthesize consistent multi-view images based on text or depth.\n\nSTRENGTHS:\n1. The main idea (improving multi-view consistency through a correspondence-aware attention mechanism) is novel, simple, effective and easy to understand. The generated results are very impressive, see figure 1, 4, 5, 6 and all the images in the supplementary.\n2. The paper is well-written especially the method part where the main design is demonstrated clearly, see section 4.1 and figure 3. The authors also provide the code in the supplementary.\n3. The comparison with previous methods and some straightforward baselines are comprehensive and the improvements are convincing.\n\nWEAKNESSES:\n1. The pipeline figure (Figure 2) could be further improved: this figure is supposed to make the audience understand the whole workflow without looking at the method text, however, for now, in this figure, it's a bit unclear to me how these modules are associated with each other at first glance.\n2. Adding a brief section on failure cases would be great: the results in the main paper and supplementary are truly impressive, however, I'm also curious what are the common failure cases of MVDiffusion. Adding a short paragraph discussion this would be beneficial to the whole community.\n3. I feel a bit confused about the panorama generation during inference time: in Line 145, it says \"The generation module generates eight 256 × 256 images, and the super-resolution module upscales to eight 1024 × 1024 images\". I am just wondering where's the interpolation module then? Or let me put this way, how many images are generated by the generation module and how many are generated by the interpolation module? I assume the key frames are generated by the generation module and more images in between are generated by the interpolation module?\n4. How to handle the conflicts in the overlap region between two generated images? If I understand correctly, although correspondence attention works very well, it still cannot guarantee the overlap region between two generated images are *exactly* matched, so I'm just curious how does this mismatch is handled? I asked this because in the stitched 8 perspective images, it looks very consistent.\n5. Three modules are proposed in this paper, it would be great if an ablation study could be conducted such that the audience could understand the influence of each individual module better, e.g., how much difference it would make if removing the interpolation module?\n6. In addition to the stitch image, it would be great if showing more *densely* (much more than 8) generated multi-view images and make it an animation, such that the multi-view consistency could be better evaluated qualitatively by the audience.\n\nQUESTIONS:\nIt would be great if the authors could respond the points mentioned above. Thanks!\n\nLIMITATIONS:\nNA", "TITLE": "Official Review", "RECOMMENDATION": 7, "REVIEWER_CONFIDENCE": 3, "SOUNDNESS_CORRECTNESS": 3, "DATE": "2023-07-06"}

comments: SUMMARY:
The paper proposes a multiview latent diffusion model that is aware of the correspondence between views.  Equipped with correspondence-aware attention blocks, the proposed generation module, interpolation module and the super-resolution module help MVDiffusion outperforms existing works.

STRENGTHS:
The proposed Correspondence-Aware Attention block connects different views. Also, keyframes are first generated and then upsampled both spatially and temporally.

WEAKNESSES:
My biggest concern of the paper is the evaluation of measuring multi-view consistency. On L217 the authors mentioned to use pixel-level similarity for multi-view consistency. Is the PSNR computed between generated image and ground truth image? Does that mean the generation of depth-to-image is deterministic? It might be a good idea to conduct some evaluation in 3D. For example, train a NeRF with generated images and evaluate the difference between rendered image and the MVDiffusion generated image. Another way might be calculating some reprojection error since we know the camera poses of the generated images.
Also, for panorama generation, the author only compares with Stable Diffusion. Would be nice if DiffCollage or MultiDiffusion is also considered for comparison.

QUESTIONS:
Please refer to weakness.

LIMITATIONS:
Please refer to weakness.
TITLE: Official Review
SOUNDNESS_CORRECTNESS: 3
DATE: 2023-07-10