Fitting Primitive Shapes to Point Clouds for Robotic Grasping SERGIO GARCÍ A

Size: px
Start display at page:

Download "Fitting Primitive Shapes to Point Clouds for Robotic Grasping SERGIO GARCÍ A"

Transcription

1 Fitting Primitive Shapes to Point Clouds for Robotic Grasping SERGIO GARCÍ A Master of Science Thesis Stockholm, Sweden 2009

2 Fitting Primitive Shapes to Point Clouds for Robotic Grasping SERGIO GARCÍ A Master s Thesis in Computer Science (30 ECTS credits) at the School of Electrical Engineering Royal Institute of Technology year 2009 Supervisor at CSC was Danica Kragic Examiner was Danica Kragic TRITA-CSC-E 2009:131 ISRN-KTH/CSC/E--09/131--SE ISSN Royal Institute of Technology School of Computer Science and Communication KTH CSC SE Stockholm, Sweden URL:

3 iii Abstract Due to the growth of service robots in the last few years, made it possible that robots can carry out human tasks. Houseworks that for humans would seem as common and simple as grasping, moving and interacting with objects, are a challenge both mechanically and computationally in robotics. Therefore, considering the process of grasping objects by robotic machines, this thesis introduces an algorithm that makes the identification of complex objects easier by using a set of geometric primitive shapes already known to the robot. Thus, taking as input the point clouds which define the 3D objects once they have been scanned, an algorithm based on the iterative method RANSAC has been developed. The proposed algorithm is able to fit a set of primitive shapes to an incomplete and noisy point cloud. By splitting input point clouds into smaller sets, the suggested algorithm attempts to find the primitive shape that best fits each of these divisions in order to simplify the 3D objects. Consequently, a robot will be able to recognize unknown objects without the need of having previously stored objects in its database. The huge amount of possible grasps that can be applied to an object is therefore reduced to just a few based on the division into primitive shapes. Additionally, this thesis explains how each of the estimation algorithms have been designed, as well as evaluates the performance of these under different noise conditions.

4 Acknowledgements First of all, I would like to express my gratitude to the CVAP department at KTH for allowing me to develop this project with them. Thanks to Jeannette Bohg for her patience, dedication and support throughout the development of the thesis. Thanks to Javier Romero González for helping me to find this thesis and spend his time every time that I asked him for any problem. Thanks also to Kai Hübner, Carl Barck-Holst, Albert Pla and Oscar Rubio Martin for collaborating in my thesis with their ideas and knowledges. I would also like to thank to Jorge Sánchez de Nova, who has been my workmate during this thesis, for his indispensable help, advice and suggestions. My infinite thankfulness to my father and mother that made feasible my studies in a foreign country. My gratitude also to my sister for helping me with the thesis report. I cannot forget to my girlfriend for all her support and for making possible our relationship despite the distance. Finally, I am also very thankful to all the friends that I have met during my stay in Sweden, with whom I have spent great times and because without them this experience had not been the same. v

5 Acronyms PACO-PLUS Perception, Action and COgnition RANSAC RANdom SAmple Consensus MATLAB MATrix LABoratory MSS Minimal Sample Set CS Consensus Set RN Random Noise RNIM Random Noise with Incomplete Model SN Surface Noise SNIM Surface Noise with Incomplete Model MSAC M-estimator SAmple and Consensus MLESAC Maximum Likelihood Estimation SAmple Consensus PROSAC PROgressive SAmple Consensus MVBB Minimum Volume Bounding Box ICP Iterative Closest Point MEE Mean Estimated Error CVAP Computer Vision and Active Perception laboratory PSDA Primitive Shape Decomposition Algorithm vii

6

7 Contents Contents viii 1 Introduction PACO-PLUS Project Primitive Shapes Simplification of the Object Database Related Work Related Articles The BoxDecomposition Algorithm The RANSAC Algorithm RANSAC nomenclature RANSAC variations Fitting Primitive Shapes to Point Clouds RANSAC in MatLab Main loop phase Primitive shape estimation function Primitive shape error function Primitive shapes estimation algorithms Sphere estimation algorithm Cylinder estimation algorithm Cone estimation algorithm Box estimation algorithm Experimental Evaluation Test scenarios How the tests are evaluated Test results Sphere algorithm evaluation Cylinder algorithm evaluation Cone algorithm evaluation Box algorithm evaluation viii

8 Contents ix 5 Primitive Shape Decomposition Algorithm BoxDecomposition Phase RANSAC Phase Evaluation Phase Reconstruction Phase Conclusions Conclusion and Future Work Conclusion Future Work References 55

9 Chapter 1 Introduction Nowadays, research in the field of robotics is increasingly developing due to the human needs. In the past, industrial robots were created with the aim of executing simple and monotonous tasks which were very difficult to carry out by humans. However, over the last few years, the robotics field has undergone an important change motivated by the development of the software into the machines. This fact leads to many researchers focus their knowledges on building robots which can carry out human tasks such as speaking, walking or grasping objects. Thereby, more and more robots are designed to make life easier for humans. 1.1 PACO-PLUS Project Regarding robot grasping, several universities in the world are collaborating on an ambitious project called PACO-PLUS [1]. This project was founded by the European Commission on 1st of February 2006 and is planned to run until The aim of the project is based on designing and building cognitive robots capable of developing perceptual, behavioral and cognitive tasks in order to incorporate them in the daily life. The robot systems, which are being building for this project, will learn how to operate, interact and communicate in the real world with humans and other entities. Figure 1.1: PACO-PLUS Project Within the framework of object recognition, this master thesis has been developed at the CVAP department of KTH, with the aim of developing a method that allows robots to reconstruct objects in order to be able to grasp them. The method 1

10 2 CHAPTER 1. INTRODUCTION may be integrated in the grasp planning process as a helpful tool to simplify the object database of a robot. 1.2 Primitive Shapes Since ancient times, humans have felt the need to represent the environment that surrounds them. Leonardo Da Vinci, René Descartes, Blaise Pascal or Gaspard Monge, are some examples of humanists who devoted their life to studying geometric properties in order to obtain new methods which allow them to represent the reality faithfully. Taking a look around us, we can observe lots of objects which could be modelled by using a set of geometric shapes such as spheres, cylinders, cones and cuboids. These geometrical shapes are known as primitive shapes, since any object can be represented as a combination of these four shapes. With the aid of a specific software, the primitive shapes can be processed to make more complex shapes putting them together. In the Computer Vision field there are several methods that work with primitive shapes to reconstruct incomplete point clouds, which have been obtained with range scanners or stereo cameras. These data points usually suffer from occlusion or noise that either could not be perceived during acquisition or have adverse material properties that hinder the scanning device. Nevertheless, this thesis is not aimed to reconstruct perfectly objects with primitive shapes, but it is focused on simplifying objects by using a set of primitive shapes. 1.3 Simplification of the Object Database To be able to achieve correct grasps on objects, robots need to know some properties about these ones. However, because of the huge amount of different shapes in the world, store all of them in a database would be an impossible task. A possible solution to solve this problem is to create a method that transforms any object into a set of known shapes. This set would be composed of primitive shapes because of their geometric qualities, which have already been mentioned above. Thus, testing the best grasp start positions and pre-grasp shapes for each primitive shape by using a planning simulator [10], we could build a small database based on these four shapes. Thereby, splitting any unknown object into primitive shapes, the information about the grasps and pre-grasp shapes of this one will be known without the need to store it previously in the database. In order to be able to carry out these ideas, a software which comprises the following steps has to be developed. 1. Transform an input object into a three-dimensional point cloud (scanning process).

11 1.3. SIMPLIFICATION OF THE OBJECT DATABASE 3 2. Make a first division of the point cloud into its main parts (the BoxDecomposition algorithm [8]). 3. Design a program that finds primitive shapes in point clouds. 4. Fit each division to the most similar primitive shape. 5. Obtain an output model composed of these primitive shapes. Therefore, the general goal of this thesis is to design an algorithm capable of fulfilling these steps. Despite the fact that both the first step and the second one have already been implemented, this report is going to show an algorithm that integrates all these main goals in one program, known as the Primitive Shape Decomposition Algorithm.

12

13 Chapter 2 Related Work 2.1 Related Articles With the main aim of finding more accurate grasp configurations, several papers are related to this Master Thesis. The main paper which marked the guidelines of the thesis was proposed by Miller et al. in [9], where a grasp planning is developed in order to reduce the huge amount of grasps for every single object. The document proposes a grasp strategy based on approximating any object by primitive shapes, for which a set of grasps is already predefined. These shapes have been previously evaluated in a grasp simulator generating a set of grasp starting configurations (pre-grasps). Examples can be seen in Figure 2.1. Supporting this idea, the framework of this Master Thesis is focused on finding a method which splits a model into several primitive shapes. Therefore, once the models are simplified, the predefined set of grasps will be applied to them by following the steps mentioned in [9]. Bohg et al. in [6] propose to apply grasping experience from a set of known objects in order to grasp yet unknown objects with similar shape properties. The grasping experience is based on feature descriptors, which relate the quality of the grasps by creating patches in 2D-images of the objects. Thereby, the method described by Bohg et al. has implied an important source of motivation in order to reduce the number of grasps in any object. By storing in a database the best grasping points for the set of primitive shapes, a similar method based on [6] may be developed. In this manner, once the object has been split up in different primitive shapes, lots of the grasps will be already known. To fit input objects to primitive shapes, the method followed in this thesis is adopted from [13], where a detailed description about how the RANSAC algorithm works is given. This paper explains the robustness of the RANSAC algorithm under different noise conditions. In addition, it develops how to compute different primitive shapes from a minimum set of points. Due to the fact that the RANSAC algorithm has been the method chosen to find primitive shapes in point clouds, a full description about its operation will be given in the next chapter. 5

14 6 CHAPTER 2. RELATED WORK Besides the RANSAC algorithm, there is another iteration method to align free-form shapes known as ICP algorithm. This method was developed by Besl and McKay in [4] and it tries to find the transformation between a point cloud and some reference surfaces in several iterations. In each iteration, the algorithm selects the closest points as correspondences and computes the transformation for minimizing the square errors between each of the reference surfaces and the model which is being estimated. In [11] Rusinkiewicz and Levoy describe some efficient variants of the ICP algorithm. Although this algorithm fulfills the requirements of fitting point clouds to primitive shapes, the decision of using RANSAC instead of ICP was due to the fact that the first one works better under hard noise conditions. In [12] the use of primitives shapes is suggested to reconstruct incomplete point clouds. The proposed method decomposes a point cloud into several primitive shapes by using the RANSAC algorithm. Afterwards a Primitive adherence phase is applied together with a Primitive connectivity phase. The Primitive adherence phase creates an energy function that assigns any closed surface a cost according to how well the surface adheres to a given set of primitive shapes. In the Primitive connectivity phase a method is applied that ensures which surface parts corresponding to a single primitive, form a connected subset of the reconstructed surface. Therefore, regarding the Master Thesis, the most helpful part in the mentioned document is the Primitive adherence phase, since once the RANSAC algorithm has found the best candidate form for each primitive shape, a decision criterion is necessary to decide which primitive shape fits the point cloud best. (a) (b) (c) (d) Figure 2.1: Grasp generation points on primitive shapes. Picture copied from [9] 2.2 The BoxDecomposition Algorithm Due to the wide range of models existing in the real world and the numerous graps that can be applied to them, it is inconceivable to store all this in a database. In order to make the search for good grasps much more efficient, Hübner et al. proposed in [8] to split up point clouds (coming for example from stereo cameras) into boxes to reduce the number of grasps. The BoxDecomposition algorithm is a fit-and-split method where an input model is divided into cuboids, thereby the grasping task is

15 2.3. THE RANSAC ALGORITHM 7 reduced to the number of box faces. In order to compute the division in cuboids, the BoxDecomposition algorithm applies the Minimum Volume Bounding Box (MVBB) method, which was proposed in [3] by Barequet and Har-Peled. A brief summary about how the BoxDecomposition works is given bellow. For a better understanding of the explanation it is recommended to take a look at Figure 2.2. At the beginning of the program, the BoxDecomposition algorithm computes a root box which comprises the whole point cloud by applying the MVBB algorithm. In a second step, the algorithm seeks the best split that generates the minimum volume of the child boxes. The algorithm keeps splitting up the different branches until either the difference in volume between the child boxes and the father box does not give any improvement or the number of points of the box is under a predefined minimum set of points. Along similar lines, these child boxes are fit by using the MVBB algorithm. The minimum difference of volume and the minimum number of points are pre-defined in a configuration file. By changing any of these parameters, the number of final boxes will increase or decrease. Finally, the algorithm produces two different output files: a.bb file containing the final results for each child box and a.hir file which defines the whole hierarchy from the root box to the leaf boxes. When the point cloud is decomposed into a set of boxes, many faces of these boxes are occluded by other boxes. Consequently, these faces are not able to be taken into account as graspable faces and will be rejected by the algorithm. The final results from the BoxDecomposition are tested with a grasp planning simulator known as GraspIt!. This simulator was developed by Miller and Allen in [10] with the aim of evaluating the quality of the different types of grasps that can be applied to an object. Regarding this Master Thesis, the point cloud placed inside each final box will be inserted as input argument to the RANSAC algorithm in order to achieve a more accurate shape approximation that fits these point clouds to a set of primitive shapes. Thereby, merging RANSAC and the BoxDecomposition algorithm will produce more realistic approximations of the objects with the purpose of increasing the quality of the grasps. 2.3 The RANSAC Algorithm The RANSAC algorithm, was firstly implemented by Fischler and Bolles [7] in This method is used in some specific fields e.g. in signal processing or image processing to estimate the parameters of a model from data points contaminated with noise. RANSAC assumes that the input data consists of two kinds of points:

