<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards 3D Neural Style Transfer</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jo Mazeika</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jim Whitehead</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Science Department UC Santa Cruz Santa Cruz</institution>
          ,
          <addr-line>CA 95064</addr-line>
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Neural Style Transfer was first unveiled by (Gatys, Ecker, and Bethge 2015), and since then has produced fantastic results working with 2D images. One logical extension of this field would be to move from 2D images into 3D models, and be able to transfer a notion of 3D style from one model to another. Here, we provide steps towards both understanding what style transfer in a 3D setting would look like, as well as demonstrating our own attempts towards one possible implementation.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Introduction
        <xref ref-type="bibr" rid="ref3">(Gatys, Ecker, and Bethge 2015)</xref>
        introduced a technique for
transferring the style of one image onto another, exploiting
properties of convolutional networks to extract the
information required. Since then, the technique has been refined and
expanded upon, with impressive results. A survey paper of
the field (Jing et al. 2017), containing references up through
March 2018, has over one hundred different papers listed.
Because of this interest, it is natural to wonder where this
technique could be applied to next. Here, we describe our
attempts to apply the techniques underlying style transfer to
the domain of 3D point cloud models.
      </p>
      <p>At its core, 2D style transfer works by optimizing a noise
vector to minimize a function describing its distance from
both the style and content images at different layers within
a neural network. In the original paper, the authors utilize
VGG-19, a network trained to classify images in the
ImageNet data set, and by comparing the</p>
      <p>Once the network is chosen, the system’s designer picks a
particular set of layers of the network, and gets the values of
the input images as well as the output image at each of the
different layers. From there, the distances between those
values are computed and turned into a single loss value, which
is used to compute the gradient by which we transform the
noise image, and we continue the process. Once a specified
number of iterations is completed, the noise vector (which
conveniently is chosen to be a N x M x 3 vector) can be
interpreted as a N x M bitmap and rendered into a image using
standard image libraries.</p>
      <p>To implement this for the 3D case, we first explored what
style transfer in this domain would mean, given that 3D
models carry a lot of information in their positional data. We
chose an existing classification network for point clouds—
an analog of the network chosen for the 2D case—and
explored the different layers to identify which would be the
best to use for style transfer. We additionally show the
results of our experimentation with different 3D models.</p>
      <p>3D style transfer would be useful as a design and ideation
tool — by creating models that embody various styles, and
a generic model, a designer could use a style transfer
system to create versions of the original object in the different
styles. These, while not perfect, would give said designer a
springboard to create finalized versions of these 3D models.
Additionally, having a system like this would also for
interesting manipulation of scanned 3D spaces — since laser
scanners produce point cloud models, being able to perform
style transfer on the results could allow for interesting
bespoke spaces.</p>
      <p>In this paper, we provide the following contributions:</p>
    </sec>
    <sec id="sec-2">
      <title>An analysis of how to represent style in a 3D space</title>
      <p>An implementation of a style transfer system using a
network designed for 3D models
An analysis of our results and what future work will be
required to make a system like this a reality.</p>
      <sec id="sec-2-1">
        <title>Related Work</title>
        <sec id="sec-2-1-1">
          <title>Deep Learning and Point Clouds</title>
          <p>Deep learning systems operate natively over large arrays of
floating point numbers, which makes point clouds a natural
way of encoding 3D models for neural processing — unlike
polygonal models, point clouds exist as a simple list of 3D
points in space. Additionally, several common techniques
for analyzing real world 3D spaces map those spaces into
point clouds, making them an important target to understand
and process.</p>
          <p>
            In our work here, we focused on examining PointNet
            <xref ref-type="bibr" rid="ref11">(Qi
et al. 2016)</xref>
            , a network designed primarily to classify point
clouds into several different object classes. Since its
publication, it has seen a number of follow-up works, including one
extension by the original authors
            <xref ref-type="bibr" rid="ref12">(Qi et al. 2017)</xref>
            as well as
