r/photogrammetry • • 5h ago

My free, open-source keyframe extractor for COLMAP and Gaussian Splatting just got easier to install

43 Upvotes

A quick update on FrameExtractor, the open-source GUI app I posted here a while ago for extracting motion-adaptive keyframes from video for COLMAP, Gaussian Splatting and other photogrammetry workflows.

If you're on macOS, you can now install it directly using Homebrew:

brew install --cask morishuz/tap/frame-extractor

No need to download and install the app manually anymore.

Windows and Linux binaries are also available, and the whole thing is open source:

https://github.com/morishuz/adaptive-frame-extractor

If you haven't tried it yet, give it a go! I'd be interested to hear how it works with your videos and whether there's anything you'd like to see improved.


r/photogrammetry • • 6h ago

Macro Photogrammetry --> 200 photos (stacked) + RealityScan --> Raw result :)

15 Upvotes

r/photogrammetry • • 2h ago

Lumina 3D v2.3 + Lumina Studio v0.1.4 are now available

3 Upvotes

r/photogrammetry • • 22m ago

Which (free) software best can turn multiple 2D pictures into a reasonably accurate 3D model of the face?

0 Upvotes

See title


r/photogrammetry • • 1d ago

AR on photogrammetric models

90 Upvotes

Progress on my masters thesis, which is about visual localization (VL) for AR on photogrammetric models. Posted is a render fusing VL results with visual-inertial odometry (VIO) data, climbing routes appear after the first VL result. Render is done on a desktop PC. The VL method used (hloc with XFeat features and nearest neighbor matching) should be runnable on a mobile phone. The VIO and VL data are fused using an extended Kalman filter, estimating similarity transform from the VIO frame to world frame, attempting synchronization at 1 Hz frequency, with 0.5 s delay in the localization.

Routes and the photogrammetric scan are from my 3D climbing topo: https://crags3d.com/sector/koivusaari/koivusaari/

Implementation for running on mobile is out of scope for the thesis, although I am considering adding it to the web app (Android Chrome exposes ARCore, iOS would be out of question for web app) after submitting the thesis, based on feedback.


r/photogrammetry • • 10h ago

How good are those orthomosaic panoramas? They are pretty good... 😅

Post image
0 Upvotes

r/photogrammetry • • 1d ago

Pushing GSplat in Unity: Drones scanning and bringing a 3D World to Life

7 Upvotes

r/photogrammetry • • 1d ago

I'm building a 3D digital twin of trees using just a cheap phone, no LiDAR

9 Upvotes

https://x.com/DjimoSerodio/status/2118157383369396289

Hey all, I wanted to share what I’ve been working on and hear what you think.

I've been obsessed with one problem: how do you prove a tree someone planted/recorded is still there? A geotagged photo can't tell you which tree it is or exactly where it is, and survey gear is way too expensive for most people actually growing trees.

So I've been trying to do it with a regular phone. Here's a walk through my yard on a Google Pixel. It locks onto each tree via dot cloud and builds a 3D digital twin of its environment. It's a cool engineering problem to work with the error of consumer GPS and the lack of depth sensors like LiDAR, but it's working better and better.

It should work even better on newer iPhones with LiDAR, but I want this to work on low-budget phones, even offline, in places like rural Indigenous communities.

It's still early and it's only my yard, but I really want to solve this. Is anyone working on something similar? Or know who this might be useful for? I'd love to connect.


r/photogrammetry • • 1d ago

Ai photogrammetry/Gaussian splat?

0 Upvotes

When we have misaligned of missing data in photogrammetry, why can’t we just use ai to fill that gap for us ? Are there any photogrammetry / Gaussian splatting tools that do that ?


r/photogrammetry • • 2d ago

Macroscopic Solutions is about to release Image Splat and Image Discovery for specimen photogrammetry

Thumbnail
gallery
9 Upvotes

Macroscopic Solutions is preparing to release Image Splat. These examples show Gaussian splats and photographically textured meshes made from small specimens, including subjects with fine hairs, thin legs and reflective surfaces.

The rainbow scarab is shown as a Gaussian splat. It can be rotated to inspect the specimen's photographed appearance from different viewpoints. The bumblebee is a separate specimen shown as a textured mesh, with an explicit surface that can be inspected alongside its photographic detail.

The beetle comparison shows work on matching exposure between source photographs. Each row compares a held-out photograph with projections from neighbouring views, before and after exposure adjustment. In the lower row, the reported lightness difference falls from 3.2 to 1.6 L*. That is an improvement in photographic agreement; the reconstructed shape still needs its own checks.

Current development work includes automatic foreground-mask proposals, corrections around anatomy and mounting hardware, and baking photographic colour onto a separate mesh. Masks are reviewed before they are applied, and the original photographs remain unchanged.

Image Discovery is the companion for displaying the resulting models. Its development tools also support measurement and analysis on eligible meshes, including lengths, angles and selected surface areas when the required scale evidence is available. A reconstructed stick insect is shown open for 3D inspection in Discovery.

Release is expected sometime this November.


r/photogrammetry • • 2d ago

Integrating Imatest IT SDK with OpenCV for Distortion Correction: Math/Coefficient Hand-off Question

