Course Overview and Instructor Introduction
Justin Solomon welcomes students to the 6838 course on shape analysis, emphasizing the interdisciplinary nature of the subject and the importance of strong coding skills and mathematical fluency in linear algebra and multivariable calculus. The course aims to explore geometric data analysis from both algorithmic and theoretical perspectives.
Prerequisites and Course Philosophy
- Strong programming skills in Julia, Python, or Matlab are essential.
- Mathematical background in linear algebra and multivariable calculus is required.
- Differential geometry is introduced as part of the course, not assumed as prior knowledge.
- Machine learning concepts will be integrated, especially in later parts.
- The course encourages interactive learning with challenging assignments and support from instructors.
What is Geometric Data Analysis?
- Analyzing geometric data: Algorithms for 3D shapes in computer vision, graphics, robotics, and autonomous driving.
- Geometric approaches to data analysis: Viewing high-dimensional data sets as geometric objects to apply machine learning techniques. The course bridges these two perspectives, applying mathematical ideas to both concrete and abstract geometric problems.
Theoretical Toolbox in Geometry
From Euclidean to Differential Geometry
- Euclidean geometry covers basic shapes like triangles and circles, focusing on proofs. For a deeper understanding of triangles, refer to the Syllabus Overview for Class 10 Mathematics: Triangle Properties and Similarity.
- Real-world data is often noisy, incomplete, and high-dimensional, requiring advanced geometry.
- Differential geometry applies calculus to study smooth manifolds, shapes that locally resemble Euclidean space but can be globally curved.
Key Concepts in Differential Geometry
- Manifolds: Spaces that locally look flat but can have complex global structure.
- Curvature: Gaussian and mean curvature measure how surfaces bend.
- Geodesic distances: Shortest paths constrained to surfaces, important for navigation and shape analysis.
- Vector fields and flows: Describe dynamics on surfaces, such as fluid flow.
- Spectral geometry: Studies shapes through vibration frequencies, linking physical intuition to mathematical properties.
Modern Extensions
- Riemannian geometry: Generalizes geometry by allowing local variations in distance and angle measurements, crucial for understanding curved spaces like the Earth.
- Geometric mechanics and Lie groups: Study constrained physical systems (e.g., pendulums) using geometric and algebraic structures.
- Metric geometry: Deals with spaces where only distances are known, useful for noisy or discrete data.
- Optimal transport: Lifts geometry to probability distributions, enabling analysis of uncertain or fuzzy data.
- Topology: Focuses on connectivity rather than distances, with applications in data analysis and vector fields.
Computational Toolbox
Challenges in Representing Shapes
- Shapes can be represented as triangle meshes, point clouds, graphs, or other structures.
- Discrete vs. smooth perspectives: Triangle meshes are piecewise flat but approximate smooth surfaces.
- Discrete differential geometry develops theories that preserve geometric structures on discrete domains.
Structure Preservation and Discretization
- Curvature on discrete curves can be defined via turning angles at vertices.
- The turning number theorem links integrated curvature to topological invariants.
- Trade-offs exist between convergence (approximating smooth theory) and structure preservation (exact discrete analogs).
- No single discrete Laplace operator satisfies all smooth properties, leading to diverse approaches.
Algorithms and Numerical Methods
- Numerical partial differential equations (PDEs) adapted for discrete domains.
- Large-scale optimization with complex constraints, e.g., surface parameterization and quadrangulation.
- Linear algebra and matrix factorization are foundational tools. For a comprehensive understanding of data structures that support these concepts, see the Introduction to Data Structures and Algorithms.
- Advanced algebraic structures like representation theory appear in modern applications.
Applications of Shape Analysis
- Computer graphics: Texture transfer, 3D modeling, and retrieval.
- Computer vision: 3D reconstruction, navigation, segmentation.
- Medical imaging: Detecting anomalies, analyzing organ shapes, and population studies.
- Manufacturing and fabrication: Defect detection, topology optimization, 3D printing (e.g., Invisalign retainers).
- Architecture: Designing and tiling complex curved surfaces with manufacturability constraints.
- Animation and simulation: Character pose spaces, inverse kinematics, physical simulations of fluids and cloth.
- Machine learning and statistics: Semi-supervised learning on graphs, curved PCA, embedding high-dimensional data.
Conclusion and Next Steps
The lecture concludes by emphasizing the exciting interdisciplinary opportunities in shape analysis and applied geometry. The next lecture will focus on mathematical preliminaries, including linear algebra and notation specific to geometric computations, preparing students for deeper engagement with the course material. For those interested in further exploring geometric concepts, consider reviewing the Understanding Curvilinear Coordinates: A Comprehensive Guide and the Understanding Rectangular and Polar Coordinates for Advanced Function Analysis.
Hello, everybody, and welcome
to the first lecture of 6838. My name is Justin
Solomon, and I'll
be your instructor for the
semester in our course, which is covering topics
in shape analysis. To give a tiny amount
of background--
again, there's my email. You can also take a look
at some of the research that my students are doing by
taking a look at this website,
gdp.csail.mit.edu. Our TA this semester,
David Palmer, is also a student in
my research group,
so he's a very experienced
member of the geometry processing research community. In today's video, I'm not going
to cover administrative details
for our course-- how grading is going
to be done and so on. But we'll do that
separately in a Zoom call.
There's no reason to
put that on YouTube. So for now, what
I'm going to tell you about is
essentially what we're
going to be covering for
this semester in 6838. My goal here is to get you
excited about our course and to give you some idea
of the kind of material
that we'll be covering by
the end of the semester. So just for a little
bit of background. The prerequisites that we're
going to need for this course
are pretty loose. I'm not going to check
everybody's transcripts and make sure that
they fit into 6838.
The main two things
that we need here are pretty strong coding skill. Our assignments
are probably going
to be put out in Julia,
Python, or Matlab. Although your final project,
I don't really care. You can do whatever programming
language you prefer.
But the main skill
that you're going to need in 6838 math
fluency in linear algebra and multivariable calculus.
Now in this course, we're
going to use a lot of ideas from differential geometry,
but we're not going to require it as background.
In fact, I think one
of the really fun ways to learn differential
geometry is in these kinds of
applied problems
that we're going to study. There are many
different other areas that are not required but
won't hurt as some background.
Many of you are students that
took my computer graphics class last semester. That will give you some idea of
the basic types of mathematics
that we do in 6838, as well
as some of the applications that are really critical
in this research field. Many students in our class
come from the Math Department.
If you're taking differential
geometry or numerical analysis, that's great. But again, it's not required.
And then finally,
machine learning, especially in the last
part of our course, is going to be relevant
to motivate some
of the applications and also
gives you a lot of opportunity to practice matrix calculus,
computing lots of gradients of functions, and so on.
The basic philosophy here-- the graduate classes
that we teach at MIT are faculty that are really
excited about their research
field, and we want to
introduce it to all of you. So David and I want you
to take this course. Now what that means--
our assignments are
designed to be interesting. We're putting out new
assignments this year, especially in our new
online environment.
And some of them might be
particularly challenging. And so my hope is that
you won't get discouraged, but rather will reach out to
your instructors for help,
right. We're trying to make this an
interactive experience that covers lots of
interesting material
in the applied geometry regime. So without further ado, let's
get started and give you a bit of a summary
of the high level
philosophies of the course and
essentially some of the content that we're going to be covering. So we can think of
this course as one
that is covering topics in
geometric data analysis. Now, this is a
purposefully vague phrase. And I think that you can read
it in two different ways, which
is what I've drawn
on this slide here. On the one hand, we can think
of geometric data analysis as algorithms for
analyzing geometric data.
Right, so oftentimes
in computer science, we encounter shapes in
many of the applications that we care about, right.
For example, in
three-dimensional computer vision, computer graphics,
autonomous driving, robotics-- all of these are
different research fields where
basically we're trying
to navigate, understand, and manipulate a
three-dimensional world. On the other hand,
we're also going
to study geometric
approaches to data analysis. Right, it's data analysis
using geometric techniques. So many techniques in high
dimensional machine learning
can be understood as thinking
of a data set or a probability distribution as some geometric
object that's embedded in a high dimensional space.
And essentially, what
we're going to find is that items one
and two on our list here have a lot
of commonalities.
So one of the really fun things
that we can do in this course is derive a mathematical idea
or geometric construction and then show you guys
how it's relevant,
both to geometric data, like
autonomous driving, robotics applications, as
well as more abstract applications in high
dimensional geometry.
And we're going to go back
and forth between the two throughout 6838. So I thought for the rest
of today's lecture, what
I would do is give you all a
very, very high level picture of what the advanced
geometry world looks like from my perspective
as well as some
of the computational
toolbox that we're going to be using in this course. So that's our
basic outline here,
is to give you a
sweeping and extremely biased, toward my perspective,
overview of applied geometry. We'll start with some of
the theoretical toolbox that
are available to us from
our colleagues in the Math Department. We'll talk about some of
the computational toolbox,
like the algorithms that we tend
to use in this research field. Then we'll conclude with
some of the application areas that are particularly
exciting and useful
in this domain. Now, today's lecture is
mostly a picture book. I'm just going to show you some
really cool ideas and pictures
from geometry. And then starting
in our next lecture, we're going to dive right
into the mathematical content.
So today's lecture will
be pretty approachable. The next one may scare you away. But I hope not.
I hope that everybody
sticks with it. So let's get started
here and talk about the theoretical
toolbox in geometry.
Now probably most people
that take 6838 already have taken a geometry
course in their life-- probably in high school, maybe
your first or second year.
And usually a high
school geometry course covers what we would
call Euclidean geometry. Right, in a Euclidean
geometry course,
we're studying
Euclid's elements. Right, Euclid was a pretty
famous geometry researcher from a few millennia,
century or something ago.
And Euclidean geometry
is mostly an excuse to teach high school math
students how to write proofs. And so the actual shapes that
we see in Euclidean geometry
are pretty darn straightforward. Right, if you remember,
you spent a lot of time worrying about drawing
circles and straight lines,
line segments, and triangles. And that's basically it, right. And the beautiful and
mildly terrifying thing
about Euclid's elements is that
just with these basic shapes, like right triangles
and circles, we already can really
struggle and prove
really difficult non-trivial
things about geometry using a nice, formal
system of calculus. Or not even calculus really,
just compass, straight edge,
and simple geometric
constructions, and so on. But here's the thing. In computer science,
we're not worried
about a composite
or straight edge, we're worried about data
that looks like this, right. So this is a point cloud that
was collected, I believe,
using a lighter scanner. The three-dimensional scene. You can see that there's
complicated structure.
There's noise. It's incomplete. And most importantly,
from Euclid's perspective,
the shapes here are
not triangles, right. There's all kinds of crazy
things going on in this scene. And in fact, all of the pictures
that we're drawing so far
are two and three dimensional. But the reality is that
oftentimes, our geometry is totally abstract.
Here's the famous
MNIST digit data set. Right, these are a bunch
of handwritten digits on people's computer.
And these are some
low dimensional subset of a very high dimensional
space of possible images that you could draw
on the computer.
And so the questions that
we're going to be answering are, how do these basic
ideas of Euclidean geometry apply to these much more high
dimensional, noisy, incomplete,
challenging problems? Now if we trace
forward a little bit in the history of mathematics,
whereas we started
with Euclidean geometry
and these basic elements, pretty soon
mathematicians realized that that wasn't sufficient.
And so we started developing
more and more complicated theories of geometry
that could handle more and more complicated shapes.
So one of the big
major developments in geometry moving forward
from Euclidean geometry, jumping forward many
centuries, I believe,
is the development of an area
called differential geometry. Now differential
geometry is all about how to apply tools from calculus
to geometry problems.
And I believe
historically, it actually appeared pretty shortly after
the development of calculus. It was one of the
major applications
in the mathematical domain. Incidentally, here
on this slide, I'm showing you pictures
from a really famous series
of, I guess, five
textbooks in differential geometry by Spivak. This is a comprehensive
introduction
to differential geometry. I certainly have never read
all five of these books, but I encourage
all of you guys to.
They're really beautiful
textbooks, both mathematically, and actually the covers
are really funny. They're from the '60s or '70s.
And they have this
whole series of cartoons with the plot ending
with the marriage, I believe, of [INAUDIBLE].
Anyway, it's a fun read. And in fact, when you
read the introduction to these textbooks,
Spivak talks about how
he set out to write the great
American differential geometry text. And I think he succeeded here.
In any event,
differential geometry is all about the study of
a particular object called a smooth manifold.
And basically, a manifold is
differential geometry's term for shape, right. So a manifold is an object,
like what I am showing you
on this slide here. And it satisfies
a few properties. Essentially, a
manifold you can think
of as some space where,
if I take a magnifying glass to that space, I get
really, really close up to it, it looks like
Euclidean space Rn.
Right, so, for
example, if you look at this double torus
on this slide here, the double torus
is not Euclidean.
It's not flat. It's some weird curved object. But if I get really, really
close to that double torus,
I can't see that. Right, if I'm just an ant
crawling along the surface, to me, it just looks
like this infinite space
of just vast flatness. And that's what a
manifold is locally. But then globally, these
little local flat areas
can be curved ever so slightly
to form an interesting object like a surface, like what
we see on the slide here. So in this course,
we're going to define
what a smooth manifold is. We're mostly going to be
worried about manifolds that are embedded in Euclidean space.
So here, the
manifold that you see is sitting in
three-dimensional space. It's a two-dimensional
slice of 3D.
So here, n-- rather, k would
equal 2, and n would equal 3. There are more abstract
notions of manifold, where we get rid
of the requirement
that it's sitting inside of
some higher dimensional space. And we'll talk about
that a little bit later on in this course when we
talk about Riemannian geometry
and some of the applications
in machine learning and manifold optimization. But essentially, this
idea of a manifold
was extremely powerful, and it
enabled differential geometers to develop a huge toolbox
of different computations, measurements about surfaces,
and so on, whose job was
to capture both locally
and globally what a geometry of a
surface should be. So here are some of
the things that we
were able to derive in
the theory of differential geometry. First of all, we can compute
notions of curvature.
Now most of the shapes
in Euclidean geometry are basically flat, right. They're either
embedded in a plane,
they're straight
lines, and so on. In differential
geometry, we're now worried about curved
objects, and we
want to come up with different
measurements in bendiness for that curved object. Here, I'm showing you two,
which are specifically
for two-dimensional
surfaces embedded in three-- although I
guess you can get rid of the embedded part.
And these are called
Gaussian and mean curvature. And we're going to go
into extreme detail in this course on how to derive
Gauss and mean curvature,
how to manipulate them,
and how to approximate them computationally, because
they're extremely useful for understanding
how people are modeling
3D surfaces on their computers. So, for example,
people that are making 3D models of cars in
the automobile industry
often use Gauss and
mean curvature as ways to understand how smooth
or nice the shape of a car is before you manufacture it.
Right, so these
kinds of computations happen a lot in
computer aided design. The differential
geometry toolbox
also gives us some way to talk
about distances other than just simple Euclidean distance. So in this course, we're going
to talk a lot about an idea
called geodesic distances. So let's say that
I'm an ant crawling along the surface of the
bunny that we see here in 3D.
Then essentially, there's
two notions of distance. Right, one of them
allows you to cut through three-dimensional space.
So, for example, if I were to
go from the ear of the bunny down to his back, I
could just do that by cutting through the
white space on my slide
and drawing a straight line. But if I'm an ant crawling
along the surface of the bunny, I don't have that option.
Right, I have to crawl
along the surface. So now, that it has
to start on the ear, crawl down to his head,
and then onto his back.
So that notion of distance, this
distance along a curved space, is called geodetic distance. And it's a really
critical construction,
both for 3D surfaces, as well
as higher dimensional spaces-- any time your data
essentially isn't embedded in some flat domain.
So we're going to talk about
forward and inverse distance problems in this class. So a forward distance
would be like,
given the 3D model of the
bunny that you see on the slide here and two points, compute
the distance from point A to point B constrained to
move along the surface.
On the other hand, sometimes
we have inverse problems where we're given
a bunch of points and the distances between
them, and our task
is to reconstruct the
piece of geometry. This happens a lot in
data visualization, where maybe I have a
bunch of data points
where people tell me which ones
are similar to one another, and now my task
is to reconstruct an embedding of my data that
represents those relationships
that I put on my computer. But differential
geometry actually still tells us even more than
just distances and curvature.
For example, one of the
really powerful ideas in differential geometry
involves flows and vector fields.
So on surfaces, we
can put little hairs on a surface that are tangent
to the surface at every point. So, for example,
if I'm describing
the flow of a fluid
along a surface, then maybe the velocity
would be a vector field. Then part of the theory
of differential geometry
actually tells us how to
understand these vector fields and their dynamics. In fact, there are all kinds
of intricate links between
the structure of vector
fields-- for example, singular points that
they circulate around-- and the geometry of
the underlying domain.
So for example, the
vector fields that are possible to
draw on 3D space, like what you might see
with fluid sloshing around
in a big bucket of water, are
quite different from the vector fields that you might
be able to observe on different
two-dimensional surfaces.
For example, tracking
wine as it drips down the side of a wine glass. So we're going to
talk about some
of the big construction
in vector field on surfaces both
in the smooth case as well as how to discretize it
on triangle mesh domains, which
is a really popular
idea, especially in the computer graphics world. In fact, what we're
going to see is
that we can even come up with
structure preserving methods that can handle the
theory of vector fields on a discrete domain,
which is pretty exciting.
Another big idea from the
differential geometry toolbox is the construction of
partial differential equations and differential operators.
So there's this really cool
idea in an area of mathematics in differential geometry--
this came even later than some of the ideas that I'm
already showing you--
where essentially you can
learn a lot about a shape by hitting it with a hammer. So if I take that bunny or this
bus that you see on the slide
here and I give it
a delicate tap-- not enough to break it,
but just to hear the sound that it makes when I tap--
essentially what I observe is
a bunch of different vibration frequencies. Right, we all know
this intuitively.
If I knock on the table
that's right in front of me, even if I'm looking
away, I can probably tell that it's a piece of wood.
Maybe I know something about how
thin or thick it is, and so on. This basic intuition led
people in differential geometry to ask the question, how much
can I learn about geometry
by doing physical calculation? And the really critical
one here was an idea called spectral geometry,
which is essentially saying,
what can I learn about a shape
by observing its vibration patterns and
vibration frequencies? In fact, there was an
open mathematical problem
for a surprisingly
long time given the solution of
the problem, which is a kind of simple
thing, which was,
can I come up with two
isospectral shapes? Meaning, can I
make two drumheads, where if I hit
those two drumheads
and I don't get to
look at the drum, I just get to hear the
sound that it makes, can I make two drums that
always sound the same
but have two different shapes? And for a long time, we
didn't know the answer. Which is really surprising.
Right, I mean, if
you think about it, vibration frequencies
are somehow a one-dimensional signal, right.
It's just a list of hertz. But a shape is maybe a two,
three dimensional object. Now the answer is,
unfortunately, no.
Yes, no-- whatever. The answer is that there do
exist isospectral shapes. But they're extremely rare.
They're hard to construct. And the idea of using
differential operators-- essentially like
the derivatives that
show up in the equations that
govern the motion of vibration, heat diffusion, and
so on, can tell you a ton about a piece of geometry.
So these are just a few
of the really cool tools in the differential
geometry toolbox. Notice, I haven't told you how
to use them computationally.
But these are all of
the really big ideas that have existed in mathematics
for centuries, in some cases. Now the one that
we're looking at here
turns out to be a lot more
recent, but particularly important in the applied domain. So if we zoom forward
another 100 years or so,
then we start reaching some of
the even more modern theories of geometry. And we're going to touch
on these in this course.
So for example, one of the
big ideas in advanced geometry is something called
Riemannian geometry. Now here's a bit of a
philosophical question.
Take a look at the map that I'm
showing you on this slide here. In some sense, this map has
two different geometries associated to it, right.
Now probably, most
people in 6838 would agree with me that
the Earth is a sphere. Not going to hold that
debate in this course.
But is the figure that I'm
showing you on this slide here, is that a sphere? No, it's a rectangle.
Right, and so there's actually
two pieces of geometry that are somehow interacting. Right, there's the map that
I'm drawing on the screen,
and then there's the object that
the map represents that we all understand, which is the 3D
sphere-like object, which is the Earth.
So here is the question
that Riemann asked. Now, here I've shown you
two different line segments on this map of the world.
And the way that I did this
is I was in PowerPoint, I made one of the red line
segments, I copy-pasted it, and I just dropped
it somewhere else.
Right, so one of them is
in, what, Russia, Europe. The other one is connecting
Central America and Africa here.
And the question is, are these
two line segments identical? Now, one answer is yes. I mean, on the PowerPoint
slide that I'm showing you,
these are identical. I copy-pasted to get
from one to the other. But if we understand
this picture
as a representation of some
other piece of geometry, right, the 3D Earth,
then the answer is no. So essentially what
Riemann did, one
of his many big contributions
to the mathematical world, is to divorce these two ideas. This map is giving us some
notion of connectivity,
topology, and so on. But we can attach a
different notion of distance to every point in the domain.
What do I mean by that? Well, if you look at
Antarctica on this map, it stretched out quite
a bit horizontally.
Whereas maybe Central
America is actually stretched out a lot less. And so essentially the notion of
computing angles and computing
distances depends on what point
you're at in this map here. And that was the big idea
of Riemannian geometry. In fact, what Riemann's
viewpoint here was that
just by having some local notion
of being able to compute angles and distances, you can do most
of the differential geometry calculations that
I already gave you.
So for example, let's say that
I wanted to sense curvature. I wanted to know how
bendy the Earth is. But I am some tiny
ant that's walking
along the surface of the Earth. Now from my perspective,
it's really hard to know whether or not
the world is curved.
In fact, we know that
for hundreds of years, people weren't so sure. And why is that?
Well, as we walk
around in Boston, we don't really sense the
curvature of the Earth. Right, we need some
clever experiments
in order to do that. But what Riemann
observed is that by doing certain differential
measurements,
we can begin to sense
things like curvature, and they only depend on local
notions of computing angles the distances, and so on.
So for example, let's take
a look at the three images that we see on the slide here. So these are
prototypical examples
of a domain with zero Gauss
curvature, or curvature tensor, if you want higher
dimensional stuff. So that would be like a flat
domain, positive curvature,
like a sphere, and negative
curvature like a saddle. And let's say that I know I
have a friend who's another ant. And now I'm going to
take these two ants,
and they're going to hold
hands with one another. Normally, if I'm teaching
this in a classroom, maybe I would make a
student uncomfortable
and ask them to
come join me here. But if two ants held hands and
they start walking forward, they can actually sense the
curvature of the Earth that's
underneath them. Now they'd have to probably
walk a long distance, because ants are pretty small.
But what's going to happen,
as illustrated on this slide, is that even if the two ants
are moving along geodesics, they're moving in
straight lines,
just following
their toes, they'll actually get closer together
horizontally to one another if the Earth is
positively curved.
They'll get farther apart
if it's negatively curved. So what's Riemann's point here? Riemann's point is that even if
the only thing I know how to do
is to sense the Earth as
a two-dimensional object that I can walk
along, I can still sense things like curvature.
I don't actually
need 3D space at all to measure these
sorts of things. And this is a really big
idea, because it actually
allows us to generate all
kinds of interesting abstract geometric spaces. And in fact, this shows up in
a lot of applications as well.
So, for example, if you want
to totally mind-blowing, really difficult to think
about area of research, some people study how to
put a geometric structure
on the space of geometries. Now this sounds like a really
abstract problem, but it's not. So, for instance, if we take
a look on the right-hand side
here, we have some
animated character that's moving his arms up and down. We can think of each
pose of this character
at some point in a very
high dimensional space of all the possible
poses for this character. And then the question is,
which poses are nearby,
and how can I get
from one to the other? Well, that sounds an
awful lot like computing geodesic distances.
But in order to do that,
we need to put a geometry on that space. Now, this was a successful idea
in a lot of different areas,
both in computer animation,
like what I'm showing you on the right-hand side. And actually one of the
most popular applications
of this idea is in
medical image analysis. So for example, let's say
that I have a large population of people that I've
put into an MRI
or some other
scanner that senses the shape of their brain. I'm not an anatomy
expert, so when
I give these kinds
of examples, I'm probably going to get it wrong. And now what I want
to do is understand
over a large
population, what are the interesting variations that
I see in a particular organ? So for example,
maybe people's livers
tend to get taller
and smaller, fatter, maybe there's some bump
that tends to go in and out. One thing I can do is
try to put a geometry
on the space of medical
images, and that allows me to apply techniques
like principal component analysis to do statistics
on that collection of shapes
that I just accumulated. So this really abstract idea
that dates all the way back to Riemann, if not
earlier, actually
has really important
practical perspective that we can apply in
different domains, like medical imaging,
computer animation.
Now to continue in our grab
bag of interesting modern ideas from geometry that we're
going to try and explore in this class,
another big one that's
important in the
physical simulation and computational
engineering world is the idea of
geometric mechanics.
Now geometric
mechanics is closely linked in with Lie groups
and other constructions. By the way, I'm going to
tell you something right now,
and I need you to remember this
for the rest of this course, or else this is the
one way that I'm going to guarantee you
lose points in 6838.
Which is that if you
see this word, "Lie," this is somebody's name. This is a capital L.
And it is pronounced
L-E-E. This is a Lie group. If I hear any of you guys in
my office hours calling it a lie group, that's
going to be a problem.
That's the classic
mathematical mistake. All right. But in any event, the basic
idea of geometric mechanics
and related disciplines
is as follows. So essentially, take a
look at the double pendulum that I'm showing you
on the slide here.
So remember that
a double pendulum is like two sticks that are
hanging off of the ceiling, like what you see on the slide.
And essentially, one is
allowed to pivot along the top, and the second one is allowed
to pivot along the hinge that's attached to the first.
Now, in the figure on
the left-hand side, it looks like this is
essentially some configuration in two-dimensional space.
But the reality of the matter
is that the sticks that are tied together cannot change length. And so in geometric mechanics,
the question that we ask
is, should we really
understand this as the two-dimensional plane
with some pendulum swinging back and forth when I've added
constraints to my system?
And in fact, there
are other perspectives that are equally valuable. So, for example, on
the right-hand side,
I show you the
configuration space of this two-dimensional
system, which is essentially the product
of two circles, right.
The top piece of the pendulum
can pivot about the point where it's attached
to the ceiling. And the second
one, theta 2 here,
can pivot about the first. Right, so there's basically
two different angles between 0 and 360 degrees that
govern the dynamics
of this physical system. So in geometric mechanics,
rather than understanding the pendulum as swinging
around in 2D space,
like what I'm showing you
on this slide, maybe instead I view it as a path on a torus,
like what I'm showing you on the right, which is
basically the product
of the angles theta 1 and
theta 2 measured around them. So you can take the
equations of motion, right, like F equals
ma, and we can
try to understand what those
look like as dynamical systems on this torus object. And these frees up all kinds
of really cool, interesting
geometric figures. And they have the
added benefit that when I simulate this
physical system, I'm
operating the natural
space of parameters. I don't have to worry about
the length of the pendulum accidentally getting
too long or something,
which can happen if I don't
discretize it this way. Now Lie groups are
essentially groups in the algebraic sense with a
geometric structure attached.
So for example, here,
essentially there's two groups, both of
which are circles, right, the circle being theta 1 and
another circle being theta 2.
So this is simultaneously
a manifold, like a circle. But it's also a group, like
an angle with a plus sign operator.
And so the three of Lie
groups essentially says that you can combine
algebra and geometry and come up with all kinds
of interesting ideas,
many of which interact with
these geometric mechanic setups which tend to be discretized in
terms of angles and rotations, translations-- things
with group structure.
Now zooming back even further
in the theory of geometry, maybe we no longer
assume that we have calculus at our disposal.
There are a lot of spaces
that have distances attached to them, but they're
too noisy or singular to allow us to compute derivatives.
Or maybe they're composed of
a bunch of discrete objects. In that case, we have to make
do with a much weaker theory called metric geometry,
which is essentially
all the geometry that we can do
when the only objects we have access to are some space,
like a set of points, and the distances between them.
Now, metric geometry is
really critical for problems like embedding,
where maybe I can sense these kinds of
distance relationships,
but I want to put them
into a space to visualize. There are also some
algorithms out there that only operate on
distances, and it's actually
enough to just have
a metric structure. So for example, in
a lot of retrieval problems-- like I have a big
collection of weird objects,
and all I can do is measure
which ones are similar and which ones are not. Then I can still try
to solve problems
like retrieval, which
says, given a query, give me other objects
that are nearby. So for example, if I think
of the set of web pages
on the internet as
some geometric space, well maybe it's actually
not unreasonable to measure some notion of
distance or similarity
between two web pages. Then I can just use that
distance metric structure, even if it's not Euclidean or even
Riemannian, to solve problems,
like find me the closest
10 web pages to the one that I just read. So these kinds of ideas appear
not only in applied geometry
but also in areas like
natural language processing, where the kind of
geometric structures we have are extremely
weak and only approximate.
In this class, basically
because it's close to my heart, we'll touch upon a theory
called optimal transport. This is relevant especially
to machine learning domain
and some in computer graphics. The theory of optimal
transport, which happens to be central to
my own research personally,
is all about how you
take geometry on a space and lift it to a geometry on the
space of probability measures. So what we're going to
see in optimal transport
is that essentially,
it allows us to do some of the
geometric computations that we're going to derive in
the first half of the class
even when our data is
noisy or uncertain. Right, so in the noisy
and uncertain case, maybe now we think of our shapes
as probability distributions.
We can't sense them exactly. But we're going to see that
we can still compute things like distances and
even curvature,
just given that fuzzy notion. This is an emerging area of
research in geometry and one that changes every single year.
And then finally, if we
want to put the weakest possible structure on
a geometric domain, maybe the only
thing that we know
is what is connected to what. So that is something
called topology. Right, so in
general mathematics,
there's geometry, topology. Right, geometry means I
can measure distances, bending, stretching, and so on.
Whereas in topology, all
I know is connectivity. Now there's an entire
research domain called computational topology,
which essentially takes
different topological
constructions and applies them to data that
we see in the real world. Right, so this is sometimes
called TDA or topological data
analysis. Now we may only touch upon
topological constructions in this course, but we're
going to see that they appear,
especially when we talk about
vector fields, essentially as some global way to
understand some space, whether it's a shape, a
particular vector field, and so
on. And unlike our
geometric constructions, topological
measurements are going
to be ones that are
very, very stable. Right, if I take my geometry and
I just bend it and stretch it and don't do anything totally
drastic like cutting it,
the topology of the
domain remains the same. There are all kinds of beautiful
open challenges in this domain as well.
For example, if I'm
given a bunch of samples from some topological domain
but I forgot the topology, can I come up with an algorithm
that, with high probability
or reliably or
whatever, can actually try to reconstruct or sense
the topological structure underneath?
This gives rise to a
lot of the ideas in TDA, persistent homology,
and so on, which we may touch upon toward
the end of this course,
depending on timing and where
the student interest is. So essentially, in, it looks
like about 33 minutes here, we have some very
high level summary
of the theory of geometry. And hopefully I've managed
to convince you guys that this isn't just like a
mathematical exercise that's
intended to torture students
in the Math Department. It's actually really important
for the applied domain. And essentially our
job in this course
is first to introduce
these ideas. We're only going to
do that intuitively. I'm not going to do a ton
of theorems and proofs.
But then also to
show how they can be translated into
discretizations and algorithms. So that's the next step of
our discussion for today is,
what computational toolbox
do we have at our disposal to take these high level ideas
from theoretical geometry and make them work in
the applied domain?
Now in the applied
world, there's so many different notions of
what it means to be a shape. In computer graphics, we care
about triangle meshes, triangle
soup, subdivision surfaces, CAD
surfaces, splines, and so on. In other areas of
computer science, maybe we have
graphs or networks.
In autonomous driving
robotics, oftentimes we have plane clouds, like just
big piles of points sampled from some piece of geometry.
So in this course,
we're going to talk about many different
applications that have many different notions of
what it means to be a shape.
So this term shape here is
going to be extremely vague. It's essentially
almost any object with some notion of
proximity or distance
or curvature, bendiness,
holonomy, and so on. And we're going to see that
in many different domains. So to give you some sense of
why this is so challenging
and why this is interesting from
an applied perspective instead of just a footnote,
let's take a look at this very simple
surface on the slide here.
Now essentially what I'm trying
to introduce to you all today is, why is it so hard
to even interpret a piece of geometric data.
So here, we have an extremely
simple example of a shape that I might store
on a computer. Here we took a dolphin,
and we're representing it
with a bunch of triangles. Those of who took my
intro graphics class know that this is
called a triangle mesh,
and it's going to be
one of the basic objects that we'll study a lot in 6838. And here's the
basic issue that we
have to contend with all
the time in this course. When I look at this
dolphin, I can interpret it two different ways.
Now if I'm being a nit-picky
mathematician, when I look at this dolphin,
what is this thing? Well, it's just a big
pile of triangles.
But that actually already
implies a bunch of information. In particular, well,
triangles are flat. Right, so what is this object
in the most basic sense
from a geometric perspective? Well, it's just a bunch
of little flat domains that are glued together
along these hinge edges
and meet also at vertices. On the other hand, if
I step back 10 feet and I look at the same
surface, what do I see?
Well, probably I'm
thinking of this triangle mesh not as just a bunch of
flat stuff glued together, but actually some approximation
of a smooth surface
with curvature. And this plays out in a
lot of different ways. Right, is this an approximation
of a smooth object,
or is it a discrete object
with lots of flat facets? And what does that imply about
the way that we do geometry? So for example, one question
that I might ask is,
can a triangle mesh,
like this dolphin that I showed you on the
previous slide, have curvature? Now initially, this seems
like a goofy question.
I mean, of course, it can. When you look at the
dolphin, it looks bent. What are you asking here?
But if we think about the
dolphin as a triangle mesh, just a bunch of triangles
linked together, the struggles are all flat,
they don't have curvature.
So from that perspective,
maybe we actually have a singular domain. We have a domain that
is piecewise flat,
where the pieces meet
together, and suddenly this infinite amount of
curvature as the surface bends from one
triangle to the next.
On the other hand,
maybe I'm just thinking about
curvature the wrong way. I should think of
the dolphin surface
as an approximation
of the smooth object. And maybe it does
have curvature, at least approximately
and in a finite way.
These are two
different questions, and depending on who
you ask in our domain, they might answer this
question yes or no.
I think we'd all
say yes, but then what we have in our head of
what the word curvature means might be a little bit different.
So doing research
or in this domain or participating in
our course essentially requires you to be a
jack of all trades.
And so when we
look at a surface, we simultaneously have to
split our brain into two different ways of thinking.
On the one hand, we're
going to be thinking about smooth differential
geometry and what that implies about the way that
we analyze the surface, right.
When we step back 10 feet
from this wiggly bar object that I'm showing on this slide,
it looks like a smooth object. On the other hand,
putting our foot back
into the Euclidean universe,
this is also a discrete object. So composed of a bunch
of different triangles that are all linked together.
And when we actually
sit down and start writing algorithms that
process these shapes, we're going to need to keep the
discrete perspective in mind.
And so we're going
to go back and forth between discrete a
lot in this course. And in fact, oftentimes
they get blurred together.
So one of my favorite
research fields in geometry is in an area called discrete
differential geometry. Now mathematicians that
I talk to always think
of this name of a research
discipline as somehow a contradiction in terms. Differential implies that we're
working with smooth objects,
but then discrete seems to imply
that we're working with things like triangle meshes. Discrete differential
geometry-- the basic idea
here is that we should be able
to have our cake and eat it, too. That when we look
at triangle meshes,
like what I show you
on this slide here, we're going to come up with
a theory of differential geometry.
For example, how to define
things like geodesic distance and curvature that work
on a triangle domain and have many similar theorems
to what we might encounter
in the smooth domain, but
then the theorems actually hold with an equals sign. It's not an approximation that
only holds as our triangles get
really, really small. So in order to do that, we have
to really, really carefully define different
notions that are
compatible with both
discrete and smooth domains. So this modern
approach essentially needs us to use
two different terms
and be very careful
with what we mean. There's discrete geometry. This would be like
understanding a triangle
mesh as a big
collection of triangles and doing a computation
directly on the domain. And there's
discretized geometry,
which would say our
triangle mesh is not a geometric object
in itself, it's just some approximation
of a smooth domain
that we don't have access to. And both of these perspectives
are really useful, but they're separated in the
theory of discrete differential
geometry. In particular, DDD is a discrete
theory paralleling the theory of differential geometry.
So we'll talk about that a lot
in the first third of 6838. The basic idea here is
to study an idea called structure preservation.
So this is a really
interesting idea that arose in, I would say,
the last 20 years or so. Which is the idea that
maybe rather than just
approximating notions like
curvature on a triangulator domain, I'm going to define
a new notion of curvature on a triangulator domain
that preserves properties
from the continuous one. So let's see what we mean. So in our next couple
lectures, after we
do some math
preliminaries, we're going to talk about curves-- just curves in the plane.
And one of the
basic things that we might want to measure about
a curve is its curvature. Now roughly, if I think of
a curve as some function
gamma of t, then the
curvature of my curve is gamma double prime of t. Now I have to be a
little bit careful
when I define curvature,
because if I hit on the gas when I drive along that
curve, then the geometry doesn't really change.
It's just the way
that I trace it out. So I have to make an
additional assumption, which is that I'm traveling along
my curve with constant speed.
If you're not familiar with
these terms, that's OK. We're going to cover them
in about two lectures. The curvature satisfies a
really interesting property,
which is the turning
number theorem-- what I'm showing you on the slide here. Now at a high level, what the
turning number theorem says
is if I take the
curvature of a curve and I integrate it along
the entire curve, what I get is actually a topological
invariant called the turning
number or the winding number. That's what I'm showing you
on the top of the slide here. Essentially, the turning
number of a curve
is the number of times
that it loops over itself before it meets up again. So here's the
theorem on the top.
And essentially, curvature
is some second derivative quantity. We're going to go through
this in a lot more detail
in a few lectures. But there's some interesting
property of curvature, namely that when I integrate
this local quantity
along the whole curve, I get
some topological invariant, like the number of times the
curve twists over itself. And maybe that's a
structure that we'll
want to preserve when
we discretize curvature. Now here's one way to
discretize curvature, which is sort of intuitive.
And that's illustrated on
the bottom part of our slide here, where
essentially what we do is we say that a curvature
of a curve when it's just
a bunch of line segments,
like what I'm showing you on the bottom, it's
concentrated at the vertices, and it's the turning
angle of the vertex.
Right, so this is
the idea that, well, if two vertices meet and
they form one long line segment and the
curvature is zero,
then as those vertices hinge,
the curvature increases, like what I'm showing
on this slide. Now you might remember a theorem
from your high school geometry
class-- if you haven't, that's
OK, again, we're going to review this later--
which was the exterior
angle theorem. Which essentially says if I
draw a polygon in the plane and I sum up all these exterior
angles, what I get is 2pi.
And in fact, I can generalize
it ever so slightly and get 2pi times
the number of times that a polygon winds over itself
if it's allowed to intersect.
Well, if I took a look
at these two formulas, they look awfully similar. Right, the two blue boxes
here are essentially
very similar properties. So one thing I might do is to
find the curvature of a curve on the discrete domain here--
just a bunch of line segments--
some quantity that is
sitting on the vertices and is the turning angle, like
the angle between these two line segments, I guess,
subtracted from 180 degrees.
And then there's
actually a nice notion of structure preservation. Namely, I chose a notion of
curvature of my discrete curve
that satisfies the same property
that the turning angle theorem satisfies in the smooth case. Now what have I not done?
I have not shown you that this
alpha measure or curvature on the bottom of
the slide here has anything to do with
that smooth measurement.
Namely, if I take my curve
and I start refining it and refining it and
refining it until it's a bunch of itty-bitty
line segments,
that this measurement
I'm showing you has anything to do with
kappa on the top of the slide, and that second notion is
something called convergence,
which is essentially,
am I approximating some smooth quantity as I
refine my discretization? So again, we have these
two interplaying ideas.
There's convergence,
which is how well am I capturing the smooth theory? And there's structure
preservation, which is saying,
I want my smooth theory to hold
exactly in the discrete domain. And there's a push/pull between
these two considerations. In fact, one question
that you might ask
is, can you have it all? Can you come up with
a convergent theory of discrete
differential geometry
that preserves a bunch of
structures from the smooth case but operates on objects like
triangle meshes or sequences of line segments
or what have you?
Unfortunately, or excitingly,
depending on your perspective, the answer is actually no. And this is super interesting
and not obvious at all.
So here is a well-known paper in
the geometry processing domain. It's called Discrete
Laplace Operators-- No Free Lunch.
And essentially
what they do is they go on a long list of all of
the properties of the Laplace operator-- one object that we're
going to study in this course
later on. Laplace operator has a lot
of different properties you might know from math
class, you might not.
I mean, they include something
called a maximum principle. That it's elliptic or a
positive definite and so on. You can make a long
list of all the things
that the Laplace operator
holds in the theory of smooth differential geometry. Then you can ask, can I
make some construction,
in this case operating
on a triangle mesh, that satisfies analogs
of all the same properties? And the answer is actually no.
So here in this paper,
it says, "Building on the smooth setting,
we present a set of natural properties for
discrete Laplace operators
for triangular surface meshes. We prove an important
theoretical limitation-- discrete Laplacians cannot
satisfy all natural properties.
Retroactively, this
explains the diversity of existing discrete
Laplace operators." Now that last little
tag I think is what's
so cool about this domain. That if you're an engineer
working with discrete geometry, even if you care about a
bunch of smooth properties
of your domain that you only
have approximate access to, you have to pick and
choose which properties you need to measure well.
And you can't necessarily
measure them all well. And what that
means, for example, for curvature is that
for every one measurement
we do in the smooth
theory, there's a whole zoo of potential
analogs in the discrete theory, and it's not clear which
one is the correct analog.
It depends on your application. Which is super interesting. It essentially it gives
us a lot of freedom
to pick and choose
the properties we need for our
discrete calculation, because we can't have them all.
Luckily, when we're doing
this kind of modeling there's a huge toolbox
of different algorithms, numerical measurements,
approximations
that we can draw from. And so in this
course, essentially by exploring these ideas, how
we can do geometric measurements
on discrete or
discretized domains, we're going to make
use of all kinds of different sledgehammers,
from numerical analysis,
computational geometry,
and other disciplines. One of the big ones that's
going to come into play a lot in this course is numerical
partial differential equations.
PDE, Partial
Differential Equations, is not a background
prerequisite for this class. So we're going to introduce
all of the notions
that you need as they come
up during our discussion. And we're also going
to talk about how we can make partial
differential equations work
on a discrete domain. So we'll introduce the finite
element theory as well as some other theories that
are relevant, specifically
in the geometric case. Algorithms that are
relevant to geometry are not just numerical PDE.
Another important one is
large scale optimization. Large scale optimization
is a super popular problem to study in regime
of machine learning
but it also shows up all over
the place in computer graphics and other domains that
are operating mostly on geometric domains.
Now one of the really
interesting things and one of the reasons that I
hope some of our friends in optimization come
join us for this course
is that the kinds of
optimization problems that we tend to encounter in geometry
are structured very differently from the kinds of ones
that you encounter
in deep learning or
some other discipline. Algorithms like stochastic
gradient descent are no longer what's
relevant to us,
because we really care
about smooth structures and those last couple
of bits of precision in our optimization problems.
And moreover, oftentimes,
we have really complicated constraints. So on the slide
here, I'm showing
you one prototypical example
of a really yucky optimization problem that we encounter
in geometry domain. This is something called
surface parameterization.
So here, we have a
3D cow, and our job is to make that
cow into a carpet. We're going to take that couch
and smash it onto the plane.
Those of you who are familiar
with computer graphics know that the reason we might do
this is to have a texture map. So maybe I store an image
with the texture on the cow.
And then I can wrap it
around the surface using this parameterized object. Now if you think from an
optimization perspective,
the problem becomes super
interesting and challenging. Now why is that? Well, what are our
variables here?
Our variables are the positions
of every single vertex on this triangulated surface. Now even a simple
triangulated surface
has thousands or
millions of vertices that I have to contend with. Moreover, I have really
challenging constraints,
because if any two triangles
overlap in the plane, the entire parameterization
is useless. Right, because then,
those two triangles
have to be textured the
same way in my texture map. So I have a quadratic
number of constraints and a huge number of variables.
So these are very
different problems than training a deep network,
doing stochastic gradient descent, and so on.
In fact, some of our
optimization problems are actually discrete. So if you're interested in
computational fluid dynamics
or some of the engineering
applications of our domain, then discrete
optimization problems become really critical.
So this would include
things like tiling a surface with elements that are
squares or triangles. This is sometimes
called quadrangulation.
And this is a problem where
the variables are not just very large scale, but some
of them are integer, like the grid that I'm going to
use to cover this particular 3D
model. Incidentally, fun fact, this
shape is called a fan disk. I think it's a part
of a car, and I
have no idea what it does. But all of us in geometry
use it all the time for testing our algorithms.
Other tools that we're
going to use a lot include linear algebra. In fact, our next
lecture in this course
is going to be basically a
refresher on linear algebra and multivariable calculus,
but written in a notation that we like in geometry domain.
Linear algebra shows
up all over the place. We're going to see semidefinite
matrices, matrix factorization, and so on showing up in
mapping between surfaces,
solving the spectral
geometry problems and all kinds of
things in between. And, in fact, never
mind linear algebra,
non-linear algebra
also shows up. So for example, areas
like representation theory are showing up in just
some of the modern
and breaking applications
of this domain. So here actually is some images
from a paper from our TA David Palmer working in
three-dimensional volumetric
problems. Remember I showed you that quad
mesh a couple of slides ago. This is one called a
hexahedral mesh, which
is a volumetric analog
where I take a volume and I tile it with
cube-like objects that are allowed to deform a little bit.
So it turns out the
computations in this domain are working in a
quotient in space of SO3. SO3 is the space of rotations.
But quotient it out by
the symmetries of a cube. And this turns out to be a
very complicated space and one that is something that just pops
up in different applications.
In fact, some deep
learning people have actually
applied these kinds of things to making invariances
in different deep networks.
OK, so all of this is just a big
sort of internet search terms for you guys to look
up later and get excited about in this course.
Obviously we're
not communicating technical content, just
some of the fun ideas that we'll touch upon in 6838.
And my goal here
is not to scare you with all the different
content we're going to cover, but rather to show
you the opportunity
that we have to learn
and get some intuition for many different fields that
otherwise are quite abstract. So finally, I think
today we should call out
some application
areas of the things that we're going to be
constructing in 6838. And one of the really fun
things and the pleasures
of teaching this course
is that we end up with students across many
different departments at MIT. It's a challenge for
me as an instructor
to simultaneously appeal
to mathematicians, computer scientists, architects,
structural engineers, and so on.
And it also just
goes to show you all the different application
areas of the machinery that we're developing
in this course.
Some of the obvious applications
are in the computer graphics domain. We can solve problems
like texture transfer,
editing of 3D surfaces and
modeling, 3D retrieval, finding and exploiting
patterns to help make big virtual worlds, and so on.
All these are essentially some
of the obvious applications of geometry in computer
graphics domain. Nowadays, of course the
domain that everybody wants
to get into is computer vision. And geometry is a
really critical part of computer vision systems.
Right, so understanding
three-dimensional shape shows up in 3D reconstruction,
navigation, recognition, segmentation-- pretty
much any problem
where the input is
a piece of geometry. Right, I mean, there's a
reason humans have two eyes, which is--
well, there are several
reasons, but one of them is that it helps
us to understand the shape of the
objects around us, which
is some clue that shape is a
really important cue when we're engineering computer
vision systems. Another domain that
manipulates mostly 3D shapes
is medical imaging. Everything from analyzing,
trying to find anomalies, for example.
If I take a scan of your
brain or of your teeth, can I detect tumors or
cavities, respectively? Essentially, many of
these different anomalies
show up as geometric
features on your skin that you want to be able to
detect, understand, compare, and so on.
In fact, there's some
really fun problems. I've done some reading
on how retainers work for your dental equipment.
This is one of the early
triumphs of 3D printing. So the Invisalign retainer
that they have in your teeth-- you can actually dig up
the patent and read it,
which is kind of fun-- involves all kinds of
fun geometry problems, where essentially
you bite into a mold,
send that mold off
to some company which takes a 3D scan of the
mold, and then computes the geodesic between your
teeth as they exist now
and your teeth as you'd
like them to be once you're done with
your orthodonture. So there's this whole
sequence of shapes.
Each one of them is printed
out as a piece of plastic, and that's the
Invisalign retainer that you get in the mail
or from your orthodontist.
So even in that world, shape
analysis is really critical. Of course, manufacturing
and fabrication or really central
examples of areas
that care about this domain. Everything from detecting
defects and scanning 3D objects to 3D modeling,
topology, optimization,
and other domains that involve
making objects before they're putting into devices for
additive manufacturing and other tasks.
Architecture works with
crazy shapes all the time. In fact, architectural
geometry is one of the big
applications of areas
like discrete
differential geometry. But they also encounter really
challenging constraints. I mean, at the end of the day,
your building has to stand up.
Moreover, sometimes
the constraints are quite geometric-looking
in nature. So for example, maybe I want to
tile a building with windows.
It turns out that windows-- my extremely coarse
understanding is that, of course, the
easiest to manufacture windows
are flat. The second easiest to
manufacture windows are what we would
call developable,
which would be like making them
into a cylinder-- something that I can get by bending the
glass but not stretching it. And then the most
complicated ones
are curved domains, like
spheres or saddles that actually have intrinsic curvature. And so manufacturability
actually tells us
something about the
geometry of the objects that we might want to make in
our architectural application. Later on in this
course, we'll talk
about collections of shapes. So rather than just
having one, we're going to take a big
collection of teddy bears,
like what I see
on the slide here, and then tell you how
they vary from one another and what properties
they have in common.
Obviously, this shows up
a lot in medical imaging. I take a big
population of people and I want to know
the progression
of a neurodegenerative disease. And related to this
problem is correspondence. Given 2, 3D scans,
can I figure out
which points on the first
scan correspond to which points on the second? This is useful for tests like
texture transfer in computer
graphics. I draw a zebra
texture on a zebra. Now I want to put it on a
horse, or something like that.
We can think about
deformation transfer. So here we see one of my
colleagues making a funny face. And that face is projected onto
all kinds of different animated
characters. In fact, a lot of the ideas that
we'll construct in this course are relevant to tasks like
inverse kinematics, which
are used in movie
studios to track actors as they move around
with different markers on their faces and
bodies, and then
projected onto animated
characters that are following the motions of that actor. As we mentioned when we
talked about geometric ideas
in physics, we can
use some of the things that we're going to construct
here to improve simulation. So here, I'm showing
you some screenshots
from well-known papers in
the intersection of geometry and physical simulation for
things like viscous thread. So there's going to be honey
coming out of some squeezer.
Apparently this is
called a sewing machine, I think, for some reason that
I don't totally understand. And then on the bottom,
we see cloth simulations--
another big one. And of course, we
can also use geometry to improve scientific
visualization.
To try and capture
structures, like orbitals of some
atom or molecule in a nice abstract but still
structure-preserving way.
People in medical imaging
care about problems like segmentation. If I give you the
whole brain, can I
identify the
interesting segments that correspond to different
functional And so on. And then finally, some
applications are more abstract.
So for example, we'll
see the constructions we do with the Laplace
operator in spectral geometry immediately are applicable
to machine learning tasks
like semi-supervised
learning over a network. Now here, the geometry
is much more abstract. It's just given by distances
along a graph, along the graph
edges, but we'll actually
see that the mathematics is nearly identical for tasks
like this, and so on. And then finally,
we can use geometry
to improve some of our
tools for statistics. So we'll talk about embedding. We'll talk about some curved
notions of principal component
analysis, and so on. So hopefully I've
piqued your interest in the shape analysis domain.
I think this is one of
the really fun, exciting, emerging research
disciplines that we see in the computational
applied universe.
And our goal in
6838 is to give you a good intuition for
the kind of reasoning that shows up in this area
so that you can take it
home and apply it to whatever
problems you really care about. So with that, I think
we'll conclude for the day. If you have any questions, if
you're taking this class live,
I'm happy to stick
around for our Zoom. And otherwise, you're
always welcome to reach out. And beyond that, I look
forward to seeing you
all in our next
lecture, when we're going to dive into the
mathematical details, specifically just
introducing some
of the preliminary notions,
reviewing linear algebra, and making sure that we all
have the same notation before we start doing anything new.
In fact, I'm going to
use notation that's specific to this research
area, which you may not have seen before,
just to get you used
to how we tend to
write stuff down when we do geometric
calculation. So with that, we'll
see you next time.
To enroll in the 6838 course on shape analysis, you should have strong programming skills in Julia, Python, or Matlab, along with a solid mathematical background in linear algebra and multivariable calculus. While differential geometry will be introduced during the course, prior knowledge is not required.
Geometric data analysis involves analyzing geometric data through algorithms for 3D shapes, which are crucial in fields like computer vision, graphics, and robotics. This course bridges geometric approaches with machine learning techniques, allowing students to view high-dimensional datasets as geometric objects.
Key concepts in differential geometry include manifolds, curvature (Gaussian and mean), geodesic distances, vector fields, and spectral geometry. These concepts help in understanding complex shapes and their properties, which are essential for advanced geometric data analysis.
The course discusses various methods for representing shapes, such as triangle meshes and point clouds, and explores the differences between discrete and smooth perspectives. It also covers the development of discrete differential geometry theories that maintain geometric structures on discrete domains.
Applications of shape analysis covered in the course include computer graphics (like 3D modeling), computer vision (such as 3D reconstruction), medical imaging (detecting anomalies), and manufacturing (like topology optimization). These applications demonstrate the interdisciplinary nature of shape analysis.
In the next lecture, students will focus on mathematical preliminaries, including linear algebra and specific notation used in geometric computations. This foundational knowledge will prepare students for deeper engagement with the course material.
To deepen your understanding of geometric concepts, consider reviewing resources such as the 'Understanding Curvilinear Coordinates' guide and the 'Understanding Rectangular and Polar Coordinates for Advanced Function Analysis.' These materials will provide additional context and insights relevant to the course.
Heads up!
This summary and transcript were automatically generated using AI with the Free YouTube Transcript Summary Tool by LunaNotes.
Generate a summary for freeRelated Summaries
Understanding Curvilinear Coordinates: A Comprehensive Guide
Dive into the world of curvilinear coordinates and their applications in engineering, physics, and mathematics.
Comprehensive Introduction to AI: History, Models, and Optimization Techniques
This lecture provides a detailed overview of Artificial Intelligence, covering its historical evolution, core paradigms like modeling, inference, and learning, and foundational optimization methods such as dynamic programming and gradient descent. It also discusses AI's societal impacts, challenges, and course logistics for Stanford's CS221.
Comprehensive Formula Revision: Linear Algebra & Calculus Explained
Dive into an extensive formula revision covering key concepts in Linear Algebra and Calculus. This session includes determinants, matrix operations, eigenvalues/vectors, and calculus fundamentals like limits, continuity, differentiation, integration, and vector calculus for exam preparation.
Understanding First-Order Ordinary Differential Equations: Geometric and Numerical Approaches
This lecture explores first-order ordinary differential equations (ODEs) focusing on geometric interpretations and numerical methods. Learn about direction fields, integral curves, isoclines, and the Existence and Uniqueness Theorem, with practical examples illustrating solution behaviors and limitations.
Understanding Introduction to Deep Learning: Foundations, Techniques, and Applications
Explore the exciting world of deep learning, its techniques, applications, and foundations covered in MIT's course.
Most Viewed Summaries
A Comprehensive Guide to Using Stable Diffusion Forge UI
Explore the Stable Diffusion Forge UI, customizable settings, models, and more to enhance your image generation experience.
Kolonyalismo at Imperyalismo: Ang Kasaysayan ng Pagsakop sa Pilipinas
Tuklasin ang kasaysayan ng kolonyalismo at imperyalismo sa Pilipinas sa pamamagitan ni Ferdinand Magellan.
Mastering Inpainting with Stable Diffusion: Fix Mistakes and Enhance Your Images
Learn to fix mistakes and enhance images with Stable Diffusion's inpainting features effectively.
Pamamaraan at Patakarang Kolonyal ng mga Espanyol sa Pilipinas
Tuklasin ang mga pamamaraan at patakaran ng mga Espanyol sa Pilipinas, at ang epekto nito sa mga Pilipino.
How to Install and Configure Forge: A New Stable Diffusion Web UI
Learn to install and configure the new Forge web UI for Stable Diffusion, with tips on models and settings.

