**Matheus Gadelha** ![ ](fig/me.jpg width="20%") I am a PhD candidate at the [College of Information and Computer Sciences](https://www.cics.umass.edu/) in the [University of Massachusetts - Amherst](https://www.cics.umass.edu/). Currently, I am working as a Research Assistant in the [Computer Graphics Research Group](http://graphics.cs.umass.edu/) and in the [Computer Vision Lab](http://vis-www.cs.umass.edu/) under the supervision of [Prof. Rui Wang](https://people.cs.umass.edu/~ruiwang/) and [Prof. Subhransu Maji](http://people.cs.umass.edu/~smaji/). Prior to joining UMass, I've obtained my bachelor's and master's degrees in Computer Science from [Federal University of Rio Grande do Norte](https://sistemas.ufrn.br/portal/PT/), while working at IMAGINA Research Lab, under the supervision of Profs. Selan dos Santos and Bruno Motta de Carvalho. I am interested in Computer Graphics, Vision and their intersections with Machine Learning. During my PhD, I've been working on various 3D vision problems using deep learning approaches with [Prof. Subhransu Maji](http://people.cs.umass.edu/~smaji/) and [Prof. Rui Wang](https://people.cs.umass.edu/~ruiwang/). [[CV](currentcv.pdf)] [[Research Statement](ResearchStatement.pdf)] [[email](mgadelha@cs.umass.edu)] (#) Work Experience ![ ](fig/amazon_logo.png width="7%") **Amazon**. Applied Scientist Intern at Pasadena, CA. _Summer 2018_.
---------------------------------------------------------------------------------------------------- ![ ](fig/adobe_logo.png width="7%") **Adobe**. Research Intern at San Jose, CA. _Summer 2019_.
(#) Research (##) Shape Reconstruction with Differentiable Projections and Deep Priors [ICCV 2019] _**Matheus Gadelha**, Rui Wang, Subhransu Maji_ ![Teapot reconstructed from silhouettes without any training.](shaperec/fig/abstract.png width="25%") We investigate the problem of reconstructing shapes from noisy and incomplete projections in the presence of viewpoint uncertainties. The problem is cast as an optimization over the shape given measurements obtained by a projection operator and a prior. We present differentiable projection operators for a number of reconstruction problems which when combined with the deep image prior or shape prior allows efficient inference through gradient descent. We apply our method on a variety of reconstruction problems, such as tomographic reconstruction from a few samples, visual hull reconstruction incorporating view uncertainties, and 3D shape reconstruction from noisy depth maps. Experimental results show that our approach is effective for such shape reconstruction problems, without requiring any task-specific training. [[Paper](shaperec/dsp_paper.pdf)] [[Project Page](shaperec/index.html)] (##) A Bayesian Perspective on the Deep Image Prior [CVPR 2019] _Zezhou Cheng, **Matheus Gadelha**, Subhransu Maji, Daniel Sheldon_ ![Denoising using SGLD vs. SGD.](fig/bayesdip.png width="30%") The [deep image prior](https://dmitryulyanov.github.io/deep_image_prior) was recently introduced as a prior for natural images. It represents images as the output of a convolutional network with random inputs. We show that the deep image prior is asymptotically equivalent to a stationary Gaussian process prior in the limit as the number of channels in each layer of the network goes to infinity, and derive the corresponding kernel. This informs a Bayesian approach to inference. We show that by conducting posterior inference using stochastic gradient Langevin we avoid the need for early stopping, which is a drawback of the current approach, and improve results for denoising and impainting tasks. [[ArXiv](https://arxiv.org/abs/1904.07457)] [[Project Page](https://people.cs.umass.edu/~zezhoucheng/gp-dip/)] (##) A Deeper Look at 3D Shape Classifiers [ECCV 2018 - 3DRMS Workshop] _Jong-Chyi Su, **Matheus Gadelha**, Rui Wang, Subhransu Maji_ ![Adversarial examples.](https://people.cs.umass.edu/~jcsu/papers/shape_recog/advers_examples.png width="25%") We investigate the role of representations and architectures for classifying 3D shapes in terms of their computational efficiency, generalization, and robustness to adversarial transformations. Our analysis shows that multiview methods continue to offer the best generalization even without pretraining on large labeled image datasets, and even when trained on simplified inputs such as binary silhouettes. Furthermore, the performance of voxel-based 3D convolutional networks and point-based architectures can be improved via cross-modal transfer from image representations. Finally, we analyze the robustness of 3D shape classifiers to adversarial transformations and present a novel approach for generating adversarial perturbations of a 3D shape for multiview classifiers using a differentiable renderer [[ArXiv](https://arxiv.org/abs/1809.02560)] [[Project Page](https://people.cs.umass.edu/~jcsu/papers/shape_recog/)] (##) Multiresolution Tree Networks for Point Cloud Processing [ECCV 2018] _**Matheus Gadelha**, Rui Wang, Subhransu Maji_ ![Ordering and pooling induces multiple point cloud resolutions.](mrt/fig/smallabs.png width="25%") We present multiresolution tree-structured networks to process point clouds for 3D shape understanding and generation tasks. Our network represents a 3D shape as a set of locality-preserving 1D ordered list of points at multiple resolutions. This allows efficient feed-forward processing through 1D convolutions, coarse-to-fine analysis through a multi-grid architecture, and it leads to faster convergence and small memory footprint during training. The proposed tree-structured encoders can be used to classify shapes, while tree-structured decoders can be used for generating point clouds directly. [[ArXiv](https://arxiv.org/abs/1807.03520)] [[Project Page](mrt/index.html)] (##) Unsupervised 3D Shape Induction from 2D Views of Multiple Objects [3DV 2017] _**Matheus Gadelha**, Subhransu Maji, Rui Wang_ ![Learning to create shapes from images without any annotation.](prgan/fig/overview.png width="25%") Our approach called "Projective Generative Adversarial Networks" (PrGANs) trains a deep generative model of 3D shapes whose projections match the distributions of the input 2D views. The addition of a projection module allows us to infer the underlying 3D shape distribution without using any 3D, viewpoint information, or annotation during the learning phase. We show that our approach produces 3D shapes of comparable quality to GANs trained on 3D data for a number of shape categories including chairs, airplanes, and cars. Experiments also show that the disentangled representation of 2D shapes into geometry and viewpoint leads to a good generative model of 2D shapes. The key advantage is that our model allows us to predict 3D, viewpoint, and generate novel views from an input image in a completely unsupervised manner. [[ArXiv](https://arxiv.org/pdf/1612.05872.pdf)] [[Project Page](prgan/index.html)] (##) 3D Shape Reconstruction from Sketches via Multi-view Convolutional Networks [3DV 2017 - _Oral_] _Zhaoliang Lun, **Matheus Gadelha**, Evangelos Kalogerakis, Subhransu Maji, Rui Wang_ ![Shapes from sketches.](fig/sketch.png width="25%") We propose a method for reconstructing 3D shapes from 2D sketches in the form of line drawings. Our method takes as input a single sketch, or multiple sketches, and outputs a dense point cloud representing a 3D reconstruction of the input sketch(es). The point cloud is then converted into a polygon mesh. Based on our experiments, compared to other methods, such as volumetric networks, our architecture offers several advantages, including more faithful reconstruction, higher output surface resolution, better preservation of topology and shape structure. [[ArXiv](https://arxiv.org/abs/1707.06375)] [[Project Page](https://people.cs.umass.edu/~zlun/papers/SketchModeling/)] (##) Shape Generation using Spatially Partitioned Point Clouds [BMVC 2017] _**Matheus Gadelha**, Subhransu Maji, Rui Wang_ ![_kd-tree_ sorted Point Clouds.](sppc/fig/airplanes_sorting_new2.png width="25%") We propose a method to generate 3D shapes using point clouds. Given a point-cloud representation of a 3D shape, our method builds a _kd-tree_ to spatially partition the points. This orders them consistently across all shapes, resulting in reasonably good correspondences across all shapes. We then use PCA analysis to derive a linear shape basis and optimize the point ordering by iteratively minimizing the PCA reconstruction error. We propose to use the expressive power of neural networks to learn a distribution over the shape coefficients in a generative-adversarial framework. Compared to 3D shape generative models trained on voxel-representations, our point-based method is considerably more light-weight and scalable, with little loss of quality. Furthermore, our method can easily incorporate other point attributes such as normal and color information, an additional advantage over voxel-based representations. [[ArXiv](https://arxiv.org/abs/1707.06267)] [[Project Page](sppc/index.html)] (##) Discrete Image Descriptors [ICPR 2014] _**Matheus Gadelha**, Bruno Motta_ Computing descriptors for image features is a crucial task in many applications. A good feature descriptor is capable of providing invariance to geometric and lightning transformations while consuming as few memory as possible. Binary descriptors only store a single bit per pixel comparison, and an useful portion of information, about how large the difference of intensity is, is lost due to this quantization. This work proposes a generalization of the binary descriptor idea: the discrete descriptor called DRINK. Using this idea, we are able to use more information related to the intensity difference while preserving the speed of the original binary descriptor. [[code](https://github.com/matheusgadelha/DRINK)] (#) Projects (##) Interactive Mesh Deformation w/ ARAP Surface Modeling ![As Rigid as Possible Interactive Demo](https://www.youtube.com/watch?v=QUtpoybhYA8) Implementation of the ARAP Surface Modeling paper. It includes a software to deform any mesh, applying the computed transformation in real time. It was coded in C++ with Eigen library and OpenGL. [[code](https://github.com/matheusgadelha/Pintar)] (##) Rigid Body Simulation Rigid body simulator coded in C++ with Eigen library and OpenGL. The code includes a demo where you can load any model and interactively draw forces. [[code](https://github.com/matheusgadelha/Pintar)] (##) Subdivision Surface ![Smoothing bunnies w/ subdivision surfaces.](fig/bunny_gets_better.png width="25%") Code in C++ to perform subdivision of a closed triangular mesh. Made from scratch, so no libraries are required. [[code](https://github.com/matheusgadelha/SubdivisionSurfaces)] (##) Generic A* implementation and CSP solver Template-based implementation for the A* algorithm and CSP solver written in C++. It is a generic solver, where you can simply define the successor and heuristic function for each problem. Includes examples on solving knight shortest path problem and the classic TSP (w/ Minimum Spanning Tree heuristic). CSP solver includes an efficient sudoku solver example. [[A* code](https://github.com/matheusgadelha/AStar)] [[CSP code](https://github.com/matheusgadelha/CSPSolver)]