1,485 research outputs found
Quasiconvex Programming
We define quasiconvex programming, a form of generalized linear programming
in which one seeks the point minimizing the pointwise maximum of a collection
of quasiconvex functions. We survey algorithms for solving quasiconvex programs
either numerically or via generalizations of the dual simplex method from
linear programming, and describe varied applications of this geometric
optimization technique in meshing, scientific computation, information
visualization, automated algorithm analysis, and robust statistics.Comment: 33 pages, 14 figure
Representations for Cognitive Vision : a Review of Appearance-Based, Spatio-Temporal, and Graph-Based Approaches
The emerging discipline of cognitive vision requires a proper representation of visual information including spatial and temporal relationships, scenes, events, semantics and context. This review article summarizes existing representational schemes in computer vision which might be useful for cognitive vision, a and discusses promising future research directions. The various approaches are categorized according to appearance-based, spatio-temporal, and graph-based representations for cognitive vision. While the representation of objects has been covered extensively in computer vision research, both from a reconstruction as well as from a recognition point of view, cognitive vision will also require new ideas how to represent scenes. We introduce new concepts for scene representations and discuss how these might be efficiently implemented in future cognitive vision systems
Minkowski Sum Construction and other Applications of Arrangements of Geodesic Arcs on the Sphere
We present two exact implementations of efficient output-sensitive algorithms
that compute Minkowski sums of two convex polyhedra in 3D. We do not assume
general position. Namely, we handle degenerate input, and produce exact
results. We provide a tight bound on the exact maximum complexity of Minkowski
sums of polytopes in 3D in terms of the number of facets of the summand
polytopes. The algorithms employ variants of a data structure that represents
arrangements embedded on two-dimensional parametric surfaces in 3D, and they
make use of many operations applied to arrangements in these representations.
We have developed software components that support the arrangement
data-structure variants and the operations applied to them. These software
components are generic, as they can be instantiated with any number type.
However, our algorithms require only (exact) rational arithmetic. These
software components together with exact rational-arithmetic enable a robust,
efficient, and elegant implementation of the Minkowski-sum constructions and
the related applications. These software components are provided through a
package of the Computational Geometry Algorithm Library (CGAL) called
Arrangement_on_surface_2. We also present exact implementations of other
applications that exploit arrangements of arcs of great circles embedded on the
sphere. We use them as basic blocks in an exact implementation of an efficient
algorithm that partitions an assembly of polyhedra in 3D with two hands using
infinite translations. This application distinctly shows the importance of
exact computation, as imprecise computation might result with dismissal of
valid partitioning-motions.Comment: A Ph.D. thesis carried out at the Tel-Aviv university. 134 pages
long. The advisor was Prof. Dan Halperi
Geometric Path-Planning Algorithm in Cluttered 2D Environments Using Convex Hulls
Routing or path planning is the problem of finding a collision-free path in an environment usually scattered with multiple objects. Finding the shortest route in a planar (2D) or spatial (3D) environment has a variety of applications such as robot motion planning, navigating autonomous vehicles, routing of cables, wires, and harnesses in vehicles, routing of pipes in chemical process plants, etc. The problem often times is decomposed into two main sub-problems: modeling and representation of the workspace geometrically and optimization of the path. Geometric modeling and representation of the workspace are paramount in any path planning problem since it builds the data structures and provides the means for solving the optimization problem. The optimization aspect of the path planning involves satisfying some constraints, the most important of which is to avoid intersections with the interior of any object and optimizing one or more criteria. The most common criterion in path planning problems is to minimize the length of the path between a source and a destination point of the workspace while other criteria such as minimizing the number of links or curves could also be taken into account. Planar path planning is mainly about modeling the workspace of the problem as a collision-free graph. The graph is, later on, searched for the optimal path using network optimization techniques such as branch-and-bound or search algorithms such as Dijkstra\u27s. Previous methods developed to construct the collision-free graph explore the entire workspace of the problem which usually results in some unnecessary information that has no value but to increase the time complexity of the algorithm, hence, affecting the efficiency significantly. For example, the fastest known algorithm to construct the visibility graph, which is the most common method of modeling the collision-free space, in a workspace with a total of n vertices has a time complexity of order O(n2). In this research, first, the 2D workspace of the problem is modeled using the tessellated format of the objects in a CAD software which facilitates handling of any free-form object. Then, an algorithm is developed to construct the collision-free graph of the workspace using the convex hulls of the intersecting obstacles. The proposed algorithm focuses only on a portion of the workspace involved in the straight line connecting the source and destination points. Considering the worst case that all the objects of the workspace are intersecting, the algorithm yields a time complexity of O(nlog(n/f)), with n being the total number of vertices and f being the number of objects. The collision-free graph is later searched for the shortest path between the two given nodes using a search algorithm known as Dijkstra\u27s
View generated database
This document represents the final report for the View Generated Database (VGD) project, NAS7-1066. It documents the work done on the project up to the point at which all project work was terminated due to lack of project funds. The VGD was to provide the capability to accurately represent any real-world object or scene as a computer model. Such models include both an accurate spatial/geometric representation of surfaces of the object or scene, as well as any surface detail present on the object. Applications of such models are numerous, including acquisition and maintenance of work models for tele-autonomous systems, generation of accurate 3-D geometric/photometric models for various 3-D vision systems, and graphical models for realistic rendering of 3-D scenes via computer graphics
Indexed dependence metadata and its applications in software performance optimisation
To achieve continued performance improvements, modern microprocessor design is tending to concentrate
an increasing proportion of hardware on computation units with less automatic management
of data movement and extraction of parallelism. As a result, architectures increasingly include multiple
computation cores and complicated, software-managed memory hierarchies. Compilers have
difficulty characterizing the behaviour of a kernel in a general enough manner to enable automatic
generation of efficient code in any but the most straightforward of cases.
We propose the concept of indexed dependence metadata to improve application development and
mapping onto such architectures. The metadata represent both the iteration space of a kernel and the
mapping of that iteration space from a given index to the set of data elements that iteration might
use: thus the dependence metadata is indexed by the kernelâs iteration space. This explicit mapping
allows the compiler or runtime to optimise the program more efficiently, and improves the program
structure for the developer. We argue that this form of explicit interface specification reduces the need
for premature, architecture-specific optimisation. It improves program portability, supports intercomponent
optimisation and enables generation of efficient data movement code.
We offer the following contributions: an introduction to the concept of indexed dependence metadata
as a generalisation of stream programming, a demonstration of its advantages in a component
programming system, the decoupled access/execute model for C++ programs, and how indexed dependence
metadata might be used to improve the programming model for GPU-based designs. Our
experimental results with prototype implementations show that indexed dependence metadata supports
automatic synthesis of double-buffered data movement for the Cell processor and enables aggressive
loop fusion optimisations in image processing, linear algebra and multigrid application case
studies
The Topology ToolKit
This system paper presents the Topology ToolKit (TTK), a software platform
designed for topological data analysis in scientific visualization. TTK
provides a unified, generic, efficient, and robust implementation of key
algorithms for the topological analysis of scalar data, including: critical
points, integral lines, persistence diagrams, persistence curves, merge trees,
contour trees, Morse-Smale complexes, fiber surfaces, continuous scatterplots,
Jacobi sets, Reeb spaces, and more. TTK is easily accessible to end users due
to a tight integration with ParaView. It is also easily accessible to
developers through a variety of bindings (Python, VTK/C++) for fast prototyping
or through direct, dependence-free, C++, to ease integration into pre-existing
complex systems. While developing TTK, we faced several algorithmic and
software engineering challenges, which we document in this paper. In
particular, we present an algorithm for the construction of a discrete gradient
that complies to the critical points extracted in the piecewise-linear setting.
This algorithm guarantees a combinatorial consistency across the topological
abstractions supported by TTK, and importantly, a unified implementation of
topological data simplification for multi-scale exploration and analysis. We
also present a cached triangulation data structure, that supports time
efficient and generic traversals, which self-adjusts its memory usage on demand
for input simplicial meshes and which implicitly emulates a triangulation for
regular grids with no memory overhead. Finally, we describe an original
software architecture, which guarantees memory efficient and direct accesses to
TTK features, while still allowing for researchers powerful and easy bindings
and extensions. TTK is open source (BSD license) and its code, online
documentation and video tutorials are available on TTK's website
- âŠ