DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

16
Advances in Computer Science and Engineering © 2014 Pushpa Publishing House, Allahabad, India Published Online: April 2014 Available online at http://pphmj.com/journals/acse.htm Volume 12, Number 1, 2014, Pages 15-30 Received: January 29, 2014; Accepted: February 17, 2014 Keywords and phrases: 3D-scene-analysis, HONV, LLC, depth-spatial-pyramid. DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D-OBJECT RECOGNITION Toru Nakashika, Takafumi Hori, Tetsuya Takiguchi and Yasuo Ariki Graduate School of System Informatics Kobe University 1-1 Rokkodai, Kobe, Japan e-mail: [email protected] e-mail: [email protected] e-mail: [email protected] Abstract Recently introduced high-accuracy RGB-D cameras are capable of providing high-quality three-dimension information (color and depth information) easily. The overall shape of the object can be understood by acquiring depth information. However, conventional methods using such cameras use depth information only to extract the local features. To deal with this problem, in our proposed method, the overall object shape is expressed by the depth spatial pyramid based on depth information. Specifically, multiple features within each sub-region of the depth spatial pyramid are pooled. As a result, the feature representation (including the depth topological information) is constructed, where we use the histogram of oriented normal vectors (HONV) as 3D local features and apply locality-constrained linear coding (LLC) to the HONV. Experimental results confirm that the proposed method improves the recognition accuracy compared with conventional methods.

Transcript of DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Page 1: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Advances in Computer Science and Engineering © 2014 Pushpa Publishing House, Allahabad, India Published Online: April 2014 Available online at http://pphmj.com/journals/acse.htmVolume 12, Number 1, 2014, Pages 15-30

Received: January 29, 2014; Accepted: February 17, 2014 Keywords and phrases: 3D-scene-analysis, HONV, LLC, depth-spatial-pyramid.

DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D-OBJECT RECOGNITION

Toru Nakashika, Takafumi Hori, Tetsuya Takiguchi and Yasuo Ariki

Graduate School of System Informatics Kobe University 1-1 Rokkodai, Kobe, Japan e-mail: [email protected] e-mail: [email protected] e-mail: [email protected]

Abstract

Recently introduced high-accuracy RGB-D cameras are capable of providing high-quality three-dimension information (color and depth information) easily. The overall shape of the object can be understood by acquiring depth information. However, conventional methods using such cameras use depth information only to extract the local features. To deal with this problem, in our proposed method, the overall object shape is expressed by the depth spatial pyramid based on depth information. Specifically, multiple features within each sub-region of the depth spatial pyramid are pooled. As a result, the feature representation (including the depth topological information) is constructed, where we use the histogram of oriented normal vectors (HONV) as 3D local features and apply locality-constrained linear coding (LLC) to the HONV. Experimental results confirm that the proposed method improves the recognition accuracy compared with conventional methods.

Page 2: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Toru Nakashika, Takafumi Hori, Tetsuya Takiguchi and Yasuo Ariki 16

1. Introduction

Object recognition means that the computer recognizes objects from real world images by their names. It is one of the most challenging tasks in the field of computer vision. There are two types of object recognition tasks: instance recognition and category recognition. Instance recognition refers to recognizing known objects. On the other hand, category recognition is used to determine the category type of an unknown object. In regard to the achieving of human-like vision by a computer, it is expected that any such technology will be applied to robotic vision. Recently introduced high-accuracy RGB-D cameras are capable of providing high-quality three-dimension information (color and depth). Thus, this paper proposes a method for multi-class object image classification using 3D information (see Figure 1).

Figure 1. RGB-D information.

Recent image classification systems mainly consist of the following three parts: feature extraction using scale-invariant feature transform (SIFT [1]), coding scheme using bag-of-features (BoF [2]) and pooling using spatial pyramid matching (SPM [3]). The BoF method for characterizing the entire image uses the appearance frequency histogram of the local features. This feature is especially robust against spatial translations of features, although the robustness leads to disregard of location information.

SPM is used as an extension of the BoF process. The method partitions the image into hierarchical spatial sub-regions and computes histograms of

local features from each sub-region, as shown in Figure 2 (typically, ll 22 u sub-regions, .)2,1,0 l This spatial pyramid restricted by position has

Page 3: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Depth Spatial Pyramid: A Pooling Method for 3D-object Recognition 17

shown very promising performance on many image classification tasks. In the conventional methods, such as in [13], the techniques used for 2D images are applied to 3D-object recognition without any modification. Therefore, even though the depth information captures the overall shape of an object, conventional methods use depth information only to extract the local features.

