Está en la página 1de 12

Computer vision, session 1

February 9, 2016

1 Modelo pin-hole: la camara obscura

From L’encyclopédie, Diderot, ≈ 1760


Base de todo dispositivo fotográfico moderno (o visión animal)

• cámaras con obturador y diafragma, en lugar del agujero (para tener suficiente cantidad de luz),
• lentes o espejos agregados al sistema, para controlar la formación de la imagen,
• ** superficie sensible** (CCD, CMOS, pelı́cula. . . ) en lugar del fondo de la cámara, para grabar la
imagen.

• Invierte imágenes en el plano de proyección (e.g., CCD).


• Plano virtual, adelante de la cámara, simétrico al de proyección, para no razonar con imágenes
invertidas.
• El agujero se llama centro óptico.
• La geometrı́a proyectiva es la herramienta adecuada para estudiar las propiedades de lo observado
vs. la escena.

Pero:

1
• El hoyo tiene cierto tamaño (diafragma), entonces cada pı́xel lo iluminan rayos de todo un cono:
imágenes borrosas.
• Los lentes nos alejan del modelo teórico al agregar distorsiones no manejadas por la proyección
perspectiva.

1.1 Proyección perspectiva

Retrato de Arnolfini, Van Eyck, 1434

From www

Proyección perspectiva: distancias


From Computer vision, a modern approach, D. Forsyth and J. Ponce, 2003

2
Proyección perspectiva: paralelas
From Computer vision, a modern approach, D. Forsyth and J. Ponce, 2003

• ** Distancias no conservadas**. Depende de las distancias al centro óptico Y centro óptico/plano de


proyección.
• Proyecciones de paralelas como haz de lineas convergentes en un punto de fuga.
• El conjunto de puntos de fuga correspondiendo a lineas paralelas perteneciendo a un mismo plano
forman una linea, por ejemplo, la linea de horizonte.
• Las lineas paralelas al plano de proyección (como L) no convergen a un punto de la imagen. En
realidad, sı́ convergen, pero hacia un punto al infinito.

2 Lentes
Los lentes tienen doble utilidad: * juntar la luz de todo un cono hacia el plano de la imagen; * ** enfocar**
esa luz sobre el plano de la imagen, a pesar de que provenga de todo un cono.

From Computer vision, a modern approach, Slides by D. Forsyth, 2003


Unas hipotesis que se hacen generalmente son: * geometria paraxial: ángulos entre rayos y normales
a la superficie chicos; * simetrı́a rotacional del lente; * superficie esférica del lente; * dos interfaces muy
cercanas (“lentes finos”).

2.1 Lentes finos


R
Con f = 2(nvidrio −1) ,

1 1 1
+ = .
d1 d2 f
donde d1 , d2 son las distancias de las intersecciones del rayo con el eje óptico a la origen.
Observaciones: * se puede mostrar que el rayo pasando por el centro no está refractado. * d1 = ∞
(rayos paralelos): d2 = f . * d1 = f (rayo pasando por el punto focal): d2 = ∞.

3
From Computer vision, a modern approach, D. Forsyth and J. Ponce, 2003

In [ ]: ## Courtesy http://www.frantzmartinache.com/blog/?p=84
import numpy as np, matplotlib.pyplot as plt

# ----------------------------------------------------------------
# simply draws a thin-lens at the provided location
# parameters:
# - z: location along the optical axis (in mm)
# - f: focal length (in mm, can be negative if div. lens)
# - diam: lens diameter in mm
# - lbl: label to identify the lens on the drawing
# ----------------------------------------------------------------
def add_lens(z, f, diam, lbl):
ww, tw, rad = diam / 10.0, diam/3.0, diam / 2.0
plt.plot([z, z], [-rad, rad], ’k’, linewidth=2)
plt.plot([z, z+tw], [-rad, -rad+np.sign(f)*ww], ’k’, linewidth=2)
plt.plot([z, z-tw], [-rad, -rad+np.sign(f)*ww], ’k’, linewidth=2)
plt.plot([z, z+tw], [ rad, rad-np.sign(f)*ww], ’k’, linewidth=2)
plt.plot([z, z-tw], [ rad, rad-np.sign(f)*ww], ’k’, linewidth=2)
plt.plot([z+f, z+f], [-ww,ww], ’k’, linewidth=2)
plt.plot([z-f, z-f], [-ww,ww], ’k’, linewidth=2)
plt.text(z,rad+5.0, lbl, fontsize=12)
plt.text(z,rad+2.0, ’f=’+str(int(f)), fontsize=10)