others that extended it beyond preselected 3D models
            <xref ref-type="bibr" rid="ref10 ref19">(Zhou
and Tuzel 2017)</xref>
            .
          </p>
          <p>PointNet is not the only system family for neural analysis
of point clouds, however. It utilizes and benchmarks itself
against the ModelNet dataset (Engelmann et al. 2017) of 40
different classes of point clouds for systems to distinguish
between. ModelNet’s website1 lists over thirty different
systems and their relative accuracy rankings on their benchmark
dataset.</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>3D style systems</title>
          <p>
            While neural style transfer has not been implemented in this
sense, there are a number of other systems that attempt to
transfer the style of one 3D object onto another. For instance,
            <xref ref-type="bibr" rid="ref17 ref7">(Zheng, Cohen-Or, and Mitra 2013; Lun et al. 2016)</xref>
            focus
on handling style by breaking each object apart into
individual components and reassembling them based on their
structural similarity. In contrast,
            <xref ref-type="bibr" rid="ref13">(Ribeiro et al. 2003)</xref>
            looks
at style as a conceptual blend, using an external knowledge
base instead of looking purely at the structural similarity to
build the comparisons.
            <xref ref-type="bibr" rid="ref4">(Hu et al. 2017)</xref>
            focuses on
identifying decorative elements that convey stylistic features across
an array of different objects.
            <xref ref-type="bibr" rid="ref9">(Ma et al. 2014)</xref>
            takes an
analogy approach to style, starting from a set of example
models (one initial model, with one structural variation and one
stylistic variation) and then extrapolating those variations
into a new model. In contrast, (Kalogerakis et al. 2012)
learns a probabilistic model of an object class, allowing it
to generate different models that exist within that space, and
in that way defines a style of model.
          </p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>3D styles</title>
        <p>
          When we look at the results from
          <xref ref-type="bibr" rid="ref3">(Gatys, Ecker, and Bethge
2015)</xref>
          , we can quickly understand what aspects of an image
the algorithm understands as being its style. These aspects
include the color palette, the length and shape of the strokes
used in painting, as well as some parts of the content - an
image generated from van Gogh’s Starry Night retains its
bright stars in various portions of the sky. The other image
the content image - provides most of the underlying structure
and direction of the image itself; the geometry of that image
is preserved and we see that image as ”stylized” in the style
of the other.
        </p>
        <p>However, for 3D models, the question of how to
modify one model to match the style of another is a non-trivial
question, especially given that it’s unclear what a 3D model
is comprised of in general. A 3D model’s geometry could
be constructed of a number of triangles or a point cloud,
to pick two examples. Then, some models feature textures
while others don’t. With all of these differences in how 3D
models are encoded, it is unclear how we would transfer
style between two sufficiently different models.</p>
        <p>
          Furthermore, even if we have two similarly structured
models, we need to figure out how to transfer styles between
the two models. In this paper, our system was implemented
to follow
          <xref ref-type="bibr" rid="ref3">(Gatys, Ecker, and Bethge 2015)</xref>
          fairly directly,
however this is only one way that the style of a 3D model
could be interpreted. Given the nature of 3D models,
making adjustments to their structure - moving a few things here
or there, adjusting the size of a small part of the model, etc.
can have a large impact in how the model is interpreted by an
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>1http://modelnet.cs.princeton.edu</title>
      <p>observer. Additionally, 3D models often have critical,
functional parts that impact how they are perceived—an airplane
without wings could be nearly impossible to identify as an
airplane without some other strong ‘airplane-like’ features.</p>
      <p>Given that our models were point clouds with no texture
information, the only changes we could attempt to make
were modifying the positions of the different points in 3D
space. This limited our possible options for stylistic features
to consider during the transfer process, however we came up
with several different visions of what 3D style transfer could
look like.</p>
      <p>First, we have the conceptually simplest version which we
call exemplar style transfer. In this, the target object is
modified to look like the target object, but purely on a cosmetic
level without interfering with its functionality. For instance,
an umbrella could be blended with a sword by transforming
the handle of the umbrella into the hilt of the sword, or a
glass mug could be molded to look like any number of
existing object. In this way, the target object resembles the style,
but maintains all of its own properties.</p>
      <p>Secondly, we have the converse of the above, which we
