0% found this document useful (0 votes)
3 views6 pages

N-19248

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 6

IJCNN 2019 - International Joint Conference on Neural Networks, Budapest Hungary, 14-19 July 2019

Clustering-enhanced PointCNN for Point Cloud Classification Learning


Yikuan Yu, Fei Li, Yu Zheng, Min Han, and Xinyi Le

Abstract— 3D shape feature learning plays a pivotal role Voxelization is a commonly used method for pre-
in both industry and academia. PointCNN is one of excellent processing, which is similar to pixelation in 2D image deep
neural networks for 3D object databases classification. Instead learning [10].VoxNet [11] ,using this method, has achieved
of selecting representative points arbitrarily in PointCNN,
clustering-enhanced PointCNN proposed in this paper can make 92% test accuracy on ModelNet10 and 83% test accuracy on
representative points more logical and efficient for point cloud ModelNet40. Y. Wang [12] proposed a network using pixel
classification learning. The proposed clustering-based selection data and achieved 88.66% test accuracy on ModelNet10 and
approach is able to distinguish more features and catch more 82.66% test accuracy on ModelNet40.
details from 3D shapes. Both K-Means and Gaussian-Mixture-
Model (GMM) clustering methods are applied during the point Another method is transforming a 3D object model to
selection period. Both methods have been tested on several multi-view figures. Hang Su [13] proposed MVCNN (Multi-
public data sets, which substantiates the superior classification View Convolutional Neural Network) which can achieve
accuracy with comparable training time. 86.3% accuracy on ModelNet40. Some neural networks
I. INTRODUCTION adopting the similar methods have also been proposed like
MVRNN (Multi-View Recurrent Neural Network) [14] and
A. Motivation and Background
MVCNN-New [15].
Deep learning, which usually refers to deep artificial neu-
Although the performance of these methods is not bad,
ral networks, has achieved great performance in numerous
they cannot satisfy industry requirement with the wide usage
applications [1]. In particular, convolutional neural network
of 3D point cloud data. Because of the development of indus-
[2], proposed by Kunihiko Fukushima, is widely applied
try 3D camera, point cloud becomes the main data structure
in machine learning problems such as natural language
in industry. At the same time, point cloud could be used for
processing [3] and image classification [4].
scene recognition and segmentation directly [16]. Therefore,
3D shape learning can be widely applied in 3D printing,
researchers have been paying more attention to point cloud
topography, intelligent manufacturing, and quality control
learning. In recent years, some significant networks with
[5], [6], [7]. Meanwhile, it can also be used for 3D scene
point cloud data input have been drawing growing interests.
recognition and object segmentation. In 3D shape learning,
PointNet proposed by [17] is a typical point cloud learning
we use ModelNet [8] for training and testing as 3D shape
network which achieves 89.2% accuracy on ModelNet40. T-
data sets, which is similar to Imagenet [9] in image identifi-
Net is an ingenious design for solving invariance of point
cation field. However, different from 2D image learning, 3D
cloud learning in PointNet. Then PointNet++ proposed by
object learning cannot use regular data directly on account
[18] , as an improvement of PointNet, achieves 90.7% accu-
of the diversity and specificity of 3D object data. In addition,
racy on ModelNet40. However, the classification accuracy of
the 3D point cloud is not distributed uniformly. So, we
all these approaches is not satisfactory enough and an open
cannot use convolution transformation directly. Due to these
problem of 3D shape classification still remains.
difficulties, accuracy of 3D classification is not satisfactory
enough at present.
B. Literature Review C. Contribution and Organization
In order to solve the problems in 3D classification,
pre-processing of 3D data is necessary, and various pre- In this paper, we proposed a clustering-enhanced method
processing methods have been developed. to improve the classification accuracy of PointCNN. We
use clustering algorithms(K-Means and Gaussian Mixture
The work described in the paper was jointly sponsored by Open Fund
of State Key Laboratory of Intelligent Manufacturing System Technology, Model) to select representative points of X-Conv transfor-
Natural Science Foundation of Shanghai (18ZR1420100), and National mation which is the kernel operation in PointCNN. The
Natural Science Foundation of China (61703274). experiment result shows that this method can increase the
Yikuan Yu, Yu Zheng, and Xinyi Le (corresponding author) are with
Shanghai Key Laboratory of Advanced Manufacturing Environment, School accuracy of classification compared to original PointCNN.
of Mechanical Engineering, Shanghai Jiao Tong University, Shanghai The paper is organized as follows. In Section II, some
200240, China (yyyykkkk1995, lexinyi@sjtu.edu.cn).
Fei Li is with State Key Laboratory of Intelligent Manufacturing System related work of point cloud learning and clustering methods
Technology, Beijing Institute of Electronic System Engineering, Beijing are introduced. In Section III, we describe the mathematical
100854, China, and also with Beijing Complex Product Advanced Manufac- procedure of X-Conv and clustering-enhanced PointCNN.
turing Research Center, Beijing Simulation Center, Beijing 100854, China.
Min Han is with Faculty of Electronic Information and Electrical Engi- Section IV includes our experimental results. Section V
neering, Dalian University of Technology, Dalian 116023, China. concludes this paper and comes up with some future work.
978-1-7281-2009-6/$31.00 ©2019 IEEE paper N-19248.pdf
Fig. 1. (a) CAD Model and (b) Point Cloud of a Teapot

