Windows下使用Pyinstaller打包onnxruntime-gpu
在conda环境中(包括cuda,cudnn,onnxruntime-gpu等)使用pyinstaller打包onnxruntime-gpu程序。 Pyinstaller 命令配置-包含onnxruntime-gpu 如果conda环境路径为“C:/Users/demo/miniconda3/envs/face_rec/”。 pyinstaller --add-data="dll/*;." --add-binary "C:/Users/demo/miniconda3/envs/face_rec/Lib/site-packages/onnxruntime/capi/onnxruntime_providers_cuda.dll;./onnxruntime/capi" --add-binary "C:/Users/demo/miniconda3/envs/face_rec/Lib/site-packages/onnxruntime/capi/onnxruntime_providers_shared.dll;./onnxruntime/capi" .\YOUR_PYTHON_FILE_TO_RUN.py 收集CUDA、CUDNN对应的dll 在conda环境中,运行下列指令,找到对应的文件后,手动复制到打包好的exe路径下。 conda run where cuda*.dll conda run where cudnn*.dll
Module – Share Your Image with QR code
Function By using this module, you can upload your image to SM.MS and obtain a unique URL for downloading it. Subsequently, the URL is converted into a QR code, making it easily accessible for users to download the image using their smartphones. Input: an image Output: URL and QR code…
Docker Commands
Install Docker https://gist.github.com/nathzi1505/d2aab27ff93a3a9d82dada1336c45041 # WARNING : This gist in the current form is a collection of command examples. Please exercise caution where mentioned. # Docker sudo apt-get update sudo apt-get remove docker docker-engine docker.io sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker docker --version # Put…
神经辐射场 (NeRF) – 代码剖析
神经辐射场 (NeRF) - 代码剖析 感谢 刘志松师兄 对此文的指导。 基于 Nerf-pl 的代码做进一步剖析。参考代码:Nerf-pl: https://github.com/kwea123/nerf_pl 论文信息: 网站: https://www.matthewtancik.com/nerf 论文:https://arxiv.org/pdf/2003.08934.pdf 代码:https://github.com/bmild/nerf 位置编码 NeRF的输入是一个五维向量: (物体)空间点的位置 [katex]\mathbf{x}=(x,y,z)[/katex] 和 (相机)观测方向 [katex]\mathbf{d}=(\theta, \phi)[/katex]。NeRF使用了位置编码(positional encoding)把一维的位置坐标,转换为高维的表征。例如 [katex]p\in\mathbb{R^1}[/katex], 通过函数[katex]\gamma(\cdot)[/katex]映射到 [katex]\mathbb{R^{2L}}[/katex] 空间中,这里[katex]L[/katex]指的是编码的数量,对于位置坐标,[katex]L=10[/katex];对于观测角度,[katex]L=4[/katex]。 [katex display=true] \gamma(p)=\left(\sin \left(2^{0} \pi p\right), \cos \left(2^{0} \pi p\right), \cdots, \sin \left(2^{L-1} \pi p\right), \cos \left(2^{L-1} \pi p\right)\right) [/katex] 代码实现…
神经辐射场 (NeRF) – 下
神经辐射场 (NeRF) - 下 NeRF: 网站: https://www.matthewtancik.com/nerf 论文:https://arxiv.org/pdf/2003.08934.pdf 代码:https://github.com/bmild/nerf 参考文献: NeRF:用深度学习完成3D渲染任务的蹿红 【NeRF论文笔记】用于视图合成的神经辐射场技术 NeRF的数学推导 NeRF论文阅读 基本流程 NeRF的输入是一个五维向量: (物体)空间点的位置 [katex]\mathbf{x}=(x,y,z)[/katex] 和 (相机)观测方向 [katex]\mathbf{d}=(\theta, \phi)[/katex]。输出是体密度(volume density, [katex]\sigma[/katex],可以理解为透明度)和基于观测角度的物体的空间点色彩 [katex]\mathbf{c}=(r,g,b)[/katex]。 通过对每一束从相机射出的光线,计算途径空间点的色彩 [katex]\mathbf{c}[/katex] 和体密度 [katex]\sigma[/katex]。然后基于获得的空间点的色彩和体密度,进行体素渲染 (Volume Rendering)得到预测的像素值。 NeRF的网络模型(以下简称 NeRF-Model) 实现的功能实际上是 [katex]F_{\Theta}:(\mathbf{x}, \mathbf{d}) \rightarrow(\mathbf{c}, \sigma)[/katex]。实现了从 【空间点位置 + 观测角度】 到 【空间点色彩+体密度】 的映射。 辐射场体素渲染 辐射场体素渲染(Volume Rendering with Radiance Fields)…
神经辐射场 (NeRF) – 上
神经辐射场 (NeRF) - 上 网站: https://www.matthewtancik.com/nerf 论文:https://arxiv.org/pdf/2003.08934.pdf 代码:https://github.com/bmild/nerf 参考文献: NeRF:用深度学习完成3D渲染任务的蹿红 【NeRF论文笔记】用于视图合成的神经辐射场技术 体素渲染 体素渲染 (Volume Rendering) [2] Kajiya J T, Von Herzen B P. Ray tracing volume densities[J]. ACM SIGGRAPH computer graphics, 1984, 18(3): 165-174. 论文中首先介绍了经典的体素渲染(volume rendering) [2] 方法。体素密度 [katex]\sigma(\mathbf{x})[/katex] 可以被理解为,一条射线 [katex]\mathbf{r}[/katex] 在经过 [katex]x[/katex] 处的一个无穷小的粒子时被终止的概率,这个概率是可微的。换句话说,有点类似于这个点的不透明度。由于一条射线上的点是连续的,自然的想法是这条射线的颜色可以由积分的方式得到。将一个相机射线标记为 [katex]\mathbf{r}(t)=\mathbf{o}+t\mathbf{d}[/katex] ,这里 [katex]\mathbf{o}[/katex] 是射线原点, [katex]\mathbf{d}[/katex] 是前述的相机射线角度,[katex]t[/katex]…
对极几何(Epipolar Geometry)
对极几何(Epipolar Geometry) 参考文献: 对极几何与基本矩阵 视觉SLAM 十四讲——对极约束求解相机运动(2D-2D) 视频(【高翔】视觉SLAM十四讲):https://www.bilibili.com/video/BV16t411g7FR?p=6 视觉SLAM十四讲 PDF 目的 我们希望求取两帧图像[katex]I_1[/katex]和 [katex]I_2[/katex] 之间的运动,设第一帧到第二帧的运动为R; t。两个相机中心分别为[katex]O_1[/katex];[katex]O_2[/katex]。现在,考虑I1 中有一个特征点[katex]p_1[/katex],它在[katex]I_2[/katex] 中对应着特征点[katex]p_2[/katex]。我们晓得图像上这两个点对应的是空间中的同一个点[katex]P[/katex]。即 [katex]p_{1}=K P, \quad p_{2}=K(R P+t)[/katex]。[katex]K[/katex] 为相机内参矩阵. 本质矩阵(Essential matrix) 我们知道由相机1到相机2是刚体运动,那么观测点P在相机1坐标系的坐标就可以通过刚体转换变成相机2坐标系下, 这里的 [katex]x_1[/katex] 和 [katex]x_2[/katex] 是两个像素点的归一化平面上的坐标: [katex]x_{1}=K^{-1} p_{1}, \quad x_{2}=K^{-1} p_{2}[/katex]。 [katex display=true] x_2=R x_1 +T [/katex] 其中[katex]R[/katex]和[katex]T[/katex]分别表示旋转和平移,如果我们将其左叉乘一个[katex]T[/katex],即: [katex display=true] \begin{align*} T\times x_2&=T\times \left( Rx_1+T \right)…
WordPress使用Markdown书写LaTex公式
WordPress使用Markdown书写LaTex公式 参考文献:https://snailwish.com/252/comment-page-1/#comment-333 环境 WordPress 插件1:WP Githuber MD (By Terry Lin) 插件2:KaTeX (By Thomas Churchman) 用法 使用markdown正常书写blog: "original.md"。 改变源文件"original.md"语法结构,把公式独立出来,使用KaTeX进行渲染。 在Python 环境下运行一下代码(使用前请删除代码中的¥)。 之前标准的公式格式 改变为 "katex"插件需要的的格式 代码: import time import re # please delete ¥ def convert(input_name, output_name): try: with open(input_name, 'r', encoding='utf8') as fr, open(output_name, 'w', encoding='utf8') as fw: data = fr.read()…
成像模型 (Camera Projection)
成像模型 (Camera_Projection) 参考自课件: (Camera Projection - 1)[https://www.cse.psu.edu/~rtc12/CSE486/lecture12.pdf] (Camera Projection - 2)[https://www.cse.psu.edu/~rtc12/CSE486/lecture13.pdf] https://mp.weixin.qq.com/s/qxLgnWELQ2ZI4MyreXGOYQ 我们需要一个数学模型来描述如何将3D世界坐标系中的点 (U,V,W) 投影到2D图片坐标系([katex]u[/katex],[katex]v[/katex])中。 Camera Coords to Film Coords (3D to 2D) 相机坐标系 Camera Coords ([katex]X[/katex],[katex]Y[/katex],[katex]Z[/katex]) to 画布坐标系 Film Coords ([katex]x[/katex],[katex]y[/katex]): 对于相机坐标系中的点([katex]X[/katex],[katex]Y[/katex],[katex]Z[/katex]),其中[katex]Z[/katex]是从相机原点到该点的距离。已知焦距[katex]f[/katex],因此,相机坐标系到画布坐标系的比例关系为 [katex]f/Z[/katex]。 对应的,我们想求此点在画布坐标系中的横纵坐标([katex]x,y[/katex]),只需要按比例缩放: [katex display=true] x=X \cdot \frac{f}{Z} = f\frac{X}{Z} [/katex] [katex display=true] y=Y \cdot \frac{f}{Z} = f\frac{Y}{Z}…
COLMAP – Recover Camera Poses
? Reference: Large-scale 3D Modeling from Crowdsourced Data https://demuc.de/tutorials/cvpr2017/ "Large-scale image-based 3D modeling has been a major goal of computer vision, enabling a wide range of applications including virtual reality, image-based localization, and autonomous navigation. One of the most diverse data sources for modeling is Internet photo collections. In the…