Figure 2. Spatial pyramid matching.

To deal with this problem, in our proposed approach, the overall object shape is expressed by the depth spatial pyramid based on depth information. In other words, multiple features within each sub-region of the depth spatial pyramid are pooled. As a result, the feature representation (including the depth topological information) is constructed. We use not only SIFT, but also the histograms of oriented normal vectors (HONV) designed to capture local geometric characteristics. We also adopt locality-constrained linear coding (LLC [6]), which utilizes local constraints to project each descriptor into its local-coordinate system.

This paper is organized as follows: In Sections 2, 3, 4 and 5, the proposed method is described. In Section 6, the performance of the proposed method is evaluated. Section 7 provides a summary and discusses future work.

2. Overview of the Proposed Method

Figure 3 shows the system overview. First, the depth image and the RGB

Page 4: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Toru Nakashika, Takafumi Hori, Tetsuya Takiguchi and Yasuo Ariki 18

images of each channel are created from depth and color information. Feature points of each image are located by grid sampling, and features (HONV and SIFT) are extracted from each feature point. HONV is extracted from the depth image and SIFT is extracted from the RGB images. The extracted features are coded using LLC. Then, multiple codes within each sub-region of the spatial pyramid are pooled together. The pooling of the depth spatial pyramid is additionally processed for the depth image. Finally, the pooled features from all sub-regions are concatenated together for classification. The classifier is trained using this concatenated vector of training images. The test data is classified using the trained classifier, and the recognition result is output. In the following sections, each process in the proposed method is described in detail.

Figure 3. System overview.

3. Histogram of Oriented Normal Vectors (HONV)

The HONV is local features that made use of depth information, and it is designed to capture local geometric characteristics for object recognition [4]. The local 3D shape characteristics are represented as a local distribution of a normal vector orientation at every surface point.

The depth information captured by a depth sensor is converted to the depth image. We denote each pixel in the depth image as � �� �.,,, yxdyxp

� �yxd , shows the distance between the pixel position and the sensor: that is,

depth information. The normal vector at pixel p is computed by

Page 5: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Depth Spatial Pyramid: A Pooling Method for 3D-object Recognition 19

� � � � ,1,,,,¸¹·¨

©§

ww�

ww� y

yxdx

yxdN (1)

where � �x

yxdw

w , and � �

yyxd

ww ,

are calculated using the finite difference

approximation, respectively. The zenith angle T and the azimuth angle M of spherical coordinates are used as normal vector orientation. Figure 4 shows the relationships among a normal vector, the zenith angle, and the azimuth angle. Each angle is computed as follows:

� � � � ,,,tan21

221

¸¸¹

·¨¨©

§¸¹·

¨©§

ww

�¸¹·

¨©§

ww

T �y

yxdx

yxd (2)

� � � � .,,tan 1¸¹·

¨©§

ww

ww

M �x

yxdy

yxd (3)

These two angles are used to capture the overall shape of an object in three-dimensions in a similar way to histograms of oriented gradients (HOG) [5] in two-dimensions. Firstly, the image is divided into cells. The center of each cell is the feature point. For each cell, the normal vector orientation at each pixel is quantized and voted into a 2D histogram of T and M. To restrain spatial boundary effects, a 2D Gaussian smoothing process is employed over adjacent cell histograms. The 2D histogram is used as HONV feature of the corresponding feature point.

Figure 4. Zenith angle T and azimuth angle M of a normal vector.

Page 6: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Toru Nakashika, Takafumi Hori, Tetsuya Takiguchi and Yasuo Ariki 20

4. Locality-constrained Linear Coding (LLC)

In this paper, we adopted LLC as the coding scheme [6]. X

> @ NDN

u� �xxx ...,,, 21 denotes a set of D-dimensional local features ix

extracted from an image. Similarly, a codebook > @ MDM

u� �bbbB ...,,, 21

denotes a set of M codewords jb generated by using the K-Means algorithm.

Coding schemes finally convert each feature into an M-dimensional code. We show the LLC method, comparing it with two existing coding schemes, in Figure 5.

Figure 5. Comparison between BoF, SC and LLC.

4.1. Coding descriptors in BoF

The BoF method [2] is synonymous with solving the following constrained least squares fitting problem:

¦

�N

iii

C 1

2minarg Bcx

s.t. ,,0,1,1 10 iilili �t ccc (4)