# ----------------------------------------------------------------------
# geometrical propagation of light rays from given source
# parameters:
# - p0: location of the source (z0, x0) along and off axis (in mm)
# - NA: numerical aperture of the beam (in degrees)
# - nr: number of rays to trace
# - zl: array with the location of the lenses
# - ff: array with the focal length of lenses
# - lbl: label for the nature of the source
# - col: color of the rays on plot
# ----------------------------------------------------------------------
def propagate_beam(p0, NA, nr, zl, ff, lbl=’’, col=’b’):
apa = NA*np.pi/180.0
z0 = p0[0]
if (np.size(p0) == 2): x0 = p0[1]
else: x0 = 0.0

zl1, ff1 = zl[(z0 < zl)], ff[(z0 < zl)]


nl = np.size(zl1) # number of lenses

zz, xx, tani = np.zeros(nl+2), np.zeros(nl+2), np.zeros(nl+2)


tan0 = np.tan(apa/2.0) - np.tan(apa) * np.arange(nr)/(nr-1)

4
for i in range(nr):
tani[0] = tan0[i] # initial incidence angle
zz[0], xx[0] = z0, x0
for j in range(nl):
zz[j+1] = zl1[j]
xx[j+1] = xx[j] + (zz[j+1]-zz[j]) * tani[j]
tani[j+1] = tani[j] - xx[j+1] / ff1[j]

zz[nl+1] = zmax
xx[nl+1] = xx[nl] + (zz[nl+1]-zz[nl]) * tani[nl]
plt.plot(zz, xx, col)

# ----------------------------------------------------------------------
# MAIN PROGRAM
# ----------------------------------------------------------------------
plt.clf()

zmin, zmax = -100., 1600.


xmin, xmax = -25, 25
bignum, smallnum = 1e6, 1e-6 # all distances expressed in mm

# ------------------------------------
# location + focal length of optics
# ------------------------------------
zl = np.array([ 1200.0]) # lens positions
ff = np.array([250.0]) # lens focal length

xsrc, zsrc, zpup = 2.0 , 0.0, -bignum # position of src and pupil
srcpos = (zsrc, xsrc)

# draw the different beams


# --------------------------
propagate_beam((zpup,), 0.0005, 20, zl, ff, ’src1’, ’g’)
propagate_beam((110,), 1, 20, zl, ff, ’DM’, ’y’)
propagate_beam((110,10), 1, 20, zl, ff, ’DM’, ’r’)

# add the lenses


# -------------------------
for i in range(np.size(zl)): add_lens(zl[i], ff[i], 25, "L"+str(i))

# plot optical axis


# -------------------------
plt.plot([zmin,zmax], [0,0], ’k’)
plt.axis([zmin,zmax, xmin, xmax])
plt.title("Example of brilliant optical design!")
plt.show()
En términos de coordenadas z y z 0 de los puntos y de sus imágenes, se puede mostrar
1 1 1
− = .
z0 z f
Se puede considerar finalmente todo el sistema con lentes como un sistema de hoyo de aguja, con distancia
centro óptico/plano de proyección f 0 .

5
• A priori, sólo los puntos tales que f 0 = z 0 , i.e. z = 1
1
− f1
están bien enfocados.
f0
0
• Los puntos al infinito se enfocan en F .
• F y F 0 son los puntos focales.

2.2 Lentes finos y fotografı́a


