You are on page 1of 8

Proyecto de Instrumentación Electrónica

SISTEMA DE VISIÓN TÉRMICA CON MÓDULO FLIR LEPTON

Aldo Arriola, José Serrano

I. RESUMEN
El proyecto tuvo como propósito desarrollar un sistema de visión térmica a partir del
empleo de un módulo cámara térmica FLIR Lepton y la plataforma de desarrollo
Raspberry Pi como hardware principal, luego el software contaría con la librería OpenCV
como herramienta principal para el procesamiento digital de las imágenes. 1fianlmente
El sistema tendría la capacidad de mostrar e identificar cuerpos calientes, así como la
temperatura de puntos o regiones determinadas.

II. INTRODUCCIÓN
Radiación Infrarroja (IR)
La radiación infrarroja es un tipo de radiación electromagnética. En el espectro se
encuentra entre los 7000 y 14000 Å de longitud de onda (Figura 1). Esta radiación es
emitida por cualquier cuerpo que posea una temperatura mayor al cero absoluto, 0 K.

Figura 1. Espectro electromagnético y región IR.

Microbolómetros
Un microbolómetro es un arreglo de pequeños detectores de calor que son sensibles a
la radiación infrarroja de tal manera que varían su resistencia con la presencia de
radiación IR. Cada pixel del arreglo que conforma el microbolómetro está compuesto de
distintas capas (Figura 2): una banda absorbedora sensible al IR, una capa reflectora
para garantizar una mayor ganancia de la radiación por parte de la capa absorbedora,
electrodos y un circuito de lectura que en conjunto con los electrodos detectan la
variación de la resistencia en el material absorbente.

Figura 2. vista seccional de un pixel de microbolómetro.

Los microbolómetros son la parte fundamental de las cámaras térmicas actuales ya que
cuentan con ventajas por sobre instrumentos antiguos, entre ellas: no requieren
refrigeración y generan imágenes de mayor calidad y resolución.
OpenCV

OpenCV (Open Source Computer Vision Library) es una librería de funciones


programables principalmente orientada a visión artificial en tiempo real. Esta librería en
conjunto con Python son las herramientas empleadas para el tratamiento que se le da a
las imágenes.

En OpenCV las imágenes son tratadas como matrices o arreglos, cada pixel es denotado
como un elemento de la matriz y este a su vez puede ser un arreglo (arreglo de tres
elementos en el caso de imágenes a color).

Figura 3. Ejemplo de aplicación de funciones de OpenCV sobre imagen.

Entre las funciones empleadas en el presente proyecto se tiene:

- Normalización. Realiza la normalización de la matriz de la imagen como si se tratase


de un vector, escalando y cambiando sus valores. Esto genera un aumento del
contraste en la imagen.

Figura 4. Izquierda: imagen con bajo contraste; derecha: Imagen normalizada.

- Redimensionar: Permite cambiar el tamaño o dimensiones de una imagen


empleando interpolaciones entre pixeles.
- Detector de Canny: Es un algoritmo que permite la detección de bordes en figuras
mediante el empleo de cálculo de gradientes. La imagen pasa po una serie de filtros,
entre ellos filtros de ruido y gradiente. Las intensidades se calculan en cuatro
direcciones: horizontal (Gx), vertical (Gy) y diagonales (resultan de la combinación de
la horizontal y vertical). Con estos gradientes se obtienen los bordes de la imagen:
𝐺𝑦
θ = arctan⁡( ) (direcciónde gradiente)
𝐺𝑥

En cada pixel, el pixel es analizado si es un máximo local en sus alrededores en la


dirección del gradiente (ver Figura 5). El punto A se encuentra en el borde de dirección
vertical. La gradiente es normal al borde. EL punto B y C están en la dirección de los
gradientes. Así, el punto A es verificado con B y C para el cálculo del máximo local, y si
es máximo se obtiene un borde.

Figura 5. Detección del borde con el gradiente de un pixel.

