Video není dostupné.
Omlouváme se.

Repulsive Shape Optimization

Sdílet
Vložit
  • čas přidán 15. 08. 2024
  • In visual computing, point locations are often optimized using a "repulsive" energy, to obtain a nice uniform distribution for tasks ranging from image stippling to mesh generation to fluid simulation. But how do you perform this same kind of repulsive optimization on curves and surfaces? This talk takes a deep dive into the mathematical and computational challenges of repulsive shape optimization, with applications in computer graphics, mathematical visualization, and 3D geometry processing.
    00:00 - Introduction [easy]
    01:16 - Motivation [easy]
    07:27 - Repulsive Energies [intermediate]
    13:47 - Energy Minimization [difficult]
    22:27 - Fractional Preconditioning [experts only]
    29:10 - Discretization [intermediate]
    32:24 - Constraints [intermediate]
    34:27 - Hierarchical Acceleration [intermediate]
    38:54 - Evaluation & Comparisons [easy]
    41:47 - Results & Applications [easy]
    51:43 - Limitations & Future Work [easy]
    The work in this talk comes from the papers:
    Yu, Schumacher, Crane, "Repulsive Curves" (Transactions on Graphics 2021)
    Yu, Brakensiek, Schumacher, Crane, "Repulsive Surfaces" (SIGGRAPH Asia 2021)
    An initial version of this talk was given on November 18, 2021 at the Center on Frontiers of Computing Studies, Peking University.
    For more information, see:
    www.cs.cmu.edu/...
    www.cs.cmu.edu/...

