A Human Eye Retinal Cone Synthesizer Michael F. Deering.

Slides:



Advertisements
Similar presentations
Filling Algorithms Pixelwise MRFsChaos Mosaics Patch segments are pasted, overlapping, across the image. Then either: Ambiguities are removed by smoothing.
Advertisements

Wang Tiles for Image and Texture Generation
Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95.
Chapter 2.
1 Human-Computer Interaction Screen Layout and Colour.
Extended Gaussian Images
Models of Network Formation Networked Life NETS 112 Fall 2013 Prof. Michael Kearns.
Outline 1. General Design and Problem Solving Strategies 2. More about Dynamic Programming – Example: Edit Distance 3. Backtracking (if there is time)
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 6, 2014 TEXTURE MAPPING TEXTURES BUMP MAPPING ENVIRONMENT MAPPING PROCEDURAL TEXTURING.
1 Learning to Detect Objects in Images via a Sparse, Part-Based Representation S. Agarwal, A. Awan and D. Roth IEEE Transactions on Pattern Analysis and.
Sep 21, Fall 2005ITCS4010/ Computer Graphics Overview Color Displays Drawing Pipeline.
Sorting and Searching Timothy J. PurcellStanford / NVIDIA Updated Gary J. Katz based on GPUTeraSort (MSR TR )U. of Pennsylvania.
Suggestive Contours Final programming assignment Advanced topics in Computer Graphics.
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
Sep 21, Fall 2006IAT 4101 Computer Graphics Overview Color Displays Drawing Pipeline.
Ch 31 Sensation & Perception Ch. 3: Vision © Takashi Yamauchi (Dept. of Psychology, Texas A&M University) Main topics –convergence –Inhibition, lateral.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Hidden Surface Removal
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean Hall 5409 T-R 10:30am – 11:50am.
Graph-based consensus clustering for class discovery from gene expression data Zhiwen Yum, Hau-San Wong and Hongqiang Wang Bioinformatics, 2007.
1 Three dimensional mosaics with variable- sized tiles Visual Comput 2008 報告者 : 丁琨桓.
Human Eye  A human eyeball is like a simple camera! Sclera: White part of the eye, outer walls, hard, like a light-tight box. Cornea and crystalline lens.
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
1 3D virtual mosaics: Opus Palladium and mixed styles Visual Comput 2009 報告者 : 丁琨桓.
Visual structure & Blind spot. Question 1 What do these devices have in common?
A Photon Accurate Model Of The Human Eye Michael F. Deering.
Clustering of protein networks: Graph theory and terminology Scale-free architecture Modularity Robustness Reading: Barabasi and Oltvai 2004, Milo et al.
Combined Central and Subspace Clustering for Computer Vision Applications Le Lu 1 René Vidal 2 1 Computer Science Department, Johns Hopkins University,
Ch 31 Sensation & Perception Ch. 3: Vision © Takashi Yamauchi (Dept. of Psychology, Texas A&M University) Main topics –convergence –Inhibition, lateral.
©College of Computer and Information Science, Northeastern UniversityMay 27, CS 4300 Computer Graphics Prof. Harriet Fell Fall 2012 Lecture 4 – September.
CSC 211 Data Structures Lecture 13
CSE554SkeletonsSlide 1 CSE 554 Lecture 2: Shape Analysis (Part I) Fall 2015.
Duy & Piotr. How to reconstruct a high quality image with the least amount of samples per pixel the least amount of resources And preserving the image.
CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
Marwan Al-Namari 1 Digital Representations. Bits and Bytes Devices can only be in one of two states 0 or 1, yes or no, on or off, … Bit: a unit of data.
Nets Nets A net is a pattern that you cut out and fold to form a 3 - dimensional figure.
Matthew Zhu. At each time step calculate each particle’s acceleration and use Verlet numerical integration to update its position, velocity, and grid.
Computing & Information Sciences Kansas State University Lecture 12 of 42CIS 636/736: (Introduction to) Computer Graphics CIS 636/736 Computer Graphics.
Yizhou Yu Texture-Mapping Real Scenes from Photographs Yizhou Yu Computer Science Division University of California at Berkeley Yizhou Yu Computer Science.
Optimal Path Planning Using the Minimum-Time Criterion by James Bobrow Guha Jayachandran April 29, 2002.
11/24/ :45 Graphics II Shadow Maps Reflections Session 5.
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
Smoothed Particle Hydrodynamics Matthew Zhu CSCI 5551 — Fall 2015.
Image Processing A Study in Pixel Averaging Building a Resolution Pyramid With Parallel Computing Denise Runnels and Farnaz Zand.
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
Advisor : Ku-Yaw Chang Speaker : Ren-Li Shen /6/12.
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
Active Walker Model for Bacterial Colonies: Pattern Formation and Growth Competition Shane Stafford Yan Li.
Non-Photorealistic Rendering FORMS. Model dependent Threshold dependent View dependent Outline form of the object Interior form of the object Boundary.
Pack 009 Extrusion continued and Subdivision Surface Heikki Hietala IT Dept. Malmi Campus HAAGA-HELIA University of Applied Sciences.
Department of Computer Science, Johns Hopkins University Lecture 7 Finding Concurrency EN /420 Instructor: Randal Burns 26 February 2014.
CSE 554 Lecture 2: Shape Analysis (Part I)
3-D SHAPES.
Computer Graphics Filling.
Image-Based Rendering
Constructing Objects in Computer Graphics By Andries van Dam©
Computer Vision Lecture 12: Image Segmentation II
CSc4730/6730 Scientific Visualization
Models of Network Formation
Models of Network Formation
Models of Network Formation
Sorting and Searching Tim Purcell NVIDIA.
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Models of Network Formation
Plants from Images CS 658.
Presentation transcript:

