Academia.eduAcademia.edu

Reconstruction of relief objects from line drawings

2011, CVPR 2011

This paper addresses the problem of automatic reconstruction of a 3D relief from a line drawing on top of a given base object. Reconstruction is challenging due to four reasons-the sparsity of the strokes, their ambiguity, their large number, and their interrelations. Our approach is able to reconstruct a model from a complex drawing that consists of many interrelated strokes. Rather than viewing the interdependencies as a problem, we show how they can be exploited to automatically generate a good initial interpretation of the line drawing. Then, given a base and an interpretation, we propose an algorithm for reconstructing a consistent surface. The strength of our approach is demonstrated in the reconstruction of archaeological artifacts from drawings. These drawings are highly challenging, since artists created very complex and detailed descriptions of artifacts regardless of any considerations concerning their future use for shape reconstruction.

Reconstruction of relief objects from line drawings Michael Kolomenkin Technion George Leifman Technion Ilan Shimshoni The University of Haifa [email protected] [email protected] [email protected] Ayellet Tal Technion [email protected] Abstract This paper addresses the problem of automatic reconstruction of a 3D relief from a line drawing on top of a given base object. Reconstruction is challenging due to four reasons – the sparsity of the strokes, their ambiguity, their large number, and their inter-relations. Our approach is able to reconstruct a model from a complex drawing that consists of many inter-related strokes. Rather than viewing the interdependencies as a problem, we show how they can be exploited to automatically generate a good initial interpretation of the line drawing. Then, given a base and an interpretation, we propose an algorithm for reconstructing a consistent surface. The strength of our approach is demonstrated in the reconstruction of archaeological artifacts from drawings. These drawings are highly challenging, since artists created very complex and detailed descriptions of artifacts regardless of any considerations concerning their future use for shape reconstruction. (a) (b) (c) (d) Figure 1. Reconstruction of the relief on a Roman vase from a manual drawing consisting of 571 curves. (a) is the original drawing, (b) is our 3D reconstruction. (c) and (d) are zoomed versions of (a) and (b). 1. Introduction Understanding the 3D shape of an object from its line drawing is a basic human ability. Even young children can easily recognize and reconstruct the shape in their minds from a handful of lines [24]. Therefore, it is only natural that line drawings would be used for automatic reconstruction. In some cases, a line drawing is not only the preferred input, but rather the only available source of information. For instance, in archaeology, if we wish to reconstruct artifacts found in the past, sometimes the only available data is the line drawing appearing in the archaeological report (Figure 1(a)). Automatic reconstruction from a line drawing is a challenging task due to several reasons. First, the lines are usually sparse and thus, the object is not fully constrained by the input. Second, the line drawings are often ambiguous, since the lines may have different geometric meanings – they can indicate 3D discontinuities, surface creases, or 3D step edges. Third, the input may consist of a large number of strokes that need to be specified by the user and handled by the algorithm efficiently. Fourth, these strokes are inter-related. For instance, in the relief of Figure 1, the decorations are either protruded or indented as a whole, and a solution in which some of the lines indicate protrusions and others indentations is less likely. Related work: Reconstruction of a 3D object from a line drawing is a fundamental problem in computer vision; see [6] for a survey. Approaches to reconstruction from a 1 line drawing typically consist of two steps: line labeling and the reconstruction itself. Line labeling focuses on finding a set of consistent labels given a set of lines [5, 8, 14, 20, 25]. A line is assumed to indicate depth or orientation discontinuity of an object. A label states whether the line represents a concave or convex edge or an occlusion. Reconstruction algorithms build a 3D object from the labeled lines. Usually, the algorithms assume that the object consists of planar faces [16, 22]. They find a set of consistently oriented faces that generate a feasible object. Recent algorithms are also able to handle drawings composed of arcs and not only straight lines [4, 26]. The above algorithms are less suitable for relief objects because of two reasons. First, the algorithms handle only specific types of lines – lines representing depth or orientation discontinuities. Relief objects, however, usually do not have such discontinuities. Instead, they are described by general lines representing 3D step edges. Second, the algorithms are designed to reconstruct CAD-like objects and do not handle effectively highly curved objects. A related problem was addressed in computer graphics, denoted by sketch-based modeling. Most of the work modeled general objects [9, 10, 18]. The goal is to generate the smoothest-possible object constrained by the given line. The techniques provide intuitive interfaces and generate visually-pleasing results. However, the underlying smoothness assumption results in smooth, blob-like objects, which cannot accurately convey the details of reliefs. Techniques that focus on editing of reliefs are interactive and can handle only one curve at a time [7, 11, 27] . They have difficulties handling multiple strokes, which is one of our goals. Our approach: We propose an approach that is able to reconstruct a relief from a complex drawing that consists of many inter-related strokes, such as the one in Figure 1. The algorithm manages to compute good results automatically, by setting for each curve its interpretation, i.e., its shape parameters. Yet, the user is allowed to fine-tune the interpretation of the drawing. The approach is derived from the observation that a relief object can be represented as a composition of a smooth base surface and a height function (relief) defined over that base [13, 15]. We assume that the base is given and focus on the reconstruction of the relief. The algorithm is based on two key ideas. First, the inter-dependencies between the strokes of the line drawing can be exploited to automatically generate a good initial interpretation of the line drawing. Second, given an interpretation, it is possible to reconstruct a consistent surface. For each idea, we provide a novel algorithm that solves the corresponding problem. To interpret the detailed line drawing, we show that our problem can be represented as the problem of topological ordering of a graph and solved efficiently. Given the base and the line-drawing interpretation, the surface is reconstructed by posing it as a pair of linear optimization problems, which can be readily solved. To demonstrate the strength of our approach, we apply it to a highly challenging domain – the reconstruction of archaeological artifacts from drawings. Artifacts containing reliefs are important sources of information, since they are fingerprints of periods and cultures. Line drawings have been the standard method of their documentation for many years. While many findings might have been lost or destroyed, their illustrations remain. Therefore, the only existing input for reconstruction are the line drawings. These inputs are usually highly complex. State-of-the-art algorithms were not designed with such drawings in mind. The contribution of this paper is hence threefold. First, we propose an efficient approach for reconstruction of reliefs from line drawings (Section 2). The method is able to handle highly complex real drawings. Second, we propose solutions to two problems – line-drawing interpretation and relief reconstruction (Sections 3-4). Last but not least, the method makes a significant step towards solving an important problem in archaeology (Section 5) – a domain that recently attracted a lot of attention in computer vision and computer graphics [2, 12, 13, 19]. 2. General approach Given a line drawing of a relief object and a base surface, our goal is to reconstruct the surface, as shown in Figure 1. The algorithm reconstructs the relief on the input base regardless of its shape. Below we present the problem definition and outline our algorithm. Problem definition: In most relief objects the details can be described as a height function defined on a surface termed the base. The lines of drawings of relief objects typically indicate changes of the height function. This height function is usually smooth far from the lines and constant along them. Its gradient is strongest near the lines in the direction perpendicular to the lines. Hence, the value of the height function in the line’s neighborhood depends only on the distance from the line. A drawing consists of drawing curves, junctions, and margins (Figure 2(a)). We define the drawing curves, or simply the curves, as the lines of the given drawing. They indicate visually-meaningful locations on the relief. The curves may be connected by junctions, but cannot cross them. Margins are the borders of a curve’s neighborhood. A drawing defines the relief (the height function). Outside the margins, the relief is assumed to be smooth. Inside the margins the relief is approximated by a step edge Specifically, we need to compute the height h for the step edge of every curve in a consistent manner. We assume that the margin width w and the step edge’s shape s(x) are constant for all the curves. The margin width is set to 0.05% of the diagonal of the object’s bounding box. The step edge shape is the shape of an ideal step edge smoothed with a Gaussian of standard deviation equal to an average edge length. Both w and s(x) can be later modified by the user. (a) Drawing data types (b) The corresponding relief Figure 2. Notations. Curves are solid lines, junctions are yellow circles, margins are dashed lines, and step edge directions are arrows. Each curve and margin is drawn in a different color. (a) (b) Figure 3. A step edge approximation. (a) A cross section of a normalized step edge. (b) A 3D view of a normalized step edge. Figure 4. The relief in a curve’s neighborhood is a combination of the step edge p(u) and the base B. Algorithm overview: In a pre-processing step, the curves are extracted from the image of the drawing, using the ridge detection algorithm of [21]. Then, junctions are detected and margins are generated. These elements serve as the input to our algorithm. Sine the input drawing is manual, we assume it does not contain noise and all the curves represent real features. We only remove short lines that are often used for shading effects. Initially, an automatic interpretation of the line drawing is computed, by calculating consistent height values for the step edges (Section 3). Given the curves and the step edges, the surface is reconstructed (Section 4). 3. Line drawing interpretation Interpreting the line drawing requires setting the height of the step edge of each curve. Doing this manually for a complex drawing composed of dozens, or even hundreds of curves is a cumbersome process. Moreover, the set of assigned heights has to be consistent. Consistency refers to the requirement that two different paths between points should result in the same height difference (Figure 5). The solution to this problem should address the challenges of interpretation consistency combined with a large number of strokes. of height h and width w (Figure 3). Height h can be both positive or negative, representing the direction of the edge. The shape of the relief defined by step edge s(x) is p(u): p(u) = h · s(u/w), (1) where u ∈ [−w, w] is the width parameter of the step edge. The sought-after surface is a combination of the base B and the relief. If we look at a cross section perpendicular to the curve, B(u) is defined at the point on B at (signed) distance u from the curve. Thus, the surface S within the curve’s margins on the cross section can be written as: S(u) = p(u) + B(u) = h · s(u/w) + B(u). (2) We can now rephrase our goal. Given a line drawing, we want to compute the relief object, such that near the curves the shape of the cross section will match the 3D step edge p, whereas elsewhere its shape will be smooth and similar to the base B. Object Line drawing Figure 5. Height consistency. The height of step edge A should be equal to the sum of the heights of the step edges B and C. The key idea of our method for computing the heights of the step edges is to reduce this problem to the problem of a constrained topological ordering of a graph. A similar reduction is proposed in [23] for adding depth to cartoons. Below we first describe the reduction and then the algorithm for solving the corresponding graph problem. Reduction to a graph problem: Given a drawing (Figure 6(a)), we initially represent it by an undirected graph (a) Original drawing (b) Graph reduction (c) Directed graph (d) Topological ordering Figure 6. Graph representation. (a) A drawing in which each curve is colored differently. The margins are denoted by vi . The black segments represent the step edges. (b) The corresponding graph. Each step edge is colored consistently with the curve it crosses. (c) Given the undirected graph, our algorithm directs it and finds its weights w. (d) The topological levels of the graph. The weight of an edge is equal to the difference between the levels of its nodes. G = {V, E} as follows (Figure 6(b)). The margins are the nodes of the graph. There exists an edge between two nodes whenever a curve lies between the corresponding margins. Our goal is to direct the graph and find for each directed edge a positive weight. The weight corresponds to the height difference between the source and the target nodes of the edge. A directed edge indicates that the margin representing the source node is lower than the margin representing the target node. The weights should be consistent, i.e., all paths between two nodes should have the same weight. Let us denote the height of node v ∈ V by hv and the weight of the edge ekm from node k to m by wkm . We aim at generating a weighted directed graph that satisfies the following constraints: 1. wkm > 0, positive height. 2. hk + wkm = hm , height consistency. Note that due to transitivity, Constraint 2 guarantees that all the paths between two nodes have equal weights. 1. Directing the graph: Given an undirected graph (Figure 6(b)), we aim at generating a directed graph that will allow us later to assign consistent weights according to the second constraint (Figure 6(c)). This will specify the direction of every step edge, i.e. specify its lower and its higher ends. We observe that a basic requirement of the sought solution is that the resulting directed graph should be acyclic (DAG). This is so since as all the weights are positive, a cycle in the graph would be of a positive weight wcycle , contradicting Constraint 2 that for a node v on the cycle hv + wcycle = hv . Any undirected graph may be made into a DAG by choosing a total (linear) order for its vertices and orienting every edge from the earlier endpoint in the order to the later endpoint. Our algorithm chooses an order which is consistent with Constraint 3. The direction of unconstrained edges is chosen so as to produce a DAG. 3. Given directions of some edges ekm . Constraint 3 explicitly specifies the direction of some edges of the graph, i.e. which of the two nodes has a lower height. This constraint is important for correct reconstruction, since without it the resulting surface is randomly chosen. It is used, for example, to make the reliefs consistently higher or lower than the base. Our algorithm employs the following heuristic to determine this constraint. Nodes representing the base margins are identified as nodes that are adjacent to many edges. Hence, we set the directions such that they point out of these nodes. As a result, the reliefs are consistently higher than the base surface. Algorithm: To estimate the weights of the edges satisfying the above constraints we divide the task into two subtasks. First, the graph is directed. Next, the edge weights are computed. We elaborate below. 2. Assigning weights to the edges: Given a DAG, the goal is to compute the positive weights of the edges such that Constraints 1-3 hold. The weights correspond to the heights of the step edges. Initially, the graph is partitioned into topological levels, similarly to the way it is performed in topological sorting (Figure6 (d)). In this partition, level 0 includes only nodes for which there are no incoming edges and recursively, level i includes only nodes for which the incoming edges come from nodes at level i − 1 or smaller, and at least one of them comes from level i − 1. We assign the weights of the nodes at level i to i and assign the edge weights wkm to the difference between the weight of node k to that of node m. This setting satisfies the constraints. 4. Surface reconstruction Given a base, a set of curves, and the heights of their step edges that were computed in Section 3, the goal is to reconstruct the surface. The output of the algorithm is a height function defined for every point on the base, yielding the resulting surface. The algorithm should address two of the challenges specified in the introduction, namely the sparsity of the input curves and interactions between close curves. The sparsity challenge is approached by producing a smooth interpolation in regions in which curves do not exist. The interaction challenge requires that the reconstructed surface will not contain undesirable artifacts due to interactions between close curves. To achieve these goals, we require that the reconstructed height function satisfy two constraints. Locally, the relief in the curve’s neighborhood is defined up to a constant using only the step edges of the margins. The constant is important since a relief can be defined either on the base or on another relief, yet the height function is measured relative to the base. Globally, the relief should be the smoothest function that coincides with the relief obtained locally for every curve. During the reconstruction, the algorithm should compute for each curve its constant. Hereafter, we describe our algorithm for realizing these two requirements. 1. Computing the relief locally: Given a curve and its step edge, the goal is to compute its relief locally, independently of other curves. Let p = (ν, υ) be a point in the curve’s neighborhood (defined by the step edge’s width), where υ is the arc-length parameter along the curve of its closest point on the curve and ν is the signed distance from it to p (0 for a point on the curve). The relief r(p) = r(ν, υ) at point p is set to: r(p) = p(ν, υ) + Cp , (3) where p(p) is the corresponding step edge and Cp is the height of the step edge with respect to the base, whose computation will be discussed below. 2. Computing the relief model: Given a mesh of the base and the height function r(p) computed locally for each curve, our goal is to compute the global height function (relief) R on the whole surface. This function should coincide with r in the neighborhoods of the curves (boundary conditions) and be smooth elsewhere. The key idea is to reconstruct the surface in two linear steps. First, the smoothest Laplacian of the desired function R is estimated, such that it satisfies the boundary conditions. Then, it is used to calculate R. The linearity of these stages allows us to deal with complex line drawings efficiently. C OMPUTING THE L APLACIAN OF THE RELIEF : To formulate the smoothness requirement, we demand that the Laplacian of the Laplacian of the relief is zero. Intuitively, it is roughly equivalent to the requirement that the mean curvature of the surface changes linearly. Note that if we required only a zero Laplacian, the reconstructed surface would be planar in between the curves, which is undesirable. Consider, for example, Figure 2. The non-planar reconstruction of the surface in between the curves in Figure 2(b) is the result of this requirement. Let us denote by ∆ the Laplacian operator on a scalar function. We are seeking the Laplacian L of R, which is a scalar function defined on the base surface. L should be equal to the Laplacian of r in the neighborhoods of the curves and its Laplacian ∆(L) should be zero elsewhere. Formally, L is the solution of the following system of linear equations. Let p be a vertex of the mesh, we search for L that satisfies: L(p) ∆L(p) = = ∆r(p), p ∈ curve’s neighborhood, (4) 0, elsewhere. Assume that N (p) is the set of the neighbors of p, A is the area of the Voronoi cell of p, and γj and δj are the angles opposite the edge [p, pj ] of the triangles adjacent to this edge. The Laplacian ∆ of a scalar function f (either r or L) at point p on a mesh is calculated as [17]: 1 X (cot(γj ) + cot(δj ))(f (p) − f (pj )). ∆f (p) = 2A j∈N (p) (5) Obviously, Equation (5) is linear in the values of f . Hence, any linear-equation solver can be utilized to calculate f . To solve the system of Equations (4), we need to know the values of r. Recall however that by Equation (3), r is known only up to constants Cp . The trick used here is that we can compute the Laplacian of r without knowing them, since these constants add a linear component to the function and the Laplacian is independent of the linear components. C OMPUTING THE RELIEF : Given the Laplacian of the relief, we calculate the relief (height function) R on the whole base. In the neighborhoods of the curves R should coincide with r, whereas elsewhere the Laplacian ∆R should be equal to the computed Laplacian L. Hence, R is the solution of the following system of linear equations: R(p) = r(p), p ∈ A curve’s neighborhood, (6) ∆R(p) = L(p), elsewhere. In this system of equations, the unknowns are the values of R at every vertex p and the constants Cp . This system of equations is similar to that of Equation (4) and thus it is solved similarly. Dealing with curve interactions: The problem of curve interaction manifests itself when a point belongs to several curve neighborhoods. Such a point will therefore appear in several equations in the systems of Equations (4) and (6). Each such equation is weighted according to the relative distance of the point from the corresponding curve. There are several ways to express the requirement that the surface near the curve coincides with the profile. It was determined empirically that the method we use avoids creating spurious artifacts on the object in cases of curve interactions. 5. Implementation and results Implementation and running times: We implemented the two components of the algorithm: line drawing interpretation and reconstruction. The former is implemented in C++. Since it has a linear asymptotic complexity, the running time is negligible. Reconstruction, however, may provide a challenge for large models, since large and sparse linear systems in Equations 4 and 6 need to be solved by iterative optimization methods. To overcome this problem, we took two measures. First, we employ the results of the line drawing interpretation to initialize the optimization procedure. Second, we implemented the Biconjugate Gradient optimization on the GPU using cusp library [1]. Under this implementation the running times of the algorithm are in the range of 15 seconds for an 80,000-vertex model (Figure 12) to 200 seconds for a 970,000-vertex model (Figure 7) on a 2.4GHz Intel Core 2 Duo processor with 2GB of memory. Results: We will now present several examples of automatic reconstruction of reliefs of archaeological artifacts, demonstrating the capabilities of our algorithm to deal with complex line drawings. All the archaeological drawings appearing in this section were taken from [3]. Figures 1 and 7 show the reconstruction of the intri- (a) Given drawing (b) Reconstruction Figure 7. Reconstruction of the relief of a Roman vase cate reliefs of two vases. Though these drawings consist of 571 & 1300 tightly interconnected lines, the reconstruction achieves visually-pleasing results. The speed-up steps described above enable the reconstruction of these objects in a reasonable time. Figure 1(c) zooms in on the fine details of the reconstructed relief, showing for example, that the reliefs are indeed of different heights. Note that manual reconstruction techniques, such as [27], would require the user to provide parameters for each of the 571 or 1300 lines one after the other, which would be extremely labor intensive. Figure 8 demonstrates the reconstruction of the relief of two Roman oil lamps. The drawings contain 39 and 49 lines, respectively. It can be seen that our automatic reconstructions are quite good. Figure 9 shows a recently-discovered Rhodian stamp (third millennium AD) indicating a major annual celebratory event. The same stamp was discovered on a bunny (Figure 10), demonstrating that our method can place reliefs on any base surface irrespective of its complexity. Figure 8. Reconstruction of the reliefs of two Roman oil lamps. The given drawing is on the left side of a pair and the reconstructed relief is on the right. Figure 9. A recent major discovery of a Rhodian stamp (circa 21st century AD) User interaction: The automatically reconstructed surface is usually satisfactory. However, in some cases, it is desirable to give the user the ability to fine-tune the resulting surface. It may happen when the user has information regarding the geometry of the surface that our algorithm cannot deduce from the drawing or when our assumption that the surface can be accurately portrayed by a step edge in the line’s neighborhood is not suitable. Therefore, we provide the user with three interaction options, which are easily executed with a single mouse click: 1. A curve’s cross section can be depicted with any freeform profile instead of a step edge. For example, ridges and valleys can be employed. 2. The height and the direction of the step edge (or other profile) can be set by the user and added to Constraint 3 of the interpretation algorithm (Section 3). 3. The user can set an arbitrary number of profiles per curve, enabling the shape of the surface to change along the curve. For example, the automatic interpretation fails when the drawing represents impossible objects, such as the ones created by Escher. However, our system can create a 3D relief by different profiles with different heights along the curves. Thus, straight lines in the drawing yield curved lines in 3D. This is illustrated in Figure 11. (a) Drawing (b) Automatic reconstruction Figure 10. CVPR logo put onto the bunny. (a) Given drawing (b) Manual reconstruction Figure 11. Limitation – impossible objects cannot be reconstructed automatically. They will, however, be reconstructed if the user provides several profile heights along the curves. In Figure 12, the user added to two of the curves extra step edges and modified the height of other two step edges. These changes enable height changes along a curve and improve the quality of the bird’s tail and wing. Also, the drawing includes ridges (the birds legs) and valleys (the bird’s eye and the centers of the leaves) which are not supported by the automatic algorithm and were specified by the user. (c) Manual intervention (d) Zoom-in Figure 12. An example of manual fine-tuning of the results. The original drawing (a) includes ridges (bird’s legs) and valleys (bird’s eye and leaves). Automatic reconstruction (b) is enhanced by several simple manual operations to produce (c). Zoom-in (d) on the automatic and the manual reconstructions reveals that the automatically-obtained surface is less accurate. 6. Conclusions In this paper we addressed the problem of automatic reconstruction of a relief object from a line drawing. We identified four challenges that have to be tackled in order to reconstruct reliefs from complex line drawings: the sparsity of the lines, the ambiguity of the line drawing, the large number of strokes comprising the line drawing, and the interactions between close curves. Based on the observation that relief objects are composed of a smooth base and relief details, a novel algorithm was proposed that addresses these challenges. It consists of two parts. First, the line drawing is interpreted, solving the challenges of ambiguity and input size, without requiring the user to manually specify the complex line drawing interpretation. Second, given the base and the interpretation, the relief object is reconstructed, addressing the challenges of sparsity and close-curve interaction. The algorithm was implemented and tested on real complex archaeological illustrations. This lets the archaeologists reconstruct the shapes of artifacts for which, in many cases, the line drawings are the only remaining evidence. The 3D models can be used for comparison to 3D scans of newly-found artifacts of the same type. Aknowledgements. This research was supported in part by the Israel Science Foundation (ISF) 628/08, Olendorff foundation, the joint Technion University of Haifa research foundation, and the Goldbers fund for electronics research. References [1] Cusp - CUDA based sparse linear algebra library. http://code.google.com/p/cusp-library/. [2] B. Brown, C. Toler-Franklin, D. Nehab, M. Burns, D. Dobkin, A. Vlachopoulos, C. Doumas, S. Rusinkiewicz, and T. Weyric. A system for high-volume acquisition and matching of fresco fragments: Reassembling Theran wall paintings. ACM Trans. Graph., 27(3):84:1–9, 2008. [3] Z. Brusic. Hellenistic and Roman relief pottery in Liburnia (North-East Adriatic, Croatia). British Archaeological reports (BAR) International Series 817, 1999. [4] X. Chen, S. Kang, Y. Xu, J. Dorsey, and H. Shum. Sketching reality: Realistic interpretation of architectural designs. ACM Trans. Graph., 27(2):370–381, 2008. [5] M. B. Clowes. On seeing things. Artif. Intell., 2(1):79–116, 1971. [6] M. Cooper. Line drawing interpretation. Springer-Verlag New York Inc, 2008. [7] Y. Gingold and D. Zorin. Shading-based surface editing. ACM Trans. Graph. (TOG), 27(3):95–101, 2008. [8] D. Huffman. Impossible objects as nonsense sentences. Computer methods in image analysis, pages 338–347, 1977. [9] T. Igarashi, S. Matsuoka, and H. Tanaka. Teddy: A sketching interface for 3D freeform design. ACM Transactions on Graphics (TOG), 19(3):409 – 416, 1999. [10] O. Karpenko and J. Hughes. SmoothSketch: 3D free-form shapes from complex sketches. Proceedings of ACM SIGGRAPH 2006, 25(3):589–598, 2006. [11] B. Kerautret, X. Granier, and A. Braquelaire. Intuitive shape modeling by shading design. In International Symposium on Smart Graphics, pages 163–174, 2007. [12] D. Koller, J. Trimble, T. Najbjerg, N. Gelfand, and M. Levoy. Fragments of the city: Stanford’s digital forma urbis romae project. J. of Roman Arch., 61(1):237–252, 2006. [13] M. Kolomenkin, I. Shimshoni, and A. Tal. On edge detection on surfaces. In (CVPR), pages 2767–2774, 2009. [14] J. Liu, L. Cao, Z. Li, and X. Tang. Plane-based optimization for 3D object reconstruction from single line drawings. PAMI, 30(2):315–327, 2007. [15] S. Liu, R. Martin, F. Langbein, and P. Rosin. Background surface estimation for reverse engineering of reliefs. Int. J. of CAD/CAM, 7, 2007. [16] J. Malik. Interpreting line drawings of curved objects. IJCV, 1(1):73–103, 1987. [17] M. Meyer, M. Desbrun, P. Schroder, and A. H. Barr. Discrete differential-geometry operators for triangulated 2-manifolds. VisMath, 3(7):34–57, 2002. [18] A. Nealen, T. Igarashi, O. Sorkine, and M. Alexa. Fibermesh: designing freeform surfaces with 3D curves. ACM Trans. Graph. (TOG), 26(3):41–51, 2007. [19] H. Rushmeier. Eternal Egypt: experiences and research directions. In Modeling and Visualization of Cultural Heritage, pages 22–27, 2005. [20] I. Shimshoni and J. Ponce. Recovering the shape of polyhedra using line-drawing analysis and complex reflectance models. Comp. Vis. and Img. Under., 65(2):296–310, 1997. [21] C. Steger. An unbiased detector of curvilinear structures. PAMI, 20(2):113–125, 1998. [22] K. Sugihara. Mathematical structures of line drawings of polyhedrons-toward man-machine communication by means of line drawings. PAMI, 3(5):458–469, 1982. [23] D. Sỳkora, D. Sedlacek, S. Jinchao, J. Dingliana, and S. Collins. Adding depth to cartoons using sparse depth (in) equalities. Comp. Grap. Forum, 29(2):615–623, 2010. [24] J. Todd. The visual perception of 3D shape. Trends in Cognitive Sciences, 8(3):115–121, 2004. [25] D. Waltz. Understanding line drawings of scenes with shadows. The Psy. of Comp. Vis., pages 19–91, 1975. [26] Y. Wang, Y. Chen, L. Liu, and X. Tang. 3D reconstruction of curved objects from single 2D line drawings. CVPR, 33(1):85–103, 2009. [27] T. Wu, C. Tang, M. Brown, and H. Shum. ShapePalettes: interactive normal transfer via sketching. ACM Trans. Graph. (TOG), 26(3):44–52, 2007.