scieee Open visual document viewer

BookClips: a web app for ebook annotations

Salazar Colina, Andrés

Abstract

During the last decade, the ebook market has grown exponentially due to the appearance of e-readers, the most popular and well-known brand being Amazon Kindle. This is mainly due to the vast array of titles accessible through its marketplace, how it seamlessly integrates its audio-book platform, its subscription program, and the ability for the user to upload and read any PDF or EPUB file on their device. One of the main features of the Kindle is to highlight an extract from the book the user is reading, with the option of adding a typed note of their own. The annotations on said book are then saved to their device and Amazon account, where the user can refer back to them on their device at any time or on other platforms under the parent company. Yet, these platforms come with many caveats. They don’t provide the user with a straightforward and/or reliable approach to accessing their annotations It was within this need that BookClips came to be developed; BookClips is a web application project that allows the user to save their exported annotations and notes created on their Amazon Kindle e-reader or mobile application. The main objective of the project is to facilitate the user with the consultation and management of their ebook annotations in a simplified way; the application was developed using Java Spring Boot for the Backend, which manages the parsing of the CSV and HTML file formats available for exporting Kindle annotations, with further data manipulation via a RESTful architecture. This is integrated with the Frontend, developed in React.js, which makes the necessary API requests for uploading, fetching, updating, and displaying the provided data with a focus on a Mobile First design. The secondary feature of this project is a social network aspect, which allows the user to share their Books and Shelves as Posts for other users to see, Like, and Comment on.

Full text

