[HN Gopher] Creating aerial imagery with a bike helmet camera (G...
___________________________________________________________________
Creating aerial imagery with a bike helmet camera (GoPro) and
OpenDroneMap
Author : jakecopp
Score : 40 points
Date : 2022-12-11 21:16 UTC (1 hours ago)
(HTM) web link (jakecoppinger.com)
(TXT) w3m dump (jakecoppinger.com)
| jakecopp wrote:
| I wrote this guide on generating 3D models and orthorectified
| imagery from 360 degree cameras. Usually this sort of thing is a
| lot easier with drones, but there are a lot of places you can't
| fly drones!
|
| I'm hoping this makes mapping curb/street/parking data more
| accessible.
|
| For example, OpenStreetMap has a new street parking spec which
| could make use of lots of street imagery!
| https://wiki.openstreetmap.org/wiki/Street_parking
| Enginerrrd wrote:
| I've spent a lot of time trying to get 3d models of rural roads
| with a truck-mounted go-pro and photogrammetry.
|
| At the end of the day, I couldn't get it to work despite having
| some great data sets. I talked to someone who did manage to get
| this work, proved down to centimeter accuracy but they were
| only able to get it to work with great difficulty and a rig
| with 5 different cameras. They said by the time you do all
| that, you'll have invested enough that lidar would make as much
| sense cost-wise.
|
| I believe the problem is at the MVS step, but it seems like
| none of the libraries handle this use case very well for some
| reason, despite having great overlapping features.
|
| When taken on the ground, doing orbits looking in toward a
| common object works reasonably well, and colmap handled this
| the best. Especially with exhaustive matching, but it takes
| DAYS to process. (Or, 4-6 hours if you REALLY optimize the
| process.)
|
| But moving in a line, no matter how much overlap of the
| features you get, just doesn't work that well, and I do not
| understand why. I think it fails in the feature matching step
| and it makes no sense since it has really similar images to try
| and match if you capture at any reasonable frequency.
|
| I think THIS worked better than I would have expected because
| of the 3d aspect where the lens gives you multiple perspectives
| on objects along the sides.
| jakecopp wrote:
| > But moving in a line, no matter how much overlap of the
| features you get, just doesn't work that well, and I do not
| understand why.
|
| How far apart were the photos taken? I think OpenDroneMap
| needs lots of overlap with drone photos, and even more with
| spherical photos to extract features well.
|
| I haven't experimented with a non-360 degree camera - the
| benefit of a 360 degree camera is you effectively double the
| photos you get (front/back). Cycling or walking also ensures
| huge overlap.
| tomarr wrote:
| Hey nice writeup. I saw you linked to Mapillary on there, have
| you used this and the API? The CV side can really add to
| mapping functionality.
| thomasbibby wrote:
| This is fantastic! Great write up. A question: any idea what
| sort of accuracy you're getting at the end of the process with
| respect to things like carriageway widths? As you allude to in
| the article, this could be a great tool for advocacy groups to
| identify where a road is wide enough to accommodate cycle
| lanes, or where footpath widths are substandard. I was just
| wondering if it's possible to get the +/- 10cm accuracy that'd
| be ideal for doing this sort of work. Thanks!
| saidinesh5 wrote:
| Been meaning to play with opendronemap for quite a while now.
| Thanks for the write up.
|
| Regarding the fisheye correction, may be you can find some code
| and presets from the gyroflow project? they have presets for a
| lot of camera lenses out there, and they do fisheye correction
| and stabilization real time on GPU:
| https://github.com/gyroflow/gyroflow/blob/master/src/core/ca...
| jakecopp wrote:
| Thanks! OpenDroneMap is an awful lot of fun to use, I got
| into it when making models with a DJI Mini Pro 3.
|
| Wow that is some awesome software! I know OpenDroneMap does
| have a library of lenses but it doesn't seem to be able to
| detect the GoPro Fusion. I can't find the code with the
| presets right now, but
| https://docs.opendronemap.org/arguments/camera-lens/ is the
| documentation for selecting the lens type.
|
| My understanding is that if it can't find a lens preset it's
| not an issue; it will instead figure out the lens geometry
| which it also can output. I haven't tinkered with the code
| though and I'm still getting to know the software!
___________________________________________________________________
(page generated 2022-12-11 23:00 UTC)