II. R ELATED W ORK network can describe and learn local relationship of point
A. Point Cloud Learning cloud. The input of image classification is regular pixel
matrix with color channel and pixel matrix can be convo-
Point cloud is a set of data points in space (can be any
lutionally operated directly as Figure 2. However, it is hard
dimension) which usually measures a number of points on
to use the convolutional kernel scanning point cloud due to
the external surface of an object. Now, 3D point cloud can
its irregular property as Figure 3.
be produced by other 3D data as Figure 1.
Point cloud can be regarded as a set of unordered points
{Pi ∈ X d |i = 1, . . . , n} in a d-dimension space, where each
point Pi is a vector of its coordinate (x1i , . . . , xdi ) plus its
feature channels with m-dimension Fi (fi1 , . . . , fim ) such
like color, material and diaphaneity if necessary [19].
Point cloud classification task is given by the function:
f ({Pi |i = 1, . . . , n}), where f : X n×(d+m) → Y k . The
output of this function is k-dimension vector which presents
the probability of k classes. We always take the classification
result which has highest probability value.
Therefore, 3D point cloud learning has three following Fig. 2. Convolution Processing of CNN for 2D Image Feature Extraction.
properties:
• Disorder. Sequence of points in the input set can not
affect the final result of deep learning. The mathematical
expression is:
f (Pa1 , . . . , Pan ) = f (Pb1 , . . . , Pbn ) (1)
where {Pai |i = 1, . . . , n} and {Pbi |i = 1, . . . , n} are
two different arrays of points.
• Invariance. This property usually refers to rotation
invariance. Point cloud location data expressions of an
object would be different in diverse coordinate systems.
But our learner can eliminate the variance caused by
rotation. The mathematical expression is:
Fig. 3. Conventional Convolution Processing Failure on Point Cloud.
f (Px1 , . . . , Pxn ) = f (Py1 , . . . , Pyn ) (2)
where {Pxi ∈ X d |i = 1, . . . , n} and {Pyi ∈ Y d |i = PointCNN was proposed by Li [20]. This network gives a
1, . . . , n} are any two different expressions in their method called ”X-Conv” operator in the paper to replace
coordinates of an object. Moreover, X d , Y d are linear conventional convolution. PointCNN for classification is
equivalent d-dimension coordinate. structured by several hierarchical X-Conv layers and one
• Interaction. Relationship among points makes 3D SoftMax layer like Figure 4. Therefore, X-Conv operator
learning more complicated. Both global and local rela- plays a crucial role in PointCNN.
tionship (or can be called feature) should be considered In Figure 4, blue points represent input points(with or
in learning network. without features) and first X-Conv layer turns the input points
into less representation points(orange points) with richer
B. PointCNN and X-Conv features. The second X-Conv layer repeats this processing
Due to great performance of CNN on 2D image classi- and parameter of X-Conv operator will be different. After
fication, various convolutional neural networks on 3D point X-Conv layer, number of points is decreased and feature
cloud gradually appear in recent years. Convolutional neural becomes richer.
C. Clustering Methods
When dealing with big data, a proper clustering method
can provide assistance to find internal rules [21]. Clustering
algorithm is an unsupervised learning process and classifica-
tion is a supervised learning process. Meanwhile, classifica-
tion method is using known features to verdict the affiliation
and clustering is a method for obtaining these features. So,
clustering is widely applied for data preprocessing.
Frequently used clustering method includes K-Means,
GMM (Gaussian Mixture Model), Mean Shift and Graph
Community Detection. In our model, K-Means and GMM
Fig. 4. PointCNN (Using For Multi-Classification) Structure.
are adopted.
K-Means is a well-understood method [22]. Its procedure
can be posted as Algorithm 1 shows.
The main effect of X-Conv is feature extraction as con-
volution in 2D deep learning. Figure 5 compares traditional
Algorithm 1 K-Means Approach
convolution and X-Conv. This figure shows that X-Conv can
extract the local regions around representative points and Input: Input parameter K and data set S ∈ Rn
learn the information of this region. This processing executes Output: Output Si ⊆ S|i = 1, . . . , K
the same function as traditional convolution. 1: Select K points in space Rn randomly
2: for Iterations are not enough do
3: For any P ∈ S, denote P ∈ Si |i = argmin{||P −
Ki ||}
4: Let Ki = S̄i
5: return result