call functional part transfer. Here, instead of transferring the
cosmetic features of the style object, we instead transfer the
functional parts of said object. For instance, we could take
an skateboard model and add strings and frets from a guitar
along its body as our way of blending the two objects. Again,
the target object still maintains most of its own identify, but
takes on features of the style object to produce the blend.</p>
      <p>Next, we have mix-in style transfer where the two models
are joined together, creating a model that features pieces of
both attached together. For instance, we could have the blend
of an airplane and an apple where the airplane has a stem
coming out of it, or the apple has wings and the tail of the
airplane.</p>
      <p>Another possibility is the part-blend style transfer where
the parts of one model are made out of similar parts of the
other. In this way, we focus on transferring the local aspects
of style, while keeping the broader model’s structure
fundamentally the same. One example of this would be Lego
models — while the boarder structure of the model is kept,
the local features of the model now must conform to Lego
bricks.</p>
      <p>
        Our final concept for style transfer would be to create an
abstract style definition and apply that directly. This is
probably the most complex approach to implement, as it requires
the system to be able to translate the abstract style
information into the transformations that the model should undergo;
however, this does allow for the most control over what
elements of style are actually transfered onto the new model.
This is most similar to the work on Lego models done in
        <xref ref-type="bibr" rid="ref10 ref19">(Mazeika and Whitehead 2017)</xref>
        .
      </p>
      <p>These are not meant to be conclusive; rather these form a
possibility space of how 3D style transfer could occur. For
the purposes of aligning with the 2D case, we chose to focus
our system on the mix-in style, using the neural networks to
find the relationships between the models and their parts.</p>
      <sec id="sec-3-1">
        <title>Style Transfer Implementation</title>
        <p>For our system, we utilized PointNet, an existing network
designed to classify 3D models into different categories. In
the original style transfer paper, the authors chose VGG-19,
a network for classifying 2D images, and so we chose an
analogous network for our system. PointNet operates in two
different modes — one that classifies point clouds into
different classes, and one that learns to segment point cloud,
labeling each point of a cloud with a domain specific label
(ie the wings versus the body of an airplane, or the wheels
versus the handlebars of a motorcycle). PointNet’s
classification network is structurally similar to VGG-19, comprised
of multiple convolutional layers, but it also includes two
particular layers: one that learns a three-by-three matrix product
(intended to account for rotations in the model) and one that
is intended to learn a permutation function (as point cloud
data is invariant to the input order).</p>
        <p>The segmentation network in PointNet uses the
classification network as its basis, and adds on an extra four layers for
producing the output labels. This version of PointNet has
a major drawback for our purposes: it must be trained on
each individual class of model, rather than on all classes at
once. While that means that we can’t use a trained
segmentation network for general style transfer, it makes sense that
we could use it as a tool for modeling individual classes of
objects.</p>
        <p>Once we have a fully trained model, we then need to pick
the set of layers to consider for computing the loss
function. When a model is evaluated by the network, it considers
more abstract representations of the model at each of the
subsequent layers. In the original style transfer system, the
authors considered earlier layers for the structure and later
layers for the style of the various images. Here, we use a
similar metric for picking the layers to use for our system,
and show the results of exploring this space later.</p>
        <sec id="sec-3-1-1">
          <title>Loss Functions</title>
          <p>Once the layers have been chosen, it then falls to pick a loss
function to evaluate how far the generated image is from the
inputs on those particular layers. To do this, the system uses
the square-mean distance between the layers for the content
image and the sum of the difference between the Gram
Matrices of the style image and the output.</p>
          <p>For our 3D version, we investigated using these loss