III. EQUIPAMIENTO
FLIR Lepton module
El sensor dentro del módulo FLIR Lepton es un arreglo de microbolómetros. A partir de
la resistencia medida en el microbolómetro se puede determinar la temperatura del
objeto que emite la radiación y así crear una imagen que codifica la data.

Figura 6. FLIR Lepton, cámara térmica.

Tabla 1. Especificaciones técnicas de FLIR Lepton


Especificación Descripción
Sensor Vox microbolómetro
Rango espectral (LWIR) 8um – 14um
Formato de arreglo 90x60
Tamaño de pixel 17um
Sensibilidad térmica <50 mK
Formato de salida 14-bit, 8-bit
Protección solar Integral
Interfaz de video Video over SPI (VoSPI)
Puerto de control CCI (I2C)
Temperatura de operación óptima -10 °C - +65 °C
Tiempo entre capturas < 0.5 sec
Bajo consumo < 160mW

Raspberry Pi 3
Computador de placa simple de arquitectura ARM, desarrollado como plataforma
multipropósito para desarrollo de proyectos de electrónica y software. Compatible con
sistemas operativos Linux en principio.
Tabla 2. Especificaciones del Raspberry Pi 3.

Procesador Quad Core @ 1.2GHz


GPU Videocore IV
RAM 1 GB
Almacenamiento Micro SD
Consumo 2.5A @ 5V
GPIO 40 pin

Así mismo el Raspberry Pi cuenta con interfaces SPI y I2C entre los pines GPIO.

Figura 7. Raspberry Pi 3.

IV. METODOLOGÍA
La comunicación entre el Raspberry Pi y el módulo FLIR Lepton se da mediante el
protocolo SPI, por ello se conecta la cámara en los respectivos pines SPI del Raspberry,
así mismo la alimentación dela cámara sale de los pines GPIO del Raspberry Pi.

CS
MOS
I
MIS
O
CLK
GND

Figura 8. Diagrama de conexión Raspberry Pi - FLIR Lepton.


La transmisión de la data de la cámara al Raspberry se da por paquetes de matrices de
60x80 pixeles, donde cada pixel tiene un tamaño de 14 bits.

Para la obtención de temperaturas y calibración de la cámara se empleó una plancha


caliente de temperatura regulable. La cámara se ubicó frente al cuerpo caliente evitando
reflejos e IR proveniente de otros cuerpos, así la cámara nos proporcionaba el valor
promedio de pixel de la región del cuerpo caliente al que apuntábamos y el cuerpo
caliente con la plancha nos proporcionaba mediante una termocupla la temperatura del
cuerpo. A partir de estos datos medidos se realizó una regresión lineal para relacionar
el valor del pixel con la temperatura asociada.

DATOS MEDIDOS
90
80
TEMPERATURA (°C)

70
60 y = 0.0316x - 225.05
50 R² = 0.9861
40
30
20
10
0
7500 8000 8500 9000 9500 10000
PIXEL

Figura 9. Mediciones realizadas para la aproximación de la temperatura.

Una vez obtenida la aproximación de la temperatura a partir de los valores de los pixeles,
se procedió a desarrollar el software o código completo, basado en Python y partiendo
de la librería ‘pylepton’, esta librería permite la comunicación por SPI Raspberry-FLIR
Lepton y así la obtención de las imágenes.
Luego, empleando herramientas para el tratamiento de imágenes, se usó OpenCV, que
nos permitió una mejor apreciación de la imagen proveniente de la cámara.
El programa empieza por establecer la cominicación SPI (Ver figura 9) entre los
componentes mediante la librería ‘pylepton’ está imagen obtenida es posteriormente
expandida para un mejor tratamiento, ya que la resolucióon original de 60x80 pixeles
es demasiado pequeña. La imagen redimensionada es copiada para ser normalizada
para hacer apreciable la imagen térmica aumentando el contraste. Se cre a partir de
ahí podemos seleccionar puntos para evaluar su temperatura. En la copia se
mantienen los pixeles con el formato original de 14bits con estos valores se hacen los
cálculos de temperatura según el ajuste anterior.
Figura 10. Diagrama de flujo reducido del procesamiento de imágenes térmicas.

