Lokacija objekta ima dodaten korak, ki je pomemben za pravilnost rezultatov. Ker imajo objekti višino in jih kamera gleda od zgoraj, bo to zamaknilo vidno stranico glede na pravo lokacijo na traku. To težavo se je odpravilo po principu na sliki 3.20:
Metodologija raziskave
37 Slika 3.20: Slikovni prikaz reševanja problema višine objekta v eni osi
Višina kamere ℎ glede na ravnino oziroma tekoči trak je konstantna, višina ℎ𝑜𝑏𝑗 in razvidna razdalja objekta od je koordinatnega središča 𝑙0 pa sta razbrani iz globinske ter 2D slike.
Pravo oddaljenost objekta je tako izračunana s pomočjo izreka o podobnosti trikotnikov (3.4).
𝑙obj= 𝑙0− 𝑙dif= 𝑙0−𝑙0
ℎ ∙ ℎobj (3.4) Za ta potek, je bilo potrebno koordinatno središče prestaviti iz zgornjega levega kota slike naravnost pod kamero, torej na sredino območja interesa.
38
4 Rezultati in diskusija
Program je bil narejen za simulacijsko okolje, in nato urejen tako, da je lahko uporabljal še posnetek iz resničnega življenja. Rezultati so bili dokaj natančni, do težav pa pride z globinskim posnetkom, saj ima včasih zelo pomankljive informacije (slika 4.1).
Slika 4.1: Globinski posnetek kartonaste škatle
Na sliki se vidi da čeprav je ploskev relativno ravna so še vedno luknje v objektu, kar pomeni, da za industrijski sistem ni dovolj konsistentna.
4.1 Prepoznavanje oblik
Programska oprema prepozna oblike jih očrta glede na število kotov. To pomeni, da prepozna, ko je objekt zelo okrogel in ga očrta s krožnico in če ni potem uporabi kvadrasto mejo. Ta funkcionalnost dela zelo dobro v simulaciji in iz posnetka.
4.2 Gabaritne mere in pozicija objektov
2D oblike so izračunane z relativno natančnostjo problem pa se pojavi pri interpretaciji globine. Prva težava je bila že to da je vidna oddaljenost od kamere do tekočega traku 0.77m medtem ko je izmerjena razdalja 0.82m.
Rezultati in diskusija
39 Preglednica 4.1: Primerjava izmerjenih vrednosti gabaritnih mer z izračunanimi
Objekti Izmerjeni gabariti Pri realnih objektih je prikaz višine zelo nekonsistenten vendar so na določenih objektih včasih bile vidne prave višinske vrednosti (slika 4.2). Objekta, ki sta občasno pravilno prebrala globino sta bila pločevinka barve ter kartonasta škatla
Slika 4.2: Pločevinka barve (A) in kartonasta škatla (B) na dveh lokacijah Vidi se, da je so globinske informacije včasih pravilne in včasih zelo napačne.
Drugi objekti pa niso nikoli imeli prepoznali pravilne višine (slika 4.3). Pri ulitkih je lahko težava že v tem da sta zelo nizka, vendar je v tem primeru težava nekje drugod saj je prebrana višina objekta nasprotno ekstremna, in je skoraj tako velika, kot je zaznana razdalja do tekočega traku.
40
Slika 4.3: Prebrana napačna višina rebrastega (A) in ploščatega ulitka (B), ter valjastega surovca (C)
Nasprotno temu, se program v simulacijskem okolju obnaša točno kot predvideno (slika 4.4), saj globinske informacije niso pomanjkljive, napake v 2D merah pa so delno pripisljive nizkemu razmerju med širinsko ločljivostjo in širino tekočega traku. To pomeni da je vsaka slikovna točka, ki je pretvorjena v metre tako velika, da je napaka opazna pri manjših objektih .
Slika 4.4: Testni objekti v simulaciji: Večkotni zeleni objekt (A), rdeči kvader (B)in moder valj (C)
Rezultati in diskusija
41 Pravilno so izračunane tudi koordinate. To je bilo preverjeno s pozicijo, ki jo ima zapisano simulator Gazebo za vsak model v simuliranem svetu (slika 4.5).
Slika 4.5: Rdeč kvader s prebrano pozicijo iz uporabniškega vmesnika (A) in preračunano pozicijo (B) iz simulacije
4.3 Težave pri zaznavanju
Če se objekti prekrivajo, lahko pride do nepravilnega prepoznavanja objekta, saj je prekrita njegova oblika (slika 4.6).
Slika 4.6: Prekrivanje objektov Krožnica valja je delno prekrita, in ni več prepoznana kot okrogla.
42
Slika 4.7: Dotikanje podobnih objektov
Problem nastane tudi če se dotikata dva objekta podobne barve, saj je rob manj prepoznaven in jih lahko šteje kot en objekt (slika 4.7). Ta učinek je manj očiten če sta objekta različne barve, seveda pa je problem prekrivanja še vedno prisoten (slika 4.8).
Slika 4.8: Dotikanje različnih objektov
Čeprav se objekta prilagodita skupaj, programska oprema še vedno prepozna da sta to različna objekta zaradi barvne razlike.
Zaključek
43
5 Zaključek
Zasnovana je bila programska oprema za zaznavanje oblike, mer ter lege različnih objektov na tekočem traku ter pripadajoč simulacijski sistem za testiranje. Delovanje je bilo omogočeno s pomočjo globinske kamere Intel D435 in odprtokodne knjižnice OpenCV, povezava med posameznimi segmenti pa z ogrodjem ROS. Ugotovljena so bila naslednja dejstva:
1) Programska oprema se odziva konsistentno v simulacijskem okolju. V skrajnem primeru je bila napaka pri meritvi velikosti objekta v 2D sliki 15% vendar je večino časa ta napaka znašala 0-4%.
2) 2D slika je procesirana v simulacijskem in realnem okolju s podobno natančnostjo, s tem da je največja napaka v realnem sistemu znašala samo 10%, kar je manj kot v simulaciji, zaradi boljšega razmerja med širino tekočega traku in ločljivostjo kamere.
3) Simulirani globinski podatki v okolju Gazebo so bili vedno točni.
4) Globinski podatki v realnem okolju, ki jih podaja kamera Intel D435, so pomankljivi in s tem naredijo celoten sistem nezanesljiv, ko pa je objekt bil dejansko zaznan je bila napaka 12%.
5) Če so objekti preveč skupaj jih bo razvita programska oprema zaznala kot en objekt.
Predlogi za nadaljnje delo
Najprej bi bilo potrebno ponovno umeriti globinsko kamero in preveriti, če bi to pomagalo pri nekonsistentnemu globinskem oblaku in če se bo tako zanesljivost zaznave v programu približala simulacijskim testom. Zanesljivost sistema bi lahko nadaljno izboljšali z ustreznejšo pozicijo kamere, kjer bi tekoči trak zavzemal večjo površino zajete slike, in bi s tem bila izboljšana ločljivost zaznave realnih objektov. Druga možnost za izboljšavo zanesljivosti je specifična osvetlitev, ki bi bila idealno osvetlitev od zadaj, saj ta naredi boljši pregled nad robovi objekta vendar je to neizvedljivo na tekočem traku, zato bi lahko izbrali osvetlitev v temnem polju, vendar ta lahko nebi bila ustrezna glede na obliko ter višino objektov ali pa direktno difuzno osvetlitev, ki pa bi delovala vredu vendar je njena postavitev nekoliko zahtevna. Za implementacijo na realnih primerih je potreben način kontrole
44
med njimi.
45
Literatura
[1] G. J. Agin: Computer Vision Systems for Industrial Inspection and Assembly. IEEE Computer Society (1980)
[2] V. Ondroušek, J. Kolomazník, M. Vytečka. 2014. International Conference on Mechatronics – Mechatronika: Recognition of the Objects on the Conveyor Belt Using Graph Matching Algorithms.
[3] O. Arif, M. Marshal, W. Daley, P. A Vela, J. Teizer, S. J. Ray, J. Stewart. 2010.
International Symposium on Automation and Robotics in Construction (ISARC):
Tracking and Classifying Objects on a Conveyor Belt Using Time-of-Flight Camera.
[4] Fanucovi SCARA roboti. Dostopno na: https://www.fanuc.eu/, ogled 28.7.2021 [5] Tehnike osvetljevanja. Dostopno na:
https://www.vision-doctor.com/en/illumination-techniques.html, ogled 2.8.2021
[6] Rešitev za združevanje RGB in globinske kamere podjetja Basler. Dostopno na:
https://www.baslerweb.com/en/products/cameras/3d-cameras/blaze-rgb-d/, ogled 26.07.2021
[7] B. G. Batchelor, P. F. Whelan: Intelligent Vision Systems for Industry. Springer-Verlag, London, 1997
[8] Slika RGB modela. Dostopno na: https://sl.wikipedia.org/wiki/Barvni_model_RGB, ogled 22.07.2021
[9] Slika HSV modela. Dostopno na: https://www.researchgate.net/figure/The-commonly-used-HSV-color-model_fig17_259353911, ogled 22.07.2021 [10] Slika tipala KMS. Dostopno na:
https://www.qualitydigest.com/sept00/html/scanning.html, ogled 22.07.2021 [11] Začetnikov vodnik za globino. Dostopno na:
https://www.intelrealsense.com/beginners-guide-to-depth/, ogled 23.07.2021 [12] Projektorji Intel D4xx kamer. Dostopno na:
https://dev.intelrealsense.com/docs/projectors, ogled 22.07.2021
[13] Slika oblaka točk torusa. Dostopno na: https://en.wikipedia.org/wiki/Point_cloud, ogled 2.8.2021
[14] ROS Vaje. Dostopno na: http://wiki.ros.org/ROS/Tutorials, ogled 28.7.2021
46 Media, Inc., Sebastopol, 2015
[16] Dokumentacija OpenCV. Dostopno na: https://docs.opencv.org/4.5.2/index.html, ogled 26.07.2021
[17] Meglenje slike. Dostopno na:
http://cad.lecad.fs.uni-lj.si/documents/seminarji/resitve/10.10/index.html, ogled 28.07.2021
[18] Intel Realsense D435 kamera. Dostopno na: https://www.intelrealsense.com/depth-camera-d435/, ogled 2.8.2021
[19] Paket “Two SCARA collaboration”. Dostopno na:
https://github.com/yangliu28/two_scara_collaboration, ogled 28.07.2021 [20] Dodajanje percepcije globine v ROS. Dostopno na:
https://www.stereolabs.com/docs/ros/depth-sensing/, ogled 26.07.2021