Komentáře • 48

  • @BallisticLife
    @BallisticLife Před 2 lety +4

    Audible gasp when the audio came in at 8:50!! So clever

  • @dottormaelstrom
    @dottormaelstrom Před 2 lety +22

    Good evening mr Crane, It's a bit late for it but I need to wholeheartedly thank you for your inspiring work and your crystal clear lecturing of it. Wall of text incoming.
    In september I graduated in mathematics in one of the most renowned universities of my country with a decent mark, also thanks to my thesis which was based in large part on your work on heat methods in geometryprocessing. My background is mostly in riemannian geometry but I wanted to have a more applied sort of thesis than my colleagues (who mostly opted for very classic and "safe" subjects), and this seems to have also been appreciated by the commission, who gave me full marks for it. Thank you from the bottom of my heart.
    Also, I was feeling a bit down not seeing any interesting perspectives for what to do after university, but you really inspired me with your amazing work. I watched all your lectures, I read most of your papers (and many others) and found out that my degree in geometry can actually open me some very interesting perspectives, on top of which is what is now my biggest aspiration: being endorsed for R&D at Pixar or some CG studio. Right now I'm trying to learn everything I can about computer graphics (even though my university isn't of much help in this regard), continuing to study geometry and its applications (which may or may not include also physics) and I'm also trying to learn some 3D software in my spare time (it's called Houdini and it's really amazing).
    So this may not be the most conventional platform to say this, but thank you, mr Crane, for inspiring and motivating me.
    If you happen to come to Italy some time in the future let me know, I'll offer you dinner somewhere fancy.

    • @keenancrane
      @keenancrane  Před 2 lety +8

      Thank you very much for your kind words. The greatest honor one can achieve as a researcher and teacher, I think, is to know that they've helped inspire someone from the next generation to fall in love with knowledge and exploration. I very much hope you find a path that is fulfilling.
      One suggestion, if you are in Italy, is that you might reach out to Emanuele Rodolà, whose group is doing some terrific work in applied geometry (for instance, reconstructing geometry just from its Laplacian eigenvalues-to give one example). I'm sure he'd be glad to chat with someone who has invested so much time and energy in learning the field.

    • @dottormaelstrom
      @dottormaelstrom Před 2 lety +6

      @@keenancrane Thank you once again

  • @sungjuyea4627
    @sungjuyea4627 Před 2 lety +9

    I have no background in Physics, only Math. But this lecture is so interesting to me. I think I have to read the paper. Thank you for sharing this amazing work!

  • @JoeShmowYo
    @JoeShmowYo Před 2 lety +6

    another banger! thank you, computer shape man

  • @galenpalo
    @galenpalo Před 2 lety +8

    Everything about this presentation is outstanding. It was brilliant to mark the difficulty level of each section for easy navigation. This should be common practice to make scientific content more accessible. I'm excited to see what follows from this. Good work!

  • @eduadelarosa
    @eduadelarosa Před 2 lety +8

    This is one of the most comprehensive presentations I've ever seen period. Looking forward to more of your work!

  • @hossamsaeed5310
    @hossamsaeed5310 Před 2 lety +1

    I have not felt this good watching a research paper video before. Thank you so much

  • @DevashishGuptaOfficial
    @DevashishGuptaOfficial Před 2 lety +2

    As soon as I saw the bunny, I knew it had to be a SIGGRAPH/ACM TOG paper! ❤️

  • @colin_hart
    @colin_hart Před 2 lety +3

    Excellent presentation. The handcuff animations are
    so satisfying. Thank you for recording a video to accompany the paper.

  • @marcomagagnini2855
    @marcomagagnini2855 Před 2 lety +2

    That is wonderful!! Great job

  • @DevashishGuptaOfficial
    @DevashishGuptaOfficial Před 2 lety +2

    So diverse in applications, I love it!

  • @TacticalTruth
    @TacticalTruth Před 2 lety +2

    Fantastic Already I am thinking of using these techniques in CAT/MRI processing, and typographical layout optimisation for calligraphy. Keep up the good work.

  • @gregoryjohnson460
    @gregoryjohnson460 Před rokem

    Your work and that of your peers is truly beautiful. I wish I could be your student!

  • @insignia201
    @insignia201 Před 2 lety +3

    This was an awesome presentation! I may not have quite the prereqs to understand and appreciate all of this but it does make me want to reopen some of my linear algebra and analysis texts from uni so that I can have a chance to understand this material more fully. Also you have made me want to really look more into geometry processing and I already have a few texts that I have been itching to delve into, maybe I can make it a new year resolution to learn some of this stuff and even potentially for fun try to implement it on my own.

  • @aganders3
    @aganders3 Před 2 lety +3

    Fantastic work and so well communicated. Thank you!

  • @macratak
    @macratak Před 2 lety +3

    amazing lecture. this is not my research area but this is very fascinating!

  • @DarCMenO
    @DarCMenO Před 2 lety +2

    Thank you very very much! This is a great great work and an even better presentation that is a pure source of inspiration for me.

    • @keenancrane
      @keenancrane  Před 2 lety +2

      Many thanks-very glad you find it inspiring!

  • @tobyfrancisv
    @tobyfrancisv Před 2 lety +1

    Great stuff Keenan! I hope this work trickles into compressed sensing for surfaces...

  • @Kram1032
    @Kram1032 Před 2 lety +6

    This is extremely cool research. Your team never fails to impress
    Not directly related, but I now wonder whether anybody has tried Sobolev regularization in optimizers for machine learning. Seeing as how heavily that relies on gradient descent variants, it ought to make a huge difference, if it is applicable in a similar way

    • @keenancrane
      @keenancrane  Před 2 lety +3

      Yes, it could help with problems where the loss function involves spatial derivatives. The only question is whether standard software frameworks (like PyTorch) make it easy or difficult to apply this kind of preconditioning. Stochastic gradient descent looks a bit different from ordinary gradient descent, especially at a computational level on large datasets.

  • @olbluelips
    @olbluelips Před 2 lety

    Great work, this is incredible! I want to learn the math to implement this myself

  • @colonthree
    @colonthree Před rokem

    The handcuffs feels to me slightly like a magician's trick when I look into how the topology "blobs" around itself, similar to metaballs/SDFs/etc.
    Also feels like they actually have three holes instead of just two (one is really big).

  • @ARVash
    @ARVash Před 2 lety +2

    Can't wait to find a way to turn this into a video game lol

  • @lucagagliano5118
    @lucagagliano5118 Před 2 lety +1

    Great work.

  • @utof
    @utof Před 8 dny

    this is fucking incredible.

  • @Ben-we7pp
    @Ben-we7pp Před 2 lety +1

    @Keenan and any plasma physicists - is it plausible that this type of optimization procedure could be used to control the magnetic gradients that confine plasma inside of a tokamak or stellarator? This is not my field, so excuse that this may be a completely silly question.

  • @tarvos_trigaranvs
    @tarvos_trigaranvs Před rokem +1

    Hi, this is an amazing research!
    Just one quick quastion. In the path planning application how can you make sure that the objects wont "travel back in time"?

  • @user-qu2oz2ut2h
    @user-qu2oz2ut2h Před rokem

    you could use it in pcb layout optimization with some modifications

  • @justinjensen1009
    @justinjensen1009 Před 2 lety +1

    I'm very curious how you rendered the animated 3D visualizations, for example the curve packing example at 42:20. How did you get the results from your system into a 3D animation package with a renderer?

  • @jansentolle8678
    @jansentolle8678 Před 2 lety

    This is actually the second video on "repulsive curves and surfaces" I've seen today - the first one was on my onlyfans

  • @lemurpotatoes7988
    @lemurpotatoes7988 Před rokem

    Cute notation at 30:32

  • @BathshebaSculpt
    @BathshebaSculpt Před 2 lety +3

    Thank you for this, fantastic work beautifully presented! Sorry if it's an awkward question, but will there be source code available? You mention knotted high-genus surfaces as sculpture and I've done some work in that area -- the rogue's gallery at 47:30 is familiar! Obviously these methods would greatly improve on the simple physics simulator I've been using, but implementing from scratch would be a stretch for me.

    • @keenancrane
      @keenancrane  Před 2 lety +1

      Yep! In fact it's already available here: github.com/icethrush/repulsive-surfaces
      Be warned that this is definitely research code (as in: this is what we wrote to get the paper done). So it's a bit rough around the edges. There is however a fairly nice file format for specifying a "scene", i.e., the objects that should be important and the constraints/penalties that should be applied (with several examples included). We plan to keep hacking on this code as we do more research... maybe someday have something more polished, in the spirit of (the excellent and wonderfully maintained) KnotPlot.
      Would be really interested to hear your experience, and glad to help you with any speed bumps you run into. Also glad to exchange wisdom about how to best use the tool. E.g., the flow works quite well even on fairly low-poly meshes, so if things are running really slow you might consider remeshing the input with a tool like InstantMeshes or OpenFlipper (or a million others). Also, there can be funny behavior if your input mesh isn't roughly the size of the unit sphere. So, you might try scaling it down to that size if things aren't working as expected.

    • @BathshebaSculpt
      @BathshebaSculpt Před 2 lety +2

      ​Awesome, thank you! Rough code now >> polished code maybe someday.
      Hm, I'm having a dumb idea about curves. Since the tangent-point energy is easy to compute for polylines, how about I consider a tangled loop as a polyline (stipulate, I dunno, 500 endpoints), shovel the points and an index of a point to perturb into a neural net, with a perturbation vector as output, and train using the tangent-point energy as a loss function? There must be an obvious reason that won't work, i.e. produce a net able to untangle curves in general, but now I kind of want to try.
      Don't see it working for meshes though, the curse of dimensionality is a curse indeed.

    • @keenancrane
      @keenancrane  Před 2 lety +1

      @@BathshebaSculpt Yeah, interesting thought! Training a network to directly classify knots seems extremely hard since the classification function on R^{3 x nVertices} is really ill-conditioned: a tiny perturbation of vertices can completely change the knot type. But what you’re suggesting is much more local and hence maybe more feasible. I think the main problem you run into is that, even if you have an oracle that can tell you the position of a single vertex that minimizes energy within an isotopy class (keeping all other vertices fixed), you likely still need a huge number of these “moves” to get the whole curve to the minimal configuration. Moreover, as you refine the curve each vertex will be less and less free to move large distances. So you hit the same basic problems as classic descent strategies-and which Sobolev preconditioning seeks to solve.

    • @BathshebaSculpt
      @BathshebaSculpt Před 2 lety

      ​@@keenancrane I feel like NCA is the right approach to this -- i.e. an oracle that is local, small, fast and highly parallel -- but I don't know enough about how they work in graph-land. Back to reading papers...

  • @98danielray
    @98danielray Před 2 lety +1

    Hi, Keenan. Amazing video and explanation (as always). Are there some good sources explaining why matching the order of the differential is important? I don't even mean high level sources like papers, but rather prevailing principles that make this happen.

    • @keenancrane
      @keenancrane  Před 2 lety +2

      There's not a great tutorial (we are thinking about writing one!) but maybe one classic thing to look at and understand is the CFL (Courant-Friedrichs-Lewy) condition. The basic intuition for this phenomenon is that, in each time step, information needs to be able to travel far enough across your grid or mesh to capture the behavior of the system. So, as you make your grid finer, information has to make smaller and smaller "hops" to get from one grid point to another. In turn, you have to take smaller and smaller time steps, so that the rate at which you're (ostensibly) marching time forward is in synch with how fast information can actually travel. The order of the differential plays a role since Nth-order derivatives typically involve a stencil of ~N grid cells. …this is obviously a *very* hand-wavey explanation, but that hopefully gives a sense of at least one way of understanding why order ultimately matters.

    • @98danielray
      @98danielray Před 2 lety +1

      @@keenancrane did not consider how CFL would play into this. I appreciate taking your time to respond.

  • @columbus8myhw
    @columbus8myhw Před 2 lety +1

    At 38:08 should the exponent be 2-s in the inverse?

  • @adelelopez1246
    @adelelopez1246 Před 2 lety +2

    Are there STL files available for the knotted embeddings at czcams.com/video/dtYGiCpzzbA/video.html ?

    • @keenancrane
      @keenancrane  Před 2 lety +1

      Not yet, but we'd be very glad to release the meshes for all the examples from the paper. Thanks for the prompting, and stay tuned…