You are on page 1of 11

UNIVERZITET U TUZLI – MAŠINSKI FAKULTET

DETEKCIJA GREŠAKA NA PROIZVODU


Seminarski rad

Predmet: Mašinska vizija


Ime i prezime: Almedin Vejzović, Mirza H. Mehmedović
Broj indeksa: III-35/15, III-17/15
Odsjek: Mehatronika

Tuzla, maj 2020.


Sažetak

U ovom seminarskom radu bavit ćemo se pisanjem programa koji će omogućiti detekciju
grešaka na proizvodu, upoređujući vizuelni prikaz slike proizvoda sa već definisanim
idealnim prikazom slike.

Ključne riječi: slika, detekcija, proizvod, Matlab, GUI...

2
Sadržaj

1. Uvod .................................................................................................................................. 5
2. Kreiranje programa ............................................................................................................ 6
3. Primjeri detekcije grešaka na proizvodu ........................................................................... 9
4. Zaključak ......................................................................................................................... 10
LITERATURA .................................................................................................................... 11

3
Popis slika

Slika 1. Povezivanje Pushbutton1 sa Axes1 i učitavanje prve slike iz Image Browser-a . 7


Slika 2. Povezivanje Pushbutton2 sa Axes2 i učitavanje druge slike iz Image Browser-a 7
Slika 3. Povezivanje Pushbutton3 sa Axes3 i detekcija grešaka ....................................... 8
Slika 4. Detekcija grešaka na vijku M12x80 ..................................................................... 9
Slika 5. Detekcija grešaka na zavarenoj konstrukciji ...................................................... 10

4
1. Uvod

U današnje vrijeme svaki proizvođač, ali i kupac, ima za cilj da proizvede i kupi što
kvalitetniji proizvod. Međutim, u samom procesu proizvodnje uvijek postoji mogućnost da
određeni proizvod sadrži neku grešku, koju je potrebno eliminisati ili svesti na minimum.
S obzirom da su pojedine greške na proizvodima vrlo teško vizuelno uočljive, potrebno je
izvršiti njihovu detekciju pomoću programa, pogotovo što naizgled zanemarive greške
mogu imati značajan uticaj na sami kvalitet proizvoda.

5
2. Kreiranje programa

Prije nego što se pristupi samom postupku rješavanja problema, potrebno je odrediti logiku
rješavanja istog. Sam problem je moguće riješiti na više načina.

Pristup koji je odabran za rješavanje problema bazira se na upoređivanju, odnosno


oduzimanju dvije slike. Jedna slika je prikaz idealnog proizvoda i ona se upoređuje sa svim
ostalim slikama proizvoda koji mogu, ali i ne moraju, imati greške na sebi. Također je
uzeto u obzir da se kamera nalazi na istom mjestu u toku snimanja idealne slike proizvoda i
ostalih slika za upoređivanje, te da slike moraju imati iste rezolucije.

Rješavanje problema izvršeno je primjenom programskog paketa Matlab, odnosno


primjenom njegove grafičke vizuelne reprezentacije GUI (Graphical User Interface). To je
tip korisničkog sučelja koje omogućava korisniku za ostvari komunikaciju sa
elektroničkim uređajima kroz grafičke ikone i vizuelne indikatore. Da bi se pokrenuo, na
samom početku potrebno je u komandni prozor ukucati naredbu ‘’guide’’, nakon čega se
otvara novi prozor, u kojem se zatim može kreirati GUI.

Za rješavanje ovakvog problema na početku je potrebno postaviti 3 Axes i 3 Pushbuttons.


Ono što je prvo potrebno uraditi je da se korisniku omogući odabir slike idealnog
proizvoda, koja će se upoređivati sa ostalim slikama koje se snime tokom procesa mjerenja
i kontrole. To je omogućeno korištenjem Pushbutton1, koji je preimenovan u „Unesi
idealnu sliku proizvoda“, te njegovim povezivanjem sa Axes1 za prikaz odabrane slike.
Sljedeće što je potrebno uraditi je da se desnim klikom na Pushbutton1 izabere opcija
„View Callbacks“, a zatim „Callback“, nakon čega se može pristupiti pisanju koda.
Funkcija za Image Browser, kao i funkcija za povezivanje Pushbutton1 sa Axes1 prikazane
su na slici 1. Image Browser daje mogućnost da korisnik unese željenu sliku idealnog
proizvoda. Također postavljeno je da se odmah učitavaju slike formata .jpg i .png, jer su to
najčešće korišteni formati slika.

6
Slika 1. Povezivanje Pushbutton1 sa Axes1 i učitavanje prve slike iz Image Browser-a

Isto je urađeno i za odabir druge slike, odnosno slike sa greškama. Pushbutton2 je


preimenovan u „Unesi sliku za poređenje“, te povezan sa Axes2 za vizuelni prikaz slike sa
greškama. Ovaj dio koda je prikazan na slici 2.

Slika 2. Povezivanje Pushbutton2 sa Axes2 i učitavanje druge slike iz Image Browser-a

Zatim je potrebno kreirati dio programa koji će izvršiti poređenje, odnosno oduzimanje
dvije slike. Za to je potrebno povezati Pushbutton3, koji je preimenovan u „Prikaži greške
na proizvodu“, sa Axes3 za detekciju grešaka. Također, ovdje se mora izvršiti i učitavanje
handles-a iz prethodne dvije slike, da bi se mogla izvršiti funkcija oduzimanja slika.
Postavljanje funkcije od(od>20)=255 omogućava da svi pikseli koji imaju intenzitet
svjetlosti boje veći od 20, dobiju vrijednost 255 (bijela). Nijansa 20 predstavlja
odgovarajući Treshold koji se može podesiti u zavisnosti od odgovarajuće tačnosti,
problema rješavanja, korištene kamere i uslova pod kojim je slika nastala.

7
Slika 3. Povezivanje Pushbutton3 sa Axes3 i detekcija grešaka

Nakon što je ispisan cijeli program, na kraju ga je pomoću opcije Run potrebno pokrenuti,
nakon čega se otvara novi prozor u kojem se vrši unošenje slika. Prvo se unosi idealna
slika proizvoda, a zatim i slika sa potencijalnim greškama, nakon čega će iste, ukoliko
postoje, biti i prikazane.

8
3. Primjeri detekcije grešaka na proizvodu

Kao primjer za pokazivanje rada programa uzeta su dva proizvoda.

Prvi je vijak M12x80, čije izvršenje programa je prikazano na slici 4.

Slika 4. Detekcija grešaka na vijku M12x80

Za drugi proizvod izabrana je proizvoljna zavarena konstrukcija, a izvršenje ovog


programa je prikazano na slici 5.

9
Slika 5. Detekcija grešaka na zavarenoj konstrukciji

4. Zaključak

Iz prikazanih primjera može se zaključiti da se na jednostavan način može kreirati program


koji će uštediti vrijeme, a što je najbitnije detektovati greške na proizvodu, i na taj način
povećati kvalitet samog proizvoda. Takođe ovakav program, uz podešavanje
odgovarajućeg Treshold-a, je moguće iskoristiti u raznim uslovima detekcije grešaka na
proizvodu.

10
LITERATURA

[1] Popović, M. (2006). Digitalna obrada slike. Beograd: Akademska misao.

[2] https://www.mathworks.com/videos/creating-a-gui-with-guide-68979.html

[3] https://www.cs.tau.ac.il/~dcor/Graphics/cg-slides/MATLAB-tutorial.pdf

11

You might also like