16 8 CHAPTER 2. RELATED WORK (a) Visualization of a decomposition hierarchy taken from [8] (b) Output Figure 2.2: The BoxDecomposition algorithm inliers and outliers. Inliers are known as data points whose distribution fits some set of model parameters. Whereas, RANSAC calls outliers all those points that do not belong to the surface of the model. The goal of the RANSAC algorithm is to estimate which of all the input points are inliers and which ones are outliers. The final results of the algorithm will be a set of estimated inliers and a set of estimated outliers. The RANSAC algorithm is composed of two phases that are repeated in a loop for each iteration. The first phase is known as hypothesize phase. In this step, RANSAC follows a sampling strategy based on minimal sampling set of points (MSS). These points are randomly sampled from the input data points, such that the shape parameters are computed by using only this minimal set. In the second phase, what is known as testing phase, the quality of the MSS is evaluated. In order to carry out this task, the algorithm checks how well the model parameters, which were computed in the first phase, fit the rest of the points from the input data set. Each MSS is tested against the whole data points checking which points are closer to the candidate model. All the points which support the MSS configure the consensus set (CS). The RANSAC algorithm keeps executing the loop until the probability of improving the CS drops below a given threshold. Consequently, after a certain number of iterations, the MSS with the best CS is chosen as the final model and all these points will be called estimated inliers.

17 2.3. THE RANSAC ALGORITHM 9 RANSAC algorithm is capable of finding models even if the 50% of the input data set is contaminated by noise points. This fact was demonstrated by Zuliani in [16], and moreover it will be shown in the Experimental Evaluation Chapter (4) for each primitive shape RANSAC nomenclature A summary of the main RANSAC parameters is given in this subsection. nomenclature is based on [16]. The D: It is the input data set which is composed of N points D = {p 1, p 2,...p N }. This set represents all data points which will be evaluated by RANSAC. MSS: Minimal Sample Set. It is the necessary set of points to compute the parameters which define a model. These points are randomly sampled from the input dataset D. k: This value defines the cardinality of the MSS. The cardinality of a model is the minimal number of points that are necessary to compute it. Theta: It is the set of parameters that defines a model obtained by applying the estimation function to the MSS. Depending on the nature of the model that is estimated, these parameters can be the radius, center, hight, width, directional vector, etc. δ: Error Threshold. It is responsible for judging which points from D belong to the estimated model. The error of each point with regard to the MSS is compared with this threshold to form the CS. CS: Consensus Set. Set of points of all those elements in D which are consistent with the evaluated model. All those points whose error (with regard to the estimated model) is under the value of δ will be labeled as CS elements. J: CS Cost. Parameter which evaluates the cost of a CS regarding the error of all the points to the estimated model. This value is calculated by MSAC, a variation of RANSAC implemented by Torr and Zissermann in [15], to measure the quality of the obtained CSs RANSAC variations In order to improve the original RANSAC algorithm, some variations have been proposed. Two modifications of RANSAC are implemented by Torr et al. in [15] called MSAC and MLESAC. In contrast to the original formulation of RANSAC proposed by Fischler and Bolles in [7], where the ranking of a CS was nothing but its cardinality, in these variations, besides the cardinality of the CS, they take into account the quality of this set by computing its likelihood. Therefore in MSAC the CS is evaluated according to how the estimated inliers fit to the estimated model by

18 10 CHAPTER 2. RELATED WORK using M-estimators. By contrast, MLESAC sorts out the CSs by computing their likelihoods, choosing as the best CS that one which maximizes the likelihood of the solution. The MSAC variation has been applied in this Master Thesis to improve the choice of the final solution. In [14] Tordoff gives a modification of MLESAC, known as Guided-MLESAC. This algorithm uses the input information in order to make guided sampling based on other knowledge from the images instead of making iterative random sampling. In a similar way, Chum in [5] proposes the PROSAC algorithm as a variation of RANSAC. This algorithm exploits the linear ordering defined on the set of correspondences by a similarity function used in establishing tentative correspondences. PROSAC is faster than RANSAC and converges toward it in the worst case.

19 Chapter 3 Fitting Primitive Shapes to Point Clouds 3.1 RANSAC in MatLab In this section is going to be introduced how RANSAC works in Matlab [2]. For this purpose, when a program is designed in Matlab to be able to use it together with the RANSAC algorithm, some configurations parameters have to be set at the beginning of the program. In the configuration part, the user defines the performance of the program according to the purpose for which is going to be executed. Once these options have been set, the RANSAC algorithm is run along with the D points and the configuration settings. Both of them are used as input arguments for the RANSAC core program. When the main program (the RANSAC core function) gets started, the configuration settings are evaluated according to our requirements. Furthermore, in the starting phase two important Matlab functions, which are related with the model that we want to find, are defined. The first one is called the estimation function (Subsection 3.1.2), which is the program responsible for computing the primitive shape from the MSS given. The second one is known as the error function (Subsection 3.1.3), which is the program in charge of checking how good the candidate model (previously computed by the estimation function) is with regard to the point cloud. Thereby, if a new primitive shape wants to be found in a point cloud, it is only necessary to create these two functions. Once the set up phase is over, the RANSAC algorithm needs to know the cardinality of the MSS (k). This value is defined in the estimation function of each model. Therefore, the estimation function is called at the beginning of the RANSAC core algorithm with the aim of defining the cardinality of the minimal sample set (MSS). Besides the k value, an error threshold is set. This threshold is defined in the error function and its value depends on the shape that we want to find. Thus, all those points (from D) whose error with respect to the estimated shape is under the error threshold will be selected as estimated inliers. 11

20 12 CHAPTER 3. FITTING PRIMITIVE SHAPES TO POINT CLOUDS Main loop phase The main loop starts sampling the minimal sample set (MSS) and the main parameters which define the shape (Theta): The MSS represents a subset of points taken randomly from the input set of points (D). The size of the MSS is defined by k (cardinality of the shape). When the MSS has been obtained, this set is sent to the estimation function in order to compute the candidate shape. The output of the estimation function will be contained in Theta. The parameters of this set define the candidate shape that is going to be evaluated. Once the Theta is computed, the evaluation of this one has to be carried out. For this purpose, RANSAC calls to the error function to determine the error of each point of D with regard to the candidate shape. This error represents the distance from the surface of the shape to the points. Therefore, a different error is obtained for each point of D. In order to decide which points might belong to the surface, every single error is compared with the threshold, creating a consensus set (CS). With the aim of obtaining the quality of the CS, the cost of this one is estimated taking into account the error of all the points to the estimated model. The parameter that defines the quality of the CS is known as J. Therefore, when the CS and J have been computed, an evaluation criterion for these parameters is executed in order to compare the old values with the new ones. If any of them is improved, the algorithm will update the old values by the new ones, otherwise the new values will be preserved. In case that the improved parameter was the number of CS points, a new number of iterations is calculated (these conditions are fixed at the beginning of the loop). The main loop will keep executing until either the maximum number of iterations has been exceeded or the maximum number of no updates is over. Finally, once the main loop has finished, the RANSAC algorithm gives back the results to the program which called it previously. These results will contain the parameters of the winning MSS (estimated shape) and the set of points of D (estimated inliers) that best fits into the desired shape Primitive shape estimation function In order to be able to estimate a new geometric shape with the RANSAC algorithm, an estimation program based on the new shape have to be created. In Matlab this program is implemented by a function which computes the new model from a minimal set of points (MSS). To estimate the primitive shapes, four estimation functions were designed. Each function consists of a Matlab program that by using k points computes the parameters of a primitive shape. The mathematical calculations used for each primitive shape are described in detail in Section 3.2. The parameters defining the primitive shape are stored in an array known as Theta. This set of data is the output argument of the estimation function and will

21 3.2. PRIMITIVE SHAPES ESTIMATION ALGORITHMS 13 be evaluated in the error function with the purpose of checking the feasibility of the candidate shape Primitive shape error function For each estimation program an error function must be created. The main aim of this function is the evaluation of Theta. Once Theta has been obtained by the estimation algorithm, the error function will evaluate the quality of the estimated candidate shape with regard to the D set of points. For this task, the error of each point of D is computed regarding the candidate shape. The program takes Theta (input argument) and generates an error vector (output argument) that consists of the distances from each point to the surface of the estimated shape. The algorithm used to compute the quality of the estimated model varies according to the geometrical features of the primitive shape. The mathematical calculations utilized for each primitive shape are described in detail in Section Primitive shapes estimation algorithms Sphere estimation algorithm A sphere is defined as the set of all points in three-dimensional Euclidean space R 3 that are located at a distance r (sphere radius) from a given point (sphere center). Figure 3.1: Sphere In analytic geometry, a sphere with center (x 0, y 0, z 0 ) and radius r is the locus of all points (x, y, z) such that: (x x 0 ) 2 + (y y 0 ) 2 + (z z 0 ) 2 = r 2 (3.1) In order to determine a sphere, four different unknowns (r, x 0, y 0, z 0 ) have to be calculated, so that at least four linearly independent equations are necessary.

22 14 CHAPTER 3. FITTING PRIMITIVE SHAPES TO POINT CLOUDS Therefore, by taking a set of four points (p 1, p 2, p 3 and p 4 ), the sphere that contains them is defined by the following determinant equation. x y2 0 + z2 0 x 0 y 0 z 0 1 x y2 1 + z2 1 x 1 y 1 z 1 1 x y2 3 + = 0 p z2 3 x 3 y 3 z 3 1 i = (x i, y i, z i ) and i = 1, 2, 3, 4 (3.2) x y2 4 + z2 4 x 4 y 4 z 4 1 Once the determinant has been resolved, the sphere radius (r) and the sphere center (x 0, y 0, z 0 ) are obtained, defining a sphere with the four given points on its surface, as can be seen in Figure 3.2 Figure 3.2: Sphere defined by four points Consequently the sphere has a k factor equals 4. For the sphere estimation algorithm, the Theta vector is constituted by r and (x 0, y 0, z 0 ). This vector will be the output argument of the sphere estimation function and the input argument in the sphere error function. In order to check the feasibility of the Theta parameters, the sphere error function measures the distance from every point of D to the estimated sphere center. This calculation is carried out by inserting all the points of D into Equation (3.3). x 2 j +y 2 j +z 2 j +x 2 0+y 2 0 +z 2 0 2x 0 x j 2y 0 y j 2z 0 z j r 2 = 0 with j = 1, 2,..., N (3.3) The Equation (3.3) comes from making an expansion of Equation (3.1) and means the difference between the radius and the distance from the center of the sphere to a point of D. Thus, for each point (x j, y j, z j ) in D, a different value is obtained, which is known as the error of a point with respect to the estimated sphere.

23 3.2. PRIMITIVE SHAPES ESTIMATION ALGORITHMS Cylinder estimation algorithm A cylinder is defined as the set of all points in three-dimensional Euclidean space R 3 that are located at a fixed distance from a given straight line, the axis of the cylinder. This geometric surface is enclosed by two planes perpendicular to the axis. Figure 3.3: Cylinder. In analytic geometry, a cylinder is defined by radius (r), height (h) and cylinder axis (Υ). Thus, for its correct estimation these three parameters must be computed. Due to the fact that a cylinder is a surface of revolution made up of a generatrix (circle) and a directrix (axis), there is no a closed form solution as Equation (3.1) for every position in three-dimensional Euclidean space. In the cylinder estimation algorithm, a calculation method based on the distances of the points to an axis has been designed. To be able to calculate a cylinder from a minimum set of points (MSS), three points (x i, y i, z i ), which are not collinear, are necessary. Thereby, given three points, the plane that contains them is defined as follows. Ax i + By i + Cz i + D = 0 with i = 1, 2 and 3 (3.4) Once the coefficients A, B, C and D are obtained, the circle that goes through the three points is computed. This circle is also contained in the same plane (Figure 3.4). Figure 3.4: Plane with the three points

