pierotofy / OpenSplat

Production-grade 3D gaussian splatting with CPU/GPU support for Windows, Mac and Linux 🚀
https://antimatter15.com/splat/?url=https://splat.uav4geo.com/banana.splat
GNU Affero General Public License v3.0
916 stars 87 forks source link

Killed when the data maybe too big #134

Open KnightSnape opened 1 month ago

KnightSnape commented 1 month ago

I don't know if I've tested it, I used a large-scale data (colmap), put it into OpenSplat, nerfstudio's nerfacto and 3d_gaussian_splatting respectively, and only OpenSplat was killed when importing, nerfstudio trained normally, which factor formed such a difference? Will a fix be attempted in the future?

pierotofy commented 1 month ago

We'd welcome a pull request that fixes/optimizes any memory issue that might be present in OpenSplat. :pray:

mureva commented 1 month ago

I don't know if relates to your problem, but I was trying to use a lidar point cloud as the initial point cloud for splatting, and would get a runtime errror. A bit of sleuthing suggested that the issue was nanoflann, an it appeared to be getting to the recursion limit of the system. An older version of nanoflann (1.3.0) was able to deal with my point cloud without problem - but meant a small amount of modification to opensplat to use.

liamyehudai commented 1 month ago

We are also having this issue

psykon commented 4 weeks ago

Same issue here. I have a colmap dataset with 3564 images. OpenSplat seems to attempt to load all images into memory at once. After committing ~160Gb to memory, the process shuts down with a cv::OutOfMemoryError message. This happens with the prebuilt windows binary.

Switching to CPU instead of cuda does not make any difference, neither does setting a downscale factor make a difference in this behavior.

Is this a expected limitation of OpenSplat or a unexpected error?

pierotofy commented 4 weeks ago

You need more RAM, currently. We'd welcome a PR that improves memory management.