{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Set CUDA:0 as current device.\n" ] } ], "source": [ "import sys\n", "import os\n", "\n", "rootdir = os.path.abspath('../')\n", "sys.path.append(rootdir)\n", "\n", "import torch\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from utils import img\n", "from utils import sphere\n", "from utils.constants import *\n", "from nets.msl_net import *\n", "\n", "# Select device\n", "torch.cuda.set_device(0)\n", "print(\"Set CUDA:%d as current device.\" % torch.cuda.current_device())\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Test Ray-Sphere Intersection & Cartesian-Spherical Conversion" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def PlotSphere(ax, r):\n", " u, v = np.mgrid[0:2 * PI:50j, 0:PI:20j]\n", " x = np.cos(u) * np.sin(v) * r\n", " y = np.sin(u) * np.sin(v) * r\n", " z = np.cos(v) * r\n", " ax.plot_surface(x, y, z, rstride=1, cstride=1,\n", " color='b', linewidth=0.5, alpha=0.3)\n", "\n", "\n", "def PlotPlane(ax, r):\n", " # 二元函数定义域平面\n", " x = np.linspace(-r, r, 3)\n", " y = np.linspace(-r, r, 3)\n", " X, Y = np.meshgrid(x, y)\n", " ax.plot_wireframe(X, Y, X * 0, color='g', linewidth=1)\n", "\n", "\n", "p = torch.tensor([[0.0, 0.0, 0.0]])\n", "v = torch.tensor([[0.0, -1.0, 1.0]])\n", "r = torch.tensor([[0.5]])\n", "v = v / torch.norm(v) * r * 2\n", "p_on_sphere_ = sphere.ray_sphere_intersect(p, v, r)[0][0]\n", "print(p_on_sphere_)\n", "print(p_on_sphere_.norm())\n", "spher_coord = sphere.cartesian2spherical(p_on_sphere_)\n", "print(spher_coord[..., 1:3].rad2deg())\n", "p_on_sphere = sphere.spherical2cartesian(spher_coord)\n", "print(p_on_sphere_.size())\n", "\n", "fig = plt.figure(figsize=(8, 8))\n", "ax = fig.gca(projection='3d')\n", "plt.xlabel('x')\n", "plt.ylabel('z')\n", "\n", "PlotPlane(ax, r.item())\n", "PlotSphere(ax, r[0, 0].item())\n", "\n", "ax.scatter([0], [0], [0], color=\"g\", s=10) # Center\n", "ax.scatter([p_on_sphere[0, 0].item()],\n", " [p_on_sphere[0, 2].item()],\n", " [p_on_sphere[0, 1].item()],\n", " color=\"r\", s=10) # Ray position\n", "ax.scatter([p_on_sphere_[0, 0].item()],\n", " [p_on_sphere_[0, 2].item()],\n", " [p_on_sphere_[0, 1].item()],\n", " color=\"y\", s=10) # Ray position\n", "\n", "p_ = p + v\n", "ax.plot([p[0, 0].item(), p_[0, 0].item()],\n", " [p[0, 2].item(), p_[0, 2].item()],\n", " [p[0, 1].item(), p_[0, 1].item()],\n", " color=\"r\")\n", "\n", "ax.plot([p_on_sphere_[0, 0].item(), p_on_sphere_[0, 0].item()],\n", " [p_on_sphere_[0, 2].item(), p_on_sphere_[0, 2].item()],\n", " [0, p_on_sphere_[0, 1].item()], color=\"k\", linestyle='--', linewidth=0.5)\n", "\n", "ax.plot([p_on_sphere_[0, 0].item(), 0],\n", " [p_on_sphere_[0, 2].item(), 0],\n", " [0, 0],\n", " linewidth=0.5, linestyle=\"--\", color=\"k\")\n", "\n", "ax.plot([p_on_sphere_[0, 0].item(), 0],\n", " [p_on_sphere_[0, 2].item(), 0],\n", " [p_on_sphere_[0, 1], 0],\n", " linewidth=0.5, linestyle=\"--\", color=\"k\")\n", "\n", "ax.set_xlim(-r.item(), r.item())\n", "ax.set_ylim(-r.item(), r.item())\n", "ax.set_zlim(-r.item(), r.item())\n", "\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Test Dataset Loader" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 torch.Size([4, 3, 400, 400]) torch.Size([4, 400, 400, 3]) torch.Size([4, 400, 400, 3])\n" ] }, { "data": { "image/png": "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\n", "text/plain": "
" }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from data.spherical_view_syn import SphericalViewSynDataset\n", "from data.loader import FastDataLoader\n", "\n", "DATA_DESC_FILE = f'{rootdir}/data/__new/street_fovea_r360x80_t1.0/train1.json'\n", "\n", "dataset = SphericalViewSynDataset(DATA_DESC_FILE)\n", "data_loader = FastDataLoader(dataset, 4, shuffle=False)\n", "\n", "fig = plt.figure(figsize=(12, 6.5))\n", "i = 0\n", "for indices, patches, rays_o, rays_d in data_loader:\n", " print(i, patches.size(), rays_o.size(), rays_d.size())\n", " for idx in range(len(indices)):\n", " plt.subplot(4, 7, i + 1)\n", " img.plot(patches[idx])\n", " i += 1\n", " if i == 4:\n", " break\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Validate Dataset" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from data.spherical_view_syn import SphericalViewSynDataset\n", "from data.loader import FastDataLoader\n", "\n", "\n", "#DATA_DESC_FILE = f'{rootdir}/data/pabellon_fovea_r40x40_t0.3/train.json'\n", "#DATA_DESC_FILE = f'{rootdir}/data/gas_fovea_r80x60_t0.3_2021.01.26/train.json'\n", "#DATA_DESC_FILE = f'{rootdir}/data/nerf_fern/train.json'\n", "#DATA_DESC_FILE = f'{rootdir}/data/lobby_fovea_2021.01.18/train.json'\n", "#DATA_DESC_FILE = f'{rootdir}/data/__new/street_fovea_r360x80_t1.0/train1.json'\n", "#DATA_DESC_FILE = f'{rootdir}/data/__new/stones_fovea_r360x80_t1.0/train1.json'\n", "DATA_DESC_FILE = f'{rootdir}/data/__new/lobby_periph_r360x180_t1.0/train1.json'\n", "\n", "\n", "dataset = SphericalViewSynDataset(DATA_DESC_FILE)\n", "dataset.set_patch_size(1)\n", "res = dataset.view_res\n", "data_loader = FastDataLoader(dataset, res[0] * res[1], shuffle=False)\n", "\n", "selector = torch.arange(res[0] * res[1]).reshape(res[0], res[1])[::5, ::5].flatten()\n", "\n", "for ri in range(0, 9):\n", " r = ri * 2 + 1\n", " p = None\n", " centers = None\n", " pixels = None\n", " idx_range = list(range(6, 12)) #+ list(range(24, 30)) + list(range(42, 48))\n", " idx = 0\n", " for indices, patches, rays_o, rays_d in data_loader:\n", " if idx not in idx_range:\n", " idx += 1\n", " continue\n", " patches = patches[selector]\n", " rays_o = rays_o[selector]\n", " rays_d = rays_d[selector]\n", " r = torch.tensor([[r]], device=device.default())\n", " p_ = misc.torch2np(sphere.ray_sphere_intersect(rays_o, rays_d, r)[0].view(-1, 3))\n", " p = p_ if p is None else np.concatenate((p, p_), axis=0)\n", " pixels_ = misc.torch2np(patches)\n", " pixels = pixels_ if pixels is None else np.concatenate((pixels, pixels_), axis=0)\n", " idx += 1\n", "\n", " if ri % 2 == 0:\n", " plt.figure(facecolor='white', figsize=(20, 10))\n", " ax = plt.subplot(1, 2, ri % 2 + 1, projection='3d')\n", " plt.xlabel('x')\n", " plt.ylabel('z')\n", " plt.title('r = %f' % r)\n", " ax.scatter([0], [0], [0], color=\"k\", s=10)\n", " ax.scatter(p[:, 0], p[:, 2], p[:, 1], color=pixels, s=0.5)\n", " ax.view_init(elev=0, azim=-90)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3.8.5 64-bit ('base': conda)", "name": "python385jvsc74a57bd082066b63b621a9e3d15e3b7c11ca76da6238eff3834294910d715044bd0561e5" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 2 }