24 16 CHAPTER 3. FITTING PRIMITIVE SHAPES TO POINT CLOUDS Both the radius (r) and the center c = (x 0, y 0, z 0 ) are obtained by solving the following equations. with d(p i, c) = d(p 1, c) = d(p 2, c) = d(p 3, c) = r (3.5) (x i x 0 ) 2 + (y i y 0 ) 2 + (z i z 0 ) 2 (3.6) Therefore, r is designated as the cylinder radius, whereas the cylinder axis is achieved by taking the normal vector of the plane ( U n ) (previously estimated) and the center of the circle (x 0, y 0, z 0 ). These are the necessary parameters to set up the equation of the straight line Υ which is normal to the plane and goes through the center. x = x 0 + ta Υ y = y 0 + tb z = z 0 + tc being u n = (A, B, C) (3.7) As a result of these equations, the cylinder cardinality k is 3. Therefore, the Theta vector that describes the cylindrical shape is comprised of three elements U n, c and r. The first two define the cylinder axis whereas the last one is the cylinder radius. By using the radius and the axis of the cylinder, the distance of any point to the cylindrical surface can be computed. This method will be used to estimate the error of each point of D to the surface of the cylinder, which is based on computing the minimum distance (dmin j ) between each point of D and the cylinder axis. dmin j = u n cp D u n p D a point of D (3.8) By subtracting the estimated cylinder radius from these minimum distances, the error vector E j is obtained for each point (x j, y j, z j ) in D. E j = (dmin j r) with E j E = [E 1, E 2,..., E j,...e N ] (3.9) Once all the errors E j have been computed, those points whose error is under the error threshold (δ) will be selected as surface points. As can be observed, the height of the cylinder has not been taken into account during the course of the estimation. This fact was done on purpose, since, with this algorithm the cylindrical surfaces can be reconstructed even if one piece of the cylinder has been occluded by another shape. In Figure 3.5 an example of this reconstruction feature is shown. Therefore, the height of the cylinder is calculated once the RANSAC algorithm is over, by projecting all the estimated points on the estimated cylinder axis. So that, the height of the cylinder will be determined by the maximum distance between two projected points.

25 z 3.2. PRIMITIVE SHAPES ESTIMATION ALGORITHMS 17 (a) Input model (b) Cylindrical surface (c) Estimated inliers (circular points) (d) Reconstructed cylinder (blue cylinder) Figure 3.5: Reconstruction of a cylindrical shape when its middle part is occluded by another shape y x Figure 3.6: Height cylinder estimation A disadvantage of the height estimation method is the fact that when the density of points on the top or on the bottom of the cylinder is very low, a bad estimation in any of these parts would mean an erroneous cylinder height.

26 18 CHAPTER 3. FITTING PRIMITIVE SHAPES TO POINT CLOUDS Cone estimation algorithm A cone is a three-dimensional geometric shape that consists of the locus of all straight line segments joining the apex to the perimeter of the base. Moreover, as in the case of the cylinder, the cone is a solid of revolution generated by rotating a right-angled triangle around one of its cathetus. Figure 3.7: Cone To compute a conic surface the most important parameters which define a cone are: the apex point (χ), the axis of the cone (Υ) and the aperture angle (ϑ). Regarding the cone estimation function, an algorithm that makes possible the estimation of the axis, apex point and aperture angle by using four points (k = 4), has been designed. According to the method previously used for the cylinder, at the beginning of the cone estimation method three points are taken from the MSS. Along similar lines as the axis of the cylinder was computed in Section 3.2.2, both the plane (Γ) and the circle (which is defined by the three points) are estimated. This circle means an orthogonal cut when a plane intersects a cone perpendicularly (Figure 3.8). Figure 3.8: Perpendicular cut between cone and plane Once, the plane and the center of the circle (c) are obtained (Equations (3.4) and (3.5)), the cone axis can be determined by using Equation (3.7), as a straight line orthogonal to the plane.

27 3.2. PRIMITIVE SHAPES ESTIMATION ALGORITHMS 19 The fourth point is used in order to estimate the aperture angle (ϑ) by following several steps. For a better understanding of the method used, it is recommended to follow the Figure 3.9. Figure 3.9: Cone construction process 1. Firstly, the point p 4 is orthogonally projected on the plane (Γ), obtaining p 4. x = p 4x + ta L 1 = y = p 4y + tb z = p 4z + tc with p 4 = (p 4x, p 4y, p 4z ) (3.10) 2. With p 4 and the center of the circle (c), the straight line L 2 which joins both points is calculated. cp 4 = (p 4 c) (3.11) x = c x + kcp 4x L 2 = y = c y + kcp 4y z = c z + kcp 4z (3.12) 3. Computing the intersection between L2 and the circle, we can obtain the s point, which satisfies the following equation: d(s, c) = r with r circle radius and s L 2 (3.13)

28 20 CHAPTER 3. FITTING PRIMITIVE SHAPES TO POINT CLOUDS 4. By joining s with p 4, the straight line L 3 is attained. The point of intersection between L 3 and Υ (the cone axis) is the apex of the cone (χ). Therefore, the aperture angle (ϑ) will be twice the angle formed by the two straight lines. ( ) ul3 u Υ ϑ = 2 arccos u L3 u Υ u L3 and u Υ direction vectors of L 3 and Υ (3.14) Lastly, the T heta vector consists of Υ, ϑ and χ (axis, aperture and apex of the cone). These three parameters will be sent to the error function in order to evaluate the feasibility of the estimated cone. Once the T heta vector has been obtained, the accuracy of the estimated cone have to be checked. This evaluation is implemented by the cone error function, where the following steps are carry out: 1. The algorithm computes a straight line (L Di ) that joins each point of D with the apex of the estimated cone. x = χ x + l p i χ x L Di = y = χ y + l p i χ y z = χ z + l p i χ z with p i χ = (χ p i ) and p i D (3.15) 2. The angle (ϕ i ) formed by each (L Di ) with the axis of the cone is computed. ( ) udi u Υ ϕ i = arccos u Di u Υ u Di and u Υ direction vectors of L Di and Υ (3.16) 3. The error of each point (E i ) represents the orthogonal distance from the point p i to the surface of the candidate model. E i = sin(ϕ i ϑ 2 ) p i χ with E i E = [E 1, E 2,..., E i,...e N ] (3.17) Thus, for each point (x j, y j, z j ) in D a different value is obtained, which is known as the error of the point regarding the estimated conic surface. In RANSAC, the cone error threshold will decide which points belong to the estimated cone surface. If the threshold is decreased, we will achieve more accurate results. However, the runtime will be increased.

29 3.2. PRIMITIVE SHAPES ESTIMATION ALGORITHMS Box estimation algorithm The box is a convex polyhedron formally known in spatial geometry as cuboid. This geometric shape is bounded by three pairs of rectangular faces parallel to each other. Moreover, each pair of adjacent faces meets in a right angle defining 12 edges and 8 corners. (a) (b) (c) (d) Figure 3.10: Boxes The box estimation algorithm is based on the estimation of the six faces of the cuboid (Figure 3.10). Each face will be defined by a geometric plane. Since three of the six planes are parallel to the other ones, the box estimation function can be simplified to compute only three orthogonal planes. As will be seen later, the minimum number of points required to estimate a box is five (k = 5). Thus, the MSS will contain five random points from D. The steps carried out to define a box from a MSS are the following ones: 1. Firstly three points (p 1, p 2 and p 3 ) are taken from the MSS to be able to compute the plane Γ 1. p 1 = (p 1x, p 1y, p 1z ) p 2 = (p 2x, p 2y, p 2z ) Γ 1 A 1 x + B 1 y + C 1 z + D 1 = 0 (3.18) p 3 = (p 3x, p 3y, p 3z ) 2. In addition, taking a fourth point p 4 from the MSS and computing its orthogonal projection on Γ 1, the point p 4 is obtained (Figure 3.11a). x = p 4x + ta 1 L 1 = y = p 4y + tb 1 with p 4 = (p 4x, p 4y, p 4z ) (3.19) z = p 4z + tc 1 So that p 4 represents the point of intersection between the plane Γ 1 and the straight line L 1.

30 22 CHAPTER 3. FITTING PRIMITIVE SHAPES TO POINT CLOUDS 3. With the help of the last point from the MSS p 5, another additional plane Γ 2 can be computed, which is orthogonal to Γ 1 and contains the points p 4, p 4 and p 5 (Figure 3.11b). p 4 = (p 4x, p 4y, p 4z ) p 4 = (p 4x, p 4y, p 4z) Γ 2 A 2 x + B 2 y + C 2 z + D 2 = 0 (3.20) p 5 = (p 5x, p 5y, p 5z ) 4. In order to find the third orthogonal plane Γ 3, the cross product of the normal vectors of each plane (Figure 3.11c) is estimated as follows: n 3 = n 1 n 2 with n 1 = (A 1, B 1, C 1 ) and n 2 = (A 2, B 2, C 2 ) (3.21) (a) (b) (c) Figure 3.11: Box construction process 5. Once the algorithm has computed the three orthogonal vectors (n 1, n 2 and n 3 ), the position in the space where the three planes are exactly located must be fixed. Therefore, both D 1 and D 2 will be re-calculated with the aim of finding the most likely planes. The scalar product between every point p i from D with each normal vector n i is computed. Thereby, we will obtain three sets of points D 1, D 2 and D 3 whose values most frequent will represent the plane location (D 1, D 2 and D 3 ) where the density of points is the highest for each n i. D 1i = (p i n 1 ) D 1i D 1 = [D 11, D 12,...D 1i,...D 1N] D 2i = (p i n 2 ) D 2i D 2 = [D 21, D 22,...D 2i,...D 2N] D 3i = (p i n 3 ) D 3i D 3 = [D 31, D 32,...D 3i,...D 3N] (3.22) D 1 = arg max(d 1 ) D 2 = arg max(d 2 ) D 3 = arg max(d 3 ) (3.23)

31 3.2. PRIMITIVE SHAPES ESTIMATION ALGORITHMS 23 By calculating the new values of D 1 and D 2, the RANSAC algorithm will save lots of iterations. Consequently, the overall runtime will be decreased. Mode RunTime (s) With D 1 & D With D 1 & D In one RANSAC iteration are estimated three orthogonal planes by using a MSS with k = 5, so the Theta vector will be made up of Γ 1, Γ 2 and Γ 3. Γ 1 A 1 x + B 1 y + C 1 z + D 1 = 0 Γ 2 A 2 x + B 2 y + C 2 z + D 2 = 0 Γ 1 Γ 2 Γ 3 (3.24) Γ 3 A 3 x + B 3 y + C 3 z + D 3 = 0 In order to evaluate the error of the Theta vector regarding the whole point cloud D, an error function, which consists of two steps, has been developed: 1. Firstly, every point belonging to the point cloud is inserted in each one of the three plane equations. In this manner, a point p i generates three different error values E 1i, E 2i and E 3i, which mean how far the point is from each of the planes. E 1i = A 1 p ix + B 1 p iy + C 1 p iz + D 1; E 1i E 1 = [E 11, E 12,...E 1i,...E 1N ] E 2i = A 2 p ix + B 2 p iy + C 2 p iz + D 2; E 2i E 2 = [E 21, E 22,...E 2i,...E 2N ] E 3i = A 3 p ix + B 3 p iy + C 3 p iz + D 3; E 3i E 3 = [E 31, E 32,...E 3i,...E 3N ] (3.25) 2. Secondly, despite the fact that three errors are obtained for each point p i, solely the lowest value will represent the real error of the point with regard to the surface of the box. E = [min(e 11, E 21, E 31 ), min(e 12, E 22, E 32 ),...min(e 1i, E 2i, E 3i ),......min(e 1N, E 2N, E 3N )] (3.26) As mentioned above, a box is defined by three pairs of rectangular faces placed opposite each other. Once the RANSAC algorithm has found the three main planes (faces), the search for the parallel planes have to be carried out. This task is implemented in a similar way as the main planes were computed. Basing on the fact that the parallel planes have the same normal vectors as Γ 1, Γ 2 and Γ 3, the estimation process of these ones is simplified to the search of D 4, D 5 and D 6 (the position factors of the planes in the space).

32 24 CHAPTER 3. FITTING PRIMITIVE SHAPES TO POINT CLOUDS Consequently, the scalar product between each normal vector and the point cloud is computed again with the aim of finding the most frequent planes. Nevertheless, this time the point cloud consists only of those points which were not estimated as inliers of the already estimated planes. Even though this method works correctly in ideal conditions (low noise environments), the results of the tests have shown that the method fails when the amount of noise in the point cloud is considerable. Thus, a noise filter has been applied to improve the results in hard noise conditions. For each new D i value, a histogram, which indicates the density of points in every position in the 3D space, has been created. An example of the obtained histogram can be seen in Figure Histogram D positions Histogram Smoothing D positions Figure 3.12: Histograms A Median Filter has been applied to the initial histogram with the purpose of removing sudden variations which are caused by the noise. Taking a look at Figure 3.12, it can be observed that in both histograms two main peaks are generated. These peaks represent two parallel planes of the box, in addition, one of them is smaller than the other one. At first appearance the two peaks should look alike, nevertheless, as the estimated inliers were removed from this new point cloud, the smallest peak will represent the face of the box already estimated by RANSAC. The Median Filter computes the median value of the neighborhood in order to rule out those positions where the density of noise can be larger than the amount of points located in a face. Therefore, by computing the location where the histogram has the highest peak, the likelihood of finding a good estimation will be increased.

