#robotics Logs

Aug 08 2019

#robotics Calendar

08:48 AM goppo: hi
08:53 AM goppo: i've got a question about feature-based SLAM. anyone know how those features are usually selected?
08:53 AM goppo: basically, how are these map points generated?
08:57 AM ib0t: it is also possible to use harris corners, surf or sift features
08:58 AM ib0t: if you dont want to add artificial features to the scene
08:58 AM goppo: yeah i see a lot of corners being used as features
09:02 AM goppo: deshipu i suppose apriltags are more for marker-based approaches?
09:02 AM goppo: is it common to run a CNN or something to detect the desirable objects first before generating the map points?
09:02 AM goppo: e.g., detect static objects in the scene
09:04 AM ib0t: why do you want to waste so much calculation power if simple surf features works
09:07 AM ib0t: I think more commoun is to use such corner features
09:07 AM ib0t: but of course it is also possible to do a slam on object level, that its easier to explain for a human
09:07 AM veverak: features in generall
09:07 AM veverak: not only corners
09:08 AM veverak: I've got to nice articles from orbslam2 paper
09:08 AM veverak: there is one algorithm to detect features in images and second to encode them (so you can match them between pictures)
09:08 AM veverak: hmm
09:08 AM veverak: but what were the names?
09:09 AM goppo: but sift features don't distinguish between static and slowly moving objects, right?
09:09 AM ib0t: not in general but you can filter out moving objects
09:09 AM veverak: https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_orb/py_orb.html#orb
09:09 AM veverak: this
09:09 AM veverak: :)
09:10 AM goppo: veverak thanks
09:10 AM goppo: ib0t say, in a road scene, it'd be a good idea to 'filter out' the cars parking on the side of the road, right?
09:11 AM ib0t: it depends
09:11 AM ib0t: if you want to localize your self one day later again than yes
09:12 AM veverak: https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_table_of_contents_feature2d/py_table_of_contents_feature2d.html
09:12 AM veverak: this entire thing seems decent enough
09:12 AM ib0t: if you want to calculate your local velocity vector according to image flow then you will have much less features if you filter out the parking cars
09:12 AM veverak: hmm
09:12 AM veverak: hmmm
09:12 AM goppo: ib0t oh sure
09:12 AM veverak: ib0t: that seems like good idea
09:13 AM veverak: ib0t: I always thought about getting velocity vector based on image flow, as compare entire pictures
09:13 AM veverak: but extracting only features may be more usefull
09:13 AM goppo: ib0t but i guess in terms of SLAM, how are parked cars usually treated though
09:15 AM goppo: i suppose feature detection wouldn't be adequate
09:20 AM ib0t: if you use a standard slam implementation for pictures without any preprocessing than cars are a bunch of pixels as everything in the image
09:20 AM ib0t: but for sure it is possible to detect objects first and do slam on the object level
09:20 AM ib0t: https://zpascal.net/cvpr2013/Salas-Moreno_SLAM_Simultaneous_Localisation_2013_CVPR_paper.pdf
09:20 AM ib0t: this is the first paper I could find according slam on object level
09:21 AM goppo: ib0t thanks
09:22 AM goppo: ib0t but for any self-driving bot to move about on the street, wouldn't it need object level SLAM though?
09:22 AM goppo: otherwise, how could they deal with parked cars
09:23 AM ib0t: it depends as I said before
09:24 AM ib0t: If you want to build really maps of the environment I think the object level would not be the badest idea
09:24 AM goppo: sure, but certainly they need to localise themselves somehow
09:24 AM ib0t: because even the lightning will change if you drive through the street next time
09:25 AM ib0t: I think usually there is used some combination of gps and a more local localization based on image features, optical flow, slam and imu data
09:26 AM goppo: ib0t optical flow is just a measure of velocity, right?
09:26 AM goppo: i mean, for deriving velocity
09:27 AM ib0t: from optical flow you can calculate a change in the robot pose
09:27 AM goppo: yeah
09:27 AM ib0t: from which you can calculate a velocity vector if you know the time between the images
09:28 AM ib0t: basically you find features in two frames and calculate the movement of the corresponding features between the frames
09:52 AM goppo: ib0t i've found this, i suppose this is pretty much like what i described? https://www.youtube.com/watch?v=2luKNC03x4k
10:47 AM ib0t: goppo: yes it looks like what you describe and it looks very interseting
12:45 PM Tom_itx is now known as Tom_L
06:21 PM logb0t_ is now known as logb0t