Posts by: pierotofy

Share Massive Drone Captures Directly from WebODM with Cesium ion

 

Reposted from the Cesium blog.

We’re excited to announce that the latest version of WebODM (OpenDroneMap) now ships with support for 3D tiling with Cesium ion.

WebODM allows users to generate point clouds, 3D models, and terrain from aerial images. With this new Cesium ion integration, users can also fuse the data they’ve collected with other geospatial datasets, such as the Cesium World Terrain, all placed in an accurate global context.

This photogrammetry mesh of Malalison Island, Philippines, was tiled on Cesium ion and fused with the global Cesium World Terrain. See a live demo in your browser. Source data captured by the American Red Cross and processed with OpenDroneMap.

It’s also possible to layer multiple versions of data, which is useful if, for example, you’re monitoring an area by comparing scans from different points in time.

Even though such high resolution 3D data often comes in gigabytes, our new integration makes it easy to tile that data into 3D Tiles and host it with the Cesium ion platform directly from the WebODM dashboard.

Cesium ion plugin in WebODM

The latest version of WebODM now has a “Tile in Cesium ion” button which will tile and host massive 3D datasets in the cloud.

MicMac Support Lands in WebODM

 

Continuing our recent announcement about MicMac integration, today we are pleased to announce that support for NodeMICMAC in WebODM is now available!

We have started making changes to the NodeODM API to accommodate a more engine agnostic definition, which will continue in the future to improve the synergy between projects.

Existing WebODM users (using docker) can get up and running with MicMac by simply typing:

./webodm.sh update
./webodm.sh restart --with-micmac

Kudos to the DroneMapper team for the development of NodeMICMAC that has made this feat possible.

We look forward to hear the community feedback.

Stitching Historical Aerial Images From 1940 Using OpenDroneMap

 

During the recent OSGeo Code Sprint hosted at the University of Minnesota, we had the opportunity to learn more about the university’s effort to preserve some historical archives of aerial imagery.

We put our eyes on an old 1940 dataset of Hennepin County, Minnesota. The images are overlapping by about 20-30%. There’s also paper tears in many of the scans. We had never tried this before. Would it be good enough for ODM to process? We had to find out.

We quickly put together a script to download some of the images from the University’s online archive, add EXIF tags to the images and send them to ODM using the –fast-orthophoto option, which works well for high altitude flights and datasets with little overlap. We didn’t know what to expect. But a few hours later, when we saw the results, we knew it had worked!

Code available at: https://github.com/pierotofy/historical_aerial_downloader

GeoTIFF: https://drive.google.com/open?id=18UhkAR5jggOtgNvBzadEz-P-bymu14_m

Images credits to the University of Minnesota.

Introducing Contours in WebODM

 

With the 0.9 release of WebODM we are introducing the ability to preview and export contours directly from map view. This has been a much requested feature and we decided to take on the work to implement it.

Behind the curtains we used the GRASS GIS engine which already powers the volume measurement plugin to do the contours calculation, with some help from GDAL/OGR. The beauty of using a familiar language to power these computations is that it’s really easy (if you are familiar with GRASS) to understand how the information is calculated. No mistery. It’s all here.

http://github.com/OpenDroneMap/WebODM

Enjoy!

WebODM 0.8.1 is out! Improvements and Task Imports.

 

Originally posted on https://www.pierotoffanin.com/2019/02/webodm-0-8-1-is-out-improvements-and-tasks-import/

Today we’ve released version 0.8.1 of WebODM. It features several improvements including:

  • Ability to import tasks that have been processed on another WebODM instance (or via webodm.net or NodeODM).
  • Custom TMS/XYZ basemaps and no basemaps toggle.
  • Review step prior to processing a dataset, which should reduce mistakes when creating a new task and selecting the wrong node or options.
  • New UI colors.
  • Simplified process for starting a development environment (deprecated the devenv.sh script in favor of a –dev flag to be passed to webodm.sh)
  • Volume measurement bug fix for iframes and public links.
  • Export volume measurements! This was probably overdue, there was no way to export the geometry / volume calculation results out of WebODM. Now you can!

Announcing CloudODM and PyODM

 

2019 is off to a great start for OpenDroneMap. We are announcing the releases of two open source projects, CloudODM and PyODM. Let’s explore each.

CloudODM

Photogrammetry is a memory intensive process. Not all computers are equipped with large amounts of RAM or powerful CPUs. And of course, we’d like ODM’s capabilities to be available on as many platforms and machines as possible. CloudODM is a command line tool to process aerial imagery in the cloud via NodeODM‘s API. Small, native clients are available for all major platforms including Windows, Mac and Linux. Perhaps you have installed NodeODM on one of your powerful machines at home, but you have a less powerful laptop that you use for your daily work. Now you can invoke odm commands from the less powerful computer and let CloudODM handle the rest. Scripting and automation anyone?

