随笔分类 -  Python

3D Gaussian splatting 07: 代码阅读-训练载入数据和保存结果
摘要:train.py 载入数据对应的方法调用, 在训练时, 读取colmap数据最终调用的是 readColmapSceneInfo 方法, 从 images.bin, cameras.bin 读取每一张图的相机参数和位姿, 在 readColmapSceneInfo() 方法里会判断是否有 points3D.ply, 存在就读取, 不存在就创建一个再读取, 读取出来的是 BasicPointCloud 类型的数据 阅读全文

posted @ 2025-06-03 18:24 Milton 阅读(597) 评论(0) 推荐(0)

3D Gaussian splatting 06: 代码阅读-训练参数
摘要:训练程序入参除了训练过程参数, 另外设置了ModelParams, OptimizationParams, PipelineParams三个参数组, 分别控制数据加载、渲染计算和优化训练环节, 这些参数类共同构成3D高斯渲染模型的核心配置. 在项目的 README.md 中有大部分参数的说明. 以下在注释中标出主要参数的含义. 阅读全文

posted @ 2025-06-01 18:25 Milton 阅读(559) 评论(0) 推荐(1)

3D Gaussian splatting 05: 代码阅读-训练整体流程
摘要:从这节开始阅读 train.py, 根据代码分析训练过程. 首先是训练的整体流程 阅读全文

posted @ 2025-06-01 11:18 Milton 阅读(658) 评论(0) 推荐(1)

3D Gaussian splatting 04: 代码阅读-提取相机位姿和稀疏点云
摘要:convert.py 用于从帧系列中提取相机参数, 相机位姿和对象特征点的稀疏点云, 从 convert.py 的代码可以看到转换阶段的处理流程. 在Convert阶段, 使用Colmap处理输入帧序列, 在3D场景的稀疏重建完成后, model 默认会被导出到 bin 文件中, 因为这样比较紧凑, 节省空间, 在结果目录中生成以下文件 阅读全文

posted @ 2025-05-31 21:41 Milton 阅读(798) 评论(0) 推荐(1)

3D Gaussian splatting 03: 用户数据训练和结果查看
摘要:3D Gaussian splatting 03: 用户数据训练和结果查看于训练的图片集采集有两种方式, 一种是使用相机从不同角度拍照, 另一种是拍视频后逐帧提取. 两种方式各有利弊, 拍照分辨率更高, 方便控制光圈,快门和白平衡, 但是拍照时较难控制好角度可能会造成部分交叠区域过小, 视频比较容易实现连续的画面移动, 保证交叠区域, 但是大多数手机没法手动控制视频录制过程的光圈和白平衡, 并且视频的分辨率大多数是通过插值填充的, 拍摄1080p视频时, 实际有效像素并没有1080p. 阅读全文

posted @ 2025-05-30 20:13 Milton 阅读(1623) 评论(0) 推荐(1)

3D Gaussian splatting 02: 快速评估
摘要:3D Gaussian splatting 02: 快速评估以下使用 Inria 提供的数据集运行训练过程, 验证和评估重建效果, 数据输入是一组静态场景的图像以及摄像机位置, 表示为稀疏的点云, 通过colmap处理得到. 阅读全文

posted @ 2025-05-30 18:40 Milton 阅读(1043) 评论(0) 推荐(0)

Mip-Splatting: Alias-free 3D Gaussian Splatting
摘要:Mip Splatting GitHub: https://github.com/autonomousvision/mip-splatting Paper: https://drive.google.com/file/d/1Q7KgGbynzcIEyFJV1I17HgrYz6xrOwRJ/view? 阅读全文

posted @ 2025-05-25 12:06 Milton 阅读(451) 评论(0) 推荐(0)

3D Gaussian Splatting 查看工具 splatviz
摘要:3D Gaussian Splatting 查看工具  splatviz3D Gaussian Splatting 仓库自带的 SIBR Viewer 运行对显卡有要求, 需要 CUDA_ARCHITECTURE >= 7.x, 在 RTX 4060Ti 上可以运行, 但是在 P104-100 上就会提示"Sorry, need at least compute capability 7.0+!"后退出. 因此需要寻找一个兼容性更好的查看工具. 搜了下可用的资源不多, web端的viewer要走一个上传加载的过程, 而浏览器中的3D渲染不会自动使用P104-100(也许能指定, 但是我还不会设置), 系统CPU是4代i5, 在这种场景下性能特别烂. 除了基于web的方案, 我比较推荐 splatviz 这个工具 阅读全文

posted @ 2025-05-14 19:03 Milton 阅读(866) 评论(0) 推荐(0)

图像处理中的 Gaussina Blur 和 SIFT 算法
摘要:SIFT(Scale-Invariant Feature Transform)算法是一种用于图像处理中的局部特征提取方法, 具有尺度、旋转和光照不变性, 通过对图像进行不同尺度的高斯模糊生成多组图像并从中提取特征实现 阅读全文