33 Chapter 4 Experimental Evaluation In order to obtain the feasibility of the RANSAC designed algorithms, a set of test, whose main goal is to check the accuracy of the primitive shape detection when facing a point cloud that is corrupted by noise, has been programmed. These tests are based on the insertion of a primitive shape with an amount of noise as input parameter in the RANSAC estimation. With the aim of achieving more realistic results, these tests use different kinds of noise. Although there are many types of noise that could have been applied to the test. It was eventually decided to use just two kinds of noise based on uniform distribution functions. Since the approach is aimed at using it with point clouds obtained from a stereo camera, the noise must be modeled accordingly. The first kind of noise used is called Random Noise (RN) that is spread out uniformly surrounded the primitive shape. The RN simulates the noise points on a model, which can be caused e.g. by errors in the stereo matching process. An example of a typical point cloud obtained from a stereo camera is given in Figure 4.1. The second kind of noise is called Surface Noise (SN). In this case, the uniform noise distribution is applied to points on the surface of the primitive shape. This noise defines the blurring of the model caused by a stereo camera on the surface of this one. In other words, the surface of the primitive shape is blurred by applying this kind of noise with the purpose of representing real models obtained from a stereo camera. An example of an image with surface noise from a stereo camera is given in Figures 4.1b and 4.1c. In addition to the different kinds of noise implemented, in two of the four tests, incomplete point clouds are used, because a camera can usually see only the front side of the shape if not moved around it (as it shown in Figure 4.1a). 4.1 Test scenarios To evaluate the feasibility of each primitive shape estimation algorithm with RANSAC, it was necessary to create four different scenarios based on the mentioned ones pre- 25

34 26 CHAPTER 4. EXPERIMENTAL EVALUATION (a) Image from a stereo camera (b) Generated Point Cloud from the Front view (c) Generated Point Cloud from the Top view Figure 4.1: Pictures taken from a stereo camera viously. The four kinds of tests are classified as follows: Random Noise Test (RN): The primitive shape is composed of random surface points with a scattering factor scrn = Random noise is added (spread on a cube) around the primitive shape following a uniform distribution function. The percentage of noise points is gradually increased in each evaluation. Random Noise and Incomplete Model Test (RNIM): A RN tests is applied and additionally a part of the primitive shape is deleted. Surface Noise Test (SN): The primitive shape is composed of random surface points. The position of the surface points with regard to the real surface is modeled following a uniform distribution function. The scattering factor scsn of this function is increased in each evaluation. Surface Noise and Incomplete Model Test (SNIM): A SN test is applied and additionally a part of the primitive shape is deleted. 4.2 How the tests are evaluated At the beginning of every test, a point cloud is created according to the test that is going to be run. Once the RANSAC algorithm ended, the obtained results from the estimated models are compared with the original model (without noise). For each model, the main parameters such as shape measures, orientation measures,

35 4.3. TEST RESULTS 27 runtimes and number of estimated inliers are checked. In order to achieve a greater number of results, a set of values has been defined for each kind of test. For RN and RNIM tests, six percentages of noise versus surface points are set: {10, 20, 30, 40, 50, 60} (%) These percentages represent the amount of noise points that has been inserted in the point cloud. The remaining percentages define the points which model the surface of the primitive shape. As it can be seen, the amount of noise points is increased in each evaluation. For the SN and SNDI tests, six different scattering factors sc sn are set: sc sn = {0.010, 0.050, 0.075, 0.100, 0125, 0.150} The uniform function models the distance of the points to the real surface. The scattering factor is increased in each iteration making the surface of the primitive shape increasingly distorted. By evaluating each element from the sets, the strength of the estimation methods can be checked. In order to achieve more reliable results, each percentage or scattering factor has been evaluated ten times. Thereby, the results used in tables and graphs are the average results of each evaluation. Lastly, in the four tests, the total number of points, which define the point cloud, has been fixed to Test results Sphere algorithm evaluation In order to evaluate the accuracy of the RANSAC method applied to a geometric sphere, the different scenarios mentioned above are going to be used. During the simulations, a random center and a random radius have been set, these values are kept in the four tests. The input data points used in each test can be seen in Figure 4.2. Moreover, in Figures 4.3 and 4.4 several examples with the outputs of each test are shown. For the representation of the incomplete models, 50% of the sphere has been deleted in the RNIM and SNIM tests. This fact shows the reliability of the sphere estimation algorithm under hard occlusion conditions. As we can see in Figure 4.5, the errors got for both the radius and center of the sphere are quite small, given to this method a big accuracy. Furthermore, if we focus on the surface noise tests, it can be observed that the radius and center errors

36 28 CHAPTER 4. EXPERIMENTAL EVALUATION (a) RN (60%) (b) RNIM (60%, 50% IM) (c) SN (sc sn = 0.75) (d) SNIM (sc sn = 0.75, 50% IM) Figure 4.2: Input models for the sphere tests are slightly larger for sc sn = and sc sn = This is due to the fact that in a point cloud with surface noise the points are located closer than if we were using random noise instead. Consequently, it is easier to find nearby spheres when the outliers are located closer to the surface. If we focus on the runtime s graphs, we can observe how for the random noise tests the time keeps constant despite the noise variations (Figure 4.6a). Meanwhile, if we look at the surface noise case (Figure 4.6b), an exponential increase in the runtimes can be observed. This exponential time increase is due to the fact that when the scattering factor (sc sn ) is considerably high, the RANSAC algorithm takes a long time to find a set of points with the same distance to the center. Owing to the hight scattering factor, the algorithm finds lots of candidate spheres very close to each other inside the point cloud (because of the surface blurring), but it takes a while to decide which one is the best choice. On the contrary, this situation does not happen when the noise is uniformly spread around the point cloud (random

37 4.3. TEST RESULTS 29 (a) RN (60%) (b) RN (60%) (c) RNIM (60%, 50% IM) (d) RNIM (60%, 50% IM) Figure 4.3: Output models from the RN sphere tests noise tests). Although there is a large amount of noise points, there is always a set of them located at a similar distance from a central point. For the global evaluation of the estimated spheres, a parameter called mean estimated error (MEE) has been defined. This value indicates how accurate the model is with respect to the real model. For that purpose, the average value of the orthogonal distances from the estimated inliers to the original sphere surface has been measured. MEE = NEI j=1 (d(c o, D EIj ) R o ) N EI (4.1) With C o the center of the original sphere, R o its radius, D EI the set of the estimated inliers, N EI the number of elements in D EI and d(c o, D EIj ) the distance from C o to D EIj.

38 30 CHAPTER 4. EXPERIMENTAL EVALUATION (a) SN (sc sn = 0.75) (b) SN (sc sn = 0.75) (c) SNIM (sc sn = 0.75, 50% IM) (d) SNIM (sc sn = 0.75, 50% IM) Figure 4.4: Output models from the SN sphere tests (a) Random Noise (b) Surface Noise Figure 4.5: Sphere Radius and Center Errors The MEE keeps constant for the estimations based on the random noise (Figure 4.7a), since the RANSAC algorithm always finds as the winner sphere the original one (due to the density of points in the surface of the original sphere). When

39 4.3. TEST RESULTS 31 (a) Random Noise (b) Surface Noise Figure 4.6: Sphere Run-Times (a) Random Noise (b) Surface Noise Figure 4.7: Sphere Mean Estimated Error the MEE is calculated in the cases of surface noise, it can be observed (Figure 4.7b) how the MEE is growing as the sc sn factor is increased. This is due to the fact that lots of nearby spheres can be found, causing that the estimated sphere suffers a position error. Conclusions RANSAC-Sphere tests The RANSAC-sphere method is very advisable when there is a sphere hidden in a point cloud. As can be seen in Figure 4.7, the method has a great accuracy even if the percentage of noise points is around the 60%. Furthermore, the method can be used in reconstruction tasks when a stereo camera is not able to scan the whole sphere because of the fact that it can be observed from a specific view or is occluded by another object. As it could be observed during the whole evaluation process of the sphere, the results obtained for both incomplete and complete models are very similar. That is because of the strength of the designed method (Subsection 3.2.1), which only needs a set of points that satisfy the same sphere equation. Thus, the estimations for incomplete models will be the same until the density of noise points in a given area is higher than the set of points which satisfy the same sphere equation.

40 32 CHAPTER 4. EXPERIMENTAL EVALUATION Cylinder algorithm evaluation A cylinder is clearly defined in 3D by its radius, height and axis cylinder orientation. For the first two parameters, random values were chosen, which are kept for the four kinds of tests. Moreover, for the axis cylinder orientation, the input cylinder has been center around the Z axis. This choice has been taken in order to simplify the design of the tests. A figure with the input data points used in each test can be seen in Figure 4.8. (a) RN (60%) (b) RNIM (60%, 50% IM) (c) SN (sc sn = 0.75) (d) SNIM (sc sn = 0.75, 50% IM) Figure 4.8: Cylinder Input models Moreover, in Figures 4.9 and 4.10 several examples with the outputs of each test are shown. As it was already done in the sphere evaluation, 50% of the cylinder surface has been deleted in the RNIM and SNIM tests, in order to prove the consistency of the cylinder estimation algorithm in situations where a part of the model is occluded. To be able to check the accuracy of the estimated cylinder according to the

41 4.3. TEST RESULTS 33 (a) RN (60%) (b) RN (60%) (c) RNIM (60%, 50% IM) (d) RNIM (60%, 50% IM) Figure 4.9: Output models from the RN cylinder tests. Green cylinders are the input models, whereas the blue ones are the estimated cylinders. original cylinder, three significant error measures are taken into account. Firstly, the cylinder dimensions can be checked with both radius and height errors. These two errors are computed as the difference between the original parameters (R o and h o ) and the estimated ones. Error Radius E CyR = R e R o Error Height E CyH = h e h o with R e Estimated Radius with h e Estimated Height Secondly, an orientation error (α) has been computed with the intention of knowing the difference in degrees between the original cylinder axis and the estimated one.

42 34 CHAPTER 4. EXPERIMENTAL EVALUATION (a) SN (sc sn = 0.75) (b) SN (sc sn = 0.75) (c) SNIM (sc sn = 0.75, 50% IM) (d) SNIM (sc sn = 0.75, 50% IM) Figure 4.10: Output models from the SN cylinder tests. Green cylinders are the input models, whereas the blue ones are the estimated cylinders. Let n o and n e be the direction vectors of the original and estimated cylinder respectively. ( ) no n e 360 α = 180 arccos n o n e 2π If we pay attention to the errors in the height for both RN and SN (Figure 4.11a and 4.11b), we can conclude that when the random noise percentage is increased, the estimated heights are not sensitive to these increases. On the other hand, if we progressively increase the scattering factor sc sn, we can notice how the error factor rise slightly. Having a look at the orientation errors (Figures 4.11c and 4.11d), it shows that the estimation method of the cylinder is sensitive to the removal of part of the original model. For both RNIM and SNIM it can be checked how the axis

43 4.3. TEST RESULTS 35 (a) Random Noise (b) Surface Noise (c) Random Noise (d) Surface Noise Figure 4.11: Cylinder Dimension Errors deviation errors (α) are higher compared to the suffered ones in the RN and SN tests. Summarizing, we can conclude that the estimation algorithm is sensitive to the removal of part of the original model. (a) Random Noise (b) Surface Noise Figure 4.12: Cylinder Run-Times In addition, as one may see in the output pictures (Figures 4.9 and 4.10), the amount of estimated inliers (represented by small circles) is not so numerous as in the sphere estimation. At first appearance, this fact could mean that the method used in the cylinder estimation function is not accurate enough, but this low number of estimated inliers is due to how the estimation cylinder algorithm works. As it was remarked in Subsection 3.2.2, the candidate cylinders are computed by using three points randomly chosen from the point cloud. These three points define a transversal plane whose normal vector is equal to the direction of the axis of the

