Skip to content

lucciffer/Novel-View-Generation

Repository files navigation

MIT Licence Open Source Love GitHub repo size
Languages and Tools used Python OpenCV MATLAB PyCharm Anaconda

Novel-view-generation

Description about the project

This project is the implementation of a novel view systhesis which aims to generate/systhesize a target view with an arbitrary camera pose from a given source view and its camera pose as shown in figure below[1].

Overarch of the proposed method

Requirements

Usage

Generating a novel view from scratch

Calibrate the camera

$ python calibrate.py

Then to generate the point cloud

$ python disparity1.py

After this, the point cloud is generated, which needs to be transformed(rotated to the target view). To do this, head over to MATLAB, and run the pcd_transformation.m
You now have the transformed point cloud of the target view.
This point cloud further needs to be projected to 2D. To do this,

$ python 3D_to_2D_open3d_part2.py

After the point cloud is rendered to 2D, a respective mask needs to be generated to perform Inpainting

$ python mask_generator.py
$ python Inpainting.py

After this stage, we now have the inpainted image, which is the target view of the given input image.

Check out some other work in novel view synthesis

References
[1] Multi-view to Novel View: Synthesizing Novel Views with Self-Learned Confidence,Sun, Shao-Hua et. al.,2018]

Authors

Nikhil A
Praveen C
Jagadish B
Vijayalaxmi P