posted @ 2025-04-07 20:37 Milton 阅读(444) 评论(0) 推荐(0)

使用 pytubefix 从 YouTube 下载视频并使用 moviepy 合并音轨
摘要:pytube 使用会报400错误, 需要用 pytubefix 替代. 阅读全文

posted @ 2025-04-07 07:56 Milton 阅读(332) 评论(0) 推荐(0)

Colmap的安装和使用
摘要:Colmap的安装和使用在 Ubuntu 22.04 下可以通过`apt install colmap`安装, 但是这样安装的是不带CUDA支持的版本, 支持CUDA的版本需要通过编译安装, 可以参考的安装说明 阅读全文

posted @ 2025-04-07 07:55 Milton 阅读(4254) 评论(0) 推荐(0)

3D Gaussian splatting 01: 环境搭建
摘要:3D Gaussian splatting 01: 环境搭建3D Gaussian 是一种新的辐射场的实时渲染方法, 能够在较少的训练时间中实现SOTA级别的视觉效果, 允许以 1080p 分辨率进行高质量的实时(≥ 30 fps)新视图合成. 3D Gaussian Splatting 使用 3D Gaussian 球表示三维模型, 并通过 Splatting 技术渲染出来. 阅读全文

posted @ 2025-03-30 18:55 Milton 阅读(3149) 评论(0) 推荐(2)

Python基于 Flask 创建简单Web服务并接收文件
摘要:在全部网口上创建web服务, 监听8080端口 关闭debug模式 GET时返回HTML界面, 用于提交文件 POST到 /upload 时, 从接收的 file 变量中读取文件, 并传递给 opencv 解析为 image 对象 from flask import Flask, request, 阅读全文

posted @ 2025-02-11 17:28 Milton 阅读(67) 评论(0) 推荐(0)

Python基于 BaseHTTPRequestHandler 创建简单Web服务
摘要:使用python启动最简单的WEB服务. 基于BaseHTTPRequestHandler, 接收二进制图像, 调用PaddleOCR识别并返回JSON字符串结果 阅读全文

posted @ 2024-03-27 01:08 Milton 阅读(443) 评论(0) 推荐(0)

Miniconda 安装和使用笔记
摘要:Miniconda是Anaconda的简化版, 可以管理多个Python版本的环境, 但是仅预装少量的库, 只有四五百兆, 比anaconda小很多. 如果需要装很多库的话, 占用的空间其实跟anaconda是差不多的, 我跑一些正常的应用后, 安装目录占用空间4.3GB, 安装建议要预留10到20G的空间. 阅读全文

posted @ 2024-02-20 20:06 Milton 阅读(4199) 评论(1) 推荐(0)

Python 虚拟环境 virtualenv 笔记
摘要:初始化 virtualenv 方式一: virtualenv 安装 virtualenv, 不用sudo的话, 是安装到用户home目录下 pip install virtualenv # 此时如果 virtualenv 命令还不能用, 需要执行一下 source ~/.profile 然后在当前目 阅读全文

posted @ 2023-02-02 13:29 Milton 阅读(339) 评论(0) 推荐(0)

Ubuntu20.04 PyCharm不能输入中文的解决办法
摘要:在2020.3之后的PyCharm, 无法输入中文, 我使用的是ibus, 据网上搜索结果看, fctix也一样有问题. 在网上查到的, 修改环境变量的方式无效. 实际的原因在于JetBrain使用的是自己定制的JVM, 和中文输入法有冲突. 官方给的临时解决方案是将Java运行时换成他们提供的替代 阅读全文

posted @ 2021-11-04 13:23 Milton 阅读(1220) 评论(0) 推荐(0)

PlatformIO手工升级stcgal到1.6版本
摘要:PlatformIO自带的stcgal版本为1.4, 这个版本只支持到STC15, 不支持STC8. 在使用PlatformIO内建的upload写入STC8A8K64S4A12时, 会提示不识别的协议stc8. 在PlatformIO的mcs-51项目下看了下提交历史, 最近一两年基本没有更新, 阅读全文

posted @ 2021-10-24 23:07 Milton 阅读(588) 评论(0) 推荐(0)

Python抓取网页例子
摘要:功能 一级分页列表页, 二级数据页 不定表头, 写入CSV 正则匹配, 在()中使用?:实现只匹配, 不捕获 HTTP头设置 #!/usr/bin/python3 # -*- coding: UTF-8 -*- import re import time import requests import 阅读全文

posted @ 2021-03-16 01:54 Milton 阅读(227) 评论(0) 推荐(0)

wxPython 笔记
摘要:安装 Win7 / Win10 直接通过 pip install wxpython 安装 Ubuntu18.04 / Ubuntu 20.04 在Linux下的安装会稍微麻烦, 可以参考官网上的说明 https://wxpython.org/pages/downloads/ 因为存在不同的环境, 以 阅读全文

posted @ 2020-05-07 12:15 Milton 阅读(957) 评论(0) 推荐(0)

导航