44 36 CHAPTER 4. EXPERIMENTAL EVALUATION cylinder. Since the points which define the primitive shape are randomly located on its surface, it is very unlikely to take three points exactly positioned on a transversal plane to the original cylinder. In spite of this fact, for the cylinder estimation, the number of estimated inliers is not so important. Insomuch, with a small set of estimated inliers, a cylinder very similar to the original one can be reconstructed. Paying attention to the runtimes graphs (Figure 4.12), we can check the time rise caused when noise conditions are increased. This did not happen in the case of random noise in the sphere evaluation, where the runtimes were held constant despite increasing the percentage of noise, because of the fact that the sphere algorithm is stronger to noise environments. Conclusions RANSAC-Cylinder tests The models obtained by the cylinder estimation algorithm are more sensitive to noise when the model required to be estimated is incomplete. This is due to the fact that the set of points which defines the cylinder surface is smaller and thus, the noise points located in the region of the space where a part of the cylinder has been removed may influence a deviation on the axis of this one. Therefore, if the estimation of the axis suffers a small variation (with regard to the original one), the set of points will suffer it as well. Despite this fact, the algorithm for computing the distances from points to an axis was finally chosen because of its good properties to rebuild cylindrical objects partially incomplete Cone algorithm evaluation Due to the fact that a cone is a surface of revolution consisted of a generatrix (circle) and a directrix (axis), two parameters are chosen for its representation, height and cone aperture. The aperture of a right circular cone is the maximum angle between two generatrix lines; if the generatrix makes an angle θ to the axis, the aperture is 2θ. The input data applied in each test are shown in Figure Moreover, in Figures 4.14 and 4.15 several examples with the outputs of each test are shown. The cone evaluation is based on the measurement of three parameters to define the quality of the estimated model with respect to the original one. The height (h), the aperture angle (ϑ), and the axis direction of the cone (Υ) have been the parameters chosen to check the quality of the final estimation. Both aperture angle and axis direction are measured in degrees as well as the axis deviation represents the orientation of the cone in the space. The error measurements are computed as follows: Error Height E Cnh = h e h o with h e Estimated Height (4.2) Error Aperture E ϑ = ϑ e 2 ϑ o 2 with ϑ e Estimated Aperture (4.3)

45 4.3. TEST RESULTS 37 (a) RN (60%) (b) RNIM (60%, 50% IM) (c) SN (sc sn = 0.75) (d) SNIM (sc sn = 0.75, 50% IM) Figure 4.13: Cone Input models To compute the correct cone orientation, the axis direction of the original cone has been compared with the axis direction of the estimated cone. Error Axis E Υ = Υ e Υ o with Υ e Estimated Axis (4.4) In a similar way as was done for the cylinder, the height of the estimated cone is computed by projecting all the estimated inliers on the estimated cone axis. Once, all the points have been projected on the axis, the distance between those two points whose projections are more distant from each other will define the height of the estimated cone (Figure 3.6). Regarding the height graphs (Figures 4.16a and 4.16b), we can observe as under the same noise conditions, those tests where 50% of the original cone is deleted (RNIM and SNIM), the estimated cones have higher error values. Consequently, the estimations are more accurate when a greater amount of information about the surface of the model is provided.

46 38 CHAPTER 4. EXPERIMENTAL EVALUATION (a) RN (60%) (b) RN (60%) (c) RNIM (60%, 50% IM) (d) RNIM (60%, 50% IM) Figure 4.14: Output models from the RN cone tests. Green cones are the input models, whereas the blue ones are the estimated cones. Similarly, for the aperture and axis orientation errors (Figures 4.16c and 4.16d) we can find the same conclusions. Nevertheless, paying attention in these two measurements, we can realize that if the noise value is increased, the error measurements do not rise in the same way, but the errors keep constant around a central value. This fact indicates the strength of the estimation cone algorithm under different noise environments. In Figure 4.17 the runtimes are very similar in the RN tests and SN tests. These values are much higher than the obtained for the sphere and cylinder because of the complexity of the estimation cone algorithm (Subsection 3.2.3). The rise in time caused by increased noise is a consequence of the RANSAC algorithm. When the noise conditions are significantly high, the algorithm is not capable of finding a set of estimated inliers good enough which allows to leave the main loop (Subsection 3.1.1). Thereby, the estimation process will keep running until the maximum number of iterations has been reached. This fact could hardly be appreciated in the sphere and

47 4.3. TEST RESULTS 39 (a) SN (sc sn = 0.75) (b) SN (sc sn = 0.75) (c) SNIM (sc sn = 0.75, 50% IM) (d) SNIM (sc sn = 0.75, 50% IM) Figure 4.15: Output models from the SN cone tests. Green cones are the input models, whereas the blue ones are the estimated cones. cylinder algorithms due to the speed of both. Nonetheless, for the cone is important to emphasize it. Conclusions RANSAC-Cone tests As it has been demonstrated, the cone estimation algorithm is strong under hard noise conditions. However, when the amount of noise is high or the scattering factor exceeds 0.075, the obtained runtimes are considerably big. Therefore, if we want to achieve estimation times close to the cylinder and sphere ones, the performance of the estimation cone algorithm have to be enhanced. Despite the fact that the orientation errors are higher for Incomple Models, the obtained estimations (Figures 4.14d and 4.15d) are good enough to be able to use them in reconstruction tasks where part of the model is unknown. Nevertheless, if the execution time is not an important requirement, the accuracy of the estimations for incomplete models can be improved by decreasing the value of the error threshold. Summarizing, the cone estimation algorithm can be set up according to the aim

48 40 CHAPTER 4. EXPERIMENTAL EVALUATION (a) Random Noise (b) Surface Noise (c) Random Noise (d) Surface Noise Figure 4.16: Cone error measurements (a) Random Noise (b) Surface Noise Figure 4.17: Cone Run-Times which we want to carry out Box algorithm evaluation The box estimation algorithm is due to its complexity, one of the most vulnerable algorithms when different noise conditions are applied. As it was already explained in the previous chapter (Section 3.2.4), the estimation of a box is based on the calculation of six different planes. The lines of intersection generated by these planes define the edges of the box, as well as the points of intersection among the mentioned lines define the eight corners of the box. For the evaluation of the box estimation algorithm, a set of quality measures have to be carried out with reference

49 4.3. TEST RESULTS 41 to the position of the eight corners in the three-dimensional space. In this subsection a set of measures have been applied in order to check the accuracy, speed and quality of the box algorithm against different noise conditions. The input models inserted in each tests can be seen in Figure (a) RN (60%) (b) RNIM (60%, 10% IM) (c) SN (sc sn = 0.75) (d) SNIM (sc sn = 0.75, 10% IM) Figure 4.18: Box Input Models Moreover, in Figures 4.19 and 4.20 several examples with the final results of each test are shown. In spatial geometry the dimensions of a box are specified by its height, width and depth. This three volume measurements have been evaluated by checking the error between the original box and each estimated box. In Figure 4.22 the obtained height errors are shown as result of running the four tests. Regarding the width and the depth of the estimated boxes, other two measures of volume are made. In Figure 4.23 a table, where the Side 1 (box width) and the Side 2(box depth) are compared with the original dimensions of the box, can be seen. The obtained results

50 42 CHAPTER 4. EXPERIMENTAL EVALUATION (a) RN (60%) (b) RN (60%) (c) RNIM (60%, 10% IM) (d) RNIM (60%, 10% IM) Figure 4.19: Output models from the RN box tests are quite consistent with the original box dimensions even if 60% of the point cloud is contaminated by outliers. These good results have their roots in the method used to estimate the parallel planes (Figure 4.21). As it was already explained in Subsection 3.2.4, by filtering the histogram the sudden noise variations can be deleted. Thus, the method works better in random noise environments. However, the errors obtained for the SNIM test (Figure 4.23b) have been marked in gray color with the aim of explaining the causes of these results. When the surface noise is applied, the shape of the original model becomes blurred. This situation causes that the density of points on the surface of the model is decreased. Consequently, if the scattering factor sc sn has a sizable value 0.15, the parallel planes can be estimated very close to the other three because of the

51 4.3. TEST RESULTS 43 (a) SN (sc sn = 0.75) (b) SN (sc sn = 0.75) (c) SNIM (sc sn = 0.75, 10% IM) (d) SNIM (sc sn = 0.75, 10% IM) Figure 4.20: Output models from the SN box tests high dispersion of points in that region of the space (Figures 4.21a and 4.21b). In addition to the surface noise, if one part of a face is removed (SNIM), the results marked in Figure 4.23b will be the obtained. Now the histogram filtering is not enough to select the right parallel plane, insomuch as a percentage of points has been deleted from a face, the density of points in this face is smaller than the parallel one. An example of a wrong estimation is shown in Figure Moreover, a position measure has been included in Figure 4.23 with the aim of representing the deviation of the estimated geometric center with respect to the original geometric center of the model. Error Centre E Cnt = C nte C nto with C nte Estimated Centre Along similar lines, when a wrong estimation is generated (gray results), the geometric center is affected as well.

52 44 CHAPTER 4. EXPERIMENTAL EVALUATION (a) Histogram without filter (b) Estimated Box without filter (c) Histogram with filter (d) Estimated Box with filter Figure 4.21: Effect of filtering the histogram. The wrong estimation obtained in 4.21b is because of selecting the right peak in 4.21a as D position of the parallel plane instead of choosing the left peak. By applying the filter, an averaging of the histogram values is computed, decreasing the height of the right peak which had already been selected (parallel plane). Regarding the runtimes achieved for the box estimation algorithm (Figure 4.25), we can observe how the runtimes are becoming higher as the percentage of noise is increased. Furthermore, making a comparison between surface noise and random noise, we can realize that the runtimes in surface noise conditions are longer. This fact is due to the noisy surface. RANSAC has trouble finding the right planes, since the surface noise causes an increase in the thickness of the box faces. Therefore, the algorithm estimates lots of candidate faces in the same area and takes longer to make a final decision. These runtimes can be improved by rising the error threshold in the box estimation algorithm (Section 3.2.4). This threshold is in charge of selecting which points may belong to the candidate plane and which ones are not eligible. However, if the error threshold is increased, the final estimated box might be inaccurate. Thus, there is a trade-off between runtime and accuracy. Conclusions RANSAC-Box tests Summarizing, despite the fact that the box estimation algorithm works correctly under different noise conditions, when a high percentage of the model is deleted

53 4.3. TEST RESULTS 45 (a) Random Noise (b) Surface Noise Figure 4.22: Box Height Errors (a) Random Noise (b) Surface Noise Figure 4.23: Box Dimension Errors (a) Input Box (b) Output Box Figure 4.24: Wrong estimation with SNIM test sc sn = and 10% of deleted surface. Due to the high dispersion of points on the surface, the algorithm selects two parallel planes in the same region of the space and the eight corners will be located very close to each other. or the surface noise variance exceeds 0.15, the estimation may fail. Many of these problems could have been solved by processing the box histograms (Figure 3.12), as it was already pointed out above. However, these matters are out of the scope of

54 46 CHAPTER 4. EXPERIMENTAL EVALUATION (a) Random Noise (b) Surface Noise Figure 4.25: Box Runtimes this thesis. In Future Work section the possible enhancements which can be applied to each of the algorithms will be discussed.

55 Chapter 5 Primitive Shape Decomposition Algorithm In this chapter, the algorithm that implements the decomposition of an object in several primitive shapes is going to be introduced. For this purpose, the RANSAC core algorithm, the primitive shape estimation algorithms and the BoxDecomposition algorithm have been joined together in a single program called The Primitive Shape Decomposition Algorithm (PSDA). In previous chapters the different parts that configure the PSDA have been mentioned. However, the whole operation plan is going to be discussed in this chapter. The set of input objects, which are employed in this program, comes from the CVAP database of objects (Figures 5.1a and 5.1c). All the models from this database are defined as inventor files (.iv) since they are mainly used with GraspIt! simulator [10]. The.iv files contain the structural composition of the object by defining it with vertices and indices. In addition, the file includes the different kinds of materials that make up the objects. (a) Duck.iv (b) Duck.crd (c) Human.iv (d) Human.crd Figure 5.1: Some examples of the CVAP database Nevertheless, due to the fact that the RANSAC algorithm needs data points to work, the.iv files are first transformed into coordinate files (.crd ). In order to carry out this task, a program which read.iv files and generates.crd files was 47

56 48 CHAPTER 5. PRIMITIVE SHAPE DECOMPOSITION ALGORITHM designed. The.crd file contains the three-dimensional coordinates of the surface points of a model (Figures 5.1b and 5.1d). The different phases the PSDA follows can be observed in the diagram of the Figure 5.2. Figure 5.2: PSDA Diagram Firstly, the object that we want to fit (Figures 5.1a and 5.1c) is turned into coordinate file (.crd). The BoxDecomposition algorithm takes as input argument the.crd file and starts the decomposition of the object into minimum volume bounding boxes. The smaller boxes contain a set of points from the input object. Afterwards, the point cloud contained in each box will be evaluated by using the RANSAC algorithm. Because of the fact that four different primitive shapes have been defined, each point cloud will be evaluated four times by the RANSAC algorithm. The following phase will select from the set of winning primitive shapes the one which fits the input point cloud best. Therefore, once the best primitive shapes have been chosen for each box, the PSDA finishes and delivers the approximation of the object by primitive shapes. 5.1 BoxDecomposition Phase The first phase of the PSDA consists of the BoxDecomposition algorithm. This program is the responsible for splitting the input object into a set of bounding boxes by applying the MVBB algorithm. The BoxDecomposition algorithm takes as input parameter the.crd file and executes the steps described in Subsection 2.2. Even though the algorithm was already described, important comments must be taken into account. In the PSDA, the number of primitive shapes that will configure the final model will depend on the gain factor selected. Therefore, by changing this factor in the BoxDecomposition configuration file, the number of bounding boxes can be in-