functions, but also other ones found in our exploration of
metrics designed for Point Clouds. To this end, we included the
Hausdorff distance and the Chamfer distance as metrics to
consider for our loss functions. The Hausdorff distance is
defined in our system as
dH (X; Y ) = maxfmax min d(x; y); max min d(x; y)g
x2X y2Y y2Y x2X
where d(x; y) is the euclidean distance between the vectors
x and y. Similar, we define the Chamfer distance in our
system as
dC (X; Y ) = X min d(x; y) + X min d(x; y)
y2Y x2X
x2X y2Y
using the notation from above. In English, the Hausdorff
distance looks at the minimum distance from each vector to any
vector in the other set and returns the overall maximum of
these values, while the Chamfer distance givens the sum of
these minimal distances instead.</p>
          <p>Both of these metrics look for outliers within the space —
the Hausdorff distance is maximized when a single vector
is far away from ones in the other set, while Chamfer looks
more at the average distance for all of the vectors in both
sets. Importantly, they are also both differentiable, which is
a strict requirement for our loss functions.</p>
          <p>Finally, one of the key components of any system that
hopes to take multiple components into a single value is
weighting. Since different functions over different layers can
produce values on wildly different orders of magnitude,
normalizing the values to both balance the different components
against each other, and to provide some bias towards either
the structure or the style.</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Implementation</title>
          <p>While PointNet is publicly published in Tensorflow2, we
chose to implement our system in Keras instead, due to</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>2https://github.com/charlesq34/pointnet</title>
      <p>
        familiarity. We used an existing Keras implementation3 as
a reference for our implementation, and we used the style
transfer code provided in
        <xref ref-type="bibr" rid="ref1">(Chollet 2017)</xref>
        as the starting point
and reference for our implementation. Our
reimplementation required us to train PointNet ourselves, and we did so
using the ModelNet data set provided by
        <xref ref-type="bibr" rid="ref15">(Wu et al. 2015)</xref>
        .
For the labeled segmentation data, we used the data set
provided by
        <xref ref-type="bibr" rid="ref16">(Yi et al. 2016)</xref>
        . Our overall accuracy results for
training were comparable with the original paper.
      </p>
      <sec id="sec-4-1">
        <title>Results</title>
        <sec id="sec-4-1-1">
          <title>Exploration of Layers and Loss Functions</title>
          <p>
            As we began our exploration of style transfer for 3D models,
we first began by optimizing our input against a single layer
to see how the different layers respond to different loss
functions, hoping to identify layers that correspond to stylistic or
structural features to optimize for. Our intuition comes from
the 2D example, where we can extrapolate what the
individual layers have learned by optimizing for them directly, as
shown in
            <xref ref-type="bibr" rid="ref14">(Rupprecht 2017)</xref>
            .
          </p>
          <p>We considered all of the convolutional layers of the
classification model of PointNet and used a fixed random noise
input with the Squared Sum, Gram Matrix, Hausdorff and
Chamfer loss functions.</p>
          <p>However, most of our layer-function pairs lead to fuzzy
noise-spheres, as seen in Figure 2. On the other hand, we
did have a few pairs that led to interesting results. Some of
the lower layers simply produced a twisted version of the
original model (see Figure 3). Here, the model is vastly
deformed and rotated upside down, which we took as a
possi</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>3https://github.com/garyloveavocado/pointnet-keras</title>
      <p>ble candidate to consider. And, finally, a few layer function
pairs simply reproduced the initial model instead, with some
small variations due to the fuzziness of the optimization
process.</p>
      <p>This was disappointing to see; while we could reproduce
the initial model in the very early layers, we had hoped to
see the noise clouds showing abstract features of the
particular model class. This may have resulted from our choice
of network — since PointNet attempts to learn how
models are structured, regardless of how the points are arranged
and permuted, it could be the case that the abstract features
are being represented in a way that in imperceptible to
humans. In the 2D case, we’re able to see patterns and
variations between different images, as those appear as variations
in color, but the 3D case solely considers the positions of the
different points, meaning that there might be relations that
are not actually the ones we want to express being learned.</p>
      <sec id="sec-5-1">
        <title>Classification Model Results</title>
        <p>With our results from the previous exploratory work, we
