Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
TECNOLÓGICO NACIONAL DE MÉXICO Instituto Tecnológico de La Paz INSTITUTO TECNOLÓGICO DE LA PAZ DIVISIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN MAESTŔIA EN SISTEMAS COMPUTACIONALES TÉCNICAS DE VISIÓN ARTIFICIAL APLICADAS A LA DETECCIÓN DE BACHES QUE PARA OBTENER EL GRADO DE MAESTRO EN SISTEMAS COMPUTACIONALES PRESENTA: HUGO IVÁN RIVERA TRASVIÑA DIRECTOR DE TESIS: SAÚL MART́INEZ D́IAZ LA PAZ, BAJA CALIFORNIA SUR, MÉXICO, DICIEMBRE 2017. Blvd. Forjadores de B. C. S. #4720, Col. 8 de Oct. 1era. Sección C. P. 23080 La Paz, B. C. S. Conmutador (612) 121-04-24, Fax: (612) 121-12-95 www.itlp.edu.mx Dedicatoria Dedico este trabajo a mis padres (Hugo y Elizabeth) que me han apoyado en todo lo que he hecho, gracias por estar ah́ı siempre. A mis hermanos (Irving y Hannia) que desde 2008 por salir a estudiar me perd́ı muchas risas, platicas y peleas con ellos; y a un ser que me hizo compañ́ıa en este proceso sin siquiera saber que suced́ıa, y cuya imagen se encuentra en alguna parte de este trabajo. ESTO ES POR USTEDES, GRACIAS. i Agradecimientos Agradezco a mis compañeros de maestŕıa (Ángel, Daniel, Antonio, Raúl, Cecilia, Benjamı́n, Adrián y Manuel) con los cuales compart́ı estrés, trabajos y risas. A la profesora Iliana Castro Liera, gracias por todo lo que me ha ayudado, sus consejos y llamadas de atención me han servido para llegar a este momento, soy consciente que sin ellos tal vez no hubiera terminado ni mi carrera. Al Instituto Tecnológico de La Paz, estos dos años me han servido para apreciarlo y darme cuenta lo mucho que quiero esta escuela, la cual ha sido mi segundo hogar por casi 9 años. Guardo con cariño cada una de las experiencias que viv́ı en este lugar. A mi familia (Hugo, Ely, Irving, Hannia, Mı́stica, Eufemia y Daniel) que estuvieron ah́ı, desde un mensaje de WhatsApp, llamadas, pláticas de madrugada o simplemente ver tele juntos, no tienen idea lo mucho que se los agradezco, de verdad muchas gracias. A todos mis profesores, que desde Primaria han contribuido para que me fuera posible llegar a este punto, muy especialmente a aquellos que sus enseñanzas me han marcado: Irma Sagregro Aguilera, Alfredo Mart́ınez Blanco, Marco Antonio Meza Zazueta, Ema Raquel Ávila Espinoza, Bernabé Higuera Mayoral, Nicolasa Vega Mercado, Salvador Gutiérrez Castillo, Jorge Bravo Espinoza, Juan Antonio Cañedo Trasviña, Marco Antonio Castro Liera, Saúl Mart́ınez Dı́az, Iliana Castro Liera, Israel Marcos Santillán Méndez y mi padre Hugo Joaqúın Rivera Velázquez, gracias por todo lo que me has enseñado (de arriba para abajo Huguito :-) ). ii Resumen La visión artificial es una rama de la inteligencia artificial que trata de modelar los procesos de percepción visual de los seres vivos, y de esta manera interactuar con el medio, esto se logra procesando y analizando la información proveniente de imágenes, buscando aśı que la computadora tenga una forma más avanzada de obtener información. Este trabajo presenta un sistema para el reconocimiento de baches utilizando visión artificial, para realizar la detección, la imagen es procesada con diferentes métodos compuestos por combi- naciones de algoritmos para procesamiento de imágenes, cada uno de estos métodos es útil para diferentes escenarios y cada algoritmo utilizado sirve para un propósito espećıfico. Una vez que la imagen ha sido procesada por cada uno de los métodos, los resultados permiten determinar si existe un bache en la escena. iii Abstract Artificial vision is a field related to artificial intelligence that tries to model the process of visual perception of living beings and interact with the environment, this is possible by processing and analyzing the data obtained from images, the purpose is to achieve a better way to the computer to obtain information. This work shows a Pothole recognition system using artificial vision, to reach this purpose, the image is processed with different methods, all of them composed by combinations of image processing algorithms, each of these methods is useful on different scenarios and each algorithm serves a specific purpose. Once the image has been processed by all of the methods it is possible to determine if there is a pothole in the scene. iv Índice general 1. Introducción 1 1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Descripción del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3.2. Objetivos espećıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5. Alcances y limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5.1. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5.2. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.6. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2. Marco teórico 9 2.1. Visión artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2. Operaciones morfológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 v ÍNDICE GENERAL vi 2.2.1. Dilatación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2. Erosión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.3. Apertura y cierre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3. Realce o manipulación del contraste . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1. Histograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.2. Brillo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.3. Contraste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3.4. Ecualización del histograma . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.5. Estiramiento del histograma . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.4. Segmentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.4.1. Técnicas basadas en bordes . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4.2. Umbralización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.4.3. Segmentación orientada a las regiones . . . . . . . . . . . . . . . . . . . . 27 2.4.4. Algoritmos de segmentación . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.5. Imagen binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.6. Modelo RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.7. Escala de grises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.8. Modelo HSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.9. Sistemas para la detección de baches . . . . . . . . . . . . . . . . . . . . . . . . 36 2.9.1. Land Rover alert system . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 ÍNDICE GENERAL vii 2.9.2. Pothole patrol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.9.3. Google pothole system . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3. Metodoloǵıa 40 3.1. Banco de imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.2. Métodos de procesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2.1. Mejora y realce de la imagen . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.2.2. Segmentación y eliminación de zonas . . . . . . . . . . . . . . . . . . . . 45 3.2.3. Obtención de zonas de interés . . .. . . . . . . . . . . . . . . . . . . . . 47 3.2.4. Discriminación de zonas de interés . . . . . . . . . . . . . . . . . . . . . 48 3.2.5. Unión de las zonas de interés . . . . . . . . . . . . . . . . . . . . . . . . 49 3.3. Filtrado de la zona de interés por saturación . . . . . . . . . . . . . . . . . . . . 49 3.4. Banco de algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.5. Métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.5.1. Método 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.5.2. Método 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.5.3. Método 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.5.4. Método 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.5.5. Método 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.5.6. Método 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.5.7. Método 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 ÍNDICE GENERAL viii 3.5.8. Método 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.5.9. Método 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.5.10. Método 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.5.11. Método 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4. Resultados y conclusiones 88 4.1. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.2. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.3. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Bibliograf́ıa 93 Índice de figuras 1.1. El veh́ıculo Alphabet Waymo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Land Rover Transparent Bonnet. . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Asistente de aparcamiento en Lexus RX Turbo. . . . . . . . . . . . . . . . . . . 4 1.4. El mexicano Raúl Rojas y el coche autónomo “Esṕıritu de Berĺın”. . . . . . . . 5 2.1. Esquema general del procesamiento de imágenes. . . . . . . . . . . . . . . . . . 10 2.2. Esquema general de visión por computadora. . . . . . . . . . . . . . . . . . . . . 10 2.3. Etapas de la visión artificial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4. Ejemplo de cada uno de los procesos de visión artificial . . . . . . . . . . . . . . 11 2.5. Tipos de elementos estructurantes. . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.6. Ejemplo gráfico de la dilatación. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.7. Ejemplo gráfico del proceso de erosión. . . . . . . . . . . . . . . . . . . . . . . . 14 2.8. Ejemplo del proceso de apertura. . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.9. Ejemplo del proceso de cierre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.10. Modificación del contraste de la imagen. . . . . . . . . . . . . . . . . . . . . . . 17 ix ÍNDICE DE FIGURAS x 2.11. Imagen y su histograma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.12. Aumento de brillo de la imagen y su recorrido a la derecha en el histograma. . . 19 2.13. Ejemplos de contraste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.14. Mejora del contraste por ecualización del histograma. . . . . . . . . . . . . . . . 21 2.15. Mejora del contraste por estiramiento del histograma. . . . . . . . . . . . . . . . 23 2.16. Estiramiento de histograma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.17. Detección de bordes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.18. Aplicación del gradiente morfológico. . . . . . . . . . . . . . . . . . . . . . . . . 29 2.19. Representación gráfica del algoritmo watershed. . . . . . . . . . . . . . . . . . . 30 2.20. Determinación de umbral de forma manual y por método de Otsu. . . . . . . . . 32 2.21. Binarización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.22. Imagen representada en el modelo RGB. . . . . . . . . . . . . . . . . . . . . . . 34 2.23. Imagen representada en escala de grises. . . . . . . . . . . . . . . . . . . . . . . 35 2.24. Grafica que muestra el modelo HSV. . . . . . . . . . . . . . . . . . . . . . . . . 36 2.25. Funcionamiento de Land Rover alert system. . . . . . . . . . . . . . . . . . . . . 38 3.1. Imágenes ideales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2. Imágenes en movimiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.3. Ejemplo de resultados obtenidos al aplicar diferentes métodos a una imagen. . . 43 3.4. Aplicación de un mismo método en diferentes imágenes. . . . . . . . . . . . . . . 44 3.5. Diagrama de partes y procesamiento de los métodos de detección. . . . . . . . . 45 ÍNDICE DE FIGURAS xi 3.6. Mejora y realce de la imagen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.7. Segmentación y eliminación de zonas. . . . . . . . . . . . . . . . . . . . . . . . . 47 3.8. Obtención de zonas de interés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.9. Ejemplo de detección de fasos positivos. . . . . . . . . . . . . . . . . . . . . . . 48 3.10. Unión de las zonas de interés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.11. Filtrado de zonas de interés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.12. Diagrama que muestra el funcionamiento del banco de algoritmos. . . . . . . . . 52 3.13. Imagen ideal para el método 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.14. Proceso de mejora y realce en el método 1. . . . . . . . . . . . . . . . . . . . . . 54 3.15. Proceso de segmentación y eliminación de zonas en el método 1. . . . . . . . . . 54 3.16. Obtención de zonas de interés del método 1. . . . . . . . . . . . . . . . . . . . . 55 3.17. Discriminación de zonas de interés del método 1. . . . . . . . . . . . . . . . . . . 55 3.18. Imagen ideal para el método 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.19. Proceso de mejora y realce en el método 2. . . . . . . . . . . . . . . . . . . . . . 57 3.20. Proceso de segmentación y eliminación de zonas en el método 2. . . . . . . . . . 58 3.21. Obtención de zonas de interés del método 2. . . . . . . . . . . . . . . . . . . . . 58 3.22. Discriminación de zonas de interés del método 2. . . . . . . . . . . . . . . . . . . 59 3.23. Imagen ideal para el método 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.24. Proceso de mejora y realce en el método 3. . . . . . . . . . . . . . . . . . . . . . 61 3.25. Proceso de segmentación y eliminación de zonas en el método 3. . . . . . . . . . 61 ÍNDICE DE FIGURAS xii 3.26. Obtención de zonas de interés del método 3. . . . . . . . . . . . . . . . . . . . . 62 3.27. Discriminación de zonas de interés del método 3. . . . . . . . . . . . . . . . . . . 62 3.28. Imagen ideal para el método 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.29. Proceso de mejora y realce en el método 4. . . . . . . . . . . . . . . . . . . . . . 64 3.30. Proceso de segmentación y eliminación de zonas en el método 4. . . . . . . . . . 64 3.31. Obtención de zonas de interés del método 4. . . . . . . . . . . . . . . . . . . . . 65 3.32. Discriminación de zonas de interés del método 4. . . . . . . . . . . . . . . . . . . 65 3.33. Imagen ideal para el método 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.34. Proceso de mejora y realce en el método 5. . . . . . . . . . . . . . . . . . . . . . 67 3.35. Proceso de segmentación y eliminación de zonas enel método 5. . . . . . . . . . 67 3.36. Obtención de zonas de interés del método 5. . . . . . . . . . . . . . . . . . . . . 68 3.37. Discriminación de zonas de interés del método 5. . . . . . . . . . . . . . . . . . . 68 3.38. Imagen ideal para el método 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.39. Proceso de mejora y realce en el método 6. . . . . . . . . . . . . . . . . . . . . . 70 3.40. Proceso de segmentación y eliminación de zonas en el método 6. . . . . . . . . . 70 3.41. Obtención de zonas de interés del método 6. . . . . . . . . . . . . . . . . . . . . 71 3.42. Discriminación de zonas de interés del método 6. . . . . . . . . . . . . . . . . . . 71 3.43. Imagen ideal para el método 7. . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.44. Proceso de mejora y realce en el método 7. . . . . . . . . . . . . . . . . . . . . . 73 3.45. Proceso de segmentación y eliminación de zonas en el método 7. . . . . . . . . . 73 ÍNDICE DE FIGURAS xiii 3.46. Obtención de zonas de interés del método 7. . . . . . . . . . . . . . . . . . . . . 74 3.47. Discriminación de zonas de interés del método 7. . . . . . . . . . . . . . . . . . . 74 3.48. Imagen ideal para el método 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.49. Proceso de mejora y realce en el método 8. . . . . . . . . . . . . . . . . . . . . . 76 3.50. Proceso de segmentación y eliminación de zonas en el método 8. . . . . . . . . . 76 3.51. Obtención de zonas de interés del método 8. . . . . . . . . . . . . . . . . . . . . 77 3.52. Discriminación de zonas de interés del método 8. . . . . . . . . . . . . . . . . . . 77 3.53. Imagen ideal para el método 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.54. Proceso de mejora y realce en el método 9. . . . . . . . . . . . . . . . . . . . . . 79 3.55. Proceso de segmentación y eliminación de zonas en el método 9. . . . . . . . . . 79 3.56. Obtención de zonas de interés del método 9. . . . . . . . . . . . . . . . . . . . . 80 3.57. Discriminación de zonas de interés del método 9. . . . . . . . . . . . . . . . . . . 80 3.58. Imagen ideal para el método 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.59. Proceso de mejora y realce en el método 10. . . . . . . . . . . . . . . . . . . . . 82 3.60. Proceso de segmentación y eliminación de zonas en el método 10. . . . . . . . . 83 3.61. Obtención de zonas de interés del método 10. . . . . . . . . . . . . . . . . . . . 84 3.62. Discriminación de zonas de interés del método 10. . . . . . . . . . . . . . . . . . 85 3.63. Imagen ideal para el método 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.64. Proceso de mejora y realce en el método 11. . . . . . . . . . . . . . . . . . . . . 86 3.65. Proceso de segmentación y eliminación de zonas en el método 11. . . . . . . . . 86 ÍNDICE DE FIGURAS xiv 3.66. Obtención de zonas de interés del método 11. . . . . . . . . . . . . . . . . . . . 87 3.67. Discriminación de zonas de interés del método 11. . . . . . . . . . . . . . . . . . 87 Índice de tablas 3.1. Algoritmos implementados en el método 1 . . . . . . . . . . . . . . . . . . . . . 53 3.2. Algoritmos implementados en el método 2 . . . . . . . . . . . . . . . . . . . . . 56 3.3. Algoritmos implementados en el método 3 . . . . . . . . . . . . . . . . . . . . . 60 3.4. Algoritmos implementados en el método 4 . . . . . . . . . . . . . . . . . . . . . 63 3.5. Algoritmos implementados en el método 5 . . . . . . . . . . . . . . . . . . . . . 66 3.6. Algoritmos implementados en el método 6 . . . . . . . . . . . . . . . . . . . . . 69 3.7. Algoritmos implementados en el método 7 . . . . . . . . . . . . . . . . . . . . . 72 3.8. Algoritmos implementados en el método 8 . . . . . . . . . . . . . . . . . . . . . 75 3.9. Algoritmos implementados en el método 9 . . . . . . . . . . . . . . . . . . . . . 78 3.10. Algoritmos implementados en el método 10 . . . . . . . . . . . . . . . . . . . . . 81 3.11. Algoritmos implementados en el método 11 . . . . . . . . . . . . . . . . . . . . . 84 4.1. Aciertos por método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.2. Falsos positivos por método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.3. Falsos negativos por método . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 xv ÍNDICE DE TABLAS xvi 4.4. Aciertos totales utilizando la detección principal . . . . . . . . . . . . . . . . . . 90 4.5. Aciertos totales utilizando la detección del primer proceso . . . . . . . . . . . . 90 Caṕıtulo 1 Introducción 1.1. Antecedentes Desde que comenzó el uso masivo de los autos, los baches han sido uno de los principales proble- mas de los ciudadanos, pues no solo es molesto caer en uno, sino que puede traer consecuencias como daños en el veh́ıculo, hasta bastante graves como lo es una volcadura o algún otro tipo de accidente automoviĺıstico. Según cifras de la encuesta de percepción ciudadana de calidad de vida, aplicada en la Ciudad de México en los años 2013 y 2014, se halló que en 2013 el 35 % de las personas respondió que la pavimentación de las calles empeoro, y en 2014 este dato aumentó a 40.3 %. En 2013 el 68 % de las personas encuestadas afirmó estar poco o nada satisfecho con el estado de las vialidades; porcentaje que aumentó a 73 % en 2014 [1]. Esto no es para nada sorprendente, pues de 2013 a 2015 fueron reportados más de 67 mil baches [2] y tan solo de Enero a Octubre del año 2015 fueron reportados cerca de 16 mil baches en la Ciudad de México [3]. Estos datos solo reflejan la situación actual de la capital del páıs, pero en otras ciudades del páıs la situación no es muy diferente, en 2013 en Guadalajara se tuvo registro de más de 300 mil baches [4] y en el periodo 2016-2017 se repararon 503 mil baches [5], mientras tanto en Monterrey no se tiene una cifra aproximada, pero en 2015 se estimó que el 30 % de las calles se encontraba en malas condiciones [6]. La mayoŕıa de seres vivos tiene maneras de interactuar con el medio que lo rodea, esta interacción 1 1.1. ANTECEDENTES 2 es facilitada por una intervención inteligente entre la percepción y el control de movimiento, en este tipo de intercomunicación la percepción visual es de gran importancia. La visión por computadora es una rama de la inteligencia artificial, la cual tiene como objetivo modelar los procesos de percepción visual de los seres vivos, y de esta forma poder interactuar con el medio para cumplir con ciertas tareas [7]. Hay quienes lo entienden como una forma que la computadora pueda ver, en cierta manera es verdad, pero de lo que se trata es de que la computadora tenga una forma más avanzada de obtener información, interactuando directamente con el medio. El inicio de la visión por computadora se remonta a la década de los 60s, cuando Larry Roberts propuso un sistema que pudiera obtener información en tres dimensiones partiendo de una imagen en 2D, con lo cual la computadora pod́ıa “ver” y determinar los espacios faltantes que no pod́ıan distinguirse de una fotograf́ıa [8]. En esta misma década la NASA cambio su sistema analógico de env́ıo de imágenes por un sistema de procesado digital, con lo cual las imágenes eran procesadas y enviadas en secuencias de bits, lo que hizo más sencillo recibirlas en mejor calidad. Las aplicaciones de la visión por computadora son muy variadas, van desde la inspección y con- trol de calidad en la industria, el reconocimiento y la clasificación en medicina o la identificación de construcciones y objetos en ingenieŕıa, las aplicaciones antes mencionadas no son las únicas, pero muestran lo amplio que puede ser el uso de la visión por computadora. La detección de objetos y patrones han tomado principal importancia en estos últimos años gracias al uso cada vez másfrecuente de drones para uso militar o propósitos similares, ya sea para la detección de sembrad́ıos de droga o para la detección de una célula terrorista, la visión por computadora ha jugado un papel muy importante. Ha sido aprovechada para la navegación tanto de veh́ıculos no tripulados como para asistencia del piloto. Como la mayoŕıa de piezas tecnológicas que utilizamos en la actualidad, el uso de la visión artificial está muy enfocado al sector privado y militar. El uso comercial todav́ıa está muy limitado, esto no significa que esté olvidado, empresas como Google, Land Rover y Toyota han buscado innovar en este sector y se encuentran actualmente en el desarrollo de veh́ıculos con capacidades de detección de su entorno. En la figura 1.1 se muestra el proyecto Waymo [9] (llamado anteriormente Google Self driving 1.1. ANTECEDENTES 3 car) de la compañ́ıa Alphabet, este automóvil se encuentra en fase de desarrollo, es ayudado por sensores y cámaras repartidas en diferentes lados del automóvil, lo que permite que el carro “vea” lo que hay alrededor de él. Este coche es capaz de conducirse autónomamente por ciudad y carretera, y es capaz de detectar otros veh́ıculos, señales de tráfico, peatones y muchas otros objetos y formas [10] [11]. Figura 1.1: El veh́ıculo Alphabet Waymo. El desarrollo de tecnoloǵıa por parte de la empresa de autos Land Rover es diferente al de Google, mientras que Google quiere lograr un auto completamente autónomo para su manejo, Land Rover busca crear sistemas que sirvan de ayuda al conductor y a los pasajeros. Basados en la visión por computadora, han sido capaces de desarrollar tres sistemas con propósitos diferentes. Estos son: Asistente de estacionamiento: muchas de las principales marcas de autos tienen in- tegrado el asistente de estacionamiento en sus veh́ıculos, incluido Land Rover. Pero el sistema que están desarrollando es capaz de dejar al conductor en un lado, manejarse por śı solo para buscar estacionamiento y cuando el conductor lo necesite, el carro conduce hasta la ubicación de este [12]. Detección de baches: este sistema es capaz de detectar baches en la carretera, marcar su ubicación por medio de GPS y avisar a los demás veh́ıculos que se encuentre en carretera y tengan ese sistema [13]. Land Rover Transparent Bonnet: enfocado para trayectos dif́ıciles, como brechas; por 1.1. ANTECEDENTES 4 medio de cámaras el sistema es capaz de volver “invisible” el cofre del auto, de tal manera que puede verse todo el terreno enfrente de él [14]. En la figura 1.2 se muestra el sistema en funcionamiento. Figura 1.2: Land Rover Transparent Bonnet. En el caso de Toyota, este fue una de las primeras marcas automotrices en incluir el asistente de aparcamiento en sus automóviles (desarrollado en 1999), el propósito general de este sistema fue incluirlos en los autos de lujo de la marca, los cuales son comercializados bajo el nombre Lexus. Años después fue utilizado para los veh́ıculos Prius y otros veh́ıculos Toyota [15] [16]. La figura 1.3 muestra en operación la cámara de reversa y los sensores que componen el asistente de aparcamiento en un automóvil Lexus. Figura 1.3: Asistente de aparcamiento en Lexus RX Turbo. Ejemplos de aplicaciones de la visión por computadora existen muchos más, lo mismo sucede en la aplicación para veh́ıculos. Tanto empresas como universidades alrededor del mundo tienen proyectos de investigación enfocándose en ese tipo de problemas, un ejemplo de esto es el 1.2. DESCRIPCIÓN DEL PROBLEMA 5 mexicano Raúl Rojas (figura 1.4), catedrático de la universidad Libre de Berĺın, el cual trabaja en un diseño de veh́ıculo autónomo de bajo costo [17] [18]. Figura 1.4: El mexicano Raúl Rojas y el coche autónomo “Esṕıritu de Berĺın”. Para la realización de los proyectos mencionados anteriormente, aśı como de muchos otros enfocados a la visión por computadora, y, por el hecho de que esta se basa en el sistema de visión de los seres vivos, requiere de dos partes fundamentales: una parte que recibe las señales (en este caso imágenes) y otra que se encarga del procesamiento [19]. En la recepción de datos la gran mayoŕıa de proyectos utiliza cámaras que cubren las necesidades del sistema (ya sea infrarrojas, réflex, de alta o baja calidad). En la parte del procesamiento es donde todos los proyectos se apartan, en estos tiempos es posible usar unidades de procesamiento como computadoras completas, hasta dispositivos como FPGAs o aparatos más comunes como teléfonos móviles. Otro aspecto importante en el desarrollo de estos sistemas es el manejo de información, el uso de base de datos es esencial para un correcto funcionamiento, pues los datos que se obtienen de la operación pueden contarse por cientos, miles o millones, por lo cual un motor de base de datos es esencial. 1.2. Descripción del problema La visión artificial tiene diferentes aplicaciones, todas basadas en la detección de objetos y patrones en imágenes. Por lo cual es viable su aplicación para la detección de baches en carre- tera. Para lograr este objetivo el sistema debe ser capaz de procesar las imágenes y obtener la información resultante a partir de las operaciones realizadas. 1.3. OBJETIVOS 6 Entre los principales problemas que nos podemos encontrar tenemos las caracteŕısticas de la imagen como la iluminación, colores y texturas en la escena, no es posible aplicar los mismos algoritmos en imágenes diferentes y esperar un resultado uniforme. Para lograr la detección de objetos en una imagen es necesario encontrar áreas o zonas de interés, definir que operaciones utilizar para lograr esto, establecer el tamaño que deben tener las áreas buscadas y de qué manera afectará los procesos a imágenes con caracteŕısticas diferentes, pues como se menciona anteriormente podemos obtener una variedad de resultados. Es necesario que las zonas de interés detectadas en la escena correspondan a objetos que nos interesan, en este caso que las áreas detectadas pertenezcan a la carretera o a los baches. Para que este tipo de sistemas sea llevado a la realidad se busca que sean capaces de detectar los objetos en tiempo real, en este caso solo nos enfocamos en las operaciones que deben llevarse a cabo para la detección y se deja de lado la aplicación en tiempo real. 1.3. Objetivos 1.3.1. Objetivo general Desarrollar un sistema capaz de detectar baches por medio de un sistema de visión artificial. 1.3.2. Objetivos espećıficos Determinar los diferentes métodos necesarios para realizar la detección. Implementación de algoritmos de procesamiento de imágenes para componer los métodos. Procesar y obtener los datos necesarios de una imagen dada. Llevar a cabo la detección de zonas de interés en las imágenes. Capacidad de descartar las zonas que corresponden a falsos positivos. 1.4. JUSTIFICACIÓN 7 Obtener la detección de baches en imágenes con caracteŕısticas diferentes. 1.4. Justificación En la actualidad, no son muy comunes los sistemas de visión artificial en veh́ıculos que se enfo- quen en la detección de irregularidades en el terreno (carretera), a excepción de investigaciones realizadas por unas cuantas universidades, y un prototipo próximo a salir al mercado por parte de la empresa automotriz Land Rover. Esta área no está sobreexplotada, pero, lo que tienen en común la mayoŕıa de estos sistemas, es lo poco accesible que puede ser para un usuario normal, ya sea porque los componentes que utilizan son muy caros, o porque el automóvil que lo incluye lo es; no existe un sistema accesible, los sistemas propuestos solo buscan el beneficio del usuario o usuarios que en ese momento lo utilizan. Otro punto a destacar es que la mayoŕıa de proyectos de este tipo se basan en el uso de sensores de aceleración para la detección de irregularidades en la carretera, en cambio este proyecto busca la detección pormedio de visión artificial, la cual es poco utilizada para este propósito en espećıfico, se trata de abordar la solución al problema de una manera diferente. A pesar de que este sistema no es considerado para llevarse a la práctica en un futuro cercano, también se busca que el sistema sea accesible, este es el propósito de utilizar solo una cámara sencilla y no visión en estéreo. El propósito es lograr un sistema de visión artificial accesible y sin tantos componentes involucrados. 1.5. Alcances y limitaciones 1.5.1. Alcances El sistema propuesto se enfoca en la detección de baches y el manejo de la información obtenida en carretera por el usuario. El desarrollo del sistema busca una manera de mejorar la conducción en carreteras en mal 1.6. HIPÓTESIS 8 estado, por medio de la comunicación y obtención de información entre distintos sistemas. 1.5.2. Limitaciones La capacidad de cómputo que tengan los dispositivos a utilizar. Es un sistema a iniciarse completamente en cero en ciertos aspectos, como la obtención del banco de imágenes y el diseño de los métodos de detección. Utilización de visión monocular. El procesamiento múltiple de cada imagen. 1.6. Hipótesis Es posible diseñar y llevar a la implementación un sistema que sea capaz de detectar y registrar desniveles o agujeros en una carretera. Caṕıtulo 2 Marco teórico 2.1. Visión artificial La visión artificial es una ciencia, la cual permite obtener, procesar y extraer la información pro- veniente de imágenes digitales[20] [21]. La visión por computadora es un proceso computacional fuertemente ligado al procesamiento de imágenes, pues utiliza las técnicas de procesamiento para lograr su objetivo. Aunque ambos campos tienen mucho en común, el objetivo final es diferente; el procesamiento de imágenes solo busca mejorar la calidad de las imágenes para su posterior utilización y se encarga de procesos como: remover objetos, remover problemas por desenfoque, mejorar ciertas caracteŕısticas como el color y el contraste, es decir, mejorar la ima- gen de entrada [22]. El objetivo de la visión por computadora es extraer las caracteŕısticas de una imagen para su descripción e interpretación por la computadora [23], al haber una correcta interpretación la máquina podrá actuar según convenga en la situación percibida. En las figuras 2.1 y 2.2 se muestran el esquema general del funcionamiento del procesamiento de imágenes y visión artificial respectivamente, se puede apreciar que estos procesos comparten caracteŕısticas, como la entrada (es una imagen en ambos casos), pero su objetivo final es diferente, mientras que uno busca solo la mejora de la imagen, el otro se enfoca en el contenido de esta. La visión por computadora actualmente tiene diferentes aplicaciones prácticas, principalmente en la industria, pero cada vez se muestran más avances y aplicaciones en otros campos como en 9 2.1. VISIÓN ARTIFICIAL 10 Figura 2.1: Esquema general del procesamiento de imágenes. Figura 2.2: Esquema general de visión por computadora. la seguridad y protección de datos. Entre las aplicaciones podemos mencionar: Realizar controles de calidad de productos que no era posible verificar por métodos tradi- cionales. Inspecciones en procesos donde existen diversidad de piezas con cambios frecuentes de producción. Determinación de la posición de los objetos en el espacio. Establecimiento de relaciones espaciales entre varios objetos. Realización de mediciones angulares y tridimensionales. Análisis e Interpretación de imágenes aéreas, de satélite, microscópicas y médicas, por mencionar algunas. Análisis de dibujos, escrituras y planos. 2.1. VISIÓN ARTIFICIAL 11 Los sistemas de visión artificial poseen cuatro etapas [24], como se muestran en la figura 2.3. Las etapas de los sistemas de visión artificial se ilustran en la figura 2.4 y se describen a continuación: Captura: Adquiere las imágenes digitales mediante algún tipo de sensor, se obtiene prin- cipalmente con el uso de cámaras. Preprocesado: Es el proceso de preparar la imagen eliminando las partes que no son necesarias o útiles, y también en este proceso se realzan las partes que son requeridas. Segmentación: Se áıslan los elementos de interés para luego ser analizados. Reconocimiento: Distinguir los diferentes objetos en función de las necesidades. Figura 2.3: Etapas de la visión artificial. Figura 2.4: Ejemplo de cada uno de los procesos de visión artificial 2.2. OPERACIONES MORFOLÓGICAS 12 2.2. Operaciones morfológicas Las operaciones morfológicas se basan en la geometŕıa y la forma, el objetivo es extraer las estructuras geométricas en los conjuntos en los que operan. En visión artificial este tipo de operaciones son utilizadas para simplificar las imágenes, preservando las formas principales de los objetos contenidos [25]. Estas operaciones utilizan dos conjuntos para realizar la operación, uno es la imagen o conjunto principal y el elemento estructurante, el cual se encarga de recorrer la imagen y dependiendo la operación traerá algunos cambios al resultado final. El elemento estructurante es igual de importante que el conjunto principal, ya que este puede tener diferentes formas y, dependiendo la forma se tendrán cambios en el resultado. En la figura 2.5 se muestran los tipos más comunes de elementos estructurantes utilizados. Figura 2.5: Tipos de elementos estructurantes. Las operaciones morfológicas son la erosión y la dilatación, estas pueden ser utilizadas en dife- rentes partes del tratamiento de imágenes, como lo es suavizar bordes y separar o unir regiones. 2.2.1. Dilatación Es la transformación morfológica qué combina dos conjuntos usando adición de vectores de los elementos del conjunto. Fue utilizada primero por Hermann Minkowski, en matemáticas es conocida cómo la suma de Minkowski [26]. La dilatación da como resultado un conjunto de elementos donde al menos algún elemento de B (El conjunto estructurante) este contenido en el conjunto A, esto cuando el conjunto B se desplaza por el conjunto A. La dilatación también se interpreta como el valor máximo del entorno de vecindad definido por el elemento estructurante [27]. En la figura 2.6 se muestra 2.2. OPERACIONES MORFOLÓGICAS 13 un ejemplo de la dilatación, en este caso A corresponde a la imagen original, B al elemento estructurante y A+B al resultado de la dilatación. Se puede notar claramente el cambio entre la imagen original A y la dilatación A+B. Figura 2.6: Ejemplo gráfico de la dilatación. El efecto que tiene la dilatación sobre el conjunto A es un crecimiento de ciertos componentes de este (los objetos en la escena presentan crecimiento de pixeles). Al pasar el elemento estructu- rante B dentro del conjunto, A no aumentará, la aplicación de esta operación da como resultado la degradación de la imagen. Generalmente la dilatación se lleva a cabo con elementos estructurantes en forma de disco o cuadro (figura 2.5). Cuando es un disco da lugar a una imagen con un crecimiento isotrópico, es decir que crece de igual manera en todas direcciones. Cuando el objeto es un cuadro el crecimiento es una figura de menor escala. El objetivo principal para utilizar esta operación es el eliminar el ruido en la imagen o cerrar pequeños espacios en los objetos contenidos en ella. 2.2.2. Erosión Es la transformación dual de la dilatación. Esta transformación combina dos conjuntos usando la resta de vectores en estos [28]. La erosión es popularmente concebida como un encogecimiento de la imagen original, por lo cual se entiende que la imagen resultante de la erosión está contenida 2.2. OPERACIONES MORFOLÓGICAS 14 en ella. En la figura 2.7 se tiene un ejemplo de la erosión, donde A es la imagen original, B es el elemento estructurante y A-B es el resultado de la erosión de la imagen. Figura 2.7: Ejemplo gráficodel proceso de erosión. El proceso de erosión consiste en definir un elemento estructurante y compararlo con cada por- ción de la imagen, los objetos menores a este elemento desaparecerán de la imagen, y los objetos que permanezcan habrán sido degradados. Al igual que la dilatación, la erosión es un procedi- miento que degrada las imágenes [29]. Otra caracteŕıstica importante de este procedimiento es que, al aplicarlo de forma iterativa (aplicar la erosión en la imagen resultante de una erosión anterior) eliminará los objetos existentes en la imagen. Este método adelgaza las zonas a las que se aplica. El principal objetivo para utilizar este procedimiento es para eliminar el ruido y mejorar la definición de objetos o zonas en la imagen. La erosión es una transformación anti extensiva, es decir, la imagen resultante está contenida en la original. 2.2.3. Apertura y cierre Los algoritmos de erosión y dilatación se suelen aplicar en secuencia, al utilizarlos de esta manera se pueden diseñar operaciones de realce de las formas de los objetos. Como se menciona anteriormente, la erosión es la operación dual de la dilatación, aun aśı no es posible cancelar el resultado obtenido por uno de ellos al aplicar el otro algoritmo (ya sea de erosión a dilatación o 2.2. OPERACIONES MORFOLÓGICAS 15 viceversa). Aplicar en serie el algoritmo de dilatación seguido de la erosión genera un resultado diferente que el utilizar la secuencia de forma inversa, estos dos sucesiones dan como resultado dos operaciones diferentes (no son conmutativas), la apertura (erosión y dilatación) y el cierre (dilatación y erosión) [30]. Por ejemplo, para eliminar el ruido en una imagen, es conveniente utilizar el algoritmo de erosión, esto contrae el área de los objetos contenidos; como el ruido suele ser de una superficie muy pequeña es eliminado. Ahora el área de todos los objetos ha sido reducida, para disminuir el efecto sé utiliza el algoritmo de dilatación que ayuda a recuperar la medida original de los objetos, pues expande los contornos de las áreas blancas; esto es conocido como apertura. Este algoritmo puede ser ideal para la eliminación de ruido, aunque generalmente no preserva la geometŕıa de los objetos, ya que tiende a suavizar los bordes. En la figura 2.8 se muestra un ejemplo de la aplicación del algoritmo de apertura; los pequeños puntos blancos en (2.8 a) es ruido presente en la imagen (ruido salt), al aplicar el proceso de apertura se obtiene la imagen (2.8 b), eliminando el ruido y afectando un poco el contorno de la figura. Figura 2.8: Ejemplo del proceso de apertura. En el caso de imágenes con zonas separadas y provenientes de un mismo objeto, el cierre puede ayudar a resolver este problema. La dilatación se encarga de agrandar los objetos y cerrar agujeros y grietas, y el ensanchamiento de los objetos producido por la dilatación es disminuido mediante la erosión. El algoritmo da como resultado el rellenado de fisuras sin haber aumentado el tamaño de los objetos, pero con contornos suavizados [31]. En la figura 2.9 se 2.3. REALCE O MANIPULACIÓN DEL CONTRASTE 16 muestra el proceso de cierre; en (2.9 a) se tiene una imagen con ruido (ruido pepper), al aplicar el algoritmo de cierre obtenemos la imagen (2.9), donde los huecos presentes en la figura fueron rellenados y su contorno permanece sin cambios muy grandes. Figura 2.9: Ejemplo del proceso de cierre. 2.3. Realce o manipulación del contraste Las técnicas de realce pretenden aumentar el contraste de las imágenes, esto es con el propósito de mejorar algunas de sus caracteŕısticas visuales para las siguientes etapas del análisis. Las causas de aplicar estos algoritmos se deben bien a una falta de iluminación uniforme en la escena o al deseo de mejorar el contraste entre los objetos contenidos en la imagen [32]. El realce del contraste es aplicado cuando se pretende utilizar técnicas de segmentación, pues es muchos casos es realmente útil para mejorar la distinción o separación entre zonas de interés. la figura 2.10 muestra la diferencia entre una imagen sin modificaciones (a) y los cambios que trae la mejora del contraste (b), en la imagen resultante algunos de los objetos en la escena se distinguen mejor del fondo. Muchas de las aplicaciones de realzado se fundamentan en operaciones punto a punto, es decir, no tienen en cuenta el entorno de la vecindad del pixel. 2.3. REALCE O MANIPULACIÓN DEL CONTRASTE 17 Figura 2.10: Modificación del contraste de la imagen. 2.3.1. Histograma Es una representación gráfica que contabiliza el número de ocurrencias de cada nivel de gris que está presente en la imagen [33]. En este diagrama el eje de las abscisas (eje y) representa el nivel de gris y el eje de la ordenadas (eje x) representa la frecuencia de cada nivel de gris. Si a uno de los niveles de gris se le divide por la cantidad de pixeles en la imagen se obtiene la función de probabilidad muestral de este. La ecuación 2.1 es la fórmula para obtener la probabilidad de ocurrencia de un nivel de gris (p(i)), donde h(i) corresponde al número de repeticiones del nivel de gris, M es el número de filas y N el número de columnas en la imagen. p(i) = h(i) M ·N (2.1) El histograma no está relacionado y no nos muestra nada relacionado a la posición espacial de las diferentes intensidades (niveles de gris) que componen a la imagen, por lo cual dos imágenes muy diferentes pueden tener un histograma similar o igual [34]. Lo que el histograma nos muestra es información estad́ıstica de la imagen. Esta información es útil para conocer su proceso de formación. En la figura 2.11 se muestra el histograma de la imagen, en él se grafican el número de repeticiones de cada nivel de gris, en este caso las intensidades de esta imagen van del nivel 100 hasta 230 2.3. REALCE O MANIPULACIÓN DEL CONTRASTE 18 Figura 2.11: Imagen y su histograma. 2.3.2. Brillo El histograma no solo nos muestra la cantidad de pixeles presente en cada nivel de gris, sino también nos proporciona información estad́ıstica de la imagen. Estos datos son útiles para conocer el proceso de formación de la imagen. Uno de estos datos obtenidos es el brillo, el brillo se define como el valor medio de la imagen, el cual coincide con el valor medio del histograma [33]. En la ecuación 2.2 se muestra la fórmula para determinar el brillo, donde f(x,y) retorna el nivel de gris del pixel en las coordenadas x,y, i es el número de grises que se ha empleado en el proceso de cuantificación de la imagen, p(i) es la probabilidad muestral de un pixel de la imagen, M es el número de filas y N el número de columnas en la imagen. Brillo = µ = 1 M ·N M∑ x=1 N∑ y=1 f(x, y) = I−1∑ i=0 i · p(i) (2.2) El brillo en una imagen se entiende como la intensidad de luz en cada pixel, cuando se visualiza una imagen con variaciones de brillo, esta se verá más clara u oscura dependiendo que tanto brillo tenga. Cuando se modifica el brillo en una imagen todos los pixeles modifican la luminosidad en igual cantidad. El aumento de brillo en la escena se entiende como un recorrido hacia la derecha de los valores del histograma. Entre más brillo existe en la escena más alto son los valores de los ṕıxeles en el histograma. En la figura 2.12 se muestra un ejemplo del caso anterior, se muestra la imagen original (a) y su histograma (c), su aumento de brillo (b) y el recorrido a la derecha del histograma resultante (d). 2.3. REALCE O MANIPULACIÓN DEL CONTRASTE 19 Figura 2.12: Aumento de brillo de la imagen y su recorrido a la derecha en el histograma. 2.3.3. Contraste Es una medida del rango de la imagen, nos indica cuan dispersos están los niveles de gris [33], el contraste está fuertemente ligado a la calidad visual de la imagen, en un caso ideal se busca que la imagen utilice el rango completo de intensidades. Al igual que el brillo, el contraste es un valor relacionadocon la información estad́ıstica proveniente del histograma, en este caso la varianza está asociada al contraste de la imagen. En la ecuación 2.3 se muestra la fórmula para obtener la varianza la cual es equivalente al contraste, donde f(x,y) retorna el nivel de gris del pixel en las coordenadas x,y, i es el número de grises que se ha empleado en el proceso de cuantificación de la imagen, p(i) es la probabilidad muestral de un pixel de la imagen, M es el número de filas, N el número de columnas en la imagen y mu es la media de la imagen o brillo. Contraste = σ2 = 1 M ·N M∑ x=1 N∑ y=1 (f(x, y)− µ)2 = 2.3. REALCE O MANIPULACIÓN DEL CONTRASTE 20 1 M ·N I−1∑ i=0 (i− µ)2 · h(i) = I−1∑ i=0 (i− µ)2 · p(i) (2.3) En una imagen el contraste se entiende como la posibilidad de distinguir más de una densi- dad distinta [33], estos es que a mayor contraste las partes oscuras se diferencian con mayor notoriedad de las zonas luminosas, esto significa que, en contraste alto las imágenes tienden a convertirse en blanco y negro (figura 2.13 b), mientras que con un contraste bajo la imagen tiende a convertirse en escala de grises (figura 2.13 a). Una imagen con poco contraste indica que hay poca variabilidad de los niveles de grises en la imagen. Su efecto se muestra en un histograma muy concentrado, con una variación de niveles de grises muy corta. Figura 2.13: Ejemplos de contraste. Las imágenes con bajo contraste o saturadas presentan perdida de información. La solución es usar técnicas de preprocesado digital qué modifican los valores de formación de la escena, esto no aumenta el nivel de información pero acondicionan la imagen para las etapas siguientes de procesamiento. 2.3.4. Ecualización del histograma La ecualización es la conversión de cualquier forma de histograma a un histograma uniforme, donde en el caso ideal todos los valores presentes tienen el mismo nivel; esta transformación no aumenta la información que es posible obtener, pero maximiza la explotación de la información ya presente. Este proceso puede ser aplicado para el procesamiento de imágenes. 2.3. REALCE O MANIPULACIÓN DEL CONTRASTE 21 La idea principal de esta operación es realizar la conversión del histograma de tal forma que la frecuencia de aparición de todos los niveles de gris sea idéntica. En otras palabras, buscar que el histograma de la imagen se aproxime a una recta. En la práctica esto no es posible, aśı que se considera ecualizado cuando los niveles de intensidad tienen una frecuencia lo más similar posible. El resultado de la ecualización es la mejora del contraste, aprovechando de mejor manera el rango de valores de intensidad disponible. Aunque también puede traer como consecuencia la aparición de ruido donde permanecen rampas en el histograma [35]. En la figura 2.14 se muestra la imagen original (a), su histograma (c), la imagen e histograma resultante de la ecualización (b y d respectivamente). Figura 2.14: Mejora del contraste por ecualización del histograma. Para obtener esta técnica de preprocesado se partirá de la función de distribución de la imagen. Esta se define como el sumatorio de probabilidades desde el inicio de la variable hasta un valor prefijado. Por tanto el sumatorio de la función en todo el espectro de la variable aleatoria es la unidad r. La ecuación 2.4 corresponde a la función de distribución de una imagen hasta un punto determinado, donde I es el número de niveles de gris hasta el punto definido, i es el número de grises que se ha empleado en el proceso de cuantificación de la imagen y p(i) es la probabilidad 2.3. REALCE O MANIPULACIÓN DEL CONTRASTE 22 muestral de un pixel de la imagen. F (r) = r∑ i=0 p(i) F (I − 1) = I−1∑ i=0 p(i) = 1 (2.4) En este caso, la probabilidad de la variable aleatoria corresponderá con la probabilidad de que aparezca el nivel de gris, en la imagen, la función de distribución de una imagen estará determinada por el histograma acumulado relativizado por el tamaño de la imagen. Sea f(r) la función de distribución de una imagen cualquiera. Un histograma uniforme se carac- teriza por la ecuación 2.5, siendo f(r’) la función de distribución uniforme, p(i) la probabilidad muestral de un pixel, I el número de niveles de gris hasta el punto definido. F (r′) = r′∑ i=0 p(i) = (r′ + 1) 1 I (2.5) Siendo f(r) la función de distribución uniforme, la conversión del histograma se establece igua- lando las funciones de distribución qué pose la imagen con la función de distribución deseada. Con esta relación se establece la función de transferencia del histograma de r a r’ (2.6). F (r′) = F (r) =⇒ (r′ + 1)1 I = F (r) =⇒ r′ = F (r) · I − 1 (2.6) El carácter discreto de la variable supondrá una aproximación a una densidad uniforme. 2.3.5. Estiramiento del histograma Se emplea para mejorar el contraste de las imágenes, dado que distribuye un intervalo de his- tograma de la imagen de modo que ocupe todo el rango de valores disponible y el histograma no tenga frecuencias nulas en todo el rango de 0 a 255 [35]. Tanto la ecualización como el es- tiramiento buscan aprovechar todo el rango disponible, pero utilizan diferentes métodos para cumplir ese propósito. Para realizar el estiramiento se elige un valor mı́nimo (fmin) y un valor 2.3. REALCE O MANIPULACIÓN DEL CONTRASTE 23 máximo (fmax) en el histograma, con estos datos se aplica la fórmula 2.7, donde f(x,y) es la intensidad del valor x,y, fmin el valor mı́nimo de las intensidades del histograma y fmax el valor máximo. g(x, y) = f(x, y)− fmin fmax− fmin ∗ 2bpp (2.7) Por lo general el estiramiento utiliza los valores de fmin y fmax reales provenientes del histogra- ma, pero estos valores utilizados en la formula no son obligatoriamente los máximos y mı́nimos de las intensidades del histograma, sino que pueden elegirse convenientemente para adaptarse al proceso y mejorarlo, dando como resultado el estiramiento de una parte espećıfica del conjunto de datos [36]. La figura 2.15 da un ejemplo de estirar el histograma de una imagen, en la parte derecha se muestra la imagen original y su histograma (a y c) y en la izquierda el resultado del proceso (b y d). Figura 2.15: Mejora del contraste por estiramiento del histograma. Como se ha mencionado, el estiramiento puede mejorar el contraste de la imagen (puede mejorar la visibilidad de los objetos en ella) aunque no siempre da buenos resultados, principalmente al utilizar los valores máximos y mı́nimos reales. El proceso es el siguiente: se busca el valor 2.4. SEGMENTACIÓN 24 mı́nimo de la imagen y se iguala 0; de misma forma se busca el valor máximo y se iguala a 255. Por esta razón el estiramiento puede ser poco confiable, pues si la imagen tiene valores 0 y 255 el estiramiento no tendrá efecto. En la figura 2.16 se muestra un ejemplo gráfico del proceso. Figura 2.16: Estiramiento de histograma. Una ventaja del estiramiento sobre la ecualización es la relación uno a uno de los valores de intensidad entre la imagen origen y la resultante, por lo tanto es posible recuperar el conjunto original desde la imagen estirada, mientras que por el tipo de transformación que realiza la ecualización, una vez convertida no hay forma de recuperarla. 2.4. Segmentación La segmentación de una imagen es un proceso que extrae los objetos de interés contenidos en la escena. En esta parte se trata de agrupar los pixeles por algún criterio de homogeneidad, la forma de agrupar los pixeles se hace a razón de que los vecinos sean similares en criterios como luminancia, color, bordes, texturas, etc., se busca que las zonas de interés estas zonas tengan algún significado [37]. La imagen, al ser particionada, su componente mı́nimo es considera la zona de interés y se deja a un lado el pixel. La imagen ahora estará compuesta por las zonas de interés encontrados, ahora la información estará preparada para el reconocimientoe interpretación en pasos posteriores. 2.4. SEGMENTACIÓN 25 La segmentación utiliza tres conceptos básicos que deben cumplirse para considerar la unión de pixeles como una zona de interés [38] [39], estos son: Similitud: Los pixeles que conforman las zonas de interés deben de tener una o más caracteŕısticas en común como color, textura, saturación, etcétera. Conectividad: Las zonas de interés están compuestas por un grupo de pixeles conectados entre śı. Discontinuidad. los objetos tienen formas geométricas que definen los contornos. estás delimitan una zona de otra. En la práctica la existencia al mismo tiempo de las tres condiciones es complicada de cumplir en su totalidad, factores como la falta de iluminación, el ruido, los cambios de textura y el reflejo pueden afectar esta similitud de pixeles. Por ejemplo, para la conectividad la ocultación parcial de un objeto puede provocar el fallo de esta condición, puede llegar a dividir una zona de interés en muchas partes. Caso similar para la discontinuidad, es dif́ıcil obtener un contorno cerrado sin errores y que sea inmune al ruido. La segmentación es un proceso complejo. En este momento se combinan diferentes métodos para obtener mejores resultados a pesar de lo poco predecible qué es. Actualmente se busca mejorar este proceso y una de las claves conocidas para esto es cambiar la formación de la imagen, como por ejemplo mejorar la iluminación y simplificando la escena. Claro que esto sólo es posible en escenarios controlados, siendo dif́ıcil de utilizar en escenarios no controlados. Existen diferentes técnicas utilizadas para segmentar una imagen [40] [41] [38], estas se dividen en: Técnicas basadas en bordes Umbralización Técnicas orientadas a regiones 2.4. SEGMENTACIÓN 26 2.4.1. Técnicas basadas en bordes Se utilizan técnicas de detección de bordes para localizar las fronteras de los objetos en la escena [42]. Aun aśı esta etapa no es definitiva para lograr la segmentación. El ruido, el efecto de sombras, falta de iluminación uniforme, entre otros problemas provocan que los contornos no sean continuos y encierren todo el objeto, en la figura 2.17 se muestra un ejemplo de detección de bordes. Se requieren otras etapas de procesamiento, las etapas de post- procesamiento utilizarán los resultados de la detección de bordes para elaborar las fronteras de los objetos, se trata agrupar los ṕıxeles etiquetados como bordes de la etapa de detección de bordes empleando la propiedad de conectividad. Figura 2.17: Detección de bordes. Para que un ṕıxel detectado como borde se defina como frontera de un objeto se necesita que otros ṕıxeles detectados como bordes tengan una dirección y módulo de gradiente similares. Dos ṕıxeles se consideran en un mismo borde si tienen alguna condición de conectividad. Existen diferentes técnicas para la detección de bordes, en este trabajo se utiliza el gradiente morfológico para realizar esta tarea. 2.4. SEGMENTACIÓN 27 2.4.2. Umbralización Es una técnica que se emplea generalmente cuando hay una clara diferencia entre los obje- tos y el fondo de la escena [43]. Los principios de esta técnica son la similitud de los ṕıxeles pertenecientes a un objeto y las diferencias respecto al resto. Estos métodos tienen un mejor funcionamiento si la escena es uniforme y/o los objetos a extraer son similares. Al aplicar un umbral la imagen quedará binarizada etiquetando con uno los ṕıxeles pertenecientes al objeto y con 0 los correspondientes al fondo. En el caso de que los objetos sean oscuros esta etiquetación es inversa. En la ecuación 2.8 se muestra la condición para realizar la umbralización, teniendo el umbral T, si la intensidad del pixel i (f(x,y)) es mayor el valor de g(x,y) es 1, en cambio śı es menor al umbral, el valor de g(x,y) será 0 [44]. g(x, y) = 1 f(x, y) > T0 f(x, y) ≤ T (2.8) El umbral puede ser global, cuando depende de toda la imagen, se consideran local cuando depende de un vecindario o de un ṕıxel espećıfico y si depende también de la posición del pixel se denomina dinámico. Encontrar el umbral puede ser un problema dif́ıcil de resolver, la solución más común es deter- minar un umbral global y esto puede variar dependiendo de las caracteŕısticas del proyecto. 2.4.3. Segmentación orientada a las regiones Este tipo de segmentación se basa en los criterios de similitud y continuidad de los ṕıxeles que forman una región [45]. La imagen se considera formada por n regiones disjuntas, cada una de estas tiene ṕıxeles agrupados que los hace pertenecer a esa región en especial. Formalmente las condiciones de esta segmentación se presentan en la ecuación 2.9, donde I es la imagen, Ri es una región de ella, pi es un pixel y Rj es la regla de similitud de la región j. 2.4. SEGMENTACIÓN 28 a) I = ∪Ri b) Ri ∩Rj = ∅ c) pi ∈ Rj ↔ PRj(pi) = 1 d) pi /∈ Rj ↔ PRj(pi) = 0 (2.9) Las condiciones a y b describen la segmentación como un proceso de partición de la imagen en regiones difuntas. Las condiciones c y d hacen referencia a la similitud de los ṕıxeles agrupados y de discrepancia respecto al resto. Otra caracteŕıstica de esta técnica es el inicio, pues se empieza con puntos semillas para formar una determinada región, y se añaden aquellos pixeles vecinos que cumplen con las propiedades especificadas [46]. 2.4.4. Algoritmos de segmentación 2.4.4.1. Gradiente morfológico El gradiente morfológico puede ser la diferencia de tres combinaciones: entre la imagen original y su erosión, entre una dilatación y la imagen original, entre una dilatación y una erosión [47]. Es útil para encontrar los bordes o peŕımetros de los objetos, el gradiente a utilizar de las tres combinaciones dependerá de los objetos y su forma. Para una imagen en escala de grises, el gradiente queda definido como: g−(X) = X \ (XΘB) gradiente por erosión g+(X) = (X ⊕ B) \X gradiente por dilatación g(X) = (X ⊕ B) \ (XΘB) gradiente simétrico Como se muestra en la ecuación 2.4.4.1, cada combinación tiene un nombre en particular, gradiente por erosión cuando se utiliza la imagen original y su erosión, gradiente por dilatación cuando es utilizada la dilatación y gradiente simétrico cuando se utilizan los dos gradientes anteriores para realizar la operación. En la figura 2.18 se muestra una imagen resultante de aplicar el gradiente morfológico; la imagen original (a) e imagen resultante (b), se observa claramente que el proceso solo deja los bordes de los objetos presentes. 2.4. SEGMENTACIÓN 29 Figura 2.18: Aplicación del gradiente morfológico. El gradiente simétrico intensifica la detección de bordes y la ĺınea trazada o detectada como borde es la ĺınea verdadera del objeto, en el caso del gradiente por erosión y por dilatación los bordes se encuentran a los lados del borde real del objeto. 2.4.4.2. Watershed o Divisoria de aguas Esta técnica combina dos tipos de segmentación, las técnicas basadas en bordes y las técnicas basadas en regiones. La idea en la que está basada esta operación viene de la topograf́ıa, más espećıficamente en la forma que el agua de lluvia es recogida en las cuencas hidrográficas aso- ciadas con ŕıos o lagos [48]. La figura 2.19 muestra una representación gráfica del algoritmo, la imagen (a) es la imagen original, (b) es la representación de las cuencas en ella y en (c) se tiene la separación de objetos al aplicar el algoritmo. Podemos imaginar cada mı́nimo local como una cuenca separada de otras cuencas vecinas por ĺıneas de altitud máxima, llamada ĺıneas divisorias, en el caso de las imágenes, los bordes de los objetos son considerados ĺıneas divisorias. Si situamos una gota en una ĺınea divisoria, esta no tendŕıa una cuenca asignada. Se define las ĺıneas divisorias como aquellas formadas por los puntos de una superficie topográfica que no pertenecen a ninguna cuenca, es decir estánen la parte alta del terreno. En una imagen la altitud del pixel viene dada por su nivel de gris, una gota dejada en un ṕıxel 2.4. SEGMENTACIÓN 30 Figura 2.19: Representación gráfica del algoritmo watershed. cualquiera caerá por la dirección de máximo gradiente haćıa un mı́nimo, con ese proceso se puede asignar a cada pixel una cuenca determinada o ĺınea divisoria. El procedimiento de cada gota (pixel) es el siguiente: Primero se localizan los mı́nimos de la imagen y se etiquetan. El resto de ṕıxeles sin etiquetar se supone una gota de agua partiendo de ellos, la cual se desplaza a uno de sus 8 vecinos de menor valor hasta llegar a un ṕıxel etiquetado. El algoritmo puede presentar problemas cuando la imagen tiene mesetas o espacios de imagen sin pendiente en ninguna dirección. El principal problema con este algoritmo es que la imagen puede presentar una sobre segmen- tación, ya que se crea una región a partir de cada mı́nimo local; para reducir este problema se trata de utilizar técnicas de procesamiento para reducir la cantidad de mı́nimos locales y resaltar los bordes. Existen algunas variantes del algoritmo, en estas pueden ser descartados algunos pixeles vecinos para el desplazamiento de la gota de agua, en el caso de este trabajo se ha utilizado el algoritmo sin restricción de pixeles vecinos, por lo que son considerados como posible desplazamiento los 8 pixeles que conforman el vecindario. 2.4.4.3. Método de Otsu Se llama aśı en honor a Nobuyuki Otsu quien lo invento en 1979, este algoritmo utiliza técnicas estad́ısticas con el fin de calcular el valor de umbral óptimo, de tal forma que la dispersión 2.4. SEGMENTACIÓN 31 dentro de cada clase sea lo más pequeña posible, y al mismo tiempo que la dispersión sea lo más alta posible entre clases diferentes. Este algoritmo trata de resolver uno de los principales problemas de la umbralización, encontrar un umbral óptimo que nos permita una correcta segmentación. El método de Otsu genera, en base a la imagen, un umbral óptimo T que permite una separación entre el fondo (Cf ) y el objeto (Co) como se muestra en la ecuación 2.10 [49]. Cf = {0, 1, 2, ..., T} Co = {T + 1, T + 2, ..., I − 1} (2.10) El umbral ideal de la imagen se obtiene calculando la varianza entre todas las divisiones posibles, y se toma el umbral que presenta la máxima varianza entre clases. Para obtener la varianza, es necesario encontrar la probabilidad de cada clase, esta se compone de la sumatoria de las probabilidades de ocurrencia de cada intensidad pertenecientes a la clase. La probabilidad de la intensidad y la probabilidad de cada clase se presentan en la ecuación 2.11 y 2.12 respectiva- mente. pi = ni M ·N (2.11) PCf = T∑ i=0 pi PCo = I−1∑ i=T+1 pi (2.12) Donde pi es la probabilidad de ocurrencia de la intensidad i, ni es el número de ṕıxeles con nivel de intensidad i, M es la altura de la imagen, N el ancho de la imagen y T es el umbral. Con los resultados anteriores es posible calcular las medias y varianzas correspondientes a cada clase como se presenta en la ecuación 2.13. µCf = 1 PCf T∑ i=0 i · pi µCo = 1PCo I−1∑ i=T+1 i · pi σ2Cf = 1 PCf T∑ i=0 (i− µCf )2 · pi σ2Co = 1 PCo T∑ i=0 (i− µCo)2 · pi (2.13) 2.4. SEGMENTACIÓN 32 Para obtener el umbral óptimo, se recorre todo el rango de intensidades igualando T a todos los posibles valores, desde 0 hasta I-1 [43], en cada repetición se calcula la varianza ponderada como se muestra en la ecuación 2.14 y se elige el umbral que maximice la varianza entre clases (ecuación 2.15). σ2p = PCf · σ2Cf + PCo · σ 2 Co (2.14) T = max(σ2) (2.15) El método de Otsu es uno de los algoritmos de segmentación mas utilizados, ya que el determinar un umbral óptimo de forma manual es complicado, en la figura 2.20 se ilustra la diferencia entre utilizar un umbral que no es el óptimo para la escena y un umbral determinado por el método de Otsu. La imagen (a) es la original, (b) es la imagen segmentada con un umbral de 0.5, y la imagen (c) esta segmentada con el umbral obtenido por el método de Otsu; mientras que el umbral utilizado en (b) no logra separar las partes claras de las oscuras, el método de Otsu, al haber determinado el umbral ideal para la imagen, da como resultado una mejor segmentación. Figura 2.20: Determinación de umbral de forma manual y por método de Otsu. A pesar de mostrar buenos resultados, este método tiene ciertas limitaciones, en imágenes donde se presenta mucho ruido o donde el objeto a extraer es pequeño y/o presenta variaciones de intensidad muy grandes conforme el fondo, pueden presentarse errores de segmentación con el umbral establecido por el algoritmo. 2.5. IMAGEN BINARIA 33 2.5. Imagen binaria Es una imagen digital que tiene dos valores posibles para cada pixel, por lo general los valores se representan como verdadero o falso, 1 o 0 y visualmente como negro o blanco [50]. Un ejemplo del proceso de binarización lo encontramos en la figura 2.21, la imagen (a) es la original y (b) es el resultado de aplicar este proceso. Figura 2.21: Binarización. Este tipo de imágenes se obtienen al transformar una imagen normal a binaria, el proceso es conocido como binarizacion, consiste en reducir la información de la imagen, limitando los valores de cada pixel de ella a las únicas dos posibilidades. En la binarización se establece un valor limite de intensidad, conocido como umbral, el cual servirá para determinar si el pixel inspeccionado, dependiendo su intensidad, valdrá 0 o 1. La binarizacion es el resultado de la segmentación o de la selección manual de zonas de interés a separar. Al binarizar la imagen da como resultado la formación de objetos, es decir una porción de la imagen conformada por un conjunto de ṕıxeles de valor 1 conectados entre śı (propiedad de continuidad en la segmentación [38] [39]) y rodeados por ṕıxeles con valor 0. 2.6. Modelo RGB Todos los colores que se pueden percibir en sistemas electrónicos son creados por la mezcla de tres colores, llamados colores aditivos primarios, estos son el rojo, verde y azul, el color en cada pixel esta compuesto por una combinación diferente de las tonalidades antes mencionadas; esto 2.7. ESCALA DE GRISES 34 es conocido como modelo de color RGB [51]. Su nombre proviene de la inicial en ingles de cada uno de estos colores, Red, Green y Blue. La siguiente figura (2.22) muestra un ejemplo de una imagen en el modelo RGB. Figura 2.22: Imagen representada en el modelo RGB. En este modelo todas las posibles tonalidades derivan de la intensidad de cada color, estos se combinan y dan como resultado una cantidad enorme de diferentes colores con diferentes caracteŕısticas [52], cuando ningún color de los primarios está presente se observa el color negro. Para indicar en qué proporciones o niveles de color tiene cada componente, se le asigna un valor numérico, de esta manera al tener un valor 0 no interviene en la mezcla y entre más alto es este valor más intensidad aporta. La intensidad de cada uno de los componentes se mide según una escala que va de 0 a 255, de misma forma este valor puede ser representado en hexadecimal, aqúı la combinación es representada por tres pares de números hexadecimales uno para R, otro para G y otro para B. 2.7. Escala de grises En este modelo el valor de cada pixel es un solo componente que representa sólo la cantidad de luz o intensidad presente. La caracteŕıstica principal de estas imágenes es el uso exclusivo de tonalidades de gris, variando de negro como la iluminación más débil hasta el blanco como la intensidad más alta [53] [54], a diferencia de las imágenes binarias en las cuales sólo existen los colores blanco y negro en este existen también un sin fin de tonalidades de gris. La figura 2.23 2.8. MODELO HSV 35 es un ejemplo de una imagen representada en escala de grises. Figura 2.23: Imagen representada en escala de grises.2.8. Modelo HSV Modelo que deriva del RGB, representa los colores combinando tres valores, el tono, la saturación y el brillo [55], esto es representado en un diagrama circular. Fue creado para aportar información sobre el color, su cantidad y brillo, es decir, presenta los colores y sus diferentes grados de brillo y saturación en un único diagrama cónico o circular el cual se presenta en la figura 2.24. Este modelo es utilizado en aplicaciones gráficas y en procesamiento de imágenes pues resulta útil la separación de estos componentes. Los componentes se expresan de la siguiente manera. H, matiz o color: Se representa como un grado de ángulo, estos valores van de 0 a 360 grados, cada valor corresponde a un color, 0 es rojo, 60 es amarillo, y 120 verde. Es considerado un atributo del color asociado con la longitud de onda dominante en la mezcla de ondas luminosas. Es el estado puro del color sin agregar blanco y negro. S, saturación: Es la intensidad de un matiz, se basa en la pureza del color, un color muy saturado tiene un color vivo, mientras que un color poco saturado se ve descolorido y gris, al no tener saturación un color se ve como una tonalidad de gris. Sus valores vaŕıan de 0 a 100, de menor a mayor cantidad de color. 2.9. SISTEMAS PARA LA DETECCIÓN DE BACHES 36 Figura 2.24: Grafica que muestra el modelo HSV. V, luminosidad o brillo: Propiedad de los colores, da una indicación sobre el aspecto luminoso del color, cuanto más oscuro es el color más débil es la luminosidad. Sus valores van del 0 a 100, de oscuro a máxima luminosidad. 2.9. Sistemas para la detección de baches Se revisaron diferentes alternativas para la detección y reporte de baches, todas abordando el problema desde diferentes perspectivas, algunos de los sistemas se muestran a continuación: 2.9.1. Land Rover alert system Es un sistema desarrollado por la empresa automotriz Land Rover, esta tecnoloǵıa permite que todos los veh́ıculos equipados con el sistema puedan detectar y valorar la magnitud de baches y otras imperfecciones en el asfalto, y con la información obtenida construir un mapa que permita al resto de conductores evitarlos o estar alerta de ellos [13]. Los autos de esta marca, antes de incluir este sistema, ya contaban con tecnoloǵıa para monitoreo en tiempo real del tipo de suelo y forma de conducción del veh́ıculo, de esa manera el coche es capaz de cambiar 2.9. SISTEMAS PARA LA DETECCIÓN DE BACHES 37 diferentes propiedades de el mismo, como lo son la altura y la rigidez de la suspensión. Con el sistema anterior, la tecnoloǵıa de detección de baches trabaja en conjunto y utiliza algunos de los componentes ya instalados en el auto. El funcionamiento del Land Rover Alert system, se describe a continuación, una gráfica que describe el funcionamiento de este sistema se tiene en la figura 2.25: El coche, por medio de su sistema de reconocimiento de suelo, detecta que está circulando por asfalto, con lo cual es activado el sistema de detección de baches. El sistema de detección de baches, por medio de los sensores instalados en la parte delan- tera del carro, hace un monitoreo constante de las condiciones del pavimento. Los sensores tanto laser como los de la suspensión se encuentran monitoreados para de- tectar saltos. Si en la lectura de los sensores laser se detecta una irregularidad o el sistema de la sus- pensión detecta algo, entonces se ha localizado un bache. Una vez detectado el bache, se toman las coordenadas GPS y se toma una fotograf́ıa del mismo. Capturada esta información, el coche sube los datos a la nube en la primera oportunidad que tenga. Con esa información se crea un mapa con los baches detectados por todos los coches que utilicen esta tecnoloǵıa. 2.9.2. Pothole patrol Sistema desarrollado en el MIT [56], utiliza una computadora embebida soekris y el sistema operativo Linux, cuenta con tres acelerómetros y un sensor GPS para la detección de baches y la obtención de sus coordenadas. Para este sistema se tuvo cuidado especial en la colocación de los tres acelerómetros, y se realizó el entrenamiento del sistema, todo esto para que el sistema 2.9. SISTEMAS PARA LA DETECCIÓN DE BACHES 38 Figura 2.25: Funcionamiento de Land Rover alert system. pudiera distinguir entre varios factores como: cierre de puertas, frenado, rieles, alcantarillas, topes y otros aspectos que pudieran confundirse en la lectura del acelerómetro como baches. Al finalizar las pruebas se consiguió que el 90 de los puntos señalados como baches fueran correctos. Al igual que los sistemas anteriores el sistema captura la información al detectar saltos en la lectura del acelerómetro, la diferencia principal conforme a los 2 proyectos anteriores es que no son utilizados teléfonos celulares, y la computadora utilizada es exclusivamente para el sistema, además de que los sensores y la computadora deben ser instalados en el auto. 2.9.3. Google pothole system Tecnoloǵıa que se encuentra en desarrollo por parte de google, el sistema utiliza un sensor GPS y un conjunto de sensores instalados en la suspensión del auto, al detectar un cambio brusco en la suspensión el sistema registra la posición GPS del coche y la env́ıa a un servidor donde se alojan los datos enviados por todos los autos que utilicen el sistema, por el momento por ser solo una patente no se sabe más del proyecto, el desarrollo de esta tecnoloǵıa va de la mano con los coches autónomos de google y con los sistemas de entretenimiento android para automóviles que 2.9. SISTEMAS PARA LA DETECCIÓN DE BACHES 39 la empresa ha desarrollado recientemente, con la información de las condiciones de las carreteras se planea utilizarla en google maps y en los sistemas (y aplicaciones) GPS de la compañ́ıa. Caṕıtulo 3 Metodoloǵıa 3.1. Banco de imágenes El primer paso para tratar el problema fue obtener imágenes de prueba que nos sirvieran para probar los métodos del sistema, por ello se recurrió a conformar un banco de imágenes. Nuestro banco de imágenes está compuesto por fotograf́ıas capturadas en las calles de la ciudad de La Paz en un ambiente no controlado, estas fueron capturadas en formato jpeg con la cámara de un celular LG-H500, configurada a una resolución de 8 megapixeles (3264 x 2448), una sensibilidad ISO de 50 y apertura de 2.4, aprovechando la luz solar como única iluminación. Después fueron reducidas para mejorar el tiempo de procesamiento a una resolución de 533 x 400. Actualmente el banco de imágenes cuenta con más de 1200 fotograf́ıas, las cuales están divididas en dos grupos: Imágenes ideales: fotograf́ıas que solo capturan el pavimento, en ellas solo se encuentra el bache, no hay otros elementos que intervengan en la escena, es el entorno ideal (de ah́ı su nombre) pues no existen objetos que puedan afectar la ejecución de los métodos. En la figura 3.1 se muestra un ejemplo de este tipo. Imágenes en movimiento: son imágenes en las que se trata de simular el tipo de problemas que podŕıan afectar al sistema en un entorno real, existen diferentes objetos interviniendo en la 40 3.2. MÉTODOS DE PROCESAMIENTO 41 Figura 3.1: Imágenes ideales. escena (partes de carros, sombras, banquetas), ejemplos de este tipo de imágenes los encontramos en la figura 3.2. En estos tipos estan presentes tanto imagenes con baches como sin ellos, esto para determinar que tan efectivos son los métodos implementados, ya que si en un futuro se pretende desarrollar el sistema para su implementación en un escenario real, las escenas con las que se encontrará en su mayoria no contendran baches. Figura 3.2: Imágenes en movimiento. 3.2. Métodos de procesamiento La parte del proyecto sobre el procesamiento de las imágenes, implicaba obtener o resaltar zo- nas de interés. En este caso los baches. Para esto se requeŕıa encontrar formas de detección. La conclusión a la que se llegó fue utilizar
Compartir