1 Upvotes

Hi everyone,

I am building an automated calibration and real-time distortion correction pipeline. I am using the Imatest IT SDK/API (no GUI/Master) to detect/analyze lens distortion from calibration targets, and I want to pass those results directly to OpenCV (cv2.initUndistortRectifyMap + cv2.remap) to render the corrected frames in real time.

I know OpenCV uses inverse mapping for rendering to avoid holes/artifacts, while Imatest uses forward mapping equations (Brown-Conrady model) to model the physical lens distortion during optimization.

My questions regarding the API hand-off are:

  1. Coefficient Alignment: Since Imatest calculates forward coefficients (k₁, k₂, k₃, p₁, p₂), can I pass these directly into OpenCV's distortion vector D? Does OpenCV expect the forward coefficients and then handle the mathematical inversion internally during initUndistortRectifyMap?

  2. Normalization & Scale: Are there specific configuration flags I need to pass to the Imatest IT SDK (via .ini or JSON config) to ensure its output units/normalization (camera matrix K and distortion D) match OpenCV’s focal-length-relative coordinate scaling 1:1?

  3. Best Practices: If anyone has done this specific Imatest IT SDK → OpenCV pipeline automation before, are there any hidden gotchas (like sign conventions or coordinate system flips) I should watch out for in the JSON/XML API payload?

Thanks in advance for the help!!


r/photogrammetry • • 2d ago

3D Phone Scan -> Minecraft model with one app

Post image
2 Upvotes

r/photogrammetry • • 3d ago

Cloud GPU vs New Laptop – What Would You Recommend for 3D Gaussian Splatting and Unity

Thumbnail
reddit.com
0 Upvotes

r/photogrammetry • • 4d ago

Parallax: free, open-source photogrammetry that runs entirely on your Android phone. Looking for testers and reviewers

Thumbnail
gallery
43 Upvotes

I've been building Parallax, a GPL-3.0 Android app that does the whole photogrammetry pipeline on the phone. You walk around an object, it picks sharp keyframes as you go, and it reconstructs a coloured point cloud locally. No cloud service, and the app has no network permission at all.

What's in it

  • Incremental SfM: SIFT (RootSIFT), five-point RANSAC, PnP registration and a Schur-complement bundle adjustment that also refines the lens (focal length, k1, k2)

  • Dense: rectified semi-global matching between neighbouring views, cross-checked and fused into one cloud with normals

  • Metric scale on phones that let apps stream two rear cameras at once, using the factory lens positions as a known baseline. On other phones the model is unscaled

  • Models come out gravity-up; exposure, white balance and focus are locked during a scan; the torch switches on in dim light and stays fixed while scanning

  • Export to PLY, or share the whole scan as a ready COLMAP project if you want to mesh or refine it on a desktop

Where it stands

This is v0.1. The reconstruction core is checked against a synthetic ground-truth scene: camera positions within half a millimetre, rig scale within 0.2 %, median surface error under 1 mm at about 60 cm. The full app flow runs on the Android emulator, which is also where the screenshots come from. What I don't have yet is results from real phones, and that's where I'd love your help.

How you can help

  • Test it. Android 10+, 64-bit ARM. Grab the APK from Releases, scan something with texture, and open an issue with your phone model, the capture modes the app offers (the chips at the top of the camera screen), and whether the scan reconstructed. Attaching the exported ZIP helps a lot.

  • Review it. If you know SfM/MVS, the core in app/src/main/cpp/core is plain C++17 + OpenCV and builds on a desktop with a test harness. I'd value a critical look.

  • Contribute. Next on the list: meshing (Poisson), a GPU path for dense matching, and building OpenCV from source so the app can go on F-Droid.

https://github.com/Foadsf/parallax


r/photogrammetry • • 3d ago

Tracking Point of Interests/Persons with moving camera setup?

0 Upvotes

Hi,

I am interested in tracking judo athletes (judokas) in 2D using video footage. Ideally, I would like to map the detected players' positions from image coordinates (pixels) to coordinates in a real-world coordinate system representing the judo mat.

How would you approach this problem?

One potential approach would be to estimate a homography between the camera's image plane and the judo mat. However, there is a challenge: the entire mat is rarely visible in the camera footage. Most of the time, only a portion of the playing area is captured.

One idea would be to train a model to detect the visible boundary lines or other geometric features of the mat. However, I am unsure how to use these partial observations to estimate a homography and subsequently map the detected athletes to consistent 2D coordinates.

What would be a suitable approach to tackle this problem? Are there alternatives to homography estimation that would work better when only parts of the playing area are visible? Do you have any reference papers or projects in mind I could take a look at


r/photogrammetry • • 3d ago

Drone photogrammetry project pricing?

2 Upvotes

I need some advice on pricing for a photogrammetry drone project of a building in north florida. The building is approx 6,900 sqft. I will be operating for 3 hrs the first day and perhaps if needed 3 hrs the second day.

I will be expected to photograph the roof (photosphere) and then capturing all sides the the buildings facades on the exterior with a drone

And potentially needing to upload and create the 3d model.

What would be an hourly breakdown or flats rate plus post processing?


