lunes, 8 de abril de 2019

EL PROCESAMIENTO DE IMÁGENES


El campo del vector límite [1] [2] (BVF) es una fuerza externa para contornos activos paramétricos (es decir, serpientes). En los campos de la visión por computadora y el procesamiento de imágenes , los contornos paramétricos activos se utilizan ampliamente para la segmentación y la extracción de objetos. Los contornos activos avanzan progresivamente hacia su objetivo en función de las fuerzas externas. Hay una serie de deficiencias en el uso de las fuerzas externas tradicionales, incluido el problema del rango de captura, el problema de extracción de objetos cóncavos y los altos requisitos de cálculo.
El BVF se genera mediante un esquema de interpolación [1] que reduce significativamente los requisitos computacionales y, al mismo tiempo, mejora el rango de captura y la capacidad de extracción de objetos cóncavos.
La BVF también se ha probado en el seguimiento de objetos en movimiento y se ha demostrado que proporciona un método de detección rápida para aplicaciones de video en tiempo real.










Un cuadro borroso (también conocido como un filtro lineal de caja) es un filtro lineal de dominio espacial en el que cada píxel en la imagen resultante tiene un valor igual al valor promedio de sus píxeles vecinos en la imagen de entrada. Es una forma de filtro de paso bajo ("desenfoque"). Un cuadro de 3 por 3 desenfoque se puede escribir como matriz
Debido a su propiedad de usar pesos iguales, se puede implementar utilizando un algoritmo de acumulación mucho más simple, que es significativamente más rápido que usar un algoritmo de ventana deslizante. [1]
Los desenfoques de caja se usan frecuentemente para aproximar un desenfoque gaussiano . [2] Según el teorema del límite central , la aplicación repetida de un desenfoque de caja se aproximará al desenfoque gaussiano.
En el dominio de la frecuencia , un cuadro borroso tiene ceros y componentes negativos. Es decir, una onda sinusoidal con un período igual al tamaño de la caja se borrará por completo, y las longitudes de onda más cortas que el tamaño de la caja se pueden invertir en fase, como se ve cuando dos círculos de bokeh se tocan para formar un punto brillante donde habría una mancha oscura entre dos puntos brillantes en la imagen original.

Implementación editar ]

Se puede implementar un cuadro borroso como un efecto de imagen que afecta a toda la pantalla.
El color borroso del píxel actual es el promedio del color del píxel actual y sus 8 píxeles vecinos.
El siguiente pseudocódigo muestra cómo implementar tal efecto de imagen.
Para cada iteración hacer:
{
    Para cada píxel en la pantalla haga:
    {
        uv = coordenadas de muestra del píxel actual
        texel = tamaño de pantalla de texel
        
        // XXX> upperRow
        // XPX> centerRow
        // XXX> bottomRow
        // El valor final es el promedio de las tres filas.
        
        upperRow = muestra (pantalla, uv + (-texel.x, texel.y)) // Arriba a la izquierda 
                + muestra (pantalla, uv + (0, texel.y)) // Centro superior
                + muestra (pantalla, uv + (texel.x, texel.y)); //Parte superior derecha
                
        centerRow = muestra (pantalla, uv + (-texel.x, 0)) // Centro a la izquierda 
                + muestra (pantalla, uv) // píxel actual
                + muestra (pantalla, uv + (texel.x, 0)); // medio derecho
                
        bottomRow = muestra (pantalla, uv + (-texel.x, -texel.y)) // Abajo a la izquierda 
                + muestra (pantalla, uv + (0, -texel.y)) // Centro inferior
                + muestra (pantalla, uv + (texel.x, -texel.y)); //Abajo a la derecha
                
        return (upperRow + centerRow + bottomRow) / 9;
    }





CAFFE (Arquitectura convolucional para incrustación rápida de características) es un marco de aprendizaje profundo, desarrollado originalmente en la Universidad de California, Berkeley . Es de código abierto , bajo licencia BSD . [4] Está escrito en C ++ , con una interfaz Python .

Historia editar ]

