Instituto Politécnico Nacional
Unidad Profesional Interdisciplinaria en Ingenierías y Tecnologías
Avanzadas
Sistemas de Visión Artificial
Proyecto final. Equipo de Decoración en
tepalcates
Profesor:
Huitron Ramirez Erick
Integrantes del Equipo:
Castillo Carrillo Daniel
Garcia Arteaga Alejandro
Pliego Castillo Omar
Ramos Cruz Angel Uriel
Grupo:
4MV10
OBJETIVO
Detectar elementos decorativos en un tepalcate, y de existir hacer la
extracción de sus características morfológicas.
INTRODUCCIÓN
Los tepalcates son un indicativo muy importantes para la historia mundial,
porque dependiendo el color y comparándolo con la tabla Munsell se puede
saber de qué región se obtuvo el barro con el que fue hecha la artesanía a la
que pertenece el tepalcate. Este proyecto es un subsistema de un sistema
que necesita asociar el color del tepalcate a uno de los patrones de la tabla
Munsell, generar la visualización 3D del objeto que se obtuvo el tepalcate,
obtener dimensiones reales del tepalcate y detectar la presencia de
elementos decorativos.
Este subsistema sera el encargado de la detección de la presencia de
elementos decorativos mediante la obtención de bordes, ya que debe de
haber un cambio de color distintivo comparandolo con todo el barro con el
que se hizo el objeto de donde salió el tepalcate a analizar.
La detección de bordes es una técnica fundamental en visión artificial que
permite identificar los contornos y límites de los objetos dentro de una
imagen. En este proyecto, aplicamos esta técnica para analizar la decoración
de tepalcates. Utilizando algoritmos como Sobel, Canny y Prewitt, buscamos
resaltar los patrones decorativos y estructurales presentes en los tepalcates,
facilitando su estudio y preservación.
Este proceso se busca hacerlo de una forma modular para que sea
entendible para complementarlo con los otros procesos solicitados, y generar
el programa final con todos los elementos solicitados por los arqueólogos
para el análisis de dichos tepalcates.
MARCO TEÓRICO
Visión Artificial: Es un proceso mediante una máquina puede analizar una
imagen comprendiendo la información visual que contiene[1].
Tepalcate: Un tepalcate es un fragmento de cerámica o barro cocido,
pertenecientes a algún objeto más grande como vasija, platos, ladrillo, etc. Se
encuentran a menudo en sitios arqueológicos.
Morfológica: Son todas aquellas características de la estructura de un
elemento.
Bordes: Son puntos característicos de la imagen ya que es donde ocurren
cambios repentinos de brillo, intensidad o color[2].
Detección de bordes: Es un proceso para identificar las transiciones,
llamadas bordes. Principalmente se usan tres filtros, filtro Sobel, Canny y
Prewitt.
Filtro de Sobel: Es una técnica de convolución que utiliza dos matrices de
3x3, llamadas kernels, para calcular aproximaciones a las derivadas de la
imagen. Se producen dos imágenes gradientes que representan los cambios
en intensidad en las direcciones horizontal y vertical.
Filtro Prewitt: Este filtro es similar al filtro de Sobel pero utiliza diferentes
kernels para la convolución.
Filtro de Canny: El algoritmo para este filtro es un método más complejo y
preciso para la detección de bordes que consta de 4 pasos [3]:
1. Filtrado Gaussiano: Suaviza la imagen para reducir ruido.
2. Cálculo del gradiente: Se aplica un filtro Sibel para obtener magnitudes
y direcciones de los gradientes.
3. Supresión de no-máximos: Los pixeles que no son máximos locales en
la dirección del gradiente se eliminan, dejando solo los pixeles que son
potenciales bordes.
4. Umbralización con histéresis: Utiliza dos umbrales para identificar
bordes fuertes y débiles. Los bordes débiles que están conectados a
bordes fuertes se consideran bordes verdaderos, mientras que los
demás se descartan.
DESARROLLO
Para el desarrollo del proyecto se usaron diferentes imágenes obtenidas de
tepalcates prestados por el profesor, para primeramente hacer el análisis con
una imagen ya digital.
Se hizo una comparativa entre los diferentes filtros para la detección de
bordes y así elegir el óptimo para el sistema, por lo que se eligió el filtro
Canny, ya que se considera que el equipo en el que será analizado el
tepalcate tendrá un capacidad computacional alta y al mismo tiempo una
detección precisa del borde.
Por conocimiento general del equipo y lo aprendido durante el semestre se
eligió hacerlo en el software de Matlab, ya que todos los miembros del equipo
fue el software que utilizamos para nuestras tareas y prácticas.
El programa consta de varios elementos, primeramente se muestra la imagen
obtenida en la camara para que el usuario delimite el area a analizar,
posteriormente se hace un mejoramiento de color mediante una funcion en
Matlba, para finalmente mostrar en otra imagen la decoración detectada en el
area delimitada del tepalcate.
Durante las primeras pruebas se realizaba sin el mejoramiento de color, y se
notó la necesidad de crear dicha función para que “lo rojo fuera mas rojo, lo
verde mas verde”, lo cual se quedo en un aumento en la saturación de la
imagen analizada
PROGRAMA
Para una mejor comprensión de los programas se tomo la decision de hacer
un archi main, que fuera llamando las instruccion como lo fueron, la
segmentación, mejoramiento del color y la obtención del contorno.
Codigo 1. Código main para obtencion de la imagen
Codigo 2. Código para mejoramiento de color (Saturación)
Codigo 3. Código obtención de contorno del decorado
Código 4. Código Segmentación
RESULTADOS
Imagen 1. Primera prueba con tepalcate principalmente rojo
Imagen 2. Prueba con tepalcate principalmente rojo
Imagen [Link] con tepalcate decorado verde
Imagen 4. Obtención de borde con imagen mejorada en tepalcate con decorado verde con parametros
(10,0.3,0.5,130) en función ObtenerContorno y Segmentación de 5
Imagen 5. Obtención de borde con imagen mejorada en tepalcate rojo con parametros (10,0.1,0.5,100) en
función ObtenerContorno y Segmentación de 2
CONCLUSIÓN
Durante el análisis de los diferentes filtros para detección de bordes se
encontró que los filtros Sobel y Prewitt son bastantes similares y útiles
para la detección en direcciones específicas. Sobel es un poco más
robusto al ruido debido a la ponderación mayor en el centro de sus
kernels. Por otro lado, el filtro de Canny es más avanzado y preciso,
pero también más complejo y computacionalmente intensivo, por lo que
se considera utilizarlo para aplicaciones donde se necesita una
detección más precisa.
Mientras se realizaban las diferentes pruebas se vio necesario
contemplar un mejoramiento de colores, que derivó en una función
hecha en Matlab donde la capa de saturación de la imagen se ve
amplificada por un factor, para así hacer aún más diferencial la
existencia de un borde.
Una de las principales complicaciones en la realización del proyecto fue
el apartado de la precisión debido al desgaste de los tepalcates, donde
alguno elementos que pudieran interferir en el color que se detecta en el
software hace que aparezca como un elemento de ruido que se ve
reflejado en la extracción de la decoración final.
BIBLIOGRAFÍA
[1] ATRIA Innovation, "Guía sobre visión artificial para principiantes," [En
línea]. Disponible en:
[Link]
[Accedido: 30-jun-2024].
[2] Ivy Mobility, "Importancia de la detección de bordes en el reconocimiento
de imágenes para la ejecución minorista," [En línea]. Disponible en:
[Link]
ion-for-retail-execution/. [Accedido: 28-jun-2024].
[3] ChatGPT, "Filtros de detección de bordes en visión artificial," OpenAI,
2024.