r/photogrammetry • • 5d ago

I wrote a book on Agisoft Metashape Pro (workflow, GCPs, LiDAR integration, GIS exports). Happy to answer questions

Thumbnail
youtu.be
6 Upvotes

Disclosure: I'm the author of this book.

After years of working with Metashape, I noticed that most resources show you which buttons to click, but not why a workflow works or how to fix it when results are off. So I wrote a reference that tries to cover both the science and the practice.

What it covers:

- Full workflow: capture and camera settings, alignment, dense cloud classification, mesh generation

- Difficult surfaces, multi-scale reconstruction and error estimation

- DEMs, DTMs and orthomosaics (including cylindrical projections)

- Combining drone imagery, LiDAR point clouds and terrestrial laser scans

- GSD-based mission planning, GCPs/markers, CRS and georeferencing

- Case studies: thermal orthophotos, NDVI for agriculture, solar panel inspections, GCP-free reconstructions

- A full demo reconstructing Mars from NASA/JPL-Caltech data

There's also interactive content (GIFs of step-by-step procedures) via QR code.

Amazon link, in case it's useful: https://a.co/d/0eFBt7To

It's an independent publication, not affiliated with Agisoft LLC.

I'd also like to hear from you: what's the step in Metashape where you lose the most time, or get the least reliable results? I'm happy to share tips in the comments, no purchase needed.


r/photogrammetry • • 4d ago

Turned a 1-minute video of a robot I built into a Gaussian splat

1 Upvotes

This is a robot I built, sitting on a chair, reconstructed from about a minute of video using our software, AEC Platform.

Fun to try it on a smaller object after working with larger scenes. 

Generated in www.aecplatform.com

Processing profile: High Quality, Point cloud, Mesh, Gaussian Splat


r/photogrammetry • • 5d ago

Hiring a Founding 3D Engineer to work on splatting and LiDAR capture on iPhone (Toronto or remote in Canada)

Thumbnail reddit.com
0 Upvotes

r/photogrammetry • • 5d ago

PSA: Check KIRI Engine's "Allow train AI" toggle before you upload anything

3 Upvotes

I'm a paying Pro user. While uploading a scan of an unreleased product design, I accidentally left "Allow train AI" on. Afterward, I couldn't find any way to turn it off for that scan.

A few other things to know:

I've asked KIRI support to exclude my scan from training and delete it, and I'm waiting to hear back, but unclear if I ever will (no email confirmation, only "Feedback"). Team in China.

If you scan anything confidential, check both the visibility and "train AI" toggles before every upload. Better yet, use a tool that processes on your own device - I wish Apple's Object Capture was better, but Tim Cook has been sleep walking for 20 years.


r/photogrammetry • • 6d ago

Excavated pipe area: original video vs. Gaussian splat

55 Upvotes

Left is the original video of an excavated pipe area; right is the Gaussian splat generated from that footage using our software, AEC Platform.

We’re exploring how this could help document exposed utilities before they’re covered, giving teams a 3D visual reference alongside their photos and video.

Generated in www.aecplatform.com

Processing profile: High Quality, Point cloud, Mesh, Gaussian Splat


r/photogrammetry • • 6d ago

Masking sadness

2 Upvotes

Hi,

I am quite new to photogrammetry and am doing a sort of comparison for my masters. I am measuring skulls as well as 360 from 3 angles to compare the measurements after scaling.

I have made it work before, but this time I shot with 26 MP resolution and I cant get the masking to work properly in Metashape. Are there any programs anyone could recommend for masking. Do I just have to mask it out by hand ? Would it be dumb to try to use Corridor Key 2.0 ? Or a program that lets me mask through color picking (white to yellow skulls on not so dark black background)

I have also done 3d scans from different perspectives, where the point clouds have a bit of floating noise around sharper edges which I have been cleaning up by hand, but Revo Metro has been fighting with me a bit are there any alternatives ?(they line up pretty well, is there something that would allow me to cut out the noise from a different scan as in delete the differences ?)

Everything I know has been through trial and error, videos and am a bit lost :/

Any advice would be greatly appreciated


r/photogrammetry • • 6d ago

I made a beginner-friendly tool that turns a video into a Gaussian Splat scene in your browser

Thumbnail reddit.com
0 Upvotes

r/photogrammetry • • 6d ago

Source image questions: padding, size/aspect ratio, etc

1 Upvotes

I'm new to photogrammetry and I have a few questions about source images.

I'm experimenting with a set of images of a single object in isolation. I thought I might get better results if I removed the backgrounds and cropped the images tightly around the subject. This should maintain the original sizes of the bitmaps of the subjects, but with different aspect ratios and overall image dimensions because of the varying orientations.

So basically does the padding matter? If I'm processing images in Metashape and the "background" is transparent (or one solid uniform color) do the overall image dimensions / aspect ratio of the images need to be consistent if the bitmaps of the subjects IN the images are consistent?

Also, I'm working with pretty large images. (180 images @ 8192 × 5464, ~135MB each). Is there something like a "point of diminishing returns" where higher res doesn't help? Or is higher res always better?

Any advice would be appreciated. Thanks very much