Home

Awesome

PWC PWC PWC PWC

Multi-view to Novel view: <br/>Synthesizing Novel Views with Self-Learned Confidence

Descriptions

This project is a TensorFlow implementation of Multi-view to Novel view: Synthesizing Novel Views with Self-Learned Confidence, which is published in ECCV 2018. We provide codes, datasets, and checkpoints.

In this work, we address the task of multi-view novel view synthesis, where we are interested in synthesizing a target image with an arbitrary camera pose from given source images. An illustration of the task is as follows.

<p align="center"> <img src="./asset/illustration.png" width="600"/> </p>

We propose an end-to-end trainable framework that learns to exploit multiple viewpoints to synthesize a novel view without any 3D supervision. Specifically, our model consists of a flow prediction module (flow predictor) and a pixel generation module (recurrent pixel generator) to directly leverage information presented in source views as well as hallucinate missing pixels from statistical priors. To merge the predictions produced by the two modules given multi-view source images, we introduce a self-learned confidence aggregation mechanism. An illustration of the proposed framework is as follows.

<p align="center"> <img src="https://shaohua0116.github.io/Multiview2Novelview/img/model.jpg" height="320"/> </p>

We evaluate our model on images rendered from 3D object models (ShapeNet) as well as real and synthesized scenes (KITTI and Synthia). We demonstrate that our model is able to achieve state-of-the-art results as well as progressively improve its predictions when more source images are available.

A simpler novel view synthesis codebase can be found at Novel View Synthesis in TensorFlow, where all the data loaders, as well as training/testing scripts, are well-configured, and you can just play with models.

Prerequisites

Datasets

All datasets are stored as HDF5 files, and the links are as follows. Each data point (HDF5 group) contains an image and its camera pose.

ShapeNet

<p align="center"> <img src="./asset/shapenet_example.gif" width="800"/> </p>

KITTI

<p align="center"> <img src="./asset/kitti_example.gif" width="800"/> </p>

Synthia

<p align="center"> <img src="./asset/synthia_example.gif" width="800"/> </p>

Usage

After downloading the datasets, we can start to train models with the following command:

Train

$ python trainer.py  --batch_size 8 --dataset car --num_input 4

Interpret TensorBoard

Launch Tensorboard and go to the specified port, you can see differernt losses in the scalars tab and plotted images in the images tab. The plotted images could be interpreted as follows.

<p align="center"> <img src="./asset/TB.jpg" width="1024"/> </p>

Test

We can also evaluate trained models or the checkpoints provided by the authors with the following command:

$ python evaler.py --dataset car --data_id_list ./testing_tuple_lists/id_car_random_elevation.txt [--train_dir /path/to/the/training/dir/ OR --checkpoint /path/to/the/trained/model] --loss True --write_summary True --summary_file log_car.txt --plot_image True --output_dir img_car

Result

ShapeNet Cars

<p align="center"> <img src="https://shaohua0116.github.io/Multiview2Novelview/img/results/car.jpg" width="640"/> </p>

More results for ShapeNet cars (1k randomly samlped results from all 10k testing data)

ShapeNet Chairs

<p align="center"> <img src="https://shaohua0116.github.io/Multiview2Novelview/img/results/chair.jpg" width="640"/> </p>

More results for ShapeNet cars (1k randomly samlped results from all 10k testing data)

Scenes: KITTI and Synthia

<p align="center"> <img src="https://shaohua0116.github.io/Multiview2Novelview/img/results/scene.jpg" width="640"/> </p>

Checkpoints

We provide checkpoints and evaluation report files of our models for all eooxperiments.

Related work

Cite the paper

If you find this useful, please cite

@inproceedings{sun2018multiview,
  title={Multi-view to Novel View: Synthesizing Novel Views with Self-Learned Confidence},
  author={Sun, Shao-Hua and Huh, Minyoung and Liao, Yuan-Hong and Zhang, Ning and Lim, Joseph J},
  booktitle={European Conference on Computer Vision},
  year={2018},
}

Authors

Shao-Hua Sun, Minyoung Huh, Yuan-Hong Liao, Ning Zhang, and Joseph J. Lim