Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Computer Vision Session 1
Computer Vision Session 1
February 9, 2016
• 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.
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.
From www
2
Proyección perspectiva: paralelas
From Computer vision, a modern approach, D. Forsyth and J. Ponce, 2003
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.
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
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()
# ------------------------------------
# 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)
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.
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.
2.2.3 Vignetting
From Wikimedia
7
3 Sensores foto-receptivos
3.0.4 Nicéphore Niepce
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.
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:
• 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.
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