1
Fast and robust curve skeletonization for real-world elongated objects Amy Tabb 1 and Henry Medeiros 2 1 USDA-ARS-AFRS and 2 Marquette University Motivation Curve skeletons are locally one-dimensional representations of three-dimensional structure, and there is a rich history of work on curve skeletons in various communities. In this work, we intend to use curve skeletons as an interme- diate step between surface reconstruction and computing measurements of branches for au- tomation applications in which the following are important: robustness to noise fast execution such as in the automatic modeling of fruit trees in an orchard [5]. Approach Cross sections of d i values 0 3.5 7 (a) Step 1.1: Compute d i v * (b) Step 1.2: Locate v * 0 224 448 672 (c) Step 2.1: Compute BFS1 map from C = {v * } v t (d) Step 2.2: Locate potential endpoint v t from BFS1 labels v t C = {v * } unexplored region 0 226 452 678 (e) Step 3.1: Compute BFS2 from v t ; black regions are currently unexplored. v t (f) Step 3.2: Compute path from BFS2 labels C (1) (g) Step 4.1: Accept path if not spurious C (1) v t C (3) C (2) (h) Step 4.2: Loop processing Figure 1: Illustration. Fig. 1a shows step 1.1, where the distance labels d i are computed. Then 1b shows step 1.2, where v * is selected from the local maxima of d i . In Step 2.1, the BFS1 map from v * given d i is computed (Figure 1c). In 1d, step 2.2, the maximal label from step 2.1 is selected as a proposed endpoint v t . Figure 1e shows step 3.1 in which we compute the BFS2 labels from v t to the current curve skeleton, which is C = {v * }. Step 3.2 in Figure 1f consists of tracing the path through the BFS2 labels from v * to v t . In step 4.1, we accept the path as part of the curve skeleton if it passes the spurious path test (Figure 1g). Finally, in Figure 1h we show the loop handling procedure; v t is found on the right-hand side, and the loop is incorporated into the curve skeleton. This completes the steps for iteratively adding a curve segment. Steps 2.1 through 4.2 are then repeated until there are no more proposed endpoints that pass the spurious path test. Method features and contributions An algorithm that operates on voxels A path-based algorithm for real-time computation of curve skeletons One parameter that represents noise level No additional pruning time complexity O (n 7 3 ) (n = number of occupied voxels) method can handle loops source code provided Synthetic experiments Our method was compared to Thinning [4], PINK skel [2], PINK filter3d [1], and Jin et al. [3]. The method was evaluated on synthetic data with a known ground truth, and then artificial noise was added. (a) Original surface (b) Ground truth curve skeleton (c) Thinning (d) PINK skel (e) PINK filter3d (f) Jin et al. (g) Our method 2 4 6 8 10 12 14 Maximum voxel noise 0 100 200 300 400 RMSE Thinning PINK skel Jin et al. Our method Figure 2: Root mean squared error of the curve skeletons computed with the comparison methods and our method, as compared to the ground truth curve skeleton. Qualitative results (a) Surface (b) Thinning (c) PINK skel (d) PINK filter3d (e) Jin et al. (f) Our method Figure 3: Original surfaces and skeletons computed with our method. Runtime results A B C D E F G H I Dataset 10 -2 10 0 10 2 10 4 Run time (seconds) Thinning PINK skel PINK filter3d Jin et al Our method Figure 4: Run times of our curve skeletonization method on the nine datasets in comparison with the existing approaches. The vertical axis is shown on a logarithmic scale. Additional Information The full paper and 37-page supplementary material are available on arXiv: arXiv:1702:07619[cs.CV]. Code and an example model is also available: (dataset) Tabb, Amy (2017). Code from: Fast and robust curve skeletonization for real-world elongated objects. Ag Data Commons. http://dx.doi.org/10.15482/USDA.ADC/1399689 References [1] G. Bertrand and M. Couprie. Two-dimensional parallel thinning algorithms based on critical kernels. Journal of Mathematical Imaging and Vision, 31(1):35–56, 2008. [2] M. Couprie, D. Coeurjolly, and R. Zrour. Discrete bisector function and euclidean skeleton in 2D and 3D. Image and Vision Computing, 25(10):1543 – 1556, 2007. [3]D. Jin, K. S. Iyer, C. Chen, E. A. Homan, and P. K. Saha. A robust and ecient curve skeletonization algorithm for tree-like objects using minimum cost paths. Pattern recognition letters, 76:32–40, 2016. [4] T.-C. Lee, R. L. Kashyap, and C.-N. Chu. Building skeleton models via 3-d medial surface/axis thinning algorithms. CVGIP: Graph. Models Image Process., 56(6):462–478, Nov. 1994. [5] A. Tabb and H. Medeiros. A robotic vision system to measure tree traits. In IEEE RSJ International Conference on Intelligent Robots and Systems, 2017. Acknowledgements This material is based on work supported in part by US National Science Foundation grant number IOS-1339211 to A. Tabb. Contact Information Email: [email protected] Email: [email protected]

Fast and robust curve skeletonization for real-world ......Two-dimensional parallel thinning algorithms based on critical kernels. Journal of Mathematical Imaging and Vision, 31(1):35–56,

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Fast and robust curve skeletonization for real-world ......Two-dimensional parallel thinning algorithms based on critical kernels. Journal of Mathematical Imaging and Vision, 31(1):35–56,

Fast and robust curve skeletonization for real-world elongated objectsAmy Tabb1 and Henry Medeiros2

1USDA-ARS-AFRS and 2Marquette University

Motivation

