Parametric Curved Surface Range Segmentation algorithm

Here a robust model-based range segmentation algorithm capable of segmenting curved surfaces is described.

This algorithm incorporates the Surface Selection Criterion (SSC) to choose the most appropriate underlying surface model from the model library shown here. This library consists of a plane (as the simplest) and a Partial-Quadratic (as the most general) and six other models with complexities in between. These models are chosen based on the different number of parameters required to express a given data set. For example, because there are cylinders, cones or paraboloids (or parts of them) perpendicular to the xy plane in the Curved Surface Database, then the model ax2 + by2 + cx + dy = 1 is included in the model library. This model has four parameters while the most general model has six parameters. The perpendicular and parallel surfaces to the xy, xz or yz plane have one or two parameters less than the general model. Therefore, they are included in the surface library separately (models 2-4). Adding such models to the model library allows the proposed segmentation algorithm to detect such degeneracy (surfaces with axes perpendicular or parallel to range finder coordinate system). It should be noted here that the quadratic models shown in Table 1 could present different types of conical surfaces based on the signs and values of the parameters.

The proposed algorithm employs the noise estimation technique described in [1]. In fact, the scale of the noise is obtained from the data itself, the proposed algorithm is not overly sensitive to the level of noise (and quantisation error) in the range image. Thus, the segmentation algorithm can tolerate a substantial amount of noise. The curved object database that is used here consists of many objects made of different materials (metal, wood, cardboard), having different colours and captured in different illumination conditions. As a result, the level of noise is different in the experiments shown here.

The required steps are as follows:

  1. Eliminate pixels whose associated depths are not valid due to the limitation of the range finder used for measuring the depth (mainly due specularities, poor texture, etc). These points are usually marked by the range scanner with an out-of-range number. If there are no such points we can skip this stage.

  2. Find a localised data group inside the data space in which all the pixels appear on a flat plane. Even if there is no planar surface in the image, we can always approximate a very small local area (here 15´ 15) as a planar surface. To implement this stage and find such a data group, we choose a number of random points, which all belong to the same square of size R (this square is only for the sake of local sampling). Using these points, create an over-determined linear equation system. If the number of inliers is more than half of the size of the square, then, mark this square as an acceptable data group. The size of the square (R) is not important, however it needs to be large enough to contain adequate sample points. We set the square size as 15´ 15 in our experiments. We have chosen this size because a square of size 15´ 15 can contain enough samples. In our experiments, 30 samples were used to perform the above step.

  3. Fit the highest model in the library to all the accepted data groups and find the residual for each point. Then, repeat the above two steps and accept the data group that has the least Kth order residual (the choice of K depends on the application [1] and is set to 10% for our experiments). This algorithm is not sensitive to the value of K. However, if we assume K to be very large, small structures will be ignored.

  4. Apply a model selection method (here SSC) to the extended region (by fitting and comparing all models in the model library to the extended region) and find the appropriate model.

  5. Fit the chosen model to the whole data (not segmented parts); compute the residuals and estimate the scale of noise using the technique explained in the previous section. In the next step this scale will help us to reject the outliers. It is important to note that performing this step has the advantage that it can also remedy the occlusion problem if there is any. This means that if a surface of an object is divided - occluded - by another object, we can then rightly join the separated parts as one segment.

  6. Establish a group of inliers based on the obtained scale and reject the outliers. We reject those points whose squared residual is greater than the threshold T2 multiple of the scale of noise (see the inequality r2n+1>T2 δ2 in the previous section). Then, recalculate the residuals and compute the final scale using: .

  7. Apply a hole-filling (here, we use a median filter of 10 by 10 pixels) algorithm to all inliers and remove holes resulting from invalid and noisy points (points where the range finder has not been able to correctly measure the depth mainly due to their surface texture). This step is only for the sake of the appearance of the results and has no effect on the segmented surface’s parameters because the fitting has already been performed. However, some of the missed invalid, and noisy points can be grouped in this step. This step is not essential and can be skipped if desired.

  8. Eliminate the segmented part from the data.

  9. Repeat the steps 1 to 8 until the number of remaining data becomes less than the size of the smallest possible region in the considered application.

Reference List

[1] Bab-Hadiashar, A. and Suter, D., Robust Segmentation of Visual Data Using Ranked Unbiased Scale Estimate, ROBOTICA, International Journal of Information, Education and Research in Robotics and Artificial Intelligence, vol. 17, pp. 649-660, 1999.


Top

  1. Index
  2. Surface Selection Criterion (SSC)
  3. Characteristics of SSC
  4. Experimental Results

 

By Niloofar Gheissari and Alireza Bab-Hadiashar

May 2004