A Human Eye Retinal Cone Synthesizer Michael F. Deering

Implementation Sketch For The SIGGRAPH 2005 Paper: A Photon Accurate Model of the Human Eye Michael F. Deering

Use Graphics Theory To Simulate Vision

Goal Build a computer program to properly simulate the complex sampling pattern of the human eye retinal cone mosaic. Use this in a photon by photon simulation of display devices onto the human eye.

Why Eye Sampling Pattern Matters

Overview Background about human retinal cones Growth algorithm overview Cone force equation Re-forming cone cell borders Touch-up Results

Eye Model

What Does A Cone Look Like?

What Do Cone Retinal Arrays Look Like? For years all we had were photo micrographs of sliced and diced dead eyeballs. Now we can obtain images of living retinas.

Roorda And Williams Image

Retinal Cone Distribution Most data is from Curcio et. al. ’90 Large variation in maximum density More recent data: Williams, Millar, Roorda Cone density varies primarily biased on eccentricity, but also by retinal meridian

Terminology: Cell Borders Plants have cell walls Animals don’t have cell walls; they have cell borders (or cell membranes)

High Resolution Foveas Are A Relatively Recent Addition -2 months birth+6 years

Synthetic Retina Generation Use rectangular lattice. Use triangular lattice. Use perturbed triangular lattice. Take real retinal images as representative patches then flip and repeat. I want all 5 million cones: A new computer model to generate parameterized retinas (not synthesizing rods yet).

Possible Retina Generation Algorithms Add one new cone at a time, placing each into its final position. – Too simplistic to work Simulate the interactions of all 5 million cones simultaneously. – Too computationally complex to work

Retina Generation Algorithm Add new cones in concentric rings, varying target cell density by Curcio data Merge new cones into existing mosaic Grow on curved spherical surface Keep only changing cones in memory

Two Phase Cone Growth Algorithm Phase I: update the center location of all still active cone cells using the cone force equation. Phase II: re-form all cone cell borders from updated cone centers using pattern matching algorithm. Run paired phases for cycles per ring of new cones added.

Definitions Normalized distance between cones p and n: Two cones p and n are neighbors if:

The Cone Force Equation

The Cone Force Picture p To center of fovea p p’

Definition Of Spline[ ] Function x Spline[x]

Re-form Cone Cell Borders From Updated Cone Centers

Why Vornoi Cell Construction Is Inappropriate No way to enforce cell size or shape constraints

Why Vornoi Cell Construction Is Inappropriate Always looking at three vertices at a time. Correct answer here is just a single new border vertex for all 4 cones.

My Cell Border Construction Algorithm Sequentially visit each cell. Using spatially indexed data structure, find all the neighbors of the cell and sort them into clockwise order. Apply cell border construction pattern rules to successive sequences of neighbors. Result is new set of border edges for that cell.

Sort Neighbors Into Clockwise Order p n0n0 n1n1 n2n2 njnj n max

Try Pattern Rules From Most Complex To Least Complex Only try a simpler pattern rule after all the more complex ones have failed. (The following slides will present the rules in the opposite order.)

Three Cone Centers Share Edge Vertex p nini n i+1 ejej N[n i, n i+1 ]

Three Cone Centers Don’t Share Edge Vertex p nini n i+1 ejej e j+1

Four Cone Centers Share Edge Vertex p nini n i+2 ejej n i+1 N[n i, n i+1 ] N[n i+1, n i+2 ] N[n i, n i+2 ] D[p, n i ] < D[p, n i+1 ] or D[p, n i+2 ] < D[p, n i+1 ]

Complex 5 Vertex Case p nini n i+2 ejej n i+1 q

New Completed Cell Border p e0e0 e1e1 e2e2 e3e3 e4e4 e5e5

Touch-ups Check re-formed cell borders for voids as large or larger than the local cone size; if they persist seed them with new cones. Check re-formed cell borders for cones too much smaller than their birth target size; if they persist delete them.

Extreme Cone Density Change Test Case Change the density control knob by a factor of 8 in area within a small distance.

Growth Sequence Movie

Growth Movie Zoom

Retinal Zoom Out Movie

3D Fly By Movie

Larger View Of My Synthetic Retina

Roorda Blood Vessel

Roorda vs. Synthetic

30x30 Pixel Face Input

Retinal Image Results

30x30 Pixel Movie

Result Movie

Acknowledgements Michael Wahrman for the RenderMan™ rendering of the cone data. Julian Gómez and the anonymous SIGGRAPH reviewers for their comments on the paper.