Compare commits

..

23 Commits

Author SHA1 Message Date
rsformoso ae50c9ce19 Add notebook checkpoints to .gitignore 2026-06-18 16:55:31 +08:00
rsformoso dc7e2ad9d1 Add notebook for prototyping segmentation 2026-06-18 16:53:36 +08:00
rsformoso e89601d835 Fix Docker scripts for muggled-sam 2026-06-18 16:53:14 +08:00
rsformoso e17bef0f89 Add COLMAP installer from official repo 2026-05-18 21:15:18 +08:00
rsformoso 4f795aad96 Add build instructions for LichtFeld Studio 2026-05-18 20:52:33 +08:00
rsformoso 2802f757d1 Move LFS docker files to archive 2026-04-18 19:22:03 +08:00
rsformoso 55bd48090e Update personal Docker image tags 2026-04-18 11:43:41 +08:00
rsformoso 655cfbb517 Update Lichtfeld-Studio to v0.5.1 2026-04-18 11:43:18 +08:00
rsformoso 40c35e8aee Add LichtFeld release folder to gitignore 2026-04-04 15:12:30 +08:00
rsformoso 824132967b Sync LFS main branch 2026-04-04 15:10:35 +08:00
rsformoso 682bbd04f2 Sync muggled_sam main branch 2026-04-04 15:08:40 +08:00
rsformoso 06fa286d50 Add PlayCanvas Splat-Transform 2026-04-01 13:17:37 +08:00
rsformoso a2cc9c1391 Add Apple ML-Sharp 2026-02-16 20:02:23 +08:00
rsformoso d57f53613e Switch to using official LichtFeld Studio Windows binary 2026-02-12 18:31:28 +08:00
rsformoso a62771d2f2 Retrieve COLMAP binary from external source 2026-02-02 12:43:49 +08:00
rsformoso c8bb32773e Compile Ceres to support cuDSS 2026-01-15 23:58:06 +08:00
rsformoso 6917780253 Add COLMAP cache folder bindmount 2026-01-15 23:57:25 +08:00
rsformoso 6fbaead435 Add COLMAP Dockerfile 2026-01-15 20:00:25 +08:00
rsformoso 075914082e Add Lichtfeld Studio cache bindmount 2026-01-15 19:31:27 +08:00
rsformoso 6684397b19 Add Lichtfeld Studio binary folder to gitignore 2026-01-15 19:31:04 +08:00
rsformoso 469485d39e Add COLMAP files 2025-11-29 19:07:40 +08:00
rsformoso 81a00617b8 Remove files from apt in runtime stage 2025-11-18 12:40:48 +08:00
rsformoso 1d96f32a14 Commit add svraster files 2025-11-18 12:39:50 +08:00
31 changed files with 719 additions and 10 deletions
+7
View File
@@ -3,3 +3,10 @@ data/*
# Cache directories
.cache/
# COLMAP binaries
colmap/COLMAP/
# LichtFeld Studio binaries
/lichtfeld-studio/LichtFeld-Studio-Portable/
.ipynb_checkpoints
+4
View File
@@ -18,3 +18,7 @@
path = mq3drecon/metaquest-3d-reconstruction
url = https://github.com/t-34400/metaquest-3d-reconstruction
branch = main
[submodule "ml-sharp"]
path = ml-sharp/ml-sharp
url = https://github.com/apple/ml-sharp.git
branch = main
+132
View File
@@ -0,0 +1,132 @@
ARG UBUNTU_VERSION=24.04
ARG NVIDIA_CUDA_VERSION=12.9.1
#
# Docker builder stage.
#
FROM nvidia/cuda:${NVIDIA_CUDA_VERSION}-devel-ubuntu${UBUNTU_VERSION} AS builder
ARG COLMAP_GIT_COMMIT=main
ARG CUDA_ARCHITECTURES=86
ENV QT_XCB_GL_INTEGRATION=xcb_egl
# Prevent stop building ubuntu at time zone selection.
ENV DEBIAN_FRONTEND=noninteractive
# Prepare and empty machine for building.
RUN apt-get update && \
apt-get install -y \
git \
cmake \
ninja-build \
build-essential \
libboost-program-options-dev \
libboost-graph-dev \
libboost-system-dev \
libeigen3-dev \
libopenimageio-dev \
openimageio-tools \
libmetis-dev \
libgoogle-glog-dev \
libgtest-dev \
libgmock-dev \
libsqlite3-dev \
libglew-dev \
qt6-base-dev \
libqt6opengl6-dev \
libqt6openglwidgets6 \
libcgal-dev \
libcurl4-openssl-dev \
libssl-dev \
libmkl-full-dev \
libsuitesparse-dev \
libcudss0-dev-cuda-12 \
libcudss0-static-cuda-12
# Install Ceres Solver with CUDA support. Disable testing and examples since
# the GPU isn't available to us at build time
RUN git clone --recursive https://github.com/ceres-solver/ceres-solver
RUN mkdir ceres-bin && \
cd ceres-bin && \
cmake ../ceres-solver \
-DUSE_CUDA=ON \
-DCMAKE_CUDA_ARCHITECTURES=${CUDA_ARCHITECTURES} \
-DBUILD_TESTING=OFF \
-DBUILD_EXAMPLES=OFF \
-DCMAKE_BUILD_TYPE=Release \
-Dcudss_DIR=/usr/lib/x86_64-linux-gnu/libcudss/12/cmake/cudss \
-Dcudss_INCLUDE_DIR=/usr/include/libcudss/12 && \
make -j8 && \
make test && \
make install
# Fix issue in Ubuntu's openimageio CMake config.
# We don't depend on any of openimageio's OpenCV functionality,
# but it still requires the OpenCV include directory to exist.
RUN mkdir -p /usr/include/opencv4
# Build and install COLMAP.
RUN git clone --recursive https://github.com/colmap/colmap.git
RUN cd colmap && \
git fetch https://github.com/colmap/colmap.git ${COLMAP_GIT_COMMIT} && \
git checkout FETCH_HEAD && \
mkdir build && \
cd build && \
cmake .. \
-GNinja \
-DCMAKE_CUDA_ARCHITECTURES=${CUDA_ARCHITECTURES} \
-DCMAKE_INSTALL_PREFIX=/colmap-install \
-DBLA_VENDOR=Intel10_64lp \
-Dcudss_DIR=/usr/lib/x86_64-linux-gnu/libcudss/12/cmake/cudss \
-Dcudss_INCLUDE_DIR=/usr/include/libcudss/12 && \
ninja install
#
# Docker runtime stage.
#
FROM nvidia/cuda:${NVIDIA_CUDA_VERSION}-runtime-ubuntu${UBUNTU_VERSION} AS runtime
# Minimal dependencies to run COLMAP binary compiled in the builder stage.
# Note: this reduces the size of the final image considerably, since all the
# build dependencies are not needed.
RUN apt-get update && \
apt-get install -y --no-install-recommends --no-install-suggests \
libboost-program-options1.83.0 \
libspqr4 \
libcholmod5 \
libc6 \
libomp5 \
libopengl0 \
libmetis5 \
libopenimageio2.4t64 \
libgcc-s1 \
libgl1 \
libglew2.2 \
libgoogle-glog0v6t64 \
libqt6core6 \
libqt6gui6 \
libqt6widgets6 \
libqt6openglwidgets6 \
libcurl4 \
libssl3t64 \
libmkl-locale \
libmkl-intel-lp64 \
libmkl-intel-thread \
libmkl-core \
libcudss0-cuda-12 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Copy all files from /colmap-install/ in the builder stage to /usr/local/ in
# the runtime stage. This simulates installing COLMAP in the default location
# (/usr/local/), which simplifies environment variables. It also allows the user
# of this Docker image to use it as a base image for compiling against COLMAP as
# a library. For instance, CMake will be able to find COLMAP easily with the
# command: find_package(COLMAP REQUIRED).
COPY --from=builder /colmap-install/ /usr/local/
COPY --from=builder /usr/local/include/ /usr/local/include/
COPY --from=builder /usr/local/lib/ /usr/local/lib/
COPY --from=builder /usr/lib/x86_64-linux-gnu/libcudss /usr/lib/x86_64-linux-gnu/libcudss
ENV LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/libcudss/12:$LD_LIBRARY_PATH
WORKDIR /workspace
+13
View File
@@ -0,0 +1,13 @@
services:
colmap:
build:
context: .
image: colmap:dev
extends:
file: ../config.yml
service: win-gui-app
volumes:
- type: bind
source: ./.cache/colmap
target: /root/.cache
+1
View File
@@ -0,0 +1 @@
docker compose run --rm -it --name colmap colmap
@@ -7,3 +7,7 @@ services:
extends:
file: ../config.yml
service: win-gui-app
volumes:
- type: bind
source: ./.cache
target: /tmp/LichtFeldStudio
+53
View File
@@ -0,0 +1,53 @@
# Builder stage
FROM nvidia/cuda:12.8.0-devel-ubuntu22.04 as builder
ENV DEBIAN_FRONTEND=noninteractive
ENV QT_XCB_GL_INTEGRATION=xcb_egl
ENV TORCH_CUDA_ARCH_LIST=86
RUN apt-get update && \
apt-get install -y --no-install-recommends --no-install-suggests \
build-essential \
git \
ninja-build \
python3-pip \
python3.10-dev \
wget
WORKDIR /workspace/svraster
RUN pip3 config set global.break-system-packages true
RUN pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
RUN git clone --recursive https://github.com/NVlabs/svraster.git /workspace/svraster
RUN pip3 install -r requirements.txt
RUN MAX_JOBS=8 pip3 install -e cuda/
RUN pip3 install "numpy<2.0.0" viser
RUN chmod -R go=u /usr/local/lib/python3.10
# Runtime stage
FROM nvidia/cuda:12.8.0-runtime-ubuntu22.04 as runtime
ENV TORCH_CUDA_ARCH_LIST=86
WORKDIR /workspace
RUN apt-get update && \
apt-get install -y --no-install-recommends --no-install-suggests \
build-essential \
libgl1 \
libglew2.2 \
libglib2.0-0 \
python-is-python3 \
python3.10 \
python3.10-dev && \
rm -rf /var/lib/apt/lists/*
# Copy packages from builder stage.
COPY --from=builder /workspace /workspace
COPY --from=builder /usr/local/lib/python3.10/dist-packages/ /usr/local/lib/python3.10/dist-packages/
# Bash as default entrypoint.
CMD ["/bin/bash", "-l"]
BIN
View File
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

+4
View File
@@ -0,0 +1,4 @@
curl -L -o colmap-x64-windows-cuda.zip "https://github.com/colmap/colmap/releases/latest/download/colmap-x64-windows-cuda.zip"
mkdir COLMAP
tar -xf colmap-x64-windows-cuda.zip -C COLMAP
del colmap-x64-windows-cuda.zip
Binary file not shown.
+49
View File
@@ -0,0 +1,49 @@
1. Go to AppData directory
```
cd %APPDATA%
```
2. Clone and set up vcpkg
```
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && .\bootstrap-vcpkg.bat -disableMetrics && cd ..
```
3. Run the following in the LichtFeld-Studio directory
NOTE: This creates a portable build for devices with CUDA Compute Capability 8.6
```
cmake -B build -S . -G Ninja ^
-DCMAKE_BUILD_TYPE=Release ^
-DBUILD_PORTABLE=ON ^
-DBUILD_PYTHON_STUBS=OFF ^
-DCMAKE_CUDA_ARCHITECTURES=86 ^
-DBUILD_CUDA_MIN_SM=86 ^
-DCMAKE_TOOLCHAIN_FILE="%APPDATA%\vcpkg\scripts\buildsystems\vcpkg.cmake"
```
4. Run the following. Adjust the number of threads accordingly
```
cmake --build build -j4
```
5. Run the following to create the portable build.
```
cmake --install build --prefix ../LichtFeld-Studio-Portable
```
| NOTE: The full directory structure of the portable install should look like so:
```
.
├── bin/
├── DLLs/
├── extensions/
├── Lib/
├── share/
└── LICENSE (35 KB)
```
+18
View File
@@ -0,0 +1,18 @@
FROM continuumio/miniconda3:latest
WORKDIR /workspace/ml-sharp
COPY ml-sharp .
RUN conda create -n sharp python=3.13
SHELL ["conda", "run", "-n", "sharp", "/bin/bash", "-c"]
RUN pip install -r requirements.txt
RUN pip3 install --no-cache-dir \
--index-url https://download.pytorch.org/whl/cu130 \
#--extra-index-url https://mirrors.tencent.com/pytorch-wheels/whl/cu130/ \
torch \
torchvision
WORKDIR /workspace
RUN echo "conda activate sharp" >> ~/.profile
CMD ["/bin/bash", "-l"]
+16
View File
@@ -0,0 +1,16 @@
services:
ml-sharp:
build:
context: .
image: ml-sharp:personal
extends:
file: ../config.yml
service: base-app
volumes:
- type: bind
source: ./ml-sharp
target: /workspace/ml-sharp
- type: bind
source: ./.cache
target: /root/.cache
+1
Submodule ml-sharp/ml-sharp added at 1eaa046834
+1
View File
@@ -0,0 +1 @@
docker compose run --rm -it --name ml-sharp ml-sharp
+1 -1
View File
@@ -3,7 +3,7 @@ services:
mq3drecon:
build:
context: .
image: mq3drecon:dev
image: mq3drecon:personal
extends:
file: ../config.yml
service: win-gui-app
+8 -4
View File
@@ -1,13 +1,17 @@
FROM pytorch/pytorch:2.6.0-cuda12.6-cudnn9-runtime
FROM pytorch/pytorch:2.12.0-cuda13.2-cudnn9-runtime
RUN pip install \
RUN pip install --break-system-packages --no-cache-dir \
"opencv-python>=4.5,<4.12" \
"numpy>=1.21,<2.3"
"numpy>=1.21,<2.3" \
"gradio" \
"notebook" \
"matplotlib"
RUN apt-get update && apt-get install -y \
ffmpeg \
libsm6 \
libxext6
libxext6 && \
rm -rf /var/lib/apt/lists/*
WORKDIR /workspace/muggled-sam
+1
View File
@@ -0,0 +1 @@
jupyter notebook --allow-root --ip 0.0.0.0 --no-browser --NotebookApp.token='' --NotebookApp.password=''
+4 -1
View File
@@ -3,7 +3,7 @@ services:
muggled_sam:
build:
context: .
image: muggled_sam:dev
image: muggled_sam:personal
extends:
file: ../config.yml
service: win-gui-app
@@ -11,6 +11,9 @@ services:
- type: bind
source: ./muggled_sam
target: /workspace/muggled-sam
- type: bind
source: ./notebooks
target: /workspace/muggled-sam/notebooks
- type: bind
source: ../data/muggled-sam/saved_images
target: /workspace/muggled-sam/saved_images
-1
View File
@@ -1 +0,0 @@
curl -o "muggled_sam\model_weights\sam2.1_hiera_large.pt" https://dl.fbaipublicfiles.com/segment_anything_2/092824/sam2.1_hiera_large.pt
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
docker compose run --rm -it --name muggled_sam muggled_sam
docker compose run -p 8888:8888 -p 7860:7860 --rm -it --name muggled_sam muggled_sam
+1
View File
@@ -0,0 +1 @@
docker compose run -p 8888:8888 -p 7860:7860 --rm -it --entrypoint "jupyter notebook --allow-root --ip 0.0.0.0 --no-browser --NotebookApp.token='' --NotebookApp.password=''" --name muggled_sam muggled_sam
+8
View File
@@ -0,0 +1,8 @@
FROM node:current-alpine3.23
RUN npm install -g @playcanvas/splat-transform
RUN apk add gcompat
WORKDIR /workspace
CMD ["/bin/sh", "-l"]
+10
View File
@@ -0,0 +1,10 @@
services:
splat_transform:
build:
context: .
image: splat_transform:personal
extends:
file: ../config.yml
service: base-app
+1
View File
@@ -0,0 +1 @@
docker compose run --rm -it --name splat_transform --entrypoint /bin/sh splat_transform