{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 3D vidění" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pro trojrozměrné vidění jsou potřebné dva pohledy. Systém zrcadel zajišťující dva různé pohledy (stereo-vidění)\n", "\n", "![schéma získání dvou obrazů pomocí jedné kamery a soustavy zrcadel](http://www.kky.zcu.cz/uploads/courses/zdo/lesson9/stereozaznam.jpg)\n", "\n", "\n", "kalibrace scény pomocí objektu se známou geometrií \n", "![kalibrace scény pomocí objektu se známou geometrií](http://www.kky.zcu.cz/uploads/courses/zdo/lesson9/fig2.jpg)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Kalibrační matice " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "s \\begin{bmatrix}\n", "u\\\\\n", "v\\\\\n", "1\n", "\\end{bmatrix} = \n", "\\begin{bmatrix}\n", "{f_x}&{0}&{c_x}\\\\\n", "{0}&{f_y}&{c_y}\\\\\n", "{0}&{0}&{1}\n", "\\end{bmatrix}\n", "\\begin{bmatrix}\n", "r_{11} & r_{12} & r_{13} & t_1 \\\\\n", "r_{21} & r_{22} & r_{23} & t_2 \\\\\n", "r_{31} & r_{32} & r_{33} & t_3\n", "\\end{bmatrix}\n", "\\begin{bmatrix}\n", "X \\\\\n", "Y \\\\\n", "Z \\\\\n", "1\n", "\\end{bmatrix}\n", "$$\n", "\n", "Kde \n", " * $(X, Y, Z)$ jsou souřadnice 3D bodu ve obecném prostoru\n", " * $(u, v)$ jsou souřadnice projekce bodu v pixelech\n", " * $A$ je matice kamery\n", " * $(cx, cy)$ is a principal point that is usually at the image center \n", " * $(fx, fy)$ are the focal lengths expressed in pixel units\n", "\n", "\n", "$$\n", "A=\\begin{bmatrix}\n", "\\alpha_{x} & \\gamma & u_{0}\\\\\n", "0 & \\alpha_{y} & v_{0}\\\\\n", "0 & 0 & 1\\end{bmatrix}\n", "$$\n", "\n", "využití [epipolární geometrie](http://www.elektrorevue.cz/clanky/05017/index.html) pro nalezení bodů v druhém pohledu podle označených (nalezených) bodů v prvním pohledu\n", "![epipolar](https://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Epipolar_geometry.svg/1280px-Epipolar_geometry.svg.png)\n", "\n", "\n", "![užití epipolární geometrie](http://www.kky.zcu.cz/uploads/courses/zdo/lesson9/fig3.jpg)\n", "\n", "ukázka nalezení významných bodů pro 3D rekonstrukci objektu\n", "![nalezení významných bodů pro 3D rekonstrukci objektu]\n", "(http://www.kky.zcu.cz/uploads/courses/zdo/lesson9/fig1.jpg)\n", "\n", "zrekonstruovaný objekt reprezentovaný pomocí trojúhelníků ve skutečném měřítku\n", "![rekonstrukce](http://www.kky.zcu.cz/uploads/courses/zdo/lesson9/fig4.jpg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Používané metody" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* SIFT, SURF\n", "* RANSAC" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3D senzory (Kinect)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "laser vysílá body v neviditelné části spektra ([ukázka](https://www.youtube.com/watch?v=nvvQJxgykcU) )" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 1 }