57 5.2. RANSAC PHASE 49 creased or decreased. High values generate a big amount of boxes that allow us to achieve more realistic approximations. However, the main aim of the PSDA is not focused on reconstructing the object by using primitive shapes, but it is focused on fitting big parts of the object into primitive shapes in order to achieve more accurate grasps. Therefore, the gain factor chosen will be that one which allows us to split the object in its main parts e.g. arms, head, legs, trunk, etc. Some examples about how the variation of the gain factor affects the number of boxes can be seen in Figure 5.3. (a) Gain = 0.80; 1 box (b) Gain = 0.85; 2 boxes (c) Gain = 0.96; 3 boxes (d) Gain = 0.96; 5 boxes (e) Gain = 0.98; 7 boxes (f) Gain = 0.99; 27 boxes Figure 5.3: Gain variation in the BoxDecomposition algorithm As it can be observed, for models defined by large amounts of points where high gain values have been applied, the BoxDecomposition algorithm generates too many boxes (Figure 5.3f), which is not useful for our purposes. A good value for the primitive shape decomposition is the specified in Figure 5.3d, since this parameter splits the model in its main parts. Once the gain value has been chosen according to the requirement specifications, the PSDA calls the BoxDecomposition algorithm in order to obtain smaller point clouds which will be the input arguments for the RANSAC algorithm. 5.2 RANSAC Phase The RANSAC algorithm is the responsible for fitting the point clouds to primitive shapes. This algorithm is embedded in the PSDA after the BoxDecomposition

58 50 CHAPTER 5. PRIMITIVE SHAPE DECOMPOSITION ALGORITHM phase. Each of the boxes from the BoxDecomposition are taken as input argument for RANSAC, which will compute the four primitive shapes that best fit into the point cloud. RANSAC is called four times for each input point cloud according to the number of primitive shapes. In each call the estimation function and error function (Chapter 3) of the primitive shape that is going to be sought are specified. Besides these functions, an error threshold and a maximum number of iterations is set. By changing these two parameters the accuracy of the PSDA can be controlled. In contrast to the evaluation tests, in the PSDA the value of the error threshold is wider. In the tests, the primitive shapes were corrupted with noise, but we knew that one of them was hidden in the point cloud, so the threshold had to be quite restrictive to be able to extract it. However, in the PSDA, the input point clouds define complex shapes that can be approximated with a primitive shape. Thus, a higher threshold value must be set in order to find the primitive shape more alike to the point cloud. This increment in the error threshold allows us to be more permissive to sudden variations in the surface of the model. Secondly, a maximum number of iterations is set in order to limit the runtimes generated by RANSAC in each estimation. Since RANSAC has to be executed four times for each input point cloud, the overall runtime of the PSDA is too long. It has been observed that after a given number of iterations ( 50000) the RANSAC algorithm does not improve the current candidate shape. Nonetheless, if the time is not an important requirement, and the goal is to achieve an estimation as accurate as possible, the maximum number of iterations do not have to be specified in the RANSAC configuration settings. All these options must be configured according to the purposes for which the user wants to use the PSDA. In Figure 5.4 four approximations made by RANSAC for the Homer s head are shown. (a) Sphere (b) Cylinder (c) Cone (d) Box Figure 5.4: RANSAC estimations for the Homer s head

59 5.3. EVALUATION PHASE Evaluation Phase Once the RANSAC algorithm has found the four primitive shapes which best fit the point cloud, the PSDA has to make a decision about which one is better suited to replace the point cloud. In order to be able to make this choice, a decision criterion based on the error of the points with regard to the surface of the estimated primitive shapes has been developed. The program that evaluates the final primitive shapes computes the minimum average distance of the input point cloud with respect to the surface of the primitive shape. This method works in a similar way as RANSAC evaluates the candidate shapes. However, in contrast to RANSAC, the PSDA evaluation takes into account the whole surface of the model and not just its lateral surface. In other words, the new algorithm also considers the top and the bottom planes for the cylindrical and conical surfaces. Thus, with a single criterion, the set of final primitive shapes is evaluated on equal terms. Moreover, to strengthen the PSDA, the mean distance error of the bounding box (from the BoxDecomposition algorithm) is kept into account as well. Thereby, this box will serve as a precaution against inaccurate RANSAC estimations, where the mean errors are too high. Even though there is a box among the set of primitive shapes, sometimes the orientation of this one in the 3D-space does not represent the real orientation of the model causing an error slightly higher than the bounding box. An example of this situation can be observed in (Figure 5.5). (a) Box estimation from RANSAC (b) Box estimation from BoxDecomposition Figure 5.5: Different box estimations The winning primitive shape will be that one which mean distance error is the minimum one.

60 52 CHAPTER 5. PRIMITIVE SHAPE DECOMPOSITION ALGORITHM 5.4 Reconstruction Phase When the evaluation phase is over, the main program picks the winner primitive shapes and proceeds to show them. The outputs shown in Figure 5.6 are the result of applying the PSDA to the Duck and Homer models. (a) Input Model (b) Output Model (c) Input Model (d) Output Model Figure 5.6: The Primitive Shape Decomposition Algorithm 5.5 Conclusions It has been able to observe, the aim of the PSDA does not lie in the reconstruction of the model from primitive shapes, but what it actually does, it is an improvement of the BoxDecomposition algorithm to limit the number of grasps on a model. For the complex task of recognizing an object by a robot, the PSDA represents a helpful tool in order to give a first approximation of the object shape. However, the PSDA algorithm has been mainly designed to apply a set of known grasps to a model. Thereby, a robotic arm, which knows the best grasps for a set of primitive shapes, could apply the PSDA to an object with the purpose of knowing the best grasps of this one without previously storing in its database. In this way, the PSDA summarizes the overall goal of this Master Thesis.

Jiří Matas. Hough Transform

Jiří Matas. Hough Transform Hough Transform Jiří Matas Center for Machine Perception Department of Cybernetics, Faculty of Electrical Engineering Czech Technical University, Prague Many slides thanks to Kristen Grauman and Bastian

More information

NEW MEXICO Grade 6 MATHEMATICS STANDARDS

NEW MEXICO Grade 6 MATHEMATICS STANDARDS PROCESS STANDARDS To help New Mexico students achieve the Content Standards enumerated below, teachers are encouraged to base instruction on the following Process Standards: Problem Solving Build new mathematical

More information

Pre-Algebra 2008. Academic Content Standards Grade Eight Ohio. Number, Number Sense and Operations Standard. Number and Number Systems

Pre-Algebra 2008. Academic Content Standards Grade Eight Ohio. Number, Number Sense and Operations Standard. Number and Number Systems Academic Content Standards Grade Eight Ohio Pre-Algebra 2008 STANDARDS Number, Number Sense and Operations Standard Number and Number Systems 1. Use scientific notation to express large numbers and small

More information

Algebra 1 2008. Academic Content Standards Grade Eight and Grade Nine Ohio. Grade Eight. Number, Number Sense and Operations Standard

Algebra 1 2008. Academic Content Standards Grade Eight and Grade Nine Ohio. Grade Eight. Number, Number Sense and Operations Standard Academic Content Standards Grade Eight and Grade Nine Ohio Algebra 1 2008 Grade Eight STANDARDS Number, Number Sense and Operations Standard Number and Number Systems 1. Use scientific notation to express

More information

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space 11 Vectors and the Geometry of Space 11.1 Vectors in the Plane Copyright Cengage Learning. All rights reserved. Copyright Cengage Learning. All rights reserved. 2 Objectives! Write the component form of

More information

Such As Statements, Kindergarten Grade 8

Such As Statements, Kindergarten Grade 8 Such As Statements, Kindergarten Grade 8 This document contains the such as statements that were included in the review committees final recommendations for revisions to the mathematics Texas Essential

More information

Part-Based Recognition

Part-Based Recognition Part-Based Recognition Benedict Brown CS597D, Fall 2003 Princeton University CS 597D, Part-Based Recognition p. 1/32 Introduction Many objects are made up of parts It s presumably easier to identify simple

More information

Algebra Geometry Glossary. 90 angle

Algebra Geometry Glossary. 90 angle lgebra Geometry Glossary 1) acute angle an angle less than 90 acute angle 90 angle 2) acute triangle a triangle where all angles are less than 90 3) adjacent angles angles that share a common leg Example:

More information

Name Class. Date Section. Test Form A Chapter 11. Chapter 11 Test Bank 155

Name Class. Date Section. Test Form A Chapter 11. Chapter 11 Test Bank 155 Chapter Test Bank 55 Test Form A Chapter Name Class Date Section. Find a unit vector in the direction of v if v is the vector from P,, 3 to Q,, 0. (a) 3i 3j 3k (b) i j k 3 i 3 j 3 k 3 i 3 j 3 k. Calculate

More information

Glencoe. correlated to SOUTH CAROLINA MATH CURRICULUM STANDARDS GRADE 6 3-3, 5-8 8-4, 8-7 1-6, 4-9

Glencoe. correlated to SOUTH CAROLINA MATH CURRICULUM STANDARDS GRADE 6 3-3, 5-8 8-4, 8-7 1-6, 4-9 Glencoe correlated to SOUTH CAROLINA MATH CURRICULUM STANDARDS GRADE 6 STANDARDS 6-8 Number and Operations (NO) Standard I. Understand numbers, ways of representing numbers, relationships among numbers,

More information

Arrangements And Duality

Arrangements And Duality Arrangements And Duality 3.1 Introduction 3 Point configurations are tbe most basic structure we study in computational geometry. But what about configurations of more complicated shapes? For example,

More information

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem David L. Finn November 30th, 2004 In the next few days, we will introduce some of the basic problems in geometric modelling, and

More information

Segmentation of building models from dense 3D point-clouds

Segmentation of building models from dense 3D point-clouds Segmentation of building models from dense 3D point-clouds Joachim Bauer, Konrad Karner, Konrad Schindler, Andreas Klaus, Christopher Zach VRVis Research Center for Virtual Reality and Visualization, Institute

More information

Section 1.1. Introduction to R n

Section 1.1. Introduction to R n The Calculus of Functions of Several Variables Section. Introduction to R n Calculus is the study of functional relationships and how related quantities change with each other. In your first exposure to

More information

Common Core Unit Summary Grades 6 to 8

Common Core Unit Summary Grades 6 to 8 Common Core Unit Summary Grades 6 to 8 Grade 8: Unit 1: Congruence and Similarity- 8G1-8G5 rotations reflections and translations,( RRT=congruence) understand congruence of 2 d figures after RRT Dilations

More information

Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

More information

Recovering Primitives in 3D CAD meshes

Recovering Primitives in 3D CAD meshes Recovering Primitives in 3D CAD meshes Roseline Bénière a,c, Gérard Subsol a, Gilles Gesquière b, François Le Breton c and William Puech a a LIRMM, Univ. Montpellier 2, CNRS, 161 rue Ada, 34392, France;

More information

In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data.

In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data. MATHEMATICS: THE LEVEL DESCRIPTIONS In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data. Attainment target

More information

Prentice Hall Connected Mathematics 2, 7th Grade Units 2009

Prentice Hall Connected Mathematics 2, 7th Grade Units 2009 Prentice Hall Connected Mathematics 2, 7th Grade Units 2009 Grade 7 C O R R E L A T E D T O from March 2009 Grade 7 Problem Solving Build new mathematical knowledge through problem solving. Solve problems

More information

A Learning Based Method for Super-Resolution of Low Resolution Images

A Learning Based Method for Super-Resolution of Low Resolution Images A Learning Based Method for Super-Resolution of Low Resolution Images Emre Ugur June 1, 2004 emre.ugur@ceng.metu.edu.tr Abstract The main objective of this project is the study of a learning based method

More information

Angle - a figure formed by two rays or two line segments with a common endpoint called the vertex of the angle; angles are measured in degrees

Angle - a figure formed by two rays or two line segments with a common endpoint called the vertex of the angle; angles are measured in degrees Angle - a figure formed by two rays or two line segments with a common endpoint called the vertex of the angle; angles are measured in degrees Apex in a pyramid or cone, the vertex opposite the base; in

More information

Data Mining. Cluster Analysis: Advanced Concepts and Algorithms

Data Mining. Cluster Analysis: Advanced Concepts and Algorithms Data Mining Cluster Analysis: Advanced Concepts and Algorithms Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 1 More Clustering Methods Prototype-based clustering Density-based clustering Graph-based

More information

Activity Set 4. Trainer Guide

