All Projects → piiswrong → Deep3d

piiswrong / Deep3d

Automatic 2D-to-3D Video Conversion with CNNs

Projects that are alternatives of or similar to Deep3d

Info490 Sp17
Advanced Data Science, University of Illinois Spring 2017
Stars: ✭ 53 (-95.07%)
Mutual labels:  jupyter-notebook
Facenet Face Recognition
This is the research product of the thesis manifold Learning of Latent Space Vectors in GAN for Image Synthesis. This has an application to the research, name a facial recognition system. The application was developed by consulting the FaceNet model.
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook
Ga in python
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook
Info490 Fa16
INFO 490: Foundations of Data Science, offered in the Fall 2016 Semester at the University of Illinois
Stars: ✭ 53 (-95.07%)
Mutual labels:  jupyter-notebook
Challengehub Baselines
ChallengeHub开源的各大比赛baseline集合
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook
Bts Pytorch
PyTorch implementation of BTS Depth Estimator
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook
Wiki generator live
live code
Stars: ✭ 53 (-95.07%)
Mutual labels:  jupyter-notebook
Reducingbias
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook
Trdesign
trRosetta for protein design
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook
Tulingxueyuan
python笔记
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook
Blog of baojie
Some articles written by Bao Jie
Stars: ✭ 53 (-95.07%)
Mutual labels:  jupyter-notebook
Pyspark Setup Guide
A guide for setting up Spark + PySpark under Ubuntu linux
Stars: ✭ 53 (-95.07%)
Mutual labels:  jupyter-notebook
Danet
Deep Attractor Network (DANet) for single-channel speech separation
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook
Tutoriais De Am
Algoritmos de aprendizado de máquina criados manualmente para maior compreensão das suas funcionalidades
Stars: ✭ 53 (-95.07%)
Mutual labels:  jupyter-notebook
Cometts
Comet Time Series Toolset for working with a time-series of remote sensing imagery and user defined polygons
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook
Mypresentations
this is my presentaion area .个人演讲稿展示区,主要展示一些平时的个人演讲稿或者心得之类的,
Stars: ✭ 53 (-95.07%)
Mutual labels:  jupyter-notebook
Tianchi ship 2019
天池智慧海洋 2019 https://tianchi.aliyun.com/competition/entrance/231768/introduction?spm=5176.12281949.1003.1.493e5cfde2Jbke
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook
Mish
Official Repsoitory for "Mish: A Self Regularized Non-Monotonic Neural Activation Function" [BMVC 2020]
Stars: ✭ 1,072 (-0.28%)
Mutual labels:  jupyter-notebook
Ct lung segmentation
Robust segmentation of lung and airway in CT scans
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook
Style Transfer Colab
Google Colab Notebook for Image and Video Style Transfer Using TensorFlow
Stars: ✭ 54 (-94.98%)
Mutual labels:  jupyter-notebook

Deep3D: Automatic 2D-to-3D Video Conversion with CNNs

How To Run

To run this code. Please install MXNet following the official document. Deep3D requires MXNet to be built with Cuda 7.0 and Cudnn 4 or above. Please open mxnet/config.mk and set USE_CUDA and USE_CUDNN to 1. Then, append EXTRA_OPERATORS=path/to/deep3d/operators to path/to/mxnet/config.mk and recompile MXNet.

alt text

Motivation

Since the debut of Avatar in 2008, 3D movies has rapidly developed into mainstream technology. Roughly 10 to 20 3D movies are produced each year and the launch of Oculus Rift and other VR head set is only going to drive up the demand.

Producing 3D movies, however, is still hard. There are two ways of doing this and in practice they are about equally popular: shooting with a special 3D camera or shooting in 2D and manually convert to 3D. But 3D cameras are expensive and unwieldy while manual conversion involves an army of "depth artists" who sit there and draw depth maps for each frame.

Wouldn't it be cool if 2D-to-3D conversion can be done automatically, if you can take a 3D selfie with an ordinary phone?

Teaser

In case you are already getting sleepy, here are some cool 3D images converted from 2D ones by Deep3D. Normally you need 3D glasses or VR display to watch 3D images, but since most readers won't have these we show the 3D images as GIFs.

alt text alt text alt text alt text alt text alt text alt text alt text

Method

3D imagery has two views, one for the left eye and the other for the right. To convert an 2D image to 3D, you need to first estimate the distance from camera for each pixel (a.k.a depth map) and then wrap the image based on its depth map to create two views.

The difficult step is estimating the depth map. For automatic conversion, we would like to learn a model for it. There are several works on depth estimation from single 2D image with DNNs. However, they need to be trained on image-depth pairs which are hard to collect. As a result they can only use small datasets with a few hundred examples like NYU Depth and KITTI. Moreover, these datasets only has static scenes and it's hard to imagine they will generalize to photos with people in them.

In Contrast, Deep3D can be trained directly on 3D movies that have tens of millions frames in total. We do this by making the depth map an internal representation instead of the end prediction. Thus, instead of predicting an depth map and then use it to recreate the missing view with a separate algorithm, we train depth estimation and recreate end-to-end in the same neural network.

Here are some visualizations of our internal depth representation to help you understand how it works:

alt text alt text alt text alt text alt text alt text alt text alt text alt text

Following each image, there are 4-by-3 maps of depth layers, ordered from near to far. You can see that objects that are near to you appear in the first depth maps and objects that are far away appear in the last ones. This shows that the internal depth representation is learning to infer depth from 2D images without been directly trained on it.

Code

This work is done with MXNet, a flexible and efficient deep learning package. The trained model and a prediction script is in deep3d.ipynb. We will release the code for training shortly.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].