attempted to blend models with one of the layer-loss pairs that
simply reproduced the initial model; specifically the
Chamfer loss on the third convolutional layer of the classification
model. One of the key features of style transfer is balancing
the different loss values against each other — most of the
2D systems feature a weighing system in which the
different sides of the function (the similarity to the style and the
similarity to the initial content) are balanced against each
other to get the desired blend.</p>
        <p>To this end, we took two models, and blended them at
different ratios between the different sides — we fixed the
content weight at 1, and scaled the style weights through
different powers of 2. We used the third convolutional layer
with Chamfer loss for the content and Gram loss for the style
as our basis for our loss function. While the Chamfer loss
reproduced the original model at that layer, the Gram loss
created a twisted version of the model, as seen in Figure
3. Here, we hypothesized that the twistedness was due to
having a slightly more abstract understanding of the original,
and that we would see this conveyed in the style transfer
process.</p>
        <p>The results of blending an airplane model and a model of
a woman in a dress are shown in Figure 6. At the extreme
values (215 and 2 4), our system effectively optimizes for
one model or the other, as the loss value is dominated by
the output’s distance from that model. In the middle, we see
blends in of the two models; however, this occurs merely on
the level of the points’ actual distances from each other —
no abstract qualities are carried between the two models.</p>
        <p>One of the clear qualities here is that the blends are
contained in, effectively, the intersection in space between the
two models. This suggests that one of the big issues here is
orientation, since the airplane lays flat while the person is
standing upright. Additionally, using other layers turns the
output into a fuzzball, so this proved to a dead end.</p>
      </sec>
      <sec id="sec-5-2">
        <title>Segmentation Model Results</title>
        <p>Finally, we attempted to utilize the segmentation version of
PointNet to transfer the underlying model class’s style onto
an unrelated model. To do so, we first trained the network to
perform segmentation on airplanes. We then took a
motorcycle model (seen in Figure 4) and assigned each one of its
labels a particular label from the airplane label set (i.e., the
body of the motorcycle corresponded with the body of the
airplane; the wheels corresponded with the engines, etc.).
From here, we built our loss function to optimize for the
original structure of the motorcycle against each point
receiving its correct label under the classification system. The
intent here was to create a new motorcycle such that each
one of its components was interpreted as part of an airplane.</p>
        <p>Unfortunately, again, the results were suboptimal. We
again tested various weights of style and content, as seen in
Figure 5, but optimizing for style merely leads to the model
expanding and not, as hoped, being reshaped.</p>
        <sec id="sec-5-2-1">
          <title>Discussion</title>
          <p>Since our experiments produced negative results, the
question then becomes ”why?” — what led to our results, and
what can we learn from these experiments? Fundamentally,
there are two high-level cases for these failures: either the
system had some errors of design, or there are theoretic
factors that prevent this approach from working at all.</p>
          <p>Fundamentally, style transfer in the 2D domain relies on
being able to detect the edges (for the content image) and
the color palette (for the style image) of an image in a way
that can be optimized for. Doing so requires the system to
examine relationships between spatially related pixels, and
then shift a noise vector until it grows closer and closer to
these features. This works well for images, since the images
are represented as a 2D spatial matrix (with a third
dimension representing color values). On the other hand, the point
clouds are merely a list of different points in space. While
PointNet itself attempts to compensate for the input order
(by learning a reordering function about halfway through the
system), this may cause the issues with the loss function.</p>
          <p>Additionally, one of the common stylistic features of the
2D style transfer images (independent of the style image
itself) is a certain amount of fuzziness in the output—edges
often have a certain amount of fuzziness to them, a result of
the optimization process. But, because of the overall shape
of the output and the color patches included, humans are still
able to recognize the contents of the image without much
issue. However, in our 3D case there is no color channel that
we can rely on for context. As such, the only information we
have to work with in the system are the locations of the
different points. Because of this, the results are highly sensitive
to points being moved around, which means that the
fuzziness that results from the style transfer can lead to results
that are impossible for humans to interpret correctly.</p>
          <p>For neural style transfer to be possible for 3D point