where > @NcccC ...,,, 21 is a set of codes for X. The cardinality constraint

10 lic means that each code ic contains only one non-zero element,

corresponding to the quantization id of .ix 0,11 t ili cc means that

the coding weight for x is 1. This process can be regarded as searching the nearest neighbor.

Page 7: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Depth Spatial Pyramid: A Pooling Method for 3D-object Recognition 21

4.2. Coding descriptors in ScSPM

In BoF, because each feature is represented by a single codebook, large quantization errors can occur, as shown in Figure 5. To improve this loss,

a sparsity regularization term of 1l norm is used in equation (4) instead of the restrictive cardinality constraint 10 lic [7]. As a result of this

modification, a feature is represented by plural codebooks. Thus, coding each local feature ix becomes a standard sparse coding (SC) problem (spatial

pyramid matching based on sparse coding; ScSPM [8]):

.minarg1

2 1¦

O��N

iliii

CcBcx (5)

The quantization error can be greatly decreased by introducing this sparsity regularization term.

4.3. Coding descriptors in LLC

Generally, locality is more useful than sparsity. LLC introduces a locality-constraint instead of the sparsity constraint in equation (5). In a word, the input feature is expressed by the codebooks of its neighborhood. The LLC code is computed as follows [6]:

¦

O��N

iiiii

C 1

22minarg cdBcx :

s.t. ,,1 ii � cF1 (6)

where : denotes the element-wise multiplication, and Mi ��d is the

locality adapter defined as

� � ,,exp ¸¹·

¨©§

V

Bxd ii

D (7)

where � � � � � �> @ ,,...,,,, 1T

Miii DDD bxbxBx and � �jiD bx , is the

Page 8: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Toru Nakashika, Takafumi Hori, Tetsuya Takiguchi and Yasuo Ariki 22

Euclidean distance between ix and .jb V is used for adjusting the weight

decay speed for the locality adapter.

To improve the recognition performance, the coding scheme needs to generate similar codes for similar features. However, as shown in Figure 5, the SC process might end up expressing similar features in different codebooks. Thus, there is the possibility that the correlation between the codes is lost. In contrast, the locality adapter in LLC converts similar features into similar codes. The LLC code captures the correlations between similar features by sharing codebooks.

5. Spatial Pooling

Spatial pooling is the process of dividing an image into sub-regions, and pooling multiple features within each sub-region. In this paper, we use spatial

pyramid ll 22( u sub-regions) for each 2D image. For the depth image, we

propose a new pooling method called Depth spatial pyramid (DSP).

5.1. Depth spatial pyramid

The depth spatial pyramid is a spatial pyramid method where the 3rd (depth) coordinate is calculated from depth information. Assuming that the depth value is a coordinate, we divide the depth image into sub-regions. However, the measured depth values are unreliable and disperse unlike coordinates of a common spatial pyramid. If the space is simply divided equally like the spatial pyramid, the numbers of feature points within each sub-region are biased. Therefore, we divide it into sub-regions including equal number of points without dividing by coordinates. Typically, m sub-regions � �2,1,0 m are used (Figure 6). The 3D space of an object is

spatially constrained using the depth spatial pyramid and the spatial pyramid together. As a result, the overall 3D shape of the object can be expressed.

Page 9: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Depth Spatial Pyramid: A Pooling Method for 3D-object Recognition 23

Figure 6. Depth spatial pyramid.

5.2. Pooling method

In each spatial pyramid, the codes obtained using equation (6) within each sub-region are pooled together. These pooled features from each sub-region are concatenated and normalized as the final image feature representation. We use max pooling as the pooling method:

� �,...,,max 11 inHinout ccc (8)

where H denotes a number of feature points within the sub-region, and the max function in a row-wise manner returns a vector with the same size as

.1inc These pooled features 1outc are concatenated as the feature vector .inc

It is normalized by

.22 ininout ccc (9)

This 2outc is the final image feature representation. Here, for the depth

image, we concatenate two feature representations made from the spatial pyramid and depth spatial pyramid.

6. Experimental Evaluation

In this section, we evaluate our proposed method, comparing it with conventional methods using a benchmark dataset.

Page 10: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Toru Nakashika, Takafumi Hori, Tetsuya Takiguchi and Yasuo Ariki 24

Figure 7. Object from the RGB-D Object Dataset at approximately 30q, 45q and 60q above the horizon.

6.1. Experimental conditions