This is the basic K-Means Algorithm. Its time complexity


is O(I × n × K × m) and space complexity is O(n × m).
m is data number. n is data dimension. I is iterations. K is
clustering number.
GMM (Gaussian Mixture Model) clustering is similar to
K-Means [23]. The difference between these two methods
is adding probability to clustering algorithm. Several prob-
ability distributions can be learnt and we can regard the
initial data set as mixture of these mathematical distributions.
According to the central-limit theorem, it is reasonable that
these distributions are Gaussian (Other rational distributions
can be used). The definition of GMM is:
K
X
p(x) = πk p(x|k) (3)
Fig. 5. Comparison of X-Conv and Traditional Convolution. (a) (b)
k=1
Twice X-Conv Operator for Irregular Point Cloud. (c) (d) Twice Traditional
Convolution for Regular Gridding Pixel. where K is clustering number and πk is weight of k-
th Gaussian model whose mean is µk and variance is σk .
The input to 2D image CNN is a feature map F1 with Next step is parameter (σk , µk , πk ) estimation by maximum
shape R1 × R1 × C1 , where R is resolution value and C likelihood method. Finally, it is feasible to calculate the
is channel number (This value is usually 3 if the input is probability of every class. The procedure of GMM is shown
with RGB color channel). The convolution kernel K is with in Algorithm 2.
shape K × K × C. Another feature map is obtained with Other clustering methods also can also be used such like
shape R2 × R2 × C2 . K-Medoids [24], CLARANS [25].
Comared to 2D image CNN, the input to PointCNN is
S1 = {(Pi1 ∈ RC1 |i = 1, . . . , N1 )}, where C1 = d + m, III. C LUSTERING - ENHANCED P OINT CNN
and P includes location information and feature informa- In PointCNN [20], the representative points of X-Conv
tion {xi , fj |i = 1, . . . , d; j = 1, . . . , m}. Following the are randomly selected. In this paper, we use clustering
PointCNN structure, the initial input can be tranformed to a central points to replace ranomly selected points making
higher level representation S2 = {Pi2 ∈ RC2 |i = 1, . . . , N2 } the algorithm more logical. The specific model is shown as
by X-Conv where C1 > C2 , N1 < N2 . follows.
Algorithm 2 Gaussian Mixture Model B. Clustering-enhanced X-Conv Layer for PointCNN
Input: Input parameter K, data set S ∈ Rn Obviously, it can be observed that the representative point
Output: Output Si ⊆ S|i = 1, . . . , K P 2 plays a vital role in X-Conv. These points are randomly
1: Initialize the parameters µk , πk , σk |k = 1, . . . , K chosen in the original PointCNN. To improve this process,
2: for Iterations are not enough do we add some clustering methods to PointCNN which is more
3: Calculate the probability of i-th sample produced by logical in our mind.
k-th model in S which is given by: Generally, point cloud density varies considerably in a
πk N (xi |µk , σk ) point cloud. Some areas includes few points but significant
ω̄i (k) = PK information and features which will be ignored by uniform
j=1 πj N (xi |µj , σj ) sampling (randomly selection).
4: Use maximum likelood method to estimate: Analyze the feasibility and mathematical process of this
PN method. The input of X-Conv layer is a set of points with
µk = N1 i=1 ω̄i (k)xi ,
PN coordinate and feature information S = {(P ∈ RC }, where
σk = N1k i=1 ω̄i (k)(xi − µk )(xi − µk )T ,
PN C = d + m, and P = {xi , fj |i = 1, . . . , d; j = 1, . . . , m}.
Nk = i=1 ω̄i (k) Next step is to obtain representative points. We use clustering
center to replace randomly selection. The specific clustering-
5: return result enhanced X-Conv process is shown in Figure 6 and Algo-
rithm 4.

A. Mathematical Procedure of X-Conv

According to the introduction to PointCNN in the previous


section, X-Conv is a tool that could execute convolution
function to transform S1 = {(Pi1 ∈ RC1 |i = 1, . . . , N1 )}
to S2 = {Pi2 ∈ RC2 |i = 1, . . . , N2 }, where C1 > C2 , N1 <
N2 . Through this transformation, feature (channel) becomes
richer and (representation) point number becomes less.
Analyze specific input of X-Conv [20]. We select a
representative point Pi2 ∈ S2 and a point set Pi,1 in its
K neighbors. According to the previous introduction, Pi,1
is an unordered set and can be represented in a K × C1
matrix P = (L, F ) which is constructed by a K × d
coordinate matrix L = (x1 , . . . , xK ) and a K × m feature
matrix F = (f1 , . . . , fK ). Firstly we should calculate the
relative(local) coordinate matrix L0 = L − Pi . In X-Conv, a
multiple layer perception M LPδ is applied for L0 to obtain
a K × Cδ matrix Lδ . Next step is concatenating matrix Lδ
and F and the new matrix is F 0 . Then we should learn
the K × K X −transformation matrix by another multiple Fig. 6. Representative Point Selection of (a) Initial PointCNN (b)
layer perception to F 0 . The final step is using conventional Clustering-Enhanced PointCNN
convolution to collect the information of FX = X × F 0 by
convolution kernel K.
This algorithm is showed in Algorithm 3 [20]. Algorithm 4 Clustering-enhanced X -Conv Layer Operator
Input: Input representative point number r, point set P1 ,
convolution kernel K, other needed parameters
Algorithm 3 Single X -Conv Operator Output: Output aggregated feature set P2
Input: Input parameters, convolution kernel K, representa-
1: Separate point set P1 = [L, F ]
tive point Pi , point set Pi,1 = [L, F ]
2: Conduct clustering operation (r clustering) for L
Output: Output aggregated features Pi,2
3: Calculate the means of K clusters
1: Calculate relative coordinate L0 = L − Pi 4: Concatenate means value to obtain P
2: Use multi-layer perception Lδ = M LPδ (L0 ) 5: for i = 1 to dim(P ) do
3: Concatenate matrix F 0 = [Lδ , F ] 6: Obtain point set Pi,1 from P1 , which is a set of K
4: Use multi-layer perception for L0 as X = M LP (L0 ) nearest points to Pi
5: Conduct matrix multiplication FX = X × F 0 7: Use single X -Conv operator for Pi,1 to obtain Pi,2
6: Operate a traditional convolution Pi,2 = Conv(K, FX )
8: Concatenate Pi,2 to obtain P2
IV. E XPERIMENTAL R ESULTS AND C ONCLUSION
We conducted evaluation of Clustering-enhanced
PointCNN for classification task on four benchmark
datasets. Before showing the experiment results, we first
introduce these datasets briefly.
A. Introduction to Datasets
• ModelNet40. ModelNet40 proposed by Wu et al.[8]
is a 3D object dataset composed of 12, 311 3D mesh
models from 40 categories with 9, 843 training samples
and 2, 468 testing samples, respectively. ModelNet, as
Figure 7 shows, a large-scale object dataset of 3D
computer graphics CAD models, was contructed to train
3D deep learning model. In this dataset, CAD models Fig. 8. Examples of color images of each class in CIFAR-10.
are represented by OFF file which are used to represent
the geometry of a model by specifying the polygons
of the model’s surface. The method to get point cloud categories with 2/3 training set and 1/3 testing set. It
data from ModelNet is uniformly sampling of surfaces is the first large scale exploration of human sketches as
of CAD models. Using this method, the point cloud Figure 10.
conversion of ModelNet40 is provided by Qi [17] as
the input of our model.

Fig. 9. Examples of handwritten digits of 0-9 in MNIST.

B. Experiment Results
Fig. 7. Examples of 3D Models in ModelNet. Classification task and its result are usually deemed to
the standard of evaluation for a network. A learner which
• CIFAR-10. This dataset (Figure 8) includes 60, 000 achieves great performance on classification task can also
color images from 10 categories (6000 images per cat- be adopted to other tasks (e.g. segmentation task) suc-
egory) with 50, 000/10, 000 training/testing split. The cessfully. We evaluate Clustering-enhanced PointCNN on
dataset is divided into five training batches and one test the classification task of ModelNet40, CIFAR-10, MNIST
batch, each with 10000 images. The test batch contains and TU Berlin using two clustering methods: K-Means and
exactly 1000 randomly-selected images from each class. Gaussian Mixture Model(GMM). We use TensorFlow(1.12)
The training batches contain the remaining images in to run this classification task with NVIDIA 1080Ti GPU.
random order, but some training batches may contain We summarize our classification results including running
more images from one class than another. Between time and accuracy on Table I and Table II. We trained with
them, the training batches contain exactly 5000 images the same iteration on one dataset with different algorithms.
from each class. We compared the K-Means-enhanced PointCNN, GMM-
• MNIST. It is a subset of NIST (National Institude of enhanced PointCNN, initial PointCNN (random selection)
Standards and Technoloty) constructed of handwritten and PointNet on four datasets.
digits as Figure 9. It has a training set of 60, 000 According to the aforementioned experimental results, it
examples and a test of 10, 000 examples. The digits can be found that our network (K-Means and GMM) has
have been size-normalized and centered in a fixed-size better classification performance than initial PointCNN on
image. MNIST is widely used for sanity check of image some datasets. Our method sacrifices some running effi-
classification networks. ciency but achieves superior behavior. Moreover, GMM-
• TU Berlin. TU Berlin Sketch, which is proposed by enhanced PointCNN has more stable performace than K-
Eitz et al. [26], has 20, 000 human sketches from 250 Means-enhanced PointCNN.
TABLE II
RUNNING T IME OF C LASSIFICATION U SING F OUR N ETWORKS

Running ModelNet CIFAR- MNIST TU Berlin


Time/min 40 10
PointNet 359 - - -
[17]
PointCNN 621 887 442 1004
[20]
PointCNN 734 1013 531 1231
(K-Means)
PointCNN 767 1179 564 1496
(GMM)

[7] X. Zhang, X. Le, Z. Wu, E. Whiting, and C. C. Wang, “Data-driven


Fig. 10. Examples of human sketches in TU Burlin Sketch. bending elasticity design by shell thickness,” in Computer Graphics
Forum, vol. 35, no. 5. Wiley Online Library, 2016, pp. 157–166.
[8] Z. Wu, S. Song, A. Khosla, F. Yu, L. Zhang, X. Tang, and J. Xiao, “3D
TABLE I ShapeNets: A deep representation for volumetric shapes,” Computer
ACCURACY OF C LASSIFICATION U SING F OUR N ETWORKS Vision and Pattern Recognition, pp. 1912–1920, 2015.
Accuracy/% ModelNet CIFAR- MNIST TU Berlin [9] J. Deng, W. Dong, R. Socher, L. Li, K. Li, and L. Feifei, “ImageNet: A
40 10 large-scale hierarchical image database,” Computer Vision and Pattern
PointNet 88.3 - - - Recognition, pp. 248–255, 2009.
[17] [10] J. Pantaleoni, “Voxelpipe: a programmable pipeline for 3D voxeliza-
PointCNN 90.7 80.1 99.5 70.5 tion,” High Performance Graphics, pp. 99–106, 2011.
[20] [11] D. Maturana and S. Scherer, “Voxnet: A 3D convolutional neural
PointCNN 91.3 79.9 99.5 70.3 network for real-time object recognition,” Intelligent Robots and
(K-Means) Systems, pp. 922–928, 2015.
PointCNN 91.7 80.6 99.6 70.9 [12] Y. Wang, Z. Xie, K. Xu, Y. Dou, and Y. Lei, “An efficient and effective
(GMM) convolutional auto-encoder extreme learning machine network for 3D
feature learning,” Neurocomputing, vol. 174, pp. 988–998, 2016.
[13] H. Su, S. Maji, E. Kalogerakis, and E. G. Learnedmiller, “Multi-view
convolutional neural networks for 3D shape recognition,” International
Conference on Computer Vision, pp. 945–953, 2015.
V. C ONCLUSION AND F UTURE W ORK [14] T. Le, G. Bui, and Y. Duan, “A multi-view recurrent neural network
for 3D mesh segmentation,” Computers and Graphics, vol. 66, 2017.
In this paper, we propose a clustering enhanced PointCNN [15] J. C. Su, M. Gadelha, R. Wang, and S. Maji, “A deeper look at 3D
shape classifiers,” ArXiv, 2018.
to improve classification accuracy of point cloud. With the [16] H. Woo, E. Kang, S. Wang, and K. H. Lee, “A new segmentation
help of clustering enhanced methods (K-Means and Gaussian method for point cloud data,” International Journal of Machine Tools
Mixture Model), we obtain better representative points of and Manufacture, vol. 42, no. 2, pp. 167–178, 2002.
[17] R. Q. Charles, H. Su, M. Kaichun, and L. J. Guibas, “PointNet:
X-Conv more effectively. According to our experimental Deep learning on point sets for 3D classification and segmentation,”
results, our clustering-enhanced PointCNN achieves prefer- Computer Vision and Pattern Recognition, pp. 77–85, 2017.
able classification accuracy with comparable comsuming [18] C. R. Qi, L. Yi, H. Su, and L. J. Guibas, “PointNet++: Deep
hierarchical feature learning on point sets in a metric space,” Neural
time in all benchmark datasets. In the future, we will test Information Processing Systems, pp. 5099–5108, 2017.
more clustering methods for pre-processing to seek a higher [19] S. Ravanbakhsh, J. G. Schneider, and B. Poczos, “Deep learning with
accuracy result. We will also apply the proposed approach sets and point clouds,” arXiv: Machine Learning, 2017.
[20] Y. Li, R. Bu, M. Sun, W. Wu, X. Di, and B. Chen, “PointCNN:
to the point cloud segmentation. Convolution on X-transformed points.” Neural Information Processing
System, 2018.
R EFERENCES [21] A. K. Jain, M. N. Murty, and P. J. Flynn, “Data clustering: a review,”
ACM Computing Surveys, vol. 31, no. 3, pp. 264–323, 1999.
[1] J. Schmidhuber, “Deep learning in neural networks,” Neural Networks, [22] S. Z. Selim and M. A. Ismail, “K-Means-type algorithms: A general-
vol. 61, pp. 85–117, 2015. ized convergence theorem and characterization of local optimality,”
[2] K. Fukushima, “Neocognitron: A self-organizing neural network IEEE Transactions on Pattern Analysis and Machine Intelligence,
model for a mechanism of pattern recognition unaffected by shift in vol. 6, no. 1, pp. 81–87, 1984.
position,” Biological Cybernetics, vol. 36, no. 4, pp. 193–202, 1980. [23] D. A. Reynolds, T. F. Quatieri, and R. B. Dunn, “Speaker verification
[3] R. Collobert, J. Weston, L. Bottou, M. Karlen, K. Kavukcuoglu, and using adapted Gaussian mixture models,” Digital Signal Processing,
P. P. Kuksa, “Natural language processing (almost) from scratch,” vol. 10, no. 1, pp. 19–41, 2000.
Journal of Machine Learning Research, vol. 12, pp. 2493–2537, 2011. [24] D. Cao and B. Yang, “An improved K-medoids clustering algorithm,”
International Conference on Computer and Automation Engineering,
[4] A. Krizhevsky, I. Sutskever, and G. E. Hinton, “ImageNet classifi-
vol. 3, pp. 132–135, 2010.
cation with deep convolutional neural networks,” Neural Information
[25] R. T. Ng and J. Han, “Clarans: a method for clustering objects for
Processing Systems, pp. 1097–1105, 2012.
spatial data mining,” IEEE Transactions on Knowledge and Data
[5] N. Brodu and D. Lague, “3D terrestrial lidar data classification of
Engineering, vol. 14, no. 5, pp. 1003–1016, 2002.
complex natural scenes using a multi-scale dimensionality criterion:
[26] M. Eitz, J. Hays, and M. Alexa, “How do humans sketch objects,”
Applications in geomorphology,” Isprs Journal of Photogrammetry
International Conference on Computer Graphics and Interactive Tech-
and Remote Sensing, vol. 68, pp. 121–134, 2012.
niques, vol. 31, no. 4, p. 44, 2012.
[6] X. Zhang, X. Le, A. Panotopoulou, E. Whiting, and C. C. Wang,
“Perceptual models of preference in 3D printing direction,” ACM
Transactions on Graphics (TOG), vol. 34, no. 6, p. 215, 2015.

You might also like