Activity Set 4. Trainer Guide Geometry and Measurement of Solid Figures Activity Set 4 Trainer Guide Mid_SGe_04_TG Copyright by the McGraw-Hill Companies McGraw-Hill Professional Development GEOMETRY AND MEASUREMENT OF SOLID FIGURES

More information

Robust NURBS Surface Fitting from Unorganized 3D Point Clouds for Infrastructure As-Built Modeling

Robust NURBS Surface Fitting from Unorganized 3D Point Clouds for Infrastructure As-Built Modeling 81 Robust NURBS Surface Fitting from Unorganized 3D Point Clouds for Infrastructure As-Built Modeling Andrey Dimitrov 1 and Mani Golparvar-Fard 2 1 Graduate Student, Depts of Civil Eng and Engineering

More information

Performance Level Descriptors Grade 6 Mathematics

Performance Level Descriptors Grade 6 Mathematics Performance Level Descriptors Grade 6 Mathematics Multiplying and Dividing with Fractions 6.NS.1-2 Grade 6 Math : Sub-Claim A The student solves problems involving the Major Content for grade/course with

More information

GRADES 7, 8, AND 9 BIG IDEAS

GRADES 7, 8, AND 9 BIG IDEAS Table 1: Strand A: BIG IDEAS: MATH: NUMBER Introduce perfect squares, square roots, and all applications Introduce rational numbers (positive and negative) Introduce the meaning of negative exponents for

More information

ME 111: Engineering Drawing

ME 111: Engineering Drawing ME 111: Engineering Drawing Lecture # 14 (10/10/2011) Development of Surfaces http://www.iitg.ernet.in/arindam.dey/me111.htm http://www.iitg.ernet.in/rkbc/me111.htm http://shilloi.iitg.ernet.in/~psr/ Indian

More information

Common Core State Standards for Mathematics Accelerated 7th Grade

Common Core State Standards for Mathematics Accelerated 7th Grade A Correlation of 2013 To the to the Introduction This document demonstrates how Mathematics Accelerated Grade 7, 2013, meets the. Correlation references are to the pages within the Student Edition. Meeting

More information

For example, estimate the population of the United States as 3 times 10⁸ and the

For example, estimate the population of the United States as 3 times 10⁸ and the CCSS: Mathematics The Number System CCSS: Grade 8 8.NS.A. Know that there are numbers that are not rational, and approximate them by rational numbers. 8.NS.A.1. Understand informally that every number

More information

Discovering Math: Exploring Geometry Teacher s Guide

Discovering Math: Exploring Geometry Teacher s Guide Teacher s Guide Grade Level: 6 8 Curriculum Focus: Mathematics Lesson Duration: Three class periods Program Description Discovering Math: Exploring Geometry From methods of geometric construction and threedimensional

More information

Curriculum Map by Block Geometry Mapping for Math Block Testing 2007-2008. August 20 to August 24 Review concepts from previous grades.

Curriculum Map by Block Geometry Mapping for Math Block Testing 2007-2008. August 20 to August 24 Review concepts from previous grades. Curriculum Map by Geometry Mapping for Math Testing 2007-2008 Pre- s 1 August 20 to August 24 Review concepts from previous grades. August 27 to September 28 (Assessment to be completed by September 28)

More information

Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume *

Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume * Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume * Xiaosong Yang 1, Pheng Ann Heng 2, Zesheng Tang 3 1 Department of Computer Science and Technology, Tsinghua University, Beijing

More information

THREE DIMENSIONAL GEOMETRY

THREE DIMENSIONAL GEOMETRY Chapter 8 THREE DIMENSIONAL GEOMETRY 8.1 Introduction In this chapter we present a vector algebra approach to three dimensional geometry. The aim is to present standard properties of lines and planes,

More information

WORK SCHEDULE: MATHEMATICS 2007

WORK SCHEDULE: MATHEMATICS 2007 , K WORK SCHEDULE: MATHEMATICS 00 GRADE MODULE TERM... LO NUMBERS, OPERATIONS AND RELATIONSHIPS able to recognise, represent numbers and their relationships, and to count, estimate, calculate and check

More information

Prentice Hall Mathematics Courses 1-3 Common Core Edition 2013

Prentice Hall Mathematics Courses 1-3 Common Core Edition 2013 A Correlation of Prentice Hall Mathematics Courses 1-3 Common Core Edition 2013 to the Topics & Lessons of Pearson A Correlation of Courses 1, 2 and 3, Common Core Introduction This document demonstrates

More information

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Computational Geometry. Lecture 1: Introduction and Convex Hulls Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space,

More information

Epipolar Geometry. Readings: See Sections 10.1 and 15.6 of Forsyth and Ponce. Right Image. Left Image. e(p ) Epipolar Lines. e(q ) q R.

Epipolar Geometry. Readings: See Sections 10.1 and 15.6 of Forsyth and Ponce. Right Image. Left Image. e(p ) Epipolar Lines. e(q ) q R. Epipolar Geometry We consider two perspective images of a scene as taken from a stereo pair of cameras (or equivalently, assume the scene is rigid and imaged with a single camera from two different locations).

More information

Robot Perception Continued

Robot Perception Continued Robot Perception Continued 1 Visual Perception Visual Odometry Reconstruction Recognition CS 685 11 Range Sensing strategies Active range sensors Ultrasound Laser range sensor Slides adopted from Siegwart

More information

Geometry and Measurement

Geometry and Measurement The student will be able to: Geometry and Measurement 1. Demonstrate an understanding of the principles of geometry and measurement and operations using measurements Use the US system of measurement for

More information

Equations Involving Lines and Planes Standard equations for lines in space

Equations Involving Lines and Planes Standard equations for lines in space Equations Involving Lines and Planes In this section we will collect various important formulas regarding equations of lines and planes in three dimensional space Reminder regarding notation: any quantity

More information

Social Media Mining. Data Mining Essentials

Social Media Mining. Data Mining Essentials Introduction Data production rate has been increased dramatically (Big Data) and we are able store much more data than before E.g., purchase data, social media data, mobile phone data Businesses and customers

More information

Pennsylvania System of School Assessment

Pennsylvania System of School Assessment Pennsylvania System of School Assessment The Assessment Anchors, as defined by the Eligible Content, are organized into cohesive blueprints, each structured with a common labeling system that can be read

More information

An Application of Analytic Geometry to Designing Machine Parts--and Dresses

An Application of Analytic Geometry to Designing Machine Parts--and Dresses Electronic Proceedings of Undergraduate Mathematics Day, Vol. 3 (008), No. 5 An Application of Analytic Geometry to Designing Machine Parts--and Dresses Karl Hess Sinclair Community College Dayton, OH

More information

Shape Dictionary YR to Y6

Shape Dictionary YR to Y6 Shape Dictionary YR to Y6 Guidance Notes The terms in this dictionary are taken from the booklet Mathematical Vocabulary produced by the National Numeracy Strategy. Children need to understand and use

More information

Factoring Patterns in the Gaussian Plane

Factoring Patterns in the Gaussian Plane Factoring Patterns in the Gaussian Plane Steve Phelps Introduction This paper describes discoveries made at the Park City Mathematics Institute, 00, as well as some proofs. Before the summer I understood

More information

Eðlisfræði 2, vor 2007