We used the RGB-D Object Dataset for the experiments [14]. It is composed of 300 objects, 51 categories and about 42,000 images containing RGB and depth information. Each object was photographed from three viewing angles (30q, 45q and 60q angles) while it rotated on a turntable, as shown in Figure 7. Figure 8 shows the examples of each category from the dataset. For each category, various instances of similar objects are included in the dataset as listed in Table 1. For our experiments, we used the same setup as in [9], distinguishing between category and instance recognition. Firstly, category-level classification experiments were conducted with 51 class labels. We randomly selected one object from each category for the test, and trained the classifier with the remaining objects. The averaged accuracy and the standard deviation over 10 random trials are reported for category recognition. Secondly, instance (object) classification experiments with 300 objects were conducted. We trained the classifier with the images captured from 30q and 60q elevation angles (93 images for each object on average), and tested them on the images that were taken at 45q (46 images for each object on average). We present object recognition results on the RGB-D

Page 11: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Depth Spatial Pyramid: A Pooling Method for 3D-object Recognition 25

Object dataset with only depth features (Depth), only color features (RGB), and with both depth and color features (RGB-D). In our setup, the SIFT and the HONV features were extracted from points densely located by every 4 pixels on an image, under three scales, 1212,88 uu and ,1616 u

respectively. The codebook size was 1024. We classified the vectors using the multi-class SVM (linear) as the classifier.

Figure 8. Objects (51 categories) from the RGB-D Object Dataset.

Table 1. Examples of the instances in the category

Category name # of instances Examples of the instances

apple 5

banana 4

coffee_mug 8

Page 12: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Toru Nakashika, Takafumi Hori, Tetsuya Takiguchi and Yasuo Ariki 26

6.2. Experimental results and discussion

First, we investigated our method using only depth features in order to see which descriptor is best for representing the depth information. In this preliminary experiment, we compared combinations of the feature descriptor (‘D-SIFT’ or ‘HONV’) and the pooling method (conventional spatial pyramid: ‘SP’ or our proposed depth-pyramid: ‘D-SP’). The results of the preliminary experiment are shown in Table 2. As shown in Table 2, when we used our proposed pooling method ‘D-SP’, we obtained higher accuracies than the conventional ‘SP’ in both cases of ‘D-SIFT’ and ‘HONV’. This shows the effectiveness of our ‘D-SP’, which represents the overall shape of the object with the depth information. Table 2 also shows that, while ‘HONV’ outperformed ‘D-SIFT’ in instance object recognition, it was the other way around in category recognition. This is because ‘HONV’ captures local shapes of the object better than ‘D-SIFT’ and provides us with more general information related to the category.

Table 2. Accuracy comparison within depth features (%)

Category Instance

D-SIFT + SP 78.4 r 1.9 48.5

D-SIFT + D-SP 79.2 r 1.8 50.6

HONV + SP 79.5 r 1.4 46.6

HONV + D-SP 80.4 r 1.6 47.1

