Iterative Closest Point (ICP) - Computerphile

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ธ.ค. 2024

ความคิดเห็น • 250

  • @tapiomakinen
    @tapiomakinen 11 หลายเดือนก่อน +25

    The problem I have with Dr Mike's videos is that whenever I come here to learn about a specific thing, I end up binge watching many more of his vids, and then forget the reason I came here in the first place.

    • @devsoni3459
      @devsoni3459 หลายเดือนก่อน +1

      Happens to me all the time.

  • @renhansen1246
    @renhansen1246 3 ปีที่แล้ว +90

    Very timely :) I have just finished stitching together several hundred lidar scans of a 2 km long road tunnel for a client. I relied pretty heavily on the auto-alignment software!

    • @tissuepaper9962
      @tissuepaper9962 3 ปีที่แล้ว +19

      I was about to say "sheesh, couldn't you just pay somebody to do all that fiddly work" and then I realized that I'm a doofus and *you're* the one being paid to do fiddly work lol.

    • @surbhibarnwal8431
      @surbhibarnwal8431 2 ปีที่แล้ว

      how did you do that

  • @FranciscoNogueira
    @FranciscoNogueira 3 ปีที่แล้ว +10

    Mike's videos are always pretty engaging. This one is right there near the top.
    Pretty cool stuff.

  • @Tarsonis42
    @Tarsonis42 3 ปีที่แล้ว +106

    That video is rather unexpected - thought the next Mike Pound video would definitely be about Log4j.

    • @optimal284
      @optimal284 3 ปีที่แล้ว +8

      He even said on Twitter he was working on it

    • @franziscoschmidt
      @franziscoschmidt 3 ปีที่แล้ว +2

      That has to happen

    • @austinnar4494
      @austinnar4494 3 ปีที่แล้ว +6

      Usually these videos are shot in advance - not sure about Sean but I know Brady will make a trip to Nottingham and film enough for a handful of videos and then dole them out over time

  • @davidgillies620
    @davidgillies620 3 ปีที่แล้ว +78

    Singular value decomposition is one of those things that translate extremely well to GPUs. In fact, Nvidia's CUDA library has purpose-built SVD support (the cusolverDnDgesvd function in its cuSolver package).

    • @vladusa
      @vladusa 3 ปีที่แล้ว +3

      I used that for live feeds of a self-driving simulation.

    • @christophertralie9311
      @christophertralie9311 2 ปีที่แล้ว +6

      Sadly, SVD is by far not the bottleneck in this algorithm because it's only an SVD of a 3x3 matrix. Actually, the real thing that needs to be sped up on the GPU is nearest neighbors search, which is a bit tougher but doable

    • @christophertralie9311
      @christophertralie9311 2 ปีที่แล้ว

      You'd have to use a parallelizable KD Tree

  • @andrewharrison8436
    @andrewharrison8436 3 ปีที่แล้ว +24

    Enjoyed - nicely explained. Love the enthusiasm.
    Seems to me that it works well for the scenery but there is a whole set of other problems if there are moving components. First level difficulty a moving rigid object - say a car. Even more tricky a flexible item - say a person walking.
    For a real time application then more frequent scans means closest point is more likely to be the corresponding point but you have less time to process each scan - interesting trade off.

    • @MrJacobegg
      @MrJacobegg 3 ปีที่แล้ว +5

      The goal of ICP is to reduce the amount of error, where "error" in this context would be defined (very roughly) as the sum of squared distances between the matched pairs of points. So movement in your scene would be handled (naively) the same way as the edges of the bunny scans in his example - the algorithm will minimize the error as much as possible but eventually get to a stopping point where most of the scene points overlap nicely but there are areas of large concentrated error, corresponding to the places where there was movement. (Hopefully that was clear enough.)

  • @salah6160
    @salah6160 11 หลายเดือนก่อน

    It's inspiring how you explain different computer science topics and still explain them all exceptionally well.

  • @Kruglord
    @Kruglord 3 ปีที่แล้ว +1

    This is great, I've worked as a Lidar engineer for like a decade now, and ICP is one of those tools which will just tie everything together in a nice bow.

  • @AndrewWhise
    @AndrewWhise 3 ปีที่แล้ว +28

    In astronomy we often need to map arbitrary images of the night's sky to Right Ascension and Declination coordinates (called plate solving). I wonder if this algorithm is involved, using stars as the points.

    • @konstantinkh
      @konstantinkh 3 ปีที่แล้ว +13

      When your points have additional attributes, such as brightness, it's often helpful to treat them as an additional dimension. Besides that, what the matching program does is probably very similar. At least, as the final step. To improve convergence, it might, for example, start with just the brightest points, and add more as it gets closer to the solution.

    • @xl000
      @xl000 ปีที่แล้ว

      Have a look at OpenCV + Homography.

  • @CryTyped
    @CryTyped 3 ปีที่แล้ว +2

    I’m currently doing my dissertation on using lidar on iphones to create 3d meshes. I’ve been watching computerphile since its inception back when i was in high school, crazy to think how far i’ve come since then

  • @willmanjm
    @willmanjm 3 ปีที่แล้ว +1

    I am loving these recent videos on Computer Vision! Thanks!

  • @ChrisDreher
    @ChrisDreher 3 ปีที่แล้ว +114

    Finally a video on the technical aspects of Insane Clown Posse (ICP).

    • @ShaunHusain
      @ShaunHusain 3 ปีที่แล้ว +7

      Magnets how do they work (more sixty symbols territory, perhaps a sociology channel as well ;) )

    • @davidgillies620
      @davidgillies620 3 ปีที่แล้ว +13

      Fing LIDAR; how does that work?

    • @mattanimation
      @mattanimation 3 ปีที่แล้ว +5

      whoop whoop

    • @kellysmith7357
      @kellysmith7357 3 ปีที่แล้ว

      they got the dog beats

    • @CoughSyrup
      @CoughSyrup 3 ปีที่แล้ว +3

      I've always had Mike Pound pegged as a Juggalo, so it's nice to have my suspicions finally confirmed.

  • @maxmusterman3371
    @maxmusterman3371 3 ปีที่แล้ว +4

    Pleease more of this :3 great, interesting stuff perfectly presented as always

  • @Veptis
    @Veptis 2 ปีที่แล้ว +3

    I had this video in my watch later over 3 months now. My expectation was to learn something about photogrammetry and matching pairs to build a tree and then a point cloud. I had some ideas to how it might work with projection and interaction, but that seemed a little involved. Now with the topic of doing 2D or 3D tracking in video, I always assumed the 2D example would do an extrapolated spiral search pattern for points and just find the lowest difference in the search area.
    But it never occured to me to see matrix tricks like SVD show up. Such a crossover.
    I knew that a fourier transform on a matrix (like an image) would ignore any kind of translation or rotation, so you would use it for pattern matching for example. There was an actual optical application by Huygens Optics in a video a long while ago.

  • @QuintinMassey
    @QuintinMassey 2 ปีที่แล้ว

    I had no idea you could use meshlab like that. Thank you for making this.

  • @noahzuniga
    @noahzuniga 3 ปีที่แล้ว +1

    the legend returns

  • @maxdoner4528
    @maxdoner4528 3 ปีที่แล้ว +1

    Love Dr Pound

  • @joeab10
    @joeab10 3 ปีที่แล้ว +11

    Very nice explanation! You could have also shown how bad it can get by doing the wrong initial point correspondence and hitting a local minimum.

  • @DanielDoron-lightydo
    @DanielDoron-lightydo ปีที่แล้ว

    Awesome explanation and demonstration!! Love it!

  • @DavidMorales-xz7fn
    @DavidMorales-xz7fn 3 ปีที่แล้ว +5

    I'm a simple man. If I see Dr Mike Pound in a thumbnail, I click.

  • @larrybud
    @larrybud 3 ปีที่แล้ว

    I think Mike is the best presenter on this channel.

  • @ivarkrabol
    @ivarkrabol 3 ปีที่แล้ว +27

    Hope to see a video on log4shell, when you get around to it :)

  • @drawn__9999
    @drawn__9999 3 ปีที่แล้ว +1

    This was the clearest explanation of any algorithm I've ever heard in my life.

  • @deepakrajendra8019
    @deepakrajendra8019 3 ปีที่แล้ว +1

    Mike Pound's back!

  • @Alive6371
    @Alive6371 3 ปีที่แล้ว +3

    The videos are great. Can you kindly provide with captions ?

  • @elliotyu6573
    @elliotyu6573 3 ปีที่แล้ว

    13:15 The sound effect for ICP is brilliant.

  • @YensR
    @YensR 3 ปีที่แล้ว +8

    5:40 I understand the centre of mass of the points to shift the sample - but how do you decide the rotation? Do you just move it to centre of mass, then rotate and if it gets better, you rotate it some more , until it gets worse again? Or is there a better way to do it?

    • @alegian7934
      @alegian7934 3 ปีที่แล้ว +4

      rotations are simple enough that they can be expressed as matrix multiplication. the resulting matrix will not be completely solvable because its an approximation, but SVD gets you the best solution you can get with linear algebra

    • @YensR
      @YensR 3 ปีที่แล้ว

      @@alegian7934 yes he mentions SVD later but considering its 3 dimensions my mind still boggles how this can be done so quickly. Is there anything that helps a first guess?

    • @alegian7934
      @alegian7934 3 ปีที่แล้ว

      I could be wrong in any of the following. But: if matrix A describes the 3d rotation, X is the matrix that contains as columns all points in one group and Y is the matrix that contains all points in the other group, we have AX=Y (approximately, remember, these cant truly be equal) so ideally if they were equal we would invert matrix X and obtain A=YX' (we found the rotation matrix) In reality X is not invertible at all but we can find its SVD that gets us as close to its inverse as possible. so we get something like A*UΣV=Y and we solve for matrix  (an approximation of the optimal rotation). And we apply  to X

    • @YensR
      @YensR 3 ปีที่แล้ว

      @@alegian7934 I guess that's it! This is all new to me. We did cover 3d transformations back in my degree, but not inverse, only forward. At least that's what i remember! Very interesting, will have to do some more reading before I understand this enough.

    • @embeddor2230
      @embeddor2230 2 ปีที่แล้ว

      @alegian Can't we just do the following:
      1) build a vector A out of the selected points of the first shape in respect to their center of mass: A = Σ a_i - a_center
      2) build a vector B out of the selected points of the second shape also in respect to their center of mass: B = Σ b_i - b_center
      3) calculate angle between the vectors?

  • @KarlssonF
    @KarlssonF 3 ปีที่แล้ว +6

    now do one about SLAM (specifically with lidar maybe), would be a very cool topic

  • @Richardincancale
    @Richardincancale 3 ปีที่แล้ว +12

    I thought the Utah teapot was the archetypal 3D model, never heard of the Stanford bunny!

    • @ufffd
      @ufffd 3 ปีที่แล้ว +4

      I think Utah teapot is the classic hard surface modeling and Stanford bunny is more relevant to photogrammetry

  • @simeon136
    @simeon136 3 ปีที่แล้ว +2

    Our biggest scan project was around 20 Billion points. Took a while to register even on a Threadripper-based workstation. Our scanner measures 976,000 pts/sec.

    • @videojeroki
      @videojeroki 3 ปีที่แล้ว

      Maybe you where busy counting your points, but if you listen carefully around ~10:00 he is answering your comment

    • @videojeroki
      @videojeroki 3 ปีที่แล้ว

      Btw: 20billion points would take more than 230 days of non stop laser scanning (with your ~1M pts/sec laser scanner). Did you just scan the all earth or what ?!!! :D

    • @simeon136
      @simeon136 3 ปีที่แล้ว +1

      @@videojeroki, I know how it works, scanning is a large part of my job.

    • @simeon136
      @simeon136 3 ปีที่แล้ว +6

      ​@@videojeroki a zoo with a castle in the grounds. We used multiple scanners. Terrestrial lidar scanners , UAV lidar and a wearable mobile mapping unit. We also took over 40,000 61MP full frame photos which are used to texture the mesh.

  • @ahbushnell1
    @ahbushnell1 3 ปีที่แล้ว +13

    i assume this is what is done when they stack photo's say for astronomy. That would be an interesting video.

    • @giant3909
      @giant3909 3 ปีที่แล้ว +1

      In astrophotography they can stack up to 100 hours of data to render a galaxy

    • @emmanueloluga9770
      @emmanueloluga9770 3 ปีที่แล้ว

      @@giant3909 omg wow..thats a lot of data

    • @kittenhat7266
      @kittenhat7266 3 ปีที่แล้ว

      Some programs might, but others use a method called RANSAC. For star fields, it’s not too much to ask of a computer to try to “brute force” match the brightest stars in 2 images.

  • @GorrathEUNE
    @GorrathEUNE 3 ปีที่แล้ว

    Please add the subtitles! :) I love the other videos

  • @renegibbetnich7883
    @renegibbetnich7883 2 ปีที่แล้ว

    Thank you for this little tutorial. I wouldn't have found meshlab otherwise.

  • @Dandelion_Stitches
    @Dandelion_Stitches 3 ปีที่แล้ว

    MMFCL in here for this video, spreading the word for ICP! WOOP WOOP!

  • @johnlasky
    @johnlasky 3 ปีที่แล้ว +3

    Really interesting video! Are self driving cars doing this type of mesh stitching on the fly? And if so, would adding special reflective tape to the environment help with key point localization and reduce the amount of computation its doing? (Clearly I don't know anything about this stuff)

  • @xsoggyeggroll4966
    @xsoggyeggroll4966 3 ปีที่แล้ว +15

    im taking classses in computer assisted surgery and this couldn't have come at a better time lol

    • @difflocktwo
      @difflocktwo 3 ปีที่แล้ว

      are you a surgeon?

    • @xsoggyeggroll4966
      @xsoggyeggroll4966 3 ปีที่แล้ว +1

      @@difflocktwo nope too stressful haha, i'm in grad school for biomedical engineering. but I have talked with surgeons who use registration technology with robotic assistance and it's super cool to see these concepts work in real situations

    • @mertakyaz5359
      @mertakyaz5359 3 ปีที่แล้ว

      @@xsoggyeggroll4966 Do you see those applications on practical?? That seems scary 😶

    • @xsoggyeggroll4966
      @xsoggyeggroll4966 3 ปีที่แล้ว

      @@mertakyaz5359 icp is generally used to match medical images with the robots workspace and also to track tools in the workspace

    • @mertakyaz5359
      @mertakyaz5359 3 ปีที่แล้ว +1

      @@xsoggyeggroll4966 Liked the job there. I meant have you seen open surgery with these products been using or just simulations? I was talking about seeing a surgery 😄

  • @hymen0callis
    @hymen0callis 3 ปีที่แล้ว

    12:09 Where is FPFH (from PCL) or multiview registration when you need it?

  • @TheKrankgamer
    @TheKrankgamer 3 ปีที่แล้ว +6

    Crazy, I am just doing a project in the next weeks on this for university

  • @intelinside3334
    @intelinside3334 11 หลายเดือนก่อน

    Thank you for this interesting video

  • @Zahlenteufel1
    @Zahlenteufel1 3 ปีที่แล้ว +1

    Let's all take a moment to appreciate the existence of FOSS!

  • @blueguy5588
    @blueguy5588 3 ปีที่แล้ว

    Very interesting. You can see the potential for some sort of memoization as well.

  • @MartinTowell
    @MartinTowell 3 ปีที่แล้ว +2

    16:14 - "you can put the links in the description" -- is it possible to put the links in the description, please?

  • @gloverelaxis
    @gloverelaxis 3 ปีที่แล้ว +2

    I assume the reason ICP isn't N^2 is because computing the "centre of mass" is the same as computing an mean/average? i.e., you can just **add** to the current average/accumulator then perform a single division at the end?

  • @murman100
    @murman100 3 ปีที่แล้ว

    Very good mike

  • @micmacha
    @micmacha 8 หลายเดือนก่อน

    You mention translation and rotation, but in 3D I'm also thinking about relative scaling and skewing. I presume a generic affine transform is assumed?

  • @calciumgoodness4073
    @calciumgoodness4073 3 ปีที่แล้ว +7

    Can we see a video on the TOR network compromise where a bad actor is running a bunch of relays?

    • @dustinjames1268
      @dustinjames1268 3 ปีที่แล้ว

      The bad actor you speak if us the US government

  • @keksauraisks
    @keksauraisks 3 ปีที่แล้ว +2

    Please do a video on Log4Shell!

  • @Primalmoon
    @Primalmoon 3 ปีที่แล้ว +2

    Dr Pound said there would be links in the description...?

    • @Computerphile
      @Computerphile  3 ปีที่แล้ว +2

      Oh yes, sorry, bear with me! -Sean

  • @GilesBathgate
    @GilesBathgate 3 ปีที่แล้ว +3

    Kd Trees, would make an interesting computerphile video.

    • @DJCloudPirate
      @DJCloudPirate 3 ปีที่แล้ว

      KD trees are the underappreciated workhorse of machine vision. If done properly they can be blazingly fast compared to other spatial partitioning schemes. They don't provide some of the benefits of more complex structures but for nearest neighbor searches they're tough to beat. Interestingly enough the textbook implementation of KD trees (and the ones found in open source libraries like the PCL) are not optimal. They are "pure" but in practical terms there are tricks you can play to speed them up without much work.

  • @U014B
    @U014B 3 ปีที่แล้ว +8

    The algorithm was originally going to be called Iterative Closest Union Point, but after an inexplicable outbreak of giggle fits, the name was changed.

    • @julianatlas5172
      @julianatlas5172 3 ปีที่แล้ว +4

      what's wrong with that name? I'm not a ntive english speaker so I think I'm missing the joke

    • @U014B
      @U014B 3 ปีที่แล้ว +5

      @@julianatlas5172 Say the initials out loud.

  • @To-mos
    @To-mos 2 ปีที่แล้ว

    What is a situation where you would already have the geometry from a point cloud and need to overlap it like he's demonstrating. From what I've seen protogrammatry and point cloud to mesh software already aligns the points before even doing a geometry pass.

  • @BooBar2521
    @BooBar2521 ปีที่แล้ว

    man, this was pretty clear. nice what you can do with one sheet of paper XD

  • @qztronic
    @qztronic 3 ปีที่แล้ว

    Can you guys explain how those spinning lidar sensor are use to create a 2d map. (in term of how the raw data that lidar received get compute by the computers and then TADA we just have a map?)

  • @BraedenSmith
    @BraedenSmith 3 ปีที่แล้ว

    Feels pretty similar to k means clustering.
    Basically both are gradient descent on a non convex function, involving distances in N dimensions.

  • @10lauset
    @10lauset 3 ปีที่แล้ว

    Is this somewhat like 'persistence of vision'?

  • @ysahillioglu
    @ysahillioglu 3 ปีที่แล้ว

    Check out Scale-Adaptive ICP too :)

  • @Test-dp1ib
    @Test-dp1ib 3 ปีที่แล้ว

    What’s does he says at 9:46 ? Singularity composition ?

    • @ThePyrosirys
      @ThePyrosirys 3 ปีที่แล้ว +1

      Singular value decomposition

  • @jonathanmain9079
    @jonathanmain9079 3 ปีที่แล้ว

    A long shot but how important is it for it to be accurate?? Would the fast inverse square root solution work well for this?

  • @prasadnemade6979
    @prasadnemade6979 ปีที่แล้ว

    how did u eliminate the unwanted points form depth camera

  • @Viniter
    @Viniter 3 ปีที่แล้ว +1

    Are you going to make a video on the Log4j exploit?

  • @ofrench560
    @ofrench560 3 ปีที่แล้ว +14

    Mike has a home? I thought he just lived in his office, seen in this video behind him

    • @drooplug
      @drooplug 3 ปีที่แล้ว

      He appears at home only when he is on loan from the university.

    • @ofrench560
      @ofrench560 3 ปีที่แล้ว

      ​@@drooplug I see
      Understandable

  • @SebastianMonsalvo-u3j
    @SebastianMonsalvo-u3j หลายเดือนก่อน

    Me: student at Stanford studying for my robot autonomy exam
    Mike: Have you heard of the stanford bunny
    Me: not really, I've just spent the past two weeks of my life working with the point cloud of this bunny. but that's about it
    Mike:
    Me: will i ever escape this bunny

  • @ThomasHaberkorn
    @ThomasHaberkorn 3 ปีที่แล้ว +1

    is this also used for 3D dental scan technology?

  • @booodan
    @booodan 3 ปีที่แล้ว +2

    Please do a video on the recent log4j exploit!!

  •  3 ปีที่แล้ว

    I guess you can also do some calculations in other domain, for example distance(angle) instead of cartesian x(y). It can help.

    • @Great.Milenko
      @Great.Milenko 3 ปีที่แล้ว

      that would be my first idea to solve this issue I guess. create a set of data describing distance and angles of a bunch of points, then find the same results in the new data. although saying that point cloud data is usually very different from scan to scan.

  • @charliebaby7065
    @charliebaby7065 3 ปีที่แล้ว

    OMG YES! !! THANK YOU THANK YOU (I guess my pfp gives away my enthusiasm)

  • @guoah9
    @guoah9 3 ปีที่แล้ว +4

    I discuss my masters thesis in two days and this is something i used in it. nice timing 🤣

    • @dariuszmyczko7615
      @dariuszmyczko7615 3 ปีที่แล้ว

      Good luck on that!

    • @emmanueloluga9770
      @emmanueloluga9770 3 ปีที่แล้ว

      Awesome. What's your master thesis on?

    • @guoah9
      @guoah9 3 ปีที่แล้ว +1

      @@emmanueloluga9770 I discussed it this morning, it went very well. It is on an aerial point-cloud registration algorithm designed for urban scenarios. Basically it uses both image and point-clouds features to find an initial alignment as Mike does manually in the video and then applies ICP to refine it. I used an aerial Lidar scan of my uni city and ground clouds built with photogrammetry from a goPro(which stores a lot of position metadata) .

    • @emmanueloluga9770
      @emmanueloluga9770 3 ปีที่แล้ว

      @@guoah9 oh wow thats very interesting and exciting work. Congratulations on that accomplishment. Is there a paper out yet

  • @zxuiji
    @zxuiji 3 ปีที่แล้ว

    uh, I woulda just matched just compared the distances from the relative end points and worked my way inwards, if the distance stretches or contracts to much then it's not the same object, abort and try the next object, either way you need to identify the objects in the snapshot working with, might as well just compare the results to previous results to see what has the least difference in point distances
    **Edit:** the process could be further optimised by skipping objects that have to big a difference in the number of points also

  • @drskelebone
    @drskelebone 3 ปีที่แล้ว +2

    Obligatory question that will probably be answered in the next minute: Are there any physics-based/momentum-like solvers? "We've been moving kind of left-ish at two meters per second. If we assume some points are close, and some are far, where would the last set of points fall?"

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 2 ปีที่แล้ว

      Instinctive physics-undergrad answer: represent each point in 6D, being 3 spatial coordinates and 3 momentum coordinates. Then do ICP in that space?

  • @Ogmobot
    @Ogmobot 3 ปีที่แล้ว

    This was an Advent of Code puzzle this year

  • @SteveMacSticky
    @SteveMacSticky 3 ปีที่แล้ว

    very interesting

  • @kapils4113
    @kapils4113 3 ปีที่แล้ว +2

    Sir you played an amazing role in Spiderman no way home !

    • @ralfoide
      @ralfoide 3 ปีที่แล้ว

      Huh? Explanation?

  • @pierreabbat6157
    @pierreabbat6157 3 ปีที่แล้ว +2

    A couple of applications of this:
    1. You have a lidar scan of terrain that includes woods, which has no color but has a few points on the forest floor, and a photogrammetric scan of the same terrain, which has color but no ground points. You align them and color the lidar points. (At least PerfectTIN, the program I wrote to make a TIN of point clouds, completely ignores color.)
    2. You have a drone with a 32-head laser scanner. You fly it between two buildings over pavement and get 32 point clouds, one from each head. You align them and determine the calibration so that the point cloud you get from putting all 32 heads together is accurate.

  • @drooplug
    @drooplug 3 ปีที่แล้ว

    No 3d scans of Lenna?

  • @MrGoatflakes
    @MrGoatflakes 3 ปีที่แล้ว

    Could we get some captions please? I'm finding it very hard to make out what Dr Mike is saying...

  • @AlanCanon2222
    @AlanCanon2222 3 ปีที่แล้ว +9

    Speaking as a grown up kid from the Commodore 64 days, may I just say, the kids are all right. You want self driving cars that save babies automatically? Let this up and coming generation design them.

  • @hitarthpanchal1479
    @hitarthpanchal1479 3 ปีที่แล้ว

    How does this relate to SLAM?

  • @Turnadey
    @Turnadey 3 ปีที่แล้ว

    Video on Log4?

  • @aperson1234-t8x
    @aperson1234-t8x 3 ปีที่แล้ว +3

    The missile knows where it is, because it knows where it isn’t

  • @scheimong
    @scheimong 2 ปีที่แล้ว

    You know the guy knows what he's doing when you see the MX master

  • @niyaziugur
    @niyaziugur 3 ปีที่แล้ว +1

    gradient descent?

  • @jwrush
    @jwrush 3 ปีที่แล้ว +1

    "Maybe you have an artist sculpt something and then you scan it and get a nice mesh" well, a mesh anyway. point clouds don't yield clean topology, so one almost always has to retopo the mesh

  • @MoritzvonSchweinitz
    @MoritzvonSchweinitz 3 ปีที่แล้ว +5

    But I think you are skipping over the main problem: how do the LIDAR scanners do the job of identifying common points that you did manually in an automated way?

    • @jonmackenzie
      @jonmackenzie 3 ปีที่แล้ว +6

      i would guess that because of the high scanning frequency the points are already going to be pretty well aligned. each consecutive scan will be pretty similar to the last

    • @TheNonXtreme
      @TheNonXtreme 3 ปีที่แล้ว +5

      Probably with the help of other sensor data. For example, wheeled robot can take the encoder reading at the wheel to estimate the change in direction and position of the lidar sensor itself between each lidar scan. This data can be used to first align the point clouds closely together enough before doing the ICP.

    • @Meoiswa
      @Meoiswa 3 ปีที่แล้ว +1

      If you know the exact location of your camera and lidar, you can map lidar points to camera pixels, then use strategies like edge detection or color feature isolation to tag points.

    • @tissuepaper9962
      @tissuepaper9962 3 ปีที่แล้ว +4

      His input was a rough guess, in any real-world application you can use ubiquitous accelerometer or GPS data to get that guess. It's just not relevant to the algorithm itself, which is the focus of the video.

    • @TheAudioCGMan
      @TheAudioCGMan 3 ปีที่แล้ว +1

      yes to above answers. it's already close, but you can improve it with inertia measurements, feature detection in the point clouds, or feature detection from some color camera

  • @FloydMaxwell
    @FloydMaxwell 3 ปีที่แล้ว

    Facial recognition algorithms must be using this as well

  • @RobinHagg
    @RobinHagg 3 ปีที่แล้ว

    Looks like this would be used in fingerprint Scan or qr code scan maybe.

  • @quintrankid8045
    @quintrankid8045 3 ปีที่แล้ว

    n squared? Isn't exhaustive search going to be n factorial?

  • @TheSwedishFreaK
    @TheSwedishFreaK 2 ปีที่แล้ว

    Use thios quite alot for game art. Photogrammetry though, so dont know if it work the same.

  • @ASCENDANTGAMERSAGE
    @ASCENDANTGAMERSAGE 3 ปีที่แล้ว

    why not fit a curve to each set and rotate until those curves match. translation is automatically accounted for

    • @DJCloudPirate
      @DJCloudPirate 3 ปีที่แล้ว

      Ultimately you end up having to solve the same problem. The example "cloud" shown in this video might give you the impression that you could just fit something like a spline or Bézier curve through the points and then "simply" align the two curves. First problem is that most real world data sets won't let you simply fit a curve..."Well, then maybe fit a surface" you might say... again, not always easy, or fast. But even if you do manage to fit nice representative surfaces to the clouds... how do you think you find the registration between two surfaces? You use ICP :)

  • @mpoisot
    @mpoisot 3 ปีที่แล้ว +2

    When scanning a stationary object like this from all sides, why not record the camera position and direction for each scan? It seems like that data could be used in place of the manual rough alignment step, and then the whole thing would be automatic.

    • @MrBainus
      @MrBainus 3 ปีที่แล้ว +1

      In practice, if you can solve a problem in software alone, it's usually cheaper than solving it using hardware that you'll have to buy, install and debug.

    • @Edgard422
      @Edgard422 3 ปีที่แล้ว +2

      You do that with inclinometers and GPS, but the precision you get is not enough. It is enough for the initial estimation, after that you use ICP

  • @jjferman2587
    @jjferman2587 3 ปีที่แล้ว

    Is it just the lighting or does Dr. Pound have blue and green eyes?

  • @braveshine2579
    @braveshine2579 3 ปีที่แล้ว

    Please add subtitle. Love from oversea.

  • @keenheat3335
    @keenheat3335 2 ปีที่แล้ว

    the structure of the algorithm feels kind of similar to the face id algorithm that was shown in computerphile many years ago.

  • @jms019
    @jms019 3 ปีที่แล้ว

    Is that a vivarium ?

  • @fennecinspace
    @fennecinspace 3 ปีที่แล้ว

    I started working on a project involving ICP and point clouds this month LOL.

  • @Ecolipsy
    @Ecolipsy 3 ปีที่แล้ว

    Yes

  • @philippebarbie3829
    @philippebarbie3829 2 ปีที่แล้ว

    05:08 -> Now it's clear to me that drawing lines doesn't make any sense
    07:30 -> Can I just use my lines? How clever... :P

  • @MrWarlock616
    @MrWarlock616 3 ปีที่แล้ว +2

    Please request him to talk about log4j

  • @MrMysterious420
    @MrMysterious420 3 ปีที่แล้ว

    Whoop whoop!

  • @KipIngram
    @KipIngram 8 หลายเดือนก่อน

    So I see no way to do this without scanning your two groups of items at least once. I mean, you have to know what you've got. So, as I did that, I'd accumulate data I needed to define the "principle axes" of the two groups, along with extent information along those axes. Then in the "general" (non-pathological) case, it should be as simple as matching those up. We could contrive situations where there were symmetries that would make that approach non-deterministic, but it sure seems like it would get you a long way.

  • @Nagria2112
    @Nagria2112 3 ปีที่แล้ว +1

    Mike is back? instant klick
    sorry but he i just the best host on here, second would be miles.