Facul ad de In o m´a ica T abajo de Fin de G ado Cons uc o: Sis ema se e less pa a la gene aci´on de opolog´ıas median e Machine Lea ning Po Pablo Ezque o Moya Di igido po Jos´ e Luis V´ azquez Pole i Juan Ca los Fabe o Jim´ enez Colabo ado Ex e no: Da id Pacios Izquie do MADRID, 2023–2024 Abs ac This wo k explo es he de elopmen o a se e less sys em o gene a ing ne wo k opologies using machine lea ning echniques, speci ically h ough he use o YOLO models. The sys em le e ages objec ecogni ion o au oma ically con e hand-d awn diag ams in o digi al o ma s ha can be impo ed di ec ly in o GNS3 o ne wo k simula ion. By au oma ing his p ocess, he p ojec add esses he cumbe some and ime-consuming ask o manual ne wo k con igu a ion, po en ially e olu ionizing ne wo k design p ac ices in educa ional and p o essional se ings. The implemen a ion uses AWS Lambda o handle p ocessing, p o iding a cos -e ec i e and scalable solu ion. Es e abajo explo a el desa ollo de un sis ema se e less pa a la gene aci´ on de opolog´ ıas de ed u ilizando ´ ecnicas de machine lea ning, espec´ ı icamen e a a ´ es del uso de modelos YOLO. El sis ema u iliza el econocimien o de obje os pa a con e i au om´ a icamen e diag amas dibujados a mano en o ma os digi ales que pueden impo a se di ec amen e en GNS3 pa a la simulaci´ on de edes. Al au oma iza es e p oceso, el p oyec o abo da la a ea engo osa y que consume mucho iempo de la con igu aci´ on manual, con el po encial de e oluciona las p ´ ac icas de dise˜ no de edes en en o nos educa i os y p o esionales. La implemen aci´ on u iliza AWS Lambda pa a maneja el p ocesamien o, p opo cionando una soluci´ on en able y escalable. Palab as Cla e: A qui ec u a Se e less, Gene aci´on de Topolog´ıas de Red, Machine Lea ning, YOLO (You Only Look Once), Reconocimien o de Obje os, AWS Lambda, Simulaci´on de Redes GNS3. III ´ Indice gene al Abs ac ........................................................ III Cap´ı ulo 1 In oduc ion....................................... 1 Cap´ı ulo 1 In oducci´on ...................................... 3 Cap´ı ulo 2 Es ado del A e ................................... 5 Cap´ı ulo 3 Tecnolog´ıas ....................................... 19 Cap´ı ulo 4 Dise˜no de Soluci´on ................................ 25 Cap´ı ulo 5 Desa ollo de la a qui ec u a ....................... 49 Cap´ı ulo 6 Resul ados, mediciones y conclusiones .............. 57 Cap´ı ulo 6 Resul s, Measu emen s, and Conclusions. . . . . . . . . . . . 63 Bibliog a ´ıa......................................................70 V Chap e 1. In oduc ion 1.1. Con ex The p ojec we ha e been wo king on eme ged as a esponse o he need o s eamline he p ocess o c ea ing ne wo k opologies in he GNS3 ool. This ool allows o he design o ne wo ks o simula e eal-wo ld scena ios using a ious elemen s and componen s. Gene ally, he mos edious and demo i a ing pa o compu ing is con igu ing he wo kspaces, o en i onmen s, in which o apply you knowledge. This is some hing ha mos o us who s udy o ha e s udied any b anch o compu ing can ag ee on. Using a ool like GNS3 allows you o expe imen wi h di e en opologies using each ne wo k elemen independen ly. Howe e , as men ioned ea lie , he p ocess o se ing up he en i onmen , he ne wo k, and i s elemen s, is bo ing and mono onous. In GNS3, opology con igu a ion is done by d agging elemen s om an elemen selec o on he le side o he applica ion. These elemen s mus be d agged o hei desi ed posi ion and hen connec ions be ween hem mus be es ablished. When he ne wo k is small, his is no a di icul ask. Howe e , as he numbe o elemen s and ne wo k connec ions inc eases, i becomes mo e complica ed. 1.2. Objec i e To add ess his p oblem, we came up wi h he idea o c ea ing ne wo k opologies by d awing hem manually wi h pape and pen. Then, a p og am, using objec ecogni ion echniques, would be able o in e p e hese d awings and au oma ically gene a e a ile ha can be impo ed in o GNS3 wi h he esul ing opology. The d awings should ollow he ollowing legend o ep esen he elemen s: 1 2 Figu a 1.1: SRV Figu a 1.2: Link Figu a 1.3: Rou e Figu a 1.4: Swi ch The p ocess o con e he hand-d awn diag ams in o impo able opologies o GNS3 consis s o he ollowing s eps: 1. D aw he opology by hand: The use c ea es a d awing using pape and pen. The symbols used mus ollow he p o ided legend o co ec ly ep esen he ne wo k elemen s. 2. Scan he d awing: The d awing is digi ized using a scanne o a high-quali y pho o applica ion. 3. Objec ecogni ion: The de eloped p og am uses image ecogni ion echniques o iden i y he symbols in he d awing and hei connec ions. The in o ma ion abou he de ec ed objec s is s o ed in a . x ile. 4. Gene a ion o a ile o GNS3: F om he . x ile, a .json ile is gene a ed wi h he s uc u e o a GNS3 p ojec . This p ocess allows use s o quickly c ea e ne wo k opologies using simple ools. Th ough objec ecogni ion echniques, hand-d awn ske ches a e ans o med in o eal ne wo k simula ion p ojec s. Cap´ı ulo 1. In oducci´on 1.1. Con ex o El p oyec o en el que hemos es ado abajando su gi´ o como espues a a la necesidad de agiliza el p oceso de c eaci´ on de opolog´ ıas de ed en la he amien a GNS3. Es a he amien a pe mi e dise˜ na edes pa a simula escena ios eales u ilizando di e sos elemen os y componen es. Gene almen e, la pa e mas ediosa y desmo i ado a de la in o m´ a ica es la con igu aci´ on de los espacios de abajo, o en o nos, en los que pode aplica los conocimien os. Eso es algo que la mayo ´ ıa de pe sonas que es udiamos o hemos es udiado alguna ama de in o m´ a ica es amos de acue do. Usa una he amien a como GNS3 pe mi e pode expe imen a con dis in as opolog´ ıas u ilizando cada elemen o de la ed de mane a independien e. Pe o como hemos comen ado an es, el p oceso de con igu a el en o no, la ed y sus elemen os, es algo abu ido y mon´ o ono. En GNS3 la con igu aci´ on de la opolog´ ıa se ealiza a as ando elemen os desde un selec o de elemen os ubicado en la pa e izquie da de la aplicaci´ on. Es os elemen os hay que a as a los a su posici´ on deseada y luego es ablece las conexiones en e ellos. Cuando la ed es peque˜ na, no es un a ea di ´ ıcil. Pe o cuando se a inc emen ando el n´ ume o de elemen os y conexiones de la ed, se uel e m´ as complicado. 1.2. Obje i o Pa a abo da es e p oblema, se nos ocu i´ o la idea de c ea las opolog´ ıas de ed dibuj´ andolas a mano con papel y bol´ ıg a o. Luego, un p og ama, median e ´ ecnicas de econocimien o de obje os, se ´ ıa capaz de in e p e a esos dibujos, y gene a au om´ a icamen e un a chi o que pueda impo a se a GNS3 con la opolog´ ıa esul an e. Los dibujos debe ´ an segui la siguien e leyenda pa a ep esen a los elemen os: 3 10 y o os casos elacionados con la segu idad ial. El esul ado y el diag ama comple o es mos ado en la Figu a 2.66. Figu a 2.6: Resul ado inal as aplica las CNN pa a la de ecci´ on de cascos y manos. De es e abajo se ha ob enido in o maci´ on ace ca de dis in as me odolog´ ıas pa a la ealizaci´ on la de ecci´ on de obje os, en es e caso se ha ealizado median e CNN. 2.7. Deep lea ning Es e a ´ ıculo [8] ealiza una e isi´ on del es ado del a e sob e las edes neu onales p o undas (DNN). De es as aplicaciones se des acan desde el econocimien o de im´ agenes has a el econocimien o de lenguaje na u al. Se hace hincapi´ e en la impo ancia de mejo a a´ un m´ as la comp ensi´ on de las DNN y su capacidad pa a el azonamien o complejo. Se mencionan 6Diag ama y esul ado ob enidos del a ´ ıculo: h ps://doi.o g/10.3390/bdcc6030085 11 a ances ecien es en el ap endizaje de ep esen aciones y se discu e la necesidad de desa olla nue as es a egias que combinen el ap endizaje de ep esen aciones con el azonamien o complejo. Se se˜ nala que el u u o de la in eligencia a i icial depende ´ a en g an medida de sis emas que in eg en ambas capacidades de mane a e ec i a. Tambi´ en cabe des aca que es e a ´ ıculo menciona que es a ecnolog´ ıa oda ´ ıa es ´ a sen ando bases, po lo que las in es igaciones ealizadas oda ´ ıa es ´ an expandiendo los l´ ımi es de es a ecnolog´ ıa. Concluye indicando que se iene que segui in es igando sob e las DNN pa a la ealizaci´ on de nue as in eligencias a i iciales y pa a la ealizaci´ on de nue as DNN. De es e a ´ ıculo se ha ob enido una nue a me odolog´ ıa pa a la ealizaci´ on de las de ecciones. Pa a es e caso se ha es udiado en p o undidad las DNN. 2.8. S a ic Analysis o AWS Bes P ac ices in Py hon Code Es e p ep in [9] ealiza un an´ alisis de dis in os ipos de ope aciones que se pueden ealiza en Py hon en el con ex o de AWS median e el uso de API. Es as API pe mi en a los usua ios de ini il os pa a selecciona nodos de acci´ on basados en c i e ios espec´ ı icos, como el nomb e de la unci´ on o el n´ ume o de a gumen os. Adem´ as, las ope aciones de ans o maci´ on pe mi en modi ica nodos de acci´ on o da os de acue do con cie as eglas, como ans o ma un nodo de acci´ on en sus a gumen os espec i os o sus nodos de cap u a de e o es asociados. Es e ipo de ope aciones se ealizan pa a en ende el lujo de las ope aciones den o de Py hon. Po ejemplo, las unciones de il ado pueden ayuda a iden i ica ulne abilidades en segu idad, mien as que las ope aciones de ans o maci´ on de lujo de da os pueden ayuda a iden i ica si hay alg´ un allo en la u a, ya sea en la uen e o en el des ino. Tambi´ en se ilus an dis in os casos de uso en elaci´ on a las API. Hace e e encia a una se ie de abajos de in es igaci´ on ele an es en el campo del an´ alisis es ´ a ico de p og amas, como es udios sob e de ecci´ on de uso inco ec o de API, in e encia de ipos es ´ a icos y an´ alisis de lujo de da os en Py hon. Es as in es igaciones p opo cionan un con ex o impo an e pa a comp ende la impo ancia y la aplicaci´ on p ´ ac ica de las he amien as y ´ ecnicas desc i as en el documen o. 12 De es e p ep in se ha ob enido la base pa a la ealizaci´ on de la API y c´ omo coo dina la con AWS. Tambi´ en se hace un en oque in e esan e que ha se ido pa a e i a e o es en la ealizaci´ on del c´ odigo en Py hon en AWS. 2.9. You only look once: uni ied, eal- ime objec de ec ion Es e es udio [10] p esen a un modelo uni icado de allado pa a la de ecci´ on de im´ agenes basado en YOLO (You Only Look Once). Pa a el desa ollo de es e modelo se an a compa a los modelos R-CNN y Fas R-CNN. Es e ipo de de ecci´ on se ealiza en iempo eal y es ´ a basado en la ealizaci´ on median e a ias capas. Despu´ es se lle an a cabo cada uno de los conjun os de en enamien o pa a los modelos R-CNN y Fas R-CNN. Figu a 2.7: De ecci´ on de im´ agenes aplicado a dis in os casos de uso aplicando YOLO. Concluye compa ando cada uno de los modelos y es ableciendo las limi aciones a la ho a de implan a YOLO. Una de las p incipales que se des aca es la alsa de ecci´ on, donde se puede obse a que hay eces que YOLO puede alla . La Figu a 2.77mues a el esul ado de las dis in as de ecciones. Es e a ´ ıculo ha sido e isado con el in de de e mina qu´ e e si´ on de YOLO se ajus aba m´ as a la de ecci´ on que se que ´ ıa ealiza . Tambi´ en se han is o sus limi aciones. 7Imagen ob enida del a ´ ıculo: h ps://www.c - ounda ion.o g/openaccess/con en _c p _2016/ h ml/Redmon_You_Only_Look_CVPR_2016_pape .h ml 13 2.10. A Cloud Based Sen imen Analysis h ough Logis ic Reg ession in AWS Pla o m Es e es udio [11] p esen a un an´ alisis de sen imien os a a ´ es de la eg esi´ on log´ ıs ica de Amazon Web Se ice (AWS). Cabe des aca la inclusi´ on de AWS en el ´ ambi o de cloud compu ing y c´ omo ha simpli icado el uso del clien e pa a la ealizaci´ on de las labo es en la nube. Se des aca la impo ancia de la in aes uc u a en la nube y se mencionan ca ac e ´ ıs icas como el equilib io de ca ga, la au oescalabilidad y los acue dos de ni el de se icio. El an´ alisis de sen imien os es una he amien a in e esan e pa a comp ende las opiniones de los usua ios sob e p oduc os o se icios. Como me odolog´ ıa se ha u ilizado un algo i mo de ap endizaje au om´ a ico, en es e caso, es la eg esi´ on log´ ıs ica pa a clasi ica las opiniones de los clien es en posi i as o nega i as. El es udio incluye una e isi´ on exhaus i a de la li e a u a elacionada con el an´ alisis de sen imien os, abo dando emas como la op imizaci´ on de la ca ga de abajo, la clasi icaci´ on de da os en la nube, el an´ alisis de opiniones en edes sociales y el uso de algo i mos de ap endizaje au om´ a ico, como las edes neu onales ecu en es y las m´ aquinas de ec o es de sopo e. Adem´ as, se explo an he amien as y ecnolog´ ıas ele an es, como Amazon Kinesis Da a Fi ehose, pa a la inges a de da os en la nube. 14 Figu a 2.8: A qui ec u a ealizada pa a el an´ alisis de sen imien os. La Figu a 2.88mues a c´ omo han ealizado el an´ alisis de sen imien os a a ´ es de la ed social Twi e . Pa a ello, p ime o han adqui ido los mensajes median e la aplicaci´ on Tweepy, es os da os son p ocesados y colec ados en Py hon. Es e es udio ha sido u ilizado pa a en ende c´ omo coo dina la aplicaci´ on en Py hon con AWS y as´ ı e o o caso de uso aplicado a una aplicaci´ on donde se combinan Py hon y AWS. 2.11. Pe o mance E alua ion o Deep Lea ning Algo i hm Using High-End Media P ocessing Boa d in Real-Time En i onmen El a ´ ıculo [12] abo da la implemen aci´ on de sis emas de igilancia de ´ a ico u ilizando modelos de de ecci´ on de obje os basados en ap endizaje p o undo, espec´ ı icamen e YOLO 3, YOLO 4, YOLO 5s y YOLO 3- iny. Se discu en a ios aspec os de la implemen aci´ on, incluida la con igu aci´ on del ha dwa e y el so wa e u ilizados, como el en o no de ha dwa e con un p ocesado In el Xeon Sil e y una GPU NVIDIA Je son 8Diag ama ob enido del a ´ ıculo: h ps://cdn. echscience.cn/uedi o / iles/csse/TSP_ CSSE-45-1/TSP_CSSE_31321/TSP_CSSE_31321.pd 15 Xa ie , jun o con el en o no de so wa e que incluye Py hon y el ma co Py o ch. Se des acan m´ e icas impo an es como la empe a u a de la GPU, el iempo de in e encia y la u ilizaci´ on de la memo ia RAM en elaci´ on con la esoluci´ on de las im´ agenes y el modelo u ilizado. Se obse a que el modelo YOLO 3- iny man iene iempos de in e encia m´ as bajos y una meno u ilizaci´ on de la GPU en compa aci´ on con o os modelos, lo que lo con ie e en una opci´ on a ac i a pa a implemen aciones en la placa Je son Xa ie si se busca man ene la u ilizaci´ on de la GPU bajo con ol. Sin emba go, se se˜ nala que YOLO 5s u iliza m´ as ecu sos de GPU en odas las esoluciones de imagen, lo que puede se una conside aci´ on impo an e dependiendo de los equisi os del sis ema. Adem´ as, se menciona que YOLO 4 y YOLO 3- iny ienen iempos de in e encia m´ as bajos que o os modelos, lo que los hace adecuados pa a aplicaciones de ansmisi´ on en i o donde se equie e una ´ apida de ecci´ on de obje os en iempo eal. Cabe des aca que se demues an casos de uso aplicados pa a cada ipo de YOLO. Se p esen a un caso de uso pa a una de ecci´ on de eh´ ıculos en lo que se demues a una al a de ´ exi o. Los in es igado es pe mi en acceso a su da ase y as´ ı como las dis in as de ecciones pa a alida su caso de uso. Con es e a ´ ıculo se ha ob enido una pe spec i a ace ca de las dis in as e siones de YOLO y se ha seleccionado cu´ al e a la ´ op ima pa a la p esen ada en es e abajo. 2.12. Ship Ta ge De ec ion Algo i hm Based on Imp o ed YOLO 3 o Ma i ime Image Es a publicaci´ on [13] p esen a un algo i mo pa a la de ecci´ on de emba caciones basado en AE-YOLO 3. Se ha u ilizado es e algo i mo pa a ealiza de ecciones en im´ agenes de al a complejidad. Pa a la me odolog´ ıa se compa ´ o es a ecnolog´ ıa con o as, como po ejemplo, YOLO 3, SSD y Fas e R-CNN. AE-YOLO 3 demues a una mejo a sus ancial en la de ecci´ on de obje i os peque˜ nos, la ocul aci´ on de obje i os y la in o maci´ on incomple a del obje i o, lo que esul a en una educci´ on signi ica i a en el n´ ume o de obje i os no de ec ados. El algo i mo AE-YOLO 3 se basa en la in eg aci´ on de un m´ odulo de a enci´ on de ca ac e ´ ıs icas y un m´ odulo de mejo a de ca ac e ´ ıs icas, que abajan en conjun o pa a mejo a la capacidad de ex acci´ on de 16 ca ac e ´ ıs icas del modelo. Es os m´ odulos pe mi en una mayo capacidad pa a iden i ica y segui los obje i os de las emba caciones, incluso en si uaciones donde los obje i os es ´ an pa cialmen e ocul os o el en o no p esen a un al o ni el de dis acci´ on. La aplicaci´ on de AE-YOLO 3 en sis emas de seguimien o de ideo se des aca como una he amien a po encial pa a emi i ad e encias emp anas de colisi´ on, educiendo as´ ı la p obabilidad de acciden es ma ´ ı imos. Al igual que se ha is o en publicaciones an e io es, es a algo i mia iene limi aciones, como los dis in os ´ angulos po los que se ob iene las im´ agenes y las condiciones ambien ales. Es a publicaci´ on ha se ido pa a el desa ollo del algo i mo de de ecci´ on y as´ ı como pa a en ende las limi aciones de los mismos. 2.13. PG-YOLO: A No el Ligh weigh Objec De ec ion Me hod o Edge De ices in Indus ial In e ne o Things Es e a ´ ıculo [14] p esen a una de ecci´ on de obje os basado en PG-YOLO que u iliza el in e ne de las cosas (IoT). Es capaz de p ocesa una inmensa can idad de da os y ealiza la de ecci´ on de una o ma ´ apida y p ecisa. Se de alla el p oceso de desa ollo y alidaci´ on, en donde se incluye la selecci´ on del conjun o de da os ele an e, pa a es e caso es SHWD. Se ealizan una se ie de compa aciones pa a alo a el endimien o de PG-YOLO con o os m´ e odos de de ecci´ on e obje os. Al igual que me odolog´ ıas an e io es, cabe des aca odas las limi aciones que hay al usa es e ipo de algo i mos. De es e a ´ ıculo se ha es udiado con de enimien o oda la algo i mia u ilizada pa a la de ecci´ on de obje os, sob e odo la pa e de endimien o. 17 2.14. The Ae oplane and Unde ca iage De ec ion Based on A en ion Mechanism and Mul i-Scale Fea u es P ocessing Es e es udio [15] de alla un algo i mo de de ecci´ on pa a la de ecci´ on de a iones, pis as y enes de a e izaje. Desc iben mejo as en la p ecisi´ on p omedio (mAP) y en di e sas m´ e icas de endimien o pa a di e en es ipos de obje os de ec ados. Po ejemplo, se obse a un aumen o del 6,18 % en la mAP pa a pis as y enes de a e izaje, as´ ı como mejo as en p ecisi´ on y asa de ecupe aci´ on pa a a iones y enes de a e izaje. Sin emba go, ambi´ en se se˜ nala que la capacidad de de ecci´ on de obje i os peque˜ nos no ha mejo ado lo su icien e y que la elocidad de de ecci´ on ha disminuido, con un aumen o en el iempo de de ecci´ on en compa aci´ on con e siones an e io es de los algo i mos. Se han encon ado limi aciones a la ho a de desa ollo del algo i mo, como po ejemplo, la necesidad de educi la ca ga compu acional y aumen a la capacidad de de ecci´ on. De es e es udio cabe des aca la me odolog´ ıa u ilizada pa a compa a los dis in os algo i mos. Se ha u ilizado una me odolog´ ıa simila pa a compa a en ´ e minos de compu aci´ on los algo i mos de de ecci´ on. 2.15. Conclusiones y Tecnolog´ıas Es os p oyec os han demos ado la iabilidad y la e icacia de u iliza ecnolog´ ıas a anzadas como AWS Lambda, SageMake y YOLO pa a el desa ollo de sis emas de isi´ on po o denado aplicados a la gene aci´ on de opolog´ ıas de ed. AWS Lambda y SageMake han sido iden i icados como he amien as cla e pa a op imiza los ecu sos, o eciendo escalabilidad y e iciencia en la ges i´ on de la compu aci´ on en la nube. La capacidad de AWS Lambda pa a maneja a eas de compu aci´ on espec´ ı icas de o ma e icien e, combinada con la po encia de p ocesamien o de SageMake pa a el en enamien o y despliegue de modelos de machine lea ning, p opo ciona una in aes uc u a s´ olida que espalda las necesidades a anzadas de p ocesamien o de nues o p oyec o. Adem´ as, la lexibilidad de Google Colab como he amien a al e na i a pa a el en enamien o de modelos ha pe mi ido supe a las 18 limi aciones de ecu sos y acceso a ha dwa e especializado. Los modelos YOLO, po su pa e, han demos ado se ex emadamen e e ec i os pa a la de ecci´ on ´ apida y p ecisa de obje os, lo que es c ucial pa a la in e p e aci´ on de dibujos manuales de opolog´ ıas de ed. La implemen aci´ on de YOLO 8 ha sido pa icula men e bene iciosa, o eciendo mejo as en elocidad y p ecisi´ on, lo que es esencial pa a la ealizaci´ on de de ecciones en iempo eal necesa ias pa a es e p oyec o. En conjun o, la in eg aci´ on de es as ecnolog´ ıas a anzadas en nues o p oyec o no solo ha mejo ado la e iciencia del p oceso de digi alizaci´ on de opolog´ ıas, sino que ambi´ en ha es ablecido un ma co obus o pa a u u as in es igaciones y desa ollos en el campo de la isi´ on po o denado aplicada a edes de elecomunicaciones. Cap´ı ulo 3. Tecnolog´ıas A con inuaci´ on se desc iben las he amien as y ecnolog´ ıas u ilizadas en el desa ollo del p oyec o. 3.1. AWS Amazon Web Se ices(AWS)1, es una pla a o ma de se icios en la nube o ecida po Amazon. P opo ciona una amplia gama de se icios de in aes uc u a en la nube, como almacenamien o, c´ ompu o, bases de da os, edes y muchas o as he amien as y se icios, que pe mi en cons ui y ejecu a aplicaciones de mane a e icien e y en able. Una de las en ajas cla e de AWS es su lexibilidad y escalabilidad. G acias a la pol´ ı ica de pago po uso, se pueden escala los ecu sos de mane a ´ apida y sencilla, pe mi iendo adap a se a las luc uaciones de la demanda sin ene sob ecos e. Se o ecen una amplia gama de se icios en e los que se incluye almacenamien o de obje os (Amazon S3) y compu aci´ on en la nube (Amazon Lambda), que usa emos en nues o p oyec o. 3.1.1. Amazon Lambda AWS Lambda2es un se icio de compu aci´ on basado en e en os y sin se ido que pe mi e ejecu a c´ odigo pa a casi cualquie aplicaci´ on o se icio de backend sin ene que p eocupa se po ges iona o ap o isiona se ido es. 3.2. GNS3 GNS3 (G aphic Ne wo k Simula ion o Simulaci´ on G ´ a ica de Redes)3 es un so wa e de c´ odigo abie o de simulaci´ on de edes que pe mi e dise˜ na opolog´ ıas de ed complejas. Es a he amien a pe mi e c ea edes i uales comple as y emula disposi i os de ed, como ou e s, swi ches y i ewalls, sin necesidad de ene acceso ´ ısico a los equipos eales. 1h ps://aws.amazon.com/es/wha -is-aws/ 2h ps://aws.amazon.com/es/lambda/ 3h ps://www.gns3.com/ 19 26 Figu a 4.1: He amien a de e ique ado de im´ agenes Figu a 4.2: Conjun o de da os iniciales e ique ados 27 Con Robo low, se ha log ado un conjun o de da os de 136 im´ agenes, pa iendo de 80 dibujos o iginales que han sido e ique ados manualmen e. Sin emba go, dado que es e olumen inicial no es su icien e pa a en ena adecuadamen e el modelo, se han aplicado ´ ecnicas de aumen o de da os, como o aciones y o as ans o maciones, pa a gene a im´ agenes adicionales a pa i de las 80 o iginales. Tambi´ en se ha aplicado un p ep ocesamien o pa a con e i odas las im´ agenes a escala de g ises, ga an izando la uni o midad del da ase . Figu a 4.3: P ep ocesado y asignacion de da os Es e p oceso nos pe mi i´ o ob ene un conjun o de da os consis en e, necesa io pa a el en enamien o del modelo des inado a in e p e a dibujos de opolog´ ıas de ed manusc i os. 4.2. Modelos Una ez que se dispone de un conjun o de da os de en enamien o adecuado, el siguien e paso es expe imen a con di e en es modelos 28 de ap endizaje au om´ a ico pa a encon a el que o ezca el mejo endimien o. Como se mencion´ o en el cap´ ı ulo sob e las ecnolog´ ıas u ilizadas (3), Robo low pe mi e la in eg aci´ on di ec a del da ase con pla a o mas de expe imen aci´ on como Google Colab. G acias a es a in eg aci´ on, hemos podido ealiza p uebas y ajus es en los modelos YOLO 4 Da kne , YOLO 5 y YOLO 8. Pa a pode explica las conclusiones y el modelo que mejo se ha adap ado a nues o caso de uso, amos a desa olla como es ´ a compues a la a qui ec u a YOLO, y las di e encias en e las e siones que han sido u ilizadas. 4.2.1. YOLO 4 Da kne YOLO 41se di ide en es pa es p incipales: Backbone, Neck, y Head. Backbone: Es la base del modelo, enca gada de ex ae ca ac e ´ ıs icas de la imagen. Usa CSPDa kne 53 como componen e p incipal y es ´ a p een enada en ImageNe y es esponsable de ex ae ca ac e ´ ıs icas cla e de las im´ agenes de en ada. Es e Backbone iene la a ea de iden i ica pa ones, bo des y o mas b´ asicas en la imagen, que luego se ´ an u ilizadas pa a de ec a los componen es. Neck: u iliza PANe , que ac ´ ua como un conec o en e el Backbone y el Head. Su unci´ on es p ocesa las ca ac e ´ ıs icas ex a´ ıdas po el Backbone y p epa a las pa a la de ecci´ on inal. Head: Es a es la pa e inal del modelo, donde se ealiza la de ecci´ on eal de obje os. Toma la in o maci´ on p ocesada po el Backbone y el Neck y de e mina la ubicaci´ on y la clase de los obje os en la imagen. El Head u iliza la es uc u a de YOLO 3 pa a hace las de ecciones inales y las clasi icaciones. Es e segmen o es esponsable de p edeci las clases y los cuad os delimi ado es de los obje os. 1h ps://docs.ul aly ics.com/es/models/yolo 4/ 29 Figu a 4.4: Esquema de la a qui ec u a de YOLO 4 4.2.2. YOLO 5 Tan o YOLO 4 como YOLO 5 2compa en el concep o de Backbone, Neck y Head. Sin emba go, en YOLO 5 se in oducen algunas op imizaciones y simpli icaciones. Backbone: YOLO 5 ambi´ en usa una e si´ on modi icada de CSPDa kne 53, pe o con op imizaciones que simpli ican la implemen aci´ on y mejo an la e iciencia compu acional. Es o se aduce en una es uc u a m´ as lige a y ´ apida. Neck: Es simila pe o incluye mejo as como SPPF (Spa ial Py amid Pooling Fas ), que ayuda a ex ae ca ac e ´ ıs icas a di e en es escalas de mane a m´ as e icien e. Se simpli ica la es uc u a CSPDa kne 53-PANe , con ibuyendo a una implemen aci´ on m´ as lige a. Head: YOLO 5 man iene un en oque simila pe o con op imizaciones pa a hace la es uc u a m´ as lige a y ´ apida, educiendo la la encia. 4.2.3. YOLO 8 YOLO 8 inco po a mejo as signi ica i as an o en p ecisi´ on como en elocidad [19], adem´ as de la posibilidad de u iliza de ecci´ on sin anclajes (ancho - ee). Los anclajes son cajas delimi ado as que se u ilizan pa a la p edicci´ on de los obje os. En o as e siones de YOLO, es as cajas se ubican en luga es p ede inidos sob e la imagen y se an ajus ando sus medidas seg´ un a a anzando el en enamien o. YOLO 8 p edice di ec amen e las coo denadas de las cajas delimi ado as sin depende de anclajes espec´ ı icos. 2h ps://docs.ul aly ics.com/yolo 5/ u o ials/a chi ec u e_desc ip ion/ 30 Backbone: En es a e si´ on, adem´ as de CSPDa kne 53 se u iliza E icien De . Ambos apo an una g an capacidad de ap endizaje y e iciencia. Neck: YOLO 8, al igual que YOLO 5 u iliza PANe , pe o la es uc u a de YOLO 8 pe mi e una mejo combinaci´ on de ca ac e ´ ıs icas, lo que puede mejo a la p ecisi´ on en de ecci´ on de obje os de di e en es ama˜ nos. Head: Se man iene el uso de cajas ancladas pa a p edeci obje os de di e en es o mas y ama˜ nos, pe mi iendo an o de ecci´ on con anclajes como de ecci´ on sin anclajes (ancho - ee). YOLO 5, po el con a io, u iliza un en oque adicional basado en anclajes. 4.3. Es udio compa a i o de YOLO e in e p e aci´on Una ez ealizado el es udio sob e las di e en es e siones de YOLO, se ha p ocedido a la expe imen aci´ on. El p ime modelo que se ha en enado ha sido YOLO 4 con el amewo k de Da kne . El p oceso de con igu aci´ on y en enamien o de YOLO 4 ha sido muy edioso po a ias azones. Debido a que YOLO 4 dej´ o de ecibi ac ualizaciones o iciales despu´ es de 2020, muchas de las he amien as y biblio ecas es ´ an obsole as. Po ejemplo, algunas dependencias cla e, como OpenCV y CUDA, han e olucionado a e siones que no son compa ibles con el c´ odigo base de Da kne , lo que ha gene ado con lic os al in en a compila el p oyec o. Hemos enido que modi ica muchas a iables en el Make ile pa a ajus a la con igu aci´ on a nues o en o no de abajo, como u as de a chi os, opciones de compilaci´ on, con igu aci´ on de la GPU y alguna a iable que no es aba de inida. O o p oblema impo an e ha sido el cos e compu acional. El modelo YOLO 4 es bas an e pesado y equie e un al o ni el de ecu sos pa a en enamien o. En el no ebook que nos p opo cionaba Robo low, la con igu aci´ on p ede e minada en´ ıa pa ´ ame os con igu ados pa a se ejecu ados en un en o no con ecu sos signi ica i os. Sin emba go, al in en a en ena es e modelo en la e si´ on g a ui a de Google Colab, nos encon amos con limi aciones se e as en la GPU y es icciones de iempo de ejecuci´ on. Debido a es as es icciones, el en enamien o no solo e a len o, sino que a menudo e a in e umpido 31 po es icciones de iempo o limi aciones de ecu sos como se puede e en la igu a 4.5. Pese a habe in en ado en ena lo de la mejo mane a posible nos hemos dado cuen a que e a mejo idea explo a e siones m´ as ecien es de YOLO, como YOLO 5, que se basan en amewo ks m´ as ecien es y ienen mejo sopo e. El cambio a es as e siones m´ as mode nas nos pe mi i´ o bene icia nos de una comunidad m´ as ac i a, documen aci´ on ac ualizada y un mejo endimien o en en o nos de nube con limi aciones de ecu sos. Figu a 4.5: Limi aci´ on Google Colab en en enamien o con YOLO 4 El en enamien o con YOLO 5 u ilizando un da ase de 136 im´ agenes ha p esen ado a ios desa ´ ıos. Aunque YOLO 5 es m´ as mode no y lexible que YOLO 4, u imos que ajus a el modelo pa a adap a lo a nues o caso pa icula . El no ebook p opo cionado po Robo low iene con una con igu aci´ on p ede e minada que incluye un ama˜ no de imagen de 416 p´ ıxeles, un ba ch de 16 y 100 ´ epocas. Es as con igu aciones suelen se adecuadas pa a da ase s medianos o g andes, pe o pa a nues o peque˜ no da ase de 136 im´ agenes necesi amos ajus es adicionales pa a op imiza el en enamien o y e i a el sob eajus e. Nues a soluci´ on ha sido educi el ama˜ no del ba ch a 8 y aumen a el n´ ume o de ´ epocas a 250, pe mi iendo m´ as i e aciones sob e el mismo conjun o de da os. 32 Usa un ama˜ no de ba ch m´ as peque˜ no, como 8, educe la can idad de memo ia necesa ia pa a p ocesa cada paso de en enamien o, lo que ha sido bene icioso en nues o caso, dado que enemos ecu sos limi ados en Google Colab. Adem´ as, es a con igu aci´ on pe mi e al modelo ene m´ as i e aciones sob e los da os, lo cual puede ayuda a mejo a el ap endizaje. Reduci el ba ch a 8 ha sido un acie o, ya que pe mi e al modelo en ena se de mane a m´ as e icien e, aunque con un iempo de en enamien o m´ as p olongado. Sin emba go, aumen a en exceso el n´ ume o de ´ epocas inc emen a el iesgo de sob eajus e. Pa a mi iga es e iesgo, hemos implemen ado a ias es a egias, como el aumen o de da os, que aumen a la di e sidad del da ase . Es a ´ ecnica ue aplicada y se desc ibe en la secci´ on de gene aci´ on del da ase 4.1. Podemos e las g ´ a icas de e oluci´ on del en enamien o en la igu a 4.6 Figu a 4.6: G ´ a icos de e oluci´ on del en enamien o con YOLO 5 Despu´ es de p oba di e en es con igu aciones de ´ epocas, concluimos que 250 e a una buena opci´ on bas´ andonos en los esul ados ob enidos como se en en la igu a 4.7. Es os esul ados con i man que los ajus es ealizados han pe mi ido op imiza el en enamien o sin cae en el sob eajus e, p opo cionando una base s´ olida pa a u u as mejo as. Sin emba go, los da os no cumplen nues as expec a i as, po lo que hemos decidido p oba con YOLO 8 pa a e si podemos ob ene esul ados m´ as sa is ac o ios. 33 Figu a 4.7: Resul ados del en enamien o con YOLO 5 Complemen ando las m´ e icas de los esul ados ob enidos, en la igu a 4.8 podemos e ejemplos de las cajas delimi ado as p edichas con YOLO 5 sob e algunas opolog´ ıas. Figu a 4.8: Cajas delimi ado as p edichas con YOLO 5 34 Pa a e mina hemos que ido comp oba si exis e mucha di e encia en e YOLO 5 y YOLO 8, y si e a su icien e pa a jus i ica el cambio. En YOLO 8, hemos hecho ajus es muy simila es a YOLO 5, modi icando el n´ ume o de ´ epocas y el ama˜ no del ba ch pa a op imiza el endimien o y e i a el sob eajus e. El alo p ede e minado en el no ebook que p opo ciona Robo low pa a YOLO 8 es 16 pa a el ama˜ no del ba ch y 25 pa a el n´ ume o de ´ epocas. Dado que enemos un da ase educido y hemos abajado con ecu sos limi ados en Google Colab, ajus amos el ama˜ no del ba ch a 4 y aumen amos el n´ ume o de ´ epocas a 50. El ba ch m´ as peque˜ no educe el uso de memo ia y pe mi e m´ as i e aciones, aunque puede aumen a el iesgo de sob eajus e po que el modelo iene m´ as iempo pa a memo iza el da ase . Pa a mi iga es e iesgo, YOLO 8 iene una ca ac e ´ ıs ica que los an e io es no en´ ıan. Ea ly s opping, que de iene el en enamien o cuando ya no hay mejo as signi ica i as, e i ando el sob eajus e. Podemos e las g ´ a icas de e oluci´ on del en enamien o en la igu a ?? Figu a 4.9: G ´ a icos de e oluci´ on del en enamien o con YOLO 8 Los esul ados ob enidos con YOLO 8, como se en en la igu a 4.10, son muy posi i os conside ando el ama˜ no limi ado de nues o da ase . Es os esul ados sugie en que el modelo iene un buen endimien o gene al y que es amos en el camino co ec o. Con un da ase m´ as g ande pod ´ ıamos ace ca nos a un modelo casi pe ec o pa a nues o caso de uso, con de ecciones m´ as p ecisas y consis en es. 35 Figu a 4.10: Resul ados del en enamien o con YOLO 8 Complemen ando las m´ e icas de los esul ados ob enidos, en la igu a 4.11 podemos e ejemplos de las cajas delimi ado as p edichas con YOLO 8 sob e algunas opolog´ ıas. Figu a 4.11: Cajas delimi ado as p edichas con YOLO 8 42 Figu a 4.15: In e encia del modelo en o ma o . x Cada l´ ınea de es e a chi o ep esen a un componen e de la ed, y el o den de los alo es en cada l´ ınea es el siguien e: ipo de componen e, coo denada x, coo denada y, ancho y al u a. Los ipos de componen es pueden se : 0 pa a DNS, 1 pa a Enlace, 2 pa a Rou e y 3 pa a Swi ch. En p ime luga , leemos las l´ ıneas del a chi o y almacenamos los componen es en dos lis as de dicciona ios: una pa a gua da los Enlaces y su in o maci´ on, y o a pa a gua da los nodos y su in o maci´ on. El p incipal desa ´ ıo al que nos en en amos es de e mina qu´ e elemen os es ´ an conec ados en e s´ ı seg´ un sus coo denadas. Inicialmen e, hemos desa ollado una es a egia simple como pun o de pa ida, sob e la cual ealiza mejo as inc emen ales. En es a p ime a es a egia, conside amos que cada nodo solo puede es ablece conexi´ on con o o nodo si son los m´ as ce canos en e s´ ı y compa en el Enlace m´ as ce cano. P ime o, almacenamos el nodo m´ as ce cano pa a cada nodo de la ed en la es uc u a connec ions o elemen s. Es a lis a de dicciona ios almacena pa a cada iden i icado de nodo el nodo m´ as ce cano y la dis ancia a ´ el. Luego, pa a cada nodo, buscamos el enlace m´ as ce cano y almacenamos en la a iable connec ions o Links el iden i icado del enlace y la dis ancia a´ el. Finalmen e, aplicamos la es a egia mencionada an e io men e: dos nodos es ´ an conec ados solo si compa en el enlace m´ as ce cano y son los elemen os m´ as ce canos en e s´ ı. Ve i icamos si la conexi´ on gua dada en connec ions o elemen s pa a cada nodo es igual a la del o o nodo y luego comp obamos si ambos nodos ienen el mismo ID de enlace en connec ions o Links. Si ambas condiciones se cumplen, la conexi´ on es 43 ´ alida. Aunque es a es a egia p opo ciona una base, la es a egia es e ´ onea, ya que puede pe de muchas conexiones ´ alidas. En el caso del ejemplo que es amos analizando, pe demos odas las conexiones, ya que ninguna pa eja de nodos cumple con las condiciones de la es a egia. Figu a 4.16: Resul ado p ime a es a egia T as e isa los esul ados ob enidos en la igu a 4.16, hemos llegado a la conclusi´ on de que depende ´ unicamen e del elemen o m´ as ce cano no p opo ciona una ep esen aci´ on comple a de las conexiones en e elemen os. Como espues a a es a limi aci´ on, hemos desa ollado una nue a es a egia que emplea dos umb ales dis in os: uno pa a los Enlaces y o o pa a los nodos. Es e en oque nos pe mi e almacena odos los nodos y Enlaces que se encuen en a una dis ancia meno que el umb al especi icado. Adem´ as, hemos ealizado modi icaciones en la es uc u a del c´ odigo pa a mejo a su man enibilidad y escalabilidad. El nue o c´ odigo incluye una unci´ on que, dado un nodo, una lis a de Enlaces o de nodos, y un umb al, de uel e los elemen os de la lis a que cumplen con el umb al de dis ancia en elaci´ on al nodo dado, como se mues a en el diag ama de la igu a 4.17. Adem´ as, hemos c eado una unci´ on que, al ecibi las lis as de elemen os ce canos y Enlaces ce canos, aplica una es a egia pa a de e mina las conexiones ´ alidas. Es a es a egia sigue un en oque simila al an e io , pe o sin la necesidad de e i ica si un nodo es ´ a p esen e en las conexiones del o o nodo. Es o se debe a que ambas conexiones se han encon ado bajo el mismo umb al. En su luga , se e i ica que ambos nodos engan un Enlace en com´ un, 44 como se e en la igu a 4.18. Es e Enlace se encuen a u ilizando un umb al in e io aplicado sob e los nodos, ya que debe es a en medio de ellos. Figu a 4.17: Diag ama del lujo de da os pa a encon a elemen os ce canos a un nodo. Figu a 4.18: Diag ama de alidaci´ on de conexiones seg´ un la es a egia p opues a. 45 Los esul ados ob enidos con es a es a egia son signi ica i amen e mejo es, como se obse a en al igu a 4.19. En el caso que es amos mos ando como ejemplo, son pe ec os. Adem´ as, es a es a egia pe mi e ajus a los umb ales pa a se m´ as p ecisos. Figu a 4.19: Resul ado segunda es a egia A pa i de es a es a egia, podemos c ea el a chi o inal necesa io pa a impo a el p oyec o en la he amien a GNS3. Es e p oceso cons a de dos pa es dis in as: La p ime a pa e se cen a en es ablece la con igu aci´ on gene al, que es com´ un a odos los p oyec os y aba ca in o maci´ on de allada en el apa ado 4.4.1. La segunda pa e consis e en una unci´ on que oma el iden i icado del nodo y su in o maci´ on, y de uel e un alo con o ma o .json que con iene oda la con igu aci´ on espec´ ı ica del nodo, al como se desc ibe en el apa ado 4.4.1. Finalmen e los alo es de uel os po la uncion se a˜ naden a la pa e co espondien e de la a iable de las con igu aciones gene ales y se c ea el .json. 46 4.5. Despliegue en AWS La implemen aci´ on de soluciones ecnol´ ogicas en la nube ha e olucionado la o ma en que las o ganizaciones escalan y ges ionan sus in aes uc u as de TI. AWS, siendo l´ ıde en soluciones de cloud compu ing, o ece un conjun o obus o de se icios que pe mi en a los desa ollado es y a las emp esas implemen a aplicaciones de mane a e icien e y segu a. El despliegue de una unci´ on Lambda en AWS no es una excepci´ on a es a e oluci´ on y cons i uye un ejemplo cla e de c´ omo se puede ap o echa la compu aci´ on en la nube pa a ejecu a c´ odigo en espues a a e en os con adminis aci´ on au om´ a ica de los ecu sos compu acionales. Es a secci´ on de alla el p oceso de con igu aci´ on y despliegue de una unci´ on Lambda en AWS, comenzando con la c eaci´ on y con igu aci´ on de usua ios IAM, seguido po la especi icaci´ on y con igu aci´ on del se icio Lambda. Se en a iza ´ a la impo ancia de una con igu aci´ on adecuada de IAM pa a ga an iza un manejo segu o y es ingido de los pe misos, lo cual es c ucial pa a la p o ecci´ on de los ecu sos en la nube y la minimizaci´ on de iesgos de segu idad. Pos e io men e, se discu i ´ a c´ omo con igu a adecuadamen e el en o no de ejecuci´ on de Lambda, incluyendo la asignaci´ on de memo ia y los pe misos necesa ios, pa a asegu a que la unci´ on se ejecu e de mane a ´ op ima y cos e-e ec i a. 4.5.1. Usua ios IAM La ges i´ on de iden idades y accesos (IAM) es undamen al pa a la segu idad y la adminis aci´ on en AWS, o eciendo con ol g anula sob e qui´ en puede hace qu´ e en cada ecu so de AWS. La c eaci´ on de usua ios IAM espec´ ı icos pa a di e en es a eas asegu a que los se icios ope en bajo el p incipio de m´ ınimo p i ilegio, educiendo el iesgo de accesos no au o izados o malin encionados. Al inicia el despliegue de una unci´ on Lambda, es p imo dial con igu a un usua io IAM con pe misos p ecisos que pe mi an ges iona Lambda y o os se icios necesa ios sin excede las capacidades eque idas. El p ime paso implica c ea un g upo IAM con pol´ ı icas que con ie en acceso necesa io pa a ope a unciones Lambda, ales como AWSLambdaFullAccess, que pe mi e a los usua ios ges iona unciones y ecu sos elacionados en Lambda. Adicionalmen e, se a˜ nade la pol´ ı ica IAMFullAccess empo almen e pa a pe mi i la con igu aci´ on de oles y pol´ ı icas adicionales necesa ias du an e la ase inicial de con igu aci´ on y despliegue. La c eaci´ on de un usua io den o de es e g upo y la asignaci´ on 47 de c edenciales de acceso p og am´ a ico son acciones que habili an la in e acci´ on con AWS a a ´ es de la CLI o SDK, he amien as esenciales pa a au oma iza y ges iona aplicaciones en la nube de mane a e icien e. 4.5.2. Con igu aci´on de Lambda Una ez es ablecida la ges i´ on segu a de accesos median e IAM, el siguien e paso es con igu a la unci´ on Lambda p opiamen e. La con igu aci´ on adecuada de una unci´ on Lambda incluye especi ica el en o no de ejecuci´ on, los pe misos y la ges i´ on de ecu sos. Se selecciona un en o no de ejecuci´ on que co esponda al lenguaje de p og amaci´ on del c´ odigo uen e, en es e caso, Py hon 3.8. La asignaci´ on de memo ia y el iempo de ejecuci´ on m´ aximos son con igu ados en seg´ un las necesidades es imadas de la unci´ on, que en es e caso se es ablecen en 250 MB de memo ia y 15 segundos de iempo de ejecuci´ on m´ aximo, espec i amen e. Pa a pe mi i que la unci´ on Lambda in e ac ´ ue e icien emen e con o os se icios de AWS sin comp ome e la segu idad, se c ea un ol espec´ ı ico de IAM, LambdaExecu ionRole, con pol´ ı icas que o o gan los pe misos necesa ios pa a ejecu a la unci´ on. Es e ol incluye pol´ ı icas como AWSLambdaBasicExecu ionRole, que pe mi e a la unci´ on esc ibi egis os en Amazon CloudWa ch, esencial pa a moni o iza y depu a la unci´ on. La de inici´ on de es os pe misos asegu a que la unci´ on enga acceso solo a los ecu sos que necesi a, cumpliendo con las mejo es p ´ ac icas de segu idad. Finalmen e, se p ocede a desplega el c´ odigo uen e median e AWS CLI, especi icando odos los pa ´ ame os con igu ados y el ol de ejecuci´ on. Es e paso es c ucial po que compila y ac i a la unci´ on en el en o no de nube, lis o pa a se in ocado seg´ un sea necesa io. La capacidad de desplega y ges iona unciones de mane a p og am´ a ica median e AWS CLI no solo aumen a la e iciencia, sino ambi´ en asegu a que el despliegue sea epe ible y consis en e, eliminando e o es manuales po enciales y acili ando la in eg aci´ on con inua y la en ega con inua (CI/CD) en en o nos de desa ollo p o esional. Cap´ı ulo 5. Desa ollo de la a qui ec u a Es e cap´ ı ulo de alla el desa ollo y la implemen aci´ on de una se ie de modelos de de ecci´ on de obje os basados en las e siones mejo adas del algo i mo YOLO (You Only Look Once). Comenza emos explo ando el modelo YOLO 4, implemen ado en AWS Lambda pa a op imiza an o cos os como ecu sos, seguido de una ansici´ on hacia YOLO 5 y inalmen e YOLO 8, cada uno con mejo as signi ica i as en e iciencia y p ecisi´ on. Los modelos son dise˜ nados pa a ope a en en o nos se e less, ap o echando pla a o mas como Google Colab y Amazon SageMake , acili ando la in eg aci´ on y manejo e icien e de los ecu sos compu acionales. Es a documen aci´ on cub e desde la con igu aci´ on inicial de los da ase s has a la gene aci´ on inal de a chi os GNS3, pasando po las e apas de en enamien o, alidaci´ on y de ecci´ on, con el obje i o de p opo ciona una comp ensi´ on exhaus i a del p oceso y las ecnolog´ ıas u ilizadas. 5.1. Modelo de en enamien o de YOLO 4 Figu a 5.1: A qui ec u a del modelo de YOLO V4 Da kne implemen ado en AWS Lambda pa a op imizaci´ on de cos os y ecu sos, mos ando la in e acci´ on en e los componen es p incipales como AWS Lambda, S3 y Google Colab. El modelo de YOLO V4 Da kne es la p ime a a qui ec u a que 49 50 discu i emos. Se eligi´ o debido a su e icacia comp obada en el es ado del a e y su aplicaci´ on exi osa en p oyec os p e ios usando Da kne pa a de ecci´ on en Amazon Web Se ice Lambda. Es e en oque es cla e pa a educi cos os ope a i os, e i ando el uso de Amazon SageMake o endpoin s que inc emen an los cos os po ene que ges iona su c eaci´ on y eliminaci´ on con inuas. En nues o en oque, buscamos op imiza ecu sos al ejecu a el de ec o de mane a na i a en YOLO 4 desde Lambda, pe mi iendo p ocesamien os pa alelos pa a maneja m´ ul iples de ecciones y la gene aci´ on simul ´ anea de a chi os GNS3. Pa a implemen a es o, u ilizamos un no ebook gene ado po RoboFlow, que se puede adap a an o en SageMake como en Google Colab. Es e no ebook se conec a a nues a API pa a desca ga modelos e ique ados, p epa ados especialmen e pa a YOLO 4 a pa i de elemen os p e iamen e dibujados a mano. An es de inicia el en enamien o, es os da os se ca gan en el no ebook, donde se ealiza el p oceso de en enamien o. Una limi aci´ on obse ada es que, mien as SageMake comple a el en enamien o aunque sea len o, Google Colab ecuen emen e no concluye es e p oceso, esul ando en modelos de baja calidad debido al p incipio de ”ga bage in, ga bage ou ”. Es o sub aya la impo ancia de la calidad de los da os de en ada. No obs an e, el en enamien o exi oso gene a un modelo que se almacena en un bucke S3 en AWS, esencial pa a ope a el modelo de YOLO 4 en Lambda, que equie e un a chi o de pesos espec´ ı ico. El sis ema es ´ a con igu ado pa a que, al ecibi una imagen a a ´ es de una API o un bucke S3, se ac i e un dispa ado que ca ga el modelo de S3 pa a ealiza la de ecci´ on. Los esul ados se deposi an en un a chi o . x que se puede p ocesa pos e io men e pa a e ina los esul ados y gene a un a chi o GNS3 p eciso. 5.2. Modelo de en enamien o de YOLO 5 El modelo YOLO 5 ep esen a una e oluci´ on en nues os es ue zos de op imizaci´ on as expe imen a con YOLO 4. Es e modelo se ha seleccionado den o del es ado del a e po su capacidad pa a ealiza un g an n´ ume o de de ecciones e icien es con un conjun o limi ado de da os, ideal dado que nues o da ase ue c eado manualmen e y es de ama˜ no educido. La op imizaci´ on de ecu sos es c ucial, ya que ca ecemos de acceso a ha dwa e a anzado como GPU o TPU pa a un en enamien o 51 Figu a 5.2: Esquema del modelo YOLO 5 implemen ado en pla a o mas de compu aci´ on en la nube, ilus ando la es uc u a de da os y el lujo de en enamien o y de ecci´ on. e icien e localmen e, lo que nos lle a a u iliza pla a o mas como Google Colab y Amazon SageMake pa a minimiza cos os y ap o echa sus capacidades compu acionales. Iniciamos el p oceso de en enamien o con a chi os p opo cionados po RoboFlow, que es a ez incluyen una es uc u a o ganizada en dos ca pe as p incipales: una pa a e ique as y con igu aciones, y o a pa a los da os de en enamien o, alidaci´ on y es , dis ibuidos en es subca pe as sepa adas. Es e o ma o acili a la ges i´ on y uso de las im´ agenes en las e apas sucesi as. Los da os son ca gados a a ´ es de una API a un cuade nillo que es compa ible an o con SageMake como con Google Colab, p oduciendo esul ados simila es en ´ e minos de iempo y e icacia. Pa a es a a qui ec u a, hemos op ado po u iliza Google Colab debido a su accesibilidad sin cos o. El modelo esul an e no es un a chi o de pesos con encional, sino un a chi o .p compa ible con PyTo ch, lo cual implica un cambio signi ica i o en la ges i´ on del modelo. Dado que YOLO 5 no se in eg a di ec amen e en las unciones Lambda de AWS debido a las exigencias de ha dwa e, como una GPU, pa a su uncionamien o ´ op imo, nos en en amos a es icciones en la implemen aci´ on di ec a en AWS Lambda. La soluci´ on p o isional ha sido u iliza Amazon SageMake o Google Colab pa a ecibi es e modelo y ealiza las de ecciones, gene ando un a chi o . x que puede se p ocesado pos e io men e en una unci´ on 58 YOLO pa a e su e oluci´ on. Finalmen e, hemos expe imen ado con YOLO 8, ealizando ajus es simila es a los de YOLO 5 en los pa ´ ame os de en enamien o. Se ha con igu ado un ama˜ no de ba ch m´ as peque˜ no y se ha ap o echado la unci´ on de ea ly s opping pa a de ene el en enamien o cuando no se obse a an mejo as signi ica i as. Los esul ados ob enidos han sido posi i os, demos ando un buen endimien o del modelo pa a el ama˜ no limi ado del da ase . La pen´ ul ima ase del p oyec o ha sido la in e p e aci´ on de las salidas de los modelos que supuso la implemen aci´ on de es a egias pa a alida conexiones en e los elemen os de la ed a pa i de sus coo denadas. Tambi´ en, la gene aci´ on del a chi o inal pa a GNS3 implic´ o el es udio y dise˜ no del a chi o que que ´ ıamos da como salida en o ma o .gns3. Pa a inaliza , hemos p obado los modelos YOLO con odos los a chi os del da ase y pa a gene a los a chi os en base a es os, ambi´ en se han ealizado de o ma pa alela 6 gene aciones de opolog´ ıas pa a comp oba si sal´ ıan de o ma co ec a co iendo la unci´ on lambda a ias eces con los mismos da os de de ecci´ on. Es as p uebas han pe mi ido alida la e icacia de nues as es a egias y ajus es, ga an izando la capacidad del sis ema pa a maneja m´ ul iples a eas de o ma simul ´ anea y e ec i a. 6.2. E aluaci´on del Rendimien o de los Modelos de De ecci´on La selecci´ on y op imizaci´ on de modelos de de ecci´ on de obje os son c uciales pa a el ´ exi o de p oyec os que in oluc an isi´ on po compu ado a, especialmen e en aplicaciones que equie en la ans o maci´ on de da os isuales complejos en ep esen aciones digi ales p ocesables. En es e p oyec o, se e alua on es modelos a anzados: YOLO 4 Da kne , YOLO 5 y YOLO 8. Cada uno de es os modelos o ece ca ac e ´ ıs icas ´ unicas en ´ e minos de p ecisi´ on, elocidad y consumo de ecu sos compu acionales. 6.2.1. E aluaci´on de YOLO 4 Da kne Aunque YOLO 4 ha sido econocido po su al a p ecisi´ on en la de ecci´ on de obje os, nos en en amos a desa ´ ıos signi ica i os debido a la obsolescencia de algunas biblio ecas y a la in ensidad de ecu sos eque ida pa a su en enamien o. Es e modelo mos ´ o una al a p ecisi´ on en la de ecci´ on, pe o su con igu aci´ on y el ambien e de en enamien o en 59 Google Colab limi a on su aplicabilidad debido a es icciones de iempo y memo ia. 6.2.2. T ansici´on y Op imizaci´on con YOLO 5 Al expe imen a con YOLO 5, obse amos mejo as en la elocidad de en enamien o y una ges i´ on m´ as e icien e de los ecu sos compu acionales. Es e modelo pe mi i´ o una mayo lexibilidad en la adap aci´ on de los pa ´ ame os, como el ama˜ no del ba ch y el n´ ume o de ´ epocas, pa a e i a el sob eajus e y mejo a la gene alizaci´ on del modelo. Los esul ados ue on p ome edo es, o eciendo un balance adecuado en e p ecisi´ on y elocidad, adecuado pa a nues o conjun o de da os de ama˜ no mode ado. 6.2.3. Implemen aci´on de YOLO 8 La in oducci´ on de YOLO 8 ma c´ o un a ance signi ica i o, especialmen e en ´ e minos de e iciencia ope a i a y manejo de ecu sos. La capacidad de YOLO 8 pa a de ene au om´ a icamen e el en enamien o cuando no se obse an mejo as signi ica i as (ea ly s opping) op imiz´ o el uso de la nube, minimizando los cos os compu acionales sin sac i ica la calidad de la de ecci´ on. 6.2.4. Compa aci´on de Modelos y Selecci´on Final La compa a i a en e los modelos demos ´ o que YOLO 8 es el m´ as adecuado pa a aplicaciones que equie en una al a e iciencia en iempo eal y un manejo ´ op imo de ecu sos. Sin emba go, la elecci´ on del modelo adecuado debe conside a an o el con ex o de aplicaci´ on espec´ ı ico como las limi aciones de ecu sos. En nues o caso, YOLO 8 p opo cion´ o el mejo equilib io, p epa ando el p oyec o pa a una implemen aci´ on m´ as amplia y e icien e. Es a e aluaci´ on del endimien o no solo undamen a nues a selecci´ on de modelo, sino que ambi´ en con ex ualiza la discusi´ on sob e los cos os ope a i os que se explo a ´ an en la siguien e secci´ on, des acando c´ omo la e iciencia del modelo in luye di ec amen e en la iabilidad econ´ omica del p oyec o. 6.3. Ap oximaci´on de Cos es pa a Funci´on Lambda Dado que los p ecios de AWS son a iables, es i al ealiza una ap oximaci´ on de cos es pa a la plani icaci´ on p esupues a ia. Pa a una unci´ on Lambda con 250 MB de memo ia y una du aci´ on m´ axima de 15 60 segundos, p ocedemos a calcula los cos os asociados. 6.3.1. C´alculo de Cos os Los cos os de AWS Lambda se descomponen en cos o po pe ici´ on y cos o po c´ ompu o. El c´ alculo se puede ep esen a de la siguien e mane a: Cos o Funci´ on Lambda =Cos o po Pe ici´ on +Cos o po C´ ompu o Funci´ on (250 MB, 15 s) =n 106×0,2 +250 1024 ×15×n×0,00001667 donde n ep esen a el n´ ume o de ejecuciones de la unci´ on. 6.3.2. An´alisis de Cos os Pa a una mejo isualizaci´ on de es os cos os, p opo cionamos una abla esumen con los cos os es imados pa a un lo e de p ocesamien o de 1000 a chi os: Cuad o 6.1: Resumen de Cos os y Tiempos pa a un Lo e de P ocesamien o (1000 a chi os en o al) Funci´on Tiempo (s) Cos o (USD) Funci´ on Lambda (P ocesamien o) 15 $0.06125 To al 15 $0.06125 6.3.3. Discusi´on Los cos os calculados a ojan luz sob e la e iciencia y iabilidad econ´ omica de u iliza AWS Lambda pa a el p ocesamien o se e less en nues o p oyec o. A pesa de la baja a i a uni a ia, el cos o o al puede inc emen a se signi ica i amen e con el aumen o del n´ ume o de ejecuciones, lo cual es c ´ ı ico pa a p oyec os a g an escala. Es os esul ados nos pe mi en conside a ajus es en la memo ia asignada o la op imizaci´ on del iempo de ejecuci´ on pa a con ola mejo los gas os ope a i os. 6.3.4. Conclusiones Es a ap oximaci´ on nos pe mi e an icipa el p esupues o necesa io pa a el despliegue de unciones se e less en un en o no eal, y sub aya la impo ancia de op imiza an o el c´ odigo como la asignaci´ on de ecu sos pa a minimiza los cos os ope acionales. 61 6.4. Obje i os Realizados Podemos des aca que, si bien el p oyec o ha cumplido g an pa e de los obje i os plan eados en la in oducci´ on, exis en ´ a eas donde a´ un se necesi a abajo adicional. El p og ama desa ollado ha demos ado su capacidad pa a in e p e a dibujos de opolog´ ıas de ed y gene a au om´ a icamen e un a chi o compa ible con GNS3 que ep esen a los nodos, pe o ha quedado como abajo u u o el o ma eado de los Enlaces pa a segui el es anda de .gns3. Aunque los obje i os no se han log ado en su o alidad, el p oyec o ha sen ado las bases pa a u u as mejo as y desa ollos. 6.5. An´alisis C ´ı ico de los Resul ados En es e p oyec o, se ha lle ado a cabo una explo aci´ on exhaus i a de la gene aci´ on au om´ a ica de opolog´ ıas de ed a a ´ es del econocimien o de dibujos manusc i os, u ilizando pa a ello modelos a anzados de de ecci´ on de obje os como YOLO 4, YOLO 5 y YOLO 8. A pesa de los a ances signi ica i os y los esul ados alen ado es ob enidos, es impo an e econoce las limi aciones y desa ´ ıos en en ados du an e el desa ollo. Uno de los p incipales e os ha sido la a iabilidad en la calidad del econocimien o de los dibujos, lo cual ha pues o de mani ies o la impo ancia de un p ep ocesamien o e icaz y una ano aci´ on p ecisa del da ase . Aunque se han hecho es ue zos pa a mejo a la calidad del da ase median e ´ ecnicas de aumen o de da os y con e si´ on a escala de g ises, el p incipio de “ga bage in, ga bage ou ” sigue siendo una ba e a signi ica i a pa a la op imizaci´ on del endimien o del modelo. Adem´ as, el uso de pla a o mas como Google Colab y AWS Lambda ha p esen ado desa ´ ıos elacionados con la limi aci´ on de ecu sos y la ges i´ on de cos os compu acionales, especialmen e cuando se abaja con modelos compu acionalmen e demandan es como YOLO 4. Aunque las e siones m´ as ecien es, como YOLO 8, han mos ado mejo as en e iciencia y endimien o, la ansici´ on de YOLO 4 a YOLO 8 ha eque ido ajus es signi ica i os en los pa ´ ame os de en enamien o y con igu aci´ on. 62 6.6. T abajo Fu u o Mi ando hacia el u u o, hay a ias ´ a eas de mejo a y expansi´ on que pod ´ ıan en iquece a´ un m´ as es e p oyec o. P ime o, se p opone la expansi´ on del da ase con m´ as dibujos y a iaciones pa a mejo a la obus ez del modelo en e a a iaciones en los da os de en ada. Es o inclui ´ ıa la explo aci´ on de ´ ecnicas adicionales de aumen o de da os y la posible in eg aci´ on de ap endizaje semi-supe isado o no supe isado pa a ap o echa los da os no e ique ados. Tambi´ en se ´ ıa bene icioso explo a algo i mos al e na i os de econocimien o de obje os que puedan o ece un mejo equilib io en e p ecisi´ on, elocidad y cos os compu acionales. Po ejemplo, la implemen aci´ on de edes neu onales m´ as lige as o la pe sonalizaci´ on de modelos exis en es pa a adap a los espec´ ı icamen e a las necesidades y limi aciones del p oyec o. Finalmen e, pa a abo da las cues iones de escalabilidad y ges i´ on de ecu sos en la nube, se ecomienda una in es igaci´ on m´ as p o unda sob e las a qui ec u as se e less y los modelos de p ecios en pla a o mas como AWS. Es o ayuda ´ ıa a op imiza los cos os y mejo a la e iciencia ope a i a del sis ema p opues o. Chap e 6. Resul s, Measu emen s, and Conclusions 6.1. Me hodology o Measu emen and Cos Tes ing Du ing his p ojec , we explo ed he p ocess om gene a ing and p epa ing he da ase , h ough expe imen ing wi h di e en models, o de eloping s a egies o in e p e ing he inal da a and uploading o AWS cloud. This wo k has allowed us o ha e an o e iew o he en i e p ocess in ol ed in c ea ing compu e ision-o ien ed p ojec s. The i s pa has been he mos me iculous, as we had o gene a e a da ase om sc a ch. We used he Robo low pla o m o manually label 80 d awings, which we conside a solid base on which o la e gene a e mo e d awings using da a-augmen a ion echniques. This esul ed in a o al o 136 images. Addi ionally, we p e-p ocessed he images by con e ing hem om g ayscale o ensu e uni o mi y in he da a se and o p epa e i o aining he models. This p ocess p o ided us wi h a cohe en and di e se da ase o ou p ojec . The nex phase o he p ojec in ol ed expe imen ing wi h he YOLO 4 Da kne , YOLO 5, and YOLO 8 models. The se up p ocess o YOLO 4 was edious due o he obsolescence o many ools and lib a ies, which c ea ed con lic s when ying o compile he p ojec in Da kne . Mo eo e , he compu a ional cos was high, especially when a emp ing o ain he model on Google Colab wi h limi ed esou ces. In ligh o hese di icul ies, we explo ed newe e sions like YOLO 5, which o e s be e suppo and pe o mance in esou ce-limi ed en i onmen s. We adjus ed he aining pa ame e s o ailo he model o ou speci ic case, including educing he ba ch size and inc easing he numbe o epochs. This p ocess also p esen ed challenges, as we did no wan o all in o o e i ing wi h he adjus men s made. The esul s ob ained wi h his model we e p omising, bu we expe imen ed wi h he la es e sion o YOLO o see i s e olu ion. Finally, we expe imen ed wi h YOLO 8, making simila adjus men s o he aining pa ame e s as wi h YOLO 5. We se up a smalle ba ch size and u ilized he ea ly s opping ea u e o hal aining when no signi ican imp o emen s we e obse ed. The esul s we e posi i e, demons a ing 63 64 good model pe o mance gi en he limi ed size o he da ase . The penul ima e phase o he p ojec was he in e p e a ion o he model ou pu s, which in ol ed implemen ing s a egies o alida e connec ions be ween ne wo k elemen s based on hei coo dina es. Also, gene a ing he inal ile o GNS3 in ol ed s udying and designing he ile we wan ed o ou pu in .gns3 o ma . In conclusion, we es ed he YOLO models wi h all he iles in he da ase and o gene a e he iles based on hese, we also conduc ed six pa allel gene a ions o opologies o check i hey we e p oduced co ec ly by unning he lambda unc ion mul iple imes wi h he same de ec ion da a. These es s ha e alida ed he e ec i eness o ou s a egies and adjus men s, ensu ing he sys em’s abili y o handle mul iple asks simul aneously and e ec i ely. 6.2. Pe o mance E alua ion o De ec ion Models The selec ion and op imiza ion o objec de ec ion models a e c ucial o he success o p ojec s in ol ing compu e ision, especially in applica ions ha equi e he ans o ma ion o complex isual da a in o p ocessable digi al ep esen a ions. In his p ojec , we e alua ed h ee ad anced models: YOLO 4 Da kne , YOLO 5, and YOLO 8. Each o hese models o e s unique ea u es in e ms o accu acy, p ocessing speed, and compu a ional esou ce consump ion. 6.2.1. E alua ion o YOLO 4 Da kne Al hough YOLO 4 has been ecognized o i s high objec de ec ion accu acy, we aced signi ican challenges due o he obsolescence o some lib a ies and he esou ce in ensi y equi ed o aining. This model demons a ed high accu acy in de ec ion, bu i s con igu a ion and he aining en i onmen on Google Colab limi ed i s applicabili y due o ime and memo y cons ain s. 6.2.2. T ansi ion and Op imiza ion wi h YOLO 5 When expe imen ing wi h YOLO 5, we obse ed imp o emen s in aining speed and mo e e icien managemen o compu a ional esou ces. This model allowed g ea e lexibili y in adap ing pa ame e s, such as ba ch size and numbe o epochs, o p e en o e i ing and enhance model gene aliza ion. The esul s we e p omising, o e ing a sui able balance be ween accu acy and speed, app op ia e o ou 65 mode a ely sized da ase . 6.2.3. Implemen a ion o YOLO 8 The in oduc ion o YOLO 8 ma ked a signi ican ad ancemen , especially in e ms o ope a ional e iciency and esou ce managemen . YOLO 8’s abili y o au oma ically s op aining when no signi ican imp o emen s a e obse ed (ea ly s opping) op imized cloud usage, minimizing compu a ional cos s wi hou sac i icing de ec ion quali y. 6.2.4. Model Compa ison and Final Selec ion The compa ison be ween he models demons a ed ha YOLO 8 is mos sui able o applica ions ha equi e high eal- ime e iciency and op imal esou ce managemen . Howe e , he choice o he igh model should ake in o accoun bo h he speci ic applica ion con ex and esou ce limi a ions. In ou case, YOLO 8 p o ided he bes balance, p epa ing he p ojec o a wide and mo e e icien implemen a ion. This pe o mance e alua ion no only subs an ia es ou model selec ion, bu also con ex ualizes he discussion on ope a ional cos s o be explo ed in he ollowing sec ion, highligh ing how he e iciency o he model di ec ly in luences he economic iabili y o he p ojec . 6.2.5. Cos Analysis Fo be e isualiza ion o hese cos s, we p o ide a summa y able wi h he es ima ed cos s o p ocessing a ba ch o 1000 iles: Cuad o 6.2: Summa y o Cos s and Times o a P ocessing Ba ch (1000 iles o al) Func ion Time (s) Cos (USD) Lambda Func ion (P ocessing) 15 $0.06125 To al 15 $0.06125 6.2.6. Discussion The calcula ed cos s shed ligh on he e iciency and economic iabili y o using AWS Lambda o se e less p ocessing in ou p ojec . Despi e he low uni a e, he o al cos can inc ease signi ican ly wi h he numbe o execu ions, which is c i ical o la ge-scale p ojec s. These esul s allow us o conside adjus men s in memo y alloca ion o op imiza ion o execu ion ime o be e con ol ope a ional expenses. 66 6.2.7. Conclusions This app oach allows us o an icipa e he budge needed o deploying se e less unc ions in a eal en i onmen and highligh s he impo ance o op imizing bo h he code and esou ce alloca ion o minimize ope a ional cos s. 6.3. Achie ed Objec i es I should be no ed ha , while he p ojec has me many o he objec i es se ou in he In oduc ion, he e a e a eas whe e addi ional wo k is needed. The de eloped p og am has demons a ed i s abili y o in e p e ne wo k opology d awings and au oma ically gene a e a GNS3 compa ible ile ha ep esen s he nodes, bu u u e wo k emains o be done on he o ma ing o he Links o ollow he .gns3 s anda d. Al hough he objec i es ha e no been ully achie ed, he p ojec has laid he g oundwo k o u u e imp o emen s and de elopmen s. 6.4. C i ical Analysis o Resul s In his p ojec , an exhaus i e explo a ion o he au oma ic gene a ion o ne wo k opologies h ough he ecogni ion o handw i en d awings was ca ied ou , u ilizing ad anced objec de ec ion models such as YOLO 4, YOLO 5 and YOLO 8. Despi e signi ican ad ances and encou aging esul s ob ained, i is impo an o ecognize he limi a ions and challenges encoun e ed du ing de elopmen . One o he main challenges has been he a iabili y in he quali y o he d awings’ ecogni ion, which has highligh ed he impo ance o e ec i e p ep ocessing and accu a e da ase anno a ion. Al hough e o s ha e been made o imp o e he quali y o he da a se using da a augmen a ion echniques and con e sion o g ayscale, he p inciple o “ga bage in, ga bage ou ” emains a signi ican ba ie o op imizing model pe o mance. Mo eo e , he use o pla o ms like Google Colab and AWS Lambda has p esen ed challenges ela ed o esou ce limi a ions and he managemen o compu a ional cos s, especially when wo king wi h compu a ionally demanding models such as YOLO 4. Al hough newe e sions, such as YOLO 8, ha e shown imp o emen s in e iciency and pe o mance, he ansi ion om YOLO 4 o YOLO 8 equi ed signi ican adjus men s in aining pa ame e s and con igu a ions. 67 6.5. Fu u e Wo k Looking ahead, he e a e se e al a eas o imp o emen and expansion ha could u he en ich his p ojec . Fi s , an expansion o he da ase wi h mo e d awings and a ia ions is p oposed o enhance he model’s obus ness agains a ia ions in inpu da a. This would include explo ing addi ional da a augmen a ion echniques and he po en ial in eg a ion o semisupe ised o unsupe ised lea ning o le e age unlabeled da a. I would also be bene icial o explo e al e na i e objec ecogni ion algo i hms ha migh o e a be e balance be ween accu acy, speed, and compu a ional cos s. Fo example, implemen ing ligh e neu al ne wo ks o cus omizing exis ing models o speci ically sui he needs and limi a ions o he p ojec . Finally, o add ess issues o scalabili y and esou ce managemen in he cloud, u he esea ch on se e less a chi ec u es and p icing models on pla o ms like AWS is ecommended. This would help op imize cos s and imp o e he ope a ional e iciency o he p oposed sys em.