Detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos
Este documento presenta el desarrollo de un sistema de detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos. El primer paso, consistió en seleccionar un tipo de dataset que permitiera entrenar el sistema de una manera consistente a la realidad de la conducción humana;...
- Autores:
-
Dussan Narvaez, German Andres
Mosquera Victoria, Camilo Andres
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2020
- Institución:
- Universidad Autónoma de Occidente
- Repositorio:
- RED: Repositorio Educativo Digital UAO
- Idioma:
- spa
- OAI Identifier:
- oai:red.uao.edu.co:10614/12295
- Acceso en línea:
- http://red.uao.edu.co//handle/10614/12295
- Palabra clave:
- Ingeniería Mecatrónica
Seguimiento de múltiples objetos
Carros autónomos
Filtro de kalman
Evaluacion IOU
YOLO
Vehículos autónomos
Detectores de vehículos
Autonomous vehicles
Vehicle detectors
- Rights
- openAccess
- License
- Derechos Reservados - Universidad Autónoma de Occidente
id |
REPOUAO2_c6cb20e7d48dc841885105c4e3f5ce0a |
---|---|
oai_identifier_str |
oai:red.uao.edu.co:10614/12295 |
network_acronym_str |
REPOUAO2 |
network_name_str |
RED: Repositorio Educativo Digital UAO |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos |
title |
Detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos |
spellingShingle |
Detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos Ingeniería Mecatrónica Seguimiento de múltiples objetos Carros autónomos Filtro de kalman Evaluacion IOU YOLO Vehículos autónomos Detectores de vehículos Autonomous vehicles Vehicle detectors |
title_short |
Detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos |
title_full |
Detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos |
title_fullStr |
Detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos |
title_full_unstemmed |
Detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos |
title_sort |
Detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos |
dc.creator.fl_str_mv |
Dussan Narvaez, German Andres Mosquera Victoria, Camilo Andres |
dc.contributor.advisor.none.fl_str_mv |
Perafán Villota, Juan Carlos |
dc.contributor.advisor.spa.fl_str_mv |
Romero Cano, Víctor Adolfo |
dc.contributor.author.spa.fl_str_mv |
Dussan Narvaez, German Andres Mosquera Victoria, Camilo Andres |
dc.subject.spa.fl_str_mv |
Ingeniería Mecatrónica Seguimiento de múltiples objetos Carros autónomos Filtro de kalman Evaluacion IOU YOLO |
topic |
Ingeniería Mecatrónica Seguimiento de múltiples objetos Carros autónomos Filtro de kalman Evaluacion IOU YOLO Vehículos autónomos Detectores de vehículos Autonomous vehicles Vehicle detectors |
dc.subject.armarc.spa.fl_str_mv |
Vehículos autónomos Detectores de vehículos |
dc.subject.armarc.eng.fl_str_mv |
Autonomous vehicles Vehicle detectors |
description |
Este documento presenta el desarrollo de un sistema de detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos. El primer paso, consistió en seleccionar un tipo de dataset que permitiera entrenar el sistema de una manera consistente a la realidad de la conducción humana; el tipo seleccionado fue el Dashcam, que consiste en videos tomados desde una cámara localizada en el parabrisas del auto, grabando continuamente la vista frontal de la carretera. El segundo paso, consistió en seleccionar dos técnicas, una para detección de vehículos y la otra para seguimiento de estos. Dado los grandes avances que se han obtenido en la última década en sistemas basados en inteligencia artificial, se hizo uso de esta para crear el sistema de detección basado en el uso de una red convolucional You Only Look Once (YOLO) de la interfaz Darknet. Este sistema funciona de manera supervisada en su fase de entrenamiento y ha demostrado ser capaz de detectar una gran cantidad de diferentes clases de objetos. Para nuestro caso particular, se realizó un reentrenamiento con el fin de que la detección se limitará solo a vehículos. En este orden de ideas, para realizar la detección, cada imagen procesada es dividida en SxS celdas, sobre las cuales se predicen N posibles cajas delimitadoras de objetos, a las cuales les es asignado una probabilidad basados en el grado de certidumbre relativo al objeto que se desea aprender a detectar. Después de obtener estas predicciones se procede a eliminar las cajas que estén por debajo de un umbral previamente definido. A las cajas restantes se les eliminan posibles objetos que fueron detectados por duplicado y se mantiene únicamente el más exacto de ellos. Con el fin de garantizar una conducción segura, cada vehículo detectado debe ser posteriormente seguido mientras este se encuentre dentro del rango de actuación del vehículo autónomo. Dado que en un ambiente real se pueden tener varias detecciones de diferentes vehículos al mismo tiempo, el seguimiento de cada uno de ellos de manera precisa y eficiente fue llevado a cabo utilizando un estimador conocido como Filtro de Kalman, el cual fue replicado para crear un banco de estimadores, de manera tal que cada estimador dentro del banco sea asignado a un vehículo en particular detectado dentro de la escena. La detección y el posterior seguimiento de cada vehículo dentro de la escena, por sí solas, no permiten al vehículo autónomo tomar decisiones acerca de frenado y reducción o aumento de velocidad. Para esto, se hace imprescindible calcular las 14 distancias relativas entre cada vehículo detectado y el vehículo autónomo, lo cual se logró utilizando una transformación de perspectiva. Después de la selección de los algoritmos de detección y seguimiento, se prosiguió con la validación de estos mismos. Cabe resaltar que, para obtener buenos resultados, se analizaron previamente diferentes dataset los cuales debían contener, para nuestro caso específico, muestras de imágenes de diferentes clases de carros. Teniendo en cuenta lo mencionado, se utilizó una tarjeta JETSON NVIDIA TK1 que permitió compilar los algoritmos eficientemente gracias a la GPU integrada en la tarjeta embebida. Finalmente, esta tarjeta fue montada sobre un vehículo para realizar pruebas de detección, seguimiento y posterior toma de decisiones en cuanto a manejo reactivo en tiempo real |
publishDate |
2020 |
dc.date.accessioned.spa.fl_str_mv |
2020-05-05T20:34:55Z |
dc.date.available.spa.fl_str_mv |
2020-05-05T20:34:55Z |
dc.date.issued.spa.fl_str_mv |
2020-03-19 |
dc.type.spa.fl_str_mv |
Trabajo de grado - Pregrado |
dc.type.coarversion.fl_str_mv |
http://purl.org/coar/version/c_970fb48d4fbd8a85 |
dc.type.coar.spa.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
dc.type.content.eng.fl_str_mv |
Text |
dc.type.driver.eng.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.type.redcol.spa.fl_str_mv |
https://purl.org/redcol/resource_type/TP |
dc.type.version.eng.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
format |
http://purl.org/coar/resource_type/c_7a1f |
status_str |
publishedVersion |
dc.identifier.uri.spa.fl_str_mv |
http://red.uao.edu.co//handle/10614/12295 |
url |
http://red.uao.edu.co//handle/10614/12295 |
dc.language.iso.eng.fl_str_mv |
spa |
language |
spa |
dc.relation.references.spa.fl_str_mv |
Smith, Matthew. "The number of cars worldwide is set to double by 2040". [En línea]. [Consultado: 20 de enero de 2020]. Disponible en: https://www.weforum.org/agenda/2016/04/the-number-of-cars-worldwide-is-setto- double-by-2040 B. I. I. Intelligence BI, “10 million self-driving cars will be on the road by 2020”, Business Insider. [En línea]. [Consultado: 19 de septiembre de 2018]. Disponible en: https://www.businessinsider.com/report-10-million-self-driving-cars-will-beon- the-road-by-2020-2015-5-6. Reyes Fajardo, Juan Manuel. “Vehículos autónomos, ¿a la vuelta de la esquina?”. [En línea]. [Consultado: 19 de septiembre de 2018]. Disponible en: https://www.publimetro.co/co/tacometro/2018/01/18/vehiculos-autonomos-lavuelta- la-esquina.html. A. Agarwal y S. Suryavanshi, «Real-Time* Multiple Object Tracking (MOT) for Autonomous Navigation», p. 5. Girshick, Ross. (2015). Fast r-cnn. 10.1109/ICCV.2015.169. Held, David & Thrun, Sebastian & Savarese, Silvio. (2016). Learning to Track at 100 FPS with Deep Regression Networks. LNCS. 9905. 749-765. 10.1007/978- 3-319-46448-0_45. D.-A. Beaupré, G.-A. Bilodeau, y N. Saunier, «Improving Multiple Object Tracking with Optical Flow and Edge Preprocessing», arXiv:1801.09646 [cs], ene. 2018. Yang, Yuebin & Bilodeau, Guillaume-Alexandre. (2017). Multiple Object Tracking with Kernelized Correlation Filters in Urban Mixed Traffic. 209-216. 10.1109/CRV.2017.18. J. Jodoin, G. Bilodeau and N. Saunier, «Urban Tracker: Multiple object tracking in urban mixed traffic», IEEE Winter Conference on Applications of Computer Vision, Steamboat Springs, CO, 2014, pp. 885-892.L. Ding y A. Goshtasby, «On the Canny edge detector», Pattern Recognition, vol. 34, No. 3, pp. 721-725, mar. 2001. A. K. Chauhan y P. Krishan, «Moving Object Tracking using Gaussian Mixture Model and Optical Flow», International Journal of Advanced Research in Computer Science and Software Engineering, p. 4, 2013. R. S. Rakibe y B. D. Patil, «Background Subtraction Algorithm Based Human Motion Detection», vol. 3, No. 5, p. 4, 2013. Li, Chenge Lexi & Dobler, Gregory & Feng, Xin & Wang, Yao. (2019). TrackNet: Simultaneous Object Detection and Tracking and Its Application in Traffic Video Analysis. Hou, Rui & Chen, Chen & Shah, Mubarak. (2017). An End-to-end 3D Convolutional Neural Network for Action Detection and Segmentation in Videos. 14. Simonyan, Karen & Zisserman, Andrew. (2014). Very Deep Convolutional Networks for Large-Scale Image Recognition. arXiv 1409.1556. Jaderberg, Max & Simonyan, Karen & Zisserman, Andrew & Kavukcuoglu, Koray. (2015). Spatial Transformer Networks. Advances in Neural Information Processing Systems 28 (NIPS 2015). R. Hou, C. Chen, y M. Shah, «Tube Convolutional Neural Network (TCNN) for Action Detection in Videos», en 2017 IEEE International Conference on Computer Vision (ICCV), Venice, 2017, pp. 5823-5832. Dong, Z.; Wu, Y.; Pei, M.; Jia, Y. Vehicle type classification using a semisupervised convolutional neural network. IEEE Trans. Intel. Transp. Syst. 2015, 16, 2247–2256. Sang, Jun & Wu, Zhongyuan & Guo, Pei & Hu, Haibo & Xiang, Hong & Zhang, Qian & Cai, Bin. An improved YOLOv2 for vehicle detection. Sensors. [Consultado: 16 de enero de 2020]. vol. 18, doi: 10.3390/s18124272.M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler, R. Benenson, U. Franke, S. Roth, and B. Schiele, “The Cityscapes Dataset for Semantic Urban Scene Understanding,” in Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016. [21] Arróspide, Jon & Salgado, Luis & Nieto, Marcos. Vehicle Image Database. [Consultado: 16 de enero de 2020]. Disponible en: https://www.gti.ssr.upm.es/data/Vehicle_database.html Geiger, Andreas & Lenz, Philip & Urtasun, Raquel. Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite. 2012. [Consultado: 16 de enero de 2020]. Disponible en: http://www.cvlibs.net/datasets/kitti/eval_object.php Sudarshan & Adhikari, Anup & Koirala, Binish & Bhattarai, Sparsha. Vehicles - Nepal. 2017. [Consultado: 16 de enero de 2020]. Disponible en: https://www.kaggle.com/sdevkota007/vehicles-nepal/metadata. Krause, Jonathan & Stark, Michael & Deng, Jia & Fei-Fei, Li. Cars Dataset. [Consultado: 16 de enero de 2020]. Disponible en: https://ai.stanford.edu/~jkrause/cars/car_dataset.html Lin, Tsung-Yi & Maire, Michael & Belongie, Serge & Bourdev, Lubomir & Girshick, Ross & Hays, James & Perona, Pietro & Ramanan, Deva & Zitnick, Lawrence & Dollár, Piotr. Microsoft COCO: Common Objects in Context. 2015. [Consultado: 16 de enero de 2020]. Disponible en: https://arxiv.org/abs/1405.0312. [26] Saha, Sumit. “A Comprehensive Guide to Convolutional Neural Networks — the ELI5 way”. [En línea]. [Consultado: 6 de noviembre de 2019]. Disponible en: https://towardsdatascience.com/a-comprehensive-guide-to-convolutionalneural- networks-the-eli5-way-3bd2b1164a53 Howard, Andrew & Zhu, Menglong & Chen, Bo & Kalenichenko, Dmitry & Wang, Weijun & Weyand, Tobias & Andreetto, Marco & Adam, Hartwig. (2017). MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications.Mansouri, Ilias. Computer Vision Part 4: An overview of Image Classification architectures. 2019. [Consultado: 16 de enero de 2020]. Disponible en: https://medium.com/overture-ai/part-4-image-classification-9a8bc9310891. Sandler, Mark & Howard, Andrew & Zhu, Menglong & Zhmoginov, Andrey & Chen, Liang-Chieh. (2018). MobileNetV2: Inverted Residuals and Linear Bottlenecks. 4510-4520. 10.1109/CVPR.2018.00474. Ren, Shaoqing & He, Kaiming & Girshick, Ross & Sun, Jian. (2016). Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. 1-10. Szegedy, Christian & Liu, Wei & Jia, Yangqing & Sermanet, Pierre & Reed, Scott & Anguelov, Dragomir & Erhan, Dumitru & Vanhoucke, Vincent & Rabinovich, Andrew. (2015). Going deeper with convolutions. The IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 1-9. 10.1109/CVPR.2015.7298594. Szegedy, Christian & Vanhoucke, Vincent & Ioffe, Sergey & Shlens, Jon & Wojna, ZB. (2016). Rethinking the Inception Architecture for Computer Vision. 10.1109/CVPR.2016.308. He, Kaiming & Zhang, Xiangyu & Ren, Shaoqing & Sun, Jian. (2016). Deep Residual Learning for Image Recognition. 770-778. 10.1109/CVPR.2016.90. Dwivedi, Priya. Understanding and Coding a ResNet in Keras. 2019. [Consultado: 16 de enero de 2020]. Disponible en: https://towardsdatascience.com/understanding-and-coding-a-resnet-in-keras- 446d7ff84d33. Redmon, Joseph & Divvala, Santosh & Girshick, Ross & Farhadi, Ali. (2016). You Only Look Once: Unified, Real-Time Object Detection. 779-788. 10.1109/CVPR.2016.91. G. Welch and G. Bishop, “An Introduction to the Kalman Filter,” p. 16, 2006.Zumino, Wesley. "Intuition behind the Hungarian Algorithm". [En línea]. [Consultado: 20 de enero de 2020]. Disponible en: https://brilliant.org/discussions/thread/intuition-behind-the-hungarian-algorithm/. Rosebrock, Adrian. "Intersection over Union (IoU) for object detection". [En línea]. [Consultado: 20 de enero de 2020]. Disponible en: https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-forobject- detection/ Sarkar, Dipanjan. A Comprehensive Hands-on Guide to Transfer Learning with Real-World Applications in Deep Learning. 2018. [Consultado: 16 de enero de 2020]. Disponible en: https://towardsdatascience.com/a-comprehensivehands- on-guide-to-transfer-learning-with-real-world-applications-in-deeplearning- 212bf3b2f27a. Pavel Khleovich. (2010). Ip Webcam (1.14.31.737) [Aplicación Móvil]. Disponible en: https://play.google.com/store/apps/details?id=com.pas.webcam&hl=es_419 David Dao. 2016, Tensorflow models, [GitHub repository]. [Consultado: 10 de mayo de 2019]. Disponible en: https://github.com/tensorflow/models Redmon, Joseph & Farhadi, Ali. (2018). YOLOv3: An Incremental Improvement. Farhadi, Ali. “YOLO: Rea-Time Object Detection”. [En línea]. [Consultado: 10 de mayo de 2019]. Disponible en: https://pjreddie.com/darknet/yolo/ Toro, Walter & Perafan, Juan & Mondragon, Oscar & Obando-Ceron, Johan. (2019). Divide and Conquer: an Accurate Machine Learning Algorithm to Process Split Videos on a Parallel Processing Infrastructure. Cohen, Jeremy. Computer Vision for tracking. 2019. [Consultado: 16 de enero de 2020]. Disponible en: https://towardsdatascience.com/computer-visionfor- tracking-8220759eee85.Videmo. 2016, pymot, [GitHub repository]. [Consultado: 18 de marzo de 2020]. Disponible en: https://github.com/Videmo/pymot Bernardin, Keni & Elbs, Alexander & Stiefelhagen, Rainer. (2006). Multiple object tracking performance metrics and evaluation in a smart Room environment. Proceedings of IEEE International Workshop on Visual Surveillance. Udacity. project_video [video]. Udacity. 0:55 minutos. [Consultado: 15 de mayo de 2019]. Disponible en: https://raw.githubusercontent.com/udacity/CarND-Advanced-Lane- Lines/master/project_video.mp4 dtmoodie. 2016, darknet, [GitHub repository]. [Consultado: 3 de septiembre de 2019]. Disponible en: https://github.com/dtmoodie/darknet/tree/tk1 BML electronics. BML Safe CCTV 8CH - sample view on the street [video]. YouTube. 3:00 minutos. [Consultado: 15 de febrero de 2020]. Disponible en: https://www.youtube.com/watch?v=FQnhIjvKIZE Bradski, Gary. (2000). The OpenCV library. Dr. Dobb's Journal of Software Tools. 25. Rosebrock, Adrian. “Find distance from camera to object/marker using Python and OpenCV”. [En línea]. [Consultado: 10 de octubre de 2019]. Disponible en: https://www.pyimagesearch.com/2015/01/19/find-distancecamera- objectmarker-using-python-opencv/ Zuccolo, Ricardo. “Self-driving Cars — Advanced computer vision with OpenCV, finding lane lines”. [En línea]. [Consultado: 10 de agosto de 2019]. Disponible en: https://chatbotslife.com/self-driving-cars-advanced-computervision- with-opencv-finding-lane-lines-488a411b2c3d Rosebrock, Adrian. “4 Point OpenCV getPerspective Transform Example". [En línea]. [Consultado: 10 de octubre de 2019]. Disponible en: https://www.pyimagesearch.com/2014/08/25/4-point-opencv-getperspectivetransform- example/AlexeyAB. 2016, darknet, [GitHub repository]. [Consultado: 6 de mayo de 2019]. Disponible en: https://github.com/AlexeyAB Ssaru. 2018. convert2Yolo, [GitHub repository]. [Consultado: 10 de mayo de 2019]. Disponible en: https://github.com/ssaru/convert2Yolo Geiger, Andreas & Lenz, P & Stiller, Christoph & Urtasun, Raquel. (2013). Vision meets robotics: the KITTI dataset. The International Journal of Robotics Research. 32. 1231-1237. 10.1177/0278364913491297. Nowak, Will. “How to Train Your Model (Dramatically Faster)”. [En línea]. [Consultado: 10 de mayo de 2019]. Disponible en: https://towardsdatascience.com/how-to-train-your-model-dramatically-faster- 9ad063f0f718 Abadi, Martín & Agarwal, Ashish & Barham, Paul & Brevdo, Eugene & Chen, Zhifeng & Citro, Craig & Corrado, G.s & Davis, Andy & Dean, Jeffrey & Devin, Matthieu & Ghemawat, Sanjay & Goodfellow, Ian & Harp, Andrew & Irving, Geoffrey & Isard, Michael & Jia, Yangqing & Jozefowicz, Rafal & Kaiser, Lukasz & Kudlur, Manjunath & Zheng, Xiaoqiang. (2016). TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. |
dc.rights.spa.fl_str_mv |
Derechos Reservados - Universidad Autónoma de Occidente |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.uri.spa.fl_str_mv |
https://creativecommons.org/licenses/by-nc-nd/4.0/ |
dc.rights.accessrights.eng.fl_str_mv |
info:eu-repo/semantics/openAccess |
dc.rights.creativecommons.spa.fl_str_mv |
Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0) |
rights_invalid_str_mv |
Derechos Reservados - Universidad Autónoma de Occidente https://creativecommons.org/licenses/by-nc-nd/4.0/ Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0) http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.spa.fl_str_mv |
application/pdf |
dc.format.extent.spa.fl_str_mv |
108 páginas |
dc.coverage.spatial.spa.fl_str_mv |
Universidad Autónoma de Occidente. Calle 25 115-85. Km 2 vía Cali-Jamundí |
dc.publisher.spa.fl_str_mv |
Universidad Autónoma de Occidente |
dc.publisher.program.spa.fl_str_mv |
Ingeniería Mecatrónica |
dc.publisher.department.spa.fl_str_mv |
Departamento de Automática y Electrónica |
dc.publisher.faculty.spa.fl_str_mv |
Facultad de Ingeniería |
dc.source.spa.fl_str_mv |
instname:Universidad Autónoma de Occidente reponame:Repositorio Institucional UAO |
instname_str |
Universidad Autónoma de Occidente |
institution |
Universidad Autónoma de Occidente |
reponame_str |
Repositorio Institucional UAO |
collection |
Repositorio Institucional UAO |
bitstream.url.fl_str_mv |
https://red.uao.edu.co/bitstreams/d8ef0f14-a378-4519-aeb6-ac0aa728cd13/download https://red.uao.edu.co/bitstreams/038487b4-aa04-4a64-9c05-07358457a76e/download https://red.uao.edu.co/bitstreams/81fbec80-6347-4bd8-a49b-905f1a694bbe/download https://red.uao.edu.co/bitstreams/db3fc0ef-a1ec-4d3f-8724-0185e6a166b7/download https://red.uao.edu.co/bitstreams/c257a379-f76f-4207-863e-e2cf601a1469/download https://red.uao.edu.co/bitstreams/e80bbc52-e2bc-420c-8331-632cb56ae1bd/download https://red.uao.edu.co/bitstreams/f32694a8-1ffb-4144-914e-2775d5fa5576/download https://red.uao.edu.co/bitstreams/e5a67b2f-9edf-48b1-9b27-8fabd6502e47/download |
bitstream.checksum.fl_str_mv |
d0e54b439f4125fe3e0c1eaec32e0be3 ce17bbb4d4f1cbe9a2413e4ea88bb0b2 668d6b9da49ba5c5401143983d9be91f 353115adadbf1d4002426115d02f0a73 4460e5956bc1d1639be9ae6146a50347 20b5ba22b1117f71589c7318baa2c560 65ee2ccce29bf089620c402fc6b7b8dc 2444e23d6e8e2073ccdb3d8b3a3fd7e1 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Digital Universidad Autonoma de Occidente |
repository.mail.fl_str_mv |
repositorio@uao.edu.co |
_version_ |
1814259938165260288 |
spelling |
Perafán Villota, Juan Carlosvirtual::4117-1Romero Cano, Víctor Adolfo9954a524fa7777dea88ef2222f28cb52Dussan Narvaez, German Andrese285ae305c1d096f5bc4c244ec107bb1Mosquera Victoria, Camilo Andres1ab3bbc9a4ac38244a8f523a4bc75749Ingeniero MecatrónicoUniversidad Autónoma de Occidente. Calle 25 115-85. Km 2 vía Cali-Jamundí2020-05-05T20:34:55Z2020-05-05T20:34:55Z2020-03-19http://red.uao.edu.co//handle/10614/12295Este documento presenta el desarrollo de un sistema de detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos. El primer paso, consistió en seleccionar un tipo de dataset que permitiera entrenar el sistema de una manera consistente a la realidad de la conducción humana; el tipo seleccionado fue el Dashcam, que consiste en videos tomados desde una cámara localizada en el parabrisas del auto, grabando continuamente la vista frontal de la carretera. El segundo paso, consistió en seleccionar dos técnicas, una para detección de vehículos y la otra para seguimiento de estos. Dado los grandes avances que se han obtenido en la última década en sistemas basados en inteligencia artificial, se hizo uso de esta para crear el sistema de detección basado en el uso de una red convolucional You Only Look Once (YOLO) de la interfaz Darknet. Este sistema funciona de manera supervisada en su fase de entrenamiento y ha demostrado ser capaz de detectar una gran cantidad de diferentes clases de objetos. Para nuestro caso particular, se realizó un reentrenamiento con el fin de que la detección se limitará solo a vehículos. En este orden de ideas, para realizar la detección, cada imagen procesada es dividida en SxS celdas, sobre las cuales se predicen N posibles cajas delimitadoras de objetos, a las cuales les es asignado una probabilidad basados en el grado de certidumbre relativo al objeto que se desea aprender a detectar. Después de obtener estas predicciones se procede a eliminar las cajas que estén por debajo de un umbral previamente definido. A las cajas restantes se les eliminan posibles objetos que fueron detectados por duplicado y se mantiene únicamente el más exacto de ellos. Con el fin de garantizar una conducción segura, cada vehículo detectado debe ser posteriormente seguido mientras este se encuentre dentro del rango de actuación del vehículo autónomo. Dado que en un ambiente real se pueden tener varias detecciones de diferentes vehículos al mismo tiempo, el seguimiento de cada uno de ellos de manera precisa y eficiente fue llevado a cabo utilizando un estimador conocido como Filtro de Kalman, el cual fue replicado para crear un banco de estimadores, de manera tal que cada estimador dentro del banco sea asignado a un vehículo en particular detectado dentro de la escena. La detección y el posterior seguimiento de cada vehículo dentro de la escena, por sí solas, no permiten al vehículo autónomo tomar decisiones acerca de frenado y reducción o aumento de velocidad. Para esto, se hace imprescindible calcular las 14 distancias relativas entre cada vehículo detectado y el vehículo autónomo, lo cual se logró utilizando una transformación de perspectiva. Después de la selección de los algoritmos de detección y seguimiento, se prosiguió con la validación de estos mismos. Cabe resaltar que, para obtener buenos resultados, se analizaron previamente diferentes dataset los cuales debían contener, para nuestro caso específico, muestras de imágenes de diferentes clases de carros. Teniendo en cuenta lo mencionado, se utilizó una tarjeta JETSON NVIDIA TK1 que permitió compilar los algoritmos eficientemente gracias a la GPU integrada en la tarjeta embebida. Finalmente, esta tarjeta fue montada sobre un vehículo para realizar pruebas de detección, seguimiento y posterior toma de decisiones en cuanto a manejo reactivo en tiempo realProyecto de grado (Ingeniero Mecatronico)-- Universidad Autónoma de Occidente, 2020PregradoIngeniero(a) Mecatrónico(a)application/pdf108 páginasspaUniversidad Autónoma de OccidenteIngeniería MecatrónicaDepartamento de Automática y ElectrónicaFacultad de IngenieríaDerechos Reservados - Universidad Autónoma de Occidentehttps://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessAtribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)http://purl.org/coar/access_right/c_abf2instname:Universidad Autónoma de Occidentereponame:Repositorio Institucional UAOIngeniería MecatrónicaSeguimiento de múltiples objetosCarros autónomosFiltro de kalmanEvaluacion IOUYOLOVehículos autónomosDetectores de vehículosAutonomous vehiclesVehicle detectorsDetección y seguimiento de múltiples objetos en tiempo real para vehículos autónomosTrabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_7a1fTextinfo:eu-repo/semantics/bachelorThesishttps://purl.org/redcol/resource_type/TPinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/version/c_970fb48d4fbd8a85Smith, Matthew. "The number of cars worldwide is set to double by 2040". [En línea]. [Consultado: 20 de enero de 2020]. Disponible en: https://www.weforum.org/agenda/2016/04/the-number-of-cars-worldwide-is-setto- double-by-2040 B. I. I. Intelligence BI, “10 million self-driving cars will be on the road by 2020”, Business Insider. [En línea]. [Consultado: 19 de septiembre de 2018]. Disponible en: https://www.businessinsider.com/report-10-million-self-driving-cars-will-beon- the-road-by-2020-2015-5-6. Reyes Fajardo, Juan Manuel. “Vehículos autónomos, ¿a la vuelta de la esquina?”. [En línea]. [Consultado: 19 de septiembre de 2018]. Disponible en: https://www.publimetro.co/co/tacometro/2018/01/18/vehiculos-autonomos-lavuelta- la-esquina.html. A. Agarwal y S. Suryavanshi, «Real-Time* Multiple Object Tracking (MOT) for Autonomous Navigation», p. 5. Girshick, Ross. (2015). Fast r-cnn. 10.1109/ICCV.2015.169. Held, David & Thrun, Sebastian & Savarese, Silvio. (2016). Learning to Track at 100 FPS with Deep Regression Networks. LNCS. 9905. 749-765. 10.1007/978- 3-319-46448-0_45. D.-A. Beaupré, G.-A. Bilodeau, y N. Saunier, «Improving Multiple Object Tracking with Optical Flow and Edge Preprocessing», arXiv:1801.09646 [cs], ene. 2018. Yang, Yuebin & Bilodeau, Guillaume-Alexandre. (2017). Multiple Object Tracking with Kernelized Correlation Filters in Urban Mixed Traffic. 209-216. 10.1109/CRV.2017.18. J. Jodoin, G. Bilodeau and N. Saunier, «Urban Tracker: Multiple object tracking in urban mixed traffic», IEEE Winter Conference on Applications of Computer Vision, Steamboat Springs, CO, 2014, pp. 885-892.L. Ding y A. Goshtasby, «On the Canny edge detector», Pattern Recognition, vol. 34, No. 3, pp. 721-725, mar. 2001. A. K. Chauhan y P. Krishan, «Moving Object Tracking using Gaussian Mixture Model and Optical Flow», International Journal of Advanced Research in Computer Science and Software Engineering, p. 4, 2013. R. S. Rakibe y B. D. Patil, «Background Subtraction Algorithm Based Human Motion Detection», vol. 3, No. 5, p. 4, 2013. Li, Chenge Lexi & Dobler, Gregory & Feng, Xin & Wang, Yao. (2019). TrackNet: Simultaneous Object Detection and Tracking and Its Application in Traffic Video Analysis. Hou, Rui & Chen, Chen & Shah, Mubarak. (2017). An End-to-end 3D Convolutional Neural Network for Action Detection and Segmentation in Videos. 14. Simonyan, Karen & Zisserman, Andrew. (2014). Very Deep Convolutional Networks for Large-Scale Image Recognition. arXiv 1409.1556. Jaderberg, Max & Simonyan, Karen & Zisserman, Andrew & Kavukcuoglu, Koray. (2015). Spatial Transformer Networks. Advances in Neural Information Processing Systems 28 (NIPS 2015). R. Hou, C. Chen, y M. Shah, «Tube Convolutional Neural Network (TCNN) for Action Detection in Videos», en 2017 IEEE International Conference on Computer Vision (ICCV), Venice, 2017, pp. 5823-5832. Dong, Z.; Wu, Y.; Pei, M.; Jia, Y. Vehicle type classification using a semisupervised convolutional neural network. IEEE Trans. Intel. Transp. Syst. 2015, 16, 2247–2256. Sang, Jun & Wu, Zhongyuan & Guo, Pei & Hu, Haibo & Xiang, Hong & Zhang, Qian & Cai, Bin. An improved YOLOv2 for vehicle detection. Sensors. [Consultado: 16 de enero de 2020]. vol. 18, doi: 10.3390/s18124272.M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler, R. Benenson, U. Franke, S. Roth, and B. Schiele, “The Cityscapes Dataset for Semantic Urban Scene Understanding,” in Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016. [21] Arróspide, Jon & Salgado, Luis & Nieto, Marcos. Vehicle Image Database. [Consultado: 16 de enero de 2020]. Disponible en: https://www.gti.ssr.upm.es/data/Vehicle_database.html Geiger, Andreas & Lenz, Philip & Urtasun, Raquel. Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite. 2012. [Consultado: 16 de enero de 2020]. Disponible en: http://www.cvlibs.net/datasets/kitti/eval_object.php Sudarshan & Adhikari, Anup & Koirala, Binish & Bhattarai, Sparsha. Vehicles - Nepal. 2017. [Consultado: 16 de enero de 2020]. Disponible en: https://www.kaggle.com/sdevkota007/vehicles-nepal/metadata. Krause, Jonathan & Stark, Michael & Deng, Jia & Fei-Fei, Li. Cars Dataset. [Consultado: 16 de enero de 2020]. Disponible en: https://ai.stanford.edu/~jkrause/cars/car_dataset.html Lin, Tsung-Yi & Maire, Michael & Belongie, Serge & Bourdev, Lubomir & Girshick, Ross & Hays, James & Perona, Pietro & Ramanan, Deva & Zitnick, Lawrence & Dollár, Piotr. Microsoft COCO: Common Objects in Context. 2015. [Consultado: 16 de enero de 2020]. Disponible en: https://arxiv.org/abs/1405.0312. [26] Saha, Sumit. “A Comprehensive Guide to Convolutional Neural Networks — the ELI5 way”. [En línea]. [Consultado: 6 de noviembre de 2019]. Disponible en: https://towardsdatascience.com/a-comprehensive-guide-to-convolutionalneural- networks-the-eli5-way-3bd2b1164a53 Howard, Andrew & Zhu, Menglong & Chen, Bo & Kalenichenko, Dmitry & Wang, Weijun & Weyand, Tobias & Andreetto, Marco & Adam, Hartwig. (2017). MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications.Mansouri, Ilias. Computer Vision Part 4: An overview of Image Classification architectures. 2019. [Consultado: 16 de enero de 2020]. Disponible en: https://medium.com/overture-ai/part-4-image-classification-9a8bc9310891. Sandler, Mark & Howard, Andrew & Zhu, Menglong & Zhmoginov, Andrey & Chen, Liang-Chieh. (2018). MobileNetV2: Inverted Residuals and Linear Bottlenecks. 4510-4520. 10.1109/CVPR.2018.00474. Ren, Shaoqing & He, Kaiming & Girshick, Ross & Sun, Jian. (2016). Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. 1-10. Szegedy, Christian & Liu, Wei & Jia, Yangqing & Sermanet, Pierre & Reed, Scott & Anguelov, Dragomir & Erhan, Dumitru & Vanhoucke, Vincent & Rabinovich, Andrew. (2015). Going deeper with convolutions. The IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 1-9. 10.1109/CVPR.2015.7298594. Szegedy, Christian & Vanhoucke, Vincent & Ioffe, Sergey & Shlens, Jon & Wojna, ZB. (2016). Rethinking the Inception Architecture for Computer Vision. 10.1109/CVPR.2016.308. He, Kaiming & Zhang, Xiangyu & Ren, Shaoqing & Sun, Jian. (2016). Deep Residual Learning for Image Recognition. 770-778. 10.1109/CVPR.2016.90. Dwivedi, Priya. Understanding and Coding a ResNet in Keras. 2019. [Consultado: 16 de enero de 2020]. Disponible en: https://towardsdatascience.com/understanding-and-coding-a-resnet-in-keras- 446d7ff84d33. Redmon, Joseph & Divvala, Santosh & Girshick, Ross & Farhadi, Ali. (2016). You Only Look Once: Unified, Real-Time Object Detection. 779-788. 10.1109/CVPR.2016.91. G. Welch and G. Bishop, “An Introduction to the Kalman Filter,” p. 16, 2006.Zumino, Wesley. "Intuition behind the Hungarian Algorithm". [En línea]. [Consultado: 20 de enero de 2020]. Disponible en: https://brilliant.org/discussions/thread/intuition-behind-the-hungarian-algorithm/. Rosebrock, Adrian. "Intersection over Union (IoU) for object detection". [En línea]. [Consultado: 20 de enero de 2020]. Disponible en: https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-forobject- detection/ Sarkar, Dipanjan. A Comprehensive Hands-on Guide to Transfer Learning with Real-World Applications in Deep Learning. 2018. [Consultado: 16 de enero de 2020]. Disponible en: https://towardsdatascience.com/a-comprehensivehands- on-guide-to-transfer-learning-with-real-world-applications-in-deeplearning- 212bf3b2f27a. Pavel Khleovich. (2010). Ip Webcam (1.14.31.737) [Aplicación Móvil]. Disponible en: https://play.google.com/store/apps/details?id=com.pas.webcam&hl=es_419 David Dao. 2016, Tensorflow models, [GitHub repository]. [Consultado: 10 de mayo de 2019]. Disponible en: https://github.com/tensorflow/models Redmon, Joseph & Farhadi, Ali. (2018). YOLOv3: An Incremental Improvement. Farhadi, Ali. “YOLO: Rea-Time Object Detection”. [En línea]. [Consultado: 10 de mayo de 2019]. Disponible en: https://pjreddie.com/darknet/yolo/ Toro, Walter & Perafan, Juan & Mondragon, Oscar & Obando-Ceron, Johan. (2019). Divide and Conquer: an Accurate Machine Learning Algorithm to Process Split Videos on a Parallel Processing Infrastructure. Cohen, Jeremy. Computer Vision for tracking. 2019. [Consultado: 16 de enero de 2020]. Disponible en: https://towardsdatascience.com/computer-visionfor- tracking-8220759eee85.Videmo. 2016, pymot, [GitHub repository]. [Consultado: 18 de marzo de 2020]. Disponible en: https://github.com/Videmo/pymot Bernardin, Keni & Elbs, Alexander & Stiefelhagen, Rainer. (2006). Multiple object tracking performance metrics and evaluation in a smart Room environment. Proceedings of IEEE International Workshop on Visual Surveillance. Udacity. project_video [video]. Udacity. 0:55 minutos. [Consultado: 15 de mayo de 2019]. Disponible en: https://raw.githubusercontent.com/udacity/CarND-Advanced-Lane- Lines/master/project_video.mp4 dtmoodie. 2016, darknet, [GitHub repository]. [Consultado: 3 de septiembre de 2019]. Disponible en: https://github.com/dtmoodie/darknet/tree/tk1 BML electronics. BML Safe CCTV 8CH - sample view on the street [video]. YouTube. 3:00 minutos. [Consultado: 15 de febrero de 2020]. Disponible en: https://www.youtube.com/watch?v=FQnhIjvKIZE Bradski, Gary. (2000). The OpenCV library. Dr. Dobb's Journal of Software Tools. 25. Rosebrock, Adrian. “Find distance from camera to object/marker using Python and OpenCV”. [En línea]. [Consultado: 10 de octubre de 2019]. Disponible en: https://www.pyimagesearch.com/2015/01/19/find-distancecamera- objectmarker-using-python-opencv/ Zuccolo, Ricardo. “Self-driving Cars — Advanced computer vision with OpenCV, finding lane lines”. [En línea]. [Consultado: 10 de agosto de 2019]. Disponible en: https://chatbotslife.com/self-driving-cars-advanced-computervision- with-opencv-finding-lane-lines-488a411b2c3d Rosebrock, Adrian. “4 Point OpenCV getPerspective Transform Example". [En línea]. [Consultado: 10 de octubre de 2019]. Disponible en: https://www.pyimagesearch.com/2014/08/25/4-point-opencv-getperspectivetransform- example/AlexeyAB. 2016, darknet, [GitHub repository]. [Consultado: 6 de mayo de 2019]. Disponible en: https://github.com/AlexeyAB Ssaru. 2018. convert2Yolo, [GitHub repository]. [Consultado: 10 de mayo de 2019]. Disponible en: https://github.com/ssaru/convert2Yolo Geiger, Andreas & Lenz, P & Stiller, Christoph & Urtasun, Raquel. (2013). Vision meets robotics: the KITTI dataset. The International Journal of Robotics Research. 32. 1231-1237. 10.1177/0278364913491297. Nowak, Will. “How to Train Your Model (Dramatically Faster)”. [En línea]. [Consultado: 10 de mayo de 2019]. Disponible en: https://towardsdatascience.com/how-to-train-your-model-dramatically-faster- 9ad063f0f718 Abadi, Martín & Agarwal, Ashish & Barham, Paul & Brevdo, Eugene & Chen, Zhifeng & Citro, Craig & Corrado, G.s & Davis, Andy & Dean, Jeffrey & Devin, Matthieu & Ghemawat, Sanjay & Goodfellow, Ian & Harp, Andrew & Irving, Geoffrey & Isard, Michael & Jia, Yangqing & Jozefowicz, Rafal & Kaiser, Lukasz & Kudlur, Manjunath & Zheng, Xiaoqiang. (2016). TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems.Publicationhttps://scholar.google.com/citations?user=MW2zbLAAAAAJ&hl=envirtual::4117-10000-0002-7275-9839virtual::4117-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000637769virtual::4117-1286553f4-3942-4404-9123-b85ee6e69330virtual::4117-1286553f4-3942-4404-9123-b85ee6e69330virtual::4117-1TEXTT09147.pdf.txtT09147.pdf.txtExtracted texttext/plain106456https://red.uao.edu.co/bitstreams/d8ef0f14-a378-4519-aeb6-ac0aa728cd13/downloadd0e54b439f4125fe3e0c1eaec32e0be3MD57TA9147.pdf.txtTA9147.pdf.txtExtracted texttext/plain4https://red.uao.edu.co/bitstreams/038487b4-aa04-4a64-9c05-07358457a76e/downloadce17bbb4d4f1cbe9a2413e4ea88bb0b2MD59THUMBNAILT09147.pdf.jpgT09147.pdf.jpgGenerated Thumbnailimage/jpeg6117https://red.uao.edu.co/bitstreams/81fbec80-6347-4bd8-a49b-905f1a694bbe/download668d6b9da49ba5c5401143983d9be91fMD58TA9147.pdf.jpgTA9147.pdf.jpgGenerated Thumbnailimage/jpeg10591https://red.uao.edu.co/bitstreams/db3fc0ef-a1ec-4d3f-8724-0185e6a166b7/download353115adadbf1d4002426115d02f0a73MD510CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://red.uao.edu.co/bitstreams/c257a379-f76f-4207-863e-e2cf601a1469/download4460e5956bc1d1639be9ae6146a50347MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81665https://red.uao.edu.co/bitstreams/e80bbc52-e2bc-420c-8331-632cb56ae1bd/download20b5ba22b1117f71589c7318baa2c560MD54ORIGINALT09147.pdfT09147.pdfapplication/pdf6670739https://red.uao.edu.co/bitstreams/f32694a8-1ffb-4144-914e-2775d5fa5576/download65ee2ccce29bf089620c402fc6b7b8dcMD55TA9147.pdfTA9147.pdfapplication/pdf960521https://red.uao.edu.co/bitstreams/e5a67b2f-9edf-48b1-9b27-8fabd6502e47/download2444e23d6e8e2073ccdb3d8b3a3fd7e1MD5610614/12295oai:red.uao.edu.co:10614/122952024-03-13 11:40:38.082https://creativecommons.org/licenses/by-nc-nd/4.0/Derechos Reservados - Universidad Autónoma de Occidenteopen.accesshttps://red.uao.edu.coRepositorio Digital Universidad Autonoma de Occidenterepositorio@uao.edu.coRUwgQVVUT1IgYXV0b3JpemEgYSBsYSBVbml2ZXJzaWRhZCBBdXTDs25vbWEgZGUgT2NjaWRlbnRlLCBkZSBmb3JtYSBpbmRlZmluaWRhLCBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgbGEgTGV5IDQ0IGRlIDE5OTMsIGxhIERlY2lzacOzbiBhbmRpbmEgMzUxIGRlIDE5OTMsIGVsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbGV5ZXMgeSBqdXJpc3BydWRlbmNpYSB2aWdlbnRlIGFsIHJlc3BlY3RvLCBoYWdhIHB1YmxpY2FjacOzbiBkZSBlc3RlIGNvbiBmaW5lcyBlZHVjYXRpdm9zLiBQQVJBR1JBRk86IEVzdGEgYXV0b3JpemFjacOzbiBhZGVtw6FzIGRlIHNlciB2w6FsaWRhIHBhcmEgbGFzIGZhY3VsdGFkZXMgeSBkZXJlY2hvcyBkZSB1c28gc29icmUgbGEgb2JyYSBlbiBmb3JtYXRvIG8gc29wb3J0ZSBtYXRlcmlhbCwgdGFtYmnDqW4gcGFyYSBmb3JtYXRvIGRpZ2l0YWwsIGVsZWN0csOzbmljbywgdmlydHVhbCwgcGFyYSB1c29zIGVuIHJlZCwgSW50ZXJuZXQsIGV4dHJhbmV0LCBpbnRyYW5ldCwgYmlibGlvdGVjYSBkaWdpdGFsIHkgZGVtw6FzIHBhcmEgY3VhbHF1aWVyIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4gRUwgQVVUT1IsIGV4cHJlc2EgcXVlIGVsIGRvY3VtZW50byAodHJhYmFqbyBkZSBncmFkbywgcGFzYW50w61hLCBjYXNvcyBvIHRlc2lzKSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIGVsYWJvcsOzIHNpbiBxdWVicmFudGFyIG5pIHN1cGxhbnRhciBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgdGVyY2Vyb3MsIHkgZGUgdGFsIGZvcm1hLCBlbCBkb2N1bWVudG8gKHRyYWJham8gZGUgZ3JhZG8sIHBhc2FudMOtYSwgY2Fzb3MgbyB0ZXNpcykgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgw6lzdGUuIFBBUkFHUkFGTzogZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBhbGd1bmEgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybywgcmVmZXJlbnRlIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIHNvYnJlIGVsIGRvY3VtZW50byAoVHJhYmFqbyBkZSBncmFkbywgUGFzYW50w61hLCBjYXNvcyBvIHRlc2lzKSBlbiBjdWVzdGnDs24sIEVMIEFVVE9SLCBhc3VtaXLDoSBsYSByZXNwb25zYWJpbGlkYWQgdG90YWwsIHkgc2FsZHLDoSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvczsgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgbGEgVW5pdmVyc2lkYWQgIEF1dMOzbm9tYSBkZSBPY2NpZGVudGUgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4gVG9kYSBwZXJzb25hIHF1ZSBjb25zdWx0ZSB5YSBzZWEgZW4gbGEgYmlibGlvdGVjYSBvIGVuIG1lZGlvIGVsZWN0csOzbmljbyBwb2Ryw6EgY29waWFyIGFwYXJ0ZXMgZGVsIHRleHRvIGNpdGFuZG8gc2llbXByZSBsYSBmdWVudGUsIGVzIGRlY2lyIGVsIHTDrXR1bG8gZGVsIHRyYWJham8geSBlbCBhdXRvci4gRXN0YSBhdXRvcml6YWNpw7NuIG5vIGltcGxpY2EgcmVudW5jaWEgYSBsYSBmYWN1bHRhZCBxdWUgdGllbmUgRUwgQVVUT1IgZGUgcHVibGljYXIgdG90YWwgbyBwYXJjaWFsbWVudGUgbGEgb2JyYS4K |