Yangqing Jia creó el proyecto caffe durante su doctorado en UC Berkeley. [6] Ahora hay muchos contribuyentes al proyecto, y está alojado en GitHub . [7]

Características editar ]

Caffe es compatible con muchos tipos diferentes de arquitecturas de aprendizaje profundo orientadas a la clasificación de imágenes y la segmentación de imágenes . Es compatible con CNN , RCNN, LSTM y diseños de redes neuronales totalmente conectadas. [8]Caffe admite bibliotecas de kernel computacional de aceleración basadas en GPU y CPU, como NVIDIA cuDNN e Intel MKL . [9] [10]

Aplicaciones editar ]

Caffe se está utilizando en proyectos de investigación académica, prototipos de inicio e incluso aplicaciones industriales a gran escala en visión, voz y multimedia. Yahoo! también ha integrado caffe con Apache Spark para crear CaffeOnSpark, un marco de aprendizaje profundo distribuido. [11]
En abril de 2017, Facebook anunció Caffe2, [12] que incluye nuevas funciones, como las redes neuronales recurrentes . A fines de marzo de 2018, Caffe2 se fusionó en PyTorch .
El CAMIF , también el bloque de interfaz de la cámara, es el bloque de hardware que interactúa con diferentes interfaces de sensores de imagen y proporciona una salida estándar que puede utilizarse para el procesamientoposterior de la imagen .
Una interfaz de cámara típica admitiría al menos una interfaz paralela, aunque en estos días muchas interfaces de cámara comienzan a admitir la interfaz CSI de MIPI .
La interfaz paralela de la interfaz de la cámara consta de las siguientes líneas:
Línea de datos paralelos de 8 a 12 bits.
Estas son líneas de datos paralelas que llevan datos de píxeles. Los datos transmitidos en estas líneas cambian con cada Pixel Clock (PCLK).
Sincronización horizontal (HSYNC)
Esta es una señal especial que va del sensor de la cámara o ISP a la interfaz de la cámara. Un HSYNC indica que se transmite una línea de la trama.
Sincronización vertical (VSYNC)
Esta señal se transmite después de que se transfiere la trama completa. Esta señal es a menudo una forma de indicar que se transmite una trama completa.
Reloj Pixel (PCLK)
Este es el reloj de píxeles y cambiaría en cada píxel.
NOTA: Todas las líneas anteriores se tratan como líneas de entrada al hardware de la interfaz de la cámara.

Ejemplo editar ]

Supongamos que un sensor está transmitiendo un cuadro VGA 640x480. El cuadro de video es de formato RGB888. Supongamos que tenemos un sensor de cámara que transmite 8 bits por reloj de píxeles (PCLK). Esto significa que para transferir un píxel de datos, se necesitarían 3 PCLK. El sensor activaría el HSYNC después de cada 640 x 3, 1920 PCLK. El sensor disparará un VSYNC después de que se transmita todo el cuadro, es decir, después de 1920x480, 921600 PCLK.
El bloque de hardware de la interfaz de la cámara (que podría ser parte de cualquier SOC) monitorearía constantemente las líneas anteriores para ver si el sensor ha transmitido algo. Una interfaz de cámara típica vendría con un búfer interno y también tendría un DMA asociado para transferir la imagen a la memoria de destino. El búfer capturaría los píxeles entrantes para almacenarlos temporalmente, y al usar el DMA, los píxeles se transferirían (probablemente línea por línea) a través de múltiples transferencias DMA a una dirección de destino en la memoria (preprogramada por el programador del controlador de la interfaz de la cámara). La interfaz del programador de la interfaz de la cámara también puede dar la posibilidad de emitir interrupciones de hardware al recibir el HSYNC, señales VSYNC al microcontrolador del host. Esto podría servir como un disparador útil para la reprogramación de DMA si es necesario.

No hay comentarios:

Publicar un comentario