My attempt at string art
String art is a technique to draw by weaving a string between pins, obtaining a picture entirely composed of straight lines. Its origins are probably ancient, but a computational approach to produce photorealistic results has been popularized by artist Petros Vrellis in 2016. I have recently stumbled upon a blog post by Possibly Wrong about this topic, and I decided to give it a go myself, before looking at any other implementation....
Piecewise linear activations: Machine Learning meets Tropical Geometry (Part 2)
In the previous post we gave an introduction to Tropical Geometry. We spoke about tropical varieties, why it makes sense to define them the way they are defined, and how their Newton polytopes can be used to deduce information about their combinatorial structure. We now talk about how these tools can be used to get a better understanding of decision boundaries of neural network and how they are influenced by the structure of the network....
Piecewise linear activations: Machine Learning meets Tropical Geometry (Part 1)
Activation functions decide what is to be fired to the following neuron in a neural network depending on the input signal received. Since they generally are the only nonlinear component in a model architecture, they are what truly allows networks to learn complex patterns, as without them network would only approximate linear functions (and most of their structure would be redundant). Although traditionally the sigmoid was the most common choice for an activation function, in modern neural network the default recommendation is to use the Rectified Linear Unit (ReLU) defined as $x \mapsto \max(0,x)$, or a more general Leaky ReLU $x \mapsto \max(ax,x)$, or a even more general Maxout unit....
MeshCNN: a convolutional neural network for meshes
This post is an adaptation of my notes for a presentation I have recently given. All pictures are from the authors’ paper presentation page. Some time ago, while working on a mesh segmentation problem I found a very interesting paper which was presented at SIGGRAPH 2019 called MeshCNN: A Network with an Edge. The main result of the paper is to define convolution and (un)pooling operations on triangular meshes with the goal of allowing CNN techniques while preserving the connectivity information that would be lost if the 3D object was represented for example as a point cloud or with voxelization....
Minkowski sums and the GJK algorithm
The Gilbert-Johnson-Keerthi algorithm is a fast and efficient way to compute a pair of closest point between two convex objects, and - in particular - to find out if they have a common intersection or how far from each other they are. The main idea on which the algorithm is based is simple and beautiful, as it uses the concept of Minkowski sum (difference, in this case) to transform and simplify a problem between two bodies in a problem between a single body and a point....