Está en la página 1de 6

1

Detector de Fuego Automático


Departamento de Ingeniería Eléctrica, Electrónica y Computación
Universidad Nacional de Colombia Sede Manizales
Diego Alejandro Vargas cod: 812066
Sergio Alonso Mariño cod: 812036
Docente: Oscar Cardona
Procesamiento Digital de Señales

I. INTRODUCCIÓN Para ello se usó un proceso de filtrado donde el


Para nuestro proyecto de procesamiento digital objetivo fundamental es obtener, a partir de una
de señales, buscamos crear una aplicación capaz imagen de origen, otra final cuyo resultado sea más
de detectar fuego en tiempo real, para que en adecuado para una aplicación específica.
una eventual aplicación sirva para detectar zonas
localizadas donde exista riesgo de incendio por Para detectar la llama o fuego se es necesario
determinado elemento o por alta probabilidad usar un método que divida la imagen en dos,
de corto. En este informe mostraremos como se donde estará la zona segura y la parte que se va
realizó el programa, que algoritmo se implementó, a analizar elf uego, para eso usaremos el proceso
que herramienta de software se usó, que problemas de segmentación, que es el que mejor se acomoda
se obtuvieron, de qué manera se solucionaron y el para este proceso debido a que el objetivo de esto,
paso a paso del el proceso que tuvo la señal para es simplificar o cambiar la representación de la
dar el resultado. imagen en otra más significativa para analizarla y
asignarle una etiqueta a cada pixel de la imagen
donde se encuentre ubicada la llama.
II. MÉTODOS Y MATERIALES
II-A. MÉTODOS
Para nuestro proyecto fue necesario trabajar
nuestra señal mediante procesamiento digital de
imágenes, que es un conjunto de técnicas que se le
aplican a imágenes digitales con el fin de mejorar
la calidad o facilitar la búsqueda de información.

Figura 2. Partición de la Imagen

II-B. MATERIALES
Dentro de los materiales se usó la herramienta de
Figura 1. Imagen Digital software MatLab herramienta que se desarrolla en
2

un lenguaje de programación propio, que permite ordenador, ya que cada situación es única, y las
operaciones de vectores y matrices, funciones, buenas soluciones requieren múltiples interacciones
cálculo de lambda y programación orientada a de diseño.
objetos. El toolbox Image Processing y Computer Visión
nos ofrece un entorno completo para profundizar en
los datos de imagen y vídeo, desarrollar algoritmos,
y explorar las compensaciones de implementación,
de manera rápida y de entendimiento sencillo.
Dentro del toolbox trabajaremos procesamiento de
video debido a que nuestra aplicación trabajar una
secuencia de imágenes (frames) en tiempo real.
Los sistemas de procesamiento de vídeo requieren
una arquitectura de procesamiento de flujo, en el
que los frames de vídeo de una corriente continua
se procesan uno (o más) a la vez.
Este tipo de proceso es crítico en los sistemas que
tienen vídeo en vivo o cuando los datos de vídeo
son tan grandes que cargar todo el conjunto en el
espacio de trabajo es ineficiente.
Figura 3. Software MatLab

MatLab es un software muy usado en


universidades y centros de investigación y
desarrollo. En los últimos años ha aumentado el
número de prestaciones, como la de programar
directamente procesadores digitales de señal o crear
código VHDL. Las funcionalidades de MatLab se III. MARCO EXPERIMENTAL
agrupan en más de 35 toolboxes, donde se usó el
toolbox de Imagen Processing y Computer Visión.

Dentro del marco experimental vamos a mostrar


paso a paso el código que se implementó, que
circunstancias se presentaron, que funciono y que
se puede o no agregar o modificar a futuro, para
conocer las limitaciones del programa además
de saber que puede hacer el y que no. Antes de
explicar el código paso a paso procederemos a
explicar brevemente el algoritmo realizado. Dado
que un vídeo es una secuencia de imágenes (frames)
procedemos a procesar cada imagen captada por
la cámara, al obtener cada imagen usaremos el
proceso de segmentación por composición de color
en término de intensidad, en formato RGB, luego
de tener etiquetada la imagen trabajaremos un
escalamiento con la cámara para dar la ubicación
de la llama y así dar la coordenada en X y Y
Figura 4. Procesamiento de Imágenes asumiendo que la cámara se encuentra en el techo.
En un diagrama de bloques el algoritmo tendrá la
El desarrollo de algoritmos es fundamental siguiente secuencia:
para el procesamiento de imágenes y visión por
3

máximo es de 640, que su tipo nativo de dato o


por lo que va a estar compuesta la imagen es unit8
y que el driver es DirectX 9.0 Necesitamos el largo
y el ancho de la cámara por lo tanto del objeto
sacamos MaxHeight y MaxWindth, para usar la
función visión.videoplayer del tolboox de visión
que genera otro objeto al cual le damos nombre
y le ingresamos el alto y el ancho y quien trabaja
como reproductor el grupo de frames que serán
capturados por la cámara del computador.
Luego de ya tener el objeto de la cámara Creamos
Figura 5. Secuencia del Algoritmo el bounding box que es la caja donde encerraremos
la llama.
A continuación se explicara el código en el cual
se trabaja cada bloque del algoritmo.