Table 3 shows the recognition results and the comparison with conventional methods. From Table 3, it can be confirmed that the proposed method improved the accuracy. This result shows the effectiveness of the proposed method using HONV, LLC and depth spatial pyramid. However, the result with depth features (Depth) for instance recognition did not outperform the other methods. This is because the dataset contains many objects having the same shapes but different colors (see Figure 9. It is, in general, difficult to recognize such objects only with shape information. The proposed method specialized particularly on the shape representation was strongly influenced,

Page 13: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Depth Spatial Pyramid: A Pooling Method for 3D-object Recognition 27

and therefore its recognition accuracy was not improved. Nevertheless, the depth information contributes to the improvement of the recognition rate when mixed with the color information (RGB-D).

Table 3. Recognition results and comparisons (%)

Category Instance

RGB Depth RGB-D RGB Depth RGB-D

ICRA11 [9] 74.3 r 3.3 53.1 r 1.7 81.9 r 2.8 59.3 32.3 73.9

Kernel desc [10] 80.7 r 2.1 80.3 r 2.9 86.5 r 2.1 90.8 54.7 91.2

CKM desc [11] N/A N/A 86.4 r 2.3 82.9 N/A 90.4

HMP [12] 74.7 r 2.5 70.3 r 2.2 82.1 r 3.3 75.8 39.8 78.9

ISER12 [13] 82.4 r 3.1 81.2 r 2.3 87.5 r 2.9 92.1 51.7 92.8

Proposed 85.3 r 1.6 82.9 r 2.3 89.2 r 1.6 93.4 42.5 94.2

Figure 9. Objects with similar shapes but different colors.

When we compare the methods in regard to the computational cost, the ‘ISER12 [13]’, which performed best in the conventional methods, utilized up to 188,300 dimensional features, while our method has only 25,600 dimensional features. Our approach achieved a reduction of the computational time and cost, compared with the conventional methods.

Page 14: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Toru Nakashika, Takafumi Hori, Tetsuya Takiguchi and Yasuo Ariki 28

We also show a confusion matrix from the recognition accuracies of our method in Figure 10. As shown in Figure 10, the most difficult items to categorize were in the ‘mushroom’ category. This category has no more than 3 images, where the color and the shape are different from each other, as shown in Figure 11. Furthermore, these objects are so small that it is difficult to capture the appropriate depth information. The difficulty of recognizing them as a ‘mushroom’ was due to such factors.

Figure 10. Confusion matrix of our method (category recognition). The ‘mushroom’ class is marked with a red box.

Page 15: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Depth Spatial Pyramid: A Pooling Method for 3D-object Recognition 29

Figure 11. Mushroom class from the RGB-D Object Dataset.

7. Conclusion

This paper presented a 3D-object recognition method using HONV, LLC and a depth spatial pyramid based on depth information. The feature representation (including the topological information of shape) was constructed by using a depth spatial pyramid and spatial pyramid together. Our proposed method of expressing overall object shapes demonstrated better performance compared with conventional methods in the experiments using a 3D-object dataset. In the future, we will study the sub-region division method of a more effective spatial pyramid and pooling method.

References

[1] D. G. Low, Distinctive image features from scale-invariant keypoints, Journal of Computer Vision 60(2) (2004), 91-110.

[2] G. Csurka, C. R. Dance, L. Fan, J. Willamowski and C. Bray, Object recognition as machine translation: learning aLexicons for a fixed image vocabulary, ECCV Workshop on Statistical Learning in Computer Vision (2004), 1-22.

[3] S. Lazebnik, C. Schmid and J. Ponce, Beyond bags of features: spatial pyramid matching for recognizing natural scene categories, IEEE Computer Society Conference on Computer Vision and Pattern Recognition 2 (2006), 2169-2178.

[4] S. Tang, X. Wang, X. Lv, T. X. Han, J. Keller, Z. He, M. Skubic and S. Lao, Histogram of oriented normal vectors for object recognition with a depth sensor, The Asian Conference on Computer Vision, 2012.

[5] N. Dalal and B. Triggs, Histograms of oriented gradients for human detection, IEEE Conference on Computer Vision and Pattern Recognition (2005), 886-893.

[6] J. Wang, J. Yang, K. Yu, F. Lv, T. Huang and Y. Guo, Locality-constrained linear coding for image classification, IEEE Conference on Computer Vision and Pattern Recognition (2010), 3360-3367.

Page 16: DEPTH SPATIAL PYRAMID: A POOLING METHOD FOR 3D …

Toru Nakashika, Takafumi Hori, Tetsuya Takiguchi and Yasuo Ariki 30

[7] J. Yang, K. Yu, Y. Gong and T. Huang, Linear spatial pyramid matching using sparse coding for image classification, IEEE Conference on Computer Vision and Pattern Recognition (2009), 1794-1801.

[8] H. Lee, A. Battle, R. Raina and A. Ng, Efficient sparse coding algorithms, Advances in Neural Information Processing Systems, MIT Press (2006), 801-808.

[9] K. Lai, L. Bo, X. Ren and D. Fox, A large-scale hierarchical multi-view RGB-D object dataset, IEEE International Conference on Robotics and Automation (2011), 1817-1824.

[10] L. Bo, X. Ren and D. Fox, Depth kernel descriptors for object recognition, IEEE/RSJ International Conference on Intelligent Robots and Systems (2011), 821-826.

[11] M. Blum, J. Springenberg, J. Wlfing and M. Riedmiller, A learned feature descriptor for object recognition in RGB-D data, IEEE International Conference on Robotics and Automation (2012), 1298-1303.

[12] L. Bo, X. Ren and D. Fox, Hierarchical matching pursuit for image classification: architecture and fast algorithms, Neural Information Processing Systems (NIPS), 2011.

[13] L. Bo, X. Ren and D. Fox, Unsupervised feature learning for RGB-D based object recognition, International Symposium on Experimental Robotics, 2012.

[14] RGB-D Object Dataset, http://www.cs.washington.edu/rgbd-dataset/