Baigiamasis bakalauro darbas
Objektų aptikimo metodikos bei jų panaudojimas Android taikomosiose programose
Turinys
Įvadas 3
1 Naudotos technologijos 5
1.1 Android 5
1.2 Android studio 5
1.3 Java 5
1.4 OpenCV 5
2 Android studio paruošimas 7
2.1 XML komponentas 7
2.2 Kameros CvCameraViewListener2 įvykių klausymas 7
2.2.1 onCameraViewStarted metodo padengimas 7
2.2.2 onCameraFrame metodo padengimas 8
3 Popieriaus atpažinimo algoritmas 9
3.1 OpenCV Mat klasės objektai 10
3.2 Algoritmo žingsniai 10
3.2.1 Paruošimas ateities algoritmo žingsniams 10
3.2.2 Aptikimas pagal kraštines ir formą 12
3.2.3 Aptikimas pagal kontrastą 12
3.2.4 Perspektyvos transformacija 13
3.3 Popieriaus atpažinimo algoritmo rezultatai 14
4 Objektų pavaizduotų ant popieriaus atpažinimas 15
4.1 Spalvotų figūrų išskyrimas 15
5 Žaidimas skruzdėlių karas 17
5.1 Skruzdėlių bazių atpažinimas ir atsiminimas 17
5.2 Žaidimų pavyzdžiai 19
5.3 Žaidimo rezultatai ir išvados 20
6 Alternatyvos 21
Išvados 23
Literatūros sąrašas 24
Santrauka 25
Priedas 1 27
Priedas 2 28
Įvadas
Android operacinė sistema pirmauja išmaniųjų telefonų, planšečių rinkoje kaip
patikima, ir svarbu – atviro kodo, todėl nemokama, sistema. Todėl įvairūs įrankiai,
bibliotekos ar projektai yra populiarinami ir suderinami būtent su šia operacine sistema.
Dauguma jų, kaip ir pati Android sistema, taip pat yra atviro kodo projektai, todėl
programinės įrangos kūrėjai gali lengvai, nemokamai ir patogiai naudotis jais. Būtent toks
prieinamumas paprastam programuotojui ir skatina panagrinėti Android sistemos galimybes.
Netgi jei Android yra atviro kodo projektas, dauguma įrenginių naudoja Android
versijas, prie kurių prisideda Google. Google daug prisideda prie šio projekto ir yra sukūrę
įvairių įrankių, leidžiančių paprastai ir patogiai kurti Android aplikacijas naudojant Android
Studio. Android Studio – tai integruota programinės įrangos kodo kūrimo aplinka, pilnai
pasirūpinanti versijų valdymu, projekto struktūra ir kitais dalykais, palengvinančiais
programų kūrimą. Ši aplinka suteikia visus reikalingus įrankius efektyviam darbui: nuo
vizualinių dizaino redaktorių iki realaus laiko kodo analizės ir klaidų tikrinimo.
Dauguma išmaniųjų įrenginių turi kameras, todėl jie yra puikus įrankis atlikti
objektų atpažinimą tiesiogiai įrenginyje. Nuo dokumentų, QR kodų skanavimo iki teksto
vertimo į kitas kalbas – yra įvairių įrankių, kurie tiria šią plačią sferą. Objektų atpažinimas
yra ypač aktualus daugelyje programų, pavyzdžiui, papildytos realybės (AR) sprendimuose,
kur realaus pasaulio objektai gali būti atpažinti ir integruoti į virtualią aplinką. Būtent
tokios idėjos ir skatina atlikti išsamų tyrimą apie objektų atpažinimą Android operacinėje sistemoje.
Objektų atpažinimas yra viena iš svarbiausių ir sparčiai besivystančių sričių
kompiuterinio matymo ir dirbtinio intelekto srityje. Tai technologija, leidžianti programoms
identifikuoti ir interpretuoti objektus vaizduose ar vaizdo įrašuose. Objektų atpažinimo
algoritmai naudoja įvairius metodus, tokius kaip giliųjų neuroninių tinklų naudojimas,
vaizdų segmentacija, kontūrų aptikimas ir kiti vaizdų apdorojimo metodai. Giliųjų
neuroninių tinklų pagrindu sukurti modeliai, tokie kaip konvoliuciniai neuroniniai tinklai
(CNN), yra ypač efektyvūs identifikuojant sudėtingus objektus ir struktūras vaizduose.
Objektų atpažinimas taip pat yra pagrindinė technologija papildytos realybės (AR)
ir virtualios realybės (VR) aplikacijose, kuriose realaus pasaulio vaizdai gali būti papildomi
virtualiais objektais ir informacija. Ši technologija suteikia galimybę kurti interaktyvias ir
įtraukiančias vartotojo patirtis, leidžiančias sąveikauti su virtualiais objektais realiame pasaulyje.
Šio darbo tikslas:
Sukurti telefono aplikaciją Android platformoje leidžiančią atpažinti tam tikrus
nupieštus objektus ir gyvu laiku sąveikauti ir atpažinti objektus. Programėlės tikslas
- būti kaip karkasas, ar atspirties taškas įvairiems panašaus tipo projektams.
Uždaviniai:
Pasiruošimas eksperimentams: Pirmas šio darbo tikslas yra pažiūrėti, kaip integruoti
ir atlikti objektų atpažinimą tiesiogiai išmaniajame įrenginyje. Tai apima įvairių
bibliotekų naudojimą, tokių kaip OpenCV, kurios suteikia reikalingus įrankius
vaizdų apdorojimui ir mašininio mokymosi modelių integravimui.
Susipažinimas su algoritmais: Toliau bus siekiama susipažinti su objektų
atpažinimo algoritmais ir pritaikyti juos popieriaus atpažinimo uždaviniui. Tai
apima kontūrų aptikimą ir kitus vaizdų...
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!