III-A. AJUSTES ANTES DE CAPTURAR LA IMA-


GEN
Primero se crea el objeto de la cámara

Figura 8. Bounding Box

Figura 6. Objeto Cámara

Al crear la bounding box cambiamos el área


mínima y el área máxima del rectángulo que
capturara la llama ya que vienen con un valor
predeterminado. El cambiar el área de la caja es
bastante importantes ya que si se escoge una un
área mínima muy pequeña, el algoritmo detectara
muchos focos al momento de detectar la llama que
Figura 7. Información de la Cámara del Computador son el reflejo lumínico que deja ella lo que era
ruido que no deseamos capturar como se muestra
Muestra que vamos a trabajar con una cámara en la siguiente figura.
web, que la altura máxima es de 480 y de ancho
4

procederemos a fabricar el etiquetado de la imagen.

Figura 9. Selección del Area

Y al ingresar un área mínima bastante grande


cuando detecte la llama probablemente sea más
complicada extinguirla o simplemente ya se habrá
prolongado el incendio.
Figura 11. Imagen Etiquetada

III-B. CAPTURA DE LA IMAGEN


Ya teniendo el objeto que activa la cámara y
el objeto reproduce el video procedemos a usar
la función step para capturar la imagen de la
cámara activada, dicha función entrega la imagen Creamos la siguiente función que se encarga de
normalizada por lo que se recomienda multiplicarla leer la imagen y le da valores de 1 a los pixeles
por el valor máximo para tener los valores en las que estén entre los rangos de 255 y 254 que es el
magnitudes apropiadas para segmentar. rango en el que se encuentra la llama.
Luego de que la función nos entregue imagen con
la llama etiquetada con los valores de 1 procedemos
III-C. SEGMENTACIÓN POR INTENSIDAD a binarisar la imagen de tal manera que todos los
Con la imagen ya calculada procedemos a valores de 1 se conserven y el resto tomen el valor
segmentar la llama pero para ello necesitamos de 0 así tenemos ya la imagen segmentada y nos
saber qué intensidad tiene. queda de la siguiente manera:

Figura 10. Segmentación de la Llama

Como podemos observar las magnitudes en RGB


de la llama son bastante altos a partir de ellos Figura 12. Imagen ya Segmentada
5

código:

Figura 13. Imagen ya Segmentada

Ahora que tenemos la imagen segmentada


procedemos a crear el bloque para encerrar la llama Figura 15. Ubicacion Ejes XY del Centroide de la LLama
con el área mínima y el área máxima anteriormente
establecida. III-E. RESULTADOS
El código diseñado será entregado junto al
informe y estará completamente comentado.
Al aplicar los códigos en conjunto mostrados
anteriormente se obtuvieron las siguientes
imágenes:

Figura 14. Areas Especificas

Donde la primera línea es la fabricación del


rectángulo con las áreas y la ubicación del centroide
de la llama y las dos siguientes líneas de código
introducen el rectángulo en la imagen y le hacen Figura 16. Imagen de la Llama Binarizada y el Centroide
un espejo debido a que la imagen al ser capturada
entra invertida en el eje x, ahora la imagen esta
lista para ser proyectada en la pantalla.

III-D. UBICACIÓN EN EL PLANO XY y PRO-


YECCIÓN DE LA IMAGEN
Al ya tener la imagen ya procesada, la
proyectamos con la función step(video, im − blob),
donde el vídeo es el objeto de reproducción que
ya habíamos creado anteriormente y im − blob es
la imagen procesada y para dar la ubicación de la
llama en las coordenadas XyY usamos el siguiente Figura 17. Resultados
6

Figura 18. Resultasdos

IV. CONCLUSIONES
Sin duda podemos concluir que la segmenta-
ción por intensidad de color es la mejor manera
para detectar fuego.
Se sugiere implementar el algoritmo en otra
herramienta de software debido que en la
industria el usar MatLab es supremamente
costoso y es rentable solo para ejercicios aca-
démicos.
Fue también relevante el uso del toolbox de
visión, que da a conocer que existen herra-
mientas que facilitan la implementación de al-
goritmos ayudando así a una reducción consi-
derable en el tiempo y posiblemente la calidad
en los diseños de funciones al ser fabricadas
desde cero.
Por último el diseño de algoritmos para tra-
tar una imagen o una señal digital es muy
variable y no se puede asegurar que existe
un método general para cada procesamiento,
de hecho para llevar a cabo un buen diseño
para la solución de un problema, se debe estar
bien contextualizado con la problemática, tener
los limites bien definidos y un alcance claro,
ya que pueden haber muchas soluciones para
dicho problema o bien solo puede haber una.

V. BIBLIOGRAFÍA
https://es.wikipedia.org/wiki/MATLAB

http://www.mathworks.com/solutions/image-
video-processing

También podría gustarte