El programa únicamente se cerrará cuando la letra ‘Q’ sea presionada, a su vez


guardará las últimas imágenes capturadas para una posterior revisión.

V. RESULTADOS

Se obtuvieron imágenes normalizadas debido a que el valor real de la cámara es muy


pequeño (80x60p) , en la imagen 11 se muestra el frame normalizado que nos envía la
cámara leptón mediante una comunicación SPI.

Figura 11. Primeras imágenes obtenidas, con normalización y redimensionamiento aplicado.


Seleccionamos un rectangulo dentro del Frame para asi obtner un promedio de pixeles, esto se
realizo con la condicion de tener una temperatura homogenea en un cuerpo, para asi poder
calibrar nuestra camara en relacion a temperatura vs pixel, en la figura 12 se observa el
rectangulo y los valores de promedio de pixel en el frame, con la ecuacion ya insertada en el
codigo se obtuvo la temperatura.

Figura 12. Toma con el código implementado, se muestra el recuadro verde el promedio de los valores de pixel
dentro del recuadro, se ajustó una ecuación de tal manera que dependa de cada valor de pixel medido.

Con el algoritmo CANNY se pudo obtener el margen de zona más caliente del Frame , en nuestro
caso ( figura 13), es un brazo; como se puede observar en la parte izquierda de la figura 13 el
algoritmo canny encierra la región del brazo considerando esta de mayor temperatura en
comparación.

Con códigos de selección tanto para un click y para una región rectangular , se pudo evaluar el
valor del pixel para esa región seleccionada , teniendo el pixel seleccionado del frame y con la
ecuación de calibración obtenida previamente, figura 9. Así se obtuvo las temperaturas para
poder comparar cuerpos distintos.

Figura 13. Imágenes obtenidas con el código implementado


VI. CONCLUSIONES
Se consiguió desarrollar el sistema de visión térmica, obteniendo imágenes del módulo
FLIR Lepton y siendo procesadas con Python y OpenCV. Este cuenta con funcionalidades
de muestreo de imágenes térmicas en tiempo real, reconocimiento de perfiles de
cuerpos calientes y determinación de temperaturas en regiones o puntos seleccionados.
El empleo de una cámara térmica FLIR Lepton tiene mucha versatilidad cuando se
trabaja con una plataforma como el Raspberry Pi, Python y OpenCV, ya que con el
tratamiento de las imágenes se puede obtener mucha información que a simple vista
no es posible. Con eso una de las aplicaciones que se podría dar es como un dispositivo
para el mantenimiento predictivo mediante detección de puntos o zonas con algún
recalentamiento.

Una de las desventajas que se tuvo fue la calibración, aún no se ha podido dar con mucha
exactitud las temperaturas ya que los dispositivos que usamos para la aproximación no
eran muy precisos y había interferencia de reflejos de IR que llegaban a la cámara.
Tampoco se contó con otra cámara térmica de gama alta para hacer la comparación de
datos. Es recomendable el empleo de cuerpos negros para la calibración de cámaras
térmicas ya que cuentan con una mayor precisión cuando mantienen su temperatura y
no reflejan radiación.

VII. REFERENCIAS BIBLIOGRÁFICAS

1. BARRETO, José Antonio García. Radiación de un Cuerpo Negro. Ley de Emisión de Planck.
Una Breve Introducción. P. 10 – 40 2008.
2. NAHUM, M.; MARTINIS, John M. Ultrasensitive‐hot‐electron microbolometer. Applied
physics letters, vol. 63, n° 22, p. 3075-3077, 1993.
3. NEILSEN, Mitchell L.; SHAFFER, James; JOHNSON, Nicholas. Time-lapse Photography
for K-12 Education. En Proceedings of the International Conference on Frontiers in
Education: Computer Science and Computer Engineering (FECS). The Steering
Committee of The World Congress in Computer Science, Computer Engineering and
Applied Computing (WorldComp), 2015. p. 201
4. https://docs.opencv.org “documentacion de OpenCV”

You might also like