Eðlisfræði 2, vor 2007 [ Assignment View ] [ Pri Eðlisfræði 2, vor 2007 28. Sources of Magnetic Field Assignment is due at 2:00am on Wednesday, March 7, 2007 Credit for problems submitted late will decrease to 0% after the deadline

More information

with functions, expressions and equations which follow in units 3 and 4.

with functions, expressions and equations which follow in units 3 and 4. Grade 8 Overview View unit yearlong overview here The unit design was created in line with the areas of focus for grade 8 Mathematics as identified by the Common Core State Standards and the PARCC Model

More information

Determine whether the following lines intersect, are parallel, or skew. L 1 : x = 6t y = 1 + 9t z = 3t. x = 1 + 2s y = 4 3s z = s

Determine whether the following lines intersect, are parallel, or skew. L 1 : x = 6t y = 1 + 9t z = 3t. x = 1 + 2s y = 4 3s z = s Homework Solutions 5/20 10.5.17 Determine whether the following lines intersect, are parallel, or skew. L 1 : L 2 : x = 6t y = 1 + 9t z = 3t x = 1 + 2s y = 4 3s z = s A vector parallel to L 1 is 6, 9,

More information

Prentice Hall Mathematics: Course 1 2008 Correlated to: Arizona Academic Standards for Mathematics (Grades 6)

Prentice Hall Mathematics: Course 1 2008 Correlated to: Arizona Academic Standards for Mathematics (Grades 6) PO 1. Express fractions as ratios, comparing two whole numbers (e.g., ¾ is equivalent to 3:4 and 3 to 4). Strand 1: Number Sense and Operations Every student should understand and use all concepts and

More information

Section 9.5: Equations of Lines and Planes

Section 9.5: Equations of Lines and Planes Lines in 3D Space Section 9.5: Equations of Lines and Planes Practice HW from Stewart Textbook (not to hand in) p. 673 # 3-5 odd, 2-37 odd, 4, 47 Consider the line L through the point P = ( x, y, ) that

More information

Big Ideas in Mathematics

Big Ideas in Mathematics Big Ideas in Mathematics which are important to all mathematics learning. (Adapted from the NCTM Curriculum Focal Points, 2006) The Mathematics Big Ideas are organized using the PA Mathematics Standards

More information

Two vectors are equal if they have the same length and direction. They do not

Two vectors are equal if they have the same length and direction. They do not Vectors define vectors Some physical quantities, such as temperature, length, and mass, can be specified by a single number called a scalar. Other physical quantities, such as force and velocity, must

More information

Angles that are between parallel lines, but on opposite sides of a transversal.

Angles that are between parallel lines, but on opposite sides of a transversal. GLOSSARY Appendix A Appendix A: Glossary Acute Angle An angle that measures less than 90. Acute Triangle Alternate Angles A triangle that has three acute angles. Angles that are between parallel lines,

More information

Chapter 111. Texas Essential Knowledge and Skills for Mathematics. Subchapter B. Middle School

Chapter 111. Texas Essential Knowledge and Skills for Mathematics. Subchapter B. Middle School Middle School 111.B. Chapter 111. Texas Essential Knowledge and Skills for Mathematics Subchapter B. Middle School Statutory Authority: The provisions of this Subchapter B issued under the Texas Education

More information

Reflection and Refraction

Reflection and Refraction Equipment Reflection and Refraction Acrylic block set, plane-concave-convex universal mirror, cork board, cork board stand, pins, flashlight, protractor, ruler, mirror worksheet, rectangular block worksheet,

More information

1. A plane passes through the apex (top point) of a cone and then through its base. What geometric figure will be formed from this intersection?

1. A plane passes through the apex (top point) of a cone and then through its base. What geometric figure will be formed from this intersection? Student Name: Teacher: Date: District: Description: Miami-Dade County Public Schools Geometry Topic 7: 3-Dimensional Shapes 1. A plane passes through the apex (top point) of a cone and then through its

More information

Area of Parallelograms (pages 546 549)

Area of Parallelograms (pages 546 549) A Area of Parallelograms (pages 546 549) A parallelogram is a quadrilateral with two pairs of parallel sides. The base is any one of the sides and the height is the shortest distance (the length of a perpendicular

More information

KEANSBURG SCHOOL DISTRICT KEANSBURG HIGH SCHOOL Mathematics Department. HSPA 10 Curriculum. September 2007

KEANSBURG SCHOOL DISTRICT KEANSBURG HIGH SCHOOL Mathematics Department. HSPA 10 Curriculum. September 2007 KEANSBURG HIGH SCHOOL Mathematics Department HSPA 10 Curriculum September 2007 Written by: Karen Egan Mathematics Supervisor: Ann Gagliardi 7 days Sample and Display Data (Chapter 1 pp. 4-47) Surveys and

More information

Blind Deconvolution of Barcodes via Dictionary Analysis and Wiener Filter of Barcode Subsections

Blind Deconvolution of Barcodes via Dictionary Analysis and Wiener Filter of Barcode Subsections Blind Deconvolution of Barcodes via Dictionary Analysis and Wiener Filter of Barcode Subsections Maximilian Hung, Bohyun B. Kim, Xiling Zhang August 17, 2013 Abstract While current systems already provide

More information

Everyday Mathematics. Grade 4 Grade-Level Goals. 3rd Edition. Content Strand: Number and Numeration. Program Goal Content Thread Grade-Level Goals

Everyday Mathematics. Grade 4 Grade-Level Goals. 3rd Edition. Content Strand: Number and Numeration. Program Goal Content Thread Grade-Level Goals Content Strand: Number and Numeration Understand the Meanings, Uses, and Representations of Numbers Understand Equivalent Names for Numbers Understand Common Numerical Relations Place value and notation

More information

Classifying Manipulation Primitives from Visual Data

Classifying Manipulation Primitives from Visual Data Classifying Manipulation Primitives from Visual Data Sandy Huang and Dylan Hadfield-Menell Abstract One approach to learning from demonstrations in robotics is to make use of a classifier to predict if

More information

Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches

Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches PhD Thesis by Payam Birjandi Director: Prof. Mihai Datcu Problematic

More information

Math 0980 Chapter Objectives. Chapter 1: Introduction to Algebra: The Integers.

Math 0980 Chapter Objectives. Chapter 1: Introduction to Algebra: The Integers. Math 0980 Chapter Objectives Chapter 1: Introduction to Algebra: The Integers. 1. Identify the place value of a digit. 2. Write a number in words or digits. 3. Write positive and negative numbers used

More information

A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

More information

Topographic Change Detection Using CloudCompare Version 1.0

Topographic Change Detection Using CloudCompare Version 1.0 Topographic Change Detection Using CloudCompare Version 1.0 Emily Kleber, Arizona State University Edwin Nissen, Colorado School of Mines J Ramón Arrowsmith, Arizona State University Introduction CloudCompare

More information

12-1 Representations of Three-Dimensional Figures

12-1 Representations of Three-Dimensional Figures Connect the dots on the isometric dot paper to represent the edges of the solid. Shade the tops of 12-1 Representations of Three-Dimensional Figures Use isometric dot paper to sketch each prism. 1. triangular

More information

FOREWORD. Executive Secretary

FOREWORD. Executive Secretary FOREWORD The Botswana Examinations Council is pleased to authorise the publication of the revised assessment procedures for the Junior Certificate Examination programme. According to the Revised National

More information

DATA MINING CLUSTER ANALYSIS: BASIC CONCEPTS

DATA MINING CLUSTER ANALYSIS: BASIC CONCEPTS DATA MINING CLUSTER ANALYSIS: BASIC CONCEPTS 1 AND ALGORITHMS Chiara Renso KDD-LAB ISTI- CNR, Pisa, Italy WHAT IS CLUSTER ANALYSIS? Finding groups of objects such that the objects in a group will be similar

More information

Assessment Anchors and Eligible Content

Assessment Anchors and Eligible Content M07.A-N The Number System M07.A-N.1 M07.A-N.1.1 DESCRIPTOR Assessment Anchors and Eligible Content Aligned to the Grade 7 Pennsylvania Core Standards Reporting Category Apply and extend previous understandings

More information

Subspace Analysis and Optimization for AAM Based Face Alignment

Subspace Analysis and Optimization for AAM Based Face Alignment Subspace Analysis and Optimization for AAM Based Face Alignment Ming Zhao Chun Chen College of Computer Science Zhejiang University Hangzhou, 310027, P.R.China zhaoming1999@zju.edu.cn Stan Z. Li Microsoft

More information

Georgia Standards of Excellence Curriculum Map. Mathematics. GSE 8 th Grade

Georgia Standards of Excellence Curriculum Map. Mathematics. GSE 8 th Grade Georgia Standards of Excellence Curriculum Map Mathematics GSE 8 th Grade These materials are for nonprofit educational purposes only. Any other use may constitute copyright infringement. GSE Eighth Grade

More information

CRLS Mathematics Department Algebra I Curriculum Map/Pacing Guide

CRLS Mathematics Department Algebra I Curriculum Map/Pacing Guide Curriculum Map/Pacing Guide page 1 of 14 Quarter I start (CP & HN) 170 96 Unit 1: Number Sense and Operations 24 11 Totals Always Include 2 blocks for Review & Test Operating with Real Numbers: How are

More information

Geometry Notes PERIMETER AND AREA

Geometry Notes PERIMETER AND AREA Perimeter and Area Page 1 of 57 PERIMETER AND AREA Objectives: After completing this section, you should be able to do the following: Calculate the area of given geometric figures. Calculate the perimeter

More information

State of Stress at Point

State of Stress at Point State of Stress at Point Einstein Notation The basic idea of Einstein notation is that a covector and a vector can form a scalar: This is typically written as an explicit sum: According to this convention,

More information

A PHOTOGRAMMETRIC APPRAOCH FOR AUTOMATIC TRAFFIC ASSESSMENT USING CONVENTIONAL CCTV CAMERA

A PHOTOGRAMMETRIC APPRAOCH FOR AUTOMATIC TRAFFIC ASSESSMENT USING CONVENTIONAL CCTV CAMERA A PHOTOGRAMMETRIC APPRAOCH FOR AUTOMATIC TRAFFIC ASSESSMENT USING CONVENTIONAL CCTV CAMERA N. Zarrinpanjeh a, F. Dadrassjavan b, H. Fattahi c * a Islamic Azad University of Qazvin - nzarrin@qiau.ac.ir

More information

of surface, 569-571, 576-577, 578-581 of triangle, 548 Associative Property of addition, 12, 331 of multiplication, 18, 433

of surface, 569-571, 576-577, 578-581 of triangle, 548 Associative Property of addition, 12, 331 of multiplication, 18, 433 Absolute Value and arithmetic, 730-733 defined, 730 Acute angle, 477 Acute triangle, 497 Addend, 12 Addition associative property of, (see Commutative Property) carrying in, 11, 92 commutative property

More information

Universidad de Cantabria Departamento de Tecnología Electrónica, Ingeniería de Sistemas y Automática. Tesis Doctoral

Universidad de Cantabria Departamento de Tecnología Electrónica, Ingeniería de Sistemas y Automática. Tesis Doctoral Universidad de Cantabria Departamento de Tecnología Electrónica, Ingeniería de Sistemas y Automática Tesis Doctoral CONTRIBUCIONES AL ALINEAMIENTO DE NUBES DE PUNTOS 3D PARA SU USO EN APLICACIONES DE CAPTURA

More information

PHOTOGRAMMETRIC TECHNIQUES FOR MEASUREMENTS IN WOODWORKING INDUSTRY

PHOTOGRAMMETRIC TECHNIQUES FOR MEASUREMENTS IN WOODWORKING INDUSTRY PHOTOGRAMMETRIC TECHNIQUES FOR MEASUREMENTS IN WOODWORKING INDUSTRY V. Knyaz a, *, Yu. Visilter, S. Zheltov a State Research Institute for Aviation System (GosNIIAS), 7, Victorenko str., Moscow, Russia

More information

The Scientific Data Mining Process

The Scientific Data Mining Process Chapter 4 The Scientific Data Mining Process When I use a word, Humpty Dumpty said, in rather a scornful tone, it means just what I choose it to mean neither more nor less. Lewis Carroll [87, p. 214] In

More information

Path Tracking for a Miniature Robot

Path Tracking for a Miniature Robot Path Tracking for a Miniature Robot By Martin Lundgren Excerpt from Master s thesis 003 Supervisor: Thomas Hellström Department of Computing Science Umeå University Sweden 1 Path Tracking Path tracking

More information

Introduction. Chapter 1

Introduction. Chapter 1 1 Chapter 1 Introduction Robotics and automation have undergone an outstanding development in the manufacturing industry over the last decades owing to the increasing demand for higher levels of productivity

More information

Automatic Building Facade Detection in Mobile Laser Scanner point Clouds

Automatic Building Facade Detection in Mobile Laser Scanner point Clouds Automatic Building Facade Detection in Mobile Laser Scanner point Clouds NALANI HETTI ARACHCHIGE 1 & HANS-GERD MAAS 1 Abstract: Mobile Laser Scanner (MLS) has been increasingly used in the modeling of

More information

New York State Student Learning Objective: Regents Geometry

New York State Student Learning Objective: Regents Geometry New York State Student Learning Objective: Regents Geometry All SLOs MUST include the following basic components: Population These are the students assigned to the course section(s) in this SLO all students

More information

Fast and Robust Normal Estimation for Point Clouds with Sharp Features

Fast and Robust Normal Estimation for Point Clouds with Sharp Features 1/37 Fast and Robust Normal Estimation for Point Clouds with Sharp Features Alexandre Boulch & Renaud Marlet University Paris-Est, LIGM (UMR CNRS), Ecole des Ponts ParisTech Symposium on Geometry Processing

More information

The GED math test gives you a page of math formulas that

The GED math test gives you a page of math formulas that Math Smart 643 The GED Math Formulas The GED math test gives you a page of math formulas that you can use on the test, but just seeing the formulas doesn t do you any good. The important thing is understanding

More information

G r a d e 1 0 I n t r o d u c t i o n t o A p p l i e d a n d P r e - C a l c u l u s M a t h e m a t i c s ( 2 0 S ) Final Practice Exam

G r a d e 1 0 I n t r o d u c t i o n t o A p p l i e d a n d P r e - C a l c u l u s M a t h e m a t i c s ( 2 0 S ) Final Practice Exam G r a d e 1 0 I n t r o d u c t i o n t o A p p l i e d a n d P r e - C a l c u l u s M a t h e m a t i c s ( 2 0 S ) Final Practice Exam G r a d e 1 0 I n t r o d u c t i o n t o A p p l i e d a n d

More information

Number Sense and Operations

Number Sense and Operations Number Sense and Operations representing as they: 6.N.1 6.N.2 6.N.3 6.N.4 6.N.5 6.N.6 6.N.7 6.N.8 6.N.9 6.N.10 6.N.11 6.N.12 6.N.13. 6.N.14 6.N.15 Demonstrate an understanding of positive integer exponents

More information

Everyday Mathematics. Grade 4 Grade-Level Goals CCSS EDITION. Content Strand: Number and Numeration. Program Goal Content Thread Grade-Level Goal

Everyday Mathematics. Grade 4 Grade-Level Goals CCSS EDITION. Content Strand: Number and Numeration. Program Goal Content Thread Grade-Level Goal Content Strand: Number and Numeration Understand the Meanings, Uses, and Representations of Numbers Understand Equivalent Names for Numbers Understand Common Numerical Relations Place value and notation

More information

Volumes of Revolution

Volumes of Revolution Mathematics Volumes of Revolution About this Lesson This lesson provides students with a physical method to visualize -dimensional solids and a specific procedure to sketch a solid of revolution. Students

More information

Intuitive Navigation in an Enormous Virtual Environment

Intuitive Navigation in an Enormous Virtual Environment / International Conference on Artificial Reality and Tele-Existence 98 Intuitive Navigation in an Enormous Virtual Environment Yoshifumi Kitamura Shinji Fukatsu Toshihiro Masaki Fumio Kishino Graduate

More information

GEOMETRY COMMON CORE STANDARDS

GEOMETRY COMMON CORE STANDARDS 1st Nine Weeks Experiment with transformations in the plane G-CO.1 Know precise definitions of angle, circle, perpendicular line, parallel line, and line segment, based on the undefined notions of point,

More information

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example. An Example 2 3 4 Outline Objective: Develop methods and algorithms to mathematically model shape of real world objects Categories: Wire-Frame Representation Object is represented as as a set of points

More information

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary Shape, Space, and Measurement- Primary A student shall apply concepts of shape, space, and measurement to solve problems involving two- and three-dimensional shapes by demonstrating an understanding of:

More information

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions. Chapter 1 Vocabulary identity - A statement that equates two equivalent expressions. verbal model- A word equation that represents a real-life problem. algebraic expression - An expression with variables.

More information

Illinois State Standards Alignments Grades Three through Eleven

Illinois State Standards Alignments Grades Three through Eleven Illinois State Standards Alignments Grades Three through Eleven Trademark of Renaissance Learning, Inc., and its subsidiaries, registered, common law, or pending registration in the United States and other

More information

Biggar High School Mathematics Department. National 5 Learning Intentions & Success Criteria: Assessing My Progress

Biggar High School Mathematics Department. National 5 Learning Intentions & Success Criteria: Assessing My Progress Biggar High School Mathematics Department National 5 Learning Intentions & Success Criteria: Assessing My Progress Expressions & Formulae Topic Learning Intention Success Criteria I understand this Approximation

More information

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant

More information

Feature Tracking and Optical Flow

Feature Tracking and Optical Flow 02/09/12 Feature Tracking and Optical Flow Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem Many slides adapted from Lana Lazebnik, Silvio Saverse, who in turn adapted slides from Steve

More information

Static Environment Recognition Using Omni-camera from a Moving Vehicle

Static Environment Recognition Using Omni-camera from a Moving Vehicle Static Environment Recognition Using Omni-camera from a Moving Vehicle Teruko Yata, Chuck Thorpe Frank Dellaert The Robotics Institute Carnegie Mellon University Pittsburgh, PA 15213 USA College of Computing

More information

Further Steps: Geometry Beyond High School. Catherine A. Gorini Maharishi University of Management Fairfield, IA cgorini@mum.edu

Further Steps: Geometry Beyond High School. Catherine A. Gorini Maharishi University of Management Fairfield, IA cgorini@mum.edu Further Steps: Geometry Beyond High School Catherine A. Gorini Maharishi University of Management Fairfield, IA cgorini@mum.edu Geometry the study of shapes, their properties, and the spaces containing

More information