• Con la cámara, se puede actuar sobre la distancia f 0 > f (focus), y poner f = f 0 enfoca al infinito;
• Con un zoom, o cambiando de lente, se puede cambiar f .
• Para valores dados de f 0 y f , hay en realidad todo un rango de valores de z tales que la imagen parece
enfocada: la profundidad de campo.
En fotografı́a, hay dos otros controles sobre los cuales se actúa: * el diafragma, que controla la cantidad
de luz que entra; * el tiempo de exposición (obturador), que controla durante cuanto tiempo esa luz entra.
El diafragma sı́ influye sobre la profundidad de campo: lo más grande el diafragma, lo más reducida la
profundidad de campo.
El campo de vista de la cámara es el ángulo que se proyecta efectivamente sobre la superficie sensible
de la cámara.
Se puede definir a partir de:
d
β = 2 arctan
2f
donde f es la focal y d el tamaño de la diagonal del sensor.
Grandes ángulos corresponden a focales cortas; focales largas corresponden por ejemplo a tele-objetivos.

2.2.1 Aberraciones esféricas

From: Computer vision, a modern approach, D. Forsyth and J. Ponce, 2003


• Rayos incidentes en la periferia cortan el eje óptico más adelante del punto teórico.
• Se genera cı́rculos de confusión (área borrosa).
• El radio del cı́rculo varia con la posición del plano de proyección; pero el mı́nimo no es necesariamente
el plano teórico. . .
Distorsiones sobre la imagen entera.

From: http://beginnersphoto.weebly.com/lens-effects-and-distortions.html
La distorsión es más grave en cierto sentido ya que la posición “teórica” de los puntos se ve afectada.
Barrel/Cushion.

6
2.2.2 Aberraciones cromáticas

From Wikimedia
Aberraciones corregidas al usar varios lentes, bien ubicados uno con respecto al otro de tal manera a
corregir los defectos. El modelo de lente grueso se puede aplicar para un conjunto de lentes.

From Computer vision, a modern approach, D. Forsyth and J. Ponce, 2003


El problema es que introduce otro tipo de defecto. . .

From Computer vision, a modern approach, D. Forsyth and J. Ponce, 2003

2.2.3 Vignetting

From Wikimedia

7
3 Sensores foto-receptivos
3.0.4 Nicéphore Niepce

From H. Ransom Center and J. P. Getty Museum.

• Cámara obscura + placa cubierta de asfalto.


• El asfalto, expuesto a la luz, se aclara, endurece y se hace insoluble a disolvente.
• Exposición de varias horas.
• Se limpia la placa con el disolvente: en las partes más expuestas, se queda el asfalto claro.

Imagen positiva.

From WWW

From WWW

3.0.5 Pelı́culas
1885: Eastman introduce la pelı́cula fotográfica de papel, primero, y luego de nitrato de celulosa

• Plástico cubierto de una emulsión conteniendo cristales de halogenuros de plata (Ag + Br− ).
• Por exposición, creación de pares electrones/hoyos

8
Ag + + e− → Ag
* Revelación: acelera el proceso de transformación de los iones de plata en átomos de plata (color negro).
* Paro de la reacción con un baño especifico. * Fijación de la imagen negativa al quitar los cristales que
quedan.

3.0.6 CCD
• Coupled Charge Device: propuesto por W. Boyle y G. Smith en los Bell Labs (Nobel de fı́sica en
2009).
• Principio más general que para imágenes: se trata sobre todo de guardar y mover información dentro
de un dispositivo electrónico.
• Todavı́a es el paradigma más común de dispositivos de captura de imágenes (pero competición con
CMOS).
• Históricamente desarrollado por Sony.

Idea : * disponer de un arreglo de dispositivos capaces de generar cargas (e.g. elementos fotosensibles);
* “canalización” de las cargas al aplicar voltajes sucesivamente en los arreglos; * recolectar las cargas al
final del arreglo y transformarlas en voltaje.

From Journal of Young Investigators, March 2001

• La cantidad de cargas creadas es proporcional a la intensidad de la luz que pega el foto-


