<story><title>Creating aerial imagery with a bike helmet camera (GoPro) and OpenDroneMap</title><url>https://jakecoppinger.com/2022/12/creating-aerial-imagery-with-a-bike-helmet-camera-and-opendronemap/</url></story><parent_chain><item><author>jakecopp</author><text>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&amp;#x27;t fly drones!&lt;p&gt;I&amp;#x27;m hoping this makes mapping curb&amp;#x2F;street&amp;#x2F;parking data more accessible.&lt;p&gt;For example, OpenStreetMap has a new street parking spec which could make use of lots of street imagery! &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;wiki.openstreetmap.org&amp;#x2F;wiki&amp;#x2F;Street_parking&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;wiki.openstreetmap.org&amp;#x2F;wiki&amp;#x2F;Street_parking&lt;/a&gt;</text></item></parent_chain><comment><author>Enginerrrd</author><text>I&amp;#x27;ve spent a lot of time trying to get 3d models of rural roads with a truck-mounted go-pro and photogrammetry.&lt;p&gt;At the end of the day, I couldn&amp;#x27;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&amp;#x27;ll have invested enough that lidar would make as much sense cost-wise.&lt;p&gt;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.&lt;p&gt;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.)&lt;p&gt;But moving in a line, no matter how much overlap of the features you get, just doesn&amp;#x27;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.&lt;p&gt;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.</text></comment>
<story><title>Creating aerial imagery with a bike helmet camera (GoPro) and OpenDroneMap</title><url>https://jakecoppinger.com/2022/12/creating-aerial-imagery-with-a-bike-helmet-camera-and-opendronemap/</url></story><parent_chain><item><author>jakecopp</author><text>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&amp;#x27;t fly drones!&lt;p&gt;I&amp;#x27;m hoping this makes mapping curb&amp;#x2F;street&amp;#x2F;parking data more accessible.&lt;p&gt;For example, OpenStreetMap has a new street parking spec which could make use of lots of street imagery! &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;wiki.openstreetmap.org&amp;#x2F;wiki&amp;#x2F;Street_parking&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;wiki.openstreetmap.org&amp;#x2F;wiki&amp;#x2F;Street_parking&lt;/a&gt;</text></item></parent_chain><comment><author>saidinesh5</author><text>Been meaning to play with opendronemap for quite a while now. Thanks for the write up.&lt;p&gt;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: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;gyroflow&amp;#x2F;gyroflow&amp;#x2F;blob&amp;#x2F;master&amp;#x2F;src&amp;#x2F;core&amp;#x2F;calibration&amp;#x2F;mod.rs&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;gyroflow&amp;#x2F;gyroflow&amp;#x2F;blob&amp;#x2F;master&amp;#x2F;src&amp;#x2F;core&amp;#x2F;ca...&lt;/a&gt;</text></comment>