clouds, several adjustments would need to be made. First
of all, a different neural network would likely need to be
considered. One of the key aspects of PointNet is that the
network tries to learn a permutation function that allows it
to detect the models correctly regardless of the order their
points are in. This factor may be part of the issue we have in
producing visible results, and other networks on point clouds
may feature clearer results.</p>
          <p>Secondly, a different set of loss functions would need to
be considered. While we tried to include relevant loss
functions to point clouds in general, it might be the case that
others exist that would work better with the particular
network or point clouds in general, and other functions would
have produced intelligible results. We chose our functions
based on metrics that were used previously in style transfer
and known functions for examining point clouds, and ran an
exhaustive search over.</p>
          <p>Finally, in this work, we only considered one layer at a
time — most of the existing work on style transfer looks at
multiple layers at once and averages the loss between all of
them. This provides more consistent results and the
generated images benefit from these multilayer views. However,
in the 2D case, it is clear what sorts of features are captured
by the different layers of VGG-19; our attempts to
visualize the PointNet network were inconclusive. As we ran an
exhaustive set of experiments over the layer-loss pairs, it
is unlikely that we missed any layer that would drastically
change our results, and reduplicating layers is the equivalent
of doubling the value of the weight.</p>
          <p>However, the deeper issue remains of what style even
means for point clouds. When we look at style transfer for
images, we see clearly what aspects of style are picked up by
the system—colors, line curviness, patterns, etc—and how
those are applied to the content image. With 3D style, it is
unclear what features a neural network would pick up on—
would it key into the shapes of the different parts, the
different relative positions of things, the orientation of the model
itself, or the patterns of points within the model itself?</p>
        </sec>
        <sec id="sec-5-2-2">
          <title>Conclusions and Future Work</title>
          <p>In this paper, we attempted to apply the neural style transfer
techniques that have seen so much success in the domain of
2D images to the domain of 3D point clouds. Despite this,
our system was unable to perform style transfer as is seen
in the 2D style transfer systems. While negative results do
not necessarily provide conclusive evidence, our exhaustive
exploration provides a strong argument against this being
possible.</p>
          <p>
            However, there is room to explore style transfer within
point cloud models. One idea would be to use a
segmentation model (such as PointNet) to design a parts-based style
transfer system, similar to
            <xref ref-type="bibr" rid="ref7">(Lun et al. 2016)</xref>
            . Additionally,
