21 research outputs found

    Monte Carlo Convolution for Learning on Non-Uniformly Sampled Point Clouds

    Get PDF
    Deep learning systems extensively use convolution operations to process input data. Though convolution is clearly defined for structured data such as 2D images or 3D volumes, this is not true for other data types such as sparse point clouds. Previous techniques have developed approximations to convolutions for restricted conditions. Unfortunately, their applicability is limited and cannot be used for general point clouds. We propose an efficient and effective method to learn convolutions for non-uniformly sampled point clouds, as they are obtained with modern acquisition techniques. Learning is enabled by four key novelties: first, representing the convolution kernel itself as a multilayer perceptron; second, phrasing convolution as a Monte Carlo integration problem, third, using this notion to combine information from multiple samplings at different levels; and fourth using Poisson disk sampling as a scalable means of hierarchical point cloud learning. The key idea across all these contributions is to guarantee adequate consideration of the underlying non-uniform sample distribution function from a Monte Carlo perspective. To make the proposed concepts applicable to real-world tasks, we furthermore propose an efficient implementation which significantly reduces the GPU memory required during the training process. By employing our method in hierarchical network architectures we can outperform most of the state-of-the-art networks on established point cloud segmentation, classification and normal estimation benchmarks. Furthermore, in contrast to most existing approaches, we also demonstrate the robustness of our method with respect to sampling variations, even when training with uniformly sampled data only. To support the direct application of these concepts, we provide a ready-to-use TensorFlow implementation of these layers at https://github.com/viscom-ulm/MCCNN

    Interprocess Data Transfer in Atlas, a platform for distributed applications

    No full text
    The Atlas platform strives to make several useful but technically involved mechanisms available to the programmer building applications over it with the least possible effort. These mechanisms include network distribution of cooperating processes, a powerful macro language, a journaling system and fault tolerance in the presence of network failures or node crashes. In this paper we discuss the techniques used in Atlas to implement data transfer over a network between different machines with the least hassle to the programmer. Keywords: Network data transfer, distributed applications, XDR 1 Introduction Atlas is a software development platform designed and implemented in our Department with a twofold objective: ffl To transparently offer a collection of services to applications developed over it and ffl To facilitate the integration and reuse of different components developed at the Department. Among the services provided under the first of these is included the possibility of breaki..

    Interprocess Data Transfer in

    No full text
    The Atlas platform strives to make several useful but technically involved mechanisms available to the programmer building applications over it with the least possible effort. These mechanisms include network distribution of cooperating processes, a powerful macro language, a journaling system and fault tolerance in the presence of network failures or node crashes. In this paper we discuss the techniques used in Atlas to implement data transfer over a network between different machines with the least hassle to the programmer. Keywords: Network data transfer, distributed applications, XDR 1 Introduction Atlas is a software development platform designed and implemented in our Department with a twofold objective: ffl To transparently offer a collection of services to applications developed over it and ffl To facilitate the integration and reuse of different components developed at the Department. Among the services provided under the first of these is included the possibility of breaki..

    ATLAS: a platform for transparently developing distributed applications

    No full text
    We discuss the design and implementation of a software development platform that allows unsophisticated programmers to include advanced features to their applications with no or very little extra information and effort. These features include the splitting of the application in distinct processes that may be distributed over a network, a powerful configuration and scripting language, and several tools including an input system to easily construct reasonable interfaces. We attempt to describe both the techniques used to achieve transparency for the programmer and what exactly a user must do to build new Atlas modules

    Atlas, a Platform for Distributed Graphics Applications

    No full text
    : Atlas, a platform for developing distributed applications by splitting them into several collaborating processes scattered in a local area network is presented. Although of general use, it has features especially designed for supporting graphics applications. We present its architecture and some aspects of its implementation, and discuss design criteria. 1 Introduction Atlas is a platform for the development of advanced interactive graphics applications that distributes the application processes in a network. Its purpose is to make some techniques that would require a lot of specialized programming available to every application built over it with the least possible hassle for the programmer. These techniques include the distribution of the application processes (problems involved in distribution were focused in [1] and [2]); a journaling mechanism allowing the final user to do arbitrary replays of his session; fault-tolerance (see [3], for instance) in case of communication failur..

    Mesh repair with user-friendly topology control

    No full text
    Limitations of current 3D acquisition technology often lead to polygonal meshes exhibiting a number of geometrical and topological defects which prevent them from widespread use. In this paper we present a new method for model repair which takes as input an arbitrary polygonal mesh and outputs a valid 2-manifold triangle mesh. Unlike previous work, our method allows users to quickly identify areas with potential topological errors and to choose how to fix them in a user-friendly manner. Key steps of our algorithm include the conversion of the input model into a set of voxels, the use of morphological operators to allow the user to modify the topology of the discrete model, and the conversion of the corrected voxel set back into a 2-manifold triangle mesh. Our experiments demonstrate that the proposed algorithm is suitable for repairing meshes of a large class of shapes.Postprint (published version

    Surface fairing for ship hull design application.

    No full text
    This paper describes the design and implementation of a fairing module for a ship hull design application. This module is part of a large project on ship design, including facilities for piping, hull design and virtual reality tools for interactive navigation. The surface hull model is based on trimmed NURBS. A discussion of existing fairing algorithms and related criteria for this particular application is presented. The proposed algorithm, based on filtering parallel plane sections of the hull is presented and discussed.Postprint (published version
    corecore