Primitive Shape Fitting in Point Clouds Using the Bees Algorithm
Abstract
:1. Introduction
2. Literature Review
3. Primitive Fitting Methods
3.1. Representation Scheme
- Sphere
- Four parameters: three to locate the centre, and one to represent the radius;
- Box
- Ten parameters: three to locate the centre, four to describe the orientation (rotations are described using quaternions), and three parameters to encode the width, depth, and height;
- Cylinder
- Nine parameters: three to locate the centre, four to describe the orientation, and two parameters to encode the radius and height;
3.2. Fitness Function
3.3. Local Search Operator
3.4. The Bees Algorithm
3.5. Evolutionary Algorithm
3.6. RANSAC
4. Experimental Method
4.1. Data Sets Used
- 181 individual models of spheres. where the radius was varied from 1 to 10 units in steps of 0.05;
- 220 individual models of boxes, where the width, height and depth were varied from 1 to 10 units in steps of 1, and took all possible combinations of these levels (full factorial design). The orientation was randomly determined;
- 190 individual models of cylinders, where the radius was varied from 0.5 to 5 units in increments of 0.25, the height from 1 to 10 units in steps of 1, and radius and height took all possible combinations of these levels (full factorial design). The orientation was randomly determined;
- Clean set: there is no error, the data points lie exactly on the surface of the primitive shape;
- Error set: the position of each point was randomly perturbed with uniform probability within a 0.1 unit radius;
- Double error: the position of each point was randomly perturbed with uniform probability within a 0.2 unit radius;
4.2. Error Evaluation Function
4.3. Parameters Used
5. Results
6. Discussion
7. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Bjorkman, M.; Bekiroglu, Y.; Hogman, V.; Kragic, D. Enhancing visual perception of shape through tactile glances. In Proceedings of the 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Tokyo, Japan, 3–7 November 2013; pp. 3180–3186. [Google Scholar]
- Mavrakis, N.; Stolkin, R.; Baronti, L.; Kopicki, M.; Castellani, M. Analysis of the inertia and dynamics of grasped objects, for choosing optimal grasps to enable torque-efficient post-grasp manipulations. In Proceedings of the 2016 IEEE-RAS 16th International Conference on Humanoid Robots (Humanoids), Cancun, Mexico, 15–17 November 2016; pp. 171–178. [Google Scholar]
- Spiers, A.J.; Liarokapis, M.V.; Calli, B.; Dollar, A.M. Single-grasp object classification and feature extraction with simple robot hands and tactile sensors. IEEE Trans. Haptics 2016, 9, 207–220. [Google Scholar] [CrossRef] [PubMed]
- Levine, M.D.; Levine, M.D. Vision in Man and Machine; McGraw-Hill: New York, NY, USA, 1985; Volume 574. [Google Scholar]
- Bolles, R.C.; Fischler, M.A. A RANSAC-Based Approach to Model Fitting and Its Application to Finding Cylinders in Range Data. In Proceedings of the IJCAI, Vancouver, BC, Canada, 24–28 August 1981; Volume 1981, pp. 637–643. [Google Scholar]
- Mukhopadhyay, P.; Chaudhuri, B.B. A survey of Hough Transform. Pattern Recognit. 2015, 48, 993–1010. [Google Scholar] [CrossRef]
- Pham, D.T.; Castellani, M. The bees algorithm: modelling foraging behaviour to solve continuous optimization problems. Proc. Inst. Mech. Eng. Part J. Mech. Eng. Sci. 2009, 223, 2919–2938. [Google Scholar] [CrossRef]
- Fogel, D.B. Evolutionary Computation: Toward a New Philosophy of Machine Intelligence; John Wiley & Sons: Hoboken, NJ, USA, 2006; Volume 1. [Google Scholar]
- Ballard, D.H. Generalizing the Hough transform to detect arbitrary shapes. Pattern Recognit. 1981, 13, 111–122. [Google Scholar] [CrossRef]
- Dalitz, C.; Schramke, T.; Jeltsch, M. Iterative hough transform for line detection in 3D point clouds. Image Process. Line 2017, 7, 184–196. [Google Scholar] [CrossRef]
- Khoshelham, K. Extending generalized hough transform to detect 3d objects in laser range data. In Proceedings of the ISPRS Workshop on Laser Scanning and SilviLaser 2007, Espoo, Finland, 12–14 September 2007. [Google Scholar]
- Rabbani, T.; Van Den Heuvel, F. Efficient hough transform for automatic detection of cylinders in point clouds. Isprs Wg Iii/3, Iii/4 2005, 3, 60–65. [Google Scholar]
- Roth, G.; Levine, M.D. Extracting geometric primitives. CVGIP: Image Underst. 1993, 58, 1–22. [Google Scholar] [CrossRef]
- Sveier, A. Primitive Shape Detection in Point Clouds. Master’s Thesis, Norwegian University of Science and Technology, Trondheim, Norway, 2016. [Google Scholar]
- Schnabel, R.; Wahl, R.; Klein, R. Efficient RANSAC for point-cloud shape detection. Comput. Graph. Forum 2007, 26, 214–226. [Google Scholar] [CrossRef]
- Raguram, R.; Frahm, J.M.; Pollefeys, M. A Comparative Analysis of RANSAC Techniques Leading to Adaptive Real-Time Random Sample Consensus. In Computer Vision—ECCV 2008; Forsyth, D., Torr, P., Zisserman, A., Eds.; Springer: Berlin/Heidelberg, Germany, 2008; pp. 500–513. [Google Scholar]
- Hast, A.; Nysjö, J.; Marchetti, A. Optimal ransac-towards a repeatable algorithm for finding the optimal set. J. WSCG 2013, 21, 21–30. [Google Scholar]
- Chum, O.; Matas, J. Optimal Randomized RANSAC. IEEE Trans. Pattern Anal. Mach. Intell. 2008, 30, 1472–1482. [Google Scholar] [CrossRef] [PubMed]
- Liu, J.; Wu, Z.k. An adaptive approach for primitive shape extraction from point clouds. Optik-Int. J. Light Electron Opt. 2014, 125, 2000–2008. [Google Scholar] [CrossRef]
- Lutton, E.; Martinez, P. A genetic algorithm for the detection of 2D geometric primitives in images. In Proceedings of the 12th IAPR International Conference on Pattern Recognition, 1994. Vol. 1-Conference A: Computer Vision & Image Processing, Jerusalem, Israel, 9–13 October 1994; Volume 1, pp. 526–528. [Google Scholar]
- Roth, G.; Levine, M.D. Geometric primitive extraction using a genetic algorithm. IEEE Trans. Pattern Anal. Mach. Intell. 1994, 16, 901–905. [Google Scholar] [CrossRef]
- Gotardo, P.F.; Bellon, O.R.; Silva, L. Range image segmentation by surface extraction using an improved robust estimator. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Madison, WI, USA, 18–20 June 2003; Volume 2, pp. II–33. [Google Scholar]
- Ugolotti, R.; Micconi, G.; Aleotti, J.; Cagnoni, S. GPU-based point cloud recognition using evolutionary algorithms. In Proceedings of the European Conference on the Applications of Evolutionary Computation, Granada, Spain, 23–25 April 2014; Springer: Berlin/Heidelberg, Germany, 2014; pp. 489–500. [Google Scholar]
- Eberhart, R.; Kennedy, J. Particle swarm optimization. In Proceedings of the IEEE International Conference on Neural Networks, Perth, Western Australia, 27 November–1 December 1995; Volume 4, pp. 1942–1948. [Google Scholar]
- Storn, R.; Price, K. Differential evolution—A simple and efficient heuristic for global optimization over continuous spaces. J. Glob. Optim. 1997, 11, 341–359. [Google Scholar] [CrossRef]
- Somani, N.; Perzylo, A.; Cai, C.; Rickert, M.; Knoll, A. Object detection using boundary representations of primitive shapes. In Proceedings of the 2015 IEEE International Conference on Robotics and Biomimetics (ROBIO), Zhuhai, China, 6–9 December 2015; pp. 108–113. [Google Scholar]
- Mitra, N.J.; Nguyen, A. Estimating surface normals in noisy point cloud data. In Proceedings of the Nineteenth Annual Symposium on Computational Geometry, San Diego, CA, USA, 8–10 June 2003; ACM: New York, NY, USA, 2003; pp. 322–328. [Google Scholar]
- Boulch, A.; Marlet, R. Fast and robust normal estimation for point clouds with sharp features. Comput. Graph. Forum 2012, 31, 1765–1774. [Google Scholar] [CrossRef]
- Pham, D.T.; Baronti, L.; Zhang, B.; Castellani, M. Optimisation of Engineering Systems With the Bees Algorithm. Int. J. Artif. Life Res. (IJALR) 2018, 8, 1–15. [Google Scholar] [CrossRef]
- Pham, D.T.; Castellani, M. Benchmarking and comparison of nature-inspired population-based continuous optimisation algorithms. Soft Comput. 2014, 18, 871–903. [Google Scholar] [CrossRef]
- Pham, D.T.; Castellani, M. A comparative study of the Bees Algorithm as a tool for function optimisation. Cogent Eng. 2015, 2, 1091540. [Google Scholar] [CrossRef]
- Wilson, E.B.; Wilson, E.B. The Cell in Development and Heredity; Technical report; Macmillan: New York, NY, USA, 1928. [Google Scholar]
- Ayala, F.J.; Kiger, J.A. Modern Genetics; Benjamin and Cummings: Menlo Park, CA, USA, 1984. [Google Scholar]
- Alston, M. Evolutionary Algorithm vs. RANSAC for Primitive Shape Fitting. Master’s Thesis, University of Birmingham, Birmingham, UK, 2019. [Google Scholar]
- Hoaglin, D.C.; Mosteller, F.; Tukey, J.W. Understanding Robust and Exploratory Data Analysis; Wiley: Hoboken, NJ, USA, 2000. [Google Scholar]
Feature | |||||||
---|---|---|---|---|---|---|---|
Sphere | Box | Cylinder | Sphere | Box | Cylinder | ||
Centre | 1 | 0.3 * | 0.33 * | X | 1 | 0.7 | 0.7 |
Y | 1 | 0.7 | 0.7 | ||||
Z | 1 | 0.7 | 0.7 | ||||
Rotation | - | 0.3 * | 0.33 * | - | 0.7 | 0.7 | |
- | 0.7 | 0.7 | |||||
- | 0.7 | 0.7 | |||||
- | 0.7 | 0.7 | |||||
Size | 1 | 0.4 * | 0.33 * | height | - | 0.33 * | 0.7 |
width | - | 0.33 * | - | ||||
depth | - | 0.33 * | - | ||||
radius | 1 | - | 0.7 |
Evolutionary algorithm | |||
Parameter | Sphere | Box | Cylinder |
# Individuals | 10 | 10 | 25 |
# Parents | 3 | 3 | 8 |
Mutation Rate () | 1 | 1 | 1 |
# Iterations | 390 | 900 | 672 |
Sampling Coverage | 5% | 25% | 25% |
Bees algorithm | |||
Parameter | Sphere | Box | Cylinder |
Scout bees () | 2 | 3 | 4 |
Elite sites () | 1 | 1 | 1 |
Best sites () | 2 | 3 | 4 |
Recruited elite () | 9 | 10 | 10 |
Recruited best () | 4 | 4 | 6 |
Stagnation limit () | 20 | 30 | 25 |
Initial patch neighbourhood () | 0.15 | 0.5 | 1 |
# Iterations | 300 | 500 | 600 |
Sampling Coverage | 5% | 25% | 25% |
Clean | ||||||
Shape | Algorithm | Min | First quartile | Median | Third quartile | Max |
Sphere | Evolutionary algorithm | 1.055 × 10−3 | 8.898 × 10−3 | 1.410 × 10−2 | 2.135 × 10−2 | 8.831 × 10−2 |
Sphere | Bees algorithm | 1.270 × 10−5 | 1.594 × 10−4 | 2.585 × 10−4 | 4.132 × 10−4 | 1.625 × 10−3 |
Sphere | RANSAC | 0 | 0 | 0 | 0 | 0 |
Box | Evolutionary algorithm | 8.170 × 10−3 | 2.517 | 2.815 | 3.514 | 1.217 × 101 |
Box | Bees algorithm | 7.828 × 10−2 | 1.903 | 2.353 | 2.938 | 1.246 × 101 |
Box | RANSAC | 1.490 × 10−8 | 2.500 | 2.714 | 3.250 | 7.00 |
Cylinder | Evolutionary algorithm | 8.893 × 10−2 | 1.954 | 4.441 | 8.938 | 1.071 × 103 |
Cylinder | Bees algorithm | 2.069 × 10−1 | 1.824 | 3.709 | 7.667 | 1.052 × 103 |
Cylinder | RANSAC | 1.902 | 2.481 | 2.696 | 3.162 | 1.115 × 102 |
Single Error | ||||||
Shape | Algorithm | Min | First quartile | Median | Third quartile | Max |
Sphere | Evolutionary algorithm | 1.075 × 10−3 | 9.255 × 10−3 | 1.435 × 10−2 | 2.250 × 10−2 | 1.013 × 10−1 |
Sphere | Bees algorithm | 1.075 × 10−4 | 1.022 × 10−3 | 1.690 × 10−3 | 2.885 × 10−3 | 3.689 × 10−2 |
Sphere | RANSAC | 3.061 × 10−4 | 3.462 × 10−3 | 5.391 × 10−3 | 9.289 × 10−3 | 5.755 × 10−2 |
Box | Evolutionary algorithm | 7.724 × 10−3 | 2.496 | 2.802 | 3.517 | 1.212 × 101 |
Box | Bees algorithm | 3.498 × 10−2 | 1.872 | 2.348 | 2.938 | 1.167 × 101 |
Box | RANSAC | 1.175 × 10−2 | 2.230 | 2.511 | 2.955 | 7.106 |
Cylinder | Evolutionary algorithm | 8.816 × 10−2 | 1.954 | 4.478 | 9.032 | 1.054 × 103 |
Cylinder | Bees algorithm | 1.141 × 10−1 | 1.813 | 3.758 | 7.711 | 1.140 × 103 |
Cylinder | RANSAC | 6.959 × 10−2 | 2.222 | 2.426 | 2.779 | 1.082 × 103 |
Double Error | ||||||
Shape | Algorithm | Min | First quartile | Median | Third quartile | Max |
Sphere | Evolutionary algorithm | 9.426 × 10−4 | 9.769 × 10−3 | 1.522 × 10−2 | 2.319 × 10−2 | 1.270 × 10−1 |
Sphere | Bees algorithm | 2.037 × 10−4 | 1.838 × 10−3 | 3.140 × 10−3 | 5.610 × 10−3 | 7.257 × 10−2 |
Sphere | RANSAC | 5.078 × 10−4 | 6.800 × 10−3 | 1.066 × 10−2 | 1.776 × 10−2 | 1.077 × 10−1 |
Box | Evolutionary algorithm | 1.795 × 10−2 | 2.482 | 2.768 | 3.471 | 1.210 × 101 |
Box | Bees algorithm | 8.176 × 10−2 | 1.899 | 2.351 | 2.991 | 1.200 × 101 |
Box | RANSAC | 2.545 × 10−2 | 2.081 | 2.425 | 2.843 | 7.272 |
Cylinder | Evolutionary algorithm | 8.970 × 10−5 | 1.984 | 4.514 | 9.347 | 1.095 × 103 |
Cylinder | Bees algorithm | 1.251 × 10−1 | 1.880 | 3.884 | 8.076 | 1.170 × 103 |
Cylinder | RANSAC | 1.562 × 10−1 | 2.070 | 2.339 | 2.693 | 8.833 × 102 |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Baronti, L.; Alston, M.; Mavrakis, N.; Ghalamzan E., A.M.; Castellani, M. Primitive Shape Fitting in Point Clouds Using the Bees Algorithm. Appl. Sci. 2019, 9, 5198. https://doi.org/10.3390/app9235198
Baronti L, Alston M, Mavrakis N, Ghalamzan E. AM, Castellani M. Primitive Shape Fitting in Point Clouds Using the Bees Algorithm. Applied Sciences. 2019; 9(23):5198. https://doi.org/10.3390/app9235198
Chicago/Turabian StyleBaronti, Luca, Mark Alston, Nikos Mavrakis, Amir M. Ghalamzan E., and Marco Castellani. 2019. "Primitive Shape Fitting in Point Clouds Using the Bees Algorithm" Applied Sciences 9, no. 23: 5198. https://doi.org/10.3390/app9235198
APA StyleBaronti, L., Alston, M., Mavrakis, N., Ghalamzan E., A. M., & Castellani, M. (2019). Primitive Shape Fitting in Point Clouds Using the Bees Algorithm. Applied Sciences, 9(23), 5198. https://doi.org/10.3390/app9235198