3d computer vision and data visualization represent two important topics of the digital era. Both deal with enormous amounts of (sensor) data that needs to be formalized, filtered, and transferred dependent on employed algorithms. The ultimate goal is to extract semantic knowledge either automatically (in case of computer vision) or with a human in the loop (data visualization). This abstract knowledge is required in a multitude of different domains, e.g. autonomous driving, 3d printing, augmented reality or virtual reality.
A widely used representation of real-world objects scanned by 3d sensors is the point cloud. Each contained element stores a sensor value represented as a 3d coordinate. Nowadays, a vast amount of 3d sensors is available in consumer hardware like smartphones or game consoles that complement professional high-accuracy systems. All of them are able to produce huge 3d data-sets. In order to get a more compact representation and a deeper understanding of a scanned real-world scene, more sophisticated geometry encodings are necessary. One of such encodings is the so-called constructive solid geometry
(CSG) representation which approximates objects with a set of geometric primitives (e.g. spheres, boxes, or cylinders) combined with boolean operators (e.g. unions or intersections). CSG encoded geometry not only represents 3d data-sets in a more abstract way but also reduces necessary bandwidth for machine-to-machine communication. Among other problems in point cloud processing, such as point cloud registration and per-point normal estimation, the conversion from point cloud to CSG is difficult to solve efficiently.
Quantum computing basically means to perform computation using quantum effects, whereas quantum annealing (QA) is a special case based on the adiabatic theorem. QA essentially performs classical simulated annealing but exploits quantum effects such as superposition, entanglement, and quantum tunneling. The idea of QA is that one can retrieve the global optimal solution of a real-world optimization problem once it has been transferred to a quadratic unconstrained binary optimization (QUBO) problem. The theory behind QA is rather old, but tangible results can be found only recently.
This paper discusses the two briefly outlined research areas, namely point cloud compression using CSG encoding and quantum annealing, and connects them accordingly. First we give a detailed description of the 3d point cloud to CSG conversion problem and how it can be split into subordinated optimization problems that can then be solved successively. Secondly, we discuss potential mappings of the above-mentioned optimization problems to well-known and precisely formulated NP-complete problems. There exists a wide range of reformulations from Karp’s NP-complete problems [karp1972reducibility] to Ising models [lucas2014ising], that are the base for solving problems formulated as QUBOs. Finally, we summarize our investigations on how to solve the CSG conversion problem with help of the aforementioned QUBO formulations of selected NP-complete problems. It offers first answers to the research question if – and to what extent – quantum annealing can be applied advantageously in selected problems of 3d geometry processing.
This paper makes the following contributions: (1) A design of a 3d point cloud compression pipeline that uses CSG trees as output representation and an Ising formulation of sub problems that can be solved on QA hardware. (2) A description of the Ising formulations of the maximum clique search problem and the smallest exact cover problem and their suitabality for the proposed pipeline. (3) A discussion of the proposed pipeline with respect to problem partitioning, resulting CSG tree optimality and described Ising formulations.
The remainder of this paper is structured as follows: Section II introduces important concepts in the domains of CSG tree extraction and quantum annealing. Section III offers an overview of existing point cloud compression methods and techniques for CSG tree extraction, and concludes with a description of real-world problems solvable with quantum annealing. Section IV derives mappings of CSG extraction process steps to problems with existing Ising formulations. In addition, it details the extraction pipeline. Section V follows with a description of the aforementioned Ising formulations, while Section VI discusses the proposed approach. Finally, we conclude the paper in Section VII.
Ii-a CSG Trees and the Extraction Problem
The surface of a 3d model can be represented by a set of geometric primitives and a tree that contains these primitives in its leaves and Boolean set operations (union , intersection , and complement ) as its inner nodes, see Figure 1 for an example. If the shapes of primitives are described implicitly as the zero sets of analytic signed distance functions , one can speak of being a semi-analytic representation of the 3d model.
The set describes the surface uniquely, however, more than one CSG tree might represent the same surface. Thus, an important aspect of the CSG tree representation is its size, i.e. number of leaves. A CSG tree for surface is absolutely minimal if there does not exist a smaller tree that represents . Finding the absolutely minimal tree for is in complexity class NP and equivalent to Boolean function simplification [Lawler1964].
The considered CSG tree extraction problem tries to derive a CSG tree representation from a point cloud that represents the 3d model. The extraction process follows a common pipeline model (see also Figure 2
): Noise and outliers are filtered from. Then, primitives are segmented (which parts of are covered by
?), classified (what kind of primitive is?) and fitted (what parameters describe ?). With known , a representing is extracted and further minimized in a final optimization step.
For this paper, we focus on the last two steps, the extraction and minimization of for known and consider the previous steps as solved.
Ii-B Quantum Annealing for NP-complete Problems
(Combinatorial) optimization problems are ubiquitous. A simple and demonstrative example is the optimization of a portfolio of stocks. Given stocks with estimated risks and opportunities together with a budget, the portfolio selection problems asks for spending the budget as completely as possible while minimizing the risk and maximizing the outcome[goldfarb2003robust]. Further optimization problems can be found in the domain of logistics (capacitated vehicle routing problem [ralphs2003capacitated]) or the distribution of chips on circuit paths [hopfield1985neural]. Many optimization problems are NP-hard. According to the current state of knowledge, however, these problems cannot be solved in polynomial time using a deterministic machine, i.e., today’s classic computer [troyer2005computational].
Numerous different methods for solving such NP-hard problems have been developed. Examples are genetic algorithms[de1989using]anderson1988neural], or dynamic programming [woeginger2003exact]. If a decision problem is rewritten into an optimization problem, also tabu search [glover1998tabu] or simulated annealing [kirkpatrick1983optimization] may be utilized. In addition, there is a method called quantum annealing that uses the effects of quantum mechanics [albash2016adiabatic]. The idea behind this approach is quite old [apolloni1988numerical, apolloni1989quantum, finnila1994quantum, kadowaki1998quantum], but only recently the possibility for the implementation in practice arose. In 2010, D-Wave Systems manufactured the first commercially available quantum annealing hardware 111https://www.dwavesys.com/our-company/meet-d-wave.
Quantum annealing (QA) is, similar to the better known simulated annealing (SA), a heuristic approach for solving combinatorial optimization problems that is based on natural processes in the real world[mcgeoch2014adiabatic]. Optimization problems can visually be represented as a hilly landscape that maps all possible solutions to a problem, with the lowest point being the global minimum and optimal solution. A heuristic such as QA now searches this landscape for the global optimum, and it may occur that the algorithm gets stuck in a local minimum. QA now has the special feature that a certain tunneling coefficient can be used to tunnel through hills, thus escaping a local minimum. The coefficient is initialized with a high value in order to supply more kinetic energy to the solution space in form of quantum fluctuations at the beginning of the annealing process. Over time, the value of decreases continuously, such that the algorithm can tunnel larger hills initially and approaches an optimum towards the end.
The Ising model originates from theoretical physics and can be used to describe phase transitions and certain properties of particles in a system that evolves over time[baxter2016exactly]. In particular, D-Wave’s QA hardware is able to solve (optimization) problems mapped to the Ising model. This model can be illustrated as a magnet consisting of molecules located on the nodes of a graph . Each molecule is described by spin variables and can be in one of two configurations: either a parallel spin alignment regarding a particular axis (value +1) or anti-parallel (value -1) [baxter2016exactly]. The energy of a spin configuration in such a model is defined as
where results from intermolecular forces within the magnet and describes forces and interactions between the molecules. Many problems (and thus also optimization problems) that can be formulated as an Ising model additionally require to find the spin configuration with the lowest energy, i.e., to minimize the value of .
Iii Related Work
Iii-a Lossy Point Cloud Compression
Lossy point cloud compression methods usually discretize point coordinates and store them in a hierarchical space partitioning structure [Schnabel2006, Botsch2002, Peng2005]. Thus, loss is proportional to the size of the smallest partitioning cells. Other techniques simply detect a set of 3d keypoints from the point cloud to be compressed [Garstka2016, Hansch2014]. Of course, feasibility of keypoint description and detection techniques are dependent on the problem domain. Geometric methods try to approximate point clouds with geometric primitives. For example, the authors of [morell2014geometric] extract planes that roughly describe the shape of the input point-set. Our approach is similar as it extracts geometric primitives arranged in a CSG tree as a compressed representation of the input point cloud.
Iii-B CSG Tree Extraction
CSG tree extraction and optimization from 3d models described through a set of quadrics was first investigated by Shapiro et al. (see [Shapiro1991] for an overview of the problem and its solutions). The approach by Fayolle et al. describes an extraction pipeline that works directly on the point cloud as input [Fayolle2016]. Geometric primitives are found and fitted using a RANSAC (Random Sample Consensus)-based method [Schnabel2007]. The extraction process is formulated as a combinatorial optimization problem (as described in Section IV-A
) and solved using an evolutionary algorithm. We combine a problem partitioning strategy with a CSG tree extraction method based on the smallest exact set cover problem that can be solved on quantum annealing hardware.
Iii-C Use Cases for Quantum Annealing
There is a wide range of formulations of (theoretical) problems that can be solved using QA hardware [lucas2014ising]. Numerous findings have been published that address specific applications. This includes research on wireless networking and scheduling [wang2016quantum], traffic flow optimization using real-world GPS data [neukart2017traffic], and many more. Moreover, there are many studies on the concrete use of QA hardware in practice. For example, [mcgeoch2013experimental, king2017quantum, king2015benchmarking] examine and benchmark how the solutions’ quality of D-Wave’s QA hardware behaves compared to those of classical optimization methods. Finally, there are studies suggesting methods to further improve results of QA hardware [king2014algorithm].
Iv The CSG Tree Extraction Problem
Iv-a CSG Extraction as a Combinatorial Optimization Problem
With known primitives , a CSG tree extraction process has to find the tree’s topology (size, node and edge structure) and the correct assignment of primitives and operations to the tree nodes such that the result optimally approximates the target surface .
A possible strategy defines a maximum tree size and formulates a combinatorial optimization problem over all possible combinations of tree topologies and node assignments together with an objective function that minimizes geometric error with respect to the input point cloud while penalizing large trees. The combinatorial explosion can be mitigated by exploiting geometric relations between primitives, e.g. if two primitives do not intersect, they should not be operands of a boolean set operation in the tree. Dependent on the chosen solver, this approach is capable of producing absolutely minimal trees but at the cost of high computation times even for small ( primitives) trees [Fayolle2016].
Iv-B CSG Tree Topology Constraints
Another solution to the combinatorial explosion is to define the topology beforehand. Analogous to the disjunctive canonical form (DCF) for Boolean functions one can restrict the tree topology to a set of primitive intersections (so-called fundamental products [Shapiro1991]) that are combined via the union set operator. The result is commonly referred to as a two-level CSG representation [Shapiro1991] and reads
See Figure 2(a) for an example geometry with labeled non-empty fundamental products.
The number of non-empty fundamental products is in . It depends on the intersections between primitives which can be formalized using the intersection graph of the primitives , where is the set of edges. Each edge represents an intersection between primitive and with . If is fully connected, reaches its maximum, if is empty its minimum. See Figure 2(b) for an examplary intersection graph.
This formulation reduces the aforementioned combinatorial optimization problem to a computational complexity of since it only has to be checked for each non-empty fundamental product if it is inside the target surface . Its disadvantage is the size of the resulting tree and that even a minimal two-level CSG tree might not be the absolutely minimal tree representing [Shapiro1991]. The set of fundamental products inside for the example in Figure 3 is . The corresponding tree expression is . In this case, the absolutely minimal tree would be which is smaller (see Figure 1 for the corresponding CSG tree).
Iv-C CSG Tree Size Optimization
Now the question is how to improve this method for obtaining smaller CSG trees. A specific observation is of importance: Some parts of can be represented with less operations. In the example (Figure 3), the part covered by fundamental products can also be covered with expression instead of . Thus, if all possible expression combinations are considered, the optimal tree could be found (as stated in Sec. IV-A). Enumerating all possible expressions is equivalent to finding the set of all possible subsets of non-empty fundamental products that are inside . This is true since for each expression that represents a part of , a set of fundamental products exists that represents the same part.
With set of fundamental product subsets, and set of fundamental products that represent , it is possible to derive the minimal expression by finding the minimum exact cover which is a subset of such that each element of is covered by exactly one subset in . The problem is NP-complete [karp1972reducibility] but an Ising formulation exists [lucas2014ising].
Iv-D Problem Partitioning
For the number of subsets to consider the upper bound
can be derived. In order to scale better with the number of considered primitives, a topological partitioning approach is applied. It is based on the intersection graph which is partitioned into its maximal cliques . We use this partitioning because it guarantees correctness of per-partition results, see Section VI for more details. Finding all maximal cliques in a graph is NP-hard [eblen2012maximum] but a formulation of the related maximum clique search problem for the Ising model exists.
The partitioning has significant impact on the upper bound for which is now
Thus, smaller cliques result in better scalability. Please note that resulting tree size is not optimal anymore: For the example in Figure 3, the size of the resulting tree increases slightly to . This effect is discussed in Section VI.
Iv-E Pipeline Overview
The complete CSG tree extraction pipeline is depicted in Figure 2.
The CSG tree extraction starts with the generation of the intersection graph that is based on the parameters (position, orientation and geometry defining parameters, e.g. the radius of a sphere) of the primitives in . This step has computational complexity if implemented naively but can be improved to if hierarchical space partitioning schemes are used [meagher1982Octree].
Extraction of non-empty fundamental products is the next step. If is a fully connected graph, computational complexity is . This step follows the problem partitioning where each partition is a maximal clique of . The Bron-Kerbosch algorithm is usually employed to solve the maximal clique enumeration problem and has a computational complexity of in the worst case [bron1973cliques]. We propose to use an Ising formulation of the maximal clique enumeration problem.
For each clique (partition) in , the set of possible subsets of is computed which has a computational complexity of per clique. Note that now . Then being the smallest set of subsets from that exactly covers is computed. The underlying smallest exact cover problem can be solved using the Dancing Links algorithm [Knuth2000] with exponential computational complexity. We propose the use of an Ising formulation of this problem.
An additional optimization step tries to optimize the merged tree which is left for future work.
V Mapping of CSG-Tree Extraction Problems on Ising Models
V-a Maximal Cliques Enumeration in Undirected Graphs
Partitioning problems basically divide a set into two subsets. Given an undirected graph , a clique is a subset of the vertices of forming a complete subgraph, i.e., any two vertices of are connected by an edge in . The clique size is the number of vertices in .
The question of whether or not a given graph contains a clique of size is an NP-complete decision problem [karp1972reducibility]. There are formulations of problem Hamiltonians that solve this problem using
logical qubits[lucas2014ising] or, under certain circumstances, with slightly fewer logical qubits [childs2000finding].
Furthermore, there is the definition of a maximal clique being a clique that cannot be extended by incorporating another vertex. With other words, a maximal clique cannot be a subset of a larger clique. Lastly, finding a clique with a maximum number of vertices is called the maximum clique problem [balas1986finding]. Again, there are several formulations for problem Hamiltonians that can be used to find (one of) the largest clique in a graph [childs2000finding, lucas2014ising]. In some works the equivalence between the maximum clique problem and the maximum independent set problem is exploited [boothby2016fast].
V-B Smallest Exact Cover
Karp’s NP-complete problems contain several covering and packing problems, that have in common, that the constraints must exactly be satisfied. Such problems are widely discussed in the adiabatic quantum optimization community because of their immense coverage on practical use and because these problems can easily be embedded on a graph that is not complete (like current QA hardware).
The exact cover can be described as follows [lucas2014ising, choi2010adiabatic]: given a set with elements and given a set consisting of subsets of , i.e. with , such that the union of results in , i.e. . The question is now: Is there a subset of the set of subsets, i.e. , such that the elements of are disjoint, i.e. for , and such that the union of the elements of produce , i.e. ? If yes, then is the exact cover. An example is (see [choi2010adiabatic]): with , with , and , , , , , , . The exact cover is , since .
Since there may be multiple solutions to the exact cover problem, one can also look for the smallest exact cover being set with as few elements as possible. [lucas2014ising] formulate the problem Hamiltonian for the smallest exact cover problem as
The first term refers to the exact cover problem, the second term extends it to find the smallest exact cover. denotes the elements of , thus the first sum iterates over all elements of . denotes the elements of , i.e. the subsets of . Thus, the second sum iterates over all elements of . applies if the current element is also an element of the current element , i.e. if . It follows, that the term in the squared parentheses will have its lowest value of exactly if the element is included in exactly one element of (). If the element is covered by none of the elements of , we get , and if it is covered by two (or more) elements, we get . Summarized, the first term of equation 5 will get the value of exactly if every element of is included exactly one time implying that the union of subsets of are disjoint. The existence of a value of for the first term implies the existence of a solution for the exact cover problem, while multiple possible assignments may occur. The second term extends the exact cover problem to the smallest exact cover problem. Basically, it punishes the use of elements of , meaning it favors solutions that require fewer elements . The authors of [lucas2014ising] suggest to use a ratio of for a correct problem encoding. The problem Hamiltonian presented in equation 5 can be realized using logical qubits.
Vi-a Clique Partitioning and sub-optimal CSG Trees
The reason for using a clique-based partitioning lies in the guaranteed correctness of per-clique tree results. As an example serves clique in Figure 2(a): In order to cover in the region influenced by primitive and , both have to be combined via union. However, correct and optimal merging is not trivial. A simple union of per-clique trees is only valid if primitives appearing in more than one clique are cut into fundamental products. Otherwise, operations of one per-clique tree might be cancelled out by the merge union with another per-clique tree. See example clique in Figure 2(a): Fundamental products and are not in but a simple union with the corresponding per-clique tree would erroneously cover them.
Cutting primitives enlarges the resulting tree which prevents optimality (see example in Section IV-D). Other per-clique merge strategies exist [Friedrich2018] but more research is needed in both, partitioning schemes and merging strategies.
Vi-B Ising Formulations
The Ising formulation of the smallest exact cover problem uses qubit per subset [lucas2014ising]. Thus, on recent QA hardware with approximately qubits, one can solve the extraction problem with primitives at most (see Equation 3).
For larger problem sizes, a partitioning scheme based on maximal clique enumeration is suitable for which, to the best of our knowledge, no Ising formulation exists. The Ising formulation of the related maximum clique search problem serves as a basis for future research. Another potentially suitable partitioning scheme is core-halo partitioning [djidjev2016].
We have proposed and discussed a lossy compression pipeline for point cloud data based on the CSG tree geometry representation that can profit from quantum annealing hardware. Open for future work is an implementation and thorough evaluation of the described approach.