Curve skeletons are locally one-dimensionalrepresentations of three-dimensional structure,and there is a rich history of work on curveskeletons in various communities. In this work,we intend to use curve skeletons as an interme-diate step between surface reconstruction andcomputing measurements of branches for au-tomation applications in which the followingare important:

• robustness to noise

• fast execution

such as in the automatic modeling of fruit treesin an orchard [5].

Approach

Cross sections of di values

0

3.5

7

(a) Step 1.1:Compute di

v∗

(b) Step 1.2:Locate v∗

0

224

448

672

(c) Step 2.1:Compute BFS1 mapfrom C = {v∗}

vt

(d) Step 2.2:Locatepotentialendpoint vt

from BFS1labels

vt

C = {v∗}

unexploredregion 0

226

452

678

(e) Step 3.1: ComputeBFS2 from vt; blackregions are currentlyunexplored.

vt

(f) Step 3.2:Compute pathfrom BFS2labels

C(1)

(g) Step 4.1:Accept path ifnot spurious

000

001

002

003

004

005

006

007

008

009

010

011

012

013

014

015

016

017

018

019

020

021

022

023

024

025

026

027

028

029

030

031

032

033

034

035

036

037

038

039

040

041

042

043

044

000

001

002

003

004

005

006

007

008

009

010

011

012

013

014

015

016

017

018

019

020

021

022

023

024

025

026

027

028

029

030

031

032

033

034

035

036

037

038

039

040

041

042

043

044

ECCV#257

ECCV#257

C(1)

vt

C(3)

C(2)

(h) Step 4.2:Loopprocessing

Figure 1:

Illustration. Fig. 1a shows step 1.1, where the distance labelsdi are computed. Then 1b shows step 1.2, where v∗ is selectedfrom the local maxima of di. In Step 2.1, the BFS1 map from v∗

given di is computed (Figure 1c). In 1d, step 2.2, the maximallabel from step 2.1 is selected as a proposed endpoint vt.Figure 1e shows step 3.1 in which we compute the BFS2 labelsfrom vt to the current curve skeleton, which is C = {v∗}.Step 3.2 in Figure 1f consists of tracing the path through theBFS2 labels from v∗ to vt. In step 4.1, we accept the path aspart of the curve skeleton if it passes the spurious path test(Figure 1g). Finally, in Figure 1h we show the loop handlingprocedure; vt is found on the right-hand side, and the loop isincorporated into the curve skeleton. This completes the stepsfor iteratively adding a curve segment. Steps 2.1 through 4.2are then repeated until there are no more proposed endpointsthat pass the spurious path test.

Method features and contributions

•An algorithm that operates on voxels

•A path-based algorithm for real-time computationof curve skeletons

•One parameter that represents noise level

•No additional pruning

• time complexity O(n73) (n = number of occupied

voxels)

•method can handle loops

• source code provided

Synthetic experiments

Our method was compared to Thinning [4], PINKskel [2], PINK filter3d [1], and Jin et al. [3].The method was evaluated on synthetic data with aknown ground truth, and then artificial noise wasadded.

(a)Originalsurface

(b) Groundtruth curveskeleton

(c)Thinning

(d) PINKskel

(e) PINKfilter3d

(f) Jin etal.

(g) Ourmethod

2 4 6 8 10 12 14

Maximum voxel noise

0

100

200

300

400

RM

SE

Thinning

PINK skel

Jin et al.

Our method

Figure 2: Root mean squared error of the curve skeletons

computed with the comparison methods and our method, as

compared to the ground truth curve skeleton.

Qualitative results

(a) Surface (b) Thinning (c) PINK skel

(d) PINK filter3d (e) Jin et al. (f) Our method

Figure 3: Original surfaces and skeletons computed with our

method.

Runtime results

A B C D E F G H I

Dataset

10-2

100

102

104

Run t

ime (

seconds)

Thinning

PINK skel

PINK filter3d

Jin et al

Our method

Figure 4: Run times of our curve skeletonization method on

the nine datasets in comparison with the existing approaches.

The vertical axis is shown on a logarithmic scale.

Additional Information

•The full paper and 37-page supplementarymaterial are available on arXiv:arXiv:1702:07619[cs.CV].

•Code and an example model is also available:(dataset) Tabb, Amy (2017). Code from: Fast androbust curve skeletonization for real-worldelongated objects. Ag Data Commons.http://dx.doi.org/10.15482/USDA.ADC/1399689

References

[1] G. Bertrand and M. Couprie.Two-dimensional parallel thinning algorithms based on critical kernels.Journal of Mathematical Imaging and Vision, 31(1):35–56, 2008.

[2] M. Couprie, D. Coeurjolly, and R. Zrour.Discrete bisector function and euclidean skeleton in 2D and 3D.Image and Vision Computing, 25(10):1543 – 1556, 2007.

[3] D. Jin, K. S. Iyer, C. Chen, E. A. Ho�man, and P. K. Saha.A robust and e�cient curve skeletonization algorithm for tree-likeobjects using minimum cost paths.Pattern recognition letters, 76:32–40, 2016.

[4] T.-C. Lee, R. L. Kashyap, and C.-N. Chu.Building skeleton models via 3-d medial surface/axis thinningalgorithms.CVGIP: Graph. Models Image Process., 56(6):462–478, Nov. 1994.

[5] A. Tabb and H. Medeiros.A robotic vision system to measure tree traits.In IEEE RSJ International Conference on Intelligent Robots and Systems,2017.

Acknowledgements

This material is based on work supported inpart by US National Science Foundation grantnumber IOS-1339211 to A. Tabb.

Contact Information

•Email: [email protected]

•Email: [email protected]