PyODM

Speaking of scripting, we couldn’t just release a command line client without having a proper library for doing the same. PyODM is a Python library that speaks the NodeODM API and allows developers to implement image processing capabilities in 5 lines of code!


from pyodm import Node
n = Node('localhost', 3000)
task = n.create_task(['examples/images/image_1.jpg', 'examples/images/image_2.jpg'], {'dsm': True})
task.wait_for_completion()
task.download_assets("results")

Conclusion

We want to take a moment to thank our community of users. Your feedback has been and continues to be invaluable for the growth of the project. It’s knowing that there are thousands of you out there using the software daily that motives us to continue working. So thank you!

If you haven’t yet, keep the feedback coming and let us know what you would like to see next.

Better Everything: Announcing OpenDroneMap 0.4

 

After much anticipation, we are proud to announce the 0.4 release of OpenDroneMap. We have given a preview of what was coming in a previous blog post and in this post we want to expand on what you can get today from the program.

Much Denser Point Clouds

With the proper settings (just increase –depthmap-resolution) we can now easily achieve 20x point density, much better point coverage and better memory usage. This is thanks to the fantastic work of Dakota that brought Shading Aware Multiview Stereo in replacement of PMVS.

Better Orthophotos

We have done two major improvements to increase the quality of our orthophotos. A new 2.5D meshing approach which is both faster and yields improved building outlines and a modification of the texturing program to affect the priority of nadir shots (which users can control via –texturing-nadir-weight). With these two modifications in place, we are seeing visual improvements across a wide range of datasets.

Better Meshes

The new version includes an improved screened poisson reconstruction algorithm and an additional cleanup step, which means better 3D meshes, less artifacts and better memory usage.

Faster DSM/DTM Generation

Much denser point clouds meant that existing performance problems in the DEMs generation became really apparent and a bottleneck. This is why we worked to both parallelize and speed-up key areas of the DEMs pipeline, which now yield results orders of magnitude faster, especially on multi-core machines.

Standarized Units

We have normalized –orthophoto-resolution and –dem-resolution to use the de-facto industry standard unit of cm / pixel. This is a breaking change, so please update your scripts if the output resolutions are lower than what you would expect. Previous units were pixel / meter and meter / pixel. OpenDroneMap finally joins the rest of the industry in terms of standard units.

Ground Sampling Distance

With this optimization, texturing is faster, memory usage is lowered and if you try to process at a resolution higher than what your images allow you, OpenDroneMap will automatically choose the highest resolution for you. No more guess work. If you want the highest resolution possible for your dataset, simply set –orthophoto-resolution to 0.0001 and OpenDroneMap will do the rest.

Please update, test and report any issues you find directly on GitHub.

Enjoy!

 

 

From Images to Commons: Fast Sharing to OpenAerialMap

 

OpenDroneMap processes aerial imagery. OpenAerialMap (OAM) collects aerial imagery. It’s just natural that the two projects should have some form of integration.

Today, thanks to the efforts of participants from both projects, we are announcing a new feature in WebODM for quickly sharing processed orthophotos to OAM. We expect that this feature will increase user’s participation in the collective effort to build an open access repository of aerial imagery.

Why should we care about open aerial imagery? Aside from the many reasons that have been covered elsewhere and that are not within the scope of this post to discuss, freely accessible aerial imagery is going to be key to keep up with innovation trends. With the recent improvements in AI, availability of training data is going to be a requirement for developing solutions that are “smarter” and provide better analytics.

One of the interesting applications of AI for OpenDroneMap is automatic parameter tuning based on scene detection. Currently users can tweak dozens of different parameters before processing a dataset. It’s often a painful trial-and-error process. AI could enable workflows in which images are passed through a scene detector that can answer queries such as “is this a picture of farm land?” or “is this an urban area?”. Depending on the scene, certain parameters could be automatically tweaked to yield better results, without needing user interaction.

To start contributing open imagery via WebODM, simply update the program to the latest version and look for the “OpenAerialMap” menu.

We will be presenting more details, including a sneak peek of how to start creating your own WebODM plugins, at FOSS4G in Dar Es Salaam on August 29th @ 12:00 in the Bagamoyo room. Look for our talk From images to commons: fast sharing to OpenAerialMap using WebODM in the conference program.

Hope to see you in Dar. Karibu!