exploring other neural networks and other ways of encoding
style in a 3D space could provide interesting results as well.
          </p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Chollet</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <year>2017</year>
          .
          <article-title>Deep learning with python</article-title>
          .
          <source>Manning Publications Co.</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2017.
          <article-title>Exploring spatial context for 3d semantic segmentation of point clouds</article-title>
          .
          <source>In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition</source>
          ,
          <fpage>716</fpage>
          -
          <lpage>724</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Gatys</surname>
            ,
            <given-names>L. A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Ecker</surname>
            ,
            <given-names>A. S.</given-names>
          </string-name>
          ; and Bethge,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <year>2015</year>
          .
          <article-title>A neural algorithm of artistic style</article-title>
          .
          <source>arXiv preprint arXiv:1508</source>
          .
          <fpage>06576</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kaick</surname>
            ,
            <given-names>O. V.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ; Averkiou,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Cohen-Or</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          ; and Zhang,
          <string-name>
            <surname>H.</surname>
          </string-name>
          <year>2017</year>
          .
          <article-title>Co-locating styledefining elements on 3d shapes</article-title>
          .
          <source>ACM Transactions on Graphics (TOG) 36</source>
          (
          <issue>3</issue>
          ):
          <fpage>33</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          2017.
          <article-title>Neural style transfer: A review</article-title>
          .
          <source>arXiv preprint arXiv:1705</source>
          .
          <fpage>04058</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          2012.
          <article-title>A probabilistic model for component-based shape synthesis</article-title>
          .
          <source>ACM Transactions on Graphics (TOG) 31</source>
          (
          <issue>4</issue>
          ):
          <fpage>55</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Lun</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kalogerakis</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Sheffer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <article-title>Functionality preserving shape style transfer</article-title>
          .
          <source>ACM Transactions on Graphics (TOG) 35</source>
          (
          <issue>6</issue>
          ):
          <fpage>209</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Ma</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Sheffer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kalogerakis</surname>
          </string-name>
          , E.; and
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <year>2014</year>
          .
          <article-title>Analogy-driven 3d style transfer</article-title>
          .
          <source>In Computer Graphics Forum</source>
          , volume
          <volume>33</volume>
          ,
          <fpage>175</fpage>
          -
          <lpage>184</lpage>
          . Wiley Online Library.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Mazeika</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Whitehead</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2017</year>
          .
          <article-title>Solving for bespoke game assets: Applying style to 3d generative artifacts</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Qi</surname>
            ,
            <given-names>C. R.</given-names>
          </string-name>
          ; Su,
          <string-name>
            <given-names>H.</given-names>
            ;
            <surname>Mo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ; and
            <surname>Guibas</surname>
          </string-name>
          ,
          <string-name>
            <surname>L. J.</surname>
          </string-name>
          <year>2016</year>
          .
          <article-title>Pointnet: Deep learning on point sets for 3d classification and segmentation</article-title>
          .
          <source>arXiv preprint arXiv:1612</source>
          .
          <fpage>00593</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Qi</surname>
            ,
            <given-names>C. R.</given-names>
          </string-name>
          ; Yi,
          <string-name>
            <given-names>L.</given-names>
            ;
            <surname>Su</surname>
          </string-name>
          , H.; and
          <string-name>
            <surname>Guibas</surname>
            ,
            <given-names>L. J.</given-names>
          </string-name>
          <year>2017</year>
          .
          <article-title>Pointnet++: Deep hierarchical feature learning on point sets in a metric space</article-title>
          .
          <source>arXiv preprint arXiv:1706</source>
          .
          <fpage>02413</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Ribeiro</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Pereira</surname>
            ,
            <given-names>F. C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Marques</surname>
            ,
            <given-names>B. F.</given-names>
          </string-name>
          ; Leita˜o,
          <string-name>
            <given-names>B.</given-names>
            ;
            <surname>Cardoso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ;
            <surname>Polo</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          ; and de Marrocos, P.
          <year>2003</year>
          .
          <article-title>A model for creativity in creature generation</article-title>
          .
          <source>In GAME-ON</source>
          ,
          <year>175</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Rupprecht</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <year>2017</year>
          .
          <article-title>Understanding style transfer</article-title>
          . https: //ptrrupprecht.wordpress.com/
          <year>2017</year>
          /12/ 05/understanding-style-transfer/.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Song</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Khosla</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Zhang</surname>
          </string-name>
          , L.;
          <string-name>
            <surname>Tang</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Xiao</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2015</year>
          .
          <article-title>3d shapenets: A deep representation for volumetric shapes</article-title>
          .
          <source>In Proceedings of the IEEE conference on computer vision and pattern recognition</source>
          ,
          <year>1912</year>
          -
          <fpage>1920</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Yi</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>V. G.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Ceylan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Shen</surname>
            ,
            <given-names>I.-C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Yan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Su</surname>
            , H.; Lu,
            <given-names>C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Sheffer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Guibas</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <year>2016</year>
          .
          <article-title>A scalable active framework for region annotation in 3d shape collections</article-title>
          .
          <source>SIGGRAPH Asia.</source>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Zheng</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Cohen-Or</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ; and
          <string-name>
            <surname>Mitra</surname>
            ,
            <given-names>N. J.</given-names>
          </string-name>
          <year>2013</year>
          .
          <article-title>Smart variations: Functional substructures for part compatibility</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <source>In Computer Graphics Forum</source>
          , volume
          <volume>32</volume>
          ,
          <fpage>195</fpage>
          -
          <lpage>204</lpage>
          . Wiley Online Library.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Tuzel</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <year>2017</year>
          .
          <article-title>Voxelnet: End-to-end learning for point cloud based 3d object detection</article-title>
          .
          <source>arXiv preprint arXiv:1711</source>
          .
          <fpage>06396</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>