receptor, que se llama pixel (picture element).
• Casi 0.7/0.8 electrón por cada fotón.
• En un arreglo rectangular, las cargas son recolectadas hasta el final de la linea, con todas las lineas en
paralelo, en una columna en la cual se aplica el mismo procedimiento (ver animación www.fsu.edu).
• Cargas transformadas en voltajes y digitalizadas en salida.
• Pocas pérdidas de una celda a la otra; ahora, las pérdidas se hacen más importantes con sensores más
grandes (∼ 10%).
• Sensores de las cámaras actuales ∼ 107 pixeles.

3.0.7 Color: tri-CCD


• Tres arreglos diferentes reciben las componentes de R,G,B gracias a un prisma.
• Muy buena calidad.
• ** Caro** (tres CCDs, más el prisma).

9
3.0.8 Color: Bayer
• La solución empleada en la mayorı́a de las cámaras.
• Un solo arreglo de pixeles.
• Filtros de color en cada pixel.
• Arreglamiento espacial particular de los filtros.

From Wikipedia
• Menor calidad (resolución).
• Menor eficiencia (dos terceros de la luz están absorbidos).
• Más barato para implementar.
• Necesita procesamiento en salida (interpolación) para re-crear la imagen entera.

3.0.9 CMOS
• Sensores muy comúnmente usados en teléfonos, webcams. . .
• También arreglo de sensores fotosensibles.
• El proceso electrónico de transformación de cargas a voltaje (y eventualmente la digitalización) está
hecho directamente al nivel del pixel (no hay transferencia en linea).
• Principio conocido desde hace tiempo pero implementación posible sólo por miniaturización.
• Proceso de adquisición más rápido.
• Efectos no deseados en el CCD ausentes: blooming (saturación de un sitio en cargas, que se mueven
a los sitios adyacentes).
• Menos consumo de energı́a.
• Posibilidades de windowing: acceso a un cuadro particular de la imagen.
• Costos inferiores de fabricación.
• Fuertemente apoyado por Canon.
En la “guerra” CMOS/CCD, no ganador (hasta el momento) * CCD tiene superficie sensible más grande
(sensibilidad superior, por ejemplo en escenas oscuras) * Cuando más componentes cerca de la superficie
sensible, más ruido. * Con cámaras de vı́deo: Global shutter (CCD) vs. Rolling shutter (CMOS).

4 Visión humana
El ojo humano tiene muchas caracterı́sticas de una cámara!

From Wikipedia

10
Su estudio ha sido fuente de muchos trabajos en visión por computadora por los diferentes mecanismos
que tiene:

• organización de los procesamientos ligados a la percepción, “arquitectura” de la percepción y de la


cognición,
• visión foveada,
• diseño de sensores estereo: vergencia,
• estudio de interfaces hombre-máquina.

• El iris y la pupila controlan la cantidad de luz admitida (el hoyo de aguja/el diafragma), variando de
radio de 1mm a 8mm.
• La cornea y el cristalino sirven de lentes y refractan la luz para que se proyecte en la retina.
• La retina constituye la superficie sensible.

El cristalino está actuado por músculos (control activo de la focal)

From Wikipedia
Lo interesante es que, contrariamente a sensores clásicos, hay diferenciación entre celdas fotosensibles:
conos y bastones.

• Los bastones son mucho más numerosos, pero en la periferia del ojo;
• Los conos son presentes en alta densidad en la fovea;
• Existe una zona de la retina sin receptores, porque acá desemboca el nervio óptico: zona ciega.

4.0.10 Bastones:
• Muy sensibles (100 veces mas que los conos), pero sin muchos “procesamientos” (pocos neuronas
conectados);
• Visión nocturna con la periferia de la retina;
• Detección de movimiento;
• Pico de sensibilidad para colores verde-azul (≈ 498nm)

4.0.11 Conos:
• Menos sensibles, pero más conectados a unidades de “procesamientos” y más rápidos en reacciones
ante estı́mulos;
• Percepción de los detalles.
• Percepción de los colores: dentro de los mismos conos, tres familias, cada una sensible a cierta parte
del espectro de color (picos respectivos en el azul, verde y rojo)

11
From Sheri L. Williamson’s blog

12

También podría gustarte