Usage of OpenSfM for thermal IR videos filmed from low flight altitude
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.8k
- Forks
- 899
- PR merge metrics
- No merged PRs in 30d
Description
Dear all,
I am using OpenSfM in an open source tool for inspection of large-scale photovoltaic plants (https://github.com/LukasBommes/PV-Hawk) and have several questions on the usage of OpenSfM and possible improvements I could make to increase robustness of the reconstruction (which currently fails quite often).
Questions:
- My input footage is in thermal IR and looks like this: https://lukasbommes.github.io/PV-Hawk/using_own_data.html (bottom half of the page). I automatically subsample video frames based on travelled GPS distance. As you can see the flight altitude is rather low. Is this footage generally suitable for use with OpenSfM or are their any improvements I could make? Is it generally better to film in nadir or at an angle?
- I am using OpenSfM default settings and wonder if there are some parameters that should be tweaked for thermal IR imagery.
- I am splitting longer video sequences into clusters and perform OpenSfM reconstruction independetly for each of them. Later I merge them, simply based on the assumption that they share a common ground plane. I.e. I do not perform any alignment based on visual features. This works most of the times. But sometimes one or even multiple sub-reconstructions are misaligned. Does my approach make sense?
- When filming in nadir, should I set the align_method to "orientation_prior" and the "align_orientation_prior" to "vertical"? Which setting would you recommend for my other type of footage where I do not film in nadir but at a slight angle?
I am wondering which optimizations to make next to enhance the robustness of the reconstruction. Currently, I am thinking about:
- using RTK-GPS to provide more accurate lat/long measurements as well as altitude and DOP measurements (currently, I have only lat/long measured with standard GPS, no altitude and DOP is set to 0.1 for each frame)
- flying at a higher altitude (since I saw that this is generally done when creating orthophotos)
Which of these is most likely to result in an increase in robustness?
I know that are a lot of questions and probably, I will have to do some more experimentation on my own. But I am still wondering if you have some empirical knowledge that I could readily apply to my project.
Also feel free to use my dataset: https://lukasbommes.github.io/PV-Hawk/tutorial.html#step-2-download-the-example-dataset
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reconstruction behavior with the linked PV-Hawk example dataset and OpenSfM's default settings. Review the reported thermal, altitude, GPS, alignment, and orientation-prior conditions; done would be a documented